| @@ -413,3 +413,185 @@ Selected by Encoder (default) | |||
| @end table | |||
| @c man end AUDIO ENCODERS | |||
| @chapter Video Encoders | |||
| @c man begin VIDEO ENCODERS | |||
| @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. | |||
| @subsection Option Mapping | |||
| The following options are supported by the x264 wrapper, the x264-equivalent | |||
| options follow the Libav ones. | |||
| @multitable @columnfractions .2 .2 | |||
| @item b @tab bitrate | |||
| Libav @code{b} option is expressed in bits/s, x264 @code{bitrate} in kilobits/s. | |||
| @item bf @tab bframes | |||
| Maximum number of B-frames. | |||
| @item g @tab keyint | |||
| Maximum GOP size. | |||
| @item qmin @tab qpmin | |||
| @item qmax @tab qpmax | |||
| @item qdiff @tab qpstep | |||
| @item qblur @tab qblur | |||
| @item qcomp @tab qcomp | |||
| @item refs @tab ref | |||
| @item sc_threshold @tab scenecut | |||
| @item trellis @tab trellis | |||
| @item nr @tab nr | |||
| Noise reduction. | |||
| @item me_range @tab merange | |||
| @item me_method @tab me | |||
| @item subq @tab subme | |||
| @item b_strategy @tab b-adapt | |||
| @item keyint_min @tab keyint-min | |||
| @item coder @tab cabac | |||
| Set coder to @code{ac} to use CABAC. | |||
| @item cmp @tab chroma-me | |||
| Set to @code{chroma} to use chroma motion estimation. | |||
| @item threads @tab threads | |||
| @item thread_type @tab sliced_threads | |||
| Set to @code{slice} to use sliced threading instead of frame threading. | |||
| @item flags -cgop @tab open-gop | |||
| Set @code{-cgop} to use recovery points to close GOPs. | |||
| @item rc_init_occupancy @tab vbv-init | |||
| Initial buffer occupancy. | |||
| @end multitable | |||
| @subsection Private Options | |||
| @table @option | |||
| @item -preset @var{string} | |||
| Set the encoding preset (cf. x264 --fullhelp). | |||
| @item -tune @var{string} | |||
| Tune the encoding params (cf. x264 --fullhelp). | |||
| @item -profile @var{string} | |||
| Set profile restrictions (cf. x264 --fullhelp). | |||
| @item -fastfirstpass @var{integer} | |||
| Use fast settings when encoding first pass. | |||
| @item -crf @var{float} | |||
| Select the quality for constant quality mode. | |||
| @item -crf_max @var{float} | |||
| In CRF mode, prevents VBV from lowering quality beyond this point. | |||
| @item -qp @var{integer} | |||
| Constant quantization parameter rate control method. | |||
| @item -aq-mode @var{integer} | |||
| AQ method | |||
| Possible values: | |||
| @table @samp | |||
| @item none | |||
| @item variance | |||
| Variance AQ (complexity mask). | |||
| @item autovariance | |||
| Auto-variance AQ (experimental). | |||
| @end table | |||
| @item -aq-strength @var{float} | |||
| AQ strength, reduces blocking and blurring in flat and textured areas. | |||
| @item -psy @var{integer} | |||
| Use psychovisual optimizations. | |||
| @item -psy-rd @var{string} | |||
| Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format. | |||
| @item -rc-lookahead @var{integer} | |||
| Number of frames to look ahead for frametype and ratecontrol. | |||
| @item -weightb @var{integer} | |||
| Weighted prediction for B-frames. | |||
| @item -weightp @var{integer} | |||
| Weighted prediction analysis method. | |||
| Possible values: | |||
| @table @samp | |||
| @item none | |||
| @item simple | |||
| @item smart | |||
| @end table | |||
| @item -ssim @var{integer} | |||
| Calculate and print SSIM stats. | |||
| @item -intra-refresh @var{integer} | |||
| Use Periodic Intra Refresh instead of IDR frames. | |||
| @item -b-bias @var{integer} | |||
| Influences how often B-frames are used. | |||
| @item -b-pyramid @var{integer} | |||
| Keep some B-frames as references. | |||
| Possible values: | |||
| @table @samp | |||
| @item none | |||
| @item strict | |||
| Strictly hierarchical pyramid. | |||
| @item normal | |||
| Non-strict (not Blu-ray compatible). | |||
| @end table | |||
| @item -mixed-refs @var{integer} | |||
| One reference per partition, as opposed to one reference per macroblock. | |||
| @item -8x8dct @var{integer} | |||
| High profile 8x8 transform. | |||
| @item -fast-pskip @var{integer} | |||
| @item -aud @var{integer} | |||
| Use access unit delimiters. | |||
| @item -mbtree @var{integer} | |||
| Use macroblock tree ratecontrol. | |||
| @item -deblock @var{string} | |||
| Loop filter parameters, in <alpha:beta> form. | |||
| @item -cplxblur @var{float} | |||
| Reduce fluctuations in QP (before curve compression). | |||
| @item -partitions @var{string} | |||
| A comma-separated list of partitions to consider, possible values: p8x8, p4x4, b8x8, i8x8, i4x4, none, all. | |||
| @item -direct-pred @var{integer} | |||
| Direct MV prediction mode | |||
| Possible values: | |||
| @table @samp | |||
| @item none | |||
| @item spatial | |||
| @item temporal | |||
| @item auto | |||
| @end table | |||
| @item -slice-max-size @var{integer} | |||
| Limit the size of each slice in bytes. | |||
| @item -stats @var{string} | |||
| Filename for 2 pass stats. | |||
| @item -nal-hrd @var{integer} | |||
| Signal HRD information (requires vbv-bufsize; cbr not allowed in .mp4). | |||
| Possible values: | |||
| @table @samp | |||
| @item none | |||
| @item vbr | |||
| @item cbr | |||
| @end table | |||
| @item -x264-params @var{string} | |||
| Override the x264 configuration using a :-separated list of key=value parameters. | |||
| @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 | |||
| @end example | |||
| @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). | |||
| @c man end VIDEO ENCODERS | |||