|
.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) |
|
.\" |
|
.\" 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" '' |
|
. ds C` |
|
. ds C' |
|
'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 >0, 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. |
|
.\" |
|
.\" Avoid warning from groff about undefined register 'F'. |
|
.de IX |
|
.. |
|
.nr rF 0 |
|
.if \n(.g .if rF .nr rF 1 |
|
.if (\n(rF:(\n(.g==0)) \{\ |
|
. if \nF \{\ |
|
. de IX |
|
. tm Index:\\$1\t\\n%\t"\\$2" |
|
.. |
|
. if !\nF==2 \{\ |
|
. nr % 0 |
|
. nr F 2 |
|
. \} |
|
. \} |
|
.\} |
|
.rr rF |
|
.\" |
|
.\" 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 " " " " " " |
|
.\" 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 nonsensical 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 "\fBpass1\fR" 4 |
|
.IX Item "pass1" |
|
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 "\fBpsnr\fR" 4 |
|
.IX Item "psnr" |
|
Set error[?] variables during encoding. |
|
.IP "\fBtruncated\fR" 4 |
|
.IX Item "truncated" |
|
Input bitstream might be randomly truncated. |
|
.IP "\fBdrop_changed\fR" 4 |
|
.IX Item "drop_changed" |
|
Don't output frames whose parameters differ from first decoded frame in stream. |
|
Error \s-1AVERROR_INPUT_CHANGED\s0 is returned when a frame is dropped. |
|
.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" |
|
Only write platform\-, build\- and time-independent data. (except (I)DCT). |
|
This ensures that file and data checksums are reproducible and match between |
|
platforms. Its primary use is for regression testing. |
|
.IP "\fBaic\fR" 4 |
|
.IX Item "aic" |
|
Apply H263 advanced intra coding / mpeg4 ac prediction. |
|
.IP "\fBilme\fR" 4 |
|
.IX Item "ilme" |
|
Apply interlaced motion estimation. |
|
.IP "\fBcgop\fR" 4 |
|
.IX Item "cgop" |
|
Use closed gop. |
|
.IP "\fBoutput_corrupt\fR" 4 |
|
.IX Item "output_corrupt" |
|
Output even potentially corrupted frames. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.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 (\s-1GOP\s0) 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. (Supported only by selected encoders, see |
|
their respective documentation sections.) |
|
.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 between non-B-frames. |
|
.Sp |
|
Must be an integer between \-1 and 16. 0 means that B\-frames are |
|
disabled. If a value of \-1 is used, it will choose an automatic value |
|
depending on the encoder. |
|
.Sp |
|
Default value is 0. |
|
.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 "\fBcodec_tag\fR \fIinteger\fR" 4 |
|
.IX Item "codec_tag integer" |
|
.PD 0 |
|
.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 "\fBxvid_ilace\fR" 4 |
|
.IX Item "xvid_ilace" |
|
.PD |
|
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 "\fBqpel_chroma\fR" 4 |
|
.IX Item "qpel_chroma" |
|
.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 "\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 an 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, experimental |
|
(unfinished/work in progress/not well tested) decoders and encoders. |
|
Note: experimental decoders can pose a security risk, do not use this for |
|
decoding untrusted input. |
|
.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 "\fBignore_err\fR" 4 |
|
.IX Item "ignore_err" |
|
ignore decoding errors, and continue decoding. |
|
This is useful if you want to analyze the content of a video and thus want |
|
everything to be decoded no matter what. This option will not result in a video |
|
that is pleasing to watch in case of errors. |
|
.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 "\fBrc_override_count\fR \fIinteger\fR" 4 |
|
.IX Item "rc_override_count integer" |
|
.IP "\fBmaxrate\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4 |
|
.IX Item "maxrate integer (encoding,audio,video)" |
|
.PD |
|
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 "\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 "\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 DCT\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 "\fBsimpleauto\fR" 4 |
|
.IX Item "simpleauto" |
|
.PD |
|
Automatically pick a \s-1IDCT\s0 compatible with the simple one |
|
.IP "\fBarm\fR" 4 |
|
.IX Item "arm" |
|
.PD 0 |
|
.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 "\fBxvid\fR" 4 |
|
.IX Item "xvid" |
|
.IP "\fBfaani\fR" 4 |
|
.IX Item "faani" |
|
.PD |
|
floating point \s-1AAN IDCT\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 |
|
.IP "\fBfavor_inter\fR" 4 |
|
.IX Item "favor_inter" |
|
favor predicting from the previous frame instead of the current |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBbits_per_coded_sample\fR \fIinteger\fR" 4 |
|
.IX Item "bits_per_coded_sample integer" |
|
.PD 0 |
|
.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 "\fBsar\fR \fIrational number\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4 |
|
.IX Item "sar rational number (encoding,video)" |
|
Set sample aspect ratio. Alias to \fIaspect\fR. |
|
.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 "\fBdct_coeff\fR" 4 |
|
.IX Item "dct_coeff" |
|
.PD 0 |
|
.IP "\fBgreen_metadata\fR" 4 |
|
.IX Item "green_metadata" |
|
.PD |
|
display complexity metadata for the upcoming frame, GoP or for a given duration. |
|
.IP "\fBskip\fR" 4 |
|
.IX Item "skip" |
|
.PD 0 |
|
.IP "\fBstartcode\fR" 4 |
|
.IX Item "startcode" |
|
.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 "\fBbuffers\fR" 4 |
|
.IX Item "buffers" |
|
.PD |
|
picture buffer allocations |
|
.IP "\fBthread_ops\fR" 4 |
|
.IX Item "thread_ops" |
|
threading operations |
|
.IP "\fBnomc\fR" 4 |
|
.IX Item "nomc" |
|
skip motion compensation |
|
.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. |
|
.RS 4 |
|
.IP "\fB(1024, \s-1INT_MAX\s0)\fR" 4 |
|
.IX Item "(1024, INT_MAX)" |
|
full motion estimation(slowest) |
|
.IP "\fB(768, 1024]\fR" 4 |
|
.IX Item "(768, 1024]" |
|
umh motion estimation |
|
.IP "\fB(512, 768]\fR" 4 |
|
.IX Item "(512, 768]" |
|
hex motion estimation |
|
.IP "\fB(256, 512]\fR" 4 |
|
.IX Item "(256, 512]" |
|
l2s diamond motion estimation |
|
.IP "\fB[2,256]\fR" 4 |
|
.IX Item "[2,256]" |
|
var diamond motion estimation |
|
.IP "\fB(\-1, 2)\fR" 4 |
|
.IX Item "(-1, 2)" |
|
small diamond motion estimation |
|
.IP "\fB\-1\fR" 4 |
|
.IX Item "-1" |
|
funny diamond motion estimation |
|
.IP "\fB(\s-1INT_MIN,\s0 \-1)\fR" 4 |
|
.IX Item "(INT_MIN, -1)" |
|
sab diamond motion estimation |
|
.RE |
|
.RS 4 |
|
.RE |
|
.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 "\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 "\fBme_range\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4 |
|
.IX Item "me_range integer (encoding,video)" |
|
Set limit motion vectors range (1023 for DivX player). |
|
.IP "\fBglobal_quality\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4 |
|
.IX Item "global_quality integer (encoding,audio,video)" |
|
.PD 0 |
|
.IP "\fBslice_flags\fR \fIinteger\fR" 4 |
|
.IX Item "slice_flags 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 "\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 "\fBflags2\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4 |
|
.IX Item "flags2 flags (decoding/encoding,audio,video,subtitles)" |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBfast\fR" 4 |
|
.IX Item "fast" |
|
Allow non spec compliant speedup tricks. |
|
.IP "\fBnoout\fR" 4 |
|
.IX Item "noout" |
|
Skip bitstream encoding. |
|
.IP "\fBignorecrop\fR" 4 |
|
.IX Item "ignorecrop" |
|
Ignore cropping information from sps. |
|
.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 "\fBexport_mvs\fR" 4 |
|
.IX Item "export_mvs" |
|
Export motion vectors into frame side-data (see \f(CW\*(C`AV_FRAME_DATA_MOTION_VECTORS\*(C'\fR) |
|
for codecs that support it. See also \fIdoc/examples/export_mvs.c\fR. |
|
.IP "\fBskip_manual\fR" 4 |
|
.IX Item "skip_manual" |
|
Do not skip samples and export skip information as frame side data. |
|
.IP "\fBass_ro_flush_noop\fR" 4 |
|
.IX Item "ass_ro_flush_noop" |
|
Do not reset \s-1ASS\s0 ReadOrder field on flush. |
|
.IP "\fBicc_profiles\fR" 4 |
|
.IX Item "icc_profiles" |
|
Generate/parse embedded \s-1ICC\s0 profiles from/to colorimetry tags. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBexport_side_data\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4 |
|
.IX Item "export_side_data flags (decoding/encoding,audio,video,subtitles)" |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBmvs\fR" 4 |
|
.IX Item "mvs" |
|
Export motion vectors into frame side-data (see \f(CW\*(C`AV_FRAME_DATA_MOTION_VECTORS\*(C'\fR) |
|
for codecs that support it. See also \fIdoc/examples/export_mvs.c\fR. |
|
.IP "\fBprft\fR" 4 |
|
.IX Item "prft" |
|
Export encoder Producer Reference Time into packet side-data (see \f(CW\*(C`AV_PKT_DATA_PRFT\*(C'\fR) |
|
for codecs that support it. |
|
.IP "\fBvenc_params\fR" 4 |
|
.IX Item "venc_params" |
|
Export video encoding parameters through frame side data (see \f(CW\*(C`AV_FRAME_DATA_VIDEO_ENC_PARAMS\*(C'\fR) |
|
for codecs that support it. At present, those are H.264 and \s-1VP9.\s0 |
|
.IP "\fBfilm_grain\fR" 4 |
|
.IX Item "film_grain" |
|
Export film grain parameters through frame side data (see \f(CW\*(C`AV_FRAME_DATA_FILM_GRAIN_PARAMS\*(C'\fR). |
|
Supported at present by \s-1AV1\s0 decoders. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBthreads\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4 |
|
.IX Item "threads integer (decoding/encoding,video)" |
|
Set the number of threads to be used, in case the selected codec |
|
implementation supports multi-threading. |
|
.Sp |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBauto, 0\fR" 4 |
|
.IX Item "auto, 0" |
|
automatically select the number of threads to set |
|
.RE |
|
.RS 4 |
|
.Sp |
|
Default value is \fBauto\fR. |
|
.RE |
|
.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)" |
|
Set encoder codec profile. Default value is \fBunknown\fR. Encoder specific |
|
profiles are documented in the relevant encoder documentation. |
|
.IP "\fBlevel\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4 |
|
.IX Item "level integer (encoding,audio,video)" |
|
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 "\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 "\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 "\fBnointra\fR" 4 |
|
.IX Item "nointra" |
|
Discard all frames except I frames. |
|
.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 "\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 "\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 "\fBmv0_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4 |
|
.IX Item "mv0_threshold integer (encoding,video)" |
|
.PD 0 |
|
.IP "\fBcompression_level\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4 |
|
.IX Item "compression_level integer (encoding,audio,video)" |
|
.IP "\fBbits_per_raw_sample\fR \fIinteger\fR" 4 |
|
.IX Item "bits_per_raw_sample integer" |
|
.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 "\fBcolor_primaries\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4 |
|
.IX Item "color_primaries integer (decoding/encoding,video)" |
|
.PD |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBbt709\fR" 4 |
|
.IX Item "bt709" |
|
\&\s-1BT.709\s0 |
|
.IP "\fBbt470m\fR" 4 |
|
.IX Item "bt470m" |
|
\&\s-1BT.470 M\s0 |
|
.IP "\fBbt470bg\fR" 4 |
|
.IX Item "bt470bg" |
|
\&\s-1BT.470 BG\s0 |
|
.IP "\fBsmpte170m\fR" 4 |
|
.IX Item "smpte170m" |
|
\&\s-1SMPTE 170 M\s0 |
|
.IP "\fBsmpte240m\fR" 4 |
|
.IX Item "smpte240m" |
|
\&\s-1SMPTE 240 M\s0 |
|
.IP "\fBfilm\fR" 4 |
|
.IX Item "film" |
|
Film |
|
.IP "\fBbt2020\fR" 4 |
|
.IX Item "bt2020" |
|
\&\s-1BT.2020\s0 |
|
.IP "\fBsmpte428\fR" 4 |
|
.IX Item "smpte428" |
|
.PD 0 |
|
.IP "\fBsmpte428_1\fR" 4 |
|
.IX Item "smpte428_1" |
|
.PD |
|
\&\s-1SMPTE ST 428\-1\s0 |
|
.IP "\fBsmpte431\fR" 4 |
|
.IX Item "smpte431" |
|
\&\s-1SMPTE 431\-2\s0 |
|
.IP "\fBsmpte432\fR" 4 |
|
.IX Item "smpte432" |
|
\&\s-1SMPTE 432\-1\s0 |
|
.IP "\fBjedec\-p22\fR" 4 |
|
.IX Item "jedec-p22" |
|
\&\s-1JEDEC P22\s0 |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBcolor_trc\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4 |
|
.IX Item "color_trc integer (decoding/encoding,video)" |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBbt709\fR" 4 |
|
.IX Item "bt709" |
|
\&\s-1BT.709\s0 |
|
.IP "\fBgamma22\fR" 4 |
|
.IX Item "gamma22" |
|
\&\s-1BT.470 M\s0 |
|
.IP "\fBgamma28\fR" 4 |
|
.IX Item "gamma28" |
|
\&\s-1BT.470 BG\s0 |
|
.IP "\fBsmpte170m\fR" 4 |
|
.IX Item "smpte170m" |
|
\&\s-1SMPTE 170 M\s0 |
|
.IP "\fBsmpte240m\fR" 4 |
|
.IX Item "smpte240m" |
|
\&\s-1SMPTE 240 M\s0 |
|
.IP "\fBlinear\fR" 4 |
|
.IX Item "linear" |
|
Linear |
|
.IP "\fBlog\fR" 4 |
|
.IX Item "log" |
|
.PD 0 |
|
.IP "\fBlog100\fR" 4 |
|
.IX Item "log100" |
|
.PD |
|
Log |
|
.IP "\fBlog_sqrt\fR" 4 |
|
.IX Item "log_sqrt" |
|
.PD 0 |
|
.IP "\fBlog316\fR" 4 |
|
.IX Item "log316" |
|
.PD |
|
Log square root |
|
.IP "\fBiec61966_2_4\fR" 4 |
|
.IX Item "iec61966_2_4" |
|
.PD 0 |
|
.IP "\fBiec61966\-2\-4\fR" 4 |
|
.IX Item "iec61966-2-4" |
|
.PD |
|
\&\s-1IEC 61966\-2\-4\s0 |
|
.IP "\fBbt1361\fR" 4 |
|
.IX Item "bt1361" |
|
.PD 0 |
|
.IP "\fBbt1361e\fR" 4 |
|
.IX Item "bt1361e" |
|
.PD |
|
\&\s-1BT.1361\s0 |
|
.IP "\fBiec61966_2_1\fR" 4 |
|
.IX Item "iec61966_2_1" |
|
.PD 0 |
|
.IP "\fBiec61966\-2\-1\fR" 4 |
|
.IX Item "iec61966-2-1" |
|
.PD |
|
\&\s-1IEC 61966\-2\-1\s0 |
|
.IP "\fBbt2020_10\fR" 4 |
|
.IX Item "bt2020_10" |
|
.PD 0 |
|
.IP "\fBbt2020_10bit\fR" 4 |
|
.IX Item "bt2020_10bit" |
|
.PD |
|
\&\s-1BT.2020\s0 \- 10 bit |
|
.IP "\fBbt2020_12\fR" 4 |
|
.IX Item "bt2020_12" |
|
.PD 0 |
|
.IP "\fBbt2020_12bit\fR" 4 |
|
.IX Item "bt2020_12bit" |
|
.PD |
|
\&\s-1BT.2020\s0 \- 12 bit |
|
.IP "\fBsmpte2084\fR" 4 |
|
.IX Item "smpte2084" |
|
\&\s-1SMPTE ST 2084\s0 |
|
.IP "\fBsmpte428\fR" 4 |
|
.IX Item "smpte428" |
|
.PD 0 |
|
.IP "\fBsmpte428_1\fR" 4 |
|
.IX Item "smpte428_1" |
|
.PD |
|
\&\s-1SMPTE ST 428\-1\s0 |
|
.IP "\fBarib\-std\-b67\fR" 4 |
|
.IX Item "arib-std-b67" |
|
\&\s-1ARIB STD\-B67\s0 |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBcolorspace\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4 |
|
.IX Item "colorspace integer (decoding/encoding,video)" |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBrgb\fR" 4 |
|
.IX Item "rgb" |
|
\&\s-1RGB\s0 |
|
.IP "\fBbt709\fR" 4 |
|
.IX Item "bt709" |
|
\&\s-1BT.709\s0 |
|
.IP "\fBfcc\fR" 4 |
|
.IX Item "fcc" |
|
\&\s-1FCC\s0 |
|
.IP "\fBbt470bg\fR" 4 |
|
.IX Item "bt470bg" |
|
\&\s-1BT.470 BG\s0 |
|
.IP "\fBsmpte170m\fR" 4 |
|
.IX Item "smpte170m" |
|
\&\s-1SMPTE 170 M\s0 |
|
.IP "\fBsmpte240m\fR" 4 |
|
.IX Item "smpte240m" |
|
\&\s-1SMPTE 240 M\s0 |
|
.IP "\fBycocg\fR" 4 |
|
.IX Item "ycocg" |
|
\&\s-1YCOCG\s0 |
|
.IP "\fBbt2020nc\fR" 4 |
|
.IX Item "bt2020nc" |
|
.PD 0 |
|
.IP "\fBbt2020_ncl\fR" 4 |
|
.IX Item "bt2020_ncl" |
|
.PD |
|
\&\s-1BT.2020 NCL\s0 |
|
.IP "\fBbt2020c\fR" 4 |
|
.IX Item "bt2020c" |
|
.PD 0 |
|
.IP "\fBbt2020_cl\fR" 4 |
|
.IX Item "bt2020_cl" |
|
.PD |
|
\&\s-1BT.2020 CL\s0 |
|
.IP "\fBsmpte2085\fR" 4 |
|
.IX Item "smpte2085" |
|
\&\s-1SMPTE 2085\s0 |
|
.IP "\fBchroma-derived-nc\fR" 4 |
|
.IX Item "chroma-derived-nc" |
|
Chroma-derived \s-1NCL\s0 |
|
.IP "\fBchroma-derived-c\fR" 4 |
|
.IX Item "chroma-derived-c" |
|
Chroma-derived \s-1CL\s0 |
|
.IP "\fBictcp\fR" 4 |
|
.IX Item "ictcp" |
|
ICtCp |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBcolor_range\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4 |
|
.IX Item "color_range integer (decoding/encoding,video)" |
|
If used as input parameter, it serves as a hint to the decoder, which |
|
color_range the input has. |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBtv\fR" 4 |
|
.IX Item "tv" |
|
.PD 0 |
|
.IP "\fBmpeg\fR" 4 |
|
.IX Item "mpeg" |
|
.PD |
|
\&\s-1MPEG\s0 (219*2^(n\-8)) |
|
.IP "\fBpc\fR" 4 |
|
.IX Item "pc" |
|
.PD 0 |
|
.IP "\fBjpeg\fR" 4 |
|
.IX Item "jpeg" |
|
.PD |
|
\&\s-1JPEG\s0 (2^n\-1) |
|
.RE |
|
.RS 4 |
|
.RE |
|
.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)" |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBleft\fR" 4 |
|
.IX Item "left" |
|
.PD 0 |
|
.IP "\fBcenter\fR" 4 |
|
.IX Item "center" |
|
.IP "\fBtopleft\fR" 4 |
|
.IX Item "topleft" |
|
.IP "\fBtop\fR" 4 |
|
.IX Item "top" |
|
.IP "\fBbottomleft\fR" 4 |
|
.IX Item "bottomleft" |
|
.IP "\fBbottom\fR" 4 |
|
.IX Item "bottom" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.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 which multithreading methods to use. |
|
.Sp |
|
Use of \fBframe\fR will increase decoding delay by one frame per |
|
thread, so clients which cannot provide future frames should not use |
|
it. |
|
.Sp |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBslice\fR" 4 |
|
.IX Item "slice" |
|
Decode more than one part of a single frame at once. |
|
.Sp |
|
Multithreading using slices works only when the video was encoded with |
|
slices. |
|
.IP "\fBframe\fR" 4 |
|
.IX Item "frame" |
|
Decode more than one frame at once. |
|
.RE |
|
.RS 4 |
|
.Sp |
|
Default value is \fBslice+frame\fR. |
|
.RE |
|
.IP "\fBaudio_service_type\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4 |
|
.IX Item "audio_service_type integer (encoding,audio)" |
|
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. |
|
.IP "\fBfield_order\fR \fIfield_order\fR \fB(\fR\fIvideo\fR\fB)\fR" 4 |
|
.IX Item "field_order field_order (video)" |
|
Set/override the field order of the video. |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBprogressive\fR" 4 |
|
.IX Item "progressive" |
|
Progressive video |
|
.IP "\fBtt\fR" 4 |
|
.IX Item "tt" |
|
Interlaced video, top field coded and displayed first |
|
.IP "\fBbb\fR" 4 |
|
.IX Item "bb" |
|
Interlaced video, bottom field coded and displayed first |
|
.IP "\fBtb\fR" 4 |
|
.IX Item "tb" |
|
Interlaced video, top coded first, bottom displayed first |
|
.IP "\fBbt\fR" 4 |
|
.IX Item "bt" |
|
Interlaced video, bottom coded first, top displayed first |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBskip_alpha\fR \fIbool\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4 |
|
.IX Item "skip_alpha bool (decoding,video)" |
|
Set to 1 to disable processing alpha (transparency). This works like the |
|
\&\fBgray\fR flag in the \fBflags\fR option which skips chroma information |
|
instead of alpha. Default is 0. |
|
.IP "\fBcodec_whitelist\fR \fIlist\fR \fB(\fR\fIinput\fR\fB)\fR" 4 |
|
.IX Item "codec_whitelist list (input)" |
|
\&\*(L",\*(R" separated list of allowed decoders. By default all are allowed. |
|
.IP "\fBdump_separator\fR \fIstring\fR \fB(\fR\fIinput\fR\fB)\fR" 4 |
|
.IX Item "dump_separator string (input)" |
|
Separator used to separate the fields printed on the command line about the |
|
Stream parameters. |
|
For example, to separate the fields with newlines and indentation: |
|
.Sp |
|
.Vb 2 |
|
\& ffprobe \-dump_separator " |
|
\& " \-i ~/videos/matrixbench_mpeg2.mpg |
|
.Ve |
|
.IP "\fBmax_pixels\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4 |
|
.IX Item "max_pixels integer (decoding/encoding,video)" |
|
Maximum number of pixels per image. This value can be used to avoid out of |
|
memory failures due to large images. |
|
.IP "\fBapply_cropping\fR \fIbool\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4 |
|
.IX Item "apply_cropping bool (decoding,video)" |
|
Enable cropping if cropping parameters are multiples of the required |
|
alignment for the left and top parameters. If the alignment is not met the |
|
cropping will be partially applied to maintain alignment. |
|
Default is 1 (enabled). |
|
Note: The required alignment depends on if \f(CW\*(C`AV_CODEC_FLAG_UNALIGNED\*(C'\fR is set and the |
|
\&\s-1CPU.\s0 \f(CW\*(C`AV_CODEC_FLAG_UNALIGNED\*(C'\fR cannot be changed from the command line. Also hardware |
|
decoders will not apply left/top Cropping. |
|
.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`\-decoders\*(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 "av1" |
|
.IX Subsection "av1" |
|
AOMedia Video 1 (\s-1AV1\s0) decoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBoperating_point\fR" 4 |
|
.IX Item "operating_point" |
|
Select an operating point of a scalable \s-1AV1\s0 bitstream (0 \- 31). Default is 0. |
|
.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 |
|
.SS "libdav1d" |
|
.IX Subsection "libdav1d" |
|
dav1d \s-1AV1\s0 decoder. |
|
.PP |
|
libdav1d allows libavcodec to decode the AOMedia Video 1 (\s-1AV1\s0) codec. |
|
Requires the presence of the libdav1d headers and library during configuration. |
|
You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libdav1d\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by the libdav1d wrapper. |
|
.IP "\fBframethreads\fR" 4 |
|
.IX Item "framethreads" |
|
Set amount of frame threads to use during decoding. The default value is 0 (autodetect). |
|
This option is deprecated for libdav1d >= 1.0 and will be removed in the future. Use the |
|
option \f(CW\*(C`max_frame_delay\*(C'\fR and the global option \f(CW\*(C`threads\*(C'\fR instead. |
|
.IP "\fBtilethreads\fR" 4 |
|
.IX Item "tilethreads" |
|
Set amount of tile threads to use during decoding. The default value is 0 (autodetect). |
|
This option is deprecated for libdav1d >= 1.0 and will be removed in the future. Use the |
|
global option \f(CW\*(C`threads\*(C'\fR instead. |
|
.IP "\fBmax_frame_delay\fR" 4 |
|
.IX Item "max_frame_delay" |
|
Set max amount of frames the decoder may buffer internally. The default value is 0 |
|
(autodetect). |
|
.IP "\fBfilmgrain\fR" 4 |
|
.IX Item "filmgrain" |
|
Apply film grain to the decoded video if present in the bitstream. Defaults to the |
|
internal default of the library. |
|
This option is deprecated and will be removed in the future. See the global option |
|
\&\f(CW\*(C`export_side_data\*(C'\fR to export Film Grain parameters instead of applying it. |
|
.IP "\fBoppoint\fR" 4 |
|
.IX Item "oppoint" |
|
Select an operating point of a scalable \s-1AV1\s0 bitstream (0 \- 31). Defaults to the |
|
internal default of the library. |
|
.IP "\fBalllayers\fR" 4 |
|
.IX Item "alllayers" |
|
Output all spatial layers of a scalable \s-1AV1\s0 bitstream. The default value is false. |
|
.SS "libdavs2" |
|
.IX Subsection "libdavs2" |
|
\&\s-1AVS2\-P2/IEEE1857.4\s0 video decoder wrapper. |
|
.PP |
|
This decoder allows libavcodec to decode \s-1AVS2\s0 streams with davs2 library. |
|
.SS "libuavs3d" |
|
.IX Subsection "libuavs3d" |
|
\&\s-1AVS3\-P2/IEEE1857.10\s0 video decoder. |
|
.PP |
|
libuavs3d allows libavcodec to decode \s-1AVS3\s0 streams. |
|
Requires the presence of the libuavs3d headers and library during configuration. |
|
You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libuavs3d\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following option is supported by the libuavs3d wrapper. |
|
.IP "\fBframe_threads\fR" 4 |
|
.IX Item "frame_threads" |
|
Set amount of frame threads to use during decoding. The default value is 0 (autodetect). |
|
.SS "\s-1QSV\s0 Decoders" |
|
.IX Subsection "QSV Decoders" |
|
The family of Intel QuickSync Video decoders (\s-1VC1, MPEG\-2, H.264, HEVC, |
|
JPEG/MJPEG, VP8, VP9, AV1\s0). |
|
.PP |
|
\fICommon Options\fR |
|
.IX Subsection "Common Options" |
|
.PP |
|
The following options are supported by all qsv decoders. |
|
.IP "\fIasync_depth\fR" 4 |
|
.IX Item "async_depth" |
|
Internal parallelization depth, the higher the value the higher the latency. |
|
.IP "\fIgpu_copy\fR" 4 |
|
.IX Item "gpu_copy" |
|
A GPU-accelerated copy between video and system memory |
|
.RS 4 |
|
.IP "\fBdefault\fR" 4 |
|
.IX Item "default" |
|
.PD 0 |
|
.IP "\fBon\fR" 4 |
|
.IX Item "on" |
|
.IP "\fBoff\fR" 4 |
|
.IX Item "off" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PD |
|
.PP |
|
\fI\s-1HEVC\s0 Options\fR |
|
.IX Subsection "HEVC Options" |
|
.PP |
|
Extra options for hevc_qsv. |
|
.IP "\fIload_plugin\fR" 4 |
|
.IX Item "load_plugin" |
|
A user plugin to load in an internal session |
|
.RS 4 |
|
.IP "\fBnone\fR" 4 |
|
.IX Item "none" |
|
.PD 0 |
|
.IP "\fBhevc_sw\fR" 4 |
|
.IX Item "hevc_sw" |
|
.IP "\fBhevc_hw\fR" 4 |
|
.IX Item "hevc_hw" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIload_plugins\fR" 4 |
|
.IX Item "load_plugins" |
|
.PD |
|
A :\-separate list of hexadecimal plugin UIDs to load in an internal session |
|
.SS "v210" |
|
.IX Subsection "v210" |
|
Uncompressed 4:2:2 10\-bit decoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBcustom_stride\fR" 4 |
|
.IX Item "custom_stride" |
|
Set the line size of the v210 data in bytes. The default value is 0 |
|
(autodetect). You can use the special \-1 value for a strideless v210 as seen in |
|
\&\s-1BOXX\s0 files. |
|
.SH "AUDIO DECODERS" |
|
.IX Header "AUDIO DECODERS" |
|
A description of some of the currently available audio decoders |
|
follows. |
|
.SS "ac3" |
|
.IX Subsection "ac3" |
|
\&\s-1AC\-3\s0 audio decoder. |
|
.PP |
|
This decoder implements part of \s-1ATSC A/52:2010\s0 and \s-1ETSI TS 102 366,\s0 as well as |
|
the undocumented RealAudio 3 (a.k.a. dnet). |
|
.PP |
|
\fI\s-1AC\-3\s0 Decoder Options\fR |
|
.IX Subsection "AC-3 Decoder Options" |
|
.IP "\fB\-drc_scale\fR \fIvalue\fR" 4 |
|
.IX Item "-drc_scale value" |
|
Dynamic Range Scale Factor. The factor to apply to dynamic range values |
|
from the \s-1AC\-3\s0 stream. This factor is applied exponentially. The default value is 1. |
|
There are 3 notable scale factor ranges: |
|
.RS 4 |
|
.IP "\fBdrc_scale == 0\fR" 4 |
|
.IX Item "drc_scale == 0" |
|
\&\s-1DRC\s0 disabled. Produces full range audio. |
|
.IP "\fB0 < drc_scale <= 1\fR" 4 |
|
.IX Item "0 < drc_scale <= 1" |
|
\&\s-1DRC\s0 enabled. Applies a fraction of the stream \s-1DRC\s0 value. |
|
Audio reproduction is between full range and full compression. |
|
.IP "\fBdrc_scale > 1\fR" 4 |
|
.IX Item "drc_scale > 1" |
|
\&\s-1DRC\s0 enabled. Applies drc_scale asymmetrically. |
|
Loud sounds are fully compressed. Soft sounds are enhanced. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.SS "flac" |
|
.IX Subsection "flac" |
|
\&\s-1FLAC\s0 audio decoder. |
|
.PP |
|
This decoder aims to implement the complete \s-1FLAC\s0 specification from Xiph. |
|
.PP |
|
\fI\s-1FLAC\s0 Decoder options\fR |
|
.IX Subsection "FLAC Decoder options" |
|
.IP "\fB\-use_buggy_lpc\fR" 4 |
|
.IX Item "-use_buggy_lpc" |
|
The lavc \s-1FLAC\s0 encoder used to produce buggy streams with high lpc values |
|
(like the default value). This option makes it possible to decode such streams |
|
correctly by using lavc's old buggy lpc logic for decoding. |
|
.SS "ffwavesynth" |
|
.IX Subsection "ffwavesynth" |
|
Internal wave synthesizer. |
|
.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. |
|
.SS "libcelt" |
|
.IX Subsection "libcelt" |
|
libcelt decoder wrapper. |
|
.PP |
|
libcelt allows libavcodec to decode the Xiph \s-1CELT\s0 ultra-low delay audio codec. |
|
Requires the presence of the libcelt headers and library during configuration. |
|
You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libcelt\*(C'\fR. |
|
.SS "libgsm" |
|
.IX Subsection "libgsm" |
|
libgsm decoder wrapper. |
|
.PP |
|
libgsm allows libavcodec to decode the \s-1GSM\s0 full rate audio codec. Requires |
|
the presence of the libgsm headers and library during configuration. You need |
|
to explicitly configure the build with \f(CW\*(C`\-\-enable\-libgsm\*(C'\fR. |
|
.PP |
|
This decoder supports both the ordinary \s-1GSM\s0 and the Microsoft variant. |
|
.SS "libilbc" |
|
.IX Subsection "libilbc" |
|
libilbc decoder wrapper. |
|
.PP |
|
libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC) |
|
audio codec. Requires the presence of the libilbc headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libilbc\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following option is supported by the libilbc wrapper. |
|
.IP "\fBenhance\fR" 4 |
|
.IX Item "enhance" |
|
Enable the enhancement of the decoded audio when set to 1. The default |
|
value is 0 (disabled). |
|
.SS "libopencore-amrnb" |
|
.IX Subsection "libopencore-amrnb" |
|
libopencore-amrnb decoder wrapper. |
|
.PP |
|
libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate |
|
Narrowband audio codec. Using it requires the presence of the |
|
libopencore-amrnb headers and library during configuration. You need to |
|
explicitly configure the build with \f(CW\*(C`\-\-enable\-libopencore\-amrnb\*(C'\fR. |
|
.PP |
|
An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB |
|
without this library. |
|
.SS "libopencore-amrwb" |
|
.IX Subsection "libopencore-amrwb" |
|
libopencore-amrwb decoder wrapper. |
|
.PP |
|
libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate |
|
Wideband audio codec. Using it requires the presence of the |
|
libopencore-amrwb headers and library during configuration. You need to |
|
explicitly configure the build with \f(CW\*(C`\-\-enable\-libopencore\-amrwb\*(C'\fR. |
|
.PP |
|
An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB |
|
without this library. |
|
.SS "libopus" |
|
.IX Subsection "libopus" |
|
libopus decoder wrapper. |
|
.PP |
|
libopus allows libavcodec to decode the Opus Interactive Audio Codec. |
|
Requires the presence of the libopus headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libopus\*(C'\fR. |
|
.PP |
|
An FFmpeg native decoder for Opus exists, so users can decode Opus |
|
without this library. |
|
.SH "SUBTITLES DECODERS" |
|
.IX Header "SUBTITLES DECODERS" |
|
.SS "libaribb24" |
|
.IX Subsection "libaribb24" |
|
\&\s-1ARIB STD\-B24\s0 caption decoder. |
|
.PP |
|
Implements profiles A and C of the \s-1ARIB STD\-B24\s0 standard. |
|
.PP |
|
\fIlibaribb24 Decoder Options\fR |
|
.IX Subsection "libaribb24 Decoder Options" |
|
.IP "\fB\-aribb24\-base\-path\fR \fIpath\fR" 4 |
|
.IX Item "-aribb24-base-path path" |
|
Sets the base path for the libaribb24 library. This is utilized for reading of |
|
configuration files (for custom unicode conversions), and for dumping of |
|
non-text symbols as images under that location. |
|
.Sp |
|
Unset by default. |
|
.IP "\fB\-aribb24\-skip\-ruby\-text\fR \fIboolean\fR" 4 |
|
.IX Item "-aribb24-skip-ruby-text boolean" |
|
Tells the decoder wrapper to skip text blocks that contain half-height ruby |
|
text. |
|
.Sp |
|
Enabled by default. |
|
.SS "libaribcaption" |
|
.IX Subsection "libaribcaption" |
|
Yet another \s-1ARIB STD\-B24\s0 caption decoder using external \fIlibaribcaption\fR |
|
library. |
|
.PP |
|
Implements profiles A and C of the Japanse \s-1ARIB STD\-B24\s0 standard, |
|
Brazilian \s-1ABNT NBR 15606\-1,\s0 and Philippines version of ISDB-T. |
|
.PP |
|
Requires the presence of the libaribcaption headers and library |
|
(<\fBhttps://github.com/xqq/libaribcaption\fR>) during configuration. |
|
You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libaribcaption\*(C'\fR. |
|
If both \fIlibaribb24\fR and \fIlibaribcaption\fR are enabled, \fIlibaribcaption\fR |
|
decoder precedes. |
|
.PP |
|
\fIlibaribcaption Decoder Options\fR |
|
.IX Subsection "libaribcaption Decoder Options" |
|
.IP "\fB\-sub_type\fR \fIsubtitle_type\fR" 4 |
|
.IX Item "-sub_type subtitle_type" |
|
Specifies the format of the decoded subtitles. |
|
.RS 4 |
|
.IP "\fBbitmap\fR" 4 |
|
.IX Item "bitmap" |
|
Graphical image. |
|
.IP "\fBass\fR" 4 |
|
.IX Item "ass" |
|
\&\s-1ASS\s0 formatted text. |
|
.IP "\fBtext\fR" 4 |
|
.IX Item "text" |
|
Simple text based output without formatting. |
|
.RE |
|
.RS 4 |
|
.Sp |
|
The default is \fIass\fR as same as \fIlibaribb24\fR decoder. |
|
Some present players (e.g., \fImpv\fR) expect \s-1ASS\s0 format for \s-1ARIB\s0 caption. |
|
.RE |
|
.IP "\fB\-caption_encoding\fR \fIencoding_scheme\fR" 4 |
|
.IX Item "-caption_encoding encoding_scheme" |
|
Specifies the encoding scheme of input subtitle text. |
|
.RS 4 |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
Automatically detect text encoding. |
|
.IP "\fBjis\fR" 4 |
|
.IX Item "jis" |
|
8bit\-char \s-1JIS\s0 encoding defined in \s-1ARIB STD B24.\s0 |
|
This encoding used in Japan for \s-1ISDB\s0 captions. |
|
.IP "\fButf8\fR" 4 |
|
.IX Item "utf8" |
|
\&\s-1UTF\-8\s0 encoding defined in \s-1ARIB STD B24.\s0 |
|
This encoding is used in Philippines for ISDB-T captions. |
|
.IP "\fBlatin\fR" 4 |
|
.IX Item "latin" |
|
Latin character encoding defined in \s-1ABNT NBR 15606\-1.\s0 |
|
This encoding is used in South America for \s-1SBTVD /\s0 ISDB-Tb captions. |
|
.RE |
|
.RS 4 |
|
.Sp |
|
The default is \fIass\fR as same as \fIlibaribb24\fR decoder. |
|
Some present players (e.g., \fImpv\fR) expect \s-1ASS\s0 format for \s-1ARIB\s0 caption. |
|
.RE |
|
.IP "\fB\-font\fR \fIfont_name[,font_name2,...]\fR" 4 |
|
.IX Item "-font font_name[,font_name2,...]" |
|
Specify comma-separated list of font family names to be used for \fIbitmap\fR |
|
or \fIass\fR type subtitle rendering. |
|
Only first font name is used for \fIass\fR type subtitle. |
|
.Sp |
|
If not specified, use internaly defined default font family. |
|
.IP "\fB\-ass_single_rect\fR \fIboolean\fR" 4 |
|
.IX Item "-ass_single_rect boolean" |
|
\&\s-1ARIB STD\-B24\s0 specifies that some captions may be displayed at different |
|
positions at a time (multi-rectangle subtitle). |
|
Since some players (e.g., old \fImpv\fR) can't handle multiple \s-1ASS\s0 rectangles |
|
in a single AVSubtitle, or multiple \s-1ASS\s0 rectangles of indeterminate duration |
|
with the same start timestamp, this option can change the behavior so that |
|
all the texts are displayed in a single \s-1ASS\s0 rectangle. |
|
.Sp |
|
The default is \fIfalse\fR. |
|
.Sp |
|
If your player cannot handle AVSubtitles with multiple \s-1ASS\s0 rectangles properly, |
|
set this option to \fItrue\fR or define \fBASS_SINGLE_RECT=1\fR to change |
|
default behavior at compilation. |
|
.IP "\fB\-replace_fullwidth_ascii\fR \fIboolean\fR" 4 |
|
.IX Item "-replace_fullwidth_ascii boolean" |
|
Specify whether to replace \s-1MSZ\s0 (Middle Size, half width) fullwidth |
|
alphanumerics with halfwidth alphanumerics. |
|
.Sp |
|
The default is \fItrue\fR. |
|
.IP "\fB\-force_outline_text\fR \fIboolean\fR" 4 |
|
.IX Item "-force_outline_text boolean" |
|
Specify whether always render outline text for all characters regardless of |
|
the indication by charactor style. |
|
.Sp |
|
The default is \fIfalse\fR. |
|
.IP "\fB\-outline_width\fR \fInumber\fR \fB(0.0 \- 3.0)\fR" 4 |
|
.IX Item "-outline_width number (0.0 - 3.0)" |
|
Specify width for outline text, in dots (relative). |
|
.Sp |
|
The default is \fI1.5\fR. |
|
.IP "\fB\-ignore_background\fR \fIboolean\fR" 4 |
|
.IX Item "-ignore_background boolean" |
|
Specify whether to ignore background color rendering. |
|
.Sp |
|
The default is \fIfalse\fR. |
|
.IP "\fB\-ignore_ruby\fR \fIboolean\fR" 4 |
|
.IX Item "-ignore_ruby boolean" |
|
Specify whether to ignore rendering for ruby-like (furigana) characters. |
|
.Sp |
|
The default is \fIfalse\fR. |
|
.IP "\fB\-replace_drcs\fR \fIboolean\fR" 4 |
|
.IX Item "-replace_drcs boolean" |
|
Specify whether to render replaced \s-1DRCS\s0 characters as Unicode characters. |
|
.Sp |
|
The default is \fItrue\fR. |
|
.IP "\fB\-canvas_size\fR \fIimage_size\fR" 4 |
|
.IX Item "-canvas_size image_size" |
|
Specify the resolution of the canvas to render subtitles to; usually, this |
|
should be frame size of input video. |
|
This only applies when \f(CW\*(C`\-subtitle_type\*(C'\fR is set to \fIbitmap\fR. |
|
.Sp |
|
The libaribcaption decoder assumes input frame size for bitmap rendering as below: |
|
.RS 4 |
|
.IP "1." 4 |
|
\&\s-1PROFILE_A : 1440\s0 x 1080 with \s-1SAR\s0 (\s-1PAR\s0) 4:3 |
|
.IP "2." 4 |
|
\&\s-1PROFILE_C : 320\s0 x 180 with \s-1SAR\s0 (\s-1PAR\s0) 1:1 |
|
.RE |
|
.RS 4 |
|
.Sp |
|
If actual frame size of input video does not match above assumption, |
|
the rendered captions may be distorted. |
|
To make the captions undistorted, add \f(CW\*(C`\-canvas_size\*(C'\fR option to specify |
|
actual input video size. |
|
.Sp |
|
Note that the \f(CW\*(C`\-canvas_size\*(C'\fR option is not required for video with |
|
different size but same aspect ratio. |
|
In such cases, the caption will be stretched or shrunk to actual video size |
|
if \f(CW\*(C`\-canvas_size\*(C'\fR option is not specified. |
|
If \f(CW\*(C`\-canvas_size\*(C'\fR option is specified with different size, |
|
the caption will be stretched or shrunk as specified size with calculated \s-1SAR.\s0 |
|
.RE |
|
.PP |
|
\fIlibaribcaption decoder usage examples\fR |
|
.IX Subsection "libaribcaption decoder usage examples" |
|
.PP |
|
Display MPEG-TS file with \s-1ARIB\s0 subtitle by \f(CW\*(C`ffplay\*(C'\fR tool: |
|
.PP |
|
.Vb 1 |
|
\& ffplay \-sub_type bitmap MPEG.TS |
|
.Ve |
|
.PP |
|
Display MPEG-TS file with input frame size 1920x1080 by \f(CW\*(C`ffplay\*(C'\fR tool: |
|
.PP |
|
.Vb 1 |
|
\& ffplay \-sub_type bitmap \-canvas_size 1920x1080 MPEG.TS |
|
.Ve |
|
.PP |
|
Embed \s-1ARIB\s0 subtitle in transcoded video: |
|
.PP |
|
.Vb 1 |
|
\& ffmpeg \-sub_type bitmap \-i src.m2t \-filter_complex "[0:v][0:s]overlay" \-vcodec h264 dest.mp4 |
|
.Ve |
|
.SS "dvbsub" |
|
.IX Subsection "dvbsub" |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBcompute_clut\fR" 4 |
|
.IX Item "compute_clut" |
|
.RS 4 |
|
.PD 0 |
|
.IP "\fB\-2\fR" 4 |
|
.IX Item "-2" |
|
.PD |
|
Compute clut once if no matching \s-1CLUT\s0 is in the stream. |
|
.IP "\fB\-1\fR" 4 |
|
.IX Item "-1" |
|
Compute clut if no matching \s-1CLUT\s0 is in the stream. |
|
.IP "\fB0\fR" 4 |
|
.IX Item "0" |
|
Never compute \s-1CLUT\s0 |
|
.IP "\fB1\fR" 4 |
|
.IX Item "1" |
|
Always compute \s-1CLUT\s0 and override the one provided in the stream. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBdvb_substream\fR" 4 |
|
.IX Item "dvb_substream" |
|
Selects the dvb substream, or all substreams if \-1 which is default. |
|
.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 commas, for example \f(CW\*(C`0d00ee, |
|
ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, |
|
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b\*(C'\fR. |
|
.IP "\fBifo_palette\fR" 4 |
|
.IX Item "ifo_palette" |
|
Specify the \s-1IFO\s0 file from which the global palette is obtained. |
|
(experimental) |
|
.IP "\fBforced_subs_only\fR" 4 |
|
.IX Item "forced_subs_only" |
|
Only decode subtitle entries marked as forced. Some titles have forced |
|
and non-forced subtitles in the same track. Setting this flag to \f(CW1\fR |
|
will only keep the forced subtitles. Default value is \f(CW0\fR. |
|
.SS "libzvbi-teletext" |
|
.IX Subsection "libzvbi-teletext" |
|
Libzvbi allows libavcodec to decode \s-1DVB\s0 teletext pages and \s-1DVB\s0 teletext |
|
subtitles. Requires the presence of the libzvbi headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libzvbi\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBtxt_page\fR" 4 |
|
.IX Item "txt_page" |
|
List of teletext page numbers to decode. Pages that do not match the specified |
|
list are dropped. You may use the special \f(CW\*(C`*\*(C'\fR string to match all pages, |
|
or \f(CW\*(C`subtitle\*(C'\fR to match all subtitle pages. |
|
Default value is *. |
|
.IP "\fBtxt_default_region\fR" 4 |
|
.IX Item "txt_default_region" |
|
Set default character set used for decoding, a value between 0 and 87 (see |
|
\&\s-1ETS 300 706,\s0 Section 15, Table 32). Default value is \-1, which does not |
|
override the libzvbi default. This option is needed for some legacy level 1.0 |
|
transmissions which cannot signal the proper charset. |
|
.IP "\fBtxt_chop_top\fR" 4 |
|
.IX Item "txt_chop_top" |
|
Discards the top teletext line. Default value is 1. |
|
.IP "\fBtxt_format\fR" 4 |
|
.IX Item "txt_format" |
|
Specifies the format of the decoded subtitles. |
|
.RS 4 |
|
.IP "\fBbitmap\fR" 4 |
|
.IX Item "bitmap" |
|
The default format, you should use this for teletext pages, because certain |
|
graphics and colors cannot be expressed in simple text or even \s-1ASS.\s0 |
|
.IP "\fBtext\fR" 4 |
|
.IX Item "text" |
|
Simple text based output without formatting. |
|
.IP "\fBass\fR" 4 |
|
.IX Item "ass" |
|
Formatted \s-1ASS\s0 output, subtitle pages and teletext pages are returned in |
|
different styles, subtitle pages are stripped down to text, but an effort is |
|
made to keep the text alignment and the formatting. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBtxt_left\fR" 4 |
|
.IX Item "txt_left" |
|
X offset of generated bitmaps, default is 0. |
|
.IP "\fBtxt_top\fR" 4 |
|
.IX Item "txt_top" |
|
Y offset of generated bitmaps, default is 0. |
|
.IP "\fBtxt_chop_spaces\fR" 4 |
|
.IX Item "txt_chop_spaces" |
|
Chops leading and trailing spaces and removes empty lines from the generated |
|
text. This option is useful for teletext based subtitles where empty spaces may |
|
be present at the start or at the end of the lines or empty lines may be |
|
present between the subtitle lines because of double-sized teletext characters. |
|
Default value is 1. |
|
.IP "\fBtxt_duration\fR" 4 |
|
.IX Item "txt_duration" |
|
Sets the display duration of the decoded teletext pages or subtitles in |
|
milliseconds. Default value is \-1 which means infinity or until the next |
|
subtitle event comes. |
|
.IP "\fBtxt_transparent\fR" 4 |
|
.IX Item "txt_transparent" |
|
Force transparent background of the generated teletext bitmaps. Default value |
|
is 0 which means an opaque background. |
|
.IP "\fBtxt_opacity\fR" 4 |
|
.IX Item "txt_opacity" |
|
Sets the opacity (0\-255) of the teletext background. If |
|
\&\fBtxt_transparent\fR is not set, it only affects characters between a start |
|
box and an end box, typically subtitles. Default value is 0 if |
|
\&\fBtxt_transparent\fR is set, 255 otherwise. |
|
.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`\-encoders\*(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 "aac" |
|
.IX Subsection "aac" |
|
Advanced Audio Coding (\s-1AAC\s0) encoder. |
|
.PP |
|
This encoder is the default \s-1AAC\s0 encoder, natively implemented into FFmpeg. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set bit rate in bits/s. Setting this automatically activates constant bit rate |
|
(\s-1CBR\s0) mode. If this option is unspecified it is set to 128kbps. |
|
.IP "\fBq\fR" 4 |
|
.IX Item "q" |
|
Set quality for variable bit rate (\s-1VBR\s0) mode. This option is valid only using |
|
the \fBffmpeg\fR command-line tool. For library interface users, use |
|
\&\fBglobal_quality\fR. |
|
.IP "\fBcutoff\fR" 4 |
|
.IX Item "cutoff" |
|
Set cutoff frequency. If unspecified will allow the encoder to dynamically |
|
adjust the cutoff to improve clarity on low bitrates. |
|
.IP "\fBaac_coder\fR" 4 |
|
.IX Item "aac_coder" |
|
Set \s-1AAC\s0 encoder coding method. Possible values: |
|
.RS 4 |
|
.IP "\fBtwoloop\fR" 4 |
|
.IX Item "twoloop" |
|
Two loop searching (\s-1TLS\s0) method. This is the default method. |
|
.Sp |
|
This method first sets quantizers depending on band thresholds and then tries |
|
to find an optimal combination by adding or subtracting a specific value from |
|
all quantizers and adjusting some individual quantizer a little. Will tune |
|
itself based on whether \fBaac_is\fR, \fBaac_ms\fR and \fBaac_pns\fR |
|
are enabled. |
|
.IP "\fBanmr\fR" 4 |
|
.IX Item "anmr" |
|
Average noise to mask ratio (\s-1ANMR\s0) trellis-based solution. |
|
.Sp |
|
This is an experimental coder which currently produces a lower quality, is more |
|
unstable and is slower than the default twoloop coder but has potential. |
|
Currently has no support for the \fBaac_is\fR or \fBaac_pns\fR options. |
|
Not currently recommended. |
|
.IP "\fBfast\fR" 4 |
|
.IX Item "fast" |
|
Constant quantizer method. |
|
.Sp |
|
Uses a cheaper version of twoloop algorithm that doesn't try to do as many |
|
clever adjustments. Worse with low bitrates (less than 64kbps), but is better |
|
and much faster at higher bitrates. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBaac_ms\fR" 4 |
|
.IX Item "aac_ms" |
|
Sets mid/side coding mode. The default value of \*(L"auto\*(R" will automatically use |
|
M/S with bands which will benefit from such coding. Can be forced for all bands |
|
using the value \*(L"enable\*(R", which is mainly useful for debugging or disabled using |
|
\&\*(L"disable\*(R". |
|
.IP "\fBaac_is\fR" 4 |
|
.IX Item "aac_is" |
|
Sets intensity stereo coding tool usage. By default, it's enabled and will |
|
automatically toggle \s-1IS\s0 for similar pairs of stereo bands if it's beneficial. |
|
Can be disabled for debugging by setting the value to \*(L"disable\*(R". |
|
.IP "\fBaac_pns\fR" 4 |
|
.IX Item "aac_pns" |
|
Uses perceptual noise substitution to replace low entropy high frequency bands |
|
with imperceptible white noise during the decoding process. By default, it's |
|
enabled, but can be disabled for debugging purposes by using \*(L"disable\*(R". |
|
.IP "\fBaac_tns\fR" 4 |
|
.IX Item "aac_tns" |
|
Enables the use of a multitap \s-1FIR\s0 filter which spans through the high frequency |
|
bands to hide quantization noise during the encoding process and is reverted |
|
by the decoder. As well as decreasing unpleasant artifacts in the high range |
|
this also reduces the entropy in the high bands and allows for more bits to |
|
be used by the mid-low bands. By default it's enabled but can be disabled for |
|
debugging by setting the option to \*(L"disable\*(R". |
|
.IP "\fBaac_ltp\fR" 4 |
|
.IX Item "aac_ltp" |
|
Enables the use of the long term prediction extension which increases coding |
|
efficiency in very low bandwidth situations such as encoding of voice or |
|
solo piano music by extending constant harmonic peaks in bands throughout |
|
frames. This option is implied by profile:a aac_low and is incompatible with |
|
aac_pred. Use in conjunction with \fB\-ar\fR to decrease the samplerate. |
|
.IP "\fBaac_pred\fR" 4 |
|
.IX Item "aac_pred" |
|
Enables the use of a more traditional style of prediction where the spectral |
|
coefficients transmitted are replaced by the difference of the current |
|
coefficients minus the previous \*(L"predicted\*(R" coefficients. In theory and sometimes |
|
in practice this can improve quality for low to mid bitrate audio. |
|
This option implies the aac_main profile and is incompatible with aac_ltp. |
|
.IP "\fBprofile\fR" 4 |
|
.IX Item "profile" |
|
Sets the encoding profile, possible values: |
|
.RS 4 |
|
.IP "\fBaac_low\fR" 4 |
|
.IX Item "aac_low" |
|
The default, \s-1AAC\s0 \*(L"Low-complexity\*(R" profile. Is the most compatible and produces |
|
decent quality. |
|
.IP "\fBmpeg2_aac_low\fR" 4 |
|
.IX Item "mpeg2_aac_low" |
|
Equivalent to \f(CW\*(C`\-profile:a aac_low \-aac_pns 0\*(C'\fR. \s-1PNS\s0 was introduced with the |
|
\&\s-1MPEG4\s0 specifications. |
|
.IP "\fBaac_ltp\fR" 4 |
|
.IX Item "aac_ltp" |
|
Long term prediction profile, is enabled by and will enable the \fBaac_ltp\fR |
|
option. Introduced in \s-1MPEG4.\s0 |
|
.IP "\fBaac_main\fR" 4 |
|
.IX Item "aac_main" |
|
Main-type prediction profile, is enabled by and will enable the \fBaac_pred\fR |
|
option. Introduced in \s-1MPEG2.\s0 |
|
.RE |
|
.RS 4 |
|
.Sp |
|
If this option is unspecified it is set to \fBaac_low\fR. |
|
.RE |
|
.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 A/52:2010\s0 and \s-1ETSI TS 102 366,\s0 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 \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: |
|
.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 A/D\s0 |
|
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 A/D\s0 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. |
|
.IP "\fBcutoff\fR \fIfrequency\fR" 4 |
|
.IX Item "cutoff frequency" |
|
Set lowpass cutoff frequency. If unspecified, the encoder selects a default |
|
determined by various other encoding parameters. |
|
.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 |
|
.SS "flac" |
|
.IX Subsection "flac" |
|
\&\s-1FLAC\s0 (Free Lossless Audio Codec) Encoder |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by FFmpeg's flac encoder. |
|
.IP "\fBcompression_level\fR" 4 |
|
.IX Item "compression_level" |
|
Sets the compression level, which chooses defaults for many other options |
|
if they are not set explicitly. Valid values are from 0 to 12, 5 is the |
|
default. |
|
.IP "\fBframe_size\fR" 4 |
|
.IX Item "frame_size" |
|
Sets the size of the frames in samples per channel. |
|
.IP "\fBlpc_coeff_precision\fR" 4 |
|
.IX Item "lpc_coeff_precision" |
|
Sets the \s-1LPC\s0 coefficient precision, valid values are from 1 to 15, 15 is the |
|
default. |
|
.IP "\fBlpc_type\fR" 4 |
|
.IX Item "lpc_type" |
|
Sets the first stage \s-1LPC\s0 algorithm |
|
.RS 4 |
|
.IP "\fBnone\fR" 4 |
|
.IX Item "none" |
|
\&\s-1LPC\s0 is not used |
|
.IP "\fBfixed\fR" 4 |
|
.IX Item "fixed" |
|
fixed \s-1LPC\s0 coefficients |
|
.IP "\fBlevinson\fR" 4 |
|
.IX Item "levinson" |
|
.PD 0 |
|
.IP "\fBcholesky\fR" 4 |
|
.IX Item "cholesky" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBlpc_passes\fR" 4 |
|
.IX Item "lpc_passes" |
|
.PD |
|
Number of passes to use for Cholesky factorization during \s-1LPC\s0 analysis |
|
.IP "\fBmin_partition_order\fR" 4 |
|
.IX Item "min_partition_order" |
|
The minimum partition order |
|
.IP "\fBmax_partition_order\fR" 4 |
|
.IX Item "max_partition_order" |
|
The maximum partition order |
|
.IP "\fBprediction_order_method\fR" 4 |
|
.IX Item "prediction_order_method" |
|
.RS 4 |
|
.PD 0 |
|
.IP "\fBestimation\fR" 4 |
|
.IX Item "estimation" |
|
.IP "\fB2level\fR" 4 |
|
.IX Item "2level" |
|
.IP "\fB4level\fR" 4 |
|
.IX Item "4level" |
|
.IP "\fB8level\fR" 4 |
|
.IX Item "8level" |
|
.IP "\fBsearch\fR" 4 |
|
.IX Item "search" |
|
.PD |
|
Bruteforce search |
|
.IP "\fBlog\fR" 4 |
|
.IX Item "log" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PD 0 |
|
.IP "\fBch_mode\fR" 4 |
|
.IX Item "ch_mode" |
|
.PD |
|
Channel mode |
|
.RS 4 |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
The mode is chosen automatically for each frame |
|
.IP "\fBindep\fR" 4 |
|
.IX Item "indep" |
|
Channels are independently coded |
|
.IP "\fBleft_side\fR" 4 |
|
.IX Item "left_side" |
|
.PD 0 |
|
.IP "\fBright_side\fR" 4 |
|
.IX Item "right_side" |
|
.IP "\fBmid_side\fR" 4 |
|
.IX Item "mid_side" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBexact_rice_parameters\fR" 4 |
|
.IX Item "exact_rice_parameters" |
|
.PD |
|
Chooses if rice parameters are calculated exactly or approximately. |
|
if set to 1 then they are chosen exactly, which slows the code down slightly and |
|
improves compression slightly. |
|
.IP "\fBmulti_dim_quant\fR" 4 |
|
.IX Item "multi_dim_quant" |
|
Multi Dimensional Quantization. If set to 1 then a 2nd stage \s-1LPC\s0 algorithm is |
|
applied after the first stage to finetune the coefficients. This is quite slow |
|
and slightly improves compression. |
|
.SS "opus" |
|
.IX Subsection "opus" |
|
Opus encoder. |
|
.PP |
|
This is a native FFmpeg encoder for the Opus format. Currently its in development and |
|
only implements the \s-1CELT\s0 part of the codec. Its quality is usually worse and at best |
|
is equal to the libopus encoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set bit rate in bits/s. If unspecified it uses the number of channels and the layout |
|
to make a good guess. |
|
.IP "\fBopus_delay\fR" 4 |
|
.IX Item "opus_delay" |
|
Sets the maximum delay in milliseconds. Lower delays than 20ms will very quickly |
|
decrease quality. |
|
.SS "libfdk_aac" |
|
.IX Subsection "libfdk_aac" |
|
libfdk-aac \s-1AAC\s0 (Advanced Audio Coding) encoder wrapper. |
|
.PP |
|
The libfdk-aac library is based on the Fraunhofer \s-1FDK AAC\s0 code from |
|
the Android project. |
|
.PP |
|
Requires the presence of the libfdk-aac headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libfdk\-aac\*(C'\fR. The library is also incompatible with \s-1GPL,\s0 |
|
so if you allow the use of \s-1GPL,\s0 you should configure with |
|
\&\f(CW\*(C`\-\-enable\-gpl \-\-enable\-nonfree \-\-enable\-libfdk\-aac\*(C'\fR. |
|
.PP |
|
This encoder has support for the AAC-HE profiles. |
|
.PP |
|
\&\s-1VBR\s0 encoding, enabled through the \fBvbr\fR or \fBflags |
|
+qscale\fR options, is experimental and only works with some |
|
combinations of parameters. |
|
.PP |
|
Support for encoding 7.1 audio is only available with libfdk-aac 0.1.3 or |
|
higher. |
|
.PP |
|
For more information see the fdk-aac project at |
|
<\fBhttp: |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are mapped on the shared FFmpeg codec options. |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set bit rate in bits/s. If the bitrate is not explicitly specified, it |
|
is automatically set to a suitable value depending on the selected |
|
profile. |
|
.Sp |
|
In case \s-1VBR\s0 mode is enabled the option is ignored. |
|
.IP "\fBar\fR" 4 |
|
.IX Item "ar" |
|
Set audio sampling rate (in Hz). |
|
.IP "\fBchannels\fR" 4 |
|
.IX Item "channels" |
|
Set the number of audio channels. |
|
.IP "\fBflags +qscale\fR" 4 |
|
.IX Item "flags +qscale" |
|
Enable fixed quality, \s-1VBR\s0 (Variable Bit Rate) mode. |
|
Note that \s-1VBR\s0 is implicitly enabled when the \fBvbr\fR value is |
|
positive. |
|
.IP "\fBcutoff\fR" 4 |
|
.IX Item "cutoff" |
|
Set cutoff frequency. If not specified (or explicitly set to 0) it |
|
will use a value automatically computed by the library. Default value |
|
is 0. |
|
.IP "\fBprofile\fR" 4 |
|
.IX Item "profile" |
|
Set audio profile. |
|
.Sp |
|
The following profiles are recognized: |
|
.RS 4 |
|
.IP "\fBaac_low\fR" 4 |
|
.IX Item "aac_low" |
|
Low Complexity \s-1AAC\s0 (\s-1LC\s0) |
|
.IP "\fBaac_he\fR" 4 |
|
.IX Item "aac_he" |
|
High Efficiency \s-1AAC\s0 (HE-AAC) |
|
.IP "\fBaac_he_v2\fR" 4 |
|
.IX Item "aac_he_v2" |
|
High Efficiency \s-1AAC\s0 version 2 (HE\-AACv2) |
|
.IP "\fBaac_ld\fR" 4 |
|
.IX Item "aac_ld" |
|
Low Delay \s-1AAC\s0 (\s-1LD\s0) |
|
.IP "\fBaac_eld\fR" 4 |
|
.IX Item "aac_eld" |
|
Enhanced Low Delay \s-1AAC\s0 (\s-1ELD\s0) |
|
.RE |
|
.RS 4 |
|
.Sp |
|
If not specified it is set to \fBaac_low\fR. |
|
.RE |
|
.PP |
|
The following are private options of the libfdk_aac encoder. |
|
.IP "\fBafterburner\fR" 4 |
|
.IX Item "afterburner" |
|
Enable afterburner feature if set to 1, disabled if set to 0. This |
|
improves the quality but also the required processing power. |
|
.Sp |
|
Default value is 1. |
|
.IP "\fBeld_sbr\fR" 4 |
|
.IX Item "eld_sbr" |
|
Enable \s-1SBR\s0 (Spectral Band Replication) for \s-1ELD\s0 if set to 1, disabled |
|
if set to 0. |
|
.Sp |
|
Default value is 0. |
|
.IP "\fBeld_v2\fR" 4 |
|
.IX Item "eld_v2" |
|
Enable ELDv2 (LD-MPS extension for \s-1ELD\s0 stereo signals) for ELDv2 if set to 1, |
|
disabled if set to 0. |
|
.Sp |
|
Note that option is available when fdk-aac version (\s-1AACENCODER_LIB_VL0.AACENCODER_LIB_VL1.AACENCODER_LIB_VL2\s0) > (4.0.0). |
|
.Sp |
|
Default value is 0. |
|
.IP "\fBsignaling\fR" 4 |
|
.IX Item "signaling" |
|
Set \s-1SBR/PS\s0 signaling style. |
|
.Sp |
|
It can assume one of the following values: |
|
.RS 4 |
|
.IP "\fBdefault\fR" 4 |
|
.IX Item "default" |
|
choose signaling implicitly (explicit hierarchical by default, |
|
implicit if global header is disabled) |
|
.IP "\fBimplicit\fR" 4 |
|
.IX Item "implicit" |
|
implicit backwards compatible signaling |
|
.IP "\fBexplicit_sbr\fR" 4 |
|
.IX Item "explicit_sbr" |
|
explicit \s-1SBR,\s0 implicit \s-1PS\s0 signaling |
|
.IP "\fBexplicit_hierarchical\fR" 4 |
|
.IX Item "explicit_hierarchical" |
|
explicit hierarchical signaling |
|
.RE |
|
.RS 4 |
|
.Sp |
|
Default value is \fBdefault\fR. |
|
.RE |
|
.IP "\fBlatm\fR" 4 |
|
.IX Item "latm" |
|
Output \s-1LATM/LOAS\s0 encapsulated data if set to 1, disabled if set to 0. |
|
.Sp |
|
Default value is 0. |
|
.IP "\fBheader_period\fR" 4 |
|
.IX Item "header_period" |
|
Set StreamMuxConfig and \s-1PCE\s0 repetition period (in frames) for sending |
|
in-band configuration buffers within \s-1LATM/LOAS\s0 transport layer. |
|
.Sp |
|
Must be a 16\-bits non-negative integer. |
|
.Sp |
|
Default value is 0. |
|
.IP "\fBvbr\fR" 4 |
|
.IX Item "vbr" |
|
Set \s-1VBR\s0 mode, from 1 to 5. 1 is lowest quality (though still pretty |
|
good) and 5 is highest quality. A value of 0 will disable \s-1VBR,\s0 and \s-1CBR\s0 |
|
(Constant Bit Rate) is enabled. |
|
.Sp |
|
Currently only the \fBaac_low\fR profile supports \s-1VBR\s0 encoding. |
|
.Sp |
|
\&\s-1VBR\s0 modes 1\-5 correspond to roughly the following average bit rates: |
|
.RS 4 |
|
.IP "\fB1\fR" 4 |
|
.IX Item "1" |
|
32 kbps/channel |
|
.IP "\fB2\fR" 4 |
|
.IX Item "2" |
|
40 kbps/channel |
|
.IP "\fB3\fR" 4 |
|
.IX Item "3" |
|
48\-56 kbps/channel |
|
.IP "\fB4\fR" 4 |
|
.IX Item "4" |
|
64 kbps/channel |
|
.IP "\fB5\fR" 4 |
|
.IX Item "5" |
|
about 80\-96 kbps/channel |
|
.RE |
|
.RS 4 |
|
.Sp |
|
Default value is 0. |
|
.RE |
|
.IP "\fBframe_length\fR" 4 |
|
.IX Item "frame_length" |
|
Set the audio frame length in samples. Default value is the internal |
|
default of the library. Refer to the library's documentation for information |
|
about supported values. |
|
.PP |
|
\fIExamples\fR |
|
.IX Subsection "Examples" |
|
.IP "\(bu" 4 |
|
Use \fBffmpeg\fR to convert an audio file to \s-1VBR AAC\s0 in an M4A (\s-1MP4\s0) |
|
container: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i input.wav \-codec:a libfdk_aac \-vbr 3 output.m4a |
|
.Ve |
|
.IP "\(bu" 4 |
|
Use \fBffmpeg\fR to convert an audio file to \s-1CBR\s0 64k kbps \s-1AAC,\s0 using the |
|
High-Efficiency \s-1AAC\s0 profile: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i input.wav \-c:a libfdk_aac \-profile:a aac_he \-b:a 64k output.m4a |
|
.Ve |
|
.SS "libmp3lame" |
|
.IX Subsection "libmp3lame" |
|
\&\s-1LAME\s0 (Lame Ain't an \s-1MP3\s0 Encoder) \s-1MP3\s0 encoder wrapper. |
|
.PP |
|
Requires the presence of the libmp3lame headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libmp3lame\*(C'\fR. |
|
.PP |
|
See \fBlibshine\fR for a fixed-point \s-1MP3\s0 encoder, although with a |
|
lower quality. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by the libmp3lame wrapper. The |
|
\&\fBlame\fR\-equivalent of the options are listed in parentheses. |
|
.IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4 |
|
.IX Item "b (-b)" |
|
Set bitrate expressed in bits/s for \s-1CBR\s0 or \s-1ABR. LAME\s0 \f(CW\*(C`bitrate\*(C'\fR is |
|
expressed in kilobits/s. |
|
.IP "\fBq (\fR\fI\-V\fR\fB)\fR" 4 |
|
.IX Item "q (-V)" |
|
Set constant quality setting for \s-1VBR.\s0 This option is valid only |
|
using the \fBffmpeg\fR command-line tool. For library interface |
|
users, use \fBglobal_quality\fR. |
|
.IP "\fBcompression_level (\fR\fI\-q\fR\fB)\fR" 4 |
|
.IX Item "compression_level (-q)" |
|
Set algorithm quality. Valid arguments are integers in the 0\-9 range, |
|
with 0 meaning highest quality but slowest, and 9 meaning fastest |
|
while producing the worst quality. |
|
.IP "\fBcutoff (\fR\fI\-\-lowpass\fR\fB)\fR" 4 |
|
.IX Item "cutoff (--lowpass)" |
|
Set lowpass cutoff frequency. If unspecified, the encoder dynamically |
|
adjusts the cutoff. |
|
.IP "\fBreservoir\fR" 4 |
|
.IX Item "reservoir" |
|
Enable use of bit reservoir when set to 1. Default value is 1. \s-1LAME\s0 |
|
has this enabled by default, but can be overridden by use |
|
\&\fB\-\-nores\fR option. |
|
.IP "\fBjoint_stereo (\fR\fI\-m j\fR\fB)\fR" 4 |
|
.IX Item "joint_stereo (-m j)" |
|
Enable the encoder to use (on a frame by frame basis) either L/R |
|
stereo or mid/side stereo. Default value is 1. |
|
.IP "\fBabr (\fR\fI\-\-abr\fR\fB)\fR" 4 |
|
.IX Item "abr (--abr)" |
|
Enable the encoder to use \s-1ABR\s0 when set to 1. The \fBlame\fR |
|
\&\fB\-\-abr\fR sets the target bitrate, while this options only |
|
tells FFmpeg to use \s-1ABR\s0 still relies on \fBb\fR to set bitrate. |
|
.IP "\fBcopyright (\fR\fI\-c\fR\fB)\fR" 4 |
|
.IX Item "copyright (-c)" |
|
Set \s-1MPEG\s0 audio copyright flag when set to 1. The default value is 0 |
|
(disabled). |
|
.IP "\fBoriginal (\fR\fI\-o\fR\fB)\fR" 4 |
|
.IX Item "original (-o)" |
|
Set \s-1MPEG\s0 audio original flag when set to 1. The default value is 1 |
|
(enabled). |
|
.SS "libopencore-amrnb" |
|
.IX Subsection "libopencore-amrnb" |
|
OpenCORE Adaptive Multi-Rate Narrowband encoder. |
|
.PP |
|
Requires the presence of the libopencore-amrnb headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libopencore\-amrnb \-\-enable\-version3\*(C'\fR. |
|
.PP |
|
This is a mono-only encoder. Officially it only supports 8000Hz sample rate, |
|
but you can override it by setting \fBstrict\fR to \fBunofficial\fR or |
|
lower. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set bitrate in bits per second. Only the following bitrates are supported, |
|
otherwise libavcodec will round to the nearest valid bitrate. |
|
.RS 4 |
|
.IP "\fB4750\fR" 4 |
|
.IX Item "4750" |
|
.PD 0 |
|
.IP "\fB5150\fR" 4 |
|
.IX Item "5150" |
|
.IP "\fB5900\fR" 4 |
|
.IX Item "5900" |
|
.IP "\fB6700\fR" 4 |
|
.IX Item "6700" |
|
.IP "\fB7400\fR" 4 |
|
.IX Item "7400" |
|
.IP "\fB7950\fR" 4 |
|
.IX Item "7950" |
|
.IP "\fB10200\fR" 4 |
|
.IX Item "10200" |
|
.IP "\fB12200\fR" 4 |
|
.IX Item "12200" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBdtx\fR" 4 |
|
.IX Item "dtx" |
|
.PD |
|
Allow discontinuous transmission (generate comfort noise) when set to 1. The |
|
default value is 0 (disabled). |
|
.SS "libopus" |
|
.IX Subsection "libopus" |
|
libopus Opus Interactive Audio Codec encoder wrapper. |
|
.PP |
|
Requires the presence of the libopus headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libopus\*(C'\fR. |
|
.PP |
|
\fIOption Mapping\fR |
|
.IX Subsection "Option Mapping" |
|
.PP |
|
Most libopus options are modelled after the \fBopusenc\fR utility from |
|
opus-tools. The following is an option mapping chart describing options |
|
supported by the libopus wrapper, and their \fBopusenc\fR\-equivalent |
|
in parentheses. |
|
.IP "\fBb (\fR\fIbitrate\fR\fB)\fR" 4 |
|
.IX Item "b (bitrate)" |
|
Set the bit rate in bits/s. FFmpeg's \fBb\fR option is |
|
expressed in bits/s, while \fBopusenc\fR's \fBbitrate\fR in |
|
kilobits/s. |
|
.IP "\fBvbr (\fR\fIvbr\fR\fB,\fR \fIhard-cbr\fR\fB, and\fR \fIcvbr\fR\fB)\fR" 4 |
|
.IX Item "vbr (vbr, hard-cbr, and cvbr)" |
|
Set \s-1VBR\s0 mode. The FFmpeg \fBvbr\fR option has the following |
|
valid arguments, with the \fBopusenc\fR equivalent options |
|
in parentheses: |
|
.RS 4 |
|
.IP "\fBoff (\fR\fIhard-cbr\fR\fB)\fR" 4 |
|
.IX Item "off (hard-cbr)" |
|
Use constant bit rate encoding. |
|
.IP "\fBon (\fR\fIvbr\fR\fB)\fR" 4 |
|
.IX Item "on (vbr)" |
|
Use variable bit rate encoding (the default). |
|
.IP "\fBconstrained (\fR\fIcvbr\fR\fB)\fR" 4 |
|
.IX Item "constrained (cvbr)" |
|
Use constrained variable bit rate encoding. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBcompression_level (\fR\fIcomp\fR\fB)\fR" 4 |
|
.IX Item "compression_level (comp)" |
|
Set encoding algorithm complexity. Valid options are integers in |
|
the 0\-10 range. 0 gives the fastest encodes but lower quality, while 10 |
|
gives the highest quality but slowest encoding. The default is 10. |
|
.IP "\fBframe_duration (\fR\fIframesize\fR\fB)\fR" 4 |
|
.IX Item "frame_duration (framesize)" |
|
Set maximum frame size, or duration of a frame in milliseconds. The |
|
argument must be exactly the following: 2.5, 5, 10, 20, 40, 60. Smaller |
|
frame sizes achieve lower latency but less quality at a given bitrate. |
|
Sizes greater than 20ms are only interesting at fairly low bitrates. |
|
The default is 20ms. |
|
.IP "\fBpacket_loss (\fR\fIexpect-loss\fR\fB)\fR" 4 |
|
.IX Item "packet_loss (expect-loss)" |
|
Set expected packet loss percentage. The default is 0. |
|
.IP "\fBfec (\fR\fIn/a\fR\fB)\fR" 4 |
|
.IX Item "fec (n/a)" |
|
Enable inband forward error correction. \fBpacket_loss\fR must be non-zero |
|
to take advantage \- frequency of \s-1FEC\s0 'side\-data' is proportional to expected packet loss. |
|
Default is disabled. |
|
.IP "\fBapplication (N.A.)\fR" 4 |
|
.IX Item "application (N.A.)" |
|
Set intended application type. Valid options are listed below: |
|
.RS 4 |
|
.IP "\fBvoip\fR" 4 |
|
.IX Item "voip" |
|
Favor improved speech intelligibility. |
|
.IP "\fBaudio\fR" 4 |
|
.IX Item "audio" |
|
Favor faithfulness to the input (the default). |
|
.IP "\fBlowdelay\fR" 4 |
|
.IX Item "lowdelay" |
|
Restrict to only the lowest delay modes. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBcutoff (N.A.)\fR" 4 |
|
.IX Item "cutoff (N.A.)" |
|
Set cutoff bandwidth in Hz. The argument must be exactly one of the |
|
following: 4000, 6000, 8000, 12000, or 20000, corresponding to |
|
narrowband, mediumband, wideband, super wideband, and fullband |
|
respectively. The default is 0 (cutoff disabled). |
|
.IP "\fBmapping_family (\fR\fImapping_family\fR\fB)\fR" 4 |
|
.IX Item "mapping_family (mapping_family)" |
|
Set channel mapping family to be used by the encoder. The default value of \-1 |
|
uses mapping family 0 for mono and stereo inputs, and mapping family 1 |
|
otherwise. The default also disables the surround masking and \s-1LFE\s0 bandwidth |
|
optimzations in libopus, and requires that the input contains 8 channels or |
|
fewer. |
|
.Sp |
|
Other values include 0 for mono and stereo, 1 for surround sound with masking |
|
and \s-1LFE\s0 bandwidth optimizations, and 255 for independent streams with an |
|
unspecified channel layout. |
|
.IP "\fBapply_phase_inv (N.A.) (requires libopus >= 1.2)\fR" 4 |
|
.IX Item "apply_phase_inv (N.A.) (requires libopus >= 1.2)" |
|
If set to 0, disables the use of phase inversion for intensity stereo, |
|
improving the quality of mono downmixes, but slightly reducing normal stereo |
|
quality. The default is 1 (phase inversion enabled). |
|
.SS "libshine" |
|
.IX Subsection "libshine" |
|
Shine Fixed-Point \s-1MP3\s0 encoder wrapper. |
|
.PP |
|
Shine is a fixed-point \s-1MP3\s0 encoder. It has a far better performance on |
|
platforms without an \s-1FPU,\s0 e.g. armel CPUs, and some phones and tablets. |
|
However, as it is more targeted on performance than quality, it is not on par |
|
with \s-1LAME\s0 and other production-grade encoders quality-wise. Also, according to |
|
the project's homepage, this encoder may not be free of bugs as the code was |
|
written a long time ago and the project was dead for at least 5 years. |
|
.PP |
|
This encoder only supports stereo and mono input. This is also CBR-only. |
|
.PP |
|
The original project (last updated in early 2007) is at |
|
<\fBhttp: |
|
updated fork by the Savonet/Liquidsoap project at <\fBhttps: |
|
.PP |
|
Requires the presence of the libshine headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libshine\*(C'\fR. |
|
.PP |
|
See also \fBlibmp3lame\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by the libshine wrapper. The |
|
\&\fBshineenc\fR\-equivalent of the options are listed in parentheses. |
|
.IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4 |
|
.IX Item "b (-b)" |
|
Set bitrate expressed in bits/s for \s-1CBR.\s0 \fBshineenc\fR \fB\-b\fR option |
|
is expressed in kilobits/s. |
|
.SS "libtwolame" |
|
.IX Subsection "libtwolame" |
|
TwoLAME \s-1MP2\s0 encoder wrapper. |
|
.PP |
|
Requires the presence of the libtwolame headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libtwolame\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by the libtwolame wrapper. The |
|
\&\fBtwolame\fR\-equivalent options follow the FFmpeg ones and are in |
|
parentheses. |
|
.IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4 |
|
.IX Item "b (-b)" |
|
Set bitrate expressed in bits/s for \s-1CBR.\s0 \fBtwolame\fR \fBb\fR |
|
option is expressed in kilobits/s. Default value is 128k. |
|
.IP "\fBq (\fR\fI\-V\fR\fB)\fR" 4 |
|
.IX Item "q (-V)" |
|
Set quality for experimental \s-1VBR\s0 support. Maximum value range is |
|
from \-50 to 50, useful range is from \-10 to 10. The higher the |
|
value, the better the quality. This option is valid only using the |
|
\&\fBffmpeg\fR command-line tool. For library interface users, |
|
use \fBglobal_quality\fR. |
|
.IP "\fBmode (\fR\fI\-\-mode\fR\fB)\fR" 4 |
|
.IX Item "mode (--mode)" |
|
Set the mode of the resulting audio. Possible values: |
|
.RS 4 |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
Choose mode automatically based on the input. This is the default. |
|
.IP "\fBstereo\fR" 4 |
|
.IX Item "stereo" |
|
Stereo |
|
.IP "\fBjoint_stereo\fR" 4 |
|
.IX Item "joint_stereo" |
|
Joint stereo |
|
.IP "\fBdual_channel\fR" 4 |
|
.IX Item "dual_channel" |
|
Dual channel |
|
.IP "\fBmono\fR" 4 |
|
.IX Item "mono" |
|
Mono |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBpsymodel (\fR\fI\-\-psyc\-mode\fR\fB)\fR" 4 |
|
.IX Item "psymodel (--psyc-mode)" |
|
Set psychoacoustic model to use in encoding. The argument must be |
|
an integer between \-1 and 4, inclusive. The higher the value, the |
|
better the quality. The default value is 3. |
|
.IP "\fBenergy_levels (\fR\fI\-\-energy\fR\fB)\fR" 4 |
|
.IX Item "energy_levels (--energy)" |
|
Enable energy levels extensions when set to 1. The default value is |
|
0 (disabled). |
|
.IP "\fBerror_protection (\fR\fI\-\-protect\fR\fB)\fR" 4 |
|
.IX Item "error_protection (--protect)" |
|
Enable \s-1CRC\s0 error protection when set to 1. The default value is 0 |
|
(disabled). |
|
.IP "\fBcopyright (\fR\fI\-\-copyright\fR\fB)\fR" 4 |
|
.IX Item "copyright (--copyright)" |
|
Set \s-1MPEG\s0 audio copyright flag when set to 1. The default value is 0 |
|
(disabled). |
|
.IP "\fBoriginal (\fR\fI\-\-original\fR\fB)\fR" 4 |
|
.IX Item "original (--original)" |
|
Set \s-1MPEG\s0 audio original flag when set to 1. The default value is 0 |
|
(disabled). |
|
.SS "libvo-amrwbenc" |
|
.IX Subsection "libvo-amrwbenc" |
|
VisualOn Adaptive Multi-Rate Wideband encoder. |
|
.PP |
|
Requires the presence of the libvo-amrwbenc headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libvo\-amrwbenc \-\-enable\-version3\*(C'\fR. |
|
.PP |
|
This is a mono-only encoder. Officially it only supports 16000Hz sample |
|
rate, but you can override it by setting \fBstrict\fR to |
|
\&\fBunofficial\fR or lower. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set bitrate in bits/s. Only the following bitrates are supported, otherwise |
|
libavcodec will round to the nearest valid bitrate. |
|
.RS 4 |
|
.IP "\fB6600\fR" 4 |
|
.IX Item "6600" |
|
.PD 0 |
|
.IP "\fB8850\fR" 4 |
|
.IX Item "8850" |
|
.IP "\fB12650\fR" 4 |
|
.IX Item "12650" |
|
.IP "\fB14250\fR" 4 |
|
.IX Item "14250" |
|
.IP "\fB15850\fR" 4 |
|
.IX Item "15850" |
|
.IP "\fB18250\fR" 4 |
|
.IX Item "18250" |
|
.IP "\fB19850\fR" 4 |
|
.IX Item "19850" |
|
.IP "\fB23050\fR" 4 |
|
.IX Item "23050" |
|
.IP "\fB23850\fR" 4 |
|
.IX Item "23850" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBdtx\fR" 4 |
|
.IX Item "dtx" |
|
.PD |
|
Allow discontinuous transmission (generate comfort noise) when set to 1. The |
|
default value is 0 (disabled). |
|
.SS "libvorbis" |
|
.IX Subsection "libvorbis" |
|
libvorbis encoder wrapper. |
|
.PP |
|
Requires the presence of the libvorbisenc headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libvorbis\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by the libvorbis wrapper. The |
|
\&\fBoggenc\fR\-equivalent of the options are listed in parentheses. |
|
.PP |
|
To get a more accurate and extensive documentation of the libvorbis |
|
options, consult the libvorbisenc's and \fBoggenc\fR's documentations. |
|
See <\fBhttp: |
|
<\fBhttp: |
|
.IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4 |
|
.IX Item "b (-b)" |
|
Set bitrate expressed in bits/s for \s-1ABR.\s0 \fBoggenc\fR \fB\-b\fR is |
|
expressed in kilobits/s. |
|
.IP "\fBq (\fR\fI\-q\fR\fB)\fR" 4 |
|
.IX Item "q (-q)" |
|
Set constant quality setting for \s-1VBR.\s0 The value should be a float |
|
number in the range of \-1.0 to 10.0. The higher the value, the better |
|
the quality. The default value is \fB3.0\fR. |
|
.Sp |
|
This option is valid only using the \fBffmpeg\fR command-line tool. |
|
For library interface users, use \fBglobal_quality\fR. |
|
.IP "\fBcutoff (\fR\fI\-\-advanced\-encode\-option lowpass_frequency=N\fR\fB)\fR" 4 |
|
.IX Item "cutoff (--advanced-encode-option lowpass_frequency=N)" |
|
Set cutoff bandwidth in Hz, a value of 0 disables cutoff. \fBoggenc\fR's |
|
related option is expressed in kHz. The default value is \fB0\fR (cutoff |
|
disabled). |
|
.IP "\fBminrate (\fR\fI\-m\fR\fB)\fR" 4 |
|
.IX Item "minrate (-m)" |
|
Set minimum bitrate expressed in bits/s. \fBoggenc\fR \fB\-m\fR is |
|
expressed in kilobits/s. |
|
.IP "\fBmaxrate (\fR\fI\-M\fR\fB)\fR" 4 |
|
.IX Item "maxrate (-M)" |
|
Set maximum bitrate expressed in bits/s. \fBoggenc\fR \fB\-M\fR is |
|
expressed in kilobits/s. This only has effect on \s-1ABR\s0 mode. |
|
.IP "\fBiblock (\fR\fI\-\-advanced\-encode\-option impulse_noisetune=N\fR\fB)\fR" 4 |
|
.IX Item "iblock (--advanced-encode-option impulse_noisetune=N)" |
|
Set noise floor bias for impulse blocks. The value is a float number from |
|
\&\-15.0 to 0.0. A negative bias instructs the encoder to pay special attention |
|
to the crispness of transients in the encoded audio. The tradeoff for better |
|
transient response is a higher bitrate. |
|
.SS "mjpeg" |
|
.IX Subsection "mjpeg" |
|
Motion \s-1JPEG\s0 encoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBhuffman\fR" 4 |
|
.IX Item "huffman" |
|
Set the huffman encoding strategy. Possible values: |
|
.RS 4 |
|
.IP "\fBdefault\fR" 4 |
|
.IX Item "default" |
|
Use the default huffman tables. This is the default strategy. |
|
.IP "\fBoptimal\fR" 4 |
|
.IX Item "optimal" |
|
Compute and use optimal huffman tables. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.SS "wavpack" |
|
.IX Subsection "wavpack" |
|
WavPack lossless audio encoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The equivalent options for \fBwavpack\fR command line utility are listed in |
|
parentheses. |
|
.PP |
|
Shared options |
|
.IX Subsection "Shared options" |
|
.PP |
|
The following shared options are effective for this encoder. Only special notes |
|
about this particular encoder will be documented here. For the general meaning |
|
of the options, see \fBthe Codec Options chapter\fR. |
|
.IP "\fBframe_size (\fR\fI\-\-blocksize\fR\fB)\fR" 4 |
|
.IX Item "frame_size (--blocksize)" |
|
For this encoder, the range for this option is between 128 and 131072. Default |
|
is automatically decided based on sample rate and number of channel. |
|
.Sp |
|
For the complete formula of calculating default, see |
|
\&\fIlibavcodec/wavpackenc.c\fR. |
|
.IP "\fBcompression_level (\fR\fI\-f\fR\fB,\fR \fI\-h\fR\fB,\fR \fI\-hh\fR\fB, and\fR \fI\-x\fR\fB)\fR" 4 |
|
.IX Item "compression_level (-f, -h, -hh, and -x)" |
|
.PP |
|
Private options |
|
.IX Subsection "Private options" |
|
.IP "\fBjoint_stereo (\fR\fI\-j\fR\fB)\fR" 4 |
|
.IX Item "joint_stereo (-j)" |
|
Set whether to enable joint stereo. Valid values are: |
|
.RS 4 |
|
.IP "\fBon (\fR\fI1\fR\fB)\fR" 4 |
|
.IX Item "on (1)" |
|
Force mid/side audio encoding. |
|
.IP "\fBoff (\fR\fI0\fR\fB)\fR" 4 |
|
.IX Item "off (0)" |
|
Force left/right audio encoding. |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
Let the encoder decide automatically. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBoptimize_mono\fR" 4 |
|
.IX Item "optimize_mono" |
|
Set whether to enable optimization for mono. This option is only effective for |
|
non-mono streams. Available values: |
|
.RS 4 |
|
.IP "\fBon\fR" 4 |
|
.IX Item "on" |
|
enabled |
|
.IP "\fBoff\fR" 4 |
|
.IX Item "off" |
|
disabled |
|
.RE |
|
.RS 4 |
|
.RE |
|
.SH "VIDEO ENCODERS" |
|
.IX Header "VIDEO ENCODERS" |
|
A description of some of the currently available video encoders |
|
follows. |
|
.SS "a64_multi, a64_multi5" |
|
.IX Subsection "a64_multi, a64_multi5" |
|
A64 / Commodore 64 multicolor charset encoder. \f(CW\*(C`a64_multi5\*(C'\fR is extended with 5th color (colram). |
|
.SS "Cinepak" |
|
.IX Subsection "Cinepak" |
|
Cinepak aka \s-1CVID\s0 encoder. |
|
Compatible with Windows 3.1 and vintage MacOS. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBg\fR \fIinteger\fR" 4 |
|
.IX Item "g integer" |
|
Keyframe interval. |
|
A keyframe is inserted at least every \f(CW\*(C`\-g\*(C'\fR frames, sometimes sooner. |
|
.IP "\fBq:v\fR \fIinteger\fR" 4 |
|
.IX Item "q:v integer" |
|
Quality factor. Lower is better. Higher gives lower bitrate. |
|
The following table lists bitrates when encoding akiyo_cif.y4m for various values of \f(CW\*(C`\-q:v\*(C'\fR with \f(CW\*(C`\-g 100\*(C'\fR: |
|
.RS 4 |
|
.ie n .IP "\fB\f(CB""\-q:v 1""\fB 1918 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 1\fB 1918 kb/s\fR" 4 |
|
.IX Item "-q:v 1 1918 kb/s" |
|
.PD 0 |
|
.ie n .IP "\fB\f(CB""\-q:v 2""\fB 1735 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 2\fB 1735 kb/s\fR" 4 |
|
.IX Item "-q:v 2 1735 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 4""\fB 1500 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 4\fB 1500 kb/s\fR" 4 |
|
.IX Item "-q:v 4 1500 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 10""\fB 1041 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 10\fB 1041 kb/s\fR" 4 |
|
.IX Item "-q:v 10 1041 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 20""\fB 826 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 20\fB 826 kb/s\fR" 4 |
|
.IX Item "-q:v 20 826 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 40""\fB 553 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 40\fB 553 kb/s\fR" 4 |
|
.IX Item "-q:v 40 553 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 100""\fB 394 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 100\fB 394 kb/s\fR" 4 |
|
.IX Item "-q:v 100 394 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 200""\fB 312 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 200\fB 312 kb/s\fR" 4 |
|
.IX Item "-q:v 200 312 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 400""\fB 266 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 400\fB 266 kb/s\fR" 4 |
|
.IX Item "-q:v 400 266 kb/s" |
|
.ie n .IP "\fB\f(CB""\-q:v 1000""\fB 237 kb/s\fR" 4 |
|
.el .IP "\fB\f(CB\-q:v 1000\fB 237 kb/s\fR" 4 |
|
.IX Item "-q:v 1000 237 kb/s" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBmax_extra_cb_iterations\fR \fIinteger\fR" 4 |
|
.IX Item "max_extra_cb_iterations integer" |
|
.PD |
|
Max extra codebook recalculation passes, more is better and slower. |
|
.IP "\fBskip_empty_cb\fR \fIboolean\fR" 4 |
|
.IX Item "skip_empty_cb boolean" |
|
Avoid wasting bytes, ignore vintage MacOS decoder. |
|
.IP "\fBmax_strips\fR \fIinteger\fR" 4 |
|
.IX Item "max_strips integer" |
|
.PD 0 |
|
.IP "\fBmin_strips\fR \fIinteger\fR" 4 |
|
.IX Item "min_strips integer" |
|
.PD |
|
The minimum and maximum number of strips to use. |
|
Wider range sometimes improves quality. |
|
More strips is generally better quality but costs more bits. |
|
Fewer strips tend to yield more keyframes. |
|
Vintage compatible is 1..3. |
|
.IP "\fBstrip_number_adaptivity\fR \fIinteger\fR" 4 |
|
.IX Item "strip_number_adaptivity integer" |
|
How much number of strips is allowed to change between frames. |
|
Higher is better but slower. |
|
.SS "\s-1GIF\s0" |
|
.IX Subsection "GIF" |
|
\&\s-1GIF\s0 image/animation encoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBgifflags\fR \fIinteger\fR" 4 |
|
.IX Item "gifflags integer" |
|
Sets the flags used for \s-1GIF\s0 encoding. |
|
.RS 4 |
|
.IP "\fBoffsetting\fR" 4 |
|
.IX Item "offsetting" |
|
Enables picture offsetting. |
|
.Sp |
|
Default is enabled. |
|
.IP "\fBtransdiff\fR" 4 |
|
.IX Item "transdiff" |
|
Enables transparency detection between frames. |
|
.Sp |
|
Default is enabled. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBgifimage\fR \fIinteger\fR" 4 |
|
.IX Item "gifimage integer" |
|
Enables encoding one full \s-1GIF\s0 image per frame, rather than an animated \s-1GIF.\s0 |
|
.Sp |
|
Default value is \fB0\fR. |
|
.IP "\fBglobal_palette\fR \fIinteger\fR" 4 |
|
.IX Item "global_palette integer" |
|
Writes a palette to the global \s-1GIF\s0 header where feasible. |
|
.Sp |
|
If disabled, every frame will always have a palette written, even if there |
|
is a global palette supplied. |
|
.Sp |
|
Default value is \fB1\fR. |
|
.SS "Hap" |
|
.IX Subsection "Hap" |
|
Vidvox Hap video encoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBformat\fR \fIinteger\fR" 4 |
|
.IX Item "format integer" |
|
Specifies the Hap format to encode. |
|
.RS 4 |
|
.IP "\fBhap\fR" 4 |
|
.IX Item "hap" |
|
.PD 0 |
|
.IP "\fBhap_alpha\fR" 4 |
|
.IX Item "hap_alpha" |
|
.IP "\fBhap_q\fR" 4 |
|
.IX Item "hap_q" |
|
.RE |
|
.RS 4 |
|
.PD |
|
.Sp |
|
Default value is \fBhap\fR. |
|
.RE |
|
.IP "\fBchunks\fR \fIinteger\fR" 4 |
|
.IX Item "chunks integer" |
|
Specifies the number of chunks to split frames into, between 1 and 64. This |
|
permits multithreaded decoding of large frames, potentially at the cost of |
|
data-rate. The encoder may modify this value to divide frames evenly. |
|
.Sp |
|
Default value is \fI1\fR. |
|
.IP "\fBcompressor\fR \fIinteger\fR" 4 |
|
.IX Item "compressor integer" |
|
Specifies the second-stage compressor to use. If set to \fBnone\fR, |
|
\&\fBchunks\fR will be limited to 1, as chunked uncompressed frames offer no |
|
benefit. |
|
.RS 4 |
|
.IP "\fBnone\fR" 4 |
|
.IX Item "none" |
|
.PD 0 |
|
.IP "\fBsnappy\fR" 4 |
|
.IX Item "snappy" |
|
.RE |
|
.RS 4 |
|
.PD |
|
.Sp |
|
Default value is \fBsnappy\fR. |
|
.RE |
|
.SS "jpeg2000" |
|
.IX Subsection "jpeg2000" |
|
The native jpeg 2000 encoder is lossy by default, the \f(CW\*(C`\-q:v\*(C'\fR |
|
option can be used to set the encoding quality. Lossless encoding |
|
can be selected with \f(CW\*(C`\-pred 1\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBformat\fR \fIinteger\fR" 4 |
|
.IX Item "format integer" |
|
Can be set to either \f(CW\*(C`j2k\*(C'\fR or \f(CW\*(C`jp2\*(C'\fR (the default) that |
|
makes it possible to store non-rgb pix_fmts. |
|
.IP "\fBtile_width\fR \fIinteger\fR" 4 |
|
.IX Item "tile_width integer" |
|
Sets tile width. Range is 1 to 1073741824. Default is 256. |
|
.IP "\fBtile_height\fR \fIinteger\fR" 4 |
|
.IX Item "tile_height integer" |
|
Sets tile height. Range is 1 to 1073741824. Default is 256. |
|
.IP "\fBpred\fR \fIinteger\fR" 4 |
|
.IX Item "pred integer" |
|
Allows setting the discrete wavelet transform (\s-1DWT\s0) type |
|
.RS 4 |
|
.IP "\fBdwt97int (Lossy)\fR" 4 |
|
.IX Item "dwt97int (Lossy)" |
|
.PD 0 |
|
.IP "\fBdwt53 (Lossless)\fR" 4 |
|
.IX Item "dwt53 (Lossless)" |
|
.RE |
|
.RS 4 |
|
.PD |
|
.Sp |
|
Default is \f(CW\*(C`dwt97int\*(C'\fR |
|
.RE |
|
.IP "\fBsop\fR \fIboolean\fR" 4 |
|
.IX Item "sop boolean" |
|
Enable this to add \s-1SOP\s0 marker at the start of each packet. Disabled by default. |
|
.IP "\fBeph\fR \fIboolean\fR" 4 |
|
.IX Item "eph boolean" |
|
Enable this to add \s-1EPH\s0 marker at the end of each packet header. Disabled by default. |
|
.IP "\fBprog\fR \fIinteger\fR" 4 |
|
.IX Item "prog integer" |
|
Sets the progression order to be used by the encoder. |
|
Possible values are: |
|
.RS 4 |
|
.IP "\fBlrcp\fR" 4 |
|
.IX Item "lrcp" |
|
.PD 0 |
|
.IP "\fBrlcp\fR" 4 |
|
.IX Item "rlcp" |
|
.IP "\fBrpcl\fR" 4 |
|
.IX Item "rpcl" |
|
.IP "\fBpcrl\fR" 4 |
|
.IX Item "pcrl" |
|
.IP "\fBcprl\fR" 4 |
|
.IX Item "cprl" |
|
.RE |
|
.RS 4 |
|
.PD |
|
.Sp |
|
Set to \f(CW\*(C`lrcp\*(C'\fR by default. |
|
.RE |
|
.IP "\fBlayer_rates\fR \fIstring\fR" 4 |
|
.IX Item "layer_rates string" |
|
By default, when this option is not used, compression is done using the quality metric. |
|
This option allows for compression using compression ratio. The compression ratio for each |
|
level could be specified. The compression ratio of a layer \f(CW\*(C`l\*(C'\fR species the what ratio of |
|
total file size is contained in the first \f(CW\*(C`l\*(C'\fR layers. |
|
.Sp |
|
Example usage: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i input.bmp \-c:v jpeg2000 \-layer_rates "100,10,1" output.j2k |
|
.Ve |
|
.Sp |
|
This would compress the image to contain 3 layers, where the data contained in the |
|
first layer would be compressed by 1000 times, compressed by 100 in the first two layers, |
|
and shall contain all data while using all 3 layers. |
|
.SS "librav1e" |
|
.IX Subsection "librav1e" |
|
rav1e \s-1AV1\s0 encoder wrapper. |
|
.PP |
|
Requires the presence of the rav1e headers and library during configuration. |
|
You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-librav1e\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBqmax\fR" 4 |
|
.IX Item "qmax" |
|
Sets the maximum quantizer to use when using bitrate mode. |
|
.IP "\fBqmin\fR" 4 |
|
.IX Item "qmin" |
|
Sets the minimum quantizer to use when using bitrate mode. |
|
.IP "\fBqp\fR" 4 |
|
.IX Item "qp" |
|
Uses quantizer mode to encode at the given quantizer (0\-255). |
|
.IP "\fBspeed\fR" 4 |
|
.IX Item "speed" |
|
Selects the speed preset (0\-10) to encode with. |
|
.IP "\fBtiles\fR" 4 |
|
.IX Item "tiles" |
|
Selects how many tiles to encode with. |
|
.IP "\fBtile-rows\fR" 4 |
|
.IX Item "tile-rows" |
|
Selects how many rows of tiles to encode with. |
|
.IP "\fBtile-columns\fR" 4 |
|
.IX Item "tile-columns" |
|
Selects how many columns of tiles to encode with. |
|
.IP "\fBrav1e\-params\fR" 4 |
|
.IX Item "rav1e-params" |
|
Set rav1e options using a list of \fIkey\fR=\fIvalue\fR pairs separated |
|
by \*(L":\*(R". See \fBrav1e \-\-help\fR for a list of options. |
|
.Sp |
|
For example to specify librav1e encoding options with \fB\-rav1e\-params\fR: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i input \-c:v librav1e \-b:v 500K \-rav1e\-params speed=5:low_latency=true output.mp4 |
|
.Ve |
|
.SS "libaom\-av1" |
|
.IX Subsection "libaom-av1" |
|
libaom \s-1AV1\s0 encoder wrapper. |
|
.PP |
|
Requires the presence of the libaom headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libaom\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The wrapper supports the following standard libavcodec options: |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set bitrate target in bits/second. By default this will use |
|
variable-bitrate mode. If \fBmaxrate\fR and \fBminrate\fR are |
|
also set to the same value then it will use constant-bitrate mode, |
|
otherwise if \fBcrf\fR is set as well then it will use |
|
constrained-quality mode. |
|
.IP "\fBg keyint_min\fR" 4 |
|
.IX Item "g keyint_min" |
|
Set key frame placement. The \s-1GOP\s0 size sets the maximum distance between |
|
key frames; if zero the output stream will be intra-only. The minimum |
|
distance is ignored unless it is the same as the \s-1GOP\s0 size, in which case |
|
key frames will always appear at a fixed interval. Not set by default, |
|
so without this option the library has completely free choice about |
|
where to place key frames. |
|
.IP "\fBqmin qmax\fR" 4 |
|
.IX Item "qmin qmax" |
|
Set minimum/maximum quantisation values. Valid range is from 0 to 63 |
|
(warning: this does not match the quantiser values actually used by \s-1AV1\s0 |
|
\&\- divide by four to map real quantiser values to this range). Defaults |
|
to min/max (no constraint). |
|
.IP "\fBminrate maxrate bufsize rc_init_occupancy\fR" 4 |
|
.IX Item "minrate maxrate bufsize rc_init_occupancy" |
|
Set rate control buffering parameters. Not used if not set \- defaults |
|
to unconstrained variable bitrate. |
|
.IP "\fBthreads\fR" 4 |
|
.IX Item "threads" |
|
Set the number of threads to use while encoding. This may require the |
|
\&\fBtiles\fR or \fBrow-mt\fR options to also be set to actually |
|
use the specified number of threads fully. Defaults to the number of |
|
hardware threads supported by the host machine. |
|
.IP "\fBprofile\fR" 4 |
|
.IX Item "profile" |
|
Set the encoding profile. Defaults to using the profile which matches |
|
the bit depth and chroma subsampling of the input. |
|
.PP |
|
The wrapper also has some specific options: |
|
.IP "\fBcpu-used\fR" 4 |
|
.IX Item "cpu-used" |
|
Set the quality/encoding speed tradeoff. Valid range is from 0 to 8, |
|
higher numbers indicating greater speed and lower quality. The default |
|
value is 1, which will be slow and high quality. |
|
.IP "\fBauto-alt-ref\fR" 4 |
|
.IX Item "auto-alt-ref" |
|
Enable use of alternate reference frames. Defaults to the internal |
|
default of the library. |
|
.IP "\fBarnr-max-frames (\fR\fIframes\fR\fB)\fR" 4 |
|
.IX Item "arnr-max-frames (frames)" |
|
Set altref noise reduction max frame count. Default is \-1. |
|
.IP "\fBarnr-strength (\fR\fIstrength\fR\fB)\fR" 4 |
|
.IX Item "arnr-strength (strength)" |
|
Set altref noise reduction filter strength. Range is \-1 to 6. Default is \-1. |
|
.IP "\fBaq-mode (\fR\fIaq-mode\fR\fB)\fR" 4 |
|
.IX Item "aq-mode (aq-mode)" |
|
Set adaptive quantization mode. Possible values: |
|
.RS 4 |
|
.IP "\fBnone (\fR\fI0\fR\fB)\fR" 4 |
|
.IX Item "none (0)" |
|
Disabled. |
|
.IP "\fBvariance (\fR\fI1\fR\fB)\fR" 4 |
|
.IX Item "variance (1)" |
|
Variance-based. |
|
.IP "\fBcomplexity (\fR\fI2\fR\fB)\fR" 4 |
|
.IX Item "complexity (2)" |
|
Complexity-based. |
|
.IP "\fBcyclic (\fR\fI3\fR\fB)\fR" 4 |
|
.IX Item "cyclic (3)" |
|
Cyclic refresh. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBtune (\fR\fItune\fR\fB)\fR" 4 |
|
.IX Item "tune (tune)" |
|
Set the distortion metric the encoder is tuned with. Default is \f(CW\*(C`psnr\*(C'\fR. |
|
.RS 4 |
|
.IP "\fBpsnr (\fR\fI0\fR\fB)\fR" 4 |
|
.IX Item "psnr (0)" |
|
.PD 0 |
|
.IP "\fBssim (\fR\fI1\fR\fB)\fR" 4 |
|
.IX Item "ssim (1)" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBlag-in-frames\fR" 4 |
|
.IX Item "lag-in-frames" |
|
.PD |
|
Set the maximum number of frames which the encoder may keep in flight |
|
at any one time for lookahead purposes. Defaults to the internal |
|
default of the library. |
|
.IP "\fBerror-resilience\fR" 4 |
|
.IX Item "error-resilience" |
|
Enable error resilience features: |
|
.RS 4 |
|
.IP "\fBdefault\fR" 4 |
|
.IX Item "default" |
|
Improve resilience against losses of whole frames. |
|
.RE |
|
.RS 4 |
|
.Sp |
|
Not enabled by default. |
|
.RE |
|
.IP "\fBcrf\fR" 4 |
|
.IX Item "crf" |
|
Set the quality/size tradeoff for constant-quality (no bitrate target) |
|
and constrained-quality (with maximum bitrate target) modes. Valid |
|
range is 0 to 63, higher numbers indicating lower quality and smaller |
|
output size. Only used if set; by default only the bitrate target is |
|
used. |
|
.IP "\fBstatic-thresh\fR" 4 |
|
.IX Item "static-thresh" |
|
Set a change threshold on blocks below which they will be skipped by |
|
the encoder. Defined in arbitrary units as a nonnegative integer, |
|
defaulting to zero (no blocks are skipped). |
|
.IP "\fBdrop-threshold\fR" 4 |
|
.IX Item "drop-threshold" |
|
Set a threshold for dropping frames when close to rate control bounds. |
|
Defined as a percentage of the target buffer \- when the rate control |
|
buffer falls below this percentage, frames will be dropped until it |
|
has refilled above the threshold. Defaults to zero (no frames are |
|
dropped). |
|
.IP "\fBdenoise-noise-level (\fR\fIlevel\fR\fB)\fR" 4 |
|
.IX Item "denoise-noise-level (level)" |
|
Amount of noise to be removed for grain synthesis. Grain synthesis is disabled if |
|
this option is not set or set to 0. |
|
.IP "\fBdenoise-block-size (\fR\fIpixels\fR\fB)\fR" 4 |
|
.IX Item "denoise-block-size (pixels)" |
|
Block size used for denoising for grain synthesis. If not set, \s-1AV1\s0 codec |
|
uses the default value of 32. |
|
.IP "\fBundershoot-pct (\fR\fIpct\fR\fB)\fR" 4 |
|
.IX Item "undershoot-pct (pct)" |
|
Set datarate undershoot (min) percentage of the target bitrate. Range is \-1 to 100. |
|
Default is \-1. |
|
.IP "\fBovershoot-pct (\fR\fIpct\fR\fB)\fR" 4 |
|
.IX Item "overshoot-pct (pct)" |
|
Set datarate overshoot (max) percentage of the target bitrate. Range is \-1 to 1000. |
|
Default is \-1. |
|
.IP "\fBminsection-pct (\fR\fIpct\fR\fB)\fR" 4 |
|
.IX Item "minsection-pct (pct)" |
|
Minimum percentage variation of the \s-1GOP\s0 bitrate from the target bitrate. If minsection-pct |
|
is not set, the libaomenc wrapper computes it as follows: \f(CW\*(C`(minrate * 100 / bitrate)\*(C'\fR. |
|
Range is \-1 to 100. Default is \-1 (unset). |
|
.IP "\fBmaxsection-pct (\fR\fIpct\fR\fB)\fR" 4 |
|
.IX Item "maxsection-pct (pct)" |
|
Maximum percentage variation of the \s-1GOP\s0 bitrate from the target bitrate. If maxsection-pct |
|
is not set, the libaomenc wrapper computes it as follows: \f(CW\*(C`(maxrate * 100 / bitrate)\*(C'\fR. |
|
Range is \-1 to 5000. Default is \-1 (unset). |
|
.IP "\fBframe-parallel (\fR\fIboolean\fR\fB)\fR" 4 |
|
.IX Item "frame-parallel (boolean)" |
|
Enable frame parallel decodability features. Default is true. |
|
.IP "\fBtiles\fR" 4 |
|
.IX Item "tiles" |
|
Set the number of tiles to encode the input video with, as columns x |
|
rows. Larger numbers allow greater parallelism in both encoding and |
|
decoding, but may decrease coding efficiency. Defaults to the minimum |
|
number of tiles required by the size of the input video (this is 1x1 |
|
(that is, a single tile) for sizes up to and including 4K). |
|
.IP "\fBtile-columns tile-rows\fR" 4 |
|
.IX Item "tile-columns tile-rows" |
|
Set the number of tiles as log2 of the number of tile rows and columns. |
|
Provided for compatibility with libvpx/VP9. |
|
.IP "\fBrow-mt (Requires libaom >= 1.0.0\-759\-g90a15f4f2)\fR" 4 |
|
.IX Item "row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)" |
|
Enable row based multi-threading. Disabled by default. |
|
.IP "\fBenable-cdef (\fR\fIboolean\fR\fB)\fR" 4 |
|
.IX Item "enable-cdef (boolean)" |
|
Enable Constrained Directional Enhancement Filter. The libaom\-av1 |
|
encoder enables \s-1CDEF\s0 by default. |
|
.IP "\fBenable-restoration (\fR\fIboolean\fR\fB)\fR" 4 |
|
.IX Item "enable-restoration (boolean)" |
|
Enable Loop Restoration Filter. Default is true for libaom\-av1. |
|
.IP "\fBenable-global-motion (\fR\fIboolean\fR\fB)\fR" 4 |
|
.IX Item "enable-global-motion (boolean)" |
|
Enable the use of global motion for block prediction. Default is true. |
|
.IP "\fBenable-intrabc (\fR\fIboolean\fR\fB)\fR" 4 |
|
.IX Item "enable-intrabc (boolean)" |
|
Enable block copy mode for intra block prediction. This mode is |
|
useful for screen content. Default is true. |
|
.IP "\fBenable-rect-partitions (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-rect-partitions (boolean) (Requires libaom >= v2.0.0)" |
|
Enable rectangular partitions. Default is true. |
|
.IP "\fBenable\-1to4\-partitions (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-1to4-partitions (boolean) (Requires libaom >= v2.0.0)" |
|
Enable 1:4/4:1 partitions. Default is true. |
|
.IP "\fBenable-ab-partitions (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-ab-partitions (boolean) (Requires libaom >= v2.0.0)" |
|
Enable \s-1AB\s0 shape partitions. Default is true. |
|
.IP "\fBenable-angle-delta (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-angle-delta (boolean) (Requires libaom >= v2.0.0)" |
|
Enable angle delta intra prediction. Default is true. |
|
.IP "\fBenable-cfl-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-cfl-intra (boolean) (Requires libaom >= v2.0.0)" |
|
Enable chroma predicted from luma intra prediction. Default is true. |
|
.IP "\fBenable-filter-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-filter-intra (boolean) (Requires libaom >= v2.0.0)" |
|
Enable filter intra predictor. Default is true. |
|
.IP "\fBenable-intra-edge-filter (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-intra-edge-filter (boolean) (Requires libaom >= v2.0.0)" |
|
Enable intra edge filter. Default is true. |
|
.IP "\fBenable-smooth-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-smooth-intra (boolean) (Requires libaom >= v2.0.0)" |
|
Enable smooth intra prediction mode. Default is true. |
|
.IP "\fBenable-paeth-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-paeth-intra (boolean) (Requires libaom >= v2.0.0)" |
|
Enable paeth predictor in intra prediction. Default is true. |
|
.IP "\fBenable-palette (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-palette (boolean) (Requires libaom >= v2.0.0)" |
|
Enable palette prediction mode. Default is true. |
|
.IP "\fBenable-flip-idtx (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-flip-idtx (boolean) (Requires libaom >= v2.0.0)" |
|
Enable extended transform type, including \s-1FLIPADST_DCT, DCT_FLIPADST, |
|
FLIPADST_FLIPADST, ADST_FLIPADST, FLIPADST_ADST, IDTX, V_DCT, H_DCT, |
|
V_ADST, H_ADST, V_FLIPADST, H_FLIPADST.\s0 Default is true. |
|
.IP "\fBenable\-tx64 (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-tx64 (boolean) (Requires libaom >= v2.0.0)" |
|
Enable 64\-pt transform. Default is true. |
|
.IP "\fBreduced-tx-type-set (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "reduced-tx-type-set (boolean) (Requires libaom >= v2.0.0)" |
|
Use reduced set of transform types. Default is false. |
|
.IP "\fBuse-intra-dct-only (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "use-intra-dct-only (boolean) (Requires libaom >= v2.0.0)" |
|
Use \s-1DCT\s0 only for \s-1INTRA\s0 modes. Default is false. |
|
.IP "\fBuse-inter-dct-only (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "use-inter-dct-only (boolean) (Requires libaom >= v2.0.0)" |
|
Use \s-1DCT\s0 only for \s-1INTER\s0 modes. Default is false. |
|
.IP "\fBuse-intra-default-tx-only (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "use-intra-default-tx-only (boolean) (Requires libaom >= v2.0.0)" |
|
Use Default-transform only for \s-1INTRA\s0 modes. Default is false. |
|
.IP "\fBenable-ref-frame-mvs (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-ref-frame-mvs (boolean) (Requires libaom >= v2.0.0)" |
|
Enable temporal mv prediction. Default is true. |
|
.IP "\fBenable-reduced-reference-set (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-reduced-reference-set (boolean) (Requires libaom >= v2.0.0)" |
|
Use reduced set of single and compound references. Default is false. |
|
.IP "\fBenable-obmc (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-obmc (boolean) (Requires libaom >= v2.0.0)" |
|
Enable obmc. Default is true. |
|
.IP "\fBenable-dual-filter (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-dual-filter (boolean) (Requires libaom >= v2.0.0)" |
|
Enable dual filter. Default is true. |
|
.IP "\fBenable-diff-wtd-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-diff-wtd-comp (boolean) (Requires libaom >= v2.0.0)" |
|
Enable difference-weighted compound. Default is true. |
|
.IP "\fBenable-dist-wtd-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-dist-wtd-comp (boolean) (Requires libaom >= v2.0.0)" |
|
Enable distance-weighted compound. Default is true. |
|
.IP "\fBenable-onesided-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-onesided-comp (boolean) (Requires libaom >= v2.0.0)" |
|
Enable one sided compound. Default is true. |
|
.IP "\fBenable-interinter-wedge (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-interinter-wedge (boolean) (Requires libaom >= v2.0.0)" |
|
Enable interinter wedge compound. Default is true. |
|
.IP "\fBenable-interintra-wedge (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-interintra-wedge (boolean) (Requires libaom >= v2.0.0)" |
|
Enable interintra wedge compound. Default is true. |
|
.IP "\fBenable-masked-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-masked-comp (boolean) (Requires libaom >= v2.0.0)" |
|
Enable masked compound. Default is true. |
|
.IP "\fBenable-interintra-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-interintra-comp (boolean) (Requires libaom >= v2.0.0)" |
|
Enable interintra compound. Default is true. |
|
.IP "\fBenable-smooth-interintra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4 |
|
.IX Item "enable-smooth-interintra (boolean) (Requires libaom >= v2.0.0)" |
|
Enable smooth interintra mode. Default is true. |
|
.IP "\fBaom-params\fR" 4 |
|
.IX Item "aom-params" |
|
Set libaom options using a list of \fIkey\fR=\fIvalue\fR pairs separated |
|
by \*(L":\*(R". For a list of supported options, see \fBaomenc \-\-help\fR under the |
|
section \*(L"\s-1AV1\s0 Specific Options\*(R". |
|
.Sp |
|
For example to specify libaom encoding options with \fB\-aom\-params\fR: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i input \-c:v libaom\-av1 \-b:v 500K \-aom\-params tune=psnr:enable\-tpl\-model=1 output.mp4 |
|
.Ve |
|
.SS "libsvtav1" |
|
.IX Subsection "libsvtav1" |
|
\&\s-1SVT\-AV1\s0 encoder wrapper. |
|
.PP |
|
Requires the presence of the \s-1SVT\-AV1\s0 headers and library during configuration. |
|
You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libsvtav1\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBprofile\fR" 4 |
|
.IX Item "profile" |
|
Set the encoding profile. |
|
.RS 4 |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.PD 0 |
|
.IP "\fBhigh\fR" 4 |
|
.IX Item "high" |
|
.IP "\fBprofessional\fR" 4 |
|
.IX Item "professional" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBlevel\fR" 4 |
|
.IX Item "level" |
|
.PD |
|
Set the operating point level. For example: '4.0' |
|
.IP "\fBhielevel\fR" 4 |
|
.IX Item "hielevel" |
|
Set the Hierarchical prediction levels. |
|
.RS 4 |
|
.IP "\fB3level\fR" 4 |
|
.IX Item "3level" |
|
.PD 0 |
|
.IP "\fB4level\fR" 4 |
|
.IX Item "4level" |
|
.PD |
|
This is the default. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBtier\fR" 4 |
|
.IX Item "tier" |
|
Set the operating point tier. |
|
.RS 4 |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
This is the default. |
|
.IP "\fBhigh\fR" 4 |
|
.IX Item "high" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PD 0 |
|
.IP "\fBqmax\fR" 4 |
|
.IX Item "qmax" |
|
.PD |
|
Set the maximum quantizer to use when using a bitrate mode. |
|
.IP "\fBqmin\fR" 4 |
|
.IX Item "qmin" |
|
Set the minimum quantizer to use when using a bitrate mode. |
|
.IP "\fBcrf\fR" 4 |
|
.IX Item "crf" |
|
Constant rate factor value used in crf rate control mode (0\-63). |
|
.IP "\fBqp\fR" 4 |
|
.IX Item "qp" |
|
Set the quantizer used in cqp rate control mode (0\-63). |
|
.IP "\fBsc_detection\fR" 4 |
|
.IX Item "sc_detection" |
|
Enable scene change detection. |
|
.IP "\fBla_depth\fR" 4 |
|
.IX Item "la_depth" |
|
Set number of frames to look ahead (0\-120). |
|
.IP "\fBpreset\fR" 4 |
|
.IX Item "preset" |
|
Set the quality-speed tradeoff, in the range 0 to 13. Higher values are |
|
faster but lower quality. |
|
.IP "\fBtile_rows\fR" 4 |
|
.IX Item "tile_rows" |
|
Set log2 of the number of rows of tiles to use (0\-6). |
|
.IP "\fBtile_columns\fR" 4 |
|
.IX Item "tile_columns" |
|
Set log2 of the number of columns of tiles to use (0\-4). |
|
.IP "\fBsvtav1\-params\fR" 4 |
|
.IX Item "svtav1-params" |
|
Set \s-1SVT\-AV1\s0 options using a list of \fIkey\fR=\fIvalue\fR pairs separated |
|
by \*(L":\*(R". See the \s-1SVT\-AV1\s0 encoder user guide for a list of accepted parameters. |
|
.SS "libjxl" |
|
.IX Subsection "libjxl" |
|
libjxl \s-1JPEG XL\s0 encoder wrapper. |
|
.PP |
|
Requires the presence of the libjxl headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libjxl\*(C'\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The libjxl wrapper supports the following options: |
|
.IP "\fBdistance\fR" 4 |
|
.IX Item "distance" |
|
Set the target Butteraugli distance. This is a quality setting: lower |
|
distance yields higher quality, with distance=1.0 roughly comparable to |
|
libjpeg Quality 90 for photographic content. Setting distance=0.0 yields |
|
true lossless encoding. Valid values range between 0.0 and 15.0, and sane |
|
values rarely exceed 5.0. Setting distance=0.1 usually attains |
|
transparency for most input. The default is 1.0. |
|
.IP "\fBeffort\fR" 4 |
|
.IX Item "effort" |
|
Set the encoding effort used. Higher effort values produce more consistent |
|
quality and usually produces a better quality/bpp curve, at the cost of |
|
more \s-1CPU\s0 time required. Valid values range from 1 to 9, and the default is 7. |
|
.IP "\fBmodular\fR" 4 |
|
.IX Item "modular" |
|
Force the encoder to use Modular mode instead of choosing automatically. The |
|
default is to use VarDCT for lossy encoding and Modular for lossless. VarDCT |
|
is generally superior to Modular for lossy encoding but does not support |
|
lossless encoding. |
|
.SS "libkvazaar" |
|
.IX Subsection "libkvazaar" |
|
Kvazaar H.265/HEVC encoder. |
|
.PP |
|
Requires the presence of the libkvazaar headers and library during |
|
configuration. You need to explicitly configure the build with |
|
\&\fB\-\-enable\-libkvazaar\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set target video bitrate in bit/s and enable rate control. |
|
.IP "\fBkvazaar-params\fR" 4 |
|
.IX Item "kvazaar-params" |
|
Set kvazaar parameters as a list of \fIname\fR=\fIvalue\fR pairs separated |
|
by commas (,). See kvazaar documentation for a list of options. |
|
.SS "libopenh264" |
|
.IX Subsection "libopenh264" |
|
Cisco libopenh264 H.264/MPEG\-4 \s-1AVC\s0 encoder wrapper. |
|
.PP |
|
This encoder requires the presence of the libopenh264 headers and |
|
library during configuration. You need to explicitly configure the |
|
build with \f(CW\*(C`\-\-enable\-libopenh264\*(C'\fR. The library is detected using |
|
\&\fBpkg-config\fR. |
|
.PP |
|
For more information about the library see |
|
<\fBhttp: |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following FFmpeg global options affect the configurations of the |
|
libopenh264 encoder. |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Set the bitrate (as a number of bits per second). |
|
.IP "\fBg\fR" 4 |
|
.IX Item "g" |
|
Set the \s-1GOP\s0 size. |
|
.IP "\fBmaxrate\fR" 4 |
|
.IX Item "maxrate" |
|
Set the max bitrate (as a number of bits per second). |
|
.IP "\fBflags +global_header\fR" 4 |
|
.IX Item "flags +global_header" |
|
Set global header in the bitstream. |
|
.IP "\fBslices\fR" 4 |
|
.IX Item "slices" |
|
Set the number of slices, used in parallelized encoding. Default value |
|
is 0. This is only used when \fBslice_mode\fR is set to |
|
\&\fBfixed\fR. |
|
.IP "\fBloopfilter\fR" 4 |
|
.IX Item "loopfilter" |
|
Enable loop filter, if set to 1 (automatically enabled). To disable |
|
set a value of 0. |
|
.IP "\fBprofile\fR" 4 |
|
.IX Item "profile" |
|
Set profile restrictions. If set to the value of \fBmain\fR enable |
|
\&\s-1CABAC\s0 (set the \f(CW\*(C`SEncParamExt.iEntropyCodingModeFlag\*(C'\fR flag to 1). |
|
.IP "\fBmax_nal_size\fR" 4 |
|
.IX Item "max_nal_size" |
|
Set maximum \s-1NAL\s0 size in bytes. |
|
.IP "\fBallow_skip_frames\fR" 4 |
|
.IX Item "allow_skip_frames" |
|
Allow skipping frames to hit the target bitrate if set to 1. |
|
.SS "libtheora" |
|
.IX Subsection "libtheora" |
|
libtheora Theora encoder wrapper. |
|
.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 |
|
For more information about the libtheora project see |
|
<\fBhttp: |
|
.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 in bit/s for \s-1CBR\s0 (Constant Bit Rate) mode. In |
|
case \s-1VBR\s0 (Variable Bit Rate) mode is enabled this option is ignored. |
|
.IP "\fBflags\fR" 4 |
|
.IX Item "flags" |
|
Used to enable constant quality mode (\s-1VBR\s0) 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 as an integer in lambda units. |
|
.Sp |
|
Only relevant when \s-1VBR\s0 mode is enabled with \f(CW\*(C`flags +qscale\*(C'\fR. The |
|
value is converted to \s-1QP\s0 units by dividing it by \f(CW\*(C`FF_QP2LAMBDA\*(C'\fR, |
|
clipped in the [0 \- 10] range, and then multiplied by 6.3 to get a |
|
value in the native libtheora range [0\-63]. A higher value corresponds |
|
to a higher quality. |
|
.IP "\fBq\fR" 4 |
|
.IX Item "q" |
|
Enable \s-1VBR\s0 mode when set to a non-negative value, and set constant |
|
quality value as a double floating point value in \s-1QP\s0 units. |
|
.Sp |
|
The value is clipped in the [0\-10] range, and then multiplied by 6.3 |
|
to get a value in the native libtheora range [0\-63]. |
|
.Sp |
|
This option is valid only using the \fBffmpeg\fR command-line |
|
tool. For library interface users, use \fBglobal_quality\fR. |
|
.PP |
|
\fIExamples\fR |
|
.IX Subsection "Examples" |
|
.IP "\(bu" 4 |
|
Set maximum constant quality (\s-1VBR\s0) encoding with \fBffmpeg\fR: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i INPUT \-codec:v libtheora \-q:v 10 OUTPUT.ogg |
|
.Ve |
|
.IP "\(bu" 4 |
|
Use \fBffmpeg\fR to convert a \s-1CBR 1000\s0 kbps Theora video stream: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i INPUT \-codec:v libtheora \-b:v 1000k OUTPUT.ogg |
|
.Ve |
|
.SS "libvpx" |
|
.IX Subsection "libvpx" |
|
\&\s-1VP8/VP9\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 |
|
The following options are supported by the libvpx wrapper. The |
|
\&\fBvpxenc\fR\-equivalent options or values are listed in parentheses |
|
for easy migration. |
|
.PP |
|
To reduce the duplication of documentation, only the private options |
|
and some others requiring special attention are documented here. For |
|
the documentation of the undocumented generic options, see |
|
\&\fBthe Codec Options chapter\fR. |
|
.PP |
|
To get more documentation of the libvpx options, invoke the command |
|
\&\fBffmpeg \-h encoder=libvpx\fR, \fBffmpeg \-h encoder=libvpx\-vp9\fR or |
|
\&\fBvpxenc \-\-help\fR. Further information is available in the libvpx \s-1API\s0 |
|
documentation. |
|
.IP "\fBb (\fR\fItarget-bitrate\fR\fB)\fR" 4 |
|
.IX Item "b (target-bitrate)" |
|
Set bitrate in bits/s. Note that FFmpeg's \fBb\fR option is |
|
expressed in bits/s, while \fBvpxenc\fR's \fBtarget-bitrate\fR is in |
|
kilobits/s. |
|
.IP "\fBg (\fR\fIkf-max-dist\fR\fB)\fR" 4 |
|
.IX Item "g (kf-max-dist)" |
|
.PD 0 |
|
.IP "\fBkeyint_min (\fR\fIkf-min-dist\fR\fB)\fR" 4 |
|
.IX Item "keyint_min (kf-min-dist)" |
|
.IP "\fBqmin (\fR\fImin-q\fR\fB)\fR" 4 |
|
.IX Item "qmin (min-q)" |
|
.PD |
|
Minimum (Best Quality) Quantizer. |
|
.IP "\fBqmax (\fR\fImax-q\fR\fB)\fR" 4 |
|
.IX Item "qmax (max-q)" |
|
Maximum (Worst Quality) Quantizer. |
|
Can be changed per-frame. |
|
.IP "\fBbufsize (\fR\fIbuf-sz\fR\fB,\fR \fIbuf-optimal-sz\fR\fB)\fR" 4 |
|
.IX Item "bufsize (buf-sz, buf-optimal-sz)" |
|
Set ratecontrol buffer size (in bits). Note \fBvpxenc\fR's options are |
|
specified in milliseconds, the libvpx wrapper converts this value as follows: |
|
\&\f(CW\*(C`buf\-sz = bufsize * 1000 / bitrate\*(C'\fR, |
|
\&\f(CW\*(C`buf\-optimal\-sz = bufsize * 1000 / bitrate * 5 / 6\*(C'\fR. |
|
.IP "\fBrc_init_occupancy (\fR\fIbuf-initial-sz\fR\fB)\fR" 4 |
|
.IX Item "rc_init_occupancy (buf-initial-sz)" |
|
Set number of bits which should be loaded into the rc buffer before decoding |
|
starts. Note \fBvpxenc\fR's option is specified in milliseconds, the libvpx |
|
wrapper converts this value as follows: |
|
\&\f(CW\*(C`rc_init_occupancy * 1000 / bitrate\*(C'\fR. |
|
.IP "\fBundershoot-pct\fR" 4 |
|
.IX Item "undershoot-pct" |
|
Set datarate undershoot (min) percentage of the target bitrate. |
|
.IP "\fBovershoot-pct\fR" 4 |
|
.IX Item "overshoot-pct" |
|
Set datarate overshoot (max) percentage of the target bitrate. |
|
.IP "\fBskip_threshold (\fR\fIdrop-frame\fR\fB)\fR" 4 |
|
.IX Item "skip_threshold (drop-frame)" |
|
.PD 0 |
|
.IP "\fBqcomp (\fR\fIbias-pct\fR\fB)\fR" 4 |
|
.IX Item "qcomp (bias-pct)" |
|
.IP "\fBmaxrate (\fR\fImaxsection-pct\fR\fB)\fR" 4 |
|
.IX Item "maxrate (maxsection-pct)" |
|
.PD |
|
Set \s-1GOP\s0 max bitrate in bits/s. Note \fBvpxenc\fR's option is specified as a |
|
percentage of the target bitrate, the libvpx wrapper converts this value as |
|
follows: \f(CW\*(C`(maxrate * 100 / bitrate)\*(C'\fR. |
|
.IP "\fBminrate (\fR\fIminsection-pct\fR\fB)\fR" 4 |
|
.IX Item "minrate (minsection-pct)" |
|
Set \s-1GOP\s0 min bitrate in bits/s. Note \fBvpxenc\fR's option is specified as a |
|
percentage of the target bitrate, the libvpx wrapper converts this value as |
|
follows: \f(CW\*(C`(minrate * 100 / bitrate)\*(C'\fR. |
|
.IP "\fBminrate, maxrate, b\fR \fIend\-usage=cbr\fR" 4 |
|
.IX Item "minrate, maxrate, b end-usage=cbr" |
|
\&\f(CW\*(C`(minrate == maxrate == bitrate)\*(C'\fR. |
|
.IP "\fBcrf (\fR\fIend\-usage=cq\fR\fB,\fR \fIcq-level\fR\fB)\fR" 4 |
|
.IX Item "crf (end-usage=cq, cq-level)" |
|
.PD 0 |
|
.IP "\fBtune (\fR\fItune\fR\fB)\fR" 4 |
|
.IX Item "tune (tune)" |
|
.RS 4 |
|
.IP "\fBpsnr (\fR\fIpsnr\fR\fB)\fR" 4 |
|
.IX Item "psnr (psnr)" |
|
.IP "\fBssim (\fR\fIssim\fR\fB)\fR" 4 |
|
.IX Item "ssim (ssim)" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBquality, deadline (\fR\fIdeadline\fR\fB)\fR" 4 |
|
.IX Item "quality, deadline (deadline)" |
|
.RS 4 |
|
.IP "\fBbest\fR" 4 |
|
.IX Item "best" |
|
.PD |
|
Use best quality deadline. Poorly named and quite slow, this option should be |
|
avoided as it may give worse quality output than good. |
|
.IP "\fBgood\fR" 4 |
|
.IX Item "good" |
|
Use good quality deadline. This is a good trade-off between speed and quality |
|
when used with the \fBcpu-used\fR option. |
|
.IP "\fBrealtime\fR" 4 |
|
.IX Item "realtime" |
|
Use realtime quality deadline. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBspeed, cpu-used (\fR\fIcpu-used\fR\fB)\fR" 4 |
|
.IX Item "speed, cpu-used (cpu-used)" |
|
Set quality/speed ratio modifier. Higher values speed up the encode at the cost |
|
of quality. |
|
.IP "\fBnr (\fR\fInoise-sensitivity\fR\fB)\fR" 4 |
|
.IX Item "nr (noise-sensitivity)" |
|
.PD 0 |
|
.IP "\fBstatic-thresh\fR" 4 |
|
.IX Item "static-thresh" |
|
.PD |
|
Set a change threshold on blocks below which they will be skipped by the |
|
encoder. |
|
.IP "\fBslices (\fR\fItoken-parts\fR\fB)\fR" 4 |
|
.IX Item "slices (token-parts)" |
|
Note that FFmpeg's \fBslices\fR option gives the total number of partitions, |
|
while \fBvpxenc\fR's \fBtoken-parts\fR is given as |
|
\&\f(CW\*(C`log2(partitions)\*(C'\fR. |
|
.IP "\fBmax-intra-rate\fR" 4 |
|
.IX Item "max-intra-rate" |
|
Set maximum I\-frame bitrate as a percentage of the target bitrate. A value of 0 |
|
means unlimited. |
|
.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 "\fBauto-alt-ref\fR" 4 |
|
.IX Item "auto-alt-ref" |
|
.PD |
|
Enable use of alternate reference frames (2\-pass only). |
|
Values greater than 1 enable multi-layer alternate reference frames (\s-1VP9\s0 only). |
|
.IP "\fBarnr-maxframes\fR" 4 |
|
.IX Item "arnr-maxframes" |
|
Set altref noise reduction max frame count. |
|
.IP "\fBarnr-type\fR" 4 |
|
.IX Item "arnr-type" |
|
Set altref noise reduction filter type: backward, forward, centered. |
|
.IP "\fBarnr-strength\fR" 4 |
|
.IX Item "arnr-strength" |
|
Set altref noise reduction filter strength. |
|
.IP "\fBrc-lookahead, lag-in-frames (\fR\fIlag-in-frames\fR\fB)\fR" 4 |
|
.IX Item "rc-lookahead, lag-in-frames (lag-in-frames)" |
|
Set number of frames to look ahead for frametype and ratecontrol. |
|
.IP "\fBmin-gf-interval\fR" 4 |
|
.IX Item "min-gf-interval" |
|
Set minimum golden/alternate reference frame interval (\s-1VP9\s0 only). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBerror-resilient\fR" 4 |
|
.IX Item "error-resilient" |
|
Enable error resiliency features. |
|
.IP "\fBsharpness\fR \fIinteger\fR" 4 |
|
.IX Item "sharpness integer" |
|
Increase sharpness at the expense of lower \s-1PSNR.\s0 |
|
The valid range is [0, 7]. |
|
.IP "\fBts-parameters\fR" 4 |
|
.IX Item "ts-parameters" |
|
Sets the temporal scalability configuration using a :\-separated list of |
|
key=value pairs. For example, to specify temporal scalability parameters |
|
with \f(CW\*(C`ffmpeg\*(C'\fR: |
|
.Sp |
|
.Vb 3 |
|
\& ffmpeg \-i INPUT \-c:v libvpx \-ts\-parameters ts_number_layers=3:\e |
|
\& ts_target_bitrate=250,500,1000:ts_rate_decimator=4,2,1:\e |
|
\& ts_periodicity=4:ts_layer_id=0,2,1,2:ts_layering_mode=3 OUTPUT |
|
.Ve |
|
.Sp |
|
Below is a brief explanation of each of the parameters, please |
|
refer to \f(CW\*(C`struct vpx_codec_enc_cfg\*(C'\fR in \f(CW\*(C`vpx/vpx_encoder.h\*(C'\fR for more |
|
details. |
|
.RS 4 |
|
.IP "\fBts_number_layers\fR" 4 |
|
.IX Item "ts_number_layers" |
|
Number of temporal coding layers. |
|
.IP "\fBts_target_bitrate\fR" 4 |
|
.IX Item "ts_target_bitrate" |
|
Target bitrate for each temporal layer (in kbps). |
|
(bitrate should be inclusive of the lower temporal layer). |
|
.IP "\fBts_rate_decimator\fR" 4 |
|
.IX Item "ts_rate_decimator" |
|
Frame rate decimation factor for each temporal layer. |
|
.IP "\fBts_periodicity\fR" 4 |
|
.IX Item "ts_periodicity" |
|
Length of the sequence defining frame temporal layer membership. |
|
.IP "\fBts_layer_id\fR" 4 |
|
.IX Item "ts_layer_id" |
|
Template defining the membership of frames to temporal layers. |
|
.IP "\fBts_layering_mode\fR" 4 |
|
.IX Item "ts_layering_mode" |
|
(optional) Selecting the temporal structure from a set of pre-defined temporal layering modes. |
|
Currently supports the following options. |
|
.RS 4 |
|
.IP "\fB0\fR" 4 |
|
.IX Item "0" |
|
No temporal layering flags are provided internally, |
|
relies on flags being passed in using \f(CW\*(C`metadata\*(C'\fR field in \f(CW\*(C`AVFrame\*(C'\fR |
|
with following keys. |
|
.RS 4 |
|
.IP "\fBvp8\-flags\fR" 4 |
|
.IX Item "vp8-flags" |
|
Sets the flags passed into the encoder to indicate the referencing scheme for |
|
the current frame. |
|
Refer to function \f(CW\*(C`vpx_codec_encode\*(C'\fR in \f(CW\*(C`vpx/vpx_encoder.h\*(C'\fR for more |
|
details. |
|
.IP "\fBtemporal_id\fR" 4 |
|
.IX Item "temporal_id" |
|
Explicitly sets the temporal id of the current frame to encode. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fB2\fR" 4 |
|
.IX Item "2" |
|
Two temporal layers. 0\-1... |
|
.IP "\fB3\fR" 4 |
|
.IX Item "3" |
|
Three temporal layers. 0\-2\-1\-2...; with single reference frame. |
|
.IP "\fB4\fR" 4 |
|
.IX Item "4" |
|
Same as option \*(L"3\*(R", except there is a dependency between |
|
the two temporal layer 2 frames within the temporal period. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBVP9\-specific options\fR" 4 |
|
.IX Item "VP9-specific options" |
|
.RS 4 |
|
.PD 0 |
|
.IP "\fBlossless\fR" 4 |
|
.IX Item "lossless" |
|
.PD |
|
Enable lossless mode. |
|
.IP "\fBtile-columns\fR" 4 |
|
.IX Item "tile-columns" |
|
Set number of tile columns to use. Note this is given as |
|
\&\f(CW\*(C`log2(tile_columns)\*(C'\fR. For example, 8 tile columns would be requested by |
|
setting the \fBtile-columns\fR option to 3. |
|
.IP "\fBtile-rows\fR" 4 |
|
.IX Item "tile-rows" |
|
Set number of tile rows to use. Note this is given as \f(CW\*(C`log2(tile_rows)\*(C'\fR. |
|
For example, 4 tile rows would be requested by setting the \fBtile-rows\fR |
|
option to 2. |
|
.IP "\fBframe-parallel\fR" 4 |
|
.IX Item "frame-parallel" |
|
Enable frame parallel decodability features. |
|
.IP "\fBaq-mode\fR" 4 |
|
.IX Item "aq-mode" |
|
Set adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: |
|
cyclic refresh, 4: equator360). |
|
.IP "\fBcolorspace\fR \fIcolor-space\fR" 4 |
|
.IX Item "colorspace color-space" |
|
Set input color space. The \s-1VP9\s0 bitstream supports signaling the following |
|
colorspaces: |
|
.RS 4 |
|
.IP "\fB\fBrgb\fB \f(BIsRGB\fB\fR" 4 |
|
.IX Item "rgb sRGB" |
|
.PD 0 |
|
.IP "\fB\fBbt709\fB \f(BIbt709\fB\fR" 4 |
|
.IX Item "bt709 bt709" |
|
.IP "\fB\fBunspecified\fB \f(BIunknown\fB\fR" 4 |
|
.IX Item "unspecified unknown" |
|
.IP "\fB\fBbt470bg\fB \f(BIbt601\fB\fR" 4 |
|
.IX Item "bt470bg bt601" |
|
.IP "\fB\fBsmpte170m\fB \f(BIsmpte170\fB\fR" 4 |
|
.IX Item "smpte170m smpte170" |
|
.IP "\fB\fBsmpte240m\fB \f(BIsmpte240\fB\fR" 4 |
|
.IX Item "smpte240m smpte240" |
|
.IP "\fB\fBbt2020_ncl\fB \f(BIbt2020\fB\fR" 4 |
|
.IX Item "bt2020_ncl bt2020" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBrow-mt\fR \fIboolean\fR" 4 |
|
.IX Item "row-mt boolean" |
|
.PD |
|
Enable row based multi-threading. |
|
.IP "\fBtune-content\fR" 4 |
|
.IX Item "tune-content" |
|
Set content type: default (0), screen (1), film (2). |
|
.IP "\fBcorpus-complexity\fR" 4 |
|
.IX Item "corpus-complexity" |
|
Corpus \s-1VBR\s0 mode is a variant of standard \s-1VBR\s0 where the complexity distribution |
|
midpoint is passed in rather than calculated for a specific clip or chunk. |
|
.Sp |
|
The valid range is [0, 10000]. 0 (default) uses standard \s-1VBR.\s0 |
|
.IP "\fBenable-tpl\fR \fIboolean\fR" 4 |
|
.IX Item "enable-tpl boolean" |
|
Enable temporal dependency model. |
|
.IP "\fBref-frame-config\fR" 4 |
|
.IX Item "ref-frame-config" |
|
Using per-frame metadata, set members of the structure \f(CW\*(C`vpx_svc_ref_frame_config_t\*(C'\fR in \f(CW\*(C`vpx/vp8cx.h\*(C'\fR to fine-control referencing schemes and frame buffer management. |
|
Use a :\-separated list of key=value pairs. |
|
For example, |
|
.Sp |
|
.Vb 2 |
|
\& av_dict_set(&av_frame\->metadata, "ref\-frame\-config", \e |
|
\& "rfc_update_buffer_slot=7:rfc_lst_fb_idx=0:rfc_gld_fb_idx=1:rfc_alt_fb_idx=2:rfc_reference_last=0:rfc_reference_golden=0:rfc_reference_alt_ref=0"); |
|
.Ve |
|
.RS 4 |
|
.IP "\fBrfc_update_buffer_slot\fR" 4 |
|
.IX Item "rfc_update_buffer_slot" |
|
Indicates the buffer slot number to update |
|
.IP "\fBrfc_update_last\fR" 4 |
|
.IX Item "rfc_update_last" |
|
Indicates whether to update the \s-1LAST\s0 frame |
|
.IP "\fBrfc_update_golden\fR" 4 |
|
.IX Item "rfc_update_golden" |
|
Indicates whether to update \s-1GOLDEN\s0 frame |
|
.IP "\fBrfc_update_alt_ref\fR" 4 |
|
.IX Item "rfc_update_alt_ref" |
|
Indicates whether to update \s-1ALT_REF\s0 frame |
|
.IP "\fBrfc_lst_fb_idx\fR" 4 |
|
.IX Item "rfc_lst_fb_idx" |
|
\&\s-1LAST\s0 frame buffer index |
|
.IP "\fBrfc_gld_fb_idx\fR" 4 |
|
.IX Item "rfc_gld_fb_idx" |
|
\&\s-1GOLDEN\s0 frame buffer index |
|
.IP "\fBrfc_alt_fb_idx\fR" 4 |
|
.IX Item "rfc_alt_fb_idx" |
|
\&\s-1ALT_REF\s0 frame buffer index |
|
.IP "\fBrfc_reference_last\fR" 4 |
|
.IX Item "rfc_reference_last" |
|
Indicates whether to reference \s-1LAST\s0 frame |
|
.IP "\fBrfc_reference_golden\fR" 4 |
|
.IX Item "rfc_reference_golden" |
|
Indicates whether to reference \s-1GOLDEN\s0 frame |
|
.IP "\fBrfc_reference_alt_ref\fR" 4 |
|
.IX Item "rfc_reference_alt_ref" |
|
Indicates whether to reference \s-1ALT_REF\s0 frame |
|
.IP "\fBrfc_reference_duration\fR" 4 |
|
.IX Item "rfc_reference_duration" |
|
Indicates frame duration |
|
.RE |
|
.RS 4 |
|
.RE |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PP |
|
For more information about libvpx see: |
|
<\fBhttp: |
|
.SS "libwebp" |
|
.IX Subsection "libwebp" |
|
libwebp WebP Image encoder wrapper |
|
.PP |
|
libwebp is Google's official encoder for WebP images. It can encode in either |
|
lossy or lossless mode. Lossy images are essentially a wrapper around a \s-1VP8\s0 |
|
frame. Lossless images are a separate codec developed by Google. |
|
.PP |
|
\fIPixel Format\fR |
|
.IX Subsection "Pixel Format" |
|
.PP |
|
Currently, libwebp only supports \s-1YUV420\s0 for lossy and \s-1RGB\s0 for lossless due |
|
to limitations of the format and libwebp. Alpha is supported for either mode. |
|
Because of \s-1API\s0 limitations, if \s-1RGB\s0 is passed in when encoding lossy or \s-1YUV\s0 is |
|
passed in for encoding lossless, the pixel format will automatically be |
|
converted using functions from libwebp. This is not ideal and is done only for |
|
convenience. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fB\-lossless\fR \fIboolean\fR" 4 |
|
.IX Item "-lossless boolean" |
|
Enables/Disables use of lossless mode. Default is 0. |
|
.IP "\fB\-compression_level\fR \fIinteger\fR" 4 |
|
.IX Item "-compression_level integer" |
|
For lossy, this is a quality/speed tradeoff. Higher values give better quality |
|
for a given size at the cost of increased encoding time. For lossless, this is |
|
a size/speed tradeoff. Higher values give smaller size at the cost of increased |
|
encoding time. More specifically, it controls the number of extra algorithms |
|
and compression tools used, and varies the combination of these tools. This |
|
maps to the \fImethod\fR option in libwebp. The valid range is 0 to 6. |
|
Default is 4. |
|
.IP "\fB\-quality\fR \fIfloat\fR" 4 |
|
.IX Item "-quality float" |
|
For lossy encoding, this controls image quality. For lossless encoding, this |
|
controls the effort and time spent in compression. |
|
Range is 0 to 100. Default is 75. |
|
.IP "\fB\-preset\fR \fItype\fR" 4 |
|
.IX Item "-preset type" |
|
Configuration preset. This does some automatic settings based on the general |
|
type of the image. |
|
.RS 4 |
|
.IP "\fBnone\fR" 4 |
|
.IX Item "none" |
|
Do not use a preset. |
|
.IP "\fBdefault\fR" 4 |
|
.IX Item "default" |
|
Use the encoder default. |
|
.IP "\fBpicture\fR" 4 |
|
.IX Item "picture" |
|
Digital picture, like portrait, inner shot |
|
.IP "\fBphoto\fR" 4 |
|
.IX Item "photo" |
|
Outdoor photograph, with natural lighting |
|
.IP "\fBdrawing\fR" 4 |
|
.IX Item "drawing" |
|
Hand or line drawing, with high-contrast details |
|
.IP "\fBicon\fR" 4 |
|
.IX Item "icon" |
|
Small-sized colorful images |
|
.IP "\fBtext\fR" 4 |
|
.IX Item "text" |
|
Text-like |
|
.RE |
|
.RS 4 |
|
.RE |
|
.SS "libx264, libx264rgb" |
|
.IX Subsection "libx264, libx264rgb" |
|
x264 H.264/MPEG\-4 \s-1AVC\s0 encoder wrapper. |
|
.PP |
|
This encoder 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 |
|
libx264 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 |
|
Many libx264 encoder options are mapped to FFmpeg global codec |
|
options, while unique encoder options are provided through private |
|
options. Additionally the \fBx264opts\fR and \fBx264\-params\fR |
|
private options allows one to pass a list of key=value tuples as accepted |
|
by the libx264 \f(CW\*(C`x264_param_parse\*(C'\fR function. |
|
.PP |
|
The x264 project website is at |
|
<\fBhttp: |
|
.PP |
|
The libx264rgb encoder is the same as libx264, except it accepts packed \s-1RGB\s0 |
|
pixel formats as input instead of \s-1YUV.\s0 |
|
.PP |
|
\fISupported Pixel Formats\fR |
|
.IX Subsection "Supported Pixel Formats" |
|
.PP |
|
x264 supports 8\- to 10\-bit color spaces. The exact bit depth is controlled at |
|
x264's configure time. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by the libx264 wrapper. The |
|
\&\fBx264\fR\-equivalent options or values are listed in parentheses |
|
for easy migration. |
|
.PP |
|
To reduce the duplication of documentation, only the private options |
|
and some others requiring special attention are documented here. For |
|
the documentation of the undocumented generic options, see |
|
\&\fBthe Codec Options chapter\fR. |
|
.PP |
|
To get a more accurate and extensive documentation of the libx264 |
|
options, invoke the command \fBx264 \-\-fullhelp\fR or consult |
|
the libx264 documentation. |
|
.IP "\fBb (\fR\fIbitrate\fR\fB)\fR" 4 |
|
.IX Item "b (bitrate)" |
|
Set bitrate in bits/s. Note that FFmpeg's \fBb\fR option is |
|
expressed in bits/s, while \fBx264\fR's \fBbitrate\fR is in |
|
kilobits/s. |
|
.IP "\fBbf (\fR\fIbframes\fR\fB)\fR" 4 |
|
.IX Item "bf (bframes)" |
|
.PD 0 |
|
.IP "\fBg (\fR\fIkeyint\fR\fB)\fR" 4 |
|
.IX Item "g (keyint)" |
|
.IP "\fBqmin (\fR\fIqpmin\fR\fB)\fR" 4 |
|
.IX Item "qmin (qpmin)" |
|
.PD |
|
Minimum quantizer scale. |
|
.IP "\fBqmax (\fR\fIqpmax\fR\fB)\fR" 4 |
|
.IX Item "qmax (qpmax)" |
|
Maximum quantizer scale. |
|
.IP "\fBqdiff (\fR\fIqpstep\fR\fB)\fR" 4 |
|
.IX Item "qdiff (qpstep)" |
|
Maximum difference between quantizer scales. |
|
.IP "\fBqblur (\fR\fIqblur\fR\fB)\fR" 4 |
|
.IX Item "qblur (qblur)" |
|
Quantizer curve blur |
|
.IP "\fBqcomp (\fR\fIqcomp\fR\fB)\fR" 4 |
|
.IX Item "qcomp (qcomp)" |
|
Quantizer curve compression factor |
|
.IP "\fBrefs (\fR\fIref\fR\fB)\fR" 4 |
|
.IX Item "refs (ref)" |
|
Number of reference frames each P\-frame can use. The range is from \fI0\-16\fR. |
|
.IP "\fBsc_threshold (\fR\fIscenecut\fR\fB)\fR" 4 |
|
.IX Item "sc_threshold (scenecut)" |
|
Sets the threshold for the scene change detection. |
|
.IP "\fBtrellis (\fR\fItrellis\fR\fB)\fR" 4 |
|
.IX Item "trellis (trellis)" |
|
Performs Trellis quantization to increase efficiency. Enabled by default. |
|
.IP "\fBnr (\fR\fInr\fR\fB)\fR" 4 |
|
.IX Item "nr (nr)" |
|
.PD 0 |
|
.IP "\fBme_range (\fR\fImerange\fR\fB)\fR" 4 |
|
.IX Item "me_range (merange)" |
|
.PD |
|
Maximum range of the motion search in pixels. |
|
.IP "\fBme_method (\fR\fIme\fR\fB)\fR" 4 |
|
.IX Item "me_method (me)" |
|
Set motion estimation method. Possible values in the decreasing order |
|
of speed: |
|
.RS 4 |
|
.IP "\fBdia (\fR\fIdia\fR\fB)\fR" 4 |
|
.IX Item "dia (dia)" |
|
.PD 0 |
|
.IP "\fBepzs (\fR\fIdia\fR\fB)\fR" 4 |
|
.IX Item "epzs (dia)" |
|
.PD |
|
Diamond search with radius 1 (fastest). \fBepzs\fR is an alias for |
|
\&\fBdia\fR. |
|
.IP "\fBhex (\fR\fIhex\fR\fB)\fR" 4 |
|
.IX Item "hex (hex)" |
|
Hexagonal search with radius 2. |
|
.IP "\fBumh (\fR\fIumh\fR\fB)\fR" 4 |
|
.IX Item "umh (umh)" |
|
Uneven multi-hexagon search. |
|
.IP "\fBesa (\fR\fIesa\fR\fB)\fR" 4 |
|
.IX Item "esa (esa)" |
|
Exhaustive search. |
|
.IP "\fBtesa (\fR\fItesa\fR\fB)\fR" 4 |
|
.IX Item "tesa (tesa)" |
|
Hadamard exhaustive search (slowest). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBforced-idr\fR" 4 |
|
.IX Item "forced-idr" |
|
Normally, when forcing a I\-frame type, the encoder can select any type |
|
of I\-frame. This option forces it to choose an IDR-frame. |
|
.IP "\fBsubq (\fR\fIsubme\fR\fB)\fR" 4 |
|
.IX Item "subq (subme)" |
|
Sub-pixel motion estimation method. |
|
.IP "\fBb_strategy (\fR\fIb\-adapt\fR\fB)\fR" 4 |
|
.IX Item "b_strategy (b-adapt)" |
|
Adaptive B\-frame placement decision algorithm. Use only on first-pass. |
|
.IP "\fBkeyint_min (\fR\fImin-keyint\fR\fB)\fR" 4 |
|
.IX Item "keyint_min (min-keyint)" |
|
Minimum \s-1GOP\s0 size. |
|
.IP "\fBcoder\fR" 4 |
|
.IX Item "coder" |
|
Set entropy encoder. Possible values: |
|
.RS 4 |
|
.IP "\fBac\fR" 4 |
|
.IX Item "ac" |
|
Enable \s-1CABAC.\s0 |
|
.IP "\fBvlc\fR" 4 |
|
.IX Item "vlc" |
|
Enable \s-1CAVLC\s0 and disable \s-1CABAC.\s0 It generates the same effect as |
|
\&\fBx264\fR's \fB\-\-no\-cabac\fR option. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBcmp\fR" 4 |
|
.IX Item "cmp" |
|
Set full pixel motion estimation comparison algorithm. Possible values: |
|
.RS 4 |
|
.IP "\fBchroma\fR" 4 |
|
.IX Item "chroma" |
|
Enable chroma in motion estimation. |
|
.IP "\fBsad\fR" 4 |
|
.IX Item "sad" |
|
Ignore chroma in motion estimation. It generates the same effect as |
|
\&\fBx264\fR's \fB\-\-no\-chroma\-me\fR option. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBthreads (\fR\fIthreads\fR\fB)\fR" 4 |
|
.IX Item "threads (threads)" |
|
Number of encoding threads. |
|
.IP "\fBthread_type\fR" 4 |
|
.IX Item "thread_type" |
|
Set multithreading technique. Possible values: |
|
.RS 4 |
|
.IP "\fBslice\fR" 4 |
|
.IX Item "slice" |
|
Slice-based multithreading. It generates the same effect as |
|
\&\fBx264\fR's \fB\-\-sliced\-threads\fR option. |
|
.IP "\fBframe\fR" 4 |
|
.IX Item "frame" |
|
Frame-based multithreading. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBflags\fR" 4 |
|
.IX Item "flags" |
|
Set encoding flags. It can be used to disable closed \s-1GOP\s0 and enable |
|
open \s-1GOP\s0 by setting it to \f(CW\*(C`\-cgop\*(C'\fR. The result is similar to |
|
the behavior of \fBx264\fR's \fB\-\-open\-gop\fR option. |
|
.IP "\fBrc_init_occupancy (\fR\fIvbv-init\fR\fB)\fR" 4 |
|
.IX Item "rc_init_occupancy (vbv-init)" |
|
.PD 0 |
|
.IP "\fBpreset (\fR\fIpreset\fR\fB)\fR" 4 |
|
.IX Item "preset (preset)" |
|
.PD |
|
Set the encoding preset. |
|
.IP "\fBtune (\fR\fItune\fR\fB)\fR" 4 |
|
.IX Item "tune (tune)" |
|
Set tuning of the encoding params. |
|
.IP "\fBprofile (\fR\fIprofile\fR\fB)\fR" 4 |
|
.IX Item "profile (profile)" |
|
Set profile restrictions. |
|
.IP "\fBfastfirstpass\fR" 4 |
|
.IX Item "fastfirstpass" |
|
Enable fast settings when encoding first pass, when set to 1. When set |
|
to 0, it has the same effect of \fBx264\fR's |
|
\&\fB\-\-slow\-firstpass\fR option. |
|
.IP "\fBcrf (\fR\fIcrf\fR\fB)\fR" 4 |
|
.IX Item "crf (crf)" |
|
Set the quality for constant quality mode. |
|
.IP "\fBcrf_max (\fR\fIcrf-max\fR\fB)\fR" 4 |
|
.IX Item "crf_max (crf-max)" |
|
In \s-1CRF\s0 mode, prevents \s-1VBV\s0 from lowering quality beyond this point. |
|
.IP "\fBqp (\fR\fIqp\fR\fB)\fR" 4 |
|
.IX Item "qp (qp)" |
|
Set constant quantization rate control method parameter. |
|
.IP "\fBaq-mode (\fR\fIaq-mode\fR\fB)\fR" 4 |
|
.IX Item "aq-mode (aq-mode)" |
|
Set \s-1AQ\s0 method. Possible values: |
|
.RS 4 |
|
.IP "\fBnone (\fR\fI0\fR\fB)\fR" 4 |
|
.IX Item "none (0)" |
|
Disabled. |
|
.IP "\fBvariance (\fR\fI1\fR\fB)\fR" 4 |
|
.IX Item "variance (1)" |
|
Variance \s-1AQ\s0 (complexity mask). |
|
.IP "\fBautovariance (\fR\fI2\fR\fB)\fR" 4 |
|
.IX Item "autovariance (2)" |
|
Auto-variance \s-1AQ\s0 (experimental). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBaq-strength (\fR\fIaq-strength\fR\fB)\fR" 4 |
|
.IX Item "aq-strength (aq-strength)" |
|
Set \s-1AQ\s0 strength, reduce blocking and blurring in flat and textured areas. |
|
.IP "\fBpsy\fR" 4 |
|
.IX Item "psy" |
|
Use psychovisual optimizations when set to 1. When set to 0, it has the |
|
same effect as \fBx264\fR's \fB\-\-no\-psy\fR option. |
|
.IP "\fBpsy-rd (\fR\fIpsy-rd\fR\fB)\fR" 4 |
|
.IX Item "psy-rd (psy-rd)" |
|
Set strength of psychovisual optimization, in |
|
\&\fIpsy-rd\fR:\fIpsy-trellis\fR format. |
|
.IP "\fBrc-lookahead (\fR\fIrc-lookahead\fR\fB)\fR" 4 |
|
.IX Item "rc-lookahead (rc-lookahead)" |
|
Set number of frames to look ahead for frametype and ratecontrol. |
|
.IP "\fBweightb\fR" 4 |
|
.IX Item "weightb" |
|
Enable weighted prediction for B\-frames when set to 1. When set to 0, |
|
it has the same effect as \fBx264\fR's \fB\-\-no\-weightb\fR option. |
|
.IP "\fBweightp (\fR\fIweightp\fR\fB)\fR" 4 |
|
.IX Item "weightp (weightp)" |
|
Set weighted prediction method for P\-frames. Possible values: |
|
.RS 4 |
|
.IP "\fBnone (\fR\fI0\fR\fB)\fR" 4 |
|
.IX Item "none (0)" |
|
Disabled |
|
.IP "\fBsimple (\fR\fI1\fR\fB)\fR" 4 |
|
.IX Item "simple (1)" |
|
Enable only weighted refs |
|
.IP "\fBsmart (\fR\fI2\fR\fB)\fR" 4 |
|
.IX Item "smart (2)" |
|
Enable both weighted refs and duplicates |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBssim (\fR\fIssim\fR\fB)\fR" 4 |
|
.IX Item "ssim (ssim)" |
|
Enable calculation and printing \s-1SSIM\s0 stats after the encoding. |
|
.IP "\fBintra-refresh (\fR\fIintra-refresh\fR\fB)\fR" 4 |
|
.IX Item "intra-refresh (intra-refresh)" |
|
Enable the use of Periodic Intra Refresh instead of \s-1IDR\s0 frames when set |
|
to 1. |
|
.IP "\fBavcintra-class (\fR\fIclass\fR\fB)\fR" 4 |
|
.IX Item "avcintra-class (class)" |
|
Configure the encoder to generate AVC-Intra. |
|
Valid values are 50,100 and 200 |
|
.IP "\fBbluray-compat (\fR\fIbluray-compat\fR\fB)\fR" 4 |
|
.IX Item "bluray-compat (bluray-compat)" |
|
Configure the encoder to be compatible with the bluray standard. |
|
It is a shorthand for setting \*(L"bluray\-compat=1 force\-cfr=1\*(R". |
|
.IP "\fBb\-bias (\fR\fIb\-bias\fR\fB)\fR" 4 |
|
.IX Item "b-bias (b-bias)" |
|
Set the influence on how often B\-frames are used. |
|
.IP "\fBb\-pyramid (\fR\fIb\-pyramid\fR\fB)\fR" 4 |
|
.IX Item "b-pyramid (b-pyramid)" |
|
Set method for keeping of some B\-frames as references. Possible values: |
|
.RS 4 |
|
.IP "\fBnone (\fR\fInone\fR\fB)\fR" 4 |
|
.IX Item "none (none)" |
|
Disabled. |
|
.IP "\fBstrict (\fR\fIstrict\fR\fB)\fR" 4 |
|
.IX Item "strict (strict)" |
|
Strictly hierarchical pyramid. |
|
.IP "\fBnormal (\fR\fInormal\fR\fB)\fR" 4 |
|
.IX Item "normal (normal)" |
|
Non-strict (not Blu-ray compatible). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBmixed-refs\fR" 4 |
|
.IX Item "mixed-refs" |
|
Enable the use of one reference per partition, as opposed to one |
|
reference per macroblock when set to 1. When set to 0, it has the |
|
same effect as \fBx264\fR's \fB\-\-no\-mixed\-refs\fR option. |
|
.IP "\fB8x8dct\fR" 4 |
|
.IX Item "8x8dct" |
|
Enable adaptive spatial transform (high profile 8x8 transform) |
|
when set to 1. When set to 0, it has the same effect as |
|
\&\fBx264\fR's \fB\-\-no\-8x8dct\fR option. |
|
.IP "\fBfast-pskip\fR" 4 |
|
.IX Item "fast-pskip" |
|
Enable early \s-1SKIP\s0 detection on P\-frames when set to 1. When set |
|
to 0, it has the same effect as \fBx264\fR's |
|
\&\fB\-\-no\-fast\-pskip\fR option. |
|
.IP "\fBaud (\fR\fIaud\fR\fB)\fR" 4 |
|
.IX Item "aud (aud)" |
|
Enable use of access unit delimiters when set to 1. |
|
.IP "\fBmbtree\fR" 4 |
|
.IX Item "mbtree" |
|
Enable use macroblock tree ratecontrol when set to 1. When set |
|
to 0, it has the same effect as \fBx264\fR's |
|
\&\fB\-\-no\-mbtree\fR option. |
|
.IP "\fBdeblock (\fR\fIdeblock\fR\fB)\fR" 4 |
|
.IX Item "deblock (deblock)" |
|
Set loop filter parameters, in \fIalpha\fR:\fIbeta\fR form. |
|
.IP "\fBcplxblur (\fR\fIcplxblur\fR\fB)\fR" 4 |
|
.IX Item "cplxblur (cplxblur)" |
|
Set fluctuations reduction in \s-1QP\s0 (before curve compression). |
|
.IP "\fBpartitions (\fR\fIpartitions\fR\fB)\fR" 4 |
|
.IX Item "partitions (partitions)" |
|
Set partitions to consider as a comma-separated list of. Possible |
|
values in the list: |
|
.RS 4 |
|
.IP "\fBp8x8\fR" 4 |
|
.IX Item "p8x8" |
|
8x8 P\-frame partition. |
|
.IP "\fBp4x4\fR" 4 |
|
.IX Item "p4x4" |
|
4x4 P\-frame partition. |
|
.IP "\fBb8x8\fR" 4 |
|
.IX Item "b8x8" |
|
4x4 B\-frame partition. |
|
.IP "\fBi8x8\fR" 4 |
|
.IX Item "i8x8" |
|
8x8 I\-frame partition. |
|
.IP "\fBi4x4\fR" 4 |
|
.IX Item "i4x4" |
|
4x4 I\-frame partition. |
|
(Enabling \fBp4x4\fR requires \fBp8x8\fR to be enabled. Enabling |
|
\&\fBi8x8\fR requires adaptive spatial transform (\fB8x8dct\fR |
|
option) to be enabled.) |
|
.IP "\fBnone (\fR\fInone\fR\fB)\fR" 4 |
|
.IX Item "none (none)" |
|
Do not consider any partitions. |
|
.IP "\fBall (\fR\fIall\fR\fB)\fR" 4 |
|
.IX Item "all (all)" |
|
Consider every partition. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBdirect-pred (\fR\fIdirect\fR\fB)\fR" 4 |
|
.IX Item "direct-pred (direct)" |
|
Set direct \s-1MV\s0 prediction mode. Possible values: |
|
.RS 4 |
|
.IP "\fBnone (\fR\fInone\fR\fB)\fR" 4 |
|
.IX Item "none (none)" |
|
Disable \s-1MV\s0 prediction. |
|
.IP "\fBspatial (\fR\fIspatial\fR\fB)\fR" 4 |
|
.IX Item "spatial (spatial)" |
|
Enable spatial predicting. |
|
.IP "\fBtemporal (\fR\fItemporal\fR\fB)\fR" 4 |
|
.IX Item "temporal (temporal)" |
|
Enable temporal predicting. |
|
.IP "\fBauto (\fR\fIauto\fR\fB)\fR" 4 |
|
.IX Item "auto (auto)" |
|
Automatically decided. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBslice-max-size (\fR\fIslice-max-size\fR\fB)\fR" 4 |
|
.IX Item "slice-max-size (slice-max-size)" |
|
Set the limit of the size of each slice in bytes. If not specified |
|
but \s-1RTP\s0 payload size (\fBps\fR) is specified, that is used. |
|
.IP "\fBstats (\fR\fIstats\fR\fB)\fR" 4 |
|
.IX Item "stats (stats)" |
|
Set the file name for multi-pass stats. |
|
.IP "\fBnal-hrd (\fR\fInal-hrd\fR\fB)\fR" 4 |
|
.IX Item "nal-hrd (nal-hrd)" |
|
Set signal \s-1HRD\s0 information (requires \fBvbv-bufsize\fR to be set). |
|
Possible values: |
|
.RS 4 |
|
.IP "\fBnone (\fR\fInone\fR\fB)\fR" 4 |
|
.IX Item "none (none)" |
|
Disable \s-1HRD\s0 information signaling. |
|
.IP "\fBvbr (\fR\fIvbr\fR\fB)\fR" 4 |
|
.IX Item "vbr (vbr)" |
|
Variable bit rate. |
|
.IP "\fBcbr (\fR\fIcbr\fR\fB)\fR" 4 |
|
.IX Item "cbr (cbr)" |
|
Constant bit rate (not allowed in \s-1MP4\s0 container). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBx264opts (N.A.)\fR" 4 |
|
.IX Item "x264opts (N.A.)" |
|
Set any x264 option, see \fBx264 \-\-fullhelp\fR for a list. |
|
.Sp |
|
Argument 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 \-c:v libx264 \-x264opts keyint=123:min\-keyint=20 \-an out.mkv |
|
.Ve |
|
.IP "\fBa53cc\fR \fIboolean\fR" 4 |
|
.IX Item "a53cc boolean" |
|
Import closed captions (which must be \s-1ATSC\s0 compatible format) into output. |
|
Only the mpeg2 and h264 decoders provide these. Default is 1 (on). |
|
.IP "\fBudu_sei\fR \fIboolean\fR" 4 |
|
.IX Item "udu_sei boolean" |
|
Import user data unregistered \s-1SEI\s0 if available into output. Default is 0 (off). |
|
.IP "\fBmb_info\fR \fIboolean\fR" 4 |
|
.IX Item "mb_info boolean" |
|
Set mb_info data through AVFrameSideData, only useful when used from the |
|
\&\s-1API.\s0 Default is 0 (off). |
|
.IP "\fBx264\-params (N.A.)\fR" 4 |
|
.IX Item "x264-params (N.A.)" |
|
Override the x264 configuration using a :\-separated list of key=value |
|
parameters. |
|
.Sp |
|
This option is functionally the same as the \fBx264opts\fR, but is |
|
duplicated for compatibility with the Libav fork. |
|
.Sp |
|
For example to specify libx264 encoding options with \fBffmpeg\fR: |
|
.Sp |
|
.Vb 3 |
|
\& ffmpeg \-i INPUT \-c:v libx264 \-x264\-params level=30:bframes=0:weightp=0:\e |
|
\& cabac=0:ref=1:vbv\-maxrate=768:vbv\-bufsize=2000:analyse=all:me=umh:\e |
|
\& no\-fast\-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT |
|
.Ve |
|
.PP |
|
Encoding ffpresets for common usages are provided so they can be used with the |
|
general presets system (e.g. passing the \fBpre\fR option). |
|
.SS "libx265" |
|
.IX Subsection "libx265" |
|
x265 H.265/HEVC encoder wrapper. |
|
.PP |
|
This encoder requires the presence of the libx265 headers and library |
|
during configuration. You need to explicitly configure the build with |
|
\&\fB\-\-enable\-libx265\fR. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Sets target video bitrate. |
|
.IP "\fBbf\fR" 4 |
|
.IX Item "bf" |
|
.PD 0 |
|
.IP "\fBg\fR" 4 |
|
.IX Item "g" |
|
.PD |
|
Set the \s-1GOP\s0 size. |
|
.IP "\fBkeyint_min\fR" 4 |
|
.IX Item "keyint_min" |
|
Minimum \s-1GOP\s0 size. |
|
.IP "\fBrefs\fR" 4 |
|
.IX Item "refs" |
|
Number of reference frames each P\-frame can use. The range is from \fI1\-16\fR. |
|
.IP "\fBpreset\fR" 4 |
|
.IX Item "preset" |
|
Set the x265 preset. |
|
.IP "\fBtune\fR" 4 |
|
.IX Item "tune" |
|
Set the x265 tune parameter. |
|
.IP "\fBprofile\fR" 4 |
|
.IX Item "profile" |
|
Set profile restrictions. |
|
.IP "\fBcrf\fR" 4 |
|
.IX Item "crf" |
|
Set the quality for constant quality mode. |
|
.IP "\fBqp\fR" 4 |
|
.IX Item "qp" |
|
Set constant quantization rate control method parameter. |
|
.IP "\fBqmin\fR" 4 |
|
.IX Item "qmin" |
|
Minimum quantizer scale. |
|
.IP "\fBqmax\fR" 4 |
|
.IX Item "qmax" |
|
Maximum quantizer scale. |
|
.IP "\fBqdiff\fR" 4 |
|
.IX Item "qdiff" |
|
Maximum difference between quantizer scales. |
|
.IP "\fBqblur\fR" 4 |
|
.IX Item "qblur" |
|
Quantizer curve blur |
|
.IP "\fBqcomp\fR" 4 |
|
.IX Item "qcomp" |
|
Quantizer curve compression factor |
|
.IP "\fBi_qfactor\fR" 4 |
|
.IX Item "i_qfactor" |
|
.PD 0 |
|
.IP "\fBb_qfactor\fR" 4 |
|
.IX Item "b_qfactor" |
|
.IP "\fBforced-idr\fR" 4 |
|
.IX Item "forced-idr" |
|
.PD |
|
Normally, when forcing a I\-frame type, the encoder can select any type |
|
of I\-frame. This option forces it to choose an IDR-frame. |
|
.IP "\fBudu_sei\fR \fIboolean\fR" 4 |
|
.IX Item "udu_sei boolean" |
|
Import user data unregistered \s-1SEI\s0 if available into output. Default is 0 (off). |
|
.IP "\fBx265\-params\fR" 4 |
|
.IX Item "x265-params" |
|
Set x265 options using a list of \fIkey\fR=\fIvalue\fR couples separated |
|
by \*(L":\*(R". See \fBx265 \-\-help\fR for a list of options. |
|
.Sp |
|
For example to specify libx265 encoding options with \fB\-x265\-params\fR: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i input \-c:v libx265 \-x265\-params crf=26:psy\-rd=1 output.mp4 |
|
.Ve |
|
.SS "libxavs2" |
|
.IX Subsection "libxavs2" |
|
xavs2 \s-1AVS2\-P2/IEEE1857.4\s0 encoder wrapper. |
|
.PP |
|
This encoder requires the presence of the libxavs2 headers and library |
|
during configuration. You need to explicitly configure the build with |
|
\&\fB\-\-enable\-libxavs2\fR. |
|
.PP |
|
The following standard libavcodec options are used: |
|
.IP "\(bu" 4 |
|
\&\fBb\fR / \fBbit_rate\fR |
|
.IP "\(bu" 4 |
|
\&\fBg\fR / \fBgop_size\fR |
|
.IP "\(bu" 4 |
|
\&\fBbf\fR / \fBmax_b_frames\fR |
|
.PP |
|
The encoder also has its own specific options: |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBlcu_row_threads\fR" 4 |
|
.IX Item "lcu_row_threads" |
|
Set the number of parallel threads for rows from 1 to 8 (default 5). |
|
.IP "\fBinitial_qp\fR" 4 |
|
.IX Item "initial_qp" |
|
Set the xavs2 quantization parameter from 1 to 63 (default 34). This is |
|
used to set the initial qp for the first frame. |
|
.IP "\fBqp\fR" 4 |
|
.IX Item "qp" |
|
Set the xavs2 quantization parameter from 1 to 63 (default 34). This is |
|
used to set the qp value under constant-QP mode. |
|
.IP "\fBmax_qp\fR" 4 |
|
.IX Item "max_qp" |
|
Set the max qp for rate control from 1 to 63 (default 55). |
|
.IP "\fBmin_qp\fR" 4 |
|
.IX Item "min_qp" |
|
Set the min qp for rate control from 1 to 63 (default 20). |
|
.IP "\fBspeed_level\fR" 4 |
|
.IX Item "speed_level" |
|
Set the Speed level from 0 to 9 (default 0). Higher is better but slower. |
|
.IP "\fBlog_level\fR" 4 |
|
.IX Item "log_level" |
|
Set the log level from \-1 to 3 (default 0). \-1: none, 0: error, |
|
1: warning, 2: info, 3: debug. |
|
.IP "\fBxavs2\-params\fR" 4 |
|
.IX Item "xavs2-params" |
|
Set xavs2 options using a list of \fIkey\fR=\fIvalue\fR couples separated |
|
by \*(L":\*(R". |
|
.Sp |
|
For example to specify libxavs2 encoding options with \fB\-xavs2\-params\fR: |
|
.Sp |
|
.Vb 1 |
|
\& ffmpeg \-i input \-c:v libxavs2 \-xavs2\-params RdoqLevel=0 output.avs2 |
|
.Ve |
|
.SS "libxvid" |
|
.IX Subsection "libxvid" |
|
Xvid \s-1MPEG\-4\s0 Part 2 encoder wrapper. |
|
.PP |
|
This encoder requires the presence of the libxvidcore headers and library |
|
during configuration. You need to explicitly configure the build with |
|
\&\f(CW\*(C`\-\-enable\-libxvid \-\-enable\-gpl\*(C'\fR. |
|
.PP |
|
The native \f(CW\*(C`mpeg4\*(C'\fR encoder supports the \s-1MPEG\-4\s0 Part 2 format, so |
|
users can encode to this format without this library. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.PP |
|
The following options are supported by the libxvid wrapper. Some of |
|
the following options are listed but are not documented, and |
|
correspond to shared codec options. See \fBthe Codec |
|
Options chapter\fR for their documentation. The other shared options |
|
which are not listed have no effect for the libxvid encoder. |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
.PD 0 |
|
.IP "\fBg\fR" 4 |
|
.IX Item "g" |
|
.IP "\fBqmin\fR" 4 |
|
.IX Item "qmin" |
|
.IP "\fBqmax\fR" 4 |
|
.IX Item "qmax" |
|
.IP "\fBmpeg_quant\fR" 4 |
|
.IX Item "mpeg_quant" |
|
.IP "\fBthreads\fR" 4 |
|
.IX Item "threads" |
|
.IP "\fBbf\fR" 4 |
|
.IX Item "bf" |
|
.IP "\fBb_qfactor\fR" 4 |
|
.IX Item "b_qfactor" |
|
.IP "\fBb_qoffset\fR" 4 |
|
.IX Item "b_qoffset" |
|
.IP "\fBflags\fR" 4 |
|
.IX Item "flags" |
|
.PD |
|
Set specific encoding flags. Possible values: |
|
.RS 4 |
|
.IP "\fBmv4\fR" 4 |
|
.IX Item "mv4" |
|
Use four motion vector by macroblock. |
|
.IP "\fBaic\fR" 4 |
|
.IX Item "aic" |
|
Enable high quality \s-1AC\s0 prediction. |
|
.IP "\fBgray\fR" 4 |
|
.IX Item "gray" |
|
Only encode grayscale. |
|
.IP "\fBgmc\fR" 4 |
|
.IX Item "gmc" |
|
Enable the use of global motion compensation (\s-1GMC\s0). |
|
.IP "\fBqpel\fR" 4 |
|
.IX Item "qpel" |
|
Enable quarter-pixel motion compensation. |
|
.IP "\fBcgop\fR" 4 |
|
.IX Item "cgop" |
|
Enable closed \s-1GOP.\s0 |
|
.IP "\fBglobal_header\fR" 4 |
|
.IX Item "global_header" |
|
Place global headers in extradata instead of every keyframe. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBtrellis\fR" 4 |
|
.IX Item "trellis" |
|
.PD 0 |
|
.IP "\fBme_method\fR" 4 |
|
.IX Item "me_method" |
|
.PD |
|
Set motion estimation method. Possible values in decreasing order of |
|
speed and increasing order of quality: |
|
.RS 4 |
|
.IP "\fBzero\fR" 4 |
|
.IX Item "zero" |
|
Use no motion estimation (default). |
|
.IP "\fBphods\fR" 4 |
|
.IX Item "phods" |
|
.PD 0 |
|
.IP "\fBx1\fR" 4 |
|
.IX Item "x1" |
|
.IP "\fBlog\fR" 4 |
|
.IX Item "log" |
|
.PD |
|
Enable advanced diamond zonal search for 16x16 blocks and half-pixel |
|
refinement for 16x16 blocks. \fBx1\fR and \fBlog\fR are aliases for |
|
\&\fBphods\fR. |
|
.IP "\fBepzs\fR" 4 |
|
.IX Item "epzs" |
|
Enable all of the things described above, plus advanced diamond zonal |
|
search for 8x8 blocks, half-pixel refinement for 8x8 blocks, and motion |
|
estimation on chroma planes. |
|
.IP "\fBfull\fR" 4 |
|
.IX Item "full" |
|
Enable all of the things described above, plus extended 16x16 and 8x8 |
|
blocks search. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBmbd\fR" 4 |
|
.IX Item "mbd" |
|
Set macroblock decision algorithm. Possible values in the increasing |
|
order of quality: |
|
.RS 4 |
|
.IP "\fBsimple\fR" 4 |
|
.IX Item "simple" |
|
Use macroblock comparing function algorithm (default). |
|
.IP "\fBbits\fR" 4 |
|
.IX Item "bits" |
|
Enable rate distortion-based half pixel and quarter pixel refinement for |
|
16x16 blocks. |
|
.IP "\fBrd\fR" 4 |
|
.IX Item "rd" |
|
Enable all of the things described above, plus rate distortion-based |
|
half pixel and quarter pixel refinement for 8x8 blocks, and rate |
|
distortion-based search using square pattern. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBlumi_aq\fR" 4 |
|
.IX Item "lumi_aq" |
|
Enable lumi masking adaptive quantization when set to 1. Default is 0 |
|
(disabled). |
|
.IP "\fBvariance_aq\fR" 4 |
|
.IX Item "variance_aq" |
|
Enable variance adaptive quantization when set to 1. Default is 0 |
|
(disabled). |
|
.Sp |
|
When combined with \fBlumi_aq\fR, the resulting quality will not |
|
be better than any of the two specified individually. In other |
|
words, the resulting quality will be the worse one of the two |
|
effects. |
|
.IP "\fBssim\fR" 4 |
|
.IX Item "ssim" |
|
Set structural similarity (\s-1SSIM\s0) displaying method. Possible values: |
|
.RS 4 |
|
.IP "\fBoff\fR" 4 |
|
.IX Item "off" |
|
Disable displaying of \s-1SSIM\s0 information. |
|
.IP "\fBavg\fR" 4 |
|
.IX Item "avg" |
|
Output average \s-1SSIM\s0 at the end of encoding to stdout. The format of |
|
showing the average \s-1SSIM\s0 is: |
|
.Sp |
|
.Vb 1 |
|
\& Average SSIM: %f |
|
.Ve |
|
.Sp |
|
For users who are not familiar with C, \f(CW%f\fR means a float number, or |
|
a decimal (e.g. 0.939232). |
|
.IP "\fBframe\fR" 4 |
|
.IX Item "frame" |
|
Output both per-frame \s-1SSIM\s0 data during encoding and average \s-1SSIM\s0 at |
|
the end of encoding to stdout. The format of per-frame information |
|
is: |
|
.Sp |
|
.Vb 1 |
|
\& SSIM: avg: %1.3f min: %1.3f max: %1.3f |
|
.Ve |
|
.Sp |
|
For users who are not familiar with C, \f(CW%1\fR.3f means a float number |
|
rounded to 3 digits after the dot (e.g. 0.932). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBssim_acc\fR" 4 |
|
.IX Item "ssim_acc" |
|
Set \s-1SSIM\s0 accuracy. Valid options are integers within the range of |
|
0\-4, while 0 gives the most accurate result and 4 computes the |
|
fastest. |
|
.SS "MediaFoundation" |
|
.IX Subsection "MediaFoundation" |
|
This provides wrappers to encoders (both audio and video) in the |
|
MediaFoundation framework. It can access both \s-1SW\s0 and \s-1HW\s0 encoders. |
|
Video encoders can take input in either of nv12 or yuv420p form |
|
(some encoders support both, some support only either \- in practice, |
|
nv12 is the safer choice, especially among \s-1HW\s0 encoders). |
|
.SS "Microsoft \s-1RLE\s0" |
|
.IX Subsection "Microsoft RLE" |
|
Microsoft \s-1RLE\s0 aka \s-1MSRLE\s0 encoder. |
|
Only 8\-bit palette mode supported. |
|
Compatible with Windows 3.1 and Windows 95. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBg\fR \fIinteger\fR" 4 |
|
.IX Item "g integer" |
|
Keyframe interval. |
|
A keyframe is inserted at least every \f(CW\*(C`\-g\*(C'\fR frames, sometimes sooner. |
|
.SS "mpeg2" |
|
.IX Subsection "mpeg2" |
|
\&\s-1MPEG\-2\s0 video encoder. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBprofile\fR" 4 |
|
.IX Item "profile" |
|
Select the mpeg2 profile to encode: |
|
.RS 4 |
|
.IP "\fB422\fR" 4 |
|
.IX Item "422" |
|
.PD 0 |
|
.IP "\fBhigh\fR" 4 |
|
.IX Item "high" |
|
.IP "\fBss\fR" 4 |
|
.IX Item "ss" |
|
.PD |
|
Spatially Scalable |
|
.IP "\fBsnr\fR" 4 |
|
.IX Item "snr" |
|
\&\s-1SNR\s0 Scalable |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.PD 0 |
|
.IP "\fBsimple\fR" 4 |
|
.IX Item "simple" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBlevel\fR" 4 |
|
.IX Item "level" |
|
.PD |
|
Select the mpeg2 level to encode: |
|
.RS 4 |
|
.IP "\fBhigh\fR" 4 |
|
.IX Item "high" |
|
.PD 0 |
|
.IP "\fBhigh1440\fR" 4 |
|
.IX Item "high1440" |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.IP "\fBlow\fR" 4 |
|
.IX Item "low" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBseq_disp_ext\fR \fIinteger\fR" 4 |
|
.IX Item "seq_disp_ext integer" |
|
.PD |
|
Specifies if the encoder should write a sequence_display_extension to the |
|
output. |
|
.RS 4 |
|
.IP "\fB\-1\fR" 4 |
|
.IX Item "-1" |
|
.PD 0 |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
.PD |
|
Decide automatically to write it or not (this is the default) by checking if |
|
the data to be written is different from the default or unspecified values. |
|
.IP "\fB0\fR" 4 |
|
.IX Item "0" |
|
.PD 0 |
|
.IP "\fBnever\fR" 4 |
|
.IX Item "never" |
|
.PD |
|
Never write it. |
|
.IP "\fB1\fR" 4 |
|
.IX Item "1" |
|
.PD 0 |
|
.IP "\fBalways\fR" 4 |
|
.IX Item "always" |
|
.PD |
|
Always write it. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBvideo_format\fR \fIinteger\fR" 4 |
|
.IX Item "video_format integer" |
|
Specifies the video_format written into the sequence display extension |
|
indicating the source of the video pictures. The default is \fBunspecified\fR, |
|
can be \fBcomponent\fR, \fBpal\fR, \fBntsc\fR, \fBsecam\fR or \fBmac\fR. |
|
For maximum compatibility, use \fBcomponent\fR. |
|
.IP "\fBa53cc\fR \fIboolean\fR" 4 |
|
.IX Item "a53cc boolean" |
|
Import closed captions (which must be \s-1ATSC\s0 compatible format) into output. |
|
Default is 1 (on). |
|
.SS "png" |
|
.IX Subsection "png" |
|
\&\s-1PNG\s0 image encoder. |
|
.PP |
|
\fIPrivate options\fR |
|
.IX Subsection "Private options" |
|
.IP "\fBdpi\fR \fIinteger\fR" 4 |
|
.IX Item "dpi integer" |
|
Set physical density of pixels, in dots per inch, unset by default |
|
.IP "\fBdpm\fR \fIinteger\fR" 4 |
|
.IX Item "dpm integer" |
|
Set physical density of pixels, in dots per meter, unset by default |
|
.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 chosen 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" |
|
.IP "\fB4444\fR" 4 |
|
.IX Item "4444" |
|
.IP "\fB4444xq\fR" 4 |
|
.IX Item "4444xq" |
|
.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. |
|
A\s0 custom vendor \s-1ID\s0 like \fIapl0\fR would claim the stream was produced by |
|
the Apple encoder. |
|
.IP "\fBalpha_bits\fR \fIinteger\fR" 4 |
|
.IX Item "alpha_bits integer" |
|
Specify number of bits for alpha component. |
|
Possible values are \fI0\fR, \fI8\fR and \fI16\fR. |
|
Use \fI0\fR to disable alpha plane coding. |
|
.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 produce 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. |
|
.SS "\s-1QSV\s0 Encoders" |
|
.IX Subsection "QSV Encoders" |
|
The family of Intel QuickSync Video encoders (\s-1MPEG\-2, H.264, HEVC, JPEG/MJPEG, |
|
VP9, AV1\s0) |
|
.PP |
|
\fIRatecontrol Method\fR |
|
.IX Subsection "Ratecontrol Method" |
|
.PP |
|
The ratecontrol method is selected as follows: |
|
.IP "\(bu" 4 |
|
When \fBglobal_quality\fR is specified, a quality-based mode is used. |
|
Specifically this means either |
|
.RS 4 |
|
.IP "\-" 4 |
|
\&\fI\s-1CQP\s0\fR \- constant quantizer scale, when the \fBqscale\fR codec flag is |
|
also set (the \fB\-qscale\fR ffmpeg option). |
|
.IP "\-" 4 |
|
\&\fI\s-1LA_ICQ\s0\fR \- intelligent constant quality with lookahead, when the |
|
\&\fBlook_ahead\fR option is also set. |
|
.IP "\-" 4 |
|
\&\fI\s-1ICQ\s0\fR \*(-- intelligent constant quality otherwise. For the \s-1ICQ\s0 modes, global |
|
quality range is 1 to 51, with 1 being the best quality. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\(bu" 4 |
|
Otherwise, a bitrate-based mode is used. For all of those, you should specify at |
|
least the desired average bitrate with the \fBb\fR option. |
|
.RS 4 |
|
.IP "\-" 4 |
|
\&\fI\s-1LA\s0\fR \- \s-1VBR\s0 with lookahead, when the \fBlook_ahead\fR option is specified. |
|
.IP "\-" 4 |
|
\&\fI\s-1VCM\s0\fR \- video conferencing mode, when the \fBvcm\fR option is set. |
|
.IP "\-" 4 |
|
\&\fI\s-1CBR\s0\fR \- constant bitrate, when \fBmaxrate\fR is specified and equal to |
|
the average bitrate. |
|
.IP "\-" 4 |
|
\&\fI\s-1VBR\s0\fR \- variable bitrate, when \fBmaxrate\fR is specified, but is higher |
|
than the average bitrate. |
|
.IP "\-" 4 |
|
\&\fI\s-1AVBR\s0\fR \- average \s-1VBR\s0 mode, when \fBmaxrate\fR is not specified, both |
|
\&\fBavbr_accuracy\fR and \fBavbr_convergence\fR are set to non-zero. This |
|
mode is available for H264 and \s-1HEVC\s0 on Windows. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PP |
|
Note that depending on your system, a different mode than the one you specified |
|
may be selected by the encoder. Set the verbosity level to \fIverbose\fR or |
|
higher to see the actual settings used by the \s-1QSV\s0 runtime. |
|
.PP |
|
\fIGlobal Options \-> \s-1MSDK\s0 Options\fR |
|
.IX Subsection "Global Options -> MSDK Options" |
|
.PP |
|
Additional libavcodec global options are mapped to \s-1MSDK\s0 options as follows: |
|
.IP "\(bu" 4 |
|
\&\fBg/gop_size\fR \-> \fBGopPicSize\fR |
|
.IP "\(bu" 4 |
|
\&\fBbf/max_b_frames\fR+1 \-> \fBGopRefDist\fR |
|
.IP "\(bu" 4 |
|
\&\fBrc_init_occupancy/rc_initial_buffer_occupancy\fR \-> |
|
\&\fBInitialDelayInKB\fR |
|
.IP "\(bu" 4 |
|
\&\fBslices\fR \-> \fBNumSlice\fR |
|
.IP "\(bu" 4 |
|
\&\fBrefs\fR \-> \fBNumRefFrame\fR |
|
.IP "\(bu" 4 |
|
\&\fBb_strategy/b_frame_strategy\fR \-> \fBBRefType\fR |
|
.IP "\(bu" 4 |
|
\&\fBcgop/CLOSED_GOP\fR codec flag \-> \fBGopOptFlag\fR |
|
.IP "\(bu" 4 |
|
For the \fI\s-1CQP\s0\fR mode, the \fBi_qfactor/i_qoffset\fR and |
|
\&\fBb_qfactor/b_qoffset\fR set the difference between \fI\s-1QPP\s0\fR and \fI\s-1QPI\s0\fR, |
|
and \fI\s-1QPP\s0\fR and \fI\s-1QPB\s0\fR respectively. |
|
.IP "\(bu" 4 |
|
Setting the \fBcoder\fR option to the value \fIvlc\fR will make the H.264 |
|
encoder use \s-1CAVLC\s0 instead of \s-1CABAC.\s0 |
|
.PP |
|
\fICommon Options\fR |
|
.IX Subsection "Common Options" |
|
.PP |
|
Following options are used by all qsv encoders. |
|
.IP "\fIasync_depth\fR" 4 |
|
.IX Item "async_depth" |
|
Specifies how many asynchronous operations an application performs |
|
before the application explicitly synchronizes the result. If zero, |
|
the value is not specified. |
|
.IP "\fIpreset\fR" 4 |
|
.IX Item "preset" |
|
This option itemizes a range of choices from veryfast (best speed) to veryslow |
|
(best quality). |
|
.RS 4 |
|
.IP "\fBveryfast\fR" 4 |
|
.IX Item "veryfast" |
|
.PD 0 |
|
.IP "\fBfaster\fR" 4 |
|
.IX Item "faster" |
|
.IP "\fBfast\fR" 4 |
|
.IX Item "fast" |
|
.IP "\fBmedium\fR" 4 |
|
.IX Item "medium" |
|
.IP "\fBslow\fR" 4 |
|
.IX Item "slow" |
|
.IP "\fBslower\fR" 4 |
|
.IX Item "slower" |
|
.IP "\fBveryslow\fR" 4 |
|
.IX Item "veryslow" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIforced_idr\fR" 4 |
|
.IX Item "forced_idr" |
|
.PD |
|
Forcing I frames as \s-1IDR\s0 frames. |
|
.IP "\fIlow_power\fR" 4 |
|
.IX Item "low_power" |
|
For encoders set this flag to \s-1ON\s0 to reduce power consumption and \s-1GPU\s0 usage. |
|
.PP |
|
\fIRuntime Options\fR |
|
.IX Subsection "Runtime Options" |
|
.PP |
|
Following options can be used durning qsv encoding. |
|
.IP "\fIglobal_quality\fR" 4 |
|
.IX Item "global_quality" |
|
.PD 0 |
|
.IP "\fIi_quant_factor\fR" 4 |
|
.IX Item "i_quant_factor" |
|
.IP "\fIi_quant_offset\fR" 4 |
|
.IX Item "i_quant_offset" |
|
.IP "\fIb_quant_factor\fR" 4 |
|
.IX Item "b_quant_factor" |
|
.IP "\fIb_quant_offset\fR" 4 |
|
.IX Item "b_quant_offset" |
|
.PD |
|
Supported in h264_qsv and hevc_qsv. |
|
Change these value to reset qsv codec's qp configuration. |
|
.IP "\fImax_frame_size\fR" 4 |
|
.IX Item "max_frame_size" |
|
Supported in h264_qsv and hevc_qsv. |
|
Change this value to reset qsv codec's MaxFrameSize configuration. |
|
.IP "\fIgop_size\fR" 4 |
|
.IX Item "gop_size" |
|
Change this value to reset qsv codec's gop configuration. |
|
.IP "\fIint_ref_type\fR" 4 |
|
.IX Item "int_ref_type" |
|
.PD 0 |
|
.IP "\fIint_ref_cycle_size\fR" 4 |
|
.IX Item "int_ref_cycle_size" |
|
.IP "\fIint_ref_qp_delta\fR" 4 |
|
.IX Item "int_ref_qp_delta" |
|
.IP "\fIint_ref_cycle_dist\fR" 4 |
|
.IX Item "int_ref_cycle_dist" |
|
.PD |
|
Supported in h264_qsv and hevc_qsv. |
|
Change these value to reset qsv codec's Intra Refresh configuration. |
|
.IP "\fIqmax\fR" 4 |
|
.IX Item "qmax" |
|
.PD 0 |
|
.IP "\fIqmin\fR" 4 |
|
.IX Item "qmin" |
|
.IP "\fImax_qp_i\fR" 4 |
|
.IX Item "max_qp_i" |
|
.IP "\fImin_qp_i\fR" 4 |
|
.IX Item "min_qp_i" |
|
.IP "\fImax_qp_p\fR" 4 |
|
.IX Item "max_qp_p" |
|
.IP "\fImin_qp_p\fR" 4 |
|
.IX Item "min_qp_p" |
|
.IP "\fImax_qp_b\fR" 4 |
|
.IX Item "max_qp_b" |
|
.IP "\fImin_qp_b\fR" 4 |
|
.IX Item "min_qp_b" |
|
.PD |
|
Supported in h264_qsv. |
|
Change these value to reset qsv codec's max/min qp configuration. |
|
.IP "\fIlow_delay_brc\fR" 4 |
|
.IX Item "low_delay_brc" |
|
Supported in h264_qsv, hevc_qsv and av1_qsv. |
|
Change this value to reset qsv codec's low_delay_brc configuration. |
|
.IP "\fIframerate\fR" 4 |
|
.IX Item "framerate" |
|
Change this value to reset qsv codec's framerate configuration. |
|
.IP "\fIbit_rate\fR" 4 |
|
.IX Item "bit_rate" |
|
.PD 0 |
|
.IP "\fIrc_buffer_size\fR" 4 |
|
.IX Item "rc_buffer_size" |
|
.IP "\fIrc_initial_buffer_occupancy\fR" 4 |
|
.IX Item "rc_initial_buffer_occupancy" |
|
.IP "\fIrc_max_rate\fR" 4 |
|
.IX Item "rc_max_rate" |
|
.PD |
|
Change these value to reset qsv codec's bitrate control configuration. |
|
.IP "\fIpic_timing_sei\fR" 4 |
|
.IX Item "pic_timing_sei" |
|
Supported in h264_qsv and hevc_qsv. |
|
Change this value to reset qsv codec's pic_timing_sei configuration. |
|
.PP |
|
\fIH264 options\fR |
|
.IX Subsection "H264 options" |
|
.PP |
|
These options are used by h264_qsv |
|
.IP "\fIextbrc\fR" 4 |
|
.IX Item "extbrc" |
|
Extended bitrate control. |
|
.IP "\fIrecovery_point_sei\fR" 4 |
|
.IX Item "recovery_point_sei" |
|
Set this flag to insert the recovery point \s-1SEI\s0 message at the beginning of every |
|
intra refresh cycle. |
|
.IP "\fIrdo\fR" 4 |
|
.IX Item "rdo" |
|
Enable rate distortion optimization. |
|
.IP "\fImax_frame_size\fR" 4 |
|
.IX Item "max_frame_size" |
|
Maximum encoded frame size in bytes. |
|
.IP "\fImax_frame_size_i\fR" 4 |
|
.IX Item "max_frame_size_i" |
|
Maximum encoded frame size for I frames in bytes. If this value is set as larger |
|
than zero, then for I frames the value set by max_frame_size is ignored. |
|
.IP "\fImax_frame_size_p\fR" 4 |
|
.IX Item "max_frame_size_p" |
|
Maximum encoded frame size for P frames in bytes. If this value is set as larger |
|
than zero, then for P frames the value set by max_frame_size is ignored. |
|
.IP "\fImax_slice_size\fR" 4 |
|
.IX Item "max_slice_size" |
|
Maximum encoded slice size in bytes. |
|
.IP "\fIbitrate_limit\fR" 4 |
|
.IX Item "bitrate_limit" |
|
Toggle bitrate limitations. |
|
Modifies bitrate to be in the range imposed by the \s-1QSV\s0 encoder. Setting this |
|
flag off may lead to violation of \s-1HRD\s0 conformance. Mind that specifying bitrate |
|
below the \s-1QSV\s0 encoder range might significantly affect quality. If on this |
|
option takes effect in non \s-1CQP\s0 modes: if bitrate is not in the range imposed |
|
by the \s-1QSV\s0 encoder, it will be changed to be in the range. |
|
.IP "\fImbbrc\fR" 4 |
|
.IX Item "mbbrc" |
|
Setting this flag enables macroblock level bitrate control that generally |
|
improves subjective visual quality. Enabling this flag may have negative impact |
|
on performance and objective visual quality metric. |
|
.IP "\fIlow_delay_brc\fR" 4 |
|
.IX Item "low_delay_brc" |
|
Setting this flag turns on or off LowDelayBRC feautre in qsv plugin, which provides |
|
more accurate bitrate control to minimize the variance of bitstream size frame |
|
by frame. Value: \-1\-default 0\-off 1\-on |
|
.IP "\fIadaptive_i\fR" 4 |
|
.IX Item "adaptive_i" |
|
This flag controls insertion of I frames by the \s-1QSV\s0 encoder. Turn \s-1ON\s0 this flag |
|
to allow changing of frame type from P and B to I. |
|
.IP "\fIadaptive_b\fR" 4 |
|
.IX Item "adaptive_b" |
|
This flag controls changing of frame type from B to P. |
|
.IP "\fIp_strategy\fR" 4 |
|
.IX Item "p_strategy" |
|
Enable P\-pyramid: 0\-default 1\-simple 2\-pyramid(bf need to be set to 0). |
|
.IP "\fIb_strategy\fR" 4 |
|
.IX Item "b_strategy" |
|
This option controls usage of B frames as reference. |
|
.IP "\fIdblk_idc\fR" 4 |
|
.IX Item "dblk_idc" |
|
This option disable deblocking. It has value in range 0~2. |
|
.IP "\fIcavlc\fR" 4 |
|
.IX Item "cavlc" |
|
If set, \s-1CAVLC\s0 is used; if unset, \s-1CABAC\s0 is used for encoding. |
|
.IP "\fIvcm\fR" 4 |
|
.IX Item "vcm" |
|
Video conferencing mode, please see ratecontrol method. |
|
.IP "\fIidr_interval\fR" 4 |
|
.IX Item "idr_interval" |
|
Distance (in I\-frames) between \s-1IDR\s0 frames. |
|
.IP "\fIpic_timing_sei\fR" 4 |
|
.IX Item "pic_timing_sei" |
|
Insert picture timing \s-1SEI\s0 with pic_struct_syntax element. |
|
.IP "\fIsingle_sei_nal_unit\fR" 4 |
|
.IX Item "single_sei_nal_unit" |
|
Put all the \s-1SEI\s0 messages into one \s-1NALU.\s0 |
|
.IP "\fImax_dec_frame_buffering\fR" 4 |
|
.IX Item "max_dec_frame_buffering" |
|
Maximum number of frames buffered in the \s-1DPB.\s0 |
|
.IP "\fIlook_ahead\fR" 4 |
|
.IX Item "look_ahead" |
|
Use \s-1VBR\s0 algorithm with look ahead. |
|
.IP "\fIlook_ahead_depth\fR" 4 |
|
.IX Item "look_ahead_depth" |
|
Depth of look ahead in number frames. |
|
.IP "\fIlook_ahead_downsampling\fR" 4 |
|
.IX Item "look_ahead_downsampling" |
|
Downscaling factor for the frames saved for the lookahead analysis. |
|
.RS 4 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.PD 0 |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
.IP "\fBoff\fR" 4 |
|
.IX Item "off" |
|
.IP "\fB2x\fR" 4 |
|
.IX Item "2x" |
|
.IP "\fB4x\fR" 4 |
|
.IX Item "4x" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIint_ref_type\fR" 4 |
|
.IX Item "int_ref_type" |
|
.PD |
|
Specifies intra refresh type. The major goal of intra refresh is improvement of |
|
error resilience without significant impact on encoded bitstream size caused by |
|
I frames. The \s-1SDK\s0 encoder achieves this by encoding part of each frame in |
|
refresh cycle using intra MBs. \fInone\fR means no refresh. \fIvertical\fR means |
|
vertical refresh, by column of MBs. \fIhorizontal\fR means horizontal refresh, |
|
by rows of MBs. \fIslice\fR means horizontal refresh by slices without |
|
overlapping. In case of \fIslice\fR, in_ref_cycle_size is ignored. To enable |
|
intra refresh, B frame should be set to 0. |
|
.IP "\fIint_ref_cycle_size\fR" 4 |
|
.IX Item "int_ref_cycle_size" |
|
Specifies number of pictures within refresh cycle starting from 2. 0 and 1 are |
|
invalid values. |
|
.IP "\fIint_ref_qp_delta\fR" 4 |
|
.IX Item "int_ref_qp_delta" |
|
Specifies \s-1QP\s0 difference for inserted intra MBs. This is signed value in |
|
[\-51, 51] range if target encoding bit-depth for luma samples is 8 and this |
|
range is [\-63, 63] for 10 bit-depth or [\-75, 75] for 12 bit-depth respectively. |
|
.IP "\fIint_ref_cycle_dist\fR" 4 |
|
.IX Item "int_ref_cycle_dist" |
|
Distance between the beginnings of the intra-refresh cycles in frames. |
|
.IP "\fIprofile\fR" 4 |
|
.IX Item "profile" |
|
.RS 4 |
|
.PD 0 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.IP "\fBbaseline\fR" 4 |
|
.IX Item "baseline" |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.IP "\fBhigh\fR" 4 |
|
.IX Item "high" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIa53cc\fR" 4 |
|
.IX Item "a53cc" |
|
.PD |
|
Use A53 Closed Captions (if available). |
|
.IP "\fIaud\fR" 4 |
|
.IX Item "aud" |
|
Insert the Access Unit Delimiter \s-1NAL.\s0 |
|
.IP "\fImfmode\fR" 4 |
|
.IX Item "mfmode" |
|
Multi-Frame Mode. |
|
.RS 4 |
|
.IP "\fBoff\fR" 4 |
|
.IX Item "off" |
|
.PD 0 |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIrepeat_pps\fR" 4 |
|
.IX Item "repeat_pps" |
|
.PD |
|
Repeat pps for every frame. |
|
.IP "\fImax_qp_i\fR" 4 |
|
.IX Item "max_qp_i" |
|
Maximum video quantizer scale for I frame. |
|
.IP "\fImin_qp_i\fR" 4 |
|
.IX Item "min_qp_i" |
|
Minimum video quantizer scale for I frame. |
|
.IP "\fImax_qp_p\fR" 4 |
|
.IX Item "max_qp_p" |
|
Maximum video quantizer scale for P frame. |
|
.IP "\fImin_qp_p\fR" 4 |
|
.IX Item "min_qp_p" |
|
Minimum video quantizer scale for P frame. |
|
.IP "\fImax_qp_b\fR" 4 |
|
.IX Item "max_qp_b" |
|
Maximum video quantizer scale for B frame. |
|
.IP "\fImin_qp_b\fR" 4 |
|
.IX Item "min_qp_b" |
|
Minimum video quantizer scale for B frame. |
|
.IP "\fIscenario\fR" 4 |
|
.IX Item "scenario" |
|
Provides a hint to encoder about the scenario for the encoding session. |
|
.RS 4 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.PD 0 |
|
.IP "\fBdisplayremoting\fR" 4 |
|
.IX Item "displayremoting" |
|
.IP "\fBvideoconference\fR" 4 |
|
.IX Item "videoconference" |
|
.IP "\fBarchive\fR" 4 |
|
.IX Item "archive" |
|
.IP "\fBlivestreaming\fR" 4 |
|
.IX Item "livestreaming" |
|
.IP "\fBcameracapture\fR" 4 |
|
.IX Item "cameracapture" |
|
.IP "\fBvideosurveillance\fR" 4 |
|
.IX Item "videosurveillance" |
|
.IP "\fBgamestreaming\fR" 4 |
|
.IX Item "gamestreaming" |
|
.IP "\fBremotegaming\fR" 4 |
|
.IX Item "remotegaming" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIavbr_accuracy\fR" 4 |
|
.IX Item "avbr_accuracy" |
|
.PD |
|
Accuracy of the \s-1AVBR\s0 ratecontrol (unit of tenth of percent). |
|
.IP "\fIavbr_convergence\fR" 4 |
|
.IX Item "avbr_convergence" |
|
Convergence of the \s-1AVBR\s0 ratecontrol (unit of 100 frames) |
|
.Sp |
|
The parameters \fIavbr_accuracy\fR and \fIavbr_convergence\fR are for the |
|
average variable bitrate control (\s-1AVBR\s0) algorithm. |
|
The algorithm focuses on overall encoding quality while meeting the specified |
|
bitrate, \fItarget_bitrate\fR, within the accuracy range \fIavbr_accuracy\fR, |
|
after a \fIavbr_Convergence\fR period. This method does not follow \s-1HRD\s0 and the |
|
instant bitrate is not capped or padded. |
|
.IP "\fIskip_frame\fR" 4 |
|
.IX Item "skip_frame" |
|
Use per-frame metadata \*(L"qsv_skip_frame\*(R" to skip frame when encoding. This option |
|
defines the usage of this metadata. |
|
.RS 4 |
|
.IP "\fBno_skip\fR" 4 |
|
.IX Item "no_skip" |
|
Frame skipping is disabled. |
|
.IP "\fBinsert_dummy\fR" 4 |
|
.IX Item "insert_dummy" |
|
Encoder inserts into bitstream frame where all macroblocks are encoded as |
|
skipped. |
|
.IP "\fBinsert_nothing\fR" 4 |
|
.IX Item "insert_nothing" |
|
Similar to insert_dummy, but encoder inserts nothing into bitstream. The skipped |
|
frames are still used in brc. For example, gop still include skipped frames, and |
|
the frames after skipped frames will be larger in size. |
|
.IP "\fBbrc_only\fR" 4 |
|
.IX Item "brc_only" |
|
skip_frame metadata indicates the number of missed frames before the current |
|
frame. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PP |
|
\fI\s-1HEVC\s0 Options\fR |
|
.IX Subsection "HEVC Options" |
|
.PP |
|
These options are used by hevc_qsv |
|
.IP "\fIextbrc\fR" 4 |
|
.IX Item "extbrc" |
|
Extended bitrate control. |
|
.IP "\fIrecovery_point_sei\fR" 4 |
|
.IX Item "recovery_point_sei" |
|
Set this flag to insert the recovery point \s-1SEI\s0 message at the beginning of every |
|
intra refresh cycle. |
|
.IP "\fIrdo\fR" 4 |
|
.IX Item "rdo" |
|
Enable rate distortion optimization. |
|
.IP "\fImax_frame_size\fR" 4 |
|
.IX Item "max_frame_size" |
|
Maximum encoded frame size in bytes. |
|
.IP "\fImax_frame_size_i\fR" 4 |
|
.IX Item "max_frame_size_i" |
|
Maximum encoded frame size for I frames in bytes. If this value is set as larger |
|
than zero, then for I frames the value set by max_frame_size is ignored. |
|
.IP "\fImax_frame_size_p\fR" 4 |
|
.IX Item "max_frame_size_p" |
|
Maximum encoded frame size for P frames in bytes. If this value is set as larger |
|
than zero, then for P frames the value set by max_frame_size is ignored. |
|
.IP "\fImax_slice_size\fR" 4 |
|
.IX Item "max_slice_size" |
|
Maximum encoded slice size in bytes. |
|
.IP "\fImbbrc\fR" 4 |
|
.IX Item "mbbrc" |
|
Setting this flag enables macroblock level bitrate control that generally |
|
improves subjective visual quality. Enabling this flag may have negative impact |
|
on performance and objective visual quality metric. |
|
.IP "\fIlow_delay_brc\fR" 4 |
|
.IX Item "low_delay_brc" |
|
Setting this flag turns on or off LowDelayBRC feautre in qsv plugin, which provides |
|
more accurate bitrate control to minimize the variance of bitstream size frame |
|
by frame. Value: \-1\-default 0\-off 1\-on |
|
.IP "\fIadaptive_i\fR" 4 |
|
.IX Item "adaptive_i" |
|
This flag controls insertion of I frames by the \s-1QSV\s0 encoder. Turn \s-1ON\s0 this flag |
|
to allow changing of frame type from P and B to I. |
|
.IP "\fIadaptive_b\fR" 4 |
|
.IX Item "adaptive_b" |
|
This flag controls changing of frame type from B to P. |
|
.IP "\fIp_strategy\fR" 4 |
|
.IX Item "p_strategy" |
|
Enable P\-pyramid: 0\-default 1\-simple 2\-pyramid(bf need to be set to 0). |
|
.IP "\fIb_strategy\fR" 4 |
|
.IX Item "b_strategy" |
|
This option controls usage of B frames as reference. |
|
.IP "\fIdblk_idc\fR" 4 |
|
.IX Item "dblk_idc" |
|
This option disable deblocking. It has value in range 0~2. |
|
.IP "\fIidr_interval\fR" 4 |
|
.IX Item "idr_interval" |
|
Distance (in I\-frames) between \s-1IDR\s0 frames. |
|
.RS 4 |
|
.IP "\fBbegin_only\fR" 4 |
|
.IX Item "begin_only" |
|
Output an IDR-frame only at the beginning of the stream. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIload_plugin\fR" 4 |
|
.IX Item "load_plugin" |
|
A user plugin to load in an internal session. |
|
.RS 4 |
|
.IP "\fBnone\fR" 4 |
|
.IX Item "none" |
|
.PD 0 |
|
.IP "\fBhevc_sw\fR" 4 |
|
.IX Item "hevc_sw" |
|
.IP "\fBhevc_hw\fR" 4 |
|
.IX Item "hevc_hw" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIload_plugins\fR" 4 |
|
.IX Item "load_plugins" |
|
.PD |
|
A :\-separate list of hexadecimal plugin UIDs to load in |
|
an internal session. |
|
.IP "\fIlook_ahead_depth\fR" 4 |
|
.IX Item "look_ahead_depth" |
|
Depth of look ahead in number frames, available when extbrc option is enabled. |
|
.IP "\fIprofile\fR" 4 |
|
.IX Item "profile" |
|
Set the encoding profile (scc requires libmfx >= 1.32). |
|
.RS 4 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.PD 0 |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.IP "\fBmain10\fR" 4 |
|
.IX Item "main10" |
|
.IP "\fBmainsp\fR" 4 |
|
.IX Item "mainsp" |
|
.IP "\fBrext\fR" 4 |
|
.IX Item "rext" |
|
.IP "\fBscc\fR" 4 |
|
.IX Item "scc" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fItier\fR" 4 |
|
.IX Item "tier" |
|
.PD |
|
Set the encoding tier (only level >= 4 can support high tier). |
|
This option only takes effect when the level option is specified. |
|
.RS 4 |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.PD 0 |
|
.IP "\fBhigh\fR" 4 |
|
.IX Item "high" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIgpb\fR" 4 |
|
.IX Item "gpb" |
|
.PD |
|
1: \s-1GPB\s0 (generalized P/B frame) |
|
.Sp |
|
0: regular P frame. |
|
.IP "\fItile_cols\fR" 4 |
|
.IX Item "tile_cols" |
|
Number of columns for tiled encoding. |
|
.IP "\fItile_rows\fR" 4 |
|
.IX Item "tile_rows" |
|
Number of rows for tiled encoding. |
|
.IP "\fIaud\fR" 4 |
|
.IX Item "aud" |
|
Insert the Access Unit Delimiter \s-1NAL.\s0 |
|
.IP "\fIpic_timing_sei\fR" 4 |
|
.IX Item "pic_timing_sei" |
|
Insert picture timing \s-1SEI\s0 with pic_struct_syntax element. |
|
.IP "\fItransform_skip\fR" 4 |
|
.IX Item "transform_skip" |
|
Turn this option \s-1ON\s0 to enable transformskip. It is supported on platform equal |
|
or newer than \s-1ICL.\s0 |
|
.IP "\fIint_ref_type\fR" 4 |
|
.IX Item "int_ref_type" |
|
Specifies intra refresh type. The major goal of intra refresh is improvement of |
|
error resilience without significant impact on encoded bitstream size caused by |
|
I frames. The \s-1SDK\s0 encoder achieves this by encoding part of each frame in |
|
refresh cycle using intra MBs. \fInone\fR means no refresh. \fIvertical\fR means |
|
vertical refresh, by column of MBs. \fIhorizontal\fR means horizontal refresh, |
|
by rows of MBs. \fIslice\fR means horizontal refresh by slices without |
|
overlapping. In case of \fIslice\fR, in_ref_cycle_size is ignored. To enable |
|
intra refresh, B frame should be set to 0. |
|
.IP "\fIint_ref_cycle_size\fR" 4 |
|
.IX Item "int_ref_cycle_size" |
|
Specifies number of pictures within refresh cycle starting from 2. 0 and 1 are |
|
invalid values. |
|
.IP "\fIint_ref_qp_delta\fR" 4 |
|
.IX Item "int_ref_qp_delta" |
|
Specifies \s-1QP\s0 difference for inserted intra MBs. This is signed value in |
|
[\-51, 51] range if target encoding bit-depth for luma samples is 8 and this |
|
range is [\-63, 63] for 10 bit-depth or [\-75, 75] for 12 bit-depth respectively. |
|
.IP "\fIint_ref_cycle_dist\fR" 4 |
|
.IX Item "int_ref_cycle_dist" |
|
Distance between the beginnings of the intra-refresh cycles in frames. |
|
.IP "\fImax_qp_i\fR" 4 |
|
.IX Item "max_qp_i" |
|
Maximum video quantizer scale for I frame. |
|
.IP "\fImin_qp_i\fR" 4 |
|
.IX Item "min_qp_i" |
|
Minimum video quantizer scale for I frame. |
|
.IP "\fImax_qp_p\fR" 4 |
|
.IX Item "max_qp_p" |
|
Maximum video quantizer scale for P frame. |
|
.IP "\fImin_qp_p\fR" 4 |
|
.IX Item "min_qp_p" |
|
Minimum video quantizer scale for P frame. |
|
.IP "\fImax_qp_b\fR" 4 |
|
.IX Item "max_qp_b" |
|
Maximum video quantizer scale for B frame. |
|
.IP "\fImin_qp_b\fR" 4 |
|
.IX Item "min_qp_b" |
|
Minimum video quantizer scale for B frame. |
|
.IP "\fIscenario\fR" 4 |
|
.IX Item "scenario" |
|
Provides a hint to encoder about the scenario for the encoding session. |
|
.RS 4 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.PD 0 |
|
.IP "\fBdisplayremoting\fR" 4 |
|
.IX Item "displayremoting" |
|
.IP "\fBvideoconference\fR" 4 |
|
.IX Item "videoconference" |
|
.IP "\fBarchive\fR" 4 |
|
.IX Item "archive" |
|
.IP "\fBlivestreaming\fR" 4 |
|
.IX Item "livestreaming" |
|
.IP "\fBcameracapture\fR" 4 |
|
.IX Item "cameracapture" |
|
.IP "\fBvideosurveillance\fR" 4 |
|
.IX Item "videosurveillance" |
|
.IP "\fBgamestreaming\fR" 4 |
|
.IX Item "gamestreaming" |
|
.IP "\fBremotegaming\fR" 4 |
|
.IX Item "remotegaming" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fIavbr_accuracy\fR" 4 |
|
.IX Item "avbr_accuracy" |
|
.PD |
|
Accuracy of the \s-1AVBR\s0 ratecontrol (unit of tenth of percent). |
|
.IP "\fIavbr_convergence\fR" 4 |
|
.IX Item "avbr_convergence" |
|
Convergence of the \s-1AVBR\s0 ratecontrol (unit of 100 frames) |
|
.Sp |
|
The parameters \fIavbr_accuracy\fR and \fIavbr_convergence\fR are for the |
|
average variable bitrate control (\s-1AVBR\s0) algorithm. |
|
The algorithm focuses on overall encoding quality while meeting the specified |
|
bitrate, \fItarget_bitrate\fR, within the accuracy range \fIavbr_accuracy\fR, |
|
after a \fIavbr_Convergence\fR period. This method does not follow \s-1HRD\s0 and the |
|
instant bitrate is not capped or padded. |
|
.IP "\fIskip_frame\fR" 4 |
|
.IX Item "skip_frame" |
|
Use per-frame metadata \*(L"qsv_skip_frame\*(R" to skip frame when encoding. This option |
|
defines the usage of this metadata. |
|
.RS 4 |
|
.IP "\fBno_skip\fR" 4 |
|
.IX Item "no_skip" |
|
Frame skipping is disabled. |
|
.IP "\fBinsert_dummy\fR" 4 |
|
.IX Item "insert_dummy" |
|
Encoder inserts into bitstream frame where all macroblocks are encoded as |
|
skipped. |
|
.IP "\fBinsert_nothing\fR" 4 |
|
.IX Item "insert_nothing" |
|
Similar to insert_dummy, but encoder inserts nothing into bitstream. The skipped |
|
frames are still used in brc. For example, gop still include skipped frames, and |
|
the frames after skipped frames will be larger in size. |
|
.IP "\fBbrc_only\fR" 4 |
|
.IX Item "brc_only" |
|
skip_frame metadata indicates the number of missed frames before the current |
|
frame. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PP |
|
\fI\s-1MPEG2\s0 Options\fR |
|
.IX Subsection "MPEG2 Options" |
|
.PP |
|
These options are used by mpeg2_qsv |
|
.IP "\fIprofile\fR" 4 |
|
.IX Item "profile" |
|
.RS 4 |
|
.PD 0 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.IP "\fBsimple\fR" 4 |
|
.IX Item "simple" |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.IP "\fBhigh\fR" 4 |
|
.IX Item "high" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PD |
|
.PP |
|
\fI\s-1VP9\s0 Options\fR |
|
.IX Subsection "VP9 Options" |
|
.PP |
|
These options are used by vp9_qsv |
|
.IP "\fIprofile\fR" 4 |
|
.IX Item "profile" |
|
.RS 4 |
|
.PD 0 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.IP "\fBprofile0\fR" 4 |
|
.IX Item "profile0" |
|
.IP "\fBprofile1\fR" 4 |
|
.IX Item "profile1" |
|
.IP "\fBprofile2\fR" 4 |
|
.IX Item "profile2" |
|
.IP "\fBprofile3\fR" 4 |
|
.IX Item "profile3" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fItile_cols\fR" 4 |
|
.IX Item "tile_cols" |
|
.PD |
|
Number of columns for tiled encoding (requires libmfx >= 1.29). |
|
.IP "\fItile_rows\fR" 4 |
|
.IX Item "tile_rows" |
|
Number of rows for tiled encoding (requires libmfx >= 1.29). |
|
.PP |
|
\fI\s-1AV1\s0 Options\fR |
|
.IX Subsection "AV1 Options" |
|
.PP |
|
These options are used by av1_qsv (requires libvpl). |
|
.IP "\fIprofile\fR" 4 |
|
.IX Item "profile" |
|
.RS 4 |
|
.PD 0 |
|
.IP "\fBunknown\fR" 4 |
|
.IX Item "unknown" |
|
.IP "\fBmain\fR" 4 |
|
.IX Item "main" |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fItile_cols\fR" 4 |
|
.IX Item "tile_cols" |
|
.PD |
|
Number of columns for tiled encoding. |
|
.IP "\fItile_rows\fR" 4 |
|
.IX Item "tile_rows" |
|
Number of rows for tiled encoding. |
|
.IP "\fIadaptive_i\fR" 4 |
|
.IX Item "adaptive_i" |
|
This flag controls insertion of I frames by the \s-1QSV\s0 encoder. Turn \s-1ON\s0 this flag |
|
to allow changing of frame type from P and B to I. |
|
.IP "\fIadaptive_b\fR" 4 |
|
.IX Item "adaptive_b" |
|
This flag controls changing of frame type from B to P. |
|
.IP "\fIb_strategy\fR" 4 |
|
.IX Item "b_strategy" |
|
This option controls usage of B frames as reference. |
|
.IP "\fIextbrc\fR" 4 |
|
.IX Item "extbrc" |
|
Extended bitrate control. |
|
.IP "\fIlook_ahead_depth\fR" 4 |
|
.IX Item "look_ahead_depth" |
|
Depth of look ahead in number frames, available when extbrc option is enabled. |
|
.IP "\fIlow_delay_brc\fR" 4 |
|
.IX Item "low_delay_brc" |
|
Setting this flag turns on or off LowDelayBRC feautre in qsv plugin, which provides |
|
more accurate bitrate control to minimize the variance of bitstream size frame |
|
by frame. Value: \-1\-default 0\-off 1\-on |
|
.IP "\fBmax_frame_size\fR" 4 |
|
.IX Item "max_frame_size" |
|
Set the allowed max size in bytes for each frame. If the frame size exceeds |
|
the limitation, encoder will adjust the \s-1QP\s0 value to control the frame size. |
|
Invalid in \s-1CQP\s0 rate control mode. |
|
.SS "snow" |
|
.IX Subsection "snow" |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBiterative_dia_size\fR" 4 |
|
.IX Item "iterative_dia_size" |
|
dia size for the iterative motion estimation |
|
.SS "\s-1VAAPI\s0 encoders" |
|
.IX Subsection "VAAPI encoders" |
|
Wrappers for hardware encoders accessible via \s-1VAAPI.\s0 |
|
.PP |
|
These encoders only accept input in \s-1VAAPI\s0 hardware surfaces. If you have input |
|
in software frames, use the \fBhwupload\fR filter to upload them to the \s-1GPU.\s0 |
|
.PP |
|
The following standard libavcodec options are used: |
|
.IP "\(bu" 4 |
|
\&\fBg\fR / \fBgop_size\fR |
|
.IP "\(bu" 4 |
|
\&\fBbf\fR / \fBmax_b_frames\fR |
|
.IP "\(bu" 4 |
|
\&\fBprofile\fR |
|
.Sp |
|
If not set, this will be determined automatically from the format of the input |
|
frames and the profiles supported by the driver. |
|
.IP "\(bu" 4 |
|
\&\fBlevel\fR |
|
.IP "\(bu" 4 |
|
\&\fBb\fR / \fBbit_rate\fR |
|
.IP "\(bu" 4 |
|
\&\fBmaxrate\fR / \fBrc_max_rate\fR |
|
.IP "\(bu" 4 |
|
\&\fBbufsize\fR / \fBrc_buffer_size\fR |
|
.IP "\(bu" 4 |
|
\&\fBrc_init_occupancy\fR / \fBrc_initial_buffer_occupancy\fR |
|
.IP "\(bu" 4 |
|
\&\fBcompression_level\fR |
|
.Sp |
|
Speed / quality tradeoff: higher values are faster / worse quality. |
|
.IP "\(bu" 4 |
|
\&\fBq\fR / \fBglobal_quality\fR |
|
.Sp |
|
Size / quality tradeoff: higher values are smaller / worse quality. |
|
.IP "\(bu" 4 |
|
\&\fBqmin\fR |
|
.IP "\(bu" 4 |
|
\&\fBqmax\fR |
|
.IP "\(bu" 4 |
|
\&\fBi_qfactor\fR / \fBi_quant_factor\fR |
|
.IP "\(bu" 4 |
|
\&\fBi_qoffset\fR / \fBi_quant_offset\fR |
|
.IP "\(bu" 4 |
|
\&\fBb_qfactor\fR / \fBb_quant_factor\fR |
|
.IP "\(bu" 4 |
|
\&\fBb_qoffset\fR / \fBb_quant_offset\fR |
|
.IP "\(bu" 4 |
|
\&\fBslices\fR |
|
.PP |
|
All encoders support the following options: |
|
.IP "\fBlow_power\fR" 4 |
|
.IX Item "low_power" |
|
Some drivers/platforms offer a second encoder for some codecs intended to use |
|
less power than the default encoder; setting this option will attempt to use |
|
that encoder. Note that it may support a reduced feature set, so some other |
|
options may not be available in this mode. |
|
.IP "\fBidr_interval\fR" 4 |
|
.IX Item "idr_interval" |
|
Set the number of normal intra frames between full-refresh (\s-1IDR\s0) frames in |
|
open-GOP mode. The intra frames are still IRAPs, but will not include global |
|
headers and may have non-decodable leading pictures. |
|
.IP "\fBb_depth\fR" 4 |
|
.IX Item "b_depth" |
|
Set the B\-frame reference depth. When set to one (the default), all B\-frames |
|
will refer only to P\- or I\-frames. When set to greater values multiple layers |
|
of B\-frames will be present, frames in each layer only referring to frames in |
|
higher layers. |
|
.IP "\fBasync_depth\fR" 4 |
|
.IX Item "async_depth" |
|
Maximum processing parallelism. Increase this to improve single channel |
|
performance. This option doesn't work if driver doesn't implement vaSyncBuffer |
|
function. Please make sure there are enough hw_frames allocated if a large |
|
number of async_depth is used. |
|
.IP "\fBmax_frame_size\fR" 4 |
|
.IX Item "max_frame_size" |
|
Set the allowed max size in bytes for each frame. If the frame size exceeds |
|
the limitation, encoder will adjust the \s-1QP\s0 value to control the frame size. |
|
Invalid in \s-1CQP\s0 rate control mode. |
|
.IP "\fBrc_mode\fR" 4 |
|
.IX Item "rc_mode" |
|
Set the rate control mode to use. A given driver may only support a subset of |
|
modes. |
|
.Sp |
|
Possible modes: |
|
.RS 4 |
|
.IP "\fBauto\fR" 4 |
|
.IX Item "auto" |
|
Choose the mode automatically based on driver support and the other options. |
|
This is the default. |
|
.IP "\fB\s-1CQP\s0\fR" 4 |
|
.IX Item "CQP" |
|
Constant-quality. |
|
.IP "\fB\s-1CBR\s0\fR" 4 |
|
.IX Item "CBR" |
|
Constant-bitrate. |
|
.IP "\fB\s-1VBR\s0\fR" 4 |
|
.IX Item "VBR" |
|
Variable-bitrate. |
|
.IP "\fB\s-1ICQ\s0\fR" 4 |
|
.IX Item "ICQ" |
|
Intelligent constant-quality. |
|
.IP "\fB\s-1QVBR\s0\fR" 4 |
|
.IX Item "QVBR" |
|
Quality-defined variable-bitrate. |
|
.IP "\fB\s-1AVBR\s0\fR" 4 |
|
.IX Item "AVBR" |
|
Average variable bitrate. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.PP |
|
Each encoder also has its own specific options: |
|
.IP "\fBh264_vaapi\fR" 4 |
|
.IX Item "h264_vaapi" |
|
\&\fBprofile\fR sets the value of \fIprofile_idc\fR and the \fIconstraint_set*_flag\fRs. |
|
\&\fBlevel\fR sets the value of \fIlevel_idc\fR. |
|
.RS 4 |
|
.IP "\fBcoder\fR" 4 |
|
.IX Item "coder" |
|
Set entropy encoder (default is \fIcabac\fR). Possible values: |
|
.RS 4 |
|
.IP "\fBac\fR" 4 |
|
.IX Item "ac" |
|
.PD 0 |
|
.IP "\fBcabac\fR" 4 |
|
.IX Item "cabac" |
|
.PD |
|
Use \s-1CABAC.\s0 |
|
.IP "\fBvlc\fR" 4 |
|
.IX Item "vlc" |
|
.PD 0 |
|
.IP "\fBcavlc\fR" 4 |
|
.IX Item "cavlc" |
|
.PD |
|
Use \s-1CAVLC.\s0 |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBaud\fR" 4 |
|
.IX Item "aud" |
|
Include access unit delimiters in the stream (not included by default). |
|
.IP "\fBsei\fR" 4 |
|
.IX Item "sei" |
|
Set \s-1SEI\s0 message types to include. |
|
Some combination of the following values: |
|
.RS 4 |
|
.IP "\fBidentifier\fR" 4 |
|
.IX Item "identifier" |
|
Include a \fIuser_data_unregistered\fR message containing information about |
|
the encoder. |
|
.IP "\fBtiming\fR" 4 |
|
.IX Item "timing" |
|
Include picture timing parameters (\fIbuffering_period\fR and |
|
\&\fIpic_timing\fR messages). |
|
.IP "\fBrecovery_point\fR" 4 |
|
.IX Item "recovery_point" |
|
Include recovery points where appropriate (\fIrecovery_point\fR messages). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBhevc_vaapi\fR" 4 |
|
.IX Item "hevc_vaapi" |
|
\&\fBprofile\fR and \fBlevel\fR set the values of |
|
\&\fIgeneral_profile_idc\fR and \fIgeneral_level_idc\fR respectively. |
|
.RS 4 |
|
.IP "\fBaud\fR" 4 |
|
.IX Item "aud" |
|
Include access unit delimiters in the stream (not included by default). |
|
.IP "\fBtier\fR" 4 |
|
.IX Item "tier" |
|
Set \fIgeneral_tier_flag\fR. This may affect the level chosen for the stream |
|
if it is not explicitly specified. |
|
.IP "\fBsei\fR" 4 |
|
.IX Item "sei" |
|
Set \s-1SEI\s0 message types to include. |
|
Some combination of the following values: |
|
.RS 4 |
|
.IP "\fBhdr\fR" 4 |
|
.IX Item "hdr" |
|
Include \s-1HDR\s0 metadata if the input frames have it |
|
(\fImastering_display_colour_volume\fR and \fIcontent_light_level\fR |
|
messages). |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBtiles\fR" 4 |
|
.IX Item "tiles" |
|
Set the number of tiles to encode the input video with, as columns x rows. |
|
Larger numbers allow greater parallelism in both encoding and decoding, but |
|
may decrease coding efficiency. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBmjpeg_vaapi\fR" 4 |
|
.IX Item "mjpeg_vaapi" |
|
Only baseline \s-1DCT\s0 encoding is supported. The encoder always uses the standard |
|
quantisation and huffman tables \- \fBglobal_quality\fR scales the standard |
|
quantisation table (range 1\-100). |
|
.Sp |
|
For \s-1YUV, 4:2:0, 4:2:2\s0 and 4:4:4 subsampling modes are supported. \s-1RGB\s0 is also |
|
supported, and will create an \s-1RGB JPEG.\s0 |
|
.RS 4 |
|
.IP "\fBjfif\fR" 4 |
|
.IX Item "jfif" |
|
Include \s-1JFIF\s0 header in each frame (not included by default). |
|
.IP "\fBhuffman\fR" 4 |
|
.IX Item "huffman" |
|
Include standard huffman tables (on by default). Turning this off will save |
|
a few hundred bytes in each output frame, but may lose compatibility with some |
|
\&\s-1JPEG\s0 decoders which don't fully handle \s-1MJPEG.\s0 |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBmpeg2_vaapi\fR" 4 |
|
.IX Item "mpeg2_vaapi" |
|
\&\fBprofile\fR and \fBlevel\fR set the value of \fIprofile_and_level_indication\fR. |
|
.IP "\fBvp8_vaapi\fR" 4 |
|
.IX Item "vp8_vaapi" |
|
B\-frames are not supported. |
|
.Sp |
|
\&\fBglobal_quality\fR sets the \fIq_idx\fR used for non-key frames (range 0\-127). |
|
.RS 4 |
|
.IP "\fBloop_filter_level\fR" 4 |
|
.IX Item "loop_filter_level" |
|
.PD 0 |
|
.IP "\fBloop_filter_sharpness\fR" 4 |
|
.IX Item "loop_filter_sharpness" |
|
.PD |
|
Manually set the loop filter parameters. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.IP "\fBvp9_vaapi\fR" 4 |
|
.IX Item "vp9_vaapi" |
|
\&\fBglobal_quality\fR sets the \fIq_idx\fR used for P\-frames (range 0\-255). |
|
.RS 4 |
|
.IP "\fBloop_filter_level\fR" 4 |
|
.IX Item "loop_filter_level" |
|
.PD 0 |
|
.IP "\fBloop_filter_sharpness\fR" 4 |
|
.IX Item "loop_filter_sharpness" |
|
.PD |
|
Manually set the loop filter parameters. |
|
.RE |
|
.RS 4 |
|
.Sp |
|
B\-frames are supported, but the output stream is always in encode order rather than display |
|
order. If B\-frames are enabled, it may be necessary to use the \fBvp9_raw_reorder\fR |
|
bitstream filter to modify the output stream to display frames in the correct order. |
|
.Sp |
|
Only normal frames are produced \- the \fBvp9_superframe\fR bitstream filter may be |
|
required to produce a stream usable with all decoders. |
|
.RE |
|
.SS "vbn" |
|
.IX Subsection "vbn" |
|
Vizrt Binary Image encoder. |
|
.PP |
|
This format is used by the broadcast vendor Vizrt for quick texture streaming. |
|
Advanced features of the format such as \s-1LZW\s0 compression of texture data or |
|
generation of mipmaps are not supported. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBformat\fR \fIstring\fR" 4 |
|
.IX Item "format string" |
|
Sets the texture compression used by the \s-1VBN\s0 file. Can be \fIdxt1\fR, |
|
\&\fIdxt5\fR or \fIraw\fR. Default is \fIdxt5\fR. |
|
.SS "vc2" |
|
.IX Subsection "vc2" |
|
\&\s-1SMPTE VC\-2\s0 (previously \s-1BBC\s0 Dirac Pro). This codec was primarily aimed at |
|
professional broadcasting but since it supports yuv420, yuv422 and yuv444 at |
|
8 (limited range or full range), 10 or 12 bits, this makes it suitable for |
|
other tasks which require low overhead and low compression (like screen |
|
recording). |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBb\fR" 4 |
|
.IX Item "b" |
|
Sets target video bitrate. Usually that's around 1:6 of the uncompressed |
|
video bitrate (e.g. for 1920x1080 50fps yuv422p10 that's around 400Mbps). Higher |
|
values (close to the uncompressed bitrate) turn on lossless compression mode. |
|
.IP "\fBfield_order\fR" 4 |
|
.IX Item "field_order" |
|
Enables field coding when set (e.g. to tt \- top field first) for interlaced |
|
inputs. Should increase compression with interlaced content as it splits the |
|
fields and encodes each separately. |
|
.IP "\fBwavelet_depth\fR" 4 |
|
.IX Item "wavelet_depth" |
|
Sets the total amount of wavelet transforms to apply, between 1 and 5 (default). |
|
Lower values reduce compression and quality. Less capable decoders may not be |
|
able to handle values of \fBwavelet_depth\fR over 3. |
|
.IP "\fBwavelet_type\fR" 4 |
|
.IX Item "wavelet_type" |
|
Sets the transform type. Currently only \fI5_3\fR (LeGall) and \fI9_7\fR |
|
(Deslauriers-Dubuc) |
|
are implemented, with 9_7 being the one with better compression and thus |
|
is the default. |
|
.IP "\fBslice_width\fR" 4 |
|
.IX Item "slice_width" |
|
.PD 0 |
|
.IP "\fBslice_height\fR" 4 |
|
.IX Item "slice_height" |
|
.PD |
|
Sets the slice size for each slice. Larger values result in better compression. |
|
For compatibility with other more limited decoders use \fBslice_width\fR of |
|
32 and \fBslice_height\fR of 8. |
|
.IP "\fBtolerance\fR" 4 |
|
.IX Item "tolerance" |
|
Sets the undershoot tolerance of the rate control system in percent. This is |
|
to prevent an expensive search from being run. |
|
.IP "\fBqm\fR" 4 |
|
.IX Item "qm" |
|
Sets the quantization matrix preset to use by default or when \fBwavelet_depth\fR |
|
is set to 5 |
|
.RS 4 |
|
.IP "\-" 4 |
|
\&\fIdefault\fR |
|
Uses the default quantization matrix from the specifications, extended with |
|
values for the fifth level. This provides a good balance between keeping detail |
|
and omitting artifacts. |
|
.IP "\-" 4 |
|
\&\fIflat\fR |
|
Use a completely zeroed out quantization matrix. This increases \s-1PSNR\s0 but might |
|
reduce perception. Use in bogus benchmarks. |
|
.IP "\-" 4 |
|
\&\fIcolor\fR |
|
Reduces detail but attempts to preserve color at extremely low bitrates. |
|
.RE |
|
.RS 4 |
|
.RE |
|
.SH "SUBTITLES ENCODERS" |
|
.IX Header "SUBTITLES ENCODERS" |
|
.SS "dvdsub" |
|
.IX Subsection "dvdsub" |
|
This codec encodes the bitmap subtitle format that is used in DVDs. |
|
Typically they are stored in \s-1VOBSUB\s0 file pairs (*.idx + *.sub), |
|
and they can also be used in Matroska files. |
|
.PP |
|
\fIOptions\fR |
|
.IX Subsection "Options" |
|
.IP "\fBpalette\fR" 4 |
|
.IX Item "palette" |
|
Specify the global palette used by the bitmaps. |
|
.Sp |
|
The format for this option is a string containing 16 24\-bits hexadecimal |
|
numbers (without 0x prefix) separated by commas, for example \f(CW\*(C`0d00ee, |
|
ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, |
|
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b\*(C'\fR. |
|
.IP "\fBeven_rows_fix\fR" 4 |
|
.IX Item "even_rows_fix" |
|
When set to 1, enable a work-around that makes the number of pixel rows |
|
even in all subtitles. This fixes a problem with some players that |
|
cut off the bottom row if the number is odd. The work-around just adds |
|
a fully transparent row if needed. The overhead is low, typically |
|
one byte per subtitle on average. |
|
.Sp |
|
By default, this work-around is disabled. |
|
.SH "SEE ALSO" |
|
.IX Header "SEE ALSO" |
|
\&\fBffmpeg\fR\|(1), \fBffplay\fR\|(1), \fBffprobe\fR\|(1), \fBlibavcodec\fR\|(3) |
|
.SH "AUTHORS" |
|
.IX Header "AUTHORS" |
|
The FFmpeg developers. |
|
.PP |
|
For details about the authorship, see the Git history of the project |
|
(https: |
|
\&\fBgit log\fR in the FFmpeg source directory, or browsing the |
|
online repository at <\fBhttps: |
|
.PP |
|
Maintainers for the specific components are listed in the file |
|
\&\fI\s-1MAINTAINERS\s0\fR in the source code tree. |
|
|