[x264-devel] Yet another updated threaded slicetype patch (v14)
Steven Walters
kemuri9 at gmail.com
Thu Apr 16 18:27:21 CEST 2009
>On Thu, Apr 16, 2009 at 10:58 AM, Mike Kazmier <DaKaZ at zenbe.com> wrote:
>
> Was this with or without Steven Walters patch to stop segfaults on windows? I have done regressions of basically every setting combination comparing the slicetype decisions of the lookahaed patch to r1134 and the decisions are identical (on linux at least) for all combination of settings.
>
> --DaKaZ
the above fix and other different ones i have tried on windows that
actively stop the seg faults have had side effects:
on combinations of arguments that would seg fault the v14 patch
without a said fix,
comparing slicetype decisions of +lookahead to -lookahead runs,
they are vastly different in that +lookahead runs having a fairly
higher % of p frames compared to -lookahead runs
i.e.:
./x264v14_fix.exe --lookahead 10 --b-adapt 2 -b16 --crf 18 -o NUL
../foreman_cif_352x288.yuv --me tesa -m9 --pass 1 --threads 4 -v 2>
verbose2.txt
(v14+fix) results in
x264 [info]: slice I:2 Avg QP:18.30 size: 31054 PSNR Mean
Y:43.84 U:46.41 V:47.94 Avg:44.68 Global:44.33
x264 [info]: slice P:232 Avg QP:20.32 size: 6050 PSNR Mean
Y:40.89 U:44.01 V:46.43 Avg:41.88 Global:41.77
x264 [info]: slice B:66 Avg QP:25.09 size: 2043 PSNR Mean
Y:37.57 U:42.41 V:43.66 Avg:38.74 Global:38.63
(and increasing lookahead further has no change in results)
./x264v14.exe --lookahead 10 --b-adapt 2 -b16 --crf 18 -o NUL
../foreman_cif_352x288.yuv --me tesa -m9 --pass 1 --threads 4 -v 2>
verbose2.txt
- seg fault
./x264v14.exe --lookahead 0 --b-adapt 2 -b16 --crf 18 -o NUL
../foreman_cif_352x288.yuv --me tesa -m9 --pass 1 --threads 4 -v 2>
verbose.txt
results in
x264 [info]: slice I:2 Avg QP:18.33 size: 30960 PSNR Mean
Y:43.80 U:46.40 V:47.92 Avg:44.65 Global:44.28
x264 [info]: slice P:128 Avg QP:20.78 size: 6730 PSNR Mean
Y:40.60 U:43.92 V:46.01 Avg:41.61 Global:41.42
x264 [info]: slice B:170 Avg QP:23.92 size: 1915 PSNR Mean
Y:38.70 U:42.96 V:45.18 Avg:39.85 Global:39.69
however, comparing runs of builds with std v14 to the v14+seg fault
fix on windows,
when the std v14 works, they both produce the same output which is
also the same to a -lookahead run.
i.e.:
./x264v14_fix.exe --lookahead 10 --b-adapt 2 -b10 --crf 18 -o NUL
../foreman_cif_352x288.yuv --me tesa -m9 --pass 1 --threads 4 -v 2>
verbose2.txt
results in
x264 [info]: slice I:2 Avg QP:18.33 size: 30960 PSNR Mean
Y:43.80 U:46.40 V:47.92 Avg:44.65 Global:44.28
x264 [info]: slice P:128 Avg QP:20.77 size: 6733 PSNR Mean
Y:40.61 U:43.92 V:46.02 Avg:41.61 Global:41.43
x264 [info]: slice B:170 Avg QP:23.90 size: 1928 PSNR Mean
Y:38.71 U:42.96 V:45.19 Avg:39.85 Global:39.70
./x264v14.exe --lookahead 10 --b-adapt 2 -b10 --crf 18 -o NUL
../foreman_cif_352x288.yuv --me tesa -m9 --pass 1 --threads 4 -v 2>
verbose2.txt
results in
x264 [info]: slice I:2 Avg QP:18.33 size: 30960 PSNR Mean
Y:43.80 U:46.40 V:47.92 Avg:44.65 Global:44.28
x264 [info]: slice P:128 Avg QP:20.77 size: 6733 PSNR Mean
Y:40.61 U:43.92 V:46.02 Avg:41.61 Global:41.43
x264 [info]: slice B:170 Avg QP:23.90 size: 1928 PSNR Mean
Y:38.71 U:42.96 V:45.19 Avg:39.85 Global:39.70
./x264v14.exe --lookahead 0 --b-adapt 2 -b10 --crf 18 -o NUL
../foreman_cif_352x288.yuv --me tesa -m9 --pass 1 --threads 4 -v 2>
verbose.txt
x264 [info]: slice I:2 Avg QP:18.33 size: 30960 PSNR Mean
Y:43.80 U:46.40 V:47.92 Avg:44.65 Global:44.28
x264 [info]: slice P:128 Avg QP:20.77 size: 6733 PSNR Mean
Y:40.61 U:43.92 V:46.02 Avg:41.61 Global:41.43
x264 [info]: slice B:170 Avg QP:23.90 size: 1928 PSNR Mean
Y:38.71 U:42.96 V:45.19 Avg:39.85 Global:39.70
so there seems to be some sort of unwanted result when reaching the
pinnacle where the seg fault normally occurs in that there are more
p frames as a result of lookahead being active....
is a similar situation not also occurring on linux systems?
More information about the x264-devel
mailing list