| @anchor{codec-options} | |
| @chapter Codec Options | |
| @c man begin CODEC OPTIONS | |
| libavcodec provides some generic global options, which can be set on | |
| all the encoders and decoders. In addition each codec may support | |
| so-called private options, which are specific for a given codec. | |
| Sometimes, a global option may only affect a specific kind of codec, | |
| and may be nonsensical or ignored by another, so you need to be aware | |
| of the meaning of the specified options. Also some options are | |
| meant only for decoding or encoding. | |
| Options may be set by specifying -@var{option} @var{value} in the | |
| FFmpeg tools, or by setting the value explicitly in the | |
| @code{AVCodecContext} options or using the @file{libavutil/opt.h} API | |
| for programmatic use. | |
| The list of supported options follow: | |
| @table @option | |
| @item b @var{integer} (@emph{encoding,audio,video}) | |
| Set bitrate in bits/s. Default value is 200K. | |
| @item ab @var{integer} (@emph{encoding,audio}) | |
| Set audio bitrate (in bits/s). Default value is 128K. | |
| @item bt @var{integer} (@emph{encoding,video}) | |
| Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate | |
| tolerance specifies how far ratecontrol is willing to deviate from the | |
| target average bitrate value. This is not related to min/max | |
| bitrate. Lowering tolerance too much has an adverse effect on quality. | |
| @item flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles}) | |
| Set generic flags. | |
| Possible values: | |
| @table @samp | |
| @item mv4 | |
| Use four motion vector by macroblock (mpeg4). | |
| @item qpel | |
| Use 1/4 pel motion compensation. | |
| @item loop | |
| Use loop filter. | |
| @item qscale | |
| Use fixed qscale. | |
| @item pass1 | |
| Use internal 2pass ratecontrol in first pass mode. | |
| @item pass2 | |
| Use internal 2pass ratecontrol in second pass mode. | |
| @item gray | |
| Only decode/encode grayscale. | |
| @item psnr | |
| Set error[?] variables during encoding. | |
| @item truncated | |
| Input bitstream might be randomly truncated. | |
| @item drop_changed | |
| Don't output frames whose parameters differ from first decoded frame in stream. | |
| Error AVERROR_INPUT_CHANGED is returned when a frame is dropped. | |
| @item ildct | |
| Use interlaced DCT. | |
| @item low_delay | |
| Force low delay. | |
| @item global_header | |
| Place global headers in extradata instead of every keyframe. | |
| @item bitexact | |
| Only write platform-, build- and time-independent data. (except (I)DCT). | |
| This ensures that file and data checksums are reproducible and match between | |
| platforms. Its primary use is for regression testing. | |
| @item aic | |
| Apply H263 advanced intra coding / mpeg4 ac prediction. | |
| @item ilme | |
| Apply interlaced motion estimation. | |
| @item cgop | |
| Use closed gop. | |
| @item output_corrupt | |
| Output even potentially corrupted frames. | |
| @end table | |
| @item time_base @var{rational number} | |
| Set codec time base. | |
| It is the fundamental unit of time (in seconds) in terms of which | |
| frame timestamps are represented. For fixed-fps content, timebase | |
| should be @code{1 / frame_rate} and timestamp increments should be | |
| identically 1. | |
| @item g @var{integer} (@emph{encoding,video}) | |
| Set the group of picture (GOP) size. Default value is 12. | |
| @item ar @var{integer} (@emph{decoding/encoding,audio}) | |
| Set audio sampling rate (in Hz). | |
| @item ac @var{integer} (@emph{decoding/encoding,audio}) | |
| Set number of audio channels. | |
| @item cutoff @var{integer} (@emph{encoding,audio}) | |
| Set cutoff bandwidth. (Supported only by selected encoders, see | |
| their respective documentation sections.) | |
| @item frame_size @var{integer} (@emph{encoding,audio}) | |
| Set audio frame size. | |
| Each submitted frame except the last must contain exactly frame_size | |
| samples per channel. May be 0 when the codec has | |
| CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not | |
| restricted. It is set by some decoders to indicate constant frame | |
| size. | |
| @item frame_number @var{integer} | |
| Set the frame number. | |
| @item delay @var{integer} | |
| @item qcomp @var{float} (@emph{encoding,video}) | |
| Set video quantizer scale compression (VBR). It is used as a constant | |
| in the ratecontrol equation. Recommended range for default rc_eq: | |
| 0.0-1.0. | |
| @item qblur @var{float} (@emph{encoding,video}) | |
| Set video quantizer scale blur (VBR). | |
| @item qmin @var{integer} (@emph{encoding,video}) | |
| Set min video quantizer scale (VBR). Must be included between -1 and | |
| 69, default value is 2. | |
| @item qmax @var{integer} (@emph{encoding,video}) | |
| Set max video quantizer scale (VBR). Must be included between -1 and | |
| 1024, default value is 31. | |
| @item qdiff @var{integer} (@emph{encoding,video}) | |
| Set max difference between the quantizer scale (VBR). | |
| @item bf @var{integer} (@emph{encoding,video}) | |
| Set max number of B frames between non-B-frames. | |
| Must be an integer between -1 and 16. 0 means that B-frames are | |
| disabled. If a value of -1 is used, it will choose an automatic value | |
| depending on the encoder. | |
| Default value is 0. | |
| @item b_qfactor @var{float} (@emph{encoding,video}) | |
| Set qp factor between P and B frames. | |
| @item codec_tag @var{integer} | |
| @item bug @var{flags} (@emph{decoding,video}) | |
| Workaround not auto detected encoder bugs. | |
| Possible values: | |
| @table @samp | |
| @item autodetect | |
| @item xvid_ilace | |
| Xvid interlacing bug (autodetected if fourcc==XVIX) | |
| @item ump4 | |
| (autodetected if fourcc==UMP4) | |
| @item no_padding | |
| padding bug (autodetected) | |
| @item amv | |
| @item qpel_chroma | |
| @item std_qpel | |
| old standard qpel (autodetected per fourcc/version) | |
| @item qpel_chroma2 | |
| @item direct_blocksize | |
| direct-qpel-blocksize bug (autodetected per fourcc/version) | |
| @item edge | |
| edge padding bug (autodetected per fourcc/version) | |
| @item hpel_chroma | |
| @item dc_clip | |
| @item ms | |
| Workaround various bugs in microsoft broken decoders. | |
| @item trunc | |
| trancated frames | |
| @end table | |
| @item strict @var{integer} (@emph{decoding/encoding,audio,video}) | |
| Specify how strictly to follow the standards. | |
| Possible values: | |
| @table @samp | |
| @item very | |
| strictly conform to an older more strict version of the spec or reference software | |
| @item strict | |
| strictly conform to all the things in the spec no matter what consequences | |
| @item normal | |
| @item unofficial | |
| allow unofficial extensions | |
| @item experimental | |
| allow non standardized experimental things, experimental | |
| (unfinished/work in progress/not well tested) decoders and encoders. | |
| Note: experimental decoders can pose a security risk, do not use this for | |
| decoding untrusted input. | |
| @end table | |
| @item b_qoffset @var{float} (@emph{encoding,video}) | |
| Set QP offset between P and B frames. | |
| @item err_detect @var{flags} (@emph{decoding,audio,video}) | |
| Set error detection flags. | |
| Possible values: | |
| @table @samp | |
| @item crccheck | |
| verify embedded CRCs | |
| @item bitstream | |
| detect bitstream specification deviations | |
| @item buffer | |
| detect improper bitstream length | |
| @item explode | |
| abort decoding on minor error detection | |
| @item ignore_err | |
| ignore decoding errors, and continue decoding. | |
| This is useful if you want to analyze the content of a video and thus want | |
| everything to be decoded no matter what. This option will not result in a video | |
| that is pleasing to watch in case of errors. | |
| @item careful | |
| consider things that violate the spec and have not been seen in the wild as errors | |
| @item compliant | |
| consider all spec non compliancies as errors | |
| @item aggressive | |
| consider things that a sane encoder should not do as an error | |
| @end table | |
| @item has_b_frames @var{integer} | |
| @item block_align @var{integer} | |
| @item rc_override_count @var{integer} | |
| @item maxrate @var{integer} (@emph{encoding,audio,video}) | |
| Set max bitrate tolerance (in bits/s). Requires bufsize to be set. | |
| @item minrate @var{integer} (@emph{encoding,audio,video}) | |
| Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR | |
| encode. It is of little use elsewise. | |
| @item bufsize @var{integer} (@emph{encoding,audio,video}) | |
| Set ratecontrol buffer size (in bits). | |
| @item i_qfactor @var{float} (@emph{encoding,video}) | |
| Set QP factor between P and I frames. | |
| @item i_qoffset @var{float} (@emph{encoding,video}) | |
| Set QP offset between P and I frames. | |
| @item dct @var{integer} (@emph{encoding,video}) | |
| Set DCT algorithm. | |
| Possible values: | |
| @table @samp | |
| @item auto | |
| autoselect a good one (default) | |
| @item fastint | |
| fast integer | |
| @item int | |
| accurate integer | |
| @item mmx | |
| @item altivec | |
| @item faan | |
| floating point AAN DCT | |
| @end table | |
| @item lumi_mask @var{float} (@emph{encoding,video}) | |
| Compress bright areas stronger than medium ones. | |
| @item tcplx_mask @var{float} (@emph{encoding,video}) | |
| Set temporal complexity masking. | |
| @item scplx_mask @var{float} (@emph{encoding,video}) | |
| Set spatial complexity masking. | |
| @item p_mask @var{float} (@emph{encoding,video}) | |
| Set inter masking. | |
| @item dark_mask @var{float} (@emph{encoding,video}) | |
| Compress dark areas stronger than medium ones. | |
| @item idct @var{integer} (@emph{decoding/encoding,video}) | |
| Select IDCT implementation. | |
| Possible values: | |
| @table @samp | |
| @item auto | |
| @item int | |
| @item simple | |
| @item simplemmx | |
| @item simpleauto | |
| Automatically pick a IDCT compatible with the simple one | |
| @item arm | |
| @item altivec | |
| @item sh4 | |
| @item simplearm | |
| @item simplearmv5te | |
| @item simplearmv6 | |
| @item simpleneon | |
| @item xvid | |
| @item faani | |
| floating point AAN IDCT | |
| @end table | |
| @item slice_count @var{integer} | |
| @item ec @var{flags} (@emph{decoding,video}) | |
| Set error concealment strategy. | |
| Possible values: | |
| @table @samp | |
| @item guess_mvs | |
| iterative motion vector (MV) search (slow) | |
| @item deblock | |
| use strong deblock filter for damaged MBs | |
| @item favor_inter | |
| favor predicting from the previous frame instead of the current | |
| @end table | |
| @item bits_per_coded_sample @var{integer} | |
| @item 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 precmp @var{integer} (@emph{encoding,video}) | |
| Set pre motion estimation compare function. | |
| Possible values: | |
| @table @samp | |
| @item sad | |
| sum of absolute differences, fast (default) | |
| @item sse | |
| sum of squared errors | |
| @item satd | |
| sum of absolute Hadamard transformed differences | |
| @item dct | |
| sum of absolute DCT transformed differences | |
| @item psnr | |
| sum of squared quantization errors (avoid, low quality) | |
| @item bit | |
| number of bits needed for the block | |
| @item rd | |
| rate distortion optimal, slow | |
| @item zero | |
| 0 | |
| @item vsad | |
| sum of absolute vertical differences | |
| @item vsse | |
| sum of squared vertical differences | |
| @item nsse | |
| noise preserving sum of squared differences | |
| @item w53 | |
| 5/3 wavelet, only used in snow | |
| @item w97 | |
| 9/7 wavelet, only used in snow | |
| @item dctmax | |
| @item chroma | |
| @end table | |
| @item pre_dia_size @var{integer} (@emph{encoding,video}) | |
| Set diamond type & size for motion estimation pre-pass. | |
| @item subq @var{integer} (@emph{encoding,video}) | |
| Set sub pel motion estimation quality. | |
| @item me_range @var{integer} (@emph{encoding,video}) | |
| Set limit motion vectors range (1023 for DivX player). | |
| @item global_quality @var{integer} (@emph{encoding,audio,video}) | |
| @item 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 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. | |
| @item icc_profiles | |
| Generate/parse embedded ICC profiles from/to colorimetry tags. | |
| @end table | |
| @item export_side_data @var{flags} (@emph{decoding/encoding,audio,video,subtitles}) | |
| Possible values: | |
| @table @samp | |
| @item mvs | |
| Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS}) | |
| for codecs that support it. See also @file{doc/examples/export_mvs.c}. | |
| @item prft | |
| Export encoder Producer Reference Time into packet side-data (see @code{AV_PKT_DATA_PRFT}) | |
| for codecs that support it. | |
| @item venc_params | |
| Export video encoding parameters through frame side data (see @code{AV_FRAME_DATA_VIDEO_ENC_PARAMS}) | |
| for codecs that support it. At present, those are H.264 and VP9. | |
| @item film_grain | |
| Export film grain parameters through frame side data (see @code{AV_FRAME_DATA_FILM_GRAIN_PARAMS}). | |
| Supported at present by AV1 decoders. | |
| @end table | |
| @item threads @var{integer} (@emph{decoding/encoding,video}) | |
| Set the number of threads to be used, in case the selected codec | |
| implementation supports multi-threading. | |
| Possible values: | |
| @table @samp | |
| @item auto, 0 | |
| automatically select the number of threads to set | |
| @end table | |
| Default value is @samp{auto}. | |
| @item dc @var{integer} (@emph{encoding,video}) | |
| Set intra_dc_precision. | |
| @item nssew @var{integer} (@emph{encoding,video}) | |
| Set nsse weight. | |
| @item skip_top @var{integer} (@emph{decoding,video}) | |
| Set number of macroblock rows at the top which are skipped. | |
| @item skip_bottom @var{integer} (@emph{decoding,video}) | |
| Set number of macroblock rows at the bottom which are skipped. | |
| @item profile @var{integer} (@emph{encoding,audio,video}) | |
| Set encoder codec profile. Default value is @samp{unknown}. Encoder specific | |
| profiles are documented in the relevant encoder documentation. | |
| @item level @var{integer} (@emph{encoding,audio,video}) | |
| Possible values: | |
| @table @samp | |
| @item unknown | |
| @end table | |
| @item lowres @var{integer} (@emph{decoding,audio,video}) | |
| Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions. | |
| @item 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 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 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 trellis @var{integer} (@emph{encoding,audio,video}) | |
| Set rate-distortion optimal quantization. | |
| @item mv0_threshold @var{integer} (@emph{encoding,video}) | |
| @item compression_level @var{integer} (@emph{encoding,audio,video}) | |
| @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 color_primaries @var{integer} (@emph{decoding/encoding,video}) | |
| Possible values: | |
| @table @samp | |
| @item bt709 | |
| BT.709 | |
| @item bt470m | |
| BT.470 M | |
| @item bt470bg | |
| BT.470 BG | |
| @item smpte170m | |
| SMPTE 170 M | |
| @item smpte240m | |
| SMPTE 240 M | |
| @item film | |
| Film | |
| @item bt2020 | |
| BT.2020 | |
| @item smpte428 | |
| @item smpte428_1 | |
| SMPTE ST 428-1 | |
| @item smpte431 | |
| SMPTE 431-2 | |
| @item smpte432 | |
| SMPTE 432-1 | |
| @item jedec-p22 | |
| JEDEC P22 | |
| @end table | |
| @item color_trc @var{integer} (@emph{decoding/encoding,video}) | |
| Possible values: | |
| @table @samp | |
| @item bt709 | |
| BT.709 | |
| @item gamma22 | |
| BT.470 M | |
| @item gamma28 | |
| BT.470 BG | |
| @item smpte170m | |
| SMPTE 170 M | |
| @item smpte240m | |
| SMPTE 240 M | |
| @item linear | |
| Linear | |
| @item log | |
| @item log100 | |
| Log | |
| @item log_sqrt | |
| @item log316 | |
| Log square root | |
| @item iec61966_2_4 | |
| @item iec61966-2-4 | |
| IEC 61966-2-4 | |
| @item bt1361 | |
| @item bt1361e | |
| BT.1361 | |
| @item iec61966_2_1 | |
| @item iec61966-2-1 | |
| IEC 61966-2-1 | |
| @item bt2020_10 | |
| @item bt2020_10bit | |
| BT.2020 - 10 bit | |
| @item bt2020_12 | |
| @item bt2020_12bit | |
| BT.2020 - 12 bit | |
| @item smpte2084 | |
| SMPTE ST 2084 | |
| @item smpte428 | |
| @item smpte428_1 | |
| SMPTE ST 428-1 | |
| @item arib-std-b67 | |
| ARIB STD-B67 | |
| @end table | |
| @item colorspace @var{integer} (@emph{decoding/encoding,video}) | |
| Possible values: | |
| @table @samp | |
| @item rgb | |
| RGB | |
| @item bt709 | |
| BT.709 | |
| @item fcc | |
| FCC | |
| @item bt470bg | |
| BT.470 BG | |
| @item smpte170m | |
| SMPTE 170 M | |
| @item smpte240m | |
| SMPTE 240 M | |
| @item ycocg | |
| YCOCG | |
| @item bt2020nc | |
| @item bt2020_ncl | |
| BT.2020 NCL | |
| @item bt2020c | |
| @item bt2020_cl | |
| BT.2020 CL | |
| @item smpte2085 | |
| SMPTE 2085 | |
| @item chroma-derived-nc | |
| Chroma-derived NCL | |
| @item chroma-derived-c | |
| Chroma-derived CL | |
| @item ictcp | |
| ICtCp | |
| @end table | |
| @item color_range @var{integer} (@emph{decoding/encoding,video}) | |
| If used as input parameter, it serves as a hint to the decoder, which | |
| color_range the input has. | |
| Possible values: | |
| @table @samp | |
| @item tv | |
| @item mpeg | |
| MPEG (219*2^(n-8)) | |
| @item pc | |
| @item jpeg | |
| JPEG (2^n-1) | |
| @end table | |
| @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video}) | |
| Possible values: | |
| @table @samp | |
| @item left | |
| @item center | |
| @item topleft | |
| @item top | |
| @item bottomleft | |
| @item bottom | |
| @end table | |
| @item log_level_offset @var{integer} | |
| Set the log level offset. | |
| @item slices @var{integer} (@emph{encoding,video}) | |
| Number of slices, used in parallelized encoding. | |
| @item thread_type @var{flags} (@emph{decoding/encoding,video}) | |
| Select which multithreading methods to use. | |
| Use of @samp{frame} will increase decoding delay by one frame per | |
| thread, so clients which cannot provide future frames should not use | |
| it. | |
| Possible values: | |
| @table @samp | |
| @item slice | |
| Decode more than one part of a single frame at once. | |
| Multithreading using slices works only when the video was encoded with | |
| slices. | |
| @item frame | |
| Decode more than one frame at once. | |
| @end table | |
| Default value is @samp{slice+frame}. | |
| @item audio_service_type @var{integer} (@emph{encoding,audio}) | |
| Set audio service type. | |
| Possible values: | |
| @table @samp | |
| @item ma | |
| Main Audio Service | |
| @item ef | |
| Effects | |
| @item vi | |
| Visually Impaired | |
| @item hi | |
| Hearing Impaired | |
| @item di | |
| Dialogue | |
| @item co | |
| Commentary | |
| @item em | |
| Emergency | |
| @item vo | |
| Voice Over | |
| @item ka | |
| Karaoke | |
| @end table | |
| @item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio}) | |
| Set sample format audio decoders should prefer. Default value is | |
| @code{none}. | |
| @item pkt_timebase @var{rational number} | |
| @item sub_charenc @var{encoding} (@emph{decoding,subtitles}) | |
| Set the input subtitles character encoding. | |
| @item field_order @var{field_order} (@emph{video}) | |
| Set/override the field order of the video. | |
| Possible values: | |
| @table @samp | |
| @item progressive | |
| Progressive video | |
| @item tt | |
| Interlaced video, top field coded and displayed first | |
| @item bb | |
| Interlaced video, bottom field coded and displayed first | |
| @item tb | |
| Interlaced video, top coded first, bottom displayed first | |
| @item bt | |
| Interlaced video, bottom coded first, top displayed first | |
| @end table | |
| @item skip_alpha @var{bool} (@emph{decoding,video}) | |
| Set to 1 to disable processing alpha (transparency). This works like the | |
| @samp{gray} flag in the @option{flags} option which skips chroma information | |
| instead of alpha. Default is 0. | |
| @item codec_whitelist @var{list} (@emph{input}) | |
| "," separated list of allowed decoders. By default all are allowed. | |
| @item dump_separator @var{string} (@emph{input}) | |
| Separator used to separate the fields printed on the command line about the | |
| Stream parameters. | |
| For example, to separate the fields with newlines and indentation: | |
| @example | |
| ffprobe -dump_separator " | |
| " -i ~/videos/matrixbench_mpeg2.mpg | |
| @end example | |
| @item max_pixels @var{integer} (@emph{decoding/encoding,video}) | |
| Maximum number of pixels per image. This value can be used to avoid out of | |
| memory failures due to large images. | |
| @item apply_cropping @var{bool} (@emph{decoding,video}) | |
| Enable cropping if cropping parameters are multiples of the required | |
| alignment for the left and top parameters. If the alignment is not met the | |
| cropping will be partially applied to maintain alignment. | |
| Default is 1 (enabled). | |
| Note: The required alignment depends on if @code{AV_CODEC_FLAG_UNALIGNED} is set and the | |
| CPU. @code{AV_CODEC_FLAG_UNALIGNED} cannot be changed from the command line. Also hardware | |
| decoders will not apply left/top Cropping. | |
| @end table | |
| @c man end CODEC OPTIONS | |
| @ifclear config-writeonly | |
| @include decoders.texi | |
| @end ifclear | |
| @ifclear config-readonly | |
| @include encoders.texi | |
| @end ifclear | |