|
- @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 (GOP) 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 an 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})
- Set the number of threads to be used, in case the selected codec
- implementation supports multi-threading.
-
- Possible values:
- @table @samp
- @item auto, 0
- automatically select the number of threads to set
- @end table
-
- Default value is @samp{auto}.
-
- @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
|