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