1@anchor{codec-options} 2@chapter Codec Options 3@c man begin CODEC OPTIONS 4 5libavcodec provides some generic global options, which can be set on 6all the encoders and decoders. In addition each codec may support 7so-called private options, which are specific for a given codec. 8 9Sometimes, a global option may only affect a specific kind of codec, 10and may be nonsensical or ignored by another, so you need to be aware 11of the meaning of the specified options. Also some options are 12meant only for decoding or encoding. 13 14Options may be set by specifying -@var{option} @var{value} in the 15FFmpeg tools, or by setting the value explicitly in the 16@code{AVCodecContext} options or using the @file{libavutil/opt.h} API 17for programmatic use. 18 19The list of supported options follow: 20 21@table @option 22@item b @var{integer} (@emph{encoding,audio,video}) 23Set bitrate in bits/s. Default value is 200K. 24 25@item ab @var{integer} (@emph{encoding,audio}) 26Set audio bitrate (in bits/s). Default value is 128K. 27 28@item bt @var{integer} (@emph{encoding,video}) 29Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate 30tolerance specifies how far ratecontrol is willing to deviate from the 31target average bitrate value. This is not related to min/max 32bitrate. Lowering tolerance too much has an adverse effect on quality. 33 34@item flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles}) 35Set generic flags. 36 37Possible values: 38@table @samp 39@item mv4 40Use four motion vector by macroblock (mpeg4). 41@item qpel 42Use 1/4 pel motion compensation. 43@item loop 44Use loop filter. 45@item qscale 46Use fixed qscale. 47@item pass1 48Use internal 2pass ratecontrol in first pass mode. 49@item pass2 50Use internal 2pass ratecontrol in second pass mode. 51@item gray 52Only decode/encode grayscale. 53@item psnr 54Set error[?] variables during encoding. 55@item truncated 56Input bitstream might be randomly truncated. 57@item drop_changed 58Don't output frames whose parameters differ from first decoded frame in stream. 59Error AVERROR_INPUT_CHANGED is returned when a frame is dropped. 60 61@item ildct 62Use interlaced DCT. 63@item low_delay 64Force low delay. 65@item global_header 66Place global headers in extradata instead of every keyframe. 67@item bitexact 68Only write platform-, build- and time-independent data. (except (I)DCT). 69This ensures that file and data checksums are reproducible and match between 70platforms. Its primary use is for regression testing. 71@item aic 72Apply H263 advanced intra coding / mpeg4 ac prediction. 73@item ilme 74Apply interlaced motion estimation. 75@item cgop 76Use closed gop. 77@item output_corrupt 78Output even potentially corrupted frames. 79@end table 80 81@item time_base @var{rational number} 82Set codec time base. 83 84It is the fundamental unit of time (in seconds) in terms of which 85frame timestamps are represented. For fixed-fps content, timebase 86should be @code{1 / frame_rate} and timestamp increments should be 87identically 1. 88 89@item g @var{integer} (@emph{encoding,video}) 90Set the group of picture (GOP) size. Default value is 12. 91 92@item ar @var{integer} (@emph{decoding/encoding,audio}) 93Set audio sampling rate (in Hz). 94 95@item ac @var{integer} (@emph{decoding/encoding,audio}) 96Set number of audio channels. 97 98@item cutoff @var{integer} (@emph{encoding,audio}) 99Set cutoff bandwidth. (Supported only by selected encoders, see 100their respective documentation sections.) 101 102@item frame_size @var{integer} (@emph{encoding,audio}) 103Set audio frame size. 104 105Each submitted frame except the last must contain exactly frame_size 106samples per channel. May be 0 when the codec has 107CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not 108restricted. It is set by some decoders to indicate constant frame 109size. 110 111@item frame_number @var{integer} 112Set the frame number. 113 114@item delay @var{integer} 115 116@item qcomp @var{float} (@emph{encoding,video}) 117Set video quantizer scale compression (VBR). It is used as a constant 118in the ratecontrol equation. Recommended range for default rc_eq: 1190.0-1.0. 120 121@item qblur @var{float} (@emph{encoding,video}) 122Set video quantizer scale blur (VBR). 123 124@item qmin @var{integer} (@emph{encoding,video}) 125Set min video quantizer scale (VBR). Must be included between -1 and 12669, default value is 2. 127 128@item qmax @var{integer} (@emph{encoding,video}) 129Set max video quantizer scale (VBR). Must be included between -1 and 1301024, default value is 31. 131 132@item qdiff @var{integer} (@emph{encoding,video}) 133Set max difference between the quantizer scale (VBR). 134 135@item bf @var{integer} (@emph{encoding,video}) 136Set max number of B frames between non-B-frames. 137 138Must be an integer between -1 and 16. 0 means that B-frames are 139disabled. If a value of -1 is used, it will choose an automatic value 140depending on the encoder. 141 142Default value is 0. 143 144@item b_qfactor @var{float} (@emph{encoding,video}) 145Set qp factor between P and B frames. 146 147@item b_strategy @var{integer} (@emph{encoding,video}) 148Set strategy to choose between I/P/B-frames. 149 150@item ps @var{integer} (@emph{encoding,video}) 151Set RTP payload size in bytes. 152 153@item mv_bits @var{integer} 154@item header_bits @var{integer} 155@item i_tex_bits @var{integer} 156@item p_tex_bits @var{integer} 157@item i_count @var{integer} 158@item p_count @var{integer} 159@item skip_count @var{integer} 160@item misc_bits @var{integer} 161@item frame_bits @var{integer} 162@item codec_tag @var{integer} 163@item bug @var{flags} (@emph{decoding,video}) 164Workaround not auto detected encoder bugs. 165 166Possible values: 167@table @samp 168@item autodetect 169 170@item xvid_ilace 171Xvid interlacing bug (autodetected if fourcc==XVIX) 172@item ump4 173(autodetected if fourcc==UMP4) 174@item no_padding 175padding bug (autodetected) 176@item amv 177 178@item qpel_chroma 179 180@item std_qpel 181old standard qpel (autodetected per fourcc/version) 182@item qpel_chroma2 183 184@item direct_blocksize 185direct-qpel-blocksize bug (autodetected per fourcc/version) 186@item edge 187edge padding bug (autodetected per fourcc/version) 188@item hpel_chroma 189 190@item dc_clip 191 192@item ms 193Workaround various bugs in microsoft broken decoders. 194@item trunc 195trancated frames 196@end table 197 198@item strict @var{integer} (@emph{decoding/encoding,audio,video}) 199Specify how strictly to follow the standards. 200 201Possible values: 202@table @samp 203@item very 204strictly conform to an older more strict version of the spec or reference software 205@item strict 206strictly conform to all the things in the spec no matter what consequences 207@item normal 208 209@item unofficial 210allow unofficial extensions 211@item experimental 212allow non standardized experimental things, experimental 213(unfinished/work in progress/not well tested) decoders and encoders. 214Note: experimental decoders can pose a security risk, do not use this for 215decoding untrusted input. 216@end table 217 218@item b_qoffset @var{float} (@emph{encoding,video}) 219Set QP offset between P and B frames. 220 221@item err_detect @var{flags} (@emph{decoding,audio,video}) 222Set error detection flags. 223 224Possible values: 225@table @samp 226@item crccheck 227verify embedded CRCs 228@item bitstream 229detect bitstream specification deviations 230@item buffer 231detect improper bitstream length 232@item explode 233abort decoding on minor error detection 234@item ignore_err 235ignore decoding errors, and continue decoding. 236This is useful if you want to analyze the content of a video and thus want 237everything to be decoded no matter what. This option will not result in a video 238that is pleasing to watch in case of errors. 239@item careful 240consider things that violate the spec and have not been seen in the wild as errors 241@item compliant 242consider all spec non compliancies as errors 243@item aggressive 244consider things that a sane encoder should not do as an error 245@end table 246 247@item has_b_frames @var{integer} 248 249@item block_align @var{integer} 250 251@item mpeg_quant @var{integer} (@emph{encoding,video}) 252Use MPEG quantizers instead of H.263. 253 254@item rc_override_count @var{integer} 255 256@item maxrate @var{integer} (@emph{encoding,audio,video}) 257Set max bitrate tolerance (in bits/s). Requires bufsize to be set. 258 259@item minrate @var{integer} (@emph{encoding,audio,video}) 260Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR 261encode. It is of little use elsewise. 262 263@item bufsize @var{integer} (@emph{encoding,audio,video}) 264Set ratecontrol buffer size (in bits). 265 266@item i_qfactor @var{float} (@emph{encoding,video}) 267Set QP factor between P and I frames. 268 269@item i_qoffset @var{float} (@emph{encoding,video}) 270Set QP offset between P and I frames. 271 272@item dct @var{integer} (@emph{encoding,video}) 273Set DCT algorithm. 274 275Possible values: 276@table @samp 277@item auto 278autoselect a good one (default) 279@item fastint 280fast integer 281@item int 282accurate integer 283@item mmx 284 285@item altivec 286 287@item faan 288floating point AAN DCT 289@end table 290 291@item lumi_mask @var{float} (@emph{encoding,video}) 292Compress bright areas stronger than medium ones. 293 294@item tcplx_mask @var{float} (@emph{encoding,video}) 295Set temporal complexity masking. 296 297@item scplx_mask @var{float} (@emph{encoding,video}) 298Set spatial complexity masking. 299 300@item p_mask @var{float} (@emph{encoding,video}) 301Set inter masking. 302 303@item dark_mask @var{float} (@emph{encoding,video}) 304Compress dark areas stronger than medium ones. 305 306@item idct @var{integer} (@emph{decoding/encoding,video}) 307Select IDCT implementation. 308 309Possible values: 310@table @samp 311@item auto 312 313@item int 314 315@item simple 316 317@item simplemmx 318 319@item simpleauto 320Automatically pick a IDCT compatible with the simple one 321 322@item arm 323 324@item altivec 325 326@item sh4 327 328@item simplearm 329 330@item simplearmv5te 331 332@item simplearmv6 333 334@item simpleneon 335 336@item xvid 337 338@item faani 339floating point AAN IDCT 340@end table 341 342@item slice_count @var{integer} 343 344@item ec @var{flags} (@emph{decoding,video}) 345Set error concealment strategy. 346 347Possible values: 348@table @samp 349@item guess_mvs 350iterative motion vector (MV) search (slow) 351@item deblock 352use strong deblock filter for damaged MBs 353@item favor_inter 354favor predicting from the previous frame instead of the current 355@end table 356 357@item bits_per_coded_sample @var{integer} 358 359@item pred @var{integer} (@emph{encoding,video}) 360Set prediction method. 361 362Possible values: 363@table @samp 364@item left 365 366@item plane 367 368@item median 369 370@end table 371 372@item aspect @var{rational number} (@emph{encoding,video}) 373Set sample aspect ratio. 374 375@item sar @var{rational number} (@emph{encoding,video}) 376Set sample aspect ratio. Alias to @var{aspect}. 377 378@item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles}) 379Print specific debug info. 380 381Possible values: 382@table @samp 383@item pict 384picture info 385@item rc 386rate control 387@item bitstream 388 389@item mb_type 390macroblock (MB) type 391@item qp 392per-block quantization parameter (QP) 393@item dct_coeff 394 395@item green_metadata 396display complexity metadata for the upcoming frame, GoP or for a given duration. 397 398@item skip 399 400@item startcode 401 402@item er 403error recognition 404@item mmco 405memory management control operations (H.264) 406@item bugs 407 408@item buffers 409picture buffer allocations 410@item thread_ops 411threading operations 412@item nomc 413skip motion compensation 414@end table 415 416@item cmp @var{integer} (@emph{encoding,video}) 417Set full pel me compare function. 418 419Possible values: 420@table @samp 421@item sad 422sum of absolute differences, fast (default) 423@item sse 424sum of squared errors 425@item satd 426sum of absolute Hadamard transformed differences 427@item dct 428sum of absolute DCT transformed differences 429@item psnr 430sum of squared quantization errors (avoid, low quality) 431@item bit 432number of bits needed for the block 433@item rd 434rate distortion optimal, slow 435@item zero 4360 437@item vsad 438sum of absolute vertical differences 439@item vsse 440sum of squared vertical differences 441@item nsse 442noise preserving sum of squared differences 443@item w53 4445/3 wavelet, only used in snow 445@item w97 4469/7 wavelet, only used in snow 447@item dctmax 448 449@item chroma 450 451@end table 452 453@item subcmp @var{integer} (@emph{encoding,video}) 454Set sub pel me compare function. 455 456Possible values: 457@table @samp 458@item sad 459sum of absolute differences, fast (default) 460@item sse 461sum of squared errors 462@item satd 463sum of absolute Hadamard transformed differences 464@item dct 465sum of absolute DCT transformed differences 466@item psnr 467sum of squared quantization errors (avoid, low quality) 468@item bit 469number of bits needed for the block 470@item rd 471rate distortion optimal, slow 472@item zero 4730 474@item vsad 475sum of absolute vertical differences 476@item vsse 477sum of squared vertical differences 478@item nsse 479noise preserving sum of squared differences 480@item w53 4815/3 wavelet, only used in snow 482@item w97 4839/7 wavelet, only used in snow 484@item dctmax 485 486@item chroma 487 488@end table 489 490@item mbcmp @var{integer} (@emph{encoding,video}) 491Set macroblock compare function. 492 493Possible values: 494@table @samp 495@item sad 496sum of absolute differences, fast (default) 497@item sse 498sum of squared errors 499@item satd 500sum of absolute Hadamard transformed differences 501@item dct 502sum of absolute DCT transformed differences 503@item psnr 504sum of squared quantization errors (avoid, low quality) 505@item bit 506number of bits needed for the block 507@item rd 508rate distortion optimal, slow 509@item zero 5100 511@item vsad 512sum of absolute vertical differences 513@item vsse 514sum of squared vertical differences 515@item nsse 516noise preserving sum of squared differences 517@item w53 5185/3 wavelet, only used in snow 519@item w97 5209/7 wavelet, only used in snow 521@item dctmax 522 523@item chroma 524 525@end table 526 527@item ildctcmp @var{integer} (@emph{encoding,video}) 528Set interlaced dct compare function. 529 530Possible values: 531@table @samp 532@item sad 533sum of absolute differences, fast (default) 534@item sse 535sum of squared errors 536@item satd 537sum of absolute Hadamard transformed differences 538@item dct 539sum of absolute DCT transformed differences 540@item psnr 541sum of squared quantization errors (avoid, low quality) 542@item bit 543number of bits needed for the block 544@item rd 545rate distortion optimal, slow 546@item zero 5470 548@item vsad 549sum of absolute vertical differences 550@item vsse 551sum of squared vertical differences 552@item nsse 553noise preserving sum of squared differences 554@item w53 5555/3 wavelet, only used in snow 556@item w97 5579/7 wavelet, only used in snow 558@item dctmax 559 560@item chroma 561 562@end table 563 564@item dia_size @var{integer} (@emph{encoding,video}) 565Set diamond type & size for motion estimation. 566@table @samp 567@item (1024, INT_MAX) 568full motion estimation(slowest) 569@item (768, 1024] 570umh motion estimation 571@item (512, 768] 572hex motion estimation 573@item (256, 512] 574l2s diamond motion estimation 575@item [2,256] 576var diamond motion estimation 577@item (-1, 2) 578small diamond motion estimation 579@item -1 580funny diamond motion estimation 581@item (INT_MIN, -1) 582sab diamond motion estimation 583@end table 584 585@item last_pred @var{integer} (@emph{encoding,video}) 586Set amount of motion predictors from the previous frame. 587 588@item preme @var{integer} (@emph{encoding,video}) 589Set pre motion estimation. 590 591@item precmp @var{integer} (@emph{encoding,video}) 592Set pre motion estimation compare function. 593 594Possible values: 595@table @samp 596@item sad 597sum of absolute differences, fast (default) 598@item sse 599sum of squared errors 600@item satd 601sum of absolute Hadamard transformed differences 602@item dct 603sum of absolute DCT transformed differences 604@item psnr 605sum of squared quantization errors (avoid, low quality) 606@item bit 607number of bits needed for the block 608@item rd 609rate distortion optimal, slow 610@item zero 6110 612@item vsad 613sum of absolute vertical differences 614@item vsse 615sum of squared vertical differences 616@item nsse 617noise preserving sum of squared differences 618@item w53 6195/3 wavelet, only used in snow 620@item w97 6219/7 wavelet, only used in snow 622@item dctmax 623 624@item chroma 625 626@end table 627 628@item pre_dia_size @var{integer} (@emph{encoding,video}) 629Set diamond type & size for motion estimation pre-pass. 630 631@item subq @var{integer} (@emph{encoding,video}) 632Set sub pel motion estimation quality. 633 634@item me_range @var{integer} (@emph{encoding,video}) 635Set limit motion vectors range (1023 for DivX player). 636 637@item global_quality @var{integer} (@emph{encoding,audio,video}) 638 639@item coder @var{integer} (@emph{encoding,video}) 640 641Possible values: 642@table @samp 643@item vlc 644variable length coder / huffman coder 645@item ac 646arithmetic coder 647@item raw 648raw (no encoding) 649@item rle 650run-length coder 651@end table 652 653@item context @var{integer} (@emph{encoding,video}) 654Set context model. 655 656@item slice_flags @var{integer} 657 658@item mbd @var{integer} (@emph{encoding,video}) 659Set macroblock decision algorithm (high quality mode). 660 661Possible values: 662@table @samp 663@item simple 664use mbcmp (default) 665@item bits 666use fewest bits 667@item rd 668use best rate distortion 669@end table 670 671@item sc_threshold @var{integer} (@emph{encoding,video}) 672Set scene change threshold. 673 674@item nr @var{integer} (@emph{encoding,video}) 675Set noise reduction. 676 677@item rc_init_occupancy @var{integer} (@emph{encoding,video}) 678Set number of bits which should be loaded into the rc buffer before 679decoding starts. 680 681@item flags2 @var{flags} (@emph{decoding/encoding,audio,video,subtitles}) 682 683Possible values: 684@table @samp 685@item fast 686Allow non spec compliant speedup tricks. 687@item noout 688Skip bitstream encoding. 689@item ignorecrop 690Ignore cropping information from sps. 691@item local_header 692Place global headers at every keyframe instead of in extradata. 693@item chunks 694Frame data might be split into multiple chunks. 695@item showall 696Show all frames before the first keyframe. 697@item export_mvs 698Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS}) 699for codecs that support it. See also @file{doc/examples/export_mvs.c}. 700@item skip_manual 701Do not skip samples and export skip information as frame side data. 702@item ass_ro_flush_noop 703Do not reset ASS ReadOrder field on flush. 704@end table 705 706@item export_side_data @var{flags} (@emph{decoding/encoding,audio,video,subtitles}) 707 708Possible values: 709@table @samp 710@item mvs 711Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS}) 712for codecs that support it. See also @file{doc/examples/export_mvs.c}. 713@item prft 714Export encoder Producer Reference Time into packet side-data (see @code{AV_PKT_DATA_PRFT}) 715for codecs that support it. 716@item venc_params 717Export video encoding parameters through frame side data (see @code{AV_FRAME_DATA_VIDEO_ENC_PARAMS}) 718for codecs that support it. At present, those are H.264 and VP9. 719@item film_grain 720Export film grain parameters through frame side data (see @code{AV_FRAME_DATA_FILM_GRAIN_PARAMS}). 721Supported at present by AV1 decoders. 722@end table 723 724@item threads @var{integer} (@emph{decoding/encoding,video}) 725Set the number of threads to be used, in case the selected codec 726implementation supports multi-threading. 727 728Possible values: 729@table @samp 730@item auto, 0 731automatically select the number of threads to set 732@end table 733 734Default value is @samp{auto}. 735 736@item dc @var{integer} (@emph{encoding,video}) 737Set intra_dc_precision. 738 739@item nssew @var{integer} (@emph{encoding,video}) 740Set nsse weight. 741 742@item skip_top @var{integer} (@emph{decoding,video}) 743Set number of macroblock rows at the top which are skipped. 744 745@item skip_bottom @var{integer} (@emph{decoding,video}) 746Set number of macroblock rows at the bottom which are skipped. 747 748@item profile @var{integer} (@emph{encoding,audio,video}) 749 750Set encoder codec profile. Default value is @samp{unknown}. Encoder specific 751profiles are documented in the relevant encoder documentation. 752 753@item level @var{integer} (@emph{encoding,audio,video}) 754 755Possible values: 756@table @samp 757@item unknown 758 759@end table 760 761@item lowres @var{integer} (@emph{decoding,audio,video}) 762Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions. 763 764@item skip_threshold @var{integer} (@emph{encoding,video}) 765Set frame skip threshold. 766 767@item skip_factor @var{integer} (@emph{encoding,video}) 768Set frame skip factor. 769 770@item skip_exp @var{integer} (@emph{encoding,video}) 771Set frame skip exponent. 772Negative values behave identical to the corresponding positive ones, except 773that the score is normalized. 774Positive values exist primarily for compatibility reasons and are not so useful. 775 776@item skipcmp @var{integer} (@emph{encoding,video}) 777Set frame skip compare function. 778 779Possible values: 780@table @samp 781@item sad 782sum of absolute differences, fast (default) 783@item sse 784sum of squared errors 785@item satd 786sum of absolute Hadamard transformed differences 787@item dct 788sum of absolute DCT transformed differences 789@item psnr 790sum of squared quantization errors (avoid, low quality) 791@item bit 792number of bits needed for the block 793@item rd 794rate distortion optimal, slow 795@item zero 7960 797@item vsad 798sum of absolute vertical differences 799@item vsse 800sum of squared vertical differences 801@item nsse 802noise preserving sum of squared differences 803@item w53 8045/3 wavelet, only used in snow 805@item w97 8069/7 wavelet, only used in snow 807@item dctmax 808 809@item chroma 810 811@end table 812 813@item mblmin @var{integer} (@emph{encoding,video}) 814Set min macroblock lagrange factor (VBR). 815 816@item mblmax @var{integer} (@emph{encoding,video}) 817Set max macroblock lagrange factor (VBR). 818 819@item mepc @var{integer} (@emph{encoding,video}) 820Set motion estimation bitrate penalty compensation (1.0 = 256). 821 822@item skip_loop_filter @var{integer} (@emph{decoding,video}) 823@item skip_idct @var{integer} (@emph{decoding,video}) 824@item skip_frame @var{integer} (@emph{decoding,video}) 825 826Make decoder discard processing depending on the frame type selected 827by the option value. 828 829@option{skip_loop_filter} skips frame loop filtering, @option{skip_idct} 830skips frame IDCT/dequantization, @option{skip_frame} skips decoding. 831 832Possible values: 833@table @samp 834@item none 835Discard no frame. 836 837@item default 838Discard useless frames like 0-sized frames. 839 840@item noref 841Discard all non-reference frames. 842 843@item bidir 844Discard all bidirectional frames. 845 846@item nokey 847Discard all frames excepts keyframes. 848 849@item nointra 850Discard all frames except I frames. 851 852@item all 853Discard all frames. 854@end table 855 856Default value is @samp{default}. 857 858@item bidir_refine @var{integer} (@emph{encoding,video}) 859Refine the two motion vectors used in bidirectional macroblocks. 860 861@item brd_scale @var{integer} (@emph{encoding,video}) 862Downscale frames for dynamic B-frame decision. 863 864@item keyint_min @var{integer} (@emph{encoding,video}) 865Set minimum interval between IDR-frames. 866 867@item refs @var{integer} (@emph{encoding,video}) 868Set reference frames to consider for motion compensation. 869 870@item chromaoffset @var{integer} (@emph{encoding,video}) 871Set chroma qp offset from luma. 872 873@item trellis @var{integer} (@emph{encoding,audio,video}) 874Set rate-distortion optimal quantization. 875 876@item mv0_threshold @var{integer} (@emph{encoding,video}) 877@item b_sensitivity @var{integer} (@emph{encoding,video}) 878Adjust sensitivity of b_frame_strategy 1. 879 880@item compression_level @var{integer} (@emph{encoding,audio,video}) 881@item min_prediction_order @var{integer} (@emph{encoding,audio}) 882@item max_prediction_order @var{integer} (@emph{encoding,audio}) 883@item timecode_frame_start @var{integer} (@emph{encoding,video}) 884Set GOP timecode frame start number, in non drop frame format. 885 886@item bits_per_raw_sample @var{integer} 887@item channel_layout @var{integer} (@emph{decoding/encoding,audio}) 888 889Possible values: 890@table @samp 891@end table 892@item request_channel_layout @var{integer} (@emph{decoding,audio}) 893 894Possible values: 895@table @samp 896@end table 897@item rc_max_vbv_use @var{float} (@emph{encoding,video}) 898@item rc_min_vbv_use @var{float} (@emph{encoding,video}) 899@item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video}) 900 901@item color_primaries @var{integer} (@emph{decoding/encoding,video}) 902Possible values: 903@table @samp 904@item bt709 905BT.709 906@item bt470m 907BT.470 M 908@item bt470bg 909BT.470 BG 910@item smpte170m 911SMPTE 170 M 912@item smpte240m 913SMPTE 240 M 914@item film 915Film 916@item bt2020 917BT.2020 918@item smpte428 919@item smpte428_1 920SMPTE ST 428-1 921@item smpte431 922SMPTE 431-2 923@item smpte432 924SMPTE 432-1 925@item jedec-p22 926JEDEC P22 927@end table 928 929@item color_trc @var{integer} (@emph{decoding/encoding,video}) 930Possible values: 931@table @samp 932@item bt709 933BT.709 934@item gamma22 935BT.470 M 936@item gamma28 937BT.470 BG 938@item smpte170m 939SMPTE 170 M 940@item smpte240m 941SMPTE 240 M 942@item linear 943Linear 944@item log 945@item log100 946Log 947@item log_sqrt 948@item log316 949Log square root 950@item iec61966_2_4 951@item iec61966-2-4 952IEC 61966-2-4 953@item bt1361 954@item bt1361e 955BT.1361 956@item iec61966_2_1 957@item iec61966-2-1 958IEC 61966-2-1 959@item bt2020_10 960@item bt2020_10bit 961BT.2020 - 10 bit 962@item bt2020_12 963@item bt2020_12bit 964BT.2020 - 12 bit 965@item smpte2084 966SMPTE ST 2084 967@item smpte428 968@item smpte428_1 969SMPTE ST 428-1 970@item arib-std-b67 971ARIB STD-B67 972@end table 973 974@item colorspace @var{integer} (@emph{decoding/encoding,video}) 975Possible values: 976@table @samp 977@item rgb 978RGB 979@item bt709 980BT.709 981@item fcc 982FCC 983@item bt470bg 984BT.470 BG 985@item smpte170m 986SMPTE 170 M 987@item smpte240m 988SMPTE 240 M 989@item ycocg 990YCOCG 991@item bt2020nc 992@item bt2020_ncl 993BT.2020 NCL 994@item bt2020c 995@item bt2020_cl 996BT.2020 CL 997@item smpte2085 998SMPTE 2085 999@item chroma-derived-nc 1000Chroma-derived NCL 1001@item chroma-derived-c 1002Chroma-derived CL 1003@item ictcp 1004ICtCp 1005@end table 1006 1007@item color_range @var{integer} (@emph{decoding/encoding,video}) 1008If used as input parameter, it serves as a hint to the decoder, which 1009color_range the input has. 1010Possible values: 1011@table @samp 1012@item tv 1013@item mpeg 1014MPEG (219*2^(n-8)) 1015@item pc 1016@item jpeg 1017JPEG (2^n-1) 1018@end table 1019 1020@item chroma_sample_location @var{integer} (@emph{decoding/encoding,video}) 1021Possible values: 1022@table @samp 1023@item left 1024 1025@item center 1026 1027@item topleft 1028 1029@item top 1030 1031@item bottomleft 1032 1033@item bottom 1034 1035@end table 1036 1037@item log_level_offset @var{integer} 1038Set the log level offset. 1039 1040@item slices @var{integer} (@emph{encoding,video}) 1041Number of slices, used in parallelized encoding. 1042 1043@item thread_type @var{flags} (@emph{decoding/encoding,video}) 1044Select which multithreading methods to use. 1045 1046Use of @samp{frame} will increase decoding delay by one frame per 1047thread, so clients which cannot provide future frames should not use 1048it. 1049 1050Possible values: 1051@table @samp 1052@item slice 1053Decode more than one part of a single frame at once. 1054 1055Multithreading using slices works only when the video was encoded with 1056slices. 1057 1058@item frame 1059Decode more than one frame at once. 1060@end table 1061 1062Default value is @samp{slice+frame}. 1063 1064@item audio_service_type @var{integer} (@emph{encoding,audio}) 1065Set audio service type. 1066 1067Possible values: 1068@table @samp 1069@item ma 1070Main Audio Service 1071@item ef 1072Effects 1073@item vi 1074Visually Impaired 1075@item hi 1076Hearing Impaired 1077@item di 1078Dialogue 1079@item co 1080Commentary 1081@item em 1082Emergency 1083@item vo 1084Voice Over 1085@item ka 1086Karaoke 1087@end table 1088 1089@item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio}) 1090Set sample format audio decoders should prefer. Default value is 1091@code{none}. 1092 1093@item pkt_timebase @var{rational number} 1094 1095@item sub_charenc @var{encoding} (@emph{decoding,subtitles}) 1096Set the input subtitles character encoding. 1097 1098@item field_order @var{field_order} (@emph{video}) 1099Set/override the field order of the video. 1100Possible values: 1101@table @samp 1102@item progressive 1103Progressive video 1104@item tt 1105Interlaced video, top field coded and displayed first 1106@item bb 1107Interlaced video, bottom field coded and displayed first 1108@item tb 1109Interlaced video, top coded first, bottom displayed first 1110@item bt 1111Interlaced video, bottom coded first, top displayed first 1112@end table 1113 1114@item skip_alpha @var{bool} (@emph{decoding,video}) 1115Set to 1 to disable processing alpha (transparency). This works like the 1116@samp{gray} flag in the @option{flags} option which skips chroma information 1117instead of alpha. Default is 0. 1118 1119@item codec_whitelist @var{list} (@emph{input}) 1120"," separated list of allowed decoders. By default all are allowed. 1121 1122@item dump_separator @var{string} (@emph{input}) 1123Separator used to separate the fields printed on the command line about the 1124Stream parameters. 1125For example, to separate the fields with newlines and indentation: 1126@example 1127ffprobe -dump_separator " 1128 " -i ~/videos/matrixbench_mpeg2.mpg 1129@end example 1130 1131@item max_pixels @var{integer} (@emph{decoding/encoding,video}) 1132Maximum number of pixels per image. This value can be used to avoid out of 1133memory failures due to large images. 1134 1135@item apply_cropping @var{bool} (@emph{decoding,video}) 1136Enable cropping if cropping parameters are multiples of the required 1137alignment for the left and top parameters. If the alignment is not met the 1138cropping will be partially applied to maintain alignment. 1139Default is 1 (enabled). 1140Note: The required alignment depends on if @code{AV_CODEC_FLAG_UNALIGNED} is set and the 1141CPU. @code{AV_CODEC_FLAG_UNALIGNED} cannot be changed from the command line. Also hardware 1142decoders will not apply left/top Cropping. 1143 1144 1145@end table 1146 1147@c man end CODEC OPTIONS 1148 1149@ifclear config-writeonly 1150@include decoders.texi 1151@end ifclear 1152@ifclear config-readonly 1153@include encoders.texi 1154@end ifclear 1155