VfW VP3 Encoding Guide

written by dbloom
last updated 27 April 2003


TOC


Constant Bitrate (CBR) encoding

back to TOC

The VP3 codec takes a different approach to encoding than most other codecs - it tends to vary the bitrate to keep a constant quality. This is unlike most other codecs, which tend to vary the picture quality to keep a constant bitrate. This doesn't mean that it's impossible, however, to encode CBR using the VP3 codec.

Screengrab of VP3 compressor configuration screen

Here is how the VP3 codec balances quality and bitrate.

  1. Quality
    The VP3 codec will never go below a user-specified bitrate bitrate if one is specified in the codec selection screen. The VP3 codec will, however, add to that bitrate if it needs to maintain one of these quality settings.
  2. Bitrate

Once you understand this, its not hard to figure out how to make the VP3 codec aim for a constant bitrate.

There are three methods you can use to make the VP3 codec achieve a constant birate:

  1. Make the codec drop frames to achieve the bitrate in tough-to-encode spots. This method is best for low-motion video.
  2. Make the codec sacrifice image quality to achieve the bitrate in tough-to-encode spots. This method is best for high-motion video.
  3. Make the codec do both of the above. This is best for any type of video that you are trying to encode at a ridiculously low bitrate.

First, set your bitrate by dividing your desired bitrate by eight (so that it is in kilobytes [KB] rather than kilobits [kb]), then putting it in the 'Target data rate' box in the codec selection screen.

What you do next depends on which of the three methods above you wish to use.

  1. To use the first method, set the 'Minimum Allowed Quality' setting to what you see fit for the video (some experimentation is probably neccesary here). Then, check the 'Drop frames' box, and you're set. The VP3 will halve the framerate in any portions of the video that it can't encode at the quality you desired. Note that if halving the framerate is not enough to achieve that video quality, the codec will go above the bitrate you specified in the codec selection screen - if this is a problem, change the 'Sharpness' setting to a lower detail level, and try again.
  2. To use the second method, set the 'Minimum Allowed Quality' setting to 63, and uncheck the 'Drop Frames' box. Then, try encoding your video at the 'High Detail' sharpness level. If you are able to maintain a CBR, then you're set. Otherwise, go to the next lowest sharpness level, until you get a constant bitrate.
  3. If neither of those methods work, try setting the detail level to 63 AND enabling frame dropping. This should give you the bitrate you need. Play with the sharpness setting if you need to as well.

Variable Bitrate (VBR) encoding

back to TOC

Unfortunately, the VP3 codec does not have 'x-pass' VBR support, which would make it possible to encode a VBR file with a specified average bitrate. It is possible, however, to use two other types of VBR with the VP3 codec: Constant Quality (CQ) and Minimum Bitrate. Minimum Bitrate is not an 'official' VBR method, but it is similar to Automatic Bitrate (ABR). The only difference between Minimum Bitrate and ABR is Minimum Bitrate does not offer control over the maximum bitrate.

Constant Quality (CQ) encoding

back to Variable Bitrate (VBR) encoding
back to TOC

To do a CQ encode, uncheck 'Drop frames' from the VP3 compresser configuration window and 'Use target data rate of x kilobytes/second' from the codec selection window. Then, in the VP3 configuration window, set the desired quality of your encode, with 0 being the highest and 63 being the lowest. Also, set the Sharpness (remember that more detail uses more bits).

Minimum Bitrate encoding

back to Variable Bitrate (VBR) encoding
back to TOC

To do a Minimum Bitrate encode, follow the instructions for a CQ encode, but don't uncheck the 'Use target data rate' box. Put the lowest bitrate (remember to divide by 8 to convert kilobits to kilobytes) that the video can use.


counter (please direct spam to my freegratis-spamming friend, agrm9d@mizzou.edu , thanks!).