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