Log in

View Full Version : x264 r1570 VBV underflow warning


Atak_Snajpera
1st May 2010, 22:38
x264_x86.exe "script.avs" --aud --nal-hrd cbr --sar 1:1 --fps 50 --bitrate 50000 --vbv-maxrate 50000 --vbv-bufsize 1000
--preset superfast --tune fastdecode --keyint 1 --slices 10 --output "video.264"
avs [info]: 1280x720p 1:1 @ 50/1 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
x264 [info]: profile High, level 4.1
x264 [warning]: VBV underflow (frame 835, -2440 bits)a 0:00:44
x264 [warning]: VBV underflow (frame 838, -1176 bits)a 0:00:44
x264 [warning]: VBV underflow (frame 839, -992 bits)
x264 [warning]: VBV underflow (frame 841, -912 bits)ta 0:00:44
x264 [warning]: VBV underflow (frame 843, -1288 bits)a 0:00:44
x264 [warning]: VBV underflow (frame 844, -56 bits)eta 0:00:44
x264 [warning]: VBV underflow (frame 848, -232 bits)ta 0:00:43
x264 [warning]: VBV underflow (frame 849, -648 bits)
x264 [warning]: VBV underflow (frame 940, -1496 bits)a 0:00:40
x264 [info]: frame I:2208 Avg QP:16.18 size:125001
x264 [info]: mb I I16..4: 5.1% 30.6% 64.3%
x264 [info]: 8x8 transform intra:30.6%
x264 [info]: coded y,uvDC,uvAC intra: 98.5% 92.8% 71.5%
x264 [info]: i16 v,h,dc,p: 14% 10% 60% 16%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 14% 24% 7% 7% 7% 9% 7% 12%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 17% 17% 9% 9% 7% 9% 7% 11%
x264 [info]: i8c dc,h,v,p: 48% 23% 18% 11%
x264 [info]: kb/s:50000.21

encoded 2208 frames, 31.28 fps, 50000.21 kb/s


Sample http://www.sendspace.com/file/7kza4j

Script
LoadCplugin("Yadif.dll")
video=DirectShowSource("video.mkv")
video=yadif(video,mode=1,order=1)
video=Spline36Resize(video,1280,720)
return video

Dark Shikari
1st May 2010, 23:23
I don't need a sample; this is intended behavior. x264 does not guarantee perfect compliance when using patently ridiculous VBV settings, particularly in combination with CBR.

If you want to make VBV more aggressive (reducing frame size and thus increasing the proportion of wasted bits spent on padding), modify the headroom constant:

rc->max_frame_error = X264_MAX( 0.05, 1.0 / (h->sps->i_mb_width) );

by changing 0.05 to something bigger.

If you want to implement something silly like row-reencoding support to deal with such underflows, patches are welcome.

Atak_Snajpera
1st May 2010, 23:30
i just did what kieranrk advised (http://forum.doom9.org/showthread.php?p=1396418#post1396418)
i think it will be easier to just increase buffer to 2000.

kieranrk
2nd May 2010, 00:14
i just did what kieranrk advised (http://forum.doom9.org/showthread.php?p=1396418#post1396418)


Just because AVC-Intra requires a small constant frame size doesn't mean it's a good thing to do. Even more so at the bitrate you chose.

Blue_MiSfit
3rd May 2010, 19:36
Indeed, it may not be a good thing to do so.

However, if one is vying for "best" compatibility with AVC Intra, this may be necessary, or it may not be.

~MiSfit

kieranrk
3rd May 2010, 21:01
Indeed, it may not be a good thing to do so.

However, if one is vying for "best" compatibility with AVC Intra, this may be necessary, or it may not be.

~MiSfit

Using anamorphic 960x720 like the spec would help a bit.

Blue_MiSfit
4th May 2010, 00:32
:D indeed it would!