| .\" 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. |
|
|