[XviD-devel] VBV-RC and API
Christoph Lampert
chl at math.uni-bonn.de
Sun May 9 16:04:13 CEST 2004
Hi,
I added VBV compliancy stuff to twopass curve scaling of HEAD, but didn't
enable it so far. Define VBV e.g. in plattform.inc for this. VBV_DEBUG
shows information, VBV_FORCE switched on VBV (DivX Home theater) even if
the calling application doesn't fill the data fields.
At the moment, there still is seems to be a problem with how to tell 2nd
pass rate control to really stick to those values.
Am I right that ratecontrol during second pass is _not_ part of the core,
but of VfW or transcode-module or whatever? Could we move that?
Because too loose twopass RC can break compliancy even if curve was scaled
correctly. It just happened to me with transcode, which is why I'm asking.
Also, we have to pass profile parameters. For the GUI, I guess a dropbox
with off + 4 predefined profile + userdefined profile would be okay?
And internally, should we use a flag to switch VBV control on/off, and
the 3 integers to control parameters? Or give a full integer to indicate
profiles 0-5 (0=off, 1-4 so below, 5=user) and set default values in the
core?
chl
**********************************************************************
DivX defines 4 profiles: http://www.divx.com/divxcertified/
http://www.divx.com/support/divx/guide.php
VBV_Bitrate VBV_Size VBV_Occupancy
Handheld 128000 262144 196608 (75%)
Portable 768000 1048576 786432 (75%)
Home Theatre 4000000 3145728 2359296 (75%)
High Definition 8000000 6291456 4718592 (75%)
VBV_Bitrate is _not_ the encoding bitrate, but the maximal speed which the
decoder device must be capable of delivering. VBV_Size and VBV_Occupancy
are more internal stuff. None of these is really useful to set to
your own values, it's only to garantee decoding on DivX certified
devices.
More information about the XviD-devel
mailing list