xvid 2-pass encoding

Michael Halcrow mike at halcrow.us
Thu Feb 10 12:29:05 MST 2005


On Sun, Feb 06, 2005 at 05:25:12PM -0700, Steve Dibb wrote:
> However, what I want to do is create a two-pass xvid file, but it
> won't run the 2nd pass if I don't set bitrate or fixed_quant.  The
> whole point of doing 2-pass encoding (I thought) was so that it uses
> ABR instead of CBR (which it will use with the other two).  Is that
> right?

The encoding process uses something called a quantizer matrix to
reduce the amount of information in each frame.  For low-motion, less
detailed segments, you want to drop more information, since the human
eye is not sensitive to the loss.  For high-motion, more detailed
segments, you will want the quantizer matrix to drop less data.  You
still need a *target* bitrate, so the encoding algorithm knows
relatively how much data to drop.  If you are targetting an 800MB
file, then the algorithm will need to use higher quantizer values than
it would need to use for a 2GB file.  The bitrate will be different at
various parts of the file, but the algorithm needs to know how to
scale those bitrates so as to average out to the target bitrate.  FYI,
there is a lower bound for the quantizer values, and so for any given
video file, there is an upper limit to how large you can make the
file.  It turns out that, near the upper 20% of the quantizer range,
you get asymptotic ``bang-for-your-buck'' in terms of quality and
size.  In other words, if you are hitting that maximum file size, you
are wasting space.  Try to hit around 20% below the maximum file
size.

Mike
.___________________________________________________________________.
"Hope is a waking dream."                                            
 - Aristotle 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://plug.org/pipermail/plug/attachments/20050210/9d22a059/attachment.bin 


More information about the PLUG mailing list