12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262 |
- @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 emu_edge
- Do not draw edges.
- @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 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.
- @item output_corrupt
- Output even potentially corrupted frames.
- @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. (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 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 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 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 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,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.
- @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})
- 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 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 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 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})
- 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
- @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
|