|
- @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 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 psnr
- Set error[?] variables during encoding.
- @item truncated
- Input bitstream might be randomly truncated.
- @item drop_changed
- Don't output frames whose parameters differ from first decoded frame in stream.
- Error AVERROR_INPUT_CHANGED is returned when a frame is dropped.
-
- @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 ilme
- Apply interlaced motion estimation.
- @item cgop
- Use closed gop.
- @item output_corrupt
- Output even potentially corrupted frames.
- @end table
-
- @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. (Supported only by selected encoders, see
- their respective documentation sections.)
-
- @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 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 xvid_ilace
- Xvid interlacing bug (autodetected if fourcc==XVIX)
- @item ump4
- (autodetected if fourcc==UMP4)
- @item no_padding
- padding bug (autodetected)
- @item amv
-
- @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 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 rc_override_count @var{integer}
-
- @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 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 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 xvid
-
- @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 sar @var{rational number} (@emph{encoding,video})
- Set sample aspect ratio. Alias to @var{aspect}.
-
- @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 dct_coeff
-
- @item green_metadata
- display complexity metadata for the upcoming frame, GoP or for a given duration.
-
- @item skip
-
- @item startcode
-
- @item er
- error recognition
- @item mmco
- memory management control operations (H.264)
- @item bugs
-
- @item buffers
- picture buffer allocations
- @item thread_ops
- threading operations
- @item nomc
- skip motion compensation
- @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.
- @table @samp
- @item (1024, INT_MAX)
- full motion estimation(slowest)
- @item (768, 1024]
- umh motion estimation
- @item (512, 768]
- hex motion estimation
- @item (256, 512]
- l2s diamond motion estimation
- @item [2,256]
- var diamond motion estimation
- @item (-1, 2)
- small diamond motion estimation
- @item -1
- funny diamond motion estimation
- @item (INT_MIN, -1)
- sab diamond motion estimation
- @end table
-
- @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 me_range @var{integer} (@emph{encoding,video})
- Set limit motion vectors range (1023 for DivX player).
-
- @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
- @end table
-
- @item context @var{integer} (@emph{encoding,video})
- Set context model.
-
- @item slice_flags @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 sc_threshold @var{integer} (@emph{encoding,video})
- Set scene change threshold.
-
- @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,subtitles})
-
- Possible values:
- @table @samp
- @item fast
- Allow non spec compliant speedup tricks.
- @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 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}.
- @item skip_manual
- Do not skip samples and export skip information as frame side data.
- @item ass_ro_flush_noop
- Do not reset ASS ReadOrder field on flush.
- @end table
-
- @item export_side_data @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
-
- Possible values:
- @table @samp
- @item 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}.
- @item prft
- Export encoder Producer Reference Time into packet side-data (see @code{AV_PKT_DATA_PRFT})
- for codecs that support it.
- @item venc_params
- Export video encoding parameters through frame side data (see @code{AV_FRAME_DATA_VIDEO_ENC_PARAMS})
- for codecs that support it. At present, those are H.264 and VP9.
- @item film_grain
- Export film grain parameters through frame side data (see @code{AV_FRAME_DATA_FILM_GRAIN_PARAMS}).
- Supported at present by AV1 decoders.
- @end table
-
- @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 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})
-
- Set encoder codec profile. Default value is @samp{unknown}. Encoder specific
- profiles are documented in the relevant encoder documentation.
-
- @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 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 nointra
- Discard all frames except I frames.
-
- @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 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 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})
- Possible values:
- @table @samp
- @item bt709
- BT.709
- @item bt470m
- BT.470 M
- @item bt470bg
- BT.470 BG
- @item smpte170m
- SMPTE 170 M
- @item smpte240m
- SMPTE 240 M
- @item film
- Film
- @item bt2020
- BT.2020
- @item smpte428
- @item smpte428_1
- SMPTE ST 428-1
- @item smpte431
- SMPTE 431-2
- @item smpte432
- SMPTE 432-1
- @item jedec-p22
- JEDEC P22
- @end table
-
- @item color_trc @var{integer} (@emph{decoding/encoding,video})
- Possible values:
- @table @samp
- @item bt709
- BT.709
- @item gamma22
- BT.470 M
- @item gamma28
- BT.470 BG
- @item smpte170m
- SMPTE 170 M
- @item smpte240m
- SMPTE 240 M
- @item linear
- Linear
- @item log
- @item log100
- Log
- @item log_sqrt
- @item log316
- Log square root
- @item iec61966_2_4
- @item iec61966-2-4
- IEC 61966-2-4
- @item bt1361
- @item bt1361e
- BT.1361
- @item iec61966_2_1
- @item iec61966-2-1
- IEC 61966-2-1
- @item bt2020_10
- @item bt2020_10bit
- BT.2020 - 10 bit
- @item bt2020_12
- @item bt2020_12bit
- BT.2020 - 12 bit
- @item smpte2084
- SMPTE ST 2084
- @item smpte428
- @item smpte428_1
- SMPTE ST 428-1
- @item arib-std-b67
- ARIB STD-B67
- @end table
-
- @item colorspace @var{integer} (@emph{decoding/encoding,video})
- Possible values:
- @table @samp
- @item rgb
- RGB
- @item bt709
- BT.709
- @item fcc
- FCC
- @item bt470bg
- BT.470 BG
- @item smpte170m
- SMPTE 170 M
- @item smpte240m
- SMPTE 240 M
- @item ycocg
- YCOCG
- @item bt2020nc
- @item bt2020_ncl
- BT.2020 NCL
- @item bt2020c
- @item bt2020_cl
- BT.2020 CL
- @item smpte2085
- SMPTE 2085
- @item chroma-derived-nc
- Chroma-derived NCL
- @item chroma-derived-c
- Chroma-derived CL
- @item ictcp
- ICtCp
- @end table
-
- @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.
- Possible values:
- @table @samp
- @item tv
- @item mpeg
- MPEG (219*2^(n-8))
- @item pc
- @item jpeg
- JPEG (2^n-1)
- @end table
-
- @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
- Possible values:
- @table @samp
- @item left
-
- @item center
-
- @item topleft
-
- @item top
-
- @item bottomleft
-
- @item bottom
-
- @end table
-
- @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{bool} (@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 indentation:
- @example
- ffprobe -dump_separator "
- " -i ~/videos/matrixbench_mpeg2.mpg
- @end example
-
- @item max_pixels @var{integer} (@emph{decoding/encoding,video})
- Maximum number of pixels per image. This value can be used to avoid out of
- memory failures due to large images.
-
- @item apply_cropping @var{bool} (@emph{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 @code{AV_CODEC_FLAG_UNALIGNED} is set and the
- CPU. @code{AV_CODEC_FLAG_UNALIGNED} cannot be changed from the command line. Also hardware
- decoders will not apply left/top Cropping.
-
-
- @end table
-
- @c man end CODEC OPTIONS
-
- @ifclear config-writeonly
- @include decoders.texi
- @end ifclear
- @ifclear config-readonly
- @include encoders.texi
- @end ifclear
|