[FFmpeg-devel] [PATCH 1/5] doc/encoders: Add libxvid doc

Timothy Gu timothygu99 at gmail.com
Tue Jul 30 04:10:41 CEST 2013


On Mon, Jul 29, 2013 at 3:22 AM, Stefano Sabatini <stefasab at gmail.com> wrote:
> On date Saturday 2013-07-27 16:32:30 -0700, Timothy Gu encoded:
>> ---
>>  doc/encoders.texi | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 129 insertions(+)
>>
>> diff --git a/doc/encoders.texi b/doc/encoders.texi
>> index fdf054c..c703000 100644
>> --- a/doc/encoders.texi
>> +++ b/doc/encoders.texi
>> @@ -1212,6 +1212,135 @@ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
>>  Encoding ffpresets for common usages are provided so they can be used with the
>>  general presets system (e.g. passing the @option{pre} option).
>>
>> + at section libxvid
>> +
>> +Xvid MPEG-4 Part 2 encoder wrapper.
>> +
>
>> +Requires the presence of the libxvidcore headers and library during
>
> This encoder requires
>
> so that the subject is explicit.
>
>> +configuration. You need to explicitly configure the build with
>> + at code{--enable-libxvid}.
>> +
>
>> +An native MPEG-4 Part 2 encoder exists, so users can encode to this
>> +format without this library.
>
> A native
>
> Also slightly more informative:
>
> The native @code{mpeg4} encoder supports MPEG-4 Part 2, so users ...
>
>> +
>> + at subsection Options
>> +
>> +The following options are supported by the libxvid wrapper:
>> +
>> + at table @option
>> + at item b
>> +Set bit rate in bits/second.
>> +
>> + at item g
>> +Set group of picture (GOP) size. Default value is 12.
>> +
>> + at item qmin
>> +Set minimum quantizer scale. Must be included between -1 and 69, default
>> +value is 2.
>> +
>> + at item qmax
>> +Set maximum quantizer scale. Must be included between -1 and 1024,
>> +default value is 31.
>> +
>
>> + at item mpeg_quant
>> +Enable MPEG quantizer instead of H.263 when set to 1.
>
> Default value is 0?

See below

>
>> +
>> + at item threads
>> +Set multi-threading thread count. Possible values are integers greater or
>> +equal to 0, or @samp{auto}. 0 or @samp{auto} means that it automatically
>> +detects a good number of threads. 1 means to disable multi-threading.
>> +
>> + at item bf
>> +Set maximum number of B-frames.
>> +
>> + at item b_qfactor
>> +Set quantization parameter (QP) factor between P- and B-frames. Value
>> +is a float number.
>> +
>> + at item b_qoffset
>> +Set QP offset between P- and B-frames. Value is a float number.
>> +
>> + at item flags
>> +Set specific encoding flags. Possible values:
>> +
>> + at table @samp
>> +
>> + at item mv4
>> +Use four motion vector by macroblock.
>> +
>> + at item aic
>> +Enable high quality AC prediction.
>> +
>> + at item gray
>> +Only encode grayscale.
>> +
>> + at item gmc
>> +Enable the use of global motion compensation (GMC).
>> +
>> + at item qpel
>> +Enable quarter-pixel motion compensation.
>> +
>> + at item cgop
>> +Enable closed GOP.
>> +
>> + at item global_header
>> +Place global headers in extradata instead of every keyframe.
>> +
>> + at end table
>> +
>> + at item trellis
>> +Enable trellis-based rate-distortion optimal quantization when set to
>> +1. Default is 0 (disabled).
>> +
>> + at item me_method
>> +Set motion estimation method. Possible values in the decreasing order
>> +of speed and increasing order of quality:
>> +
>> + at table @samp
>> +
>> + at item zero
>> +Use no motion estimation (default).
>> +
>> + at item phods
>> + at item x1
>> + at item log
>> +Enable advanced diamond zonal search for 16x16 blocks and half-pixel
>> +refinement for 16x16 blocks. @samp{x1} and @samp{log} are aliases for
>> + at samp{phods}.
>> +
>> + at item epzs
>> +Enable all of the things described above, plus advanced diamond zonal
>> +search for 8x8 blocks, half-pixel refinement for 8x8 blocks, and motion
>> +estimation on chroma planes.
>> +
>> + at item full
>> +Enable all of the things described above, plus extended 16x16 and 8x8
>> +blocks search.
>> +
>> + at end table
>> +
>> + at item mbd
>> +Set macroblock decision algorithm. Possible values in the increasing
>> +order of quality:
>> +
>> + at table @samp
>> +
>> + at item simple
>> +Use macroblock comparing function algorithm (default).
>> +
>> + at item bits
>> +Enable rate distortion-based half pixel and quarter pixel refinement for
>> +16x16 blocks.
>> +
>> + at item rd
>> +Enable all of the things described above, plus rate distortion-based
>> +half pixel and quarter pixel refinement for 8x8 blocks, and rate
>> +distortion-based search using square pattern.
>> +
>> + at end table
>> +
>> + at end table
>
> I'm not really happy about duplicating common option
> documentation. LGTM otherwise.

I deleted the common options in the newer patch. I think that it is
better to amend the existing common codec options chapter (add the
default value) than to add it in the separate paragraphs. If I have
the time in the future, I might do it.

Timothy


More information about the ffmpeg-devel mailing list