2008-03-26, 02:55 PM
options part 2
Quote:frame_drop_ratio=<0−100> (max_bframes=0 only)
This setting allows the creation of variable framerate video streams. The value of the setting specifies a threshold under which, if the difference of the following frame to the previous frame is below or equal to this threshold, a frame gets not coded (a so called n-vop is placed in the stream). On playback, when reaching an n-vop the previous frame will be displayed.
WARNING: Playing with this setting may result in a jerky video, so use it at your own risks!
rc_reaction_delay_factor=<value>
This parameter controls the number of frames the CBR rate controller will wait before reacting to bitrate changes and compensating for them to obtain a constant bitrate over an averaging range of frames.
rc_averaging_period=<value>
Real CBR is hard to achieve. Depending on the video material, bitrate can be variable, and hard to predict. Therefore Xvid uses an averaging period for which it guarantees a given amount of bits (minus a small variation). This settings expresses the "number of frames" for which Xvid averages bitrate and tries to achieve CBR.
rc_buffer=<value>
size of the rate control buffer
curve_compression_high=<0−100>
This setting allows Xvid to take a certain percentage of bits away from high bitrate scenes and give them back to the bit reservoir. You could also use this if you have a clip with so many bits allocated to high-bitrate scenes that the low(er)-bitrate scenes start to look bad (default: 0).
curve_compression_low=<0−100>
This setting allows Xvid to give a certain percentage of extra bits to the low bitrate scenes, taking a few bits from the entire clip. This might come in handy if you have a few low-bitrate scenes that are still blocky (default: 0).
overflow_control_strength=<0−100>
During pass one of two pass encoding, a scaled bitrate curve is computed. The difference between that expected curve and the result obtained during encoding is called overflow. Obviously, the two pass rate controller tries to compensate for that overflow, distributing it over the next frames. This setting controls how much of the overflow is distributed every time there is a new frame. Low values allow lazy overflow control, big rate bursts are compensated for more slowly (could lead to lack of precision for small clips). Higher values will make changes in bit redistribution more abrupt, possibly too abrupt if you set it too high, creating artifacts (default: 5).
NOTE: This setting impacts quality a lot, play with it carefully!
max_overflow_improvement=<0−100>
During the frame bit allocation, overflow control may increase the frame size. This parameter specifies the maximum percentage by which the overflow control is allowed to increase the frame size, compared to the ideal curve allocation (default: 5).
max_overflow_degradation=<0−100>
During the frame bit allocation, overflow control may decrease the frame size. This parameter specifies the maximum percentage by which the overflow control is allowed to decrease the frame size, compared to the ideal curve allocation (default: 5).
container_frame_overhead=<0...>
Specifies a frame average overhead per frame, in bytes. Most of the time users express their target bitrate for video w/o taking care of the video container overhead. This small but (mostly) constant overhead can cause the target file size to be exceeded. Xvid allows users to set the amount of overhead per frame the container generates (give only an average per frame). 0 has a special meaning, it lets Xvid use its own default values (default: 24 − AVI average overhead).
profile=<profile_name>
Restricts options and VBV (peak bitrate over a short period) according to the Simple, Advanced Simple and DivX profiles. The resulting videos should be playable on standalone players adhering to these profile specifications.
unrestricted
no restrictions (default)
sp0
simple profile at level 0
sp1
simple profile at level 1
sp2
simple profile at level 2
sp3
simple profile at level 3
asp0
advanced simple profile at level 0
asp1
advanced simple profile at level 1
asp2
advanced simple profile at level 2
asp3
advanced simple profile at level 3
asp4
advanced simple profile at level 4
asp5
advanced simple profile at level 5
dxnhandheld
DXN handheld profile
dxnportntsc
DXN portable NTSC profile
dxnportpal
DXN portable PAL profile
dxnhtntsc
DXN home theater NTSC profile
dxnhtpal
DXN home theater PAL profile
dxnhdtv
DXN HDTV profile
NOTE: These profiles should be used in conjunction with an appropriate −ffourcc. Generally DX50 is applicable, as some players do not recognize Xvid but most recognize DivX.
par=<mode>
Specifies the Pixel Aspect Ratio mode (not to be confused with DAR, the Display Aspect Ratio). PAR is the ratio of the width and height of a single pixel. So both are related like this: DAR = PAR * (width/height).
MPEG-4 defines 5 pixel aspect ratios and one extended one, giving the opportunity to specify a specific pixel aspect ratio. 5 standard modes can be specified:
vga11
It is the usual PAR for PC content. Pixels are a square unit.
pal43
PAL standard 4:3 PAR. Pixels are rectangles.
pal169
same as above
ntsc43
same as above
ntsc169
same as above (Do not forget to give the exact ratio.)
ext
Allows you to specify your own pixel aspect ratio with par_width and par_height.
NOTE: In general, setting aspect and autoaspect options is enough.
par_width=<1−255> (par=ext only)
Specifies the width of the custom pixel aspect ratio.
par_height=<1−255> (par=ext only)
Specifies the height of the custom pixel aspect ratio.
aspect=<x/y | f (float value)>
Store movie aspect internally, just like MPEG files. Much nicer solution than rescaling, because quality is not decreased. MPlayer and a few others players will play these files correctly, others will display them with the wrong aspect. The aspect parameter can be given as a ratio or a floating point number.
(no)autoaspect
Same as the aspect option, but automatically computes aspect, taking into account all the adjustments (crop/expand/scale/ etc.) made in the filter chain.
psnr
Print the PSNR (peak signal to noise ratio) for the whole video after encoding and store the per frame PSNR in a file with a name like ’psnr_hhmmss.log’ in the current directory. Returned values are in dB (decibel), the higher the better.
debug
Save per-frame statistics in ./xvid.dbg. (This is not the two pass control file.)
The following option is only available in Xvid 1.1.x.
bvhq=<0|1>
This setting allows vector candidates for B-frames to be used for the encoding chosen using a rate distortion optimized operator, which is what is done for P-frames by the vhq option. This produces nicer-looking B-frames while incurring almost no performance penalty (default: 1).
The following option is only available in the 1.2.x version of Xvid.
threads=<0−n>
Create n threads to run the motion estimation (default: 0). The maximum number of threads that can be used is the picture height divided by 16.