You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
511 lines
16 KiB
511 lines
16 KiB
# ############################################################################
|
|
# XviD 1.0 configuration file for transcode
|
|
# ############################################################################
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
#
|
|
# Section: Features
|
|
#
|
|
# The fist section of this configuration file concerns what is labeled as
|
|
# "features". This allows you to turn on/off some options to adapt XviD to
|
|
# your needs.
|
|
# ----------------------------------------------------------------------------
|
|
|
|
[features]
|
|
|
|
# MPEG4 allows two methods to compress the image, the first one is derived
|
|
# from h263, the other one is inspired by the MPEG2 matrix quantization.
|
|
#
|
|
# NB: defaults to h263 if a typing mistake is done.
|
|
# defaults to mpeg if custom matrices filenames are specified.
|
|
#
|
|
# Values = h263 | mpeg
|
|
|
|
quant_type = h263
|
|
|
|
|
|
# This option controls the motion estimation subsystem. The higher the value,
|
|
# the more precise the estimation should be. The more precise the motion
|
|
# estimation is, the more bits can be saved. Precision is gained at the
|
|
# expense of CPU time so decrease this setting if you need realtime encoding.
|
|
#
|
|
# Values = [0..6]
|
|
#
|
|
# 0 None
|
|
# 1 Very Low
|
|
# 2 Low
|
|
# 3 Medium
|
|
# 4 High
|
|
# 5 Very High
|
|
# 6 Ultra High
|
|
#
|
|
# Default = 6
|
|
|
|
motion = 6
|
|
|
|
# Motion estimation involves lot of refinement steps. Usually these steps help
|
|
# reaching better quality, but not by much, and they use a fair amount of CPU.
|
|
# So if you want to speedup Motion Estimation by skipping some refinement steps
|
|
# and using simplified ME functions, you can activate the turbo mode.
|
|
#
|
|
# This setting turns on the ME turbo mode.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
turbo = 0
|
|
|
|
# The usual motion estimation algorithm uses only the luminance information
|
|
# to find the best motion vector. However for some video material, using
|
|
# the chromatic planes can help find better vectors.
|
|
#
|
|
# This setting turns on/off the use of chroma planes for Motion Estimation
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 1
|
|
|
|
chromame = 1
|
|
|
|
|
|
# The motion search algorithm is based on a search in the usual color domain
|
|
# and tries to find a motion vector that minimizes the difference between
|
|
# the reference frame and the encoded frame.
|
|
#
|
|
# Activating this setting, XviD will also use the frequency domain (DCT) to
|
|
# search a motion vector that minimizes not only the spatial difference but
|
|
# also the encoding length of the block. The higher, the more precise and more
|
|
# CPU intensive
|
|
#
|
|
# Values = [0..4]
|
|
#
|
|
# 0 Disabled
|
|
# 1 Mode decision
|
|
# 2 Limited search
|
|
# 3 Medium search
|
|
# 4 Wide search
|
|
#
|
|
# Default = 1
|
|
|
|
vhq = 1
|
|
|
|
|
|
# BFrames are the third type of frames available in MPEG4, they are predicted
|
|
# thanks to 2 reference frames. Thus, bframes help usually in two cases:
|
|
# 1/ saving bitrate w/o loss of quality
|
|
# 2/ increasing the quality for a same bitrate
|
|
#
|
|
# This setting controls how many bframes the xvid encoder can output in a row.
|
|
#
|
|
# You must be aware that the higher max_bframes is, the more distant reference
|
|
# frames are from each other. Thus prediction of reference frames become hard
|
|
# and results in poor quality. If the reference frames have poor quality, so
|
|
# the bframes will have. So as a rule of thumb, this setting has to be tuned
|
|
# according to your exact needs. CVommon values are [0..2] for "natural movies
|
|
# and a bit higher values for anime/cartoons with great amounts of constant color
|
|
# areas.
|
|
#
|
|
# Values = >=0 (0 disables bframes usage)
|
|
# Default = 1
|
|
|
|
max_bframes = 1
|
|
|
|
|
|
# As explained before, BFrames are highly correlated to its reference frames
|
|
# Thus XviD computes their quantizer to its reference's quantizers.
|
|
#
|
|
# This two settings allow you to tune the formula:
|
|
#
|
|
# Values = [0..200]
|
|
# Default = ratio 150 & offset 100
|
|
|
|
bquant_ratio = 150
|
|
bquant_offset = 100
|
|
|
|
|
|
# Sometimes BFrames do not look good, and introduce artefacts when most of the
|
|
# frame is static and some small zones have high motion (a static scene with a
|
|
# man talking, his mouth will probably look bad if what is surrounding the man
|
|
# and his mouth is completly static)
|
|
#
|
|
# This setting allow you to favorize or not, the use of bframes. The higher the
|
|
# value, the more a bframe has chance to be used.
|
|
#
|
|
# Values [-255..255]
|
|
# Default = 0
|
|
|
|
bframe_threshold = 0
|
|
|
|
|
|
# MPEG4 uses a half pixel precision for its motion search by default. The
|
|
# standard proposes a mode where encoders are allowed to use quarter pixel
|
|
# precision.
|
|
#
|
|
# This option usually results in sharper image. But it has great impact on
|
|
# bitrate and sometimes the higher use of bitrate will prevent it from giving
|
|
# a better image quality at a fixed bitrate. The better is to test w and w/o it
|
|
# and choose after this test, if it's worth activting it.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
quarterpel = 0
|
|
|
|
|
|
# Makes XviD generates Sprite Frame which describe best Pan/Zoom/Rotating
|
|
# images. Deciding wether or not you must activate it depends highly on the
|
|
# video material
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
gmc = 0
|
|
|
|
|
|
# Trellis Quantization is a kind of adaptive quantization method that saves
|
|
# bits modifying quantized coefficients to make them more compressable by the
|
|
# entropy encoder.
|
|
#
|
|
# Its impact on quality is good, and if VHQ uses too much CPU for you, this
|
|
# setting can be a good alternative to save a few bits (and gain quality at
|
|
# fixed bitrate) at a minimum expense.
|
|
# than VHQ
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
trellis = 0
|
|
|
|
|
|
# Depending on the container and frontend API, sometimes it is good to ask XviD
|
|
# to group the first bframe of a group with its forward reference frame, that
|
|
# prevents A/V desync
|
|
#
|
|
# This setting would be useful if it was used with VFW 1.1 encoders (Windows)
|
|
# because this API does not allow audio contention when no video frames are
|
|
# output.
|
|
#
|
|
# But transcode does not suffer from that API problem and the xvid4 module
|
|
# informs transcode to delay frames when needed, so this option is mostly not
|
|
# needed with transcode.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
packed = 0
|
|
|
|
|
|
# A GOP is a Group Of Pictures. Its bounded by two Intra Frames.
|
|
#
|
|
# This option controls if XviD must close a GOP, which means that a GOP is
|
|
# independent from the next GOP. This implies just that the last frame of
|
|
# the GOP is eiter a PFrame or a SFrame but not a BFrame. This is usually
|
|
# a good idea to turn on the option
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 1
|
|
|
|
closed_gop = 1
|
|
|
|
|
|
# For interlaced video material, turn this option to on.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
interlaced = 0
|
|
|
|
|
|
# Activate this if your encoded sequence is an Anime/Cartoon. It modifies some
|
|
# XviD internal thresholds so XviD takes better decisions on frame types and
|
|
# motion vectors for flat looking cartoons.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
cartoon = 0
|
|
|
|
|
|
# Activates High Quality AC coefficient prediction from neighboor blocks.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 1
|
|
|
|
hqacpred = 1
|
|
|
|
|
|
# XviD keeps track of block coding type (skipped, predicted, intra). The skipped
|
|
# block counter can be used to choose wether a frame is so close to its reference
|
|
# that it can be _completly_ skipped.
|
|
#
|
|
# This setting allows you to choose the (100 - value) threshold for skipping a
|
|
# frame.
|
|
#
|
|
# Values = [0..100] (0 -> never skip a frame, 100 -> skip all frames)
|
|
# Default = 0
|
|
|
|
frame_drop_ratio = 0
|
|
|
|
# XviD discard chroma planes bitstream so the encoded video is greyscale only.
|
|
# Note that this does not speed up encoding, that just prevent chroma data
|
|
# from being written in the last stage of encoding.
|
|
#
|
|
# This setting enable Chroma color discarding.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
greyscale = 0
|
|
|
|
# For testing purposes, or quality measurement, XviD can return some stats
|
|
# about the encoded frames.
|
|
#
|
|
# This option activates PSNR measurement, the average PSNR is displayed at the
|
|
# end of the encoding session. This option is probably something a Joe user
|
|
# does not really care. This option makes the encoding a bit slower.
|
|
#
|
|
# Values = 0 (no) | 1 (yes)
|
|
# Default = 0
|
|
|
|
stats = 0
|
|
|
|
# When doing the first pass of a 2-pass encode, the encoder takes some
|
|
# shortcuts and does not produce a full quality encode. Must users have
|
|
# no reason to do this, since the first pass is usually discarded.
|
|
#
|
|
# Setting this option forces the encoder to produce a full quality first
|
|
# pass at Q2. Enabling this makes the first pass a lot slower, and should
|
|
# only be enabled if you're using the resuts of the first pass for something.
|
|
#
|
|
# Values = 0 (standard first pass) | 1 (full quality first pass)
|
|
# Default = 0
|
|
|
|
full1pass = 0
|
|
|
|
# ----------------------------------------------------------------------------
|
|
#
|
|
# Section: Quantizer
|
|
#
|
|
# This section allows you to tune quantizing process.
|
|
# ----------------------------------------------------------------------------
|
|
|
|
[quantizer]
|
|
|
|
# The next 6 settings control the valid range of quantizers for a specific frame
|
|
# type
|
|
#
|
|
# a [2..31] range is probably good for all sequences, you can decrease the higher
|
|
# bound limit if you notice some scenes with artefacts. However, restricting the
|
|
# valid range can make the bitrate controller fails to achieve the desired bitrate
|
|
#
|
|
# Use this ranges with MUCH care
|
|
#
|
|
# Values = [0..31]
|
|
# 1-> small quantizer -> better quality
|
|
# 31-> high quantizer -> bad quality
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
min_iquant = 2
|
|
max_iquant = 31
|
|
min_pquant = 2
|
|
max_pquant = 31
|
|
min_bquant = 2
|
|
max_bquant = 31
|
|
|
|
# With the MPEG quantization method you can provide custom matrices optimized
|
|
# your video material.
|
|
#
|
|
# A matrix file is just a file where 64 decimal values ranged in 1..255 are
|
|
# specified separated by space chars (newline, space, tabs)
|
|
#
|
|
# The 8x8 matrix is then rebuilt like that
|
|
#
|
|
# [ first coeff, second coeff, ... eighth coeff]
|
|
# [ ninth coeff, ... ]
|
|
# [ ... ]
|
|
# [ ]
|
|
# [ ]
|
|
# [ ]
|
|
# [ ]
|
|
# [ ]
|
|
#
|
|
# Value = filename of the matrix
|
|
# Default : none (no custom matrix)
|
|
|
|
#quant_intra_matrix =
|
|
#quant_inter_matrix =
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
#
|
|
# Section: CBR
|
|
#
|
|
# This section allows you to tune the Constant Bitrate settings.
|
|
# ----------------------------------------------------------------------------
|
|
|
|
[cbr]
|
|
|
|
# This parameter controls the delay in frames before the CBR rate controller
|
|
# will react to bitrate changes and will try to compensate the change to obtain
|
|
# a constant bitrate over an averaging range of frames (see below).
|
|
#
|
|
# Value = >=0
|
|
# Default = 16
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
reaction_delay_factor = 16
|
|
|
|
|
|
# Real CBR is hard to achieve. Depending on the video material, bitrate can be
|
|
# variable, and hard to predict. That's why XviD uses an averaging period for
|
|
# which it guarantees a given amount of bits (minus a small variation).
|
|
#
|
|
# This settings express the "number of frames" for which XviD averages bitrate
|
|
# and tries to achieve CBR.
|
|
#
|
|
# Value = >=0
|
|
# Default = 100
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
averaging_period = 100
|
|
|
|
|
|
# Todo: find its exact meaning
|
|
#
|
|
# Value = >=0
|
|
# Default = 100
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
buffer = 100
|
|
|
|
# ----------------------------------------------------------------------------
|
|
#
|
|
# Section: VBR
|
|
#
|
|
# This section allows you to tune the Variable Bitrate controller settings.
|
|
# (2nd pass control in simpler words)
|
|
# ----------------------------------------------------------------------------
|
|
|
|
[vbr]
|
|
|
|
# The two pass algorithm scales the initial bitrate curve to obtain one that
|
|
# respect both the user target bitrate and the natural shape of the first pass
|
|
# curve. However it is possible to give an additionnal amount of bits for Intra
|
|
# frames.
|
|
#
|
|
# This setting tells how many additional amount of bits, Intra Frames are
|
|
# supposed to be given (this "bossting" amount of bits is compensated by
|
|
# subtracting the same amount of bits from other frame types pool)
|
|
#
|
|
# Value = [0..100]
|
|
# Default = 0
|
|
|
|
keyframe_boost = 0
|
|
|
|
|
|
# This settigs control how much the upper part of the curve has to get closer
|
|
# to the average bitrate value. The upper part of the curve is the set of values
|
|
# that are higher than the curve average. It is expressed in %.
|
|
#
|
|
# Think of that setting like a shrinking factor for the upper part of the
|
|
# curve.
|
|
#
|
|
# Value = [0..100]
|
|
# Default = 0
|
|
|
|
curve_compression_high = 0
|
|
|
|
|
|
# This settigs control how much the lower part of the curve has to get closer
|
|
# to the average bitrate value. The lower part of the curve is the set of values
|
|
# that are lower than the curve average. It is expressed in %.
|
|
#
|
|
# Think of that setting like a growing factor for the lower part of the
|
|
# curve.
|
|
#
|
|
# Value = [0..100]
|
|
# Default = 0
|
|
|
|
curve_compression_low = 0
|
|
|
|
|
|
# During two pass, 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
|
|
# that overflow distributing it over next frames to be encoded.
|
|
#
|
|
# This setting controls how much overflow is distributed at each new frame.
|
|
# Low values allow lazy overflow control, big rate bursts are compensated more
|
|
# slowly (could lead to lack of precision for small clips). High values
|
|
# make RC compensate very hard the overflow, this can have a very bad impact on
|
|
# quality during rate bursts.
|
|
#
|
|
# NB: This setting impacts quality a lot, play with it carefully !
|
|
#
|
|
# Value = [0..100]
|
|
# Default = 0
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
overflow_control_strength = 5
|
|
|
|
# During the frame bit allocation, overflow control may increase the frame
|
|
# size. This parameter controls how much the overflow control is allowed
|
|
# to increase the frame size in percent compared to the ideal curve allocation
|
|
#
|
|
# Value = >=0
|
|
# Default = 60
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
max_overflow_improvement = 5
|
|
|
|
|
|
# During the frame bit allocation, overflow control may decrease the frame
|
|
# size. This parameter controls how much the overflow control is allowed
|
|
# to decrease the frame size in percent compared to the ideal curve allocation
|
|
#
|
|
# Value = >=0
|
|
# Default = 60
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
max_overflow_degradation = 5
|
|
|
|
|
|
# This reduction factor is the maximum allowed keyframe penalty applied to
|
|
# a frame in a ivop sequence. The more the frame is distant from the last
|
|
# ivop in the consecutive ivop sequence, the more penalty it is applied.
|
|
# This ensures a maximum bitrate allocation to the last ivop, thus favorizing
|
|
# a good reference frame for following p/s/b vops.
|
|
#
|
|
# Value = >=0
|
|
# Default = 20
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
kfreduction = 20
|
|
|
|
|
|
# Distance between two ivops so that it is not decresed its bit allocation by
|
|
# the ivop reduction mechanism.
|
|
#
|
|
# Value = >=0
|
|
# Default = 1
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
kfthreshold = 1
|
|
|
|
|
|
# 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 make the target file size is not respected (oversized result). We decided
|
|
# to allow users to set the amount of overhead per frame the container generates
|
|
# (give only an average per frame)
|
|
#
|
|
# Value = >=0
|
|
# Default = 24 (AVI frame average overhead per frame in bytes)
|
|
# 0 has a special meaning, it lets XviD uses its own default values
|
|
|
|
container_frame_overhead = 24
|
|
|
|
##############################################################################
|
|
# Do not modify this tag comment
|
|
# arch-tag: bb7970c1-33fb-4c8c-8d1b-742ff2e53336 xvid config file
|