123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158 |
- @anchor{codec-options}
- @chapter Codec Options
- @c man begin 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.
- 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.
- Options may be set by specifying -@var{option} @var{value} in the
- FFmpeg tools, or by setting the value explicitly in the
- @code{AVCodecContext} options or using the @file{libavutil/opt.h} API
- for programmatic use.
- The list of supported options follow:
- @table @option
- @item b @var{integer} (@emph{encoding,audio,video})
- Set bitrate in bits/s. Default value is 200K.
- @item ab @var{integer} (@emph{encoding,audio})
- Set audio bitrate (in bits/s). Default value is 128K.
- @item bt @var{integer} (@emph{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.
- @item flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
- Set generic flags.
- Possible values:
- @table @samp
- @item mv4
- Use four motion vector by macroblock (mpeg4).
- @item qpel
- Use 1/4 pel motion compensation.
- @item loop
- Use loop filter.
- @item qscale
- Use fixed qscale.
- @item gmc
- Use gmc.
- @item mv0
- Always try a mb with mv=<0,0>.
- @item input_preserved
- @item pass1
- Use internal 2pass ratecontrol in first pass mode.
- @item pass2
- Use internal 2pass ratecontrol in second pass mode.
- @item gray
- Only decode/encode grayscale.
- @item emu_edge
- Do not draw edges.
- @item psnr
- Set error[?] variables during encoding.
- @item truncated
- @item naq
- Normalize adaptive quantization.
- @item ildct
- Use interlaced DCT.
- @item low_delay
- Force low delay.
- @item global_header
- Place global headers in extradata instead of every keyframe.
- @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.
- @item aic
- Apply H263 advanced intra coding / mpeg4 ac prediction.
- @item cbp
- Deprecated, use mpegvideo private options instead.
- @item qprd
- Deprecated, use mpegvideo private options instead.
- @item ilme
- Apply interlaced motion estimation.
- @item cgop
- Use closed gop.
- @end table
- @item me_method @var{integer} (@emph{encoding,video})
- Set motion estimation method.
- Possible values:
- @table @samp
- @item zero
- zero motion estimation (fastest)
- @item full
- full motion estimation (slowest)
- @item epzs
- EPZS motion estimation (default)
- @item esa
- esa motion estimation (alias for full)
- @item tesa
- tesa motion estimation
- @item dia
- dia motion estimation (alias for epzs)
- @item log
- log motion estimation
- @item phods
- phods motion estimation
- @item x1
- X1 motion estimation
- @item hex
- hex motion estimation
- @item umh
- umh motion estimation
- @item iter
- iter motion estimation
- @end table
- @item extradata_size @var{integer}
- Set extradata size.
- @item time_base @var{rational number}
- Set codec time base.
- It is the fundamental unit of time (in seconds) in terms of which
- frame timestamps are represented. For fixed-fps content, timebase
- should be @code{1 / frame_rate} and timestamp increments should be
- identically 1.
- @item g @var{integer} (@emph{encoding,video})
- Set the group of picture size. Default value is 12.
- @item ar @var{integer} (@emph{decoding/encoding,audio})
- Set audio sampling rate (in Hz).
- @item ac @var{integer} (@emph{decoding/encoding,audio})
- Set number of audio channels.
- @item cutoff @var{integer} (@emph{encoding,audio})
- Set cutoff bandwidth.
- @item frame_size @var{integer} (@emph{encoding,audio})
- Set audio frame size.
- Each submitted frame except the last must contain exactly frame_size
- samples per channel. May be 0 when the codec has
- CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
- restricted. It is set by some decoders to indicate constant frame
- size.
- @item frame_number @var{integer}
- Set the frame number.
- @item delay @var{integer}
- @item qcomp @var{float} (@emph{encoding,video})
- Set video quantizer scale compression (VBR). It is used as a constant
- in the ratecontrol equation. Recommended range for default rc_eq:
- 0.0-1.0.
- @item qblur @var{float} (@emph{encoding,video})
- Set video quantizer scale blur (VBR).
- @item qmin @var{integer} (@emph{encoding,video})
- Set min video quantizer scale (VBR). Must be included between -1 and
- 69, default value is 2.
- @item qmax @var{integer} (@emph{encoding,video})
- Set max video quantizer scale (VBR). Must be included between -1 and
- 1024, default value is 31.
- @item qdiff @var{integer} (@emph{encoding,video})
- Set max difference between the quantizer scale (VBR).
- @item bf @var{integer} (@emph{encoding,video})
- Set max number of B frames between non-B-frames.
- 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.
- Default value is 0.
- @item b_qfactor @var{float} (@emph{encoding,video})
- Set qp factor between P and B frames.
- @item rc_strategy @var{integer} (@emph{encoding,video})
- Set ratecontrol method.
- @item b_strategy @var{integer} (@emph{encoding,video})
- Set strategy to choose between I/P/B-frames.
- @item ps @var{integer} (@emph{encoding,video})
- Set RTP payload size in bytes.
- @item mv_bits @var{integer}
- @item header_bits @var{integer}
- @item i_tex_bits @var{integer}
- @item p_tex_bits @var{integer}
- @item i_count @var{integer}
- @item p_count @var{integer}
- @item skip_count @var{integer}
- @item misc_bits @var{integer}
- @item frame_bits @var{integer}
- @item codec_tag @var{integer}
- @item bug @var{flags} (@emph{decoding,video})
- Workaround not auto detected encoder bugs.
- Possible values:
- @table @samp
- @item autodetect
- @item old_msmpeg4
- some old lavc generated msmpeg4v3 files (no autodetection)
- @item xvid_ilace
- Xvid interlacing bug (autodetected if fourcc==XVIX)
- @item ump4
- (autodetected if fourcc==UMP4)
- @item no_padding
- padding bug (autodetected)
- @item amv
- @item ac_vlc
- illegal vlc bug (autodetected per fourcc)
- @item qpel_chroma
- @item std_qpel
- old standard qpel (autodetected per fourcc/version)
- @item qpel_chroma2
- @item direct_blocksize
- direct-qpel-blocksize bug (autodetected per fourcc/version)
- @item edge
- edge padding bug (autodetected per fourcc/version)
- @item hpel_chroma
- @item dc_clip
- @item ms
- Workaround various bugs in microsoft broken decoders.
- @item trunc
- trancated frames
- @end table
- @item lelim @var{integer} (@emph{encoding,video})
- Set single coefficient elimination threshold for luminance (negative
- values also consider DC coefficient).
- @item celim @var{integer} (@emph{encoding,video})
- Set single coefficient elimination threshold for chrominance (negative
- values also consider dc coefficient)
- @item strict @var{integer} (@emph{decoding/encoding,audio,video})
- Specify how strictly to follow the standards.
- Possible values:
- @table @samp
- @item very
- strictly conform to a older more strict version of the spec or reference software
- @item strict
- strictly conform to all the things in the spec no matter what consequences
- @item normal
- @item unofficial
- allow unofficial extensions
- @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.
- @end table
- @item b_qoffset @var{float} (@emph{encoding,video})
- Set QP offset between P and B frames.
- @item err_detect @var{flags} (@emph{decoding,audio,video})
- Set error detection flags.
- Possible values:
- @table @samp
- @item crccheck
- verify embedded CRCs
- @item bitstream
- detect bitstream specification deviations
- @item buffer
- detect improper bitstream length
- @item explode
- abort decoding on minor error detection
- @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.
- @item careful
- consider things that violate the spec and have not been seen in the wild as errors
- @item compliant
- consider all spec non compliancies as errors
- @item aggressive
- consider things that a sane encoder should not do as an error
- @end table
- @item has_b_frames @var{integer}
- @item block_align @var{integer}
- @item mpeg_quant @var{integer} (@emph{encoding,video})
- Use MPEG quantizers instead of H.263.
- @item qsquish @var{float} (@emph{encoding,video})
- How to keep quantizer between qmin and qmax (0 = clip, 1 = use
- differentiable function).
- @item rc_qmod_amp @var{float} (@emph{encoding,video})
- Set experimental quantizer modulation.
- @item rc_qmod_freq @var{integer} (@emph{encoding,video})
- Set experimental quantizer modulation.
- @item rc_override_count @var{integer}
- @item rc_eq @var{string} (@emph{encoding,video})
- Set rate control equation. When computing the expression, besides the
- standard functions defined in the section 'Expression Evaluation', the
- following functions are available: bits2qp(bits), qp2bits(qp). Also
- the following constants are available: iTex pTex tex mv fCode iCount
- mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
- avgTex.
- @item maxrate @var{integer} (@emph{encoding,audio,video})
- Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
- @item minrate @var{integer} (@emph{encoding,audio,video})
- Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
- encode. It is of little use elsewise.
- @item bufsize @var{integer} (@emph{encoding,audio,video})
- Set ratecontrol buffer size (in bits).
- @item rc_buf_aggressivity @var{float} (@emph{encoding,video})
- Currently useless.
- @item i_qfactor @var{float} (@emph{encoding,video})
- Set QP factor between P and I frames.
- @item i_qoffset @var{float} (@emph{encoding,video})
- Set QP offset between P and I frames.
- @item rc_init_cplx @var{float} (@emph{encoding,video})
- Set initial complexity for 1-pass encoding.
- @item dct @var{integer} (@emph{encoding,video})
- Set DCT algorithm.
- Possible values:
- @table @samp
- @item auto
- autoselect a good one (default)
- @item fastint
- fast integer
- @item int
- accurate integer
- @item mmx
- @item altivec
- @item faan
- floating point AAN DCT
- @end table
- @item lumi_mask @var{float} (@emph{encoding,video})
- Compress bright areas stronger than medium ones.
- @item tcplx_mask @var{float} (@emph{encoding,video})
- Set temporal complexity masking.
- @item scplx_mask @var{float} (@emph{encoding,video})
- Set spatial complexity masking.
- @item p_mask @var{float} (@emph{encoding,video})
- Set inter masking.
- @item dark_mask @var{float} (@emph{encoding,video})
- Compress dark areas stronger than medium ones.
- @item idct @var{integer} (@emph{decoding/encoding,video})
- Select IDCT implementation.
- Possible values:
- @table @samp
- @item auto
- @item int
- @item simple
- @item simplemmx
- @item simpleauto
- Automatically pick a IDCT compatible with the simple one
- @item arm
- @item altivec
- @item sh4
- @item simplearm
- @item simplearmv5te
- @item simplearmv6
- @item simpleneon
- @item simplealpha
- @item ipp
- @item xvidmmx
- @item faani
- floating point AAN IDCT
- @end table
- @item slice_count @var{integer}
- @item ec @var{flags} (@emph{decoding,video})
- Set error concealment strategy.
- Possible values:
- @table @samp
- @item guess_mvs
- iterative motion vector (MV) search (slow)
- @item deblock
- use strong deblock filter for damaged MBs
- @item favor_inter
- favor predicting from the previous frame instead of the current
- @end table
- @item bits_per_coded_sample @var{integer}
- @item pred @var{integer} (@emph{encoding,video})
- Set prediction method.
- Possible values:
- @table @samp
- @item left
- @item plane
- @item median
- @end table
- @item aspect @var{rational number} (@emph{encoding,video})
- Set sample aspect ratio.
- @item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
- Print specific debug info.
- Possible values:
- @table @samp
- @item pict
- picture info
- @item rc
- rate control
- @item bitstream
- @item mb_type
- macroblock (MB) type
- @item qp
- per-block quantization parameter (QP)
- @item mv
- motion vector
- @item dct_coeff
- @item green_metadata
- display complexity metadata for the upcoming frame, GoP or for a given duration.
- @item skip
- @item startcode
- @item pts
- @item er
- error recognition
- @item mmco
- memory management control operations (H.264)
- @item bugs
- @item vis_qp
- visualize quantization parameter (QP), lower QP are tinted greener
- @item vis_mb_type
- visualize block types
- @item buffers
- picture buffer allocations
- @item thread_ops
- threading operations
- @item nomc
- skip motion compensation
- @end table
- @item vismv @var{integer} (@emph{decoding,video})
- Visualize motion vectors (MVs).
- This option is deprecated, see the codecview filter instead.
- Possible values:
- @table @samp
- @item pf
- forward predicted MVs of P-frames
- @item bf
- forward predicted MVs of B-frames
- @item bb
- backward predicted MVs of B-frames
- @end table
- @item cmp @var{integer} (@emph{encoding,video})
- Set full pel me compare function.
- Possible values:
- @table @samp
- @item sad
- sum of absolute differences, fast (default)
- @item sse
- sum of squared errors
- @item satd
- sum of absolute Hadamard transformed differences
- @item dct
- sum of absolute DCT transformed differences
- @item psnr
- sum of squared quantization errors (avoid, low quality)
- @item bit
- number of bits needed for the block
- @item rd
- rate distortion optimal, slow
- @item zero
- 0
- @item vsad
- sum of absolute vertical differences
- @item vsse
- sum of squared vertical differences
- @item nsse
- noise preserving sum of squared differences
- @item w53
- 5/3 wavelet, only used in snow
- @item w97
- 9/7 wavelet, only used in snow
- @item dctmax
- @item chroma
- @end table
- @item subcmp @var{integer} (@emph{encoding,video})
- Set sub pel me compare function.
- Possible values:
- @table @samp
- @item sad
- sum of absolute differences, fast (default)
- @item sse
- sum of squared errors
- @item satd
- sum of absolute Hadamard transformed differences
- @item dct
- sum of absolute DCT transformed differences
- @item psnr
- sum of squared quantization errors (avoid, low quality)
- @item bit
- number of bits needed for the block
- @item rd
- rate distortion optimal, slow
- @item zero
- 0
- @item vsad
- sum of absolute vertical differences
- @item vsse
- sum of squared vertical differences
- @item nsse
- noise preserving sum of squared differences
- @item w53
- 5/3 wavelet, only used in snow
- @item w97
- 9/7 wavelet, only used in snow
- @item dctmax
- @item chroma
- @end table
- @item mbcmp @var{integer} (@emph{encoding,video})
- Set macroblock compare function.
- Possible values:
- @table @samp
- @item sad
- sum of absolute differences, fast (default)
- @item sse
- sum of squared errors
- @item satd
- sum of absolute Hadamard transformed differences
- @item dct
- sum of absolute DCT transformed differences
- @item psnr
- sum of squared quantization errors (avoid, low quality)
- @item bit
- number of bits needed for the block
- @item rd
- rate distortion optimal, slow
- @item zero
- 0
- @item vsad
- sum of absolute vertical differences
- @item vsse
- sum of squared vertical differences
- @item nsse
- noise preserving sum of squared differences
- @item w53
- 5/3 wavelet, only used in snow
- @item w97
- 9/7 wavelet, only used in snow
- @item dctmax
- @item chroma
- @end table
- @item ildctcmp @var{integer} (@emph{encoding,video})
- Set interlaced dct compare function.
- Possible values:
- @table @samp
- @item sad
- sum of absolute differences, fast (default)
- @item sse
- sum of squared errors
- @item satd
- sum of absolute Hadamard transformed differences
- @item dct
- sum of absolute DCT transformed differences
- @item psnr
- sum of squared quantization errors (avoid, low quality)
- @item bit
- number of bits needed for the block
- @item rd
- rate distortion optimal, slow
- @item zero
- 0
- @item vsad
- sum of absolute vertical differences
- @item vsse
- sum of squared vertical differences
- @item nsse
- noise preserving sum of squared differences
- @item w53
- 5/3 wavelet, only used in snow
- @item w97
- 9/7 wavelet, only used in snow
- @item dctmax
- @item chroma
- @end table
- @item dia_size @var{integer} (@emph{encoding,video})
- Set diamond type & size for motion estimation.
- @item last_pred @var{integer} (@emph{encoding,video})
- Set amount of motion predictors from the previous frame.
- @item preme @var{integer} (@emph{encoding,video})
- Set pre motion estimation.
- @item precmp @var{integer} (@emph{encoding,video})
- Set pre motion estimation compare function.
- Possible values:
- @table @samp
- @item sad
- sum of absolute differences, fast (default)
- @item sse
- sum of squared errors
- @item satd
- sum of absolute Hadamard transformed differences
- @item dct
- sum of absolute DCT transformed differences
- @item psnr
- sum of squared quantization errors (avoid, low quality)
- @item bit
- number of bits needed for the block
- @item rd
- rate distortion optimal, slow
- @item zero
- 0
- @item vsad
- sum of absolute vertical differences
- @item vsse
- sum of squared vertical differences
- @item nsse
- noise preserving sum of squared differences
- @item w53
- 5/3 wavelet, only used in snow
- @item w97
- 9/7 wavelet, only used in snow
- @item dctmax
- @item chroma
- @end table
- @item pre_dia_size @var{integer} (@emph{encoding,video})
- Set diamond type & size for motion estimation pre-pass.
- @item subq @var{integer} (@emph{encoding,video})
- Set sub pel motion estimation quality.
- @item dtg_active_format @var{integer}
- @item me_range @var{integer} (@emph{encoding,video})
- Set limit motion vectors range (1023 for DivX player).
- @item ibias @var{integer} (@emph{encoding,video})
- Set intra quant bias.
- @item pbias @var{integer} (@emph{encoding,video})
- Set inter quant bias.
- @item color_table_id @var{integer}
- @item global_quality @var{integer} (@emph{encoding,audio,video})
- @item coder @var{integer} (@emph{encoding,video})
- Possible values:
- @table @samp
- @item vlc
- variable length coder / huffman coder
- @item ac
- arithmetic coder
- @item raw
- raw (no encoding)
- @item rle
- run-length coder
- @item deflate
- deflate-based coder
- @end table
- @item context @var{integer} (@emph{encoding,video})
- Set context model.
- @item slice_flags @var{integer}
- @item xvmc_acceleration @var{integer}
- @item mbd @var{integer} (@emph{encoding,video})
- Set macroblock decision algorithm (high quality mode).
- Possible values:
- @table @samp
- @item simple
- use mbcmp (default)
- @item bits
- use fewest bits
- @item rd
- use best rate distortion
- @end table
- @item stream_codec_tag @var{integer}
- @item sc_threshold @var{integer} (@emph{encoding,video})
- Set scene change threshold.
- @item lmin @var{integer} (@emph{encoding,video})
- Set min lagrange factor (VBR).
- @item lmax @var{integer} (@emph{encoding,video})
- Set max lagrange factor (VBR).
- @item nr @var{integer} (@emph{encoding,video})
- Set noise reduction.
- @item rc_init_occupancy @var{integer} (@emph{encoding,video})
- Set number of bits which should be loaded into the rc buffer before
- decoding starts.
- @item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
- Possible values:
- @table @samp
- @item fast
- Allow non spec compliant speedup tricks.
- @item sgop
- Deprecated, use mpegvideo private options instead.
- @item noout
- Skip bitstream encoding.
- @item ignorecrop
- Ignore cropping information from sps.
- @item local_header
- Place global headers at every keyframe instead of in extradata.
- @item chunks
- Frame data might be split into multiple chunks.
- @item showall
- Show all frames before the first keyframe.
- @item skiprd
- Deprecated, use mpegvideo private options instead.
- @item export_mvs
- Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS})
- for codecs that support it. See also @file{doc/examples/export_mvs.c}.
- @end table
- @item error @var{integer} (@emph{encoding,video})
- @item qns @var{integer} (@emph{encoding,video})
- Deprecated, use mpegvideo private options instead.
- @item threads @var{integer} (@emph{decoding/encoding,video})
- Possible values:
- @table @samp
- @item auto
- detect a good number of threads
- @end table
- @item me_threshold @var{integer} (@emph{encoding,video})
- Set motion estimation threshold.
- @item mb_threshold @var{integer} (@emph{encoding,video})
- Set macroblock threshold.
- @item dc @var{integer} (@emph{encoding,video})
- Set intra_dc_precision.
- @item nssew @var{integer} (@emph{encoding,video})
- Set nsse weight.
- @item skip_top @var{integer} (@emph{decoding,video})
- Set number of macroblock rows at the top which are skipped.
- @item skip_bottom @var{integer} (@emph{decoding,video})
- Set number of macroblock rows at the bottom which are skipped.
- @item profile @var{integer} (@emph{encoding,audio,video})
- Possible values:
- @table @samp
- @item unknown
- @item aac_main
- @item aac_low
- @item aac_ssr
- @item aac_ltp
- @item aac_he
- @item aac_he_v2
- @item aac_ld
- @item aac_eld
- @item mpeg2_aac_low
- @item mpeg2_aac_he
- @item mpeg4_sp
- @item mpeg4_core
- @item mpeg4_main
- @item mpeg4_asp
- @item dts
- @item dts_es
- @item dts_96_24
- @item dts_hd_hra
- @item dts_hd_ma
- @end table
- @item level @var{integer} (@emph{encoding,audio,video})
- Possible values:
- @table @samp
- @item unknown
- @end table
- @item lowres @var{integer} (@emph{decoding,audio,video})
- Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
- @item skip_threshold @var{integer} (@emph{encoding,video})
- Set frame skip threshold.
- @item skip_factor @var{integer} (@emph{encoding,video})
- Set frame skip factor.
- @item skip_exp @var{integer} (@emph{encoding,video})
- Set frame skip exponent.
- Negative values behave identical to the corresponding positive ones, except
- that the score is normalized.
- Positive values exist primarily for compatibility reasons and are not so useful.
- @item skipcmp @var{integer} (@emph{encoding,video})
- Set frame skip compare function.
- Possible values:
- @table @samp
- @item sad
- sum of absolute differences, fast (default)
- @item sse
- sum of squared errors
- @item satd
- sum of absolute Hadamard transformed differences
- @item dct
- sum of absolute DCT transformed differences
- @item psnr
- sum of squared quantization errors (avoid, low quality)
- @item bit
- number of bits needed for the block
- @item rd
- rate distortion optimal, slow
- @item zero
- 0
- @item vsad
- sum of absolute vertical differences
- @item vsse
- sum of squared vertical differences
- @item nsse
- noise preserving sum of squared differences
- @item w53
- 5/3 wavelet, only used in snow
- @item w97
- 9/7 wavelet, only used in snow
- @item dctmax
- @item chroma
- @end table
- @item border_mask @var{float} (@emph{encoding,video})
- Increase the quantizer for macroblocks close to borders.
- @item mblmin @var{integer} (@emph{encoding,video})
- Set min macroblock lagrange factor (VBR).
- @item mblmax @var{integer} (@emph{encoding,video})
- Set max macroblock lagrange factor (VBR).
- @item mepc @var{integer} (@emph{encoding,video})
- Set motion estimation bitrate penalty compensation (1.0 = 256).
- @item skip_loop_filter @var{integer} (@emph{decoding,video})
- @item skip_idct @var{integer} (@emph{decoding,video})
- @item skip_frame @var{integer} (@emph{decoding,video})
- Make decoder discard processing depending on the frame type selected
- by the option value.
- @option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
- skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
- Possible values:
- @table @samp
- @item none
- Discard no frame.
- @item default
- Discard useless frames like 0-sized frames.
- @item noref
- Discard all non-reference frames.
- @item bidir
- Discard all bidirectional frames.
- @item nokey
- Discard all frames excepts keyframes.
- @item all
- Discard all frames.
- @end table
- Default value is @samp{default}.
- @item bidir_refine @var{integer} (@emph{encoding,video})
- Refine the two motion vectors used in bidirectional macroblocks.
- @item brd_scale @var{integer} (@emph{encoding,video})
- Downscale frames for dynamic B-frame decision.
- @item keyint_min @var{integer} (@emph{encoding,video})
- Set minimum interval between IDR-frames.
- @item refs @var{integer} (@emph{encoding,video})
- Set reference frames to consider for motion compensation.
- @item chromaoffset @var{integer} (@emph{encoding,video})
- Set chroma qp offset from luma.
- @item trellis @var{integer} (@emph{encoding,audio,video})
- Set rate-distortion optimal quantization.
- @item sc_factor @var{integer} (@emph{encoding,video})
- Set value multiplied by qscale for each frame and added to
- scene_change_score.
- @item mv0_threshold @var{integer} (@emph{encoding,video})
- @item b_sensitivity @var{integer} (@emph{encoding,video})
- Adjust sensitivity of b_frame_strategy 1.
- @item compression_level @var{integer} (@emph{encoding,audio,video})
- @item min_prediction_order @var{integer} (@emph{encoding,audio})
- @item max_prediction_order @var{integer} (@emph{encoding,audio})
- @item timecode_frame_start @var{integer} (@emph{encoding,video})
- Set GOP timecode frame start number, in non drop frame format.
- @item request_channels @var{integer} (@emph{decoding,audio})
- Set desired number of audio channels.
- @item bits_per_raw_sample @var{integer}
- @item channel_layout @var{integer} (@emph{decoding/encoding,audio})
- Possible values:
- @table @samp
- @end table
- @item request_channel_layout @var{integer} (@emph{decoding,audio})
- Possible values:
- @table @samp
- @end table
- @item rc_max_vbv_use @var{float} (@emph{encoding,video})
- @item rc_min_vbv_use @var{float} (@emph{encoding,video})
- @item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
- @item color_primaries @var{integer} (@emph{decoding/encoding,video})
- @item color_trc @var{integer} (@emph{decoding/encoding,video})
- @item colorspace @var{integer} (@emph{decoding/encoding,video})
- @item color_range @var{integer} (@emph{decoding/encoding,video})
- If used as input parameter, it serves as a hint to the decoder, which
- color_range the input has.
- @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
- @item log_level_offset @var{integer}
- Set the log level offset.
- @item slices @var{integer} (@emph{encoding,video})
- Number of slices, used in parallelized encoding.
- @item thread_type @var{flags} (@emph{decoding/encoding,video})
- Select which multithreading methods to use.
- Use of @samp{frame} will increase decoding delay by one frame per
- thread, so clients which cannot provide future frames should not use
- it.
- Possible values:
- @table @samp
- @item slice
- Decode more than one part of a single frame at once.
- Multithreading using slices works only when the video was encoded with
- slices.
- @item frame
- Decode more than one frame at once.
- @end table
- Default value is @samp{slice+frame}.
- @item audio_service_type @var{integer} (@emph{encoding,audio})
- Set audio service type.
- Possible values:
- @table @samp
- @item ma
- Main Audio Service
- @item ef
- Effects
- @item vi
- Visually Impaired
- @item hi
- Hearing Impaired
- @item di
- Dialogue
- @item co
- Commentary
- @item em
- Emergency
- @item vo
- Voice Over
- @item ka
- Karaoke
- @end table
- @item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
- Set sample format audio decoders should prefer. Default value is
- @code{none}.
- @item pkt_timebase @var{rational number}
- @item sub_charenc @var{encoding} (@emph{decoding,subtitles})
- Set the input subtitles character encoding.
- @item field_order @var{field_order} (@emph{video})
- Set/override the field order of the video.
- Possible values:
- @table @samp
- @item progressive
- Progressive video
- @item tt
- Interlaced video, top field coded and displayed first
- @item bb
- Interlaced video, bottom field coded and displayed first
- @item tb
- Interlaced video, top coded first, bottom displayed first
- @item bt
- Interlaced video, bottom coded first, top displayed first
- @end table
- @item skip_alpha @var{integer} (@emph{decoding,video})
- Set to 1 to disable processing alpha (transparency). This works like the
- @samp{gray} flag in the @option{flags} option which skips chroma information
- instead of alpha. Default is 0.
- @item codec_whitelist @var{list} (@emph{input})
- "," separated List of allowed decoders. By default all are allowed.
- @item dump_separator @var{string} (@emph{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 indention:
- @example
- ffprobe -dump_separator "
- " -i ~/videos/matrixbench_mpeg2.mpg
- @end example
- @end table
- @c man end CODEC OPTIONS
- @ifclear config-writeonly
- @include decoders.texi
- @end ifclear
- @ifclear config-readonly
- @include encoders.texi
- @end ifclear
|