[x264-devel] Default value for the --scenecut option causes heavy undesirable flood of I slices in active scenes
Vladimir Chernyshov
vchernys at welho.com
Sun Nov 2 09:48:10 CET 2008
I tried --pre-cut. It worked only marginally better. It still inserted
few extra scene cuts through the scene, and has suppressed all B-frames,
which are highly desirable in the highly-active scene to keep bitrate down.
x264 [info]: slice I:8 Avg QP:14.40 size: 82373 PSNR Mean Y:48.41
U:51.39 V:50.74 Avg:49.12 Global:49.11
x264 [info]: slice P:382 Avg QP:17.44 size: 61823 PSNR Mean Y:46.07
U:49.40 V:48.66 Avg:46.85 Global:46.83
x264 [info]: consecutive B-frames: 100.0% 0.0% 0.0%
x264 [info]: mb I I16..4: 1.9% 0.0% 98.1%
x264 [info]: mb P I16..4: 2.0% 0.0% 91.0% P16..4: 2.2% 3.4% 1.4%
0.0% 0.0% skip: 0.0%
x264 [info]: ref P L0 83.5% 10.4% 6.1%
x264 [info]: SSIM Mean Y:0.9869690
x264 [info]: PSNR Mean Y:46.118 U:49.441 V:48.703 Avg:46.894
Global:46.869 kb/s:24897.87
If you want to see the sequence for yourself, you can download it from
here: http://koti.welho.com/vchernys/raw-d2.1.y4m.bz2 (~94MB).
I am using a pure CQP VBR mode, because otherwise the sea bottom texture
is wiped out during encoding.
regards,
Vladimir
Jason Garrett-Glaser wrote:
> On Sat, Nov 1, 2008 at 4:19 PM, Vladimir Chernyshov <vchernys at welho.com> wrote:
>> Hello,
>>
>> I noticed, that in some active scenes, such as a textured sea bottom,
>> shot through a shallow layer of water with waves, the default value (40)
>> of the scenecut parameter of the latest x.264 causes a flood of I frames
>> even though there is no scene change. This causes the codec to badly
>> bleed bits in a scene, which, on the contrary, can tolerate more
>> compression due to its high activity. This also completely defeats the
>> purpose of the scenecut, which is to save bits (on a scene change).
>>
>> x264 \
>> --colorprim bt470bg --transfer bt470bg --colormatrix bt470bg \
>>
>> --bframes 2 --b-adapt 0 --crf 18 --qcomp 1.0 --ref 3 --weightb \
>>
>> --keyint 250 --no-cabac --progress -o out1.264 -v raw-d2.1.y4m
>>
>> x264 [info]: slice I:197 Avg QP:14.70 size: 82143 PSNR Mean Y:48.08
>> U:51.18 V:50.51 Avg:48.82 Global:48.80
>> x264 [info]: slice P:183 Avg QP:17.31 size: 61616 PSNR Mean Y:46.16
>> U:49.52 V:48.74 Avg:46.94 Global:46.93
>> x264 [info]: slice B:10 Avg QP:19.50 size: 50737 PSNR Mean Y:43.52
>> U:46.49 V:45.69 Avg:44.22 Global:44.21
>> x264 [info]: consecutive B-frames: 90.7% 6.2% 3.1%
>> x264 [info]: mb I I16..4: 1.7% 0.0% 98.3%
>> x264 [info]: mb P I16..4: 2.0% 0.0% 88.9% P16..4: 2.9% 4.3% 1.8%
>> 0.0% 0.0% skip: 0.0%
>> x264 [info]: mb B I16..4: 15.6% 0.0% 0.0% B16..8: 15.2% 23.6% 39.0%
>> direct: 6.6% skip: 0.0% L0:39.9% L1:33.2% BI:26.9%
>> x264 [info]: ref P L0 86.3% 8.8% 4.8%
>> x264 [info]: ref B L0 76.8% 23.2%
>> x264 [info]: SSIM Mean Y:0.9890471
>> x264 [info]: PSNR Mean Y:47.062 U:50.279 V:49.556 Avg:47.818
>> Global:47.658 kb/s:28682.46
>>
>> encoded 390 frames, 1.21 fps, 28683.75 kb/s
>>
>> -----------------------------------------------------------------
>> x264 \
>> --colorprim bt470bg --transfer bt470bg --colormatrix bt470bg \
>>
>> --bframes 2 --b-adapt 0 --crf 18 --qcomp 1.0 --ref 3 --weightb \
>>
>> --keyint 250 --no-cabac --progress -o out1.264 -v --scenecut 0 \
>> raw-d2.1.y4m
>>
>> x264 [info]: slice I:2 Avg QP:15.42 size: 76258 PSNR Mean Y:47.66
>> U:50.70 V:50.12 Avg:48.40 Global:48.39
>> x264 [info]: slice P:130 Avg QP:17.43 size: 62234 PSNR Mean Y:46.17
>> U:49.55 V:48.80 Avg:46.96 Global:46.94
>> x264 [info]: slice B:258 Avg QP:19.71 size: 54331 PSNR Mean Y:43.27
>> U:46.22 V:45.52 Avg:43.97 Global:43.94
>> x264 [info]: consecutive B-frames: 0.3% 0.0% 99.7%
>> x264 [info]: mb I I16..4: 1.2% 0.0% 98.8%
>> x264 [info]: mb P I16..4: 2.2% 0.0% 96.1% P16..4: 0.6% 0.8% 0.3%
>> 0.0% 0.0% skip: 0.0%
>> x264 [info]: mb B I16..4: 19.3% 0.0% 0.0% B16..8: 11.7% 25.0% 39.5%
>> direct: 4.5% skip: 0.0% L0:44.8% L1:36.3% BI:18.9%
>> x264 [info]: ref P L0 64.2% 19.8% 16.0%
>> x264 [info]: ref B L0 69.7% 30.3%
>> x264 [info]: SSIM Mean Y:0.9799161
>> x264 [info]: PSNR Mean Y:44.255 U:47.353 V:46.641 Avg:44.987
>> Global:44.749 kb/s:22831.05
>>
>> encoded 390 frames, 3.29 fps, 22831.71 kb/s
>>
>> I suggest to change the default value of the scenecut parameter to 0,
>> which is sufficient to detect real scene cuts, and will not inflate the
>> the bitrate of highly active scenes.
>>
>> regards,
>> Vladimir
>> _______________________________________________
>> x264-devel mailing list
>> x264-devel at videolan.org
>> http://mailman.videolan.org/listinfo/x264-devel
>>
>
> Might I suggest you use --pre-scenecut instead? I find that it tends
> to give better results.
>
> Dark Shikari
> _______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> http://mailman.videolan.org/listinfo/x264-devel
>
More information about the x264-devel
mailing list