I am not sure I completely understand the compatibility issues related to the VBV buffer size.
A MPEG video stream encoded using a VBV buffer of 112 kB (e.g. SVCD or CVD), is compatible to a decoder that demands a VBV buffer of 224 kB (e.g. DVD), but not the other way around ... right?
Also, is there a significant impact of the VBV buffer size on image quality?
+ Reply to Thread
Results 1 to 8 of 8
Thread: VBV buffer size
Changing the VBV buffer setting will have no impact on quality. Leave it on the default setting for the media your encoding to, and save yourself the grief.Impossible to see the future is. The Dark Side clouds everything...
Originally Posted by DJRumpy
In other words, in what direction is the compatibility going?
Also, if I am about to merge two MPEGs coming from different sources, having different VBV buffer size, which decoder is supposed to accept the result? The decoder that requires the smaller buffer size, or the decoder that requires the bigger buffer size? [Assuming that this is possible...]
Another question is about displaying this buffer size (assuming that the MPEG comes from an unknown source), and changing it without reencoding the MPEG. Can this be done (at least in theory) with a specialized tool, only by hacking the MPEG stream?Cosmin
Assuming you are taking an MPEG-2 that was encoded for CVD, and just moving over to DVD (with resampled audio of course), then stick with the CVD VBV setting.
If you were to change the encoded VBV setting, without actaully re-encoding the MPEG, you would run a serious risk of hosing the decode process. The VBV buffer size tries to maintain a constant output to the decoder engine (visualize pooring water through a funnel). Changing it can result in buffer over/under runs, which in turn can stall, or completely kill the decode process.Impossible to see the future is. The Dark Side clouds everything...
A larger VBV buffer size will usually improve quality in high action sequences, but will cause higher bitrate spikes.
Also, in most encoders, the vbv buffer size is specified in multiple of 16Kbits (2KB), so vbv_buffer_size=112 is actually 224KB (the maximum for DVD).
For SVCD, vbv_buffer_size should in theory be set to 56 (112KB), though most players will work just fine with a VBV=112, since they play DVDs as well.
Ok, Sulik, thanks!Cosmin
Originally Posted by DJRumpy
Originally Posted by DJRumpyCosmin
Sulik, changing the VBV buffer size will not affect quality in any way. The amount of bitate used by your video is set in stone during the encoding process by your AVG, MIN, and MAX values (or just AVG for CBR). It can not be changed on the fly by some magical setting to make your video better. The VBV curcuit controls the encoded stream to the encoder, ensuring it always outputs a constant stream for decoding to the encoder. It does this by throttling back on the mpeg input, if the decoder falls behind (say during a complex scene), or when it gets ahead (think 'On Golden Pond'). I used the funnel visual, because it works the best. Think of the VBV circuit as the person pooring the water. It maintains a constant amount of 'water' in the upper part of the funnel. No matter how big you make the funnel, you still get the same water out. It's not purified in the process
Increasing the VBV buffer size would in essense give you a bigger 'funnel'. The problem here is that a larger funnel will increase the amount of data your dvd chipset must decode. If it is expecting a maximum amount of data for the medium its working on (CVD in this case), and you start feeding it DVD bitrates, it can choke up. Pushing more data doesn't make it look better. It just makes the chipset work harder to decode the info it's given.
If you make the VBV buffer too small, it can decode everything in the 'funnel' so quickly, that it runs out of 'water'. When this happens, your video goes bye bye.
Just leave the VBV buffer on the default setting. Increasing, or decreasing it will only open the possiblity for buffer under, or over runs. You would be better served spending your time learning to improve your encodes, with settings that will actaully yield resultsImpossible to see the future is. The Dark Side clouds everything...