[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