[libav-commits] doc: document libx264 options and mappings

Luca Barbato git at libav.org
Fri Jan 25 17:39:55 CET 2013

Module: libav
Branch: master
Commit: ded3673d77943c376d94e8157b1238bbd1eeca2d

Author:    Luca Barbato <lu_zero at gentoo.org>
Committer: Luca Barbato <lu_zero at gentoo.org>
Date:      Wed Jan 23 08:28:47 2013 +0100

doc: document libx264 options and mappings


 doc/encoders.texi |  182 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 182 insertions(+), 0 deletions(-)

diff --git a/doc/encoders.texi b/doc/encoders.texi
index 830981f..8e910cf 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -413,3 +413,185 @@ Selected by Encoder (default)
 @end table
 @c man end AUDIO ENCODERS
+ at chapter Video Encoders
+ at c man begin VIDEO ENCODERS
+ at section libx264
+x264 H.264/MPEG-4 AVC encoder wrapper
+x264 supports an impressive number of features, including 8x8 and 4x4 adaptive
+spatial transform, adaptive B-frame placement, CAVLC/CABAC entropy coding,
+interlacing (MBAFF), lossless mode, psy optimizations for detail retention
+(adaptive quantization, psy-RD, psy-trellis).
+The Libav wrapper provides a mapping for most of them using global options
+that match those of the encoders and provides private options for the unique
+encoder options. Additionally an expert override is provided to directly pass
+a list of key=value tuples as accepted by x264_param_parse.
+ at subsection Option Mapping
+The following options are supported by the x264 wrapper, the x264-equivalent
+options follow the Libav ones.
+ at multitable @columnfractions .2 .2
+ at item b                 @tab bitrate
+Libav @code{b} option is expressed in bits/s, x264 @code{bitrate} in kilobits/s.
+ at item bf                @tab bframes
+Maximum number of B-frames.
+ at item g                 @tab keyint
+Maximum GOP size.
+ at item qmin              @tab qpmin
+ at item qmax              @tab qpmax
+ at item qdiff             @tab qpstep
+ at item qblur             @tab qblur
+ at item qcomp             @tab qcomp
+ at item refs              @tab ref
+ at item sc_threshold      @tab scenecut
+ at item trellis           @tab trellis
+ at item nr                @tab nr
+Noise reduction.
+ at item me_range          @tab merange
+ at item me_method         @tab me
+ at item subq              @tab subme
+ at item b_strategy        @tab b-adapt
+ at item keyint_min        @tab keyint-min
+ at item coder             @tab cabac
+Set coder to @code{ac} to use CABAC.
+ at item cmp               @tab chroma-me
+Set to @code{chroma} to use chroma motion estimation.
+ at item threads           @tab threads
+ at item thread_type       @tab sliced_threads
+Set to @code{slice} to use sliced threading instead of frame threading.
+ at item flags -cgop       @tab open-gop
+Set @code{-cgop} to use recovery points to close GOPs.
+ at item rc_init_occupancy @tab vbv-init
+Initial buffer occupancy.
+ at end multitable
+ at subsection Private Options
+ at table @option
+ at item -preset @var{string}
+Set the encoding preset (cf. x264 --fullhelp).
+ at item -tune @var{string}
+Tune the encoding params (cf. x264 --fullhelp).
+ at item -profile @var{string}
+Set profile restrictions (cf. x264 --fullhelp).
+ at item -fastfirstpass @var{integer}
+Use fast settings when encoding first pass.
+ at item -crf @var{float}
+Select the quality for constant quality mode.
+ at item -crf_max @var{float}
+In CRF mode, prevents VBV from lowering quality beyond this point.
+ at item -qp @var{integer}
+Constant quantization parameter rate control method.
+ at item -aq-mode @var{integer}
+AQ method
+Possible values:
+ at table @samp
+ at item none
+ at item variance
+Variance AQ (complexity mask).
+ at item autovariance
+Auto-variance AQ (experimental).
+ at end table
+ at item -aq-strength @var{float}
+AQ strength, reduces blocking and blurring in flat and textured areas.
+ at item -psy @var{integer}
+Use psychovisual optimizations.
+ at item -psy-rd @var{string}
+Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format.
+ at item -rc-lookahead @var{integer}
+Number of frames to look ahead for frametype and ratecontrol.
+ at item -weightb @var{integer}
+Weighted prediction for B-frames.
+ at item -weightp @var{integer}
+Weighted prediction analysis method.
+Possible values:
+ at table @samp
+ at item none
+ at item simple
+ at item smart
+ at end table
+ at item -ssim @var{integer}
+Calculate and print SSIM stats.
+ at item -intra-refresh @var{integer}
+Use Periodic Intra Refresh instead of IDR frames.
+ at item -b-bias @var{integer}
+Influences how often B-frames are used.
+ at item -b-pyramid @var{integer}
+Keep some B-frames as references.
+Possible values:
+ at table @samp
+ at item none
+ at item strict
+Strictly hierarchical pyramid.
+ at item normal
+Non-strict (not Blu-ray compatible).
+ at end table
+ at item -mixed-refs @var{integer}
+One reference per partition, as opposed to one reference per macroblock.
+ at item -8x8dct @var{integer}
+High profile 8x8 transform.
+ at item -fast-pskip @var{integer}
+ at item -aud @var{integer}
+Use access unit delimiters.
+ at item -mbtree @var{integer}
+Use macroblock tree ratecontrol.
+ at item -deblock @var{string}
+Loop filter parameters, in <alpha:beta> form.
+ at item -cplxblur @var{float}
+Reduce fluctuations in QP (before curve compression).
+ at item -partitions @var{string}
+A comma-separated list of partitions to consider, possible values: p8x8, p4x4, b8x8, i8x8, i4x4, none, all.
+ at item -direct-pred @var{integer}
+Direct MV prediction mode
+Possible values:
+ at table @samp
+ at item none
+ at item spatial
+ at item temporal
+ at item auto
+ at end table
+ at item -slice-max-size @var{integer}
+Limit the size of each slice in bytes.
+ at item -stats @var{string}
+Filename for 2 pass stats.
+ at item -nal-hrd @var{integer}
+Signal HRD information (requires vbv-bufsize; cbr not allowed in .mp4).
+Possible values:
+ at table @samp
+ at item none
+ at item vbr
+ at item cbr
+ at end table
+ at item -x264-params @var{string}
+Override the x264 configuration using a :-separated list of key=value parameters.
+ at example
+-x264-params level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subq=6:8x8dct=0:trellis=0
+ at end example
+ at end table
+Encoding avpresets for common usages are provided so they can be used with the
+general presets system (e.g. passing the @code{-pre} option).
+ at c man end VIDEO ENCODERS

More information about the libav-commits mailing list