1163 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1163 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@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 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})
 | 
						|
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
 |