diff ffmpeg/doc/ffmpeg-codecs.1 @ 10:6840f77b83aa

commit
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Sun, 21 Apr 2013 10:55:35 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ffmpeg/doc/ffmpeg-codecs.1	Sun Apr 21 10:55:35 2013 +0200
@@ -0,0 +1,2707 @@
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FFMPEG-CODECS 1"
+.TH FFMPEG-CODECS 1 "2013-04-21" " " " "
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+ffmpeg\-codecs \- FFmpeg codecs
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This document describes the codecs (decoders and encoders) provided by
+the libavcodec library.
+.SH "CODEC OPTIONS"
+.IX Header "CODEC OPTIONS"
+libavcodec provides some generic global options, which can be set on
+all the encoders and decoders. In addition each codec may support
+so-called private options, which are specific for a given codec.
+.PP
+Sometimes, a global option may only affect a specific kind of codec,
+and may be unsensical or ignored by another, so you need to be aware
+of the meaning of the specified options. Also some options are
+meant only for decoding or encoding.
+.PP
+Options may be set by specifying \-\fIoption\fR \fIvalue\fR in the
+FFmpeg tools, or by setting the value explicitly in the
+\&\f(CW\*(C`AVCodecContext\*(C'\fR options or using the \fIlibavutil/opt.h\fR \s-1API\s0
+for programmatic use.
+.PP
+The list of supported options follow:
+.IP "\fBb\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "b integer (encoding,audio,video)"
+Set bitrate in bits/s. Default value is 200K.
+.IP "\fBab\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
+.IX Item "ab integer (encoding,audio)"
+Set audio bitrate (in bits/s). Default value is 128K.
+.IP "\fBbt\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "bt integer (encoding,video)"
+Set video bitrate tolerance (in bits/s). In 1\-pass mode, bitrate
+tolerance specifies how far ratecontrol is willing to deviate from the
+target average bitrate value. This is not related to min/max
+bitrate. Lowering tolerance too much has an adverse effect on quality.
+.IP "\fBflags\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4
+.IX Item "flags flags (decoding/encoding,audio,video,subtitles)"
+Set generic flags.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBmv4\fR" 4
+.IX Item "mv4"
+Use four motion vector by macroblock (mpeg4).
+.IP "\fBqpel\fR" 4
+.IX Item "qpel"
+Use 1/4 pel motion compensation.
+.IP "\fBloop\fR" 4
+.IX Item "loop"
+Use loop filter.
+.IP "\fBqscale\fR" 4
+.IX Item "qscale"
+Use fixed qscale.
+.IP "\fBgmc\fR" 4
+.IX Item "gmc"
+Use gmc.
+.IP "\fBmv0\fR" 4
+.IX Item "mv0"
+Always try a mb with mv=<0,0>.
+.IP "\fBinput_preserved\fR" 4
+.IX Item "input_preserved"
+.PD 0
+.IP "\fBpass1\fR" 4
+.IX Item "pass1"
+.PD
+Use internal 2pass ratecontrol in first pass mode.
+.IP "\fBpass2\fR" 4
+.IX Item "pass2"
+Use internal 2pass ratecontrol in second pass mode.
+.IP "\fBgray\fR" 4
+.IX Item "gray"
+Only decode/encode grayscale.
+.IP "\fBemu_edge\fR" 4
+.IX Item "emu_edge"
+Do not draw edges.
+.IP "\fBpsnr\fR" 4
+.IX Item "psnr"
+Set error[?] variables during encoding.
+.IP "\fBtruncated\fR" 4
+.IX Item "truncated"
+.PD 0
+.IP "\fBnaq\fR" 4
+.IX Item "naq"
+.PD
+Normalize adaptive quantization.
+.IP "\fBildct\fR" 4
+.IX Item "ildct"
+Use interlaced \s-1DCT\s0.
+.IP "\fBlow_delay\fR" 4
+.IX Item "low_delay"
+Force low delay.
+.IP "\fBglobal_header\fR" 4
+.IX Item "global_header"
+Place global headers in extradata instead of every keyframe.
+.IP "\fBbitexact\fR" 4
+.IX Item "bitexact"
+Use only bitexact stuff (except (I)DCT).
+.IP "\fBaic\fR" 4
+.IX Item "aic"
+Apply H263 advanced intra coding / mpeg4 ac prediction.
+.IP "\fBcbp\fR" 4
+.IX Item "cbp"
+Deprecated, use mpegvideo private options instead.
+.IP "\fBqprd\fR" 4
+.IX Item "qprd"
+Deprecated, use mpegvideo private options instead.
+.IP "\fBilme\fR" 4
+.IX Item "ilme"
+Apply interlaced motion estimation.
+.IP "\fBcgop\fR" 4
+.IX Item "cgop"
+Use closed gop.
+.RE
+.RS 4
+.RE
+.IP "\fBsub_id\fR \fIinteger\fR" 4
+.IX Item "sub_id integer"
+Deprecated, currently unused.
+.IP "\fBme_method\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "me_method integer (encoding,video)"
+Set motion estimation method.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBzero\fR" 4
+.IX Item "zero"
+zero motion estimation (fastest)
+.IP "\fBfull\fR" 4
+.IX Item "full"
+full motion estimation (slowest)
+.IP "\fBepzs\fR" 4
+.IX Item "epzs"
+\&\s-1EPZS\s0 motion estimation (default)
+.IP "\fBesa\fR" 4
+.IX Item "esa"
+esa motion estimation (alias for full)
+.IP "\fBtesa\fR" 4
+.IX Item "tesa"
+tesa motion estimation
+.IP "\fBdia\fR" 4
+.IX Item "dia"
+dia motion estimation (alias for epzs)
+.IP "\fBlog\fR" 4
+.IX Item "log"
+log motion estimation
+.IP "\fBphods\fR" 4
+.IX Item "phods"
+phods motion estimation
+.IP "\fBx1\fR" 4
+.IX Item "x1"
+X1 motion estimation
+.IP "\fBhex\fR" 4
+.IX Item "hex"
+hex motion estimation
+.IP "\fBumh\fR" 4
+.IX Item "umh"
+umh motion estimation
+.IP "\fBiter\fR" 4
+.IX Item "iter"
+iter motion estimation
+.RE
+.RS 4
+.RE
+.IP "\fBextradata_size\fR \fIinteger\fR" 4
+.IX Item "extradata_size integer"
+Set extradata size.
+.IP "\fBtime_base\fR \fIrational number\fR" 4
+.IX Item "time_base rational number"
+Set codec time base.
+.Sp
+It is the fundamental unit of time (in seconds) in terms of which
+frame timestamps are represented. For fixed-fps content, timebase
+should be \f(CW\*(C`1 / frame_rate\*(C'\fR and timestamp increments should be
+identically 1.
+.IP "\fBg\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "g integer (encoding,video)"
+Set the group of picture size. Default value is 12.
+.IP "\fBar\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio\fR\fB)\fR" 4
+.IX Item "ar integer (decoding/encoding,audio)"
+Set audio sampling rate (in Hz).
+.IP "\fBac\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio\fR\fB)\fR" 4
+.IX Item "ac integer (decoding/encoding,audio)"
+Set number of audio channels.
+.IP "\fBcutoff\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
+.IX Item "cutoff integer (encoding,audio)"
+Set cutoff bandwidth.
+.IP "\fBframe_size\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
+.IX Item "frame_size integer (encoding,audio)"
+Set audio frame size.
+.Sp
+Each submitted frame except the last must contain exactly frame_size
+samples per channel. May be 0 when the codec has
+\&\s-1CODEC_CAP_VARIABLE_FRAME_SIZE\s0 set, in that case the frame size is not
+restricted. It is set by some decoders to indicate constant frame
+size.
+.IP "\fBframe_number\fR \fIinteger\fR" 4
+.IX Item "frame_number integer"
+Set the frame number.
+.IP "\fBdelay\fR \fIinteger\fR" 4
+.IX Item "delay integer"
+.PD 0
+.IP "\fBqcomp\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "qcomp float (encoding,video)"
+.PD
+Set video quantizer scale compression (\s-1VBR\s0). It is used as a constant
+in the ratecontrol equation. Recommended range for default rc_eq:
+0.0\-1.0.
+.IP "\fBqblur\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "qblur float (encoding,video)"
+Set video quantizer scale blur (\s-1VBR\s0).
+.IP "\fBqmin\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "qmin integer (encoding,video)"
+Set min video quantizer scale (\s-1VBR\s0). Must be included between \-1 and
+69, default value is 2.
+.IP "\fBqmax\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "qmax integer (encoding,video)"
+Set max video quantizer scale (\s-1VBR\s0). Must be included between \-1 and
+1024, default value is 31.
+.IP "\fBqdiff\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "qdiff integer (encoding,video)"
+Set max difference between the quantizer scale (\s-1VBR\s0).
+.IP "\fBbf\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "bf integer (encoding,video)"
+Set max number of B frames.
+.IP "\fBb_qfactor\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "b_qfactor float (encoding,video)"
+Set qp factor between P and B frames.
+.IP "\fBrc_strategy\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_strategy integer (encoding,video)"
+Set ratecontrol method.
+.IP "\fBb_strategy\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "b_strategy integer (encoding,video)"
+Set strategy to choose between I/P/B\-frames.
+.IP "\fBps\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "ps integer (encoding,video)"
+Set \s-1RTP\s0 payload size in bytes.
+.IP "\fBmv_bits\fR \fIinteger\fR" 4
+.IX Item "mv_bits integer"
+.PD 0
+.IP "\fBheader_bits\fR \fIinteger\fR" 4
+.IX Item "header_bits integer"
+.IP "\fBi_tex_bits\fR \fIinteger\fR" 4
+.IX Item "i_tex_bits integer"
+.IP "\fBp_tex_bits\fR \fIinteger\fR" 4
+.IX Item "p_tex_bits integer"
+.IP "\fBi_count\fR \fIinteger\fR" 4
+.IX Item "i_count integer"
+.IP "\fBp_count\fR \fIinteger\fR" 4
+.IX Item "p_count integer"
+.IP "\fBskip_count\fR \fIinteger\fR" 4
+.IX Item "skip_count integer"
+.IP "\fBmisc_bits\fR \fIinteger\fR" 4
+.IX Item "misc_bits integer"
+.IP "\fBframe_bits\fR \fIinteger\fR" 4
+.IX Item "frame_bits integer"
+.IP "\fBcodec_tag\fR \fIinteger\fR" 4
+.IX Item "codec_tag integer"
+.IP "\fBbug\fR \fIflags\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "bug flags (decoding,video)"
+.PD
+Workaround not auto detected encoder bugs.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBautodetect\fR" 4
+.IX Item "autodetect"
+.PD 0
+.IP "\fBold_msmpeg4\fR" 4
+.IX Item "old_msmpeg4"
+.PD
+some old lavc generated msmpeg4v3 files (no autodetection)
+.IP "\fBxvid_ilace\fR" 4
+.IX Item "xvid_ilace"
+Xvid interlacing bug (autodetected if fourcc==XVIX)
+.IP "\fBump4\fR" 4
+.IX Item "ump4"
+(autodetected if fourcc==UMP4)
+.IP "\fBno_padding\fR" 4
+.IX Item "no_padding"
+padding bug (autodetected)
+.IP "\fBamv\fR" 4
+.IX Item "amv"
+.PD 0
+.IP "\fBac_vlc\fR" 4
+.IX Item "ac_vlc"
+.PD
+illegal vlc bug (autodetected per fourcc)
+.IP "\fBqpel_chroma\fR" 4
+.IX Item "qpel_chroma"
+.PD 0
+.IP "\fBstd_qpel\fR" 4
+.IX Item "std_qpel"
+.PD
+old standard qpel (autodetected per fourcc/version)
+.IP "\fBqpel_chroma2\fR" 4
+.IX Item "qpel_chroma2"
+.PD 0
+.IP "\fBdirect_blocksize\fR" 4
+.IX Item "direct_blocksize"
+.PD
+direct-qpel-blocksize bug (autodetected per fourcc/version)
+.IP "\fBedge\fR" 4
+.IX Item "edge"
+edge padding bug (autodetected per fourcc/version)
+.IP "\fBhpel_chroma\fR" 4
+.IX Item "hpel_chroma"
+.PD 0
+.IP "\fBdc_clip\fR" 4
+.IX Item "dc_clip"
+.IP "\fBms\fR" 4
+.IX Item "ms"
+.PD
+Workaround various bugs in microsoft broken decoders.
+.IP "\fBtrunc\fR" 4
+.IX Item "trunc"
+trancated frames
+.RE
+.RS 4
+.RE
+.IP "\fBlelim\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "lelim integer (encoding,video)"
+Set single coefficient elimination threshold for luminance (negative
+values also consider \s-1DC\s0 coefficient).
+.IP "\fBcelim\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "celim integer (encoding,video)"
+Set single coefficient elimination threshold for chrominance (negative
+values also consider dc coefficient)
+.IP "\fBstrict\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio,video\fR\fB)\fR" 4
+.IX Item "strict integer (decoding/encoding,audio,video)"
+Specify how strictly to follow the standards.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBvery\fR" 4
+.IX Item "very"
+strictly conform to a older more strict version of the spec or reference software
+.IP "\fBstrict\fR" 4
+.IX Item "strict"
+strictly conform to all the things in the spec no matter what consequences
+.IP "\fBnormal\fR" 4
+.IX Item "normal"
+.PD 0
+.IP "\fBunofficial\fR" 4
+.IX Item "unofficial"
+.PD
+allow unofficial extensions
+.IP "\fBexperimental\fR" 4
+.IX Item "experimental"
+allow non standardized experimental things
+.RE
+.RS 4
+.RE
+.IP "\fBb_qoffset\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "b_qoffset float (encoding,video)"
+Set \s-1QP\s0 offset between P and B frames.
+.IP "\fBerr_detect\fR \fIflags\fR \fB(\fR\fIdecoding,audio,video\fR\fB)\fR" 4
+.IX Item "err_detect flags (decoding,audio,video)"
+Set error detection flags.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBcrccheck\fR" 4
+.IX Item "crccheck"
+verify embedded CRCs
+.IP "\fBbitstream\fR" 4
+.IX Item "bitstream"
+detect bitstream specification deviations
+.IP "\fBbuffer\fR" 4
+.IX Item "buffer"
+detect improper bitstream length
+.IP "\fBexplode\fR" 4
+.IX Item "explode"
+abort decoding on minor error detection
+.IP "\fBcareful\fR" 4
+.IX Item "careful"
+consider things that violate the spec and have not been seen in the wild as errors
+.IP "\fBcompliant\fR" 4
+.IX Item "compliant"
+consider all spec non compliancies as errors
+.IP "\fBaggressive\fR" 4
+.IX Item "aggressive"
+consider things that a sane encoder should not do as an error
+.RE
+.RS 4
+.RE
+.IP "\fBhas_b_frames\fR \fIinteger\fR" 4
+.IX Item "has_b_frames integer"
+.PD 0
+.IP "\fBblock_align\fR \fIinteger\fR" 4
+.IX Item "block_align integer"
+.IP "\fBmpeg_quant\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mpeg_quant integer (encoding,video)"
+.PD
+Use \s-1MPEG\s0 quantizers instead of H.263.
+.IP "\fBqsquish\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "qsquish float (encoding,video)"
+How to keep quantizer between qmin and qmax (0 = clip, 1 = use
+differentiable function).
+.IP "\fBrc_qmod_amp\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_qmod_amp float (encoding,video)"
+Set experimental quantizer modulation.
+.IP "\fBrc_qmod_freq\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_qmod_freq integer (encoding,video)"
+Set experimental quantizer modulation.
+.IP "\fBrc_override_count\fR \fIinteger\fR" 4
+.IX Item "rc_override_count integer"
+.PD 0
+.IP "\fBrc_eq\fR \fIstring\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_eq string (encoding,video)"
+.PD
+Set rate control equation. When computing the expression, besides the
+standard functions defined in the section 'Expression Evaluation', the
+following functions are available: bits2qp(bits), qp2bits(qp). Also
+the following constants are available: iTex pTex tex mv fCode iCount
+mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
+avgTex.
+.IP "\fBmaxrate\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "maxrate integer (encoding,audio,video)"
+Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
+.IP "\fBminrate\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "minrate integer (encoding,audio,video)"
+Set min bitrate tolerance (in bits/s). Most useful in setting up a \s-1CBR\s0
+encode. It is of little use elsewise.
+.IP "\fBbufsize\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "bufsize integer (encoding,audio,video)"
+Set ratecontrol buffer size (in bits).
+.IP "\fBrc_buf_aggressivity\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_buf_aggressivity float (encoding,video)"
+Currently useless.
+.IP "\fBi_qfactor\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "i_qfactor float (encoding,video)"
+Set \s-1QP\s0 factor between P and I frames.
+.IP "\fBi_qoffset\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "i_qoffset float (encoding,video)"
+Set \s-1QP\s0 offset between P and I frames.
+.IP "\fBrc_init_cplx\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_init_cplx float (encoding,video)"
+Set initial complexity for 1\-pass encoding.
+.IP "\fBdct\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "dct integer (encoding,video)"
+Set \s-1DCT\s0 algorithm.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBauto\fR" 4
+.IX Item "auto"
+autoselect a good one (default)
+.IP "\fBfastint\fR" 4
+.IX Item "fastint"
+fast integer
+.IP "\fBint\fR" 4
+.IX Item "int"
+accurate integer
+.IP "\fBmmx\fR" 4
+.IX Item "mmx"
+.PD 0
+.IP "\fBaltivec\fR" 4
+.IX Item "altivec"
+.IP "\fBfaan\fR" 4
+.IX Item "faan"
+.PD
+floating point \s-1AAN\s0 \s-1DCT\s0
+.RE
+.RS 4
+.RE
+.IP "\fBlumi_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "lumi_mask float (encoding,video)"
+Compress bright areas stronger than medium ones.
+.IP "\fBtcplx_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "tcplx_mask float (encoding,video)"
+Set temporal complexity masking.
+.IP "\fBscplx_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "scplx_mask float (encoding,video)"
+Set spatial complexity masking.
+.IP "\fBp_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "p_mask float (encoding,video)"
+Set inter masking.
+.IP "\fBdark_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "dark_mask float (encoding,video)"
+Compress dark areas stronger than medium ones.
+.IP "\fBidct\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "idct integer (decoding/encoding,video)"
+Select \s-1IDCT\s0 implementation.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBauto\fR" 4
+.IX Item "auto"
+.PD 0
+.IP "\fBint\fR" 4
+.IX Item "int"
+.IP "\fBsimple\fR" 4
+.IX Item "simple"
+.IP "\fBsimplemmx\fR" 4
+.IX Item "simplemmx"
+.IP "\fBlibmpeg2mmx\fR" 4
+.IX Item "libmpeg2mmx"
+.IP "\fBmmi\fR" 4
+.IX Item "mmi"
+.IP "\fBarm\fR" 4
+.IX Item "arm"
+.IP "\fBaltivec\fR" 4
+.IX Item "altivec"
+.IP "\fBsh4\fR" 4
+.IX Item "sh4"
+.IP "\fBsimplearm\fR" 4
+.IX Item "simplearm"
+.IP "\fBsimplearmv5te\fR" 4
+.IX Item "simplearmv5te"
+.IP "\fBsimplearmv6\fR" 4
+.IX Item "simplearmv6"
+.IP "\fBsimpleneon\fR" 4
+.IX Item "simpleneon"
+.IP "\fBsimplealpha\fR" 4
+.IX Item "simplealpha"
+.IP "\fBh264\fR" 4
+.IX Item "h264"
+.IP "\fBvp3\fR" 4
+.IX Item "vp3"
+.IP "\fBipp\fR" 4
+.IX Item "ipp"
+.IP "\fBxvidmmx\fR" 4
+.IX Item "xvidmmx"
+.IP "\fBfaani\fR" 4
+.IX Item "faani"
+.PD
+floating point \s-1AAN\s0 \s-1IDCT\s0
+.RE
+.RS 4
+.RE
+.IP "\fBslice_count\fR \fIinteger\fR" 4
+.IX Item "slice_count integer"
+.PD 0
+.IP "\fBec\fR \fIflags\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "ec flags (decoding,video)"
+.PD
+Set error concealment strategy.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBguess_mvs\fR" 4
+.IX Item "guess_mvs"
+iterative motion vector (\s-1MV\s0) search (slow)
+.IP "\fBdeblock\fR" 4
+.IX Item "deblock"
+use strong deblock filter for damaged MBs
+.RE
+.RS 4
+.RE
+.IP "\fBbits_per_coded_sample\fR \fIinteger\fR" 4
+.IX Item "bits_per_coded_sample integer"
+.PD 0
+.IP "\fBpred\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "pred integer (encoding,video)"
+.PD
+Set prediction method.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBleft\fR" 4
+.IX Item "left"
+.PD 0
+.IP "\fBplane\fR" 4
+.IX Item "plane"
+.IP "\fBmedian\fR" 4
+.IX Item "median"
+.RE
+.RS 4
+.RE
+.IP "\fBaspect\fR \fIrational number\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "aspect rational number (encoding,video)"
+.PD
+Set sample aspect ratio.
+.IP "\fBdebug\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4
+.IX Item "debug flags (decoding/encoding,audio,video,subtitles)"
+Print specific debug info.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBpict\fR" 4
+.IX Item "pict"
+picture info
+.IP "\fBrc\fR" 4
+.IX Item "rc"
+rate control
+.IP "\fBbitstream\fR" 4
+.IX Item "bitstream"
+.PD 0
+.IP "\fBmb_type\fR" 4
+.IX Item "mb_type"
+.PD
+macroblock (\s-1MB\s0) type
+.IP "\fBqp\fR" 4
+.IX Item "qp"
+per-block quantization parameter (\s-1QP\s0)
+.IP "\fBmv\fR" 4
+.IX Item "mv"
+motion vector
+.IP "\fBdct_coeff\fR" 4
+.IX Item "dct_coeff"
+.PD 0
+.IP "\fBskip\fR" 4
+.IX Item "skip"
+.IP "\fBstartcode\fR" 4
+.IX Item "startcode"
+.IP "\fBpts\fR" 4
+.IX Item "pts"
+.IP "\fBer\fR" 4
+.IX Item "er"
+.PD
+error recognition
+.IP "\fBmmco\fR" 4
+.IX Item "mmco"
+memory management control operations (H.264)
+.IP "\fBbugs\fR" 4
+.IX Item "bugs"
+.PD 0
+.IP "\fBvis_qp\fR" 4
+.IX Item "vis_qp"
+.PD
+visualize quantization parameter (\s-1QP\s0), lower \s-1QP\s0 are tinted greener
+.IP "\fBvis_mb_type\fR" 4
+.IX Item "vis_mb_type"
+visualize block types
+.IP "\fBbuffers\fR" 4
+.IX Item "buffers"
+picture buffer allocations
+.IP "\fBthread_ops\fR" 4
+.IX Item "thread_ops"
+threading operations
+.RE
+.RS 4
+.RE
+.IP "\fBvismv\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "vismv integer (decoding,video)"
+Visualize motion vectors (MVs).
+.Sp
+Possible values:
+.RS 4
+.IP "\fBpf\fR" 4
+.IX Item "pf"
+forward predicted MVs of P\-frames
+.IP "\fBbf\fR" 4
+.IX Item "bf"
+forward predicted MVs of B\-frames
+.IP "\fBbb\fR" 4
+.IX Item "bb"
+backward predicted MVs of B\-frames
+.RE
+.RS 4
+.RE
+.IP "\fBcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "cmp integer (encoding,video)"
+Set full pel me compare function.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBsad\fR" 4
+.IX Item "sad"
+sum of absolute differences, fast (default)
+.IP "\fBsse\fR" 4
+.IX Item "sse"
+sum of squared errors
+.IP "\fBsatd\fR" 4
+.IX Item "satd"
+sum of absolute Hadamard transformed differences
+.IP "\fBdct\fR" 4
+.IX Item "dct"
+sum of absolute \s-1DCT\s0 transformed differences
+.IP "\fBpsnr\fR" 4
+.IX Item "psnr"
+sum of squared quantization errors (avoid, low quality)
+.IP "\fBbit\fR" 4
+.IX Item "bit"
+number of bits needed for the block
+.IP "\fBrd\fR" 4
+.IX Item "rd"
+rate distortion optimal, slow
+.IP "\fBzero\fR" 4
+.IX Item "zero"
+0
+.IP "\fBvsad\fR" 4
+.IX Item "vsad"
+sum of absolute vertical differences
+.IP "\fBvsse\fR" 4
+.IX Item "vsse"
+sum of squared vertical differences
+.IP "\fBnsse\fR" 4
+.IX Item "nsse"
+noise preserving sum of squared differences
+.IP "\fBw53\fR" 4
+.IX Item "w53"
+5/3 wavelet, only used in snow
+.IP "\fBw97\fR" 4
+.IX Item "w97"
+9/7 wavelet, only used in snow
+.IP "\fBdctmax\fR" 4
+.IX Item "dctmax"
+.PD 0
+.IP "\fBchroma\fR" 4
+.IX Item "chroma"
+.RE
+.RS 4
+.RE
+.IP "\fBsubcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "subcmp integer (encoding,video)"
+.PD
+Set sub pel me compare function.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBsad\fR" 4
+.IX Item "sad"
+sum of absolute differences, fast (default)
+.IP "\fBsse\fR" 4
+.IX Item "sse"
+sum of squared errors
+.IP "\fBsatd\fR" 4
+.IX Item "satd"
+sum of absolute Hadamard transformed differences
+.IP "\fBdct\fR" 4
+.IX Item "dct"
+sum of absolute \s-1DCT\s0 transformed differences
+.IP "\fBpsnr\fR" 4
+.IX Item "psnr"
+sum of squared quantization errors (avoid, low quality)
+.IP "\fBbit\fR" 4
+.IX Item "bit"
+number of bits needed for the block
+.IP "\fBrd\fR" 4
+.IX Item "rd"
+rate distortion optimal, slow
+.IP "\fBzero\fR" 4
+.IX Item "zero"
+0
+.IP "\fBvsad\fR" 4
+.IX Item "vsad"
+sum of absolute vertical differences
+.IP "\fBvsse\fR" 4
+.IX Item "vsse"
+sum of squared vertical differences
+.IP "\fBnsse\fR" 4
+.IX Item "nsse"
+noise preserving sum of squared differences
+.IP "\fBw53\fR" 4
+.IX Item "w53"
+5/3 wavelet, only used in snow
+.IP "\fBw97\fR" 4
+.IX Item "w97"
+9/7 wavelet, only used in snow
+.IP "\fBdctmax\fR" 4
+.IX Item "dctmax"
+.PD 0
+.IP "\fBchroma\fR" 4
+.IX Item "chroma"
+.RE
+.RS 4
+.RE
+.IP "\fBmbcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mbcmp integer (encoding,video)"
+.PD
+Set macroblock compare function.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBsad\fR" 4
+.IX Item "sad"
+sum of absolute differences, fast (default)
+.IP "\fBsse\fR" 4
+.IX Item "sse"
+sum of squared errors
+.IP "\fBsatd\fR" 4
+.IX Item "satd"
+sum of absolute Hadamard transformed differences
+.IP "\fBdct\fR" 4
+.IX Item "dct"
+sum of absolute \s-1DCT\s0 transformed differences
+.IP "\fBpsnr\fR" 4
+.IX Item "psnr"
+sum of squared quantization errors (avoid, low quality)
+.IP "\fBbit\fR" 4
+.IX Item "bit"
+number of bits needed for the block
+.IP "\fBrd\fR" 4
+.IX Item "rd"
+rate distortion optimal, slow
+.IP "\fBzero\fR" 4
+.IX Item "zero"
+0
+.IP "\fBvsad\fR" 4
+.IX Item "vsad"
+sum of absolute vertical differences
+.IP "\fBvsse\fR" 4
+.IX Item "vsse"
+sum of squared vertical differences
+.IP "\fBnsse\fR" 4
+.IX Item "nsse"
+noise preserving sum of squared differences
+.IP "\fBw53\fR" 4
+.IX Item "w53"
+5/3 wavelet, only used in snow
+.IP "\fBw97\fR" 4
+.IX Item "w97"
+9/7 wavelet, only used in snow
+.IP "\fBdctmax\fR" 4
+.IX Item "dctmax"
+.PD 0
+.IP "\fBchroma\fR" 4
+.IX Item "chroma"
+.RE
+.RS 4
+.RE
+.IP "\fBildctcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "ildctcmp integer (encoding,video)"
+.PD
+Set interlaced dct compare function.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBsad\fR" 4
+.IX Item "sad"
+sum of absolute differences, fast (default)
+.IP "\fBsse\fR" 4
+.IX Item "sse"
+sum of squared errors
+.IP "\fBsatd\fR" 4
+.IX Item "satd"
+sum of absolute Hadamard transformed differences
+.IP "\fBdct\fR" 4
+.IX Item "dct"
+sum of absolute \s-1DCT\s0 transformed differences
+.IP "\fBpsnr\fR" 4
+.IX Item "psnr"
+sum of squared quantization errors (avoid, low quality)
+.IP "\fBbit\fR" 4
+.IX Item "bit"
+number of bits needed for the block
+.IP "\fBrd\fR" 4
+.IX Item "rd"
+rate distortion optimal, slow
+.IP "\fBzero\fR" 4
+.IX Item "zero"
+0
+.IP "\fBvsad\fR" 4
+.IX Item "vsad"
+sum of absolute vertical differences
+.IP "\fBvsse\fR" 4
+.IX Item "vsse"
+sum of squared vertical differences
+.IP "\fBnsse\fR" 4
+.IX Item "nsse"
+noise preserving sum of squared differences
+.IP "\fBw53\fR" 4
+.IX Item "w53"
+5/3 wavelet, only used in snow
+.IP "\fBw97\fR" 4
+.IX Item "w97"
+9/7 wavelet, only used in snow
+.IP "\fBdctmax\fR" 4
+.IX Item "dctmax"
+.PD 0
+.IP "\fBchroma\fR" 4
+.IX Item "chroma"
+.RE
+.RS 4
+.RE
+.IP "\fBdia_size\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "dia_size integer (encoding,video)"
+.PD
+Set diamond type & size for motion estimation.
+.IP "\fBlast_pred\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "last_pred integer (encoding,video)"
+Set amount of motion predictors from the previous frame.
+.IP "\fBpreme\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "preme integer (encoding,video)"
+Set pre motion estimation.
+.IP "\fBprecmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "precmp integer (encoding,video)"
+Set pre motion estimation compare function.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBsad\fR" 4
+.IX Item "sad"
+sum of absolute differences, fast (default)
+.IP "\fBsse\fR" 4
+.IX Item "sse"
+sum of squared errors
+.IP "\fBsatd\fR" 4
+.IX Item "satd"
+sum of absolute Hadamard transformed differences
+.IP "\fBdct\fR" 4
+.IX Item "dct"
+sum of absolute \s-1DCT\s0 transformed differences
+.IP "\fBpsnr\fR" 4
+.IX Item "psnr"
+sum of squared quantization errors (avoid, low quality)
+.IP "\fBbit\fR" 4
+.IX Item "bit"
+number of bits needed for the block
+.IP "\fBrd\fR" 4
+.IX Item "rd"
+rate distortion optimal, slow
+.IP "\fBzero\fR" 4
+.IX Item "zero"
+0
+.IP "\fBvsad\fR" 4
+.IX Item "vsad"
+sum of absolute vertical differences
+.IP "\fBvsse\fR" 4
+.IX Item "vsse"
+sum of squared vertical differences
+.IP "\fBnsse\fR" 4
+.IX Item "nsse"
+noise preserving sum of squared differences
+.IP "\fBw53\fR" 4
+.IX Item "w53"
+5/3 wavelet, only used in snow
+.IP "\fBw97\fR" 4
+.IX Item "w97"
+9/7 wavelet, only used in snow
+.IP "\fBdctmax\fR" 4
+.IX Item "dctmax"
+.PD 0
+.IP "\fBchroma\fR" 4
+.IX Item "chroma"
+.RE
+.RS 4
+.RE
+.IP "\fBpre_dia_size\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "pre_dia_size integer (encoding,video)"
+.PD
+Set diamond type & size for motion estimation pre-pass.
+.IP "\fBsubq\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "subq integer (encoding,video)"
+Set sub pel motion estimation quality.
+.IP "\fBdtg_active_format\fR \fIinteger\fR" 4
+.IX Item "dtg_active_format integer"
+.PD 0
+.IP "\fBme_range\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "me_range integer (encoding,video)"
+.PD
+Set limit motion vectors range (1023 for DivX player).
+.IP "\fBibias\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "ibias integer (encoding,video)"
+Set intra quant bias.
+.IP "\fBpbias\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "pbias integer (encoding,video)"
+Set inter quant bias.
+.IP "\fBcolor_table_id\fR \fIinteger\fR" 4
+.IX Item "color_table_id integer"
+.PD 0
+.IP "\fBglobal_quality\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "global_quality integer (encoding,audio,video)"
+.IP "\fBcoder\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "coder integer (encoding,video)"
+.PD
+Possible values:
+.RS 4
+.IP "\fBvlc\fR" 4
+.IX Item "vlc"
+variable length coder / huffman coder
+.IP "\fBac\fR" 4
+.IX Item "ac"
+arithmetic coder
+.IP "\fBraw\fR" 4
+.IX Item "raw"
+raw (no encoding)
+.IP "\fBrle\fR" 4
+.IX Item "rle"
+run-length coder
+.IP "\fBdeflate\fR" 4
+.IX Item "deflate"
+deflate-based coder
+.RE
+.RS 4
+.RE
+.IP "\fBcontext\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "context integer (encoding,video)"
+Set context model.
+.IP "\fBslice_flags\fR \fIinteger\fR" 4
+.IX Item "slice_flags integer"
+.PD 0
+.IP "\fBxvmc_acceleration\fR \fIinteger\fR" 4
+.IX Item "xvmc_acceleration integer"
+.IP "\fBmbd\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mbd integer (encoding,video)"
+.PD
+Set macroblock decision algorithm (high quality mode).
+.Sp
+Possible values:
+.RS 4
+.IP "\fBsimple\fR" 4
+.IX Item "simple"
+use mbcmp (default)
+.IP "\fBbits\fR" 4
+.IX Item "bits"
+use fewest bits
+.IP "\fBrd\fR" 4
+.IX Item "rd"
+use best rate distortion
+.RE
+.RS 4
+.RE
+.IP "\fBstream_codec_tag\fR \fIinteger\fR" 4
+.IX Item "stream_codec_tag integer"
+.PD 0
+.IP "\fBsc_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "sc_threshold integer (encoding,video)"
+.PD
+Set scene change threshold.
+.IP "\fBlmin\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "lmin integer (encoding,video)"
+Set min lagrange factor (\s-1VBR\s0).
+.IP "\fBlmax\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "lmax integer (encoding,video)"
+Set max lagrange factor (\s-1VBR\s0).
+.IP "\fBnr\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "nr integer (encoding,video)"
+Set noise reduction.
+.IP "\fBrc_init_occupancy\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_init_occupancy integer (encoding,video)"
+Set number of bits which should be loaded into the rc buffer before
+decoding starts.
+.IP "\fBinter_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "inter_threshold integer (encoding,video)"
+.PD 0
+.IP "\fBflags2\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video\fR\fB)\fR" 4
+.IX Item "flags2 flags (decoding/encoding,audio,video)"
+.PD
+Possible values:
+.RS 4
+.IP "\fBfast\fR" 4
+.IX Item "fast"
+allow non spec compliant speedup tricks
+.IP "\fBsgop\fR" 4
+.IX Item "sgop"
+Deprecated, use mpegvideo private options instead
+.IP "\fBnoout\fR" 4
+.IX Item "noout"
+skip bitstream encoding
+.IP "\fBlocal_header\fR" 4
+.IX Item "local_header"
+place global headers at every keyframe instead of in extradata
+.IP "\fBchunks\fR" 4
+.IX Item "chunks"
+Frame data might be split into multiple chunks
+.IP "\fBshowall\fR" 4
+.IX Item "showall"
+Show all frames before the first keyframe
+.IP "\fBskiprd\fR" 4
+.IX Item "skiprd"
+Deprecated, use mpegvideo private options instead
+.RE
+.RS 4
+.RE
+.IP "\fBerror\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "error integer (encoding,video)"
+.PD 0
+.IP "\fBqns\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "qns integer (encoding,video)"
+.PD
+Deprecated, use mpegvideo private options instead.
+.IP "\fBthreads\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "threads integer (decoding/encoding,video)"
+Possible values:
+.RS 4
+.IP "\fBauto\fR" 4
+.IX Item "auto"
+detect a good number of threads
+.RE
+.RS 4
+.RE
+.IP "\fBme_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "me_threshold integer (encoding,video)"
+Set motion estimation threshold.
+.IP "\fBmb_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mb_threshold integer (encoding,video)"
+Set macroblock threshold.
+.IP "\fBdc\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "dc integer (encoding,video)"
+Set intra_dc_precision.
+.IP "\fBnssew\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "nssew integer (encoding,video)"
+Set nsse weight.
+.IP "\fBskip_top\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "skip_top integer (decoding,video)"
+Set number of macroblock rows at the top which are skipped.
+.IP "\fBskip_bottom\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "skip_bottom integer (decoding,video)"
+Set number of macroblock rows at the bottom which are skipped.
+.IP "\fBprofile\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "profile integer (encoding,audio,video)"
+Possible values:
+.RS 4
+.IP "\fBunknown\fR" 4
+.IX Item "unknown"
+.PD 0
+.IP "\fBaac_main\fR" 4
+.IX Item "aac_main"
+.IP "\fBaac_low\fR" 4
+.IX Item "aac_low"
+.IP "\fBaac_ssr\fR" 4
+.IX Item "aac_ssr"
+.IP "\fBaac_ltp\fR" 4
+.IX Item "aac_ltp"
+.IP "\fBaac_he\fR" 4
+.IX Item "aac_he"
+.IP "\fBaac_he_v2\fR" 4
+.IX Item "aac_he_v2"
+.IP "\fBaac_ld\fR" 4
+.IX Item "aac_ld"
+.IP "\fBaac_eld\fR" 4
+.IX Item "aac_eld"
+.IP "\fBdts\fR" 4
+.IX Item "dts"
+.IP "\fBdts_es\fR" 4
+.IX Item "dts_es"
+.IP "\fBdts_96_24\fR" 4
+.IX Item "dts_96_24"
+.IP "\fBdts_hd_hra\fR" 4
+.IX Item "dts_hd_hra"
+.IP "\fBdts_hd_ma\fR" 4
+.IX Item "dts_hd_ma"
+.RE
+.RS 4
+.RE
+.IP "\fBlevel\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "level integer (encoding,audio,video)"
+.PD
+Possible values:
+.RS 4
+.IP "\fBunknown\fR" 4
+.IX Item "unknown"
+.RE
+.RS 4
+.RE
+.PD 0
+.IP "\fBlowres\fR \fIinteger\fR \fB(\fR\fIdecoding,audio,video\fR\fB)\fR" 4
+.IX Item "lowres integer (decoding,audio,video)"
+.PD
+Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
+.IP "\fBskip_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "skip_threshold integer (encoding,video)"
+Set frame skip threshold.
+.IP "\fBskip_factor\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "skip_factor integer (encoding,video)"
+Set frame skip factor.
+.IP "\fBskip_exp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "skip_exp integer (encoding,video)"
+Set frame skip exponent.
+.IP "\fBskipcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "skipcmp integer (encoding,video)"
+Set frame skip compare function.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBsad\fR" 4
+.IX Item "sad"
+sum of absolute differences, fast (default)
+.IP "\fBsse\fR" 4
+.IX Item "sse"
+sum of squared errors
+.IP "\fBsatd\fR" 4
+.IX Item "satd"
+sum of absolute Hadamard transformed differences
+.IP "\fBdct\fR" 4
+.IX Item "dct"
+sum of absolute \s-1DCT\s0 transformed differences
+.IP "\fBpsnr\fR" 4
+.IX Item "psnr"
+sum of squared quantization errors (avoid, low quality)
+.IP "\fBbit\fR" 4
+.IX Item "bit"
+number of bits needed for the block
+.IP "\fBrd\fR" 4
+.IX Item "rd"
+rate distortion optimal, slow
+.IP "\fBzero\fR" 4
+.IX Item "zero"
+0
+.IP "\fBvsad\fR" 4
+.IX Item "vsad"
+sum of absolute vertical differences
+.IP "\fBvsse\fR" 4
+.IX Item "vsse"
+sum of squared vertical differences
+.IP "\fBnsse\fR" 4
+.IX Item "nsse"
+noise preserving sum of squared differences
+.IP "\fBw53\fR" 4
+.IX Item "w53"
+5/3 wavelet, only used in snow
+.IP "\fBw97\fR" 4
+.IX Item "w97"
+9/7 wavelet, only used in snow
+.IP "\fBdctmax\fR" 4
+.IX Item "dctmax"
+.PD 0
+.IP "\fBchroma\fR" 4
+.IX Item "chroma"
+.RE
+.RS 4
+.RE
+.IP "\fBborder_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "border_mask float (encoding,video)"
+.PD
+Increase the quantizer for macroblocks close to borders.
+.IP "\fBmblmin\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mblmin integer (encoding,video)"
+Set min macroblock lagrange factor (\s-1VBR\s0).
+.IP "\fBmblmax\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mblmax integer (encoding,video)"
+Set max macroblock lagrange factor (\s-1VBR\s0).
+.IP "\fBmepc\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mepc integer (encoding,video)"
+Set motion estimation bitrate penalty compensation (1.0 = 256).
+.IP "\fBskip_loop_filter\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "skip_loop_filter integer (decoding,video)"
+.PD 0
+.IP "\fBskip_idct\fR        \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "skip_idct        integer (decoding,video)"
+.IP "\fBskip_frame\fR       \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
+.IX Item "skip_frame       integer (decoding,video)"
+.PD
+Make decoder discard processing depending on the frame type selected
+by the option value.
+.Sp
+\&\fBskip_loop_filter\fR skips frame loop filtering, \fBskip_idct\fR
+skips frame IDCT/dequantization, \fBskip_frame\fR skips decoding.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBnone\fR" 4
+.IX Item "none"
+Discard no frame.
+.IP "\fBdefault\fR" 4
+.IX Item "default"
+Discard useless frames like 0\-sized frames.
+.IP "\fBnoref\fR" 4
+.IX Item "noref"
+Discard all non-reference frames.
+.IP "\fBbidir\fR" 4
+.IX Item "bidir"
+Discard all bidirectional frames.
+.IP "\fBnokey\fR" 4
+.IX Item "nokey"
+Discard all frames excepts keyframes.
+.IP "\fBall\fR" 4
+.IX Item "all"
+Discard all frames.
+.RE
+.RS 4
+.Sp
+Default value is \fBdefault\fR.
+.RE
+.IP "\fBbidir_refine\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "bidir_refine integer (encoding,video)"
+Refine the two motion vectors used in bidirectional macroblocks.
+.IP "\fBbrd_scale\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "brd_scale integer (encoding,video)"
+Downscale frames for dynamic B\-frame decision.
+.IP "\fBkeyint_min\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "keyint_min integer (encoding,video)"
+Set minimum interval between IDR-frames.
+.IP "\fBrefs\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "refs integer (encoding,video)"
+Set reference frames to consider for motion compensation.
+.IP "\fBchromaoffset\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "chromaoffset integer (encoding,video)"
+Set chroma qp offset from luma.
+.IP "\fBtrellis\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "trellis integer (encoding,audio,video)"
+Set rate-distortion optimal quantization.
+.IP "\fBsc_factor\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "sc_factor integer (encoding,video)"
+Set value multiplied by qscale for each frame and added to
+scene_change_score.
+.IP "\fBmv0_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "mv0_threshold integer (encoding,video)"
+.PD 0
+.IP "\fBb_sensitivity\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "b_sensitivity integer (encoding,video)"
+.PD
+Adjust sensitivity of b_frame_strategy 1.
+.IP "\fBcompression_level\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
+.IX Item "compression_level integer (encoding,audio,video)"
+.PD 0
+.IP "\fBmin_prediction_order\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
+.IX Item "min_prediction_order integer (encoding,audio)"
+.IP "\fBmax_prediction_order\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
+.IX Item "max_prediction_order integer (encoding,audio)"
+.IP "\fBtimecode_frame_start\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "timecode_frame_start integer (encoding,video)"
+.PD
+Set \s-1GOP\s0 timecode frame start number, in non drop frame format.
+.IP "\fBrequest_channels\fR \fIinteger\fR \fB(\fR\fIdecoding,audio\fR\fB)\fR" 4
+.IX Item "request_channels integer (decoding,audio)"
+Set desired number of audio channels.
+.IP "\fBbits_per_raw_sample\fR \fIinteger\fR" 4
+.IX Item "bits_per_raw_sample integer"
+.PD 0
+.IP "\fBchannel_layout\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio\fR\fB)\fR" 4
+.IX Item "channel_layout integer (decoding/encoding,audio)"
+.PD
+Possible values:
+.IP "\fBrequest_channel_layout\fR \fIinteger\fR \fB(\fR\fIdecoding,audio\fR\fB)\fR" 4
+.IX Item "request_channel_layout integer (decoding,audio)"
+Possible values:
+.IP "\fBrc_max_vbv_use\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_max_vbv_use float (encoding,video)"
+.PD 0
+.IP "\fBrc_min_vbv_use\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "rc_min_vbv_use float (encoding,video)"
+.IP "\fBticks_per_frame\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio,video\fR\fB)\fR" 4
+.IX Item "ticks_per_frame integer (decoding/encoding,audio,video)"
+.IP "\fBcolor_primaries\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "color_primaries integer (decoding/encoding,video)"
+.IP "\fBcolor_trc\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "color_trc integer (decoding/encoding,video)"
+.IP "\fBcolorspace\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "colorspace integer (decoding/encoding,video)"
+.IP "\fBcolor_range\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "color_range integer (decoding/encoding,video)"
+.IP "\fBchroma_sample_location\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "chroma_sample_location integer (decoding/encoding,video)"
+.IP "\fBlog_level_offset\fR \fIinteger\fR" 4
+.IX Item "log_level_offset integer"
+.PD
+Set the log level offset.
+.IP "\fBslices\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
+.IX Item "slices integer (encoding,video)"
+Number of slices, used in parallelized encoding.
+.IP "\fBthread_type\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
+.IX Item "thread_type flags (decoding/encoding,video)"
+Select multithreading type.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBslice\fR" 4
+.IX Item "slice"
+.PD 0
+.IP "\fBframe\fR" 4
+.IX Item "frame"
+.RE
+.RS 4
+.RE
+.IP "\fBaudio_service_type\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
+.IX Item "audio_service_type integer (encoding,audio)"
+.PD
+Set audio service type.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBma\fR" 4
+.IX Item "ma"
+Main Audio Service
+.IP "\fBef\fR" 4
+.IX Item "ef"
+Effects
+.IP "\fBvi\fR" 4
+.IX Item "vi"
+Visually Impaired
+.IP "\fBhi\fR" 4
+.IX Item "hi"
+Hearing Impaired
+.IP "\fBdi\fR" 4
+.IX Item "di"
+Dialogue
+.IP "\fBco\fR" 4
+.IX Item "co"
+Commentary
+.IP "\fBem\fR" 4
+.IX Item "em"
+Emergency
+.IP "\fBvo\fR" 4
+.IX Item "vo"
+Voice Over
+.IP "\fBka\fR" 4
+.IX Item "ka"
+Karaoke
+.RE
+.RS 4
+.RE
+.IP "\fBrequest_sample_fmt\fR \fIsample_fmt\fR \fB(\fR\fIdecoding,audio\fR\fB)\fR" 4
+.IX Item "request_sample_fmt sample_fmt (decoding,audio)"
+Set sample format audio decoders should prefer. Default value is
+\&\f(CW\*(C`none\*(C'\fR.
+.IP "\fBpkt_timebase\fR \fIrational number\fR" 4
+.IX Item "pkt_timebase rational number"
+.PD 0
+.IP "\fBsub_charenc\fR \fIencoding\fR \fB(\fR\fIdecoding,subtitles\fR\fB)\fR" 4
+.IX Item "sub_charenc encoding (decoding,subtitles)"
+.PD
+Set the input subtitles character encoding.
+.SH "DECODERS"
+.IX Header "DECODERS"
+Decoders are configured elements in FFmpeg which allow the decoding of
+multimedia streams.
+.PP
+When you configure your FFmpeg build, all the supported native decoders
+are enabled by default. Decoders requiring an external library must be enabled
+manually via the corresponding \f(CW\*(C`\-\-enable\-lib\*(C'\fR option. You can list all
+available decoders using the configure option \f(CW\*(C`\-\-list\-decoders\*(C'\fR.
+.PP
+You can disable all the decoders with the configure option
+\&\f(CW\*(C`\-\-disable\-decoders\*(C'\fR and selectively enable / disable single decoders
+with the options \f(CW\*(C`\-\-enable\-decoder=\f(CIDECODER\f(CW\*(C'\fR /
+\&\f(CW\*(C`\-\-disable\-decoder=\f(CIDECODER\f(CW\*(C'\fR.
+.PP
+The option \f(CW\*(C`\-codecs\*(C'\fR of the ff* tools will display the list of
+enabled decoders.
+.SH "VIDEO DECODERS"
+.IX Header "VIDEO DECODERS"
+A description of some of the currently available video decoders
+follows.
+.SS "rawvideo"
+.IX Subsection "rawvideo"
+Raw video decoder.
+.PP
+This decoder decodes rawvideo streams.
+.PP
+\fIOptions\fR
+.IX Subsection "Options"
+.IP "\fBtop\fR \fItop_field_first\fR" 4
+.IX Item "top top_field_first"
+Specify the assumed field type of the input video.
+.RS 4
+.IP "\fB\-1\fR" 4
+.IX Item "-1"
+the video is assumed to be progressive (default)
+.IP "\fB0\fR" 4
+.IX Item "0"
+bottom-field-first is assumed
+.IP "\fB1\fR" 4
+.IX Item "1"
+top-field-first is assumed
+.RE
+.RS 4
+.RE
+.SH "AUDIO DECODERS"
+.IX Header "AUDIO DECODERS"
+.SS "ffwavesynth"
+.IX Subsection "ffwavesynth"
+Internal wave synthetizer.
+.PP
+This decoder generates wave patterns according to predefined sequences. Its
+use is purely internal and the format of the data it accepts is not publicly
+documented.
+.SH "SUBTITLES DECODERS"
+.IX Header "SUBTITLES DECODERS"
+.SS "dvdsub"
+.IX Subsection "dvdsub"
+This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
+also be found in VobSub file pairs and in some Matroska files.
+.PP
+\fIOptions\fR
+.IX Subsection "Options"
+.IP "\fBpalette\fR" 4
+.IX Item "palette"
+Specify the global palette used by the bitmaps. When stored in VobSub, the
+palette is normally specified in the index file; in Matroska, the palette is
+stored in the codec extra-data in the same format as in VobSub. In DVDs, the
+palette is stored in the \s-1IFO\s0 file, and therefore not available when reading
+from dumped \s-1VOB\s0 files.
+.Sp
+The format for this option is a string containing 16 24\-bits hexadecimal
+numbers (without 0x prefix) separated by comas, for example \f(CW\*(C`0d00ee,
+ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
+7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b\*(C'\fR.
+.SH "ENCODERS"
+.IX Header "ENCODERS"
+Encoders are configured elements in FFmpeg which allow the encoding of
+multimedia streams.
+.PP
+When you configure your FFmpeg build, all the supported native encoders
+are enabled by default. Encoders requiring an external library must be enabled
+manually via the corresponding \f(CW\*(C`\-\-enable\-lib\*(C'\fR option. You can list all
+available encoders using the configure option \f(CW\*(C`\-\-list\-encoders\*(C'\fR.
+.PP
+You can disable all the encoders with the configure option
+\&\f(CW\*(C`\-\-disable\-encoders\*(C'\fR and selectively enable / disable single encoders
+with the options \f(CW\*(C`\-\-enable\-encoder=\f(CIENCODER\f(CW\*(C'\fR /
+\&\f(CW\*(C`\-\-disable\-encoder=\f(CIENCODER\f(CW\*(C'\fR.
+.PP
+The option \f(CW\*(C`\-codecs\*(C'\fR of the ff* tools will display the list of
+enabled encoders.
+.SH "AUDIO ENCODERS"
+.IX Header "AUDIO ENCODERS"
+A description of some of the currently available audio encoders
+follows.
+.SS "ac3 and ac3_fixed"
+.IX Subsection "ac3 and ac3_fixed"
+\&\s-1AC\-3\s0 audio encoders.
+.PP
+These encoders implement part of \s-1ATSC\s0 A/52:2010 and \s-1ETSI\s0 \s-1TS\s0 102 366, as well as
+the undocumented RealAudio 3 (a.k.a. dnet).
+.PP
+The \fIac3\fR encoder uses floating-point math, while the \fIac3_fixed\fR
+encoder only uses fixed-point integer math. This does not mean that one is
+always faster, just that one or the other may be better suited to a
+particular system. The floating-point encoder will generally produce better
+quality audio for a given bitrate. The \fIac3_fixed\fR encoder is not the
+default codec for any of the output formats, so it must be specified explicitly
+using the option \f(CW\*(C`\-acodec ac3_fixed\*(C'\fR in order to use it.
+.PP
+\fI\s-1AC\-3\s0 Metadata\fR
+.IX Subsection "AC-3 Metadata"
+.PP
+The \s-1AC\-3\s0 metadata options are used to set parameters that describe the audio,
+but in most cases do not affect the audio encoding itself. Some of the options
+do directly affect or influence the decoding and playback of the resulting
+bitstream, while others are just for informational purposes. A few of the
+options will add bits to the output stream that could otherwise be used for
+audio data, and will thus affect the quality of the output. Those will be
+indicated accordingly with a note in the option list below.
+.PP
+These parameters are described in detail in several publicly-available
+documents.
+.IP "*<<\fBhttp://www.atsc.org/cms/standards/a_52\-2010.pdf\fR>>" 4
+.IX Item "*<<http://www.atsc.org/cms/standards/a_52-2010.pdf>>"
+.PD 0
+.IP "*<<\fBhttp://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf\fR>>" 4
+.IX Item "*<<http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf>>"
+.IP "*<<\fBhttp://www.dolby.com/uploadedFiles/zz\-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf\fR>>" 4
+.IX Item "*<<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf>>"
+.IP "*<<\fBhttp://www.dolby.com/uploadedFiles/zz\-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf\fR>>" 4
+.IX Item "*<<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf>>"
+.PD
+.PP
+Metadata Control Options
+.IX Subsection "Metadata Control Options"
+.IP "\fB\-per_frame_metadata\fR \fIboolean\fR" 4
+.IX Item "-per_frame_metadata boolean"
+Allow Per-Frame Metadata. Specifies if the encoder should check for changing
+metadata for each frame.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+The metadata values set at initialization will be used for every frame in the
+stream. (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+Metadata values can be changed before encoding each frame.
+.RE
+.RS 4
+.RE
+.PP
+Downmix Levels
+.IX Subsection "Downmix Levels"
+.IP "\fB\-center_mixlev\fR \fIlevel\fR" 4
+.IX Item "-center_mixlev level"
+Center Mix Level. The amount of gain the decoder should apply to the center
+channel when downmixing to stereo. This field will only be written to the
+bitstream if a center channel is present. The value is specified as a scale
+factor. There are 3 valid values:
+.RS 4
+.IP "\fB0.707\fR" 4
+.IX Item "0.707"
+Apply \-3dB gain
+.IP "\fB0.595\fR" 4
+.IX Item "0.595"
+Apply \-4.5dB gain (default)
+.IP "\fB0.500\fR" 4
+.IX Item "0.500"
+Apply \-6dB gain
+.RE
+.RS 4
+.RE
+.IP "\fB\-surround_mixlev\fR \fIlevel\fR" 4
+.IX Item "-surround_mixlev level"
+Surround Mix Level. The amount of gain the decoder should apply to the surround
+channel(s) when downmixing to stereo. This field will only be written to the
+bitstream if one or more surround channels are present. The value is specified
+as a scale factor.  There are 3 valid values:
+.RS 4
+.IP "\fB0.707\fR" 4
+.IX Item "0.707"
+Apply \-3dB gain
+.IP "\fB0.500\fR" 4
+.IX Item "0.500"
+Apply \-6dB gain (default)
+.IP "\fB0.000\fR" 4
+.IX Item "0.000"
+Silence Surround Channel(s)
+.RE
+.RS 4
+.RE
+.PP
+Audio Production Information
+.IX Subsection "Audio Production Information"
+.PP
+Audio Production Information is optional information describing the mixing
+environment.  Either none or both of the fields are written to the bitstream.
+.IP "\fB\-mixing_level\fR \fInumber\fR" 4
+.IX Item "-mixing_level number"
+Mixing Level. Specifies peak sound pressure level (\s-1SPL\s0) in the production
+environment when the mix was mastered. Valid values are 80 to 111, or \-1 for
+unknown or not indicated. The default value is \-1, but that value cannot be
+used if the Audio Production Information is written to the bitstream. Therefore,
+if the \f(CW\*(C`room_type\*(C'\fR option is not the default value, the \f(CW\*(C`mixing_level\*(C'\fR
+option must not be \-1.
+.IP "\fB\-room_type\fR \fItype\fR" 4
+.IX Item "-room_type type"
+Room Type. Describes the equalization used during the final mixing session at
+the studio or on the dubbing stage. A large room is a dubbing stage with the
+industry standard X\-curve equalization; a small room has flat equalization.
+This field will not be written to the bitstream if both the \f(CW\*(C`mixing_level\*(C'\fR
+option and the \f(CW\*(C`room_type\*(C'\fR option have the default values.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBnotindicated\fR" 4
+.IX Item "notindicated"
+.PD
+Not Indicated (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBlarge\fR" 4
+.IX Item "large"
+.PD
+Large Room
+.IP "\fB2\fR" 4
+.IX Item "2"
+.PD 0
+.IP "\fBsmall\fR" 4
+.IX Item "small"
+.PD
+Small Room
+.RE
+.RS 4
+.RE
+.PP
+Other Metadata Options
+.IX Subsection "Other Metadata Options"
+.IP "\fB\-copyright\fR \fIboolean\fR" 4
+.IX Item "-copyright boolean"
+Copyright Indicator. Specifies whether a copyright exists for this audio.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBoff\fR" 4
+.IX Item "off"
+.PD
+No Copyright Exists (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBon\fR" 4
+.IX Item "on"
+.PD
+Copyright Exists
+.RE
+.RS 4
+.RE
+.IP "\fB\-dialnorm\fR \fIvalue\fR" 4
+.IX Item "-dialnorm value"
+Dialogue Normalization. Indicates how far the average dialogue level of the
+program is below digital 100% full scale (0 dBFS). This parameter determines a
+level shift during audio reproduction that sets the average volume of the
+dialogue to a preset level. The goal is to match volume level between program
+sources. A value of \-31dB will result in no volume level change, relative to
+the source volume, during audio reproduction. Valid values are whole numbers in
+the range \-31 to \-1, with \-31 being the default.
+.IP "\fB\-dsur_mode\fR \fImode\fR" 4
+.IX Item "-dsur_mode mode"
+Dolby Surround Mode. Specifies whether the stereo signal uses Dolby Surround
+(Pro Logic). This field will only be written to the bitstream if the audio
+stream is stereo. Using this option does \fB\s-1NOT\s0\fR mean the encoder will actually
+apply Dolby Surround processing.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBnotindicated\fR" 4
+.IX Item "notindicated"
+.PD
+Not Indicated (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBoff\fR" 4
+.IX Item "off"
+.PD
+Not Dolby Surround Encoded
+.IP "\fB2\fR" 4
+.IX Item "2"
+.PD 0
+.IP "\fBon\fR" 4
+.IX Item "on"
+.PD
+Dolby Surround Encoded
+.RE
+.RS 4
+.RE
+.IP "\fB\-original\fR \fIboolean\fR" 4
+.IX Item "-original boolean"
+Original Bit Stream Indicator. Specifies whether this audio is from the
+original source and not a copy.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBoff\fR" 4
+.IX Item "off"
+.PD
+Not Original Source
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBon\fR" 4
+.IX Item "on"
+.PD
+Original Source (default)
+.RE
+.RS 4
+.RE
+.PP
+\fIExtended Bitstream Information\fR
+.IX Subsection "Extended Bitstream Information"
+.PP
+The extended bitstream options are part of the Alternate Bit Stream Syntax as
+specified in Annex D of the A/52:2010 standard. It is grouped into 2 parts.
+If any one parameter in a group is specified, all values in that group will be
+written to the bitstream.  Default values are used for those that are written
+but have not been specified.  If the mixing levels are written, the decoder
+will use these values instead of the ones specified in the \f(CW\*(C`center_mixlev\*(C'\fR
+and \f(CW\*(C`surround_mixlev\*(C'\fR options if it supports the Alternate Bit Stream
+Syntax.
+.PP
+Extended Bitstream Information \- Part 1
+.IX Subsection "Extended Bitstream Information - Part 1"
+.IP "\fB\-dmix_mode\fR \fImode\fR" 4
+.IX Item "-dmix_mode mode"
+Preferred Stereo Downmix Mode. Allows the user to select either Lt/Rt
+(Dolby Surround) or Lo/Ro (normal stereo) as the preferred stereo downmix mode.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBnotindicated\fR" 4
+.IX Item "notindicated"
+.PD
+Not Indicated (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBltrt\fR" 4
+.IX Item "ltrt"
+.PD
+Lt/Rt Downmix Preferred
+.IP "\fB2\fR" 4
+.IX Item "2"
+.PD 0
+.IP "\fBloro\fR" 4
+.IX Item "loro"
+.PD
+Lo/Ro Downmix Preferred
+.RE
+.RS 4
+.RE
+.IP "\fB\-ltrt_cmixlev\fR \fIlevel\fR" 4
+.IX Item "-ltrt_cmixlev level"
+Lt/Rt Center Mix Level. The amount of gain the decoder should apply to the
+center channel when downmixing to stereo in Lt/Rt mode.
+.RS 4
+.IP "\fB1.414\fR" 4
+.IX Item "1.414"
+Apply +3dB gain
+.IP "\fB1.189\fR" 4
+.IX Item "1.189"
+Apply +1.5dB gain
+.IP "\fB1.000\fR" 4
+.IX Item "1.000"
+Apply 0dB gain
+.IP "\fB0.841\fR" 4
+.IX Item "0.841"
+Apply \-1.5dB gain
+.IP "\fB0.707\fR" 4
+.IX Item "0.707"
+Apply \-3.0dB gain
+.IP "\fB0.595\fR" 4
+.IX Item "0.595"
+Apply \-4.5dB gain (default)
+.IP "\fB0.500\fR" 4
+.IX Item "0.500"
+Apply \-6.0dB gain
+.IP "\fB0.000\fR" 4
+.IX Item "0.000"
+Silence Center Channel
+.RE
+.RS 4
+.RE
+.IP "\fB\-ltrt_surmixlev\fR \fIlevel\fR" 4
+.IX Item "-ltrt_surmixlev level"
+Lt/Rt Surround Mix Level. The amount of gain the decoder should apply to the
+surround channel(s) when downmixing to stereo in Lt/Rt mode.
+.RS 4
+.IP "\fB0.841\fR" 4
+.IX Item "0.841"
+Apply \-1.5dB gain
+.IP "\fB0.707\fR" 4
+.IX Item "0.707"
+Apply \-3.0dB gain
+.IP "\fB0.595\fR" 4
+.IX Item "0.595"
+Apply \-4.5dB gain
+.IP "\fB0.500\fR" 4
+.IX Item "0.500"
+Apply \-6.0dB gain (default)
+.IP "\fB0.000\fR" 4
+.IX Item "0.000"
+Silence Surround Channel(s)
+.RE
+.RS 4
+.RE
+.IP "\fB\-loro_cmixlev\fR \fIlevel\fR" 4
+.IX Item "-loro_cmixlev level"
+Lo/Ro Center Mix Level. The amount of gain the decoder should apply to the
+center channel when downmixing to stereo in Lo/Ro mode.
+.RS 4
+.IP "\fB1.414\fR" 4
+.IX Item "1.414"
+Apply +3dB gain
+.IP "\fB1.189\fR" 4
+.IX Item "1.189"
+Apply +1.5dB gain
+.IP "\fB1.000\fR" 4
+.IX Item "1.000"
+Apply 0dB gain
+.IP "\fB0.841\fR" 4
+.IX Item "0.841"
+Apply \-1.5dB gain
+.IP "\fB0.707\fR" 4
+.IX Item "0.707"
+Apply \-3.0dB gain
+.IP "\fB0.595\fR" 4
+.IX Item "0.595"
+Apply \-4.5dB gain (default)
+.IP "\fB0.500\fR" 4
+.IX Item "0.500"
+Apply \-6.0dB gain
+.IP "\fB0.000\fR" 4
+.IX Item "0.000"
+Silence Center Channel
+.RE
+.RS 4
+.RE
+.IP "\fB\-loro_surmixlev\fR \fIlevel\fR" 4
+.IX Item "-loro_surmixlev level"
+Lo/Ro Surround Mix Level. The amount of gain the decoder should apply to the
+surround channel(s) when downmixing to stereo in Lo/Ro mode.
+.RS 4
+.IP "\fB0.841\fR" 4
+.IX Item "0.841"
+Apply \-1.5dB gain
+.IP "\fB0.707\fR" 4
+.IX Item "0.707"
+Apply \-3.0dB gain
+.IP "\fB0.595\fR" 4
+.IX Item "0.595"
+Apply \-4.5dB gain
+.IP "\fB0.500\fR" 4
+.IX Item "0.500"
+Apply \-6.0dB gain (default)
+.IP "\fB0.000\fR" 4
+.IX Item "0.000"
+Silence Surround Channel(s)
+.RE
+.RS 4
+.RE
+.PP
+Extended Bitstream Information \- Part 2
+.IX Subsection "Extended Bitstream Information - Part 2"
+.IP "\fB\-dsurex_mode\fR \fImode\fR" 4
+.IX Item "-dsurex_mode mode"
+Dolby Surround \s-1EX\s0 Mode. Indicates whether the stream uses Dolby Surround \s-1EX\s0
+(7.1 matrixed to 5.1). Using this option does \fB\s-1NOT\s0\fR mean the encoder will actually
+apply Dolby Surround \s-1EX\s0 processing.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBnotindicated\fR" 4
+.IX Item "notindicated"
+.PD
+Not Indicated (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBon\fR" 4
+.IX Item "on"
+.PD
+Dolby Surround \s-1EX\s0 Off
+.IP "\fB2\fR" 4
+.IX Item "2"
+.PD 0
+.IP "\fBoff\fR" 4
+.IX Item "off"
+.PD
+Dolby Surround \s-1EX\s0 On
+.RE
+.RS 4
+.RE
+.IP "\fB\-dheadphone_mode\fR \fImode\fR" 4
+.IX Item "-dheadphone_mode mode"
+Dolby Headphone Mode. Indicates whether the stream uses Dolby Headphone
+encoding (multi-channel matrixed to 2.0 for use with headphones). Using this
+option does \fB\s-1NOT\s0\fR mean the encoder will actually apply Dolby Headphone
+processing.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBnotindicated\fR" 4
+.IX Item "notindicated"
+.PD
+Not Indicated (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBon\fR" 4
+.IX Item "on"
+.PD
+Dolby Headphone Off
+.IP "\fB2\fR" 4
+.IX Item "2"
+.PD 0
+.IP "\fBoff\fR" 4
+.IX Item "off"
+.PD
+Dolby Headphone On
+.RE
+.RS 4
+.RE
+.IP "\fB\-ad_conv_type\fR \fItype\fR" 4
+.IX Item "-ad_conv_type type"
+A/D Converter Type. Indicates whether the audio has passed through \s-1HDCD\s0 A/D
+conversion.
+.RS 4
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBstandard\fR" 4
+.IX Item "standard"
+.PD
+Standard A/D Converter (default)
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBhdcd\fR" 4
+.IX Item "hdcd"
+.PD
+\&\s-1HDCD\s0 A/D Converter
+.RE
+.RS 4
+.RE
+.PP
+\fIOther \s-1AC\-3\s0 Encoding Options\fR
+.IX Subsection "Other AC-3 Encoding Options"
+.IP "\fB\-stereo_rematrixing\fR \fIboolean\fR" 4
+.IX Item "-stereo_rematrixing boolean"
+Stereo Rematrixing. Enables/Disables use of rematrixing for stereo input. This
+is an optional \s-1AC\-3\s0 feature that increases quality by selectively encoding
+the left/right channels as mid/side. This option is enabled by default, and it
+is highly recommended that it be left as enabled except for testing purposes.
+.PP
+\fIFloating-Point-Only \s-1AC\-3\s0 Encoding Options\fR
+.IX Subsection "Floating-Point-Only AC-3 Encoding Options"
+.PP
+These options are only valid for the floating-point encoder and do not exist
+for the fixed-point encoder due to the corresponding features not being
+implemented in fixed-point.
+.IP "\fB\-channel_coupling\fR \fIboolean\fR" 4
+.IX Item "-channel_coupling boolean"
+Enables/Disables use of channel coupling, which is an optional \s-1AC\-3\s0 feature
+that increases quality by combining high frequency information from multiple
+channels into a single channel. The per-channel high frequency information is
+sent with less accuracy in both the frequency and time domains. This allows
+more bits to be used for lower frequencies while preserving enough information
+to reconstruct the high frequencies. This option is enabled by default for the
+floating-point encoder and should generally be left as enabled except for
+testing purposes or to increase encoding speed.
+.RS 4
+.IP "\fB\-1\fR" 4
+.IX Item "-1"
+.PD 0
+.IP "\fBauto\fR" 4
+.IX Item "auto"
+.PD
+Selected by Encoder (default)
+.IP "\fB0\fR" 4
+.IX Item "0"
+.PD 0
+.IP "\fBoff\fR" 4
+.IX Item "off"
+.PD
+Disable Channel Coupling
+.IP "\fB1\fR" 4
+.IX Item "1"
+.PD 0
+.IP "\fBon\fR" 4
+.IX Item "on"
+.PD
+Enable Channel Coupling
+.RE
+.RS 4
+.RE
+.IP "\fB\-cpl_start_band\fR \fInumber\fR" 4
+.IX Item "-cpl_start_band number"
+Coupling Start Band. Sets the channel coupling start band, from 1 to 15. If a
+value higher than the bandwidth is used, it will be reduced to 1 less than the
+coupling end band. If \fIauto\fR is used, the start band will be determined by
+the encoder based on the bit rate, sample rate, and channel layout. This option
+has no effect if channel coupling is disabled.
+.RS 4
+.IP "\fB\-1\fR" 4
+.IX Item "-1"
+.PD 0
+.IP "\fBauto\fR" 4
+.IX Item "auto"
+.PD
+Selected by Encoder (default)
+.RE
+.RS 4
+.RE
+.SH "VIDEO ENCODERS"
+.IX Header "VIDEO ENCODERS"
+A description of some of the currently available video encoders
+follows.
+.SS "libtheora"
+.IX Subsection "libtheora"
+Theora format supported through libtheora.
+.PP
+Requires the presence of the libtheora headers and library during
+configuration. You need to explicitly configure the build with
+\&\f(CW\*(C`\-\-enable\-libtheora\*(C'\fR.
+.PP
+\fIOptions\fR
+.IX Subsection "Options"
+.PP
+The following global options are mapped to internal libtheora options
+which affect the quality and the bitrate of the encoded stream.
+.IP "\fBb\fR" 4
+.IX Item "b"
+Set the video bitrate, only works if the \f(CW\*(C`qscale\*(C'\fR flag in
+\&\fBflags\fR is not enabled.
+.IP "\fBflags\fR" 4
+.IX Item "flags"
+Used to enable constant quality mode encoding through the
+\&\fBqscale\fR flag, and to enable the \f(CW\*(C`pass1\*(C'\fR and \f(CW\*(C`pass2\*(C'\fR
+modes.
+.IP "\fBg\fR" 4
+.IX Item "g"
+Set the \s-1GOP\s0 size.
+.IP "\fBglobal_quality\fR" 4
+.IX Item "global_quality"
+Set the global quality in lambda units, only works if the
+\&\f(CW\*(C`qscale\*(C'\fR flag in \fBflags\fR is enabled. The value is clipped
+in the [0 \- 10*\f(CW\*(C`FF_QP2LAMBDA\*(C'\fR] range, and then multiplied for 6.3
+to get a value in the native libtheora range [0\-63]. A higher value
+corresponds to a higher quality.
+.Sp
+For example, to set maximum constant quality encoding with
+\&\fBffmpeg\fR:
+.Sp
+.Vb 1
+\&        ffmpeg \-i INPUT \-flags:v qscale \-global_quality:v "10*QP2LAMBDA" \-codec:v libtheora OUTPUT.ogg
+.Ve
+.SS "libvpx"
+.IX Subsection "libvpx"
+\&\s-1VP8\s0 format supported through libvpx.
+.PP
+Requires the presence of the libvpx headers and library during configuration.
+You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libvpx\*(C'\fR.
+.PP
+\fIOptions\fR
+.IX Subsection "Options"
+.PP
+Mapping from FFmpeg to libvpx options with conversion notes in parentheses.
+.IP "\fBthreads\fR" 4
+.IX Item "threads"
+g_threads
+.IP "\fBprofile\fR" 4
+.IX Item "profile"
+g_profile
+.IP "\fBvb\fR" 4
+.IX Item "vb"
+rc_target_bitrate
+.IP "\fBg\fR" 4
+.IX Item "g"
+kf_max_dist
+.IP "\fBkeyint_min\fR" 4
+.IX Item "keyint_min"
+kf_min_dist
+.IP "\fBqmin\fR" 4
+.IX Item "qmin"
+rc_min_quantizer
+.IP "\fBqmax\fR" 4
+.IX Item "qmax"
+rc_max_quantizer
+.IP "\fBbufsize, vb\fR" 4
+.IX Item "bufsize, vb"
+rc_buf_sz
+\&\f(CW\*(C`(bufsize * 1000 / vb)\*(C'\fR
+.Sp
+rc_buf_optimal_sz
+\&\f(CW\*(C`(bufsize * 1000 / vb * 5 / 6)\*(C'\fR
+.IP "\fBrc_init_occupancy, vb\fR" 4
+.IX Item "rc_init_occupancy, vb"
+rc_buf_initial_sz
+\&\f(CW\*(C`(rc_init_occupancy * 1000 / vb)\*(C'\fR
+.IP "\fBrc_buffer_aggressivity\fR" 4
+.IX Item "rc_buffer_aggressivity"
+rc_undershoot_pct
+.IP "\fBskip_threshold\fR" 4
+.IX Item "skip_threshold"
+rc_dropframe_thresh
+.IP "\fBqcomp\fR" 4
+.IX Item "qcomp"
+rc_2pass_vbr_bias_pct
+.IP "\fBmaxrate, vb\fR" 4
+.IX Item "maxrate, vb"
+rc_2pass_vbr_maxsection_pct
+\&\f(CW\*(C`(maxrate * 100 / vb)\*(C'\fR
+.IP "\fBminrate, vb\fR" 4
+.IX Item "minrate, vb"
+rc_2pass_vbr_minsection_pct
+\&\f(CW\*(C`(minrate * 100 / vb)\*(C'\fR
+.IP "\fBminrate, maxrate, vb\fR" 4
+.IX Item "minrate, maxrate, vb"
+\&\f(CW\*(C`VPX_CBR\*(C'\fR
+\&\f(CW\*(C`(minrate == maxrate == vb)\*(C'\fR
+.IP "\fBcrf\fR" 4
+.IX Item "crf"
+\&\f(CW\*(C`VPX_CQ\*(C'\fR, \f(CW\*(C`VP8E_SET_CQ_LEVEL\*(C'\fR
+.IP "\fBquality\fR" 4
+.IX Item "quality"
+.RS 4
+.PD 0
+.IP "\fIbest\fR" 4
+.IX Item "best"
+.PD
+\&\f(CW\*(C`VPX_DL_BEST_QUALITY\*(C'\fR
+.IP "\fIgood\fR" 4
+.IX Item "good"
+\&\f(CW\*(C`VPX_DL_GOOD_QUALITY\*(C'\fR
+.IP "\fIrealtime\fR" 4
+.IX Item "realtime"
+\&\f(CW\*(C`VPX_DL_REALTIME\*(C'\fR
+.RE
+.RS 4
+.RE
+.IP "\fBspeed\fR" 4
+.IX Item "speed"
+\&\f(CW\*(C`VP8E_SET_CPUUSED\*(C'\fR
+.IP "\fBnr\fR" 4
+.IX Item "nr"
+\&\f(CW\*(C`VP8E_SET_NOISE_SENSITIVITY\*(C'\fR
+.IP "\fBmb_threshold\fR" 4
+.IX Item "mb_threshold"
+\&\f(CW\*(C`VP8E_SET_STATIC_THRESHOLD\*(C'\fR
+.IP "\fBslices\fR" 4
+.IX Item "slices"
+\&\f(CW\*(C`VP8E_SET_TOKEN_PARTITIONS\*(C'\fR
+.IP "\fBmax-intra-rate\fR" 4
+.IX Item "max-intra-rate"
+\&\f(CW\*(C`VP8E_SET_MAX_INTRA_BITRATE_PCT\*(C'\fR
+.IP "\fBforce_key_frames\fR" 4
+.IX Item "force_key_frames"
+\&\f(CW\*(C`VPX_EFLAG_FORCE_KF\*(C'\fR
+.IP "\fBAlternate reference frame related\fR" 4
+.IX Item "Alternate reference frame related"
+.RS 4
+.PD 0
+.IP "\fBvp8flags altref\fR" 4
+.IX Item "vp8flags altref"
+.PD
+\&\f(CW\*(C`VP8E_SET_ENABLEAUTOALTREF\*(C'\fR
+.IP "\fIarnr_max_frames\fR" 4
+.IX Item "arnr_max_frames"
+\&\f(CW\*(C`VP8E_SET_ARNR_MAXFRAMES\*(C'\fR
+.IP "\fIarnr_type\fR" 4
+.IX Item "arnr_type"
+\&\f(CW\*(C`VP8E_SET_ARNR_TYPE\*(C'\fR
+.IP "\fIarnr_strength\fR" 4
+.IX Item "arnr_strength"
+\&\f(CW\*(C`VP8E_SET_ARNR_STRENGTH\*(C'\fR
+.IP "\fIrc_lookahead\fR" 4
+.IX Item "rc_lookahead"
+g_lag_in_frames
+.RE
+.RS 4
+.RE
+.IP "\fBvp8flags error_resilient\fR" 4
+.IX Item "vp8flags error_resilient"
+g_error_resilient
+.PP
+For more information about libvpx see:
+<\fBhttp://www.webmproject.org/\fR>
+.SS "libx264"
+.IX Subsection "libx264"
+x264 H.264/MPEG\-4 \s-1AVC\s0 encoder wrapper
+.PP
+Requires the presence of the libx264 headers and library during
+configuration. You need to explicitly configure the build with
+\&\f(CW\*(C`\-\-enable\-libx264\*(C'\fR.
+.PP
+x264 supports an impressive number of features, including 8x8 and 4x4 adaptive
+spatial transform, adaptive B\-frame placement, \s-1CAVLC/CABAC\s0 entropy coding,
+interlacing (\s-1MBAFF\s0), lossless mode, psy optimizations for detail retention
+(adaptive quantization, psy-RD, psy-trellis).
+.PP
+The FFmpeg 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.
+.PP
+\fIOption Mapping\fR
+.IX Subsection "Option Mapping"
+.PP
+The following options are supported by the x264 wrapper, the x264\-equivalent
+options follow the FFmpeg ones.
+.IP "\fBb                  :  bitrate\fR" 4
+.IX Item "b                  :  bitrate"
+FFmpeg \f(CW\*(C`b\*(C'\fR option is expressed in bits/s, x264 \f(CW\*(C`bitrate\*(C'\fR in kilobits/s.
+.IP "\fBbf                 :  bframes\fR" 4
+.IX Item "bf                 :  bframes"
+Maximum number of B\-frames.
+.IP "\fBg                  :  keyint\fR" 4
+.IX Item "g                  :  keyint"
+Maximum \s-1GOP\s0 size.
+.IP "\fBqmin               :  qpmin\fR" 4
+.IX Item "qmin               :  qpmin"
+.PD 0
+.IP "\fBqmax               :  qpmax\fR" 4
+.IX Item "qmax               :  qpmax"
+.IP "\fBqdiff              :  qpstep\fR" 4
+.IX Item "qdiff              :  qpstep"
+.IP "\fBqblur              :  qblur\fR" 4
+.IX Item "qblur              :  qblur"
+.IP "\fBqcomp              :  qcomp\fR" 4
+.IX Item "qcomp              :  qcomp"
+.IP "\fBrefs               :  ref\fR" 4
+.IX Item "refs               :  ref"
+.IP "\fBsc_threshold       :  scenecut\fR" 4
+.IX Item "sc_threshold       :  scenecut"
+.IP "\fBtrellis            :  trellis\fR" 4
+.IX Item "trellis            :  trellis"
+.IP "\fBnr                 :  nr\fR" 4
+.IX Item "nr                 :  nr"
+.PD
+Noise reduction.
+.IP "\fBme_range           :  merange\fR" 4
+.IX Item "me_range           :  merange"
+.PD 0
+.IP "\fBme_method          :  me\fR" 4
+.IX Item "me_method          :  me"
+.IP "\fBsubq               :  subme\fR" 4
+.IX Item "subq               :  subme"
+.IP "\fBb_strategy         :  b\-adapt\fR" 4
+.IX Item "b_strategy         :  b-adapt"
+.IP "\fBkeyint_min         :  keyint-min\fR" 4
+.IX Item "keyint_min         :  keyint-min"
+.IP "\fBcoder              :  cabac\fR" 4
+.IX Item "coder              :  cabac"
+.PD
+Set coder to \f(CW\*(C`ac\*(C'\fR to use \s-1CABAC\s0.
+.IP "\fBcmp                :  chroma-me\fR" 4
+.IX Item "cmp                :  chroma-me"
+Set to \f(CW\*(C`chroma\*(C'\fR to use chroma motion estimation.
+.IP "\fBthreads            :  threads\fR" 4
+.IX Item "threads            :  threads"
+.PD 0
+.IP "\fBthread_type        :  sliced_threads\fR" 4
+.IX Item "thread_type        :  sliced_threads"
+.PD
+Set to \f(CW\*(C`slice\*(C'\fR to use sliced threading instead of frame threading.
+.IP "\fBflags \-cgop        :  open-gop\fR" 4
+.IX Item "flags -cgop        :  open-gop"
+Set \f(CW\*(C`\-cgop\*(C'\fR to use recovery points to close GOPs.
+.IP "\fBrc_init_occupancy  :  vbv-init\fR" 4
+.IX Item "rc_init_occupancy  :  vbv-init"
+Initial buffer occupancy.
+.PP
+\fIPrivate Options\fR
+.IX Subsection "Private Options"
+.IP "\fB\-preset\fR \fIstring\fR" 4
+.IX Item "-preset string"
+Set the encoding preset (cf. x264 \-\-fullhelp).
+.IP "\fB\-tune\fR \fIstring\fR" 4
+.IX Item "-tune string"
+Tune the encoding params (cf. x264 \-\-fullhelp).
+.IP "\fB\-profile\fR \fIstring\fR" 4
+.IX Item "-profile string"
+Set profile restrictions (cf. x264 \-\-fullhelp).
+.IP "\fB\-fastfirstpass\fR \fIinteger\fR" 4
+.IX Item "-fastfirstpass integer"
+Use fast settings when encoding first pass.
+.IP "\fB\-crf\fR \fIfloat\fR" 4
+.IX Item "-crf float"
+Select the quality for constant quality mode.
+.IP "\fB\-crf_max\fR \fIfloat\fR" 4
+.IX Item "-crf_max float"
+In \s-1CRF\s0 mode, prevents \s-1VBV\s0 from lowering quality beyond this point.
+.IP "\fB\-qp\fR \fIinteger\fR" 4
+.IX Item "-qp integer"
+Constant quantization parameter rate control method.
+.IP "\fB\-aq\-mode\fR \fIinteger\fR" 4
+.IX Item "-aq-mode integer"
+\&\s-1AQ\s0 method
+.Sp
+Possible values:
+.RS 4
+.IP "\fBnone\fR" 4
+.IX Item "none"
+.PD 0
+.IP "\fBvariance\fR" 4
+.IX Item "variance"
+.PD
+Variance \s-1AQ\s0 (complexity mask).
+.IP "\fBautovariance\fR" 4
+.IX Item "autovariance"
+Auto-variance \s-1AQ\s0 (experimental).
+.RE
+.RS 4
+.RE
+.IP "\fB\-aq\-strength\fR \fIfloat\fR" 4
+.IX Item "-aq-strength float"
+\&\s-1AQ\s0 strength, reduces blocking and blurring in flat and textured areas.
+.IP "\fB\-psy\fR \fIinteger\fR" 4
+.IX Item "-psy integer"
+Use psychovisual optimizations.
+.IP "\fB\-psy\-rd\fR \fIstring\fR" 4
+.IX Item "-psy-rd string"
+Strength of psychovisual optimization, in <psy\-rd>:<psy\-trellis> format.
+.IP "\fB\-rc\-lookahead\fR \fIinteger\fR" 4
+.IX Item "-rc-lookahead integer"
+Number of frames to look ahead for frametype and ratecontrol.
+.IP "\fB\-weightb\fR \fIinteger\fR" 4
+.IX Item "-weightb integer"
+Weighted prediction for B\-frames.
+.IP "\fB\-weightp\fR \fIinteger\fR" 4
+.IX Item "-weightp integer"
+Weighted prediction analysis method.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBnone\fR" 4
+.IX Item "none"
+.PD 0
+.IP "\fBsimple\fR" 4
+.IX Item "simple"
+.IP "\fBsmart\fR" 4
+.IX Item "smart"
+.RE
+.RS 4
+.RE
+.IP "\fB\-ssim\fR \fIinteger\fR" 4
+.IX Item "-ssim integer"
+.PD
+Calculate and print \s-1SSIM\s0 stats.
+.IP "\fB\-intra\-refresh\fR \fIinteger\fR" 4
+.IX Item "-intra-refresh integer"
+Use Periodic Intra Refresh instead of \s-1IDR\s0 frames.
+.IP "\fB\-b\-bias\fR \fIinteger\fR" 4
+.IX Item "-b-bias integer"
+Influences how often B\-frames are used.
+.IP "\fB\-b\-pyramid\fR \fIinteger\fR" 4
+.IX Item "-b-pyramid integer"
+Keep some B\-frames as references.
+.Sp
+Possible values:
+.RS 4
+.IP "\fBnone\fR" 4
+.IX Item "none"
+.PD 0
+.IP "\fBstrict\fR" 4
+.IX Item "strict"
+.PD
+Strictly hierarchical pyramid.
+.IP "\fBnormal\fR" 4
+.IX Item "normal"
+Non-strict (not Blu-ray compatible).
+.RE
+.RS 4
+.RE
+.IP "\fB\-mixed\-refs\fR \fIinteger\fR" 4
+.IX Item "-mixed-refs integer"
+One reference per partition, as opposed to one reference per macroblock.
+.IP "\fB\-8x8dct\fR \fIinteger\fR" 4
+.IX Item "-8x8dct integer"
+High profile 8x8 transform.
+.IP "\fB\-fast\-pskip\fR \fIinteger\fR" 4
+.IX Item "-fast-pskip integer"
+.PD 0
+.IP "\fB\-aud\fR \fIinteger\fR" 4
+.IX Item "-aud integer"
+.PD
+Use access unit delimiters.
+.IP "\fB\-mbtree\fR \fIinteger\fR" 4
+.IX Item "-mbtree integer"
+Use macroblock tree ratecontrol.
+.IP "\fB\-deblock\fR \fIstring\fR" 4
+.IX Item "-deblock string"
+Loop filter parameters, in <alpha:beta> form.
+.IP "\fB\-cplxblur\fR \fIfloat\fR" 4
+.IX Item "-cplxblur float"
+Reduce fluctuations in \s-1QP\s0 (before curve compression).
+.IP "\fB\-partitions\fR \fIstring\fR" 4
+.IX Item "-partitions string"
+A comma-separated list of partitions to consider, possible values: p8x8, p4x4, b8x8, i8x8, i4x4, none, all.
+.IP "\fB\-direct\-pred\fR \fIinteger\fR" 4
+.IX Item "-direct-pred integer"
+Direct \s-1MV\s0 prediction mode
+.Sp
+Possible values:
+.RS 4
+.IP "\fBnone\fR" 4
+.IX Item "none"
+.PD 0
+.IP "\fBspatial\fR" 4
+.IX Item "spatial"
+.IP "\fBtemporal\fR" 4
+.IX Item "temporal"
+.IP "\fBauto\fR" 4
+.IX Item "auto"
+.RE
+.RS 4
+.RE
+.IP "\fB\-slice\-max\-size\fR \fIinteger\fR" 4
+.IX Item "-slice-max-size integer"
+.PD
+Limit the size of each slice in bytes.
+.IP "\fB\-stats\fR \fIstring\fR" 4
+.IX Item "-stats string"
+Filename for 2 pass stats.
+.IP "\fB\-nal\-hrd\fR \fIinteger\fR" 4
+.IX Item "-nal-hrd integer"
+Signal \s-1HRD\s0 information (requires vbv-bufsize; cbr not allowed in .mp4).
+.Sp
+Possible values:
+.RS 4
+.IP "\fBnone\fR" 4
+.IX Item "none"
+.PD 0
+.IP "\fBvbr\fR" 4
+.IX Item "vbr"
+.IP "\fBcbr\fR" 4
+.IX Item "cbr"
+.RE
+.RS 4
+.RE
+.IP "\fBx264opts\fR \fIoptions\fR" 4
+.IX Item "x264opts options"
+.PD
+Allow to set any x264 option, see \f(CW\*(C`x264 \-\-fullhelp\*(C'\fR for a list.
+.Sp
+\&\fIoptions\fR is a list of \fIkey\fR=\fIvalue\fR couples separated by
+\&\*(L":\*(R". In \fIfilter\fR and \fIpsy-rd\fR options that use \*(L":\*(R" as a separator
+themselves, use \*(L",\*(R" instead. They accept it as well since long ago but this
+is kept undocumented for some reason.
+.Sp
+For example to specify libx264 encoding options with \fBffmpeg\fR:
+.Sp
+.Vb 1
+\&        ffmpeg \-i foo.mpg \-vcodec libx264 \-x264opts keyint=123:min\-keyint=20 \-an out.mkv
+.Ve
+.Sp
+For more information about libx264 and the supported options see:
+<\fBhttp://www.videolan.org/developers/x264.html\fR>
+.IP "\fB\-x264\-params\fR \fIstring\fR" 4
+.IX Item "-x264-params string"
+Override the x264 configuration using a :\-separated list of key=value parameters.
+.Sp
+.Vb 1
+\&        \-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
+.Ve
+.PP
+Encoding avpresets for common usages are provided so they can be used with the
+general presets system (e.g. passing the \f(CW\*(C`\-pre\*(C'\fR option).
+.SS "ProRes"
+.IX Subsection "ProRes"
+Apple ProRes encoder.
+.PP
+FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
+The used encoder can be choosen with the \f(CW\*(C`\-vcodec\*(C'\fR option.
+.PP
+\fIPrivate Options for prores-ks\fR
+.IX Subsection "Private Options for prores-ks"
+.IP "\fBprofile\fR \fIinteger\fR" 4
+.IX Item "profile integer"
+Select the ProRes profile to encode
+.RS 4
+.IP "\fBproxy\fR" 4
+.IX Item "proxy"
+.PD 0
+.IP "\fBlt\fR" 4
+.IX Item "lt"
+.IP "\fBstandard\fR" 4
+.IX Item "standard"
+.IP "\fBhq\fR" 4
+.IX Item "hq"
+.RE
+.RS 4
+.RE
+.IP "\fBquant_mat\fR \fIinteger\fR" 4
+.IX Item "quant_mat integer"
+.PD
+Select quantization matrix.
+.RS 4
+.IP "\fBauto\fR" 4
+.IX Item "auto"
+.PD 0
+.IP "\fBdefault\fR" 4
+.IX Item "default"
+.IP "\fBproxy\fR" 4
+.IX Item "proxy"
+.IP "\fBlt\fR" 4
+.IX Item "lt"
+.IP "\fBstandard\fR" 4
+.IX Item "standard"
+.IP "\fBhq\fR" 4
+.IX Item "hq"
+.RE
+.RS 4
+.PD
+.Sp
+If set to \fIauto\fR, the matrix matching the profile will be picked.
+If not set, the matrix providing the highest quality, \fIdefault\fR, will be
+picked.
+.RE
+.IP "\fBbits_per_mb\fR \fIinteger\fR" 4
+.IX Item "bits_per_mb integer"
+How many bits to allot for coding one macroblock. Different profiles use
+between 200 and 2400 bits per macroblock, the maximum is 8000.
+.IP "\fBmbs_per_slice\fR \fIinteger\fR" 4
+.IX Item "mbs_per_slice integer"
+Number of macroblocks in each slice (1\-8); the default value (8)
+should be good in almost all situations.
+.IP "\fBvendor\fR \fIstring\fR" 4
+.IX Item "vendor string"
+Override the 4\-byte vendor \s-1ID\s0.
+A custom vendor \s-1ID\s0 like \fIapl0\fR would claim the stream was produced by
+the Apple encoder.
+.PP
+\fISpeed considerations\fR
+.IX Subsection "Speed considerations"
+.PP
+In the default mode of operation the encoder has to honor frame constraints
+(i.e. not produc frames with size bigger than requested) while still making
+output picture as good as possible.
+A frame containing a lot of small details is harder to compress and the encoder
+would spend more time searching for appropriate quantizers for each slice.
+.PP
+Setting a higher \fBbits_per_mb\fR limit will improve the speed.
+.PP
+For the fastest encoding speed set the \fBqscale\fR parameter (4 is the
+recommended value) and do not set a size constraint.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffprobe\fR\|(1), \fIffserver\fR\|(1), \fIlibavcodec\fR\|(3)
+.SH "AUTHORS"
+.IX Header "AUTHORS"
+The FFmpeg developers.
+.PP
+For details about the authorship, see the Git history of the project
+(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
+\&\fBgit log\fR in the FFmpeg source directory, or browsing the
+online repository at <\fBhttp://source.ffmpeg.org\fR>.
+.PP
+Maintainers for the specific components are listed in the file
+\&\fI\s-1MAINTAINERS\s0\fR in the source code tree.