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