• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 codec_tag @var{integer}
148@item bug @var{flags} (@emph{decoding,video})
149Workaround not auto detected encoder bugs.
150
151Possible values:
152@table @samp
153@item autodetect
154
155@item xvid_ilace
156Xvid interlacing bug (autodetected if fourcc==XVIX)
157@item ump4
158(autodetected if fourcc==UMP4)
159@item no_padding
160padding bug (autodetected)
161@item amv
162
163@item qpel_chroma
164
165@item std_qpel
166old standard qpel (autodetected per fourcc/version)
167@item qpel_chroma2
168
169@item direct_blocksize
170direct-qpel-blocksize bug (autodetected per fourcc/version)
171@item edge
172edge padding bug (autodetected per fourcc/version)
173@item hpel_chroma
174
175@item dc_clip
176
177@item ms
178Workaround various bugs in microsoft broken decoders.
179@item trunc
180trancated frames
181@end table
182
183@item strict @var{integer} (@emph{decoding/encoding,audio,video})
184Specify how strictly to follow the standards.
185
186Possible values:
187@table @samp
188@item very
189strictly conform to an older more strict version of the spec or reference software
190@item strict
191strictly conform to all the things in the spec no matter what consequences
192@item normal
193
194@item unofficial
195allow unofficial extensions
196@item experimental
197allow non standardized experimental things, experimental
198(unfinished/work in progress/not well tested) decoders and encoders.
199Note: experimental decoders can pose a security risk, do not use this for
200decoding untrusted input.
201@end table
202
203@item b_qoffset @var{float} (@emph{encoding,video})
204Set QP offset between P and B frames.
205
206@item err_detect @var{flags} (@emph{decoding,audio,video})
207Set error detection flags.
208
209Possible values:
210@table @samp
211@item crccheck
212verify embedded CRCs
213@item bitstream
214detect bitstream specification deviations
215@item buffer
216detect improper bitstream length
217@item explode
218abort decoding on minor error detection
219@item ignore_err
220ignore decoding errors, and continue decoding.
221This is useful if you want to analyze the content of a video and thus want
222everything to be decoded no matter what. This option will not result in a video
223that is pleasing to watch in case of errors.
224@item careful
225consider things that violate the spec and have not been seen in the wild as errors
226@item compliant
227consider all spec non compliancies as errors
228@item aggressive
229consider 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})
239Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
240
241@item minrate @var{integer} (@emph{encoding,audio,video})
242Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
243encode. It is of little use elsewise.
244
245@item bufsize @var{integer} (@emph{encoding,audio,video})
246Set ratecontrol buffer size (in bits).
247
248@item i_qfactor @var{float} (@emph{encoding,video})
249Set QP factor between P and I frames.
250
251@item i_qoffset @var{float} (@emph{encoding,video})
252Set QP offset between P and I frames.
253
254@item dct @var{integer} (@emph{encoding,video})
255Set DCT algorithm.
256
257Possible values:
258@table @samp
259@item auto
260autoselect a good one (default)
261@item fastint
262fast integer
263@item int
264accurate integer
265@item mmx
266
267@item altivec
268
269@item faan
270floating point AAN DCT
271@end table
272
273@item lumi_mask @var{float} (@emph{encoding,video})
274Compress bright areas stronger than medium ones.
275
276@item tcplx_mask @var{float} (@emph{encoding,video})
277Set temporal complexity masking.
278
279@item scplx_mask @var{float} (@emph{encoding,video})
280Set spatial complexity masking.
281
282@item p_mask @var{float} (@emph{encoding,video})
283Set inter masking.
284
285@item dark_mask @var{float} (@emph{encoding,video})
286Compress dark areas stronger than medium ones.
287
288@item idct @var{integer} (@emph{decoding/encoding,video})
289Select IDCT implementation.
290
291Possible values:
292@table @samp
293@item auto
294
295@item int
296
297@item simple
298
299@item simplemmx
300
301@item simpleauto
302Automatically 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
321floating point AAN IDCT
322@end table
323
324@item slice_count @var{integer}
325
326@item ec @var{flags} (@emph{decoding,video})
327Set error concealment strategy.
328
329Possible values:
330@table @samp
331@item guess_mvs
332iterative motion vector (MV) search (slow)
333@item deblock
334use strong deblock filter for damaged MBs
335@item favor_inter
336favor 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})
342Set sample aspect ratio.
343
344@item sar @var{rational number} (@emph{encoding,video})
345Set sample aspect ratio. Alias to @var{aspect}.
346
347@item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
348Print specific debug info.
349
350Possible values:
351@table @samp
352@item pict
353picture info
354@item rc
355rate control
356@item bitstream
357
358@item mb_type
359macroblock (MB) type
360@item qp
361per-block quantization parameter (QP)
362@item dct_coeff
363
364@item green_metadata
365display complexity metadata for the upcoming frame, GoP or for a given duration.
366
367@item skip
368
369@item startcode
370
371@item er
372error recognition
373@item mmco
374memory management control operations (H.264)
375@item bugs
376
377@item buffers
378picture buffer allocations
379@item thread_ops
380threading operations
381@item nomc
382skip motion compensation
383@end table
384
385@item cmp @var{integer} (@emph{encoding,video})
386Set full pel me compare function.
387
388Possible values:
389@table @samp
390@item sad
391sum of absolute differences, fast (default)
392@item sse
393sum of squared errors
394@item satd
395sum of absolute Hadamard transformed differences
396@item dct
397sum of absolute DCT transformed differences
398@item psnr
399sum of squared quantization errors (avoid, low quality)
400@item bit
401number of bits needed for the block
402@item rd
403rate distortion optimal, slow
404@item zero
4050
406@item vsad
407sum of absolute vertical differences
408@item vsse
409sum of squared vertical differences
410@item nsse
411noise preserving sum of squared differences
412@item w53
4135/3 wavelet, only used in snow
414@item w97
4159/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})
423Set sub pel me compare function.
424
425Possible values:
426@table @samp
427@item sad
428sum of absolute differences, fast (default)
429@item sse
430sum of squared errors
431@item satd
432sum of absolute Hadamard transformed differences
433@item dct
434sum of absolute DCT transformed differences
435@item psnr
436sum of squared quantization errors (avoid, low quality)
437@item bit
438number of bits needed for the block
439@item rd
440rate distortion optimal, slow
441@item zero
4420
443@item vsad
444sum of absolute vertical differences
445@item vsse
446sum of squared vertical differences
447@item nsse
448noise preserving sum of squared differences
449@item w53
4505/3 wavelet, only used in snow
451@item w97
4529/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})
460Set macroblock compare function.
461
462Possible values:
463@table @samp
464@item sad
465sum of absolute differences, fast (default)
466@item sse
467sum of squared errors
468@item satd
469sum of absolute Hadamard transformed differences
470@item dct
471sum of absolute DCT transformed differences
472@item psnr
473sum of squared quantization errors (avoid, low quality)
474@item bit
475number of bits needed for the block
476@item rd
477rate distortion optimal, slow
478@item zero
4790
480@item vsad
481sum of absolute vertical differences
482@item vsse
483sum of squared vertical differences
484@item nsse
485noise preserving sum of squared differences
486@item w53
4875/3 wavelet, only used in snow
488@item w97
4899/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})
497Set interlaced dct compare function.
498
499Possible values:
500@table @samp
501@item sad
502sum of absolute differences, fast (default)
503@item sse
504sum of squared errors
505@item satd
506sum of absolute Hadamard transformed differences
507@item dct
508sum of absolute DCT transformed differences
509@item psnr
510sum of squared quantization errors (avoid, low quality)
511@item bit
512number of bits needed for the block
513@item rd
514rate distortion optimal, slow
515@item zero
5160
517@item vsad
518sum of absolute vertical differences
519@item vsse
520sum of squared vertical differences
521@item nsse
522noise preserving sum of squared differences
523@item w53
5245/3 wavelet, only used in snow
525@item w97
5269/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})
534Set diamond type & size for motion estimation.
535@table @samp
536@item (1024, INT_MAX)
537full motion estimation(slowest)
538@item (768, 1024]
539umh motion estimation
540@item (512, 768]
541hex motion estimation
542@item (256, 512]
543l2s diamond motion estimation
544@item [2,256]
545var diamond motion estimation
546@item (-1,  2)
547small diamond motion estimation
548@item -1
549funny diamond motion estimation
550@item (INT_MIN, -1)
551sab diamond motion estimation
552@end table
553
554@item last_pred @var{integer} (@emph{encoding,video})
555Set amount of motion predictors from the previous frame.
556
557@item precmp @var{integer} (@emph{encoding,video})
558Set pre motion estimation compare function.
559
560Possible values:
561@table @samp
562@item sad
563sum of absolute differences, fast (default)
564@item sse
565sum of squared errors
566@item satd
567sum of absolute Hadamard transformed differences
568@item dct
569sum of absolute DCT transformed differences
570@item psnr
571sum of squared quantization errors (avoid, low quality)
572@item bit
573number of bits needed for the block
574@item rd
575rate distortion optimal, slow
576@item zero
5770
578@item vsad
579sum of absolute vertical differences
580@item vsse
581sum of squared vertical differences
582@item nsse
583noise preserving sum of squared differences
584@item w53
5855/3 wavelet, only used in snow
586@item w97
5879/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})
595Set diamond type & size for motion estimation pre-pass.
596
597@item subq @var{integer} (@emph{encoding,video})
598Set sub pel motion estimation quality.
599
600@item me_range @var{integer} (@emph{encoding,video})
601Set 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})
608Set macroblock decision algorithm (high quality mode).
609
610Possible values:
611@table @samp
612@item simple
613use mbcmp (default)
614@item bits
615use fewest bits
616@item rd
617use best rate distortion
618@end table
619
620@item rc_init_occupancy @var{integer} (@emph{encoding,video})
621Set number of bits which should be loaded into the rc buffer before
622decoding starts.
623
624@item flags2 @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
625
626Possible values:
627@table @samp
628@item fast
629Allow non spec compliant speedup tricks.
630@item noout
631Skip bitstream encoding.
632@item ignorecrop
633Ignore cropping information from sps.
634@item local_header
635Place global headers at every keyframe instead of in extradata.
636@item chunks
637Frame data might be split into multiple chunks.
638@item showall
639Show all frames before the first keyframe.
640@item export_mvs
641Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS})
642for codecs that support it. See also @file{doc/examples/export_mvs.c}.
643@item skip_manual
644Do not skip samples and export skip information as frame side data.
645@item ass_ro_flush_noop
646Do 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
651Possible values:
652@table @samp
653@item mvs
654Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS})
655for codecs that support it. See also @file{doc/examples/export_mvs.c}.
656@item prft
657Export encoder Producer Reference Time into packet side-data (see @code{AV_PKT_DATA_PRFT})
658for codecs that support it.
659@item venc_params
660Export video encoding parameters through frame side data (see @code{AV_FRAME_DATA_VIDEO_ENC_PARAMS})
661for codecs that support it. At present, those are H.264 and VP9.
662@item film_grain
663Export film grain parameters through frame side data (see @code{AV_FRAME_DATA_FILM_GRAIN_PARAMS}).
664Supported at present by AV1 decoders.
665@end table
666
667@item threads @var{integer} (@emph{decoding/encoding,video})
668Set the number of threads to be used, in case the selected codec
669implementation supports multi-threading.
670
671Possible values:
672@table @samp
673@item auto, 0
674automatically select the number of threads to set
675@end table
676
677Default value is @samp{auto}.
678
679@item dc @var{integer} (@emph{encoding,video})
680Set intra_dc_precision.
681
682@item nssew @var{integer} (@emph{encoding,video})
683Set nsse weight.
684
685@item skip_top @var{integer} (@emph{decoding,video})
686Set number of macroblock rows at the top which are skipped.
687
688@item skip_bottom @var{integer} (@emph{decoding,video})
689Set number of macroblock rows at the bottom which are skipped.
690
691@item profile @var{integer} (@emph{encoding,audio,video})
692
693Set encoder codec profile. Default value is @samp{unknown}. Encoder specific
694profiles are documented in the relevant encoder documentation.
695
696@item level @var{integer} (@emph{encoding,audio,video})
697
698Possible values:
699@table @samp
700@item unknown
701
702@end table
703
704@item lowres @var{integer} (@emph{decoding,audio,video})
705Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
706
707@item mblmin @var{integer} (@emph{encoding,video})
708Set min macroblock lagrange factor (VBR).
709
710@item mblmax @var{integer} (@emph{encoding,video})
711Set 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
717Make decoder discard processing depending on the frame type selected
718by the option value.
719
720@option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
721skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
722
723Possible values:
724@table @samp
725@item none
726Discard no frame.
727
728@item default
729Discard useless frames like 0-sized frames.
730
731@item noref
732Discard all non-reference frames.
733
734@item bidir
735Discard all bidirectional frames.
736
737@item nokey
738Discard all frames excepts keyframes.
739
740@item nointra
741Discard all frames except I frames.
742
743@item all
744Discard all frames.
745@end table
746
747Default value is @samp{default}.
748
749@item bidir_refine @var{integer} (@emph{encoding,video})
750Refine the two motion vectors used in bidirectional macroblocks.
751
752@item keyint_min @var{integer} (@emph{encoding,video})
753Set minimum interval between IDR-frames.
754
755@item refs @var{integer} (@emph{encoding,video})
756Set reference frames to consider for motion compensation.
757
758@item trellis @var{integer} (@emph{encoding,audio,video})
759Set 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
766Possible values:
767@table @samp
768@end table
769@item request_channel_layout @var{integer} (@emph{decoding,audio})
770
771Possible 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})
779Possible values:
780@table @samp
781@item bt709
782BT.709
783@item bt470m
784BT.470 M
785@item bt470bg
786BT.470 BG
787@item smpte170m
788SMPTE 170 M
789@item smpte240m
790SMPTE 240 M
791@item film
792Film
793@item bt2020
794BT.2020
795@item smpte428
796@item smpte428_1
797SMPTE ST 428-1
798@item smpte431
799SMPTE 431-2
800@item smpte432
801SMPTE 432-1
802@item jedec-p22
803JEDEC P22
804@end table
805
806@item color_trc @var{integer} (@emph{decoding/encoding,video})
807Possible values:
808@table @samp
809@item bt709
810BT.709
811@item gamma22
812BT.470 M
813@item gamma28
814BT.470 BG
815@item smpte170m
816SMPTE 170 M
817@item smpte240m
818SMPTE 240 M
819@item linear
820Linear
821@item log
822@item log100
823Log
824@item log_sqrt
825@item log316
826Log square root
827@item iec61966_2_4
828@item iec61966-2-4
829IEC 61966-2-4
830@item bt1361
831@item bt1361e
832BT.1361
833@item iec61966_2_1
834@item iec61966-2-1
835IEC 61966-2-1
836@item bt2020_10
837@item bt2020_10bit
838BT.2020 - 10 bit
839@item bt2020_12
840@item bt2020_12bit
841BT.2020 - 12 bit
842@item smpte2084
843SMPTE ST 2084
844@item smpte428
845@item smpte428_1
846SMPTE ST 428-1
847@item arib-std-b67
848ARIB STD-B67
849@end table
850
851@item colorspace @var{integer} (@emph{decoding/encoding,video})
852Possible values:
853@table @samp
854@item rgb
855RGB
856@item bt709
857BT.709
858@item fcc
859FCC
860@item bt470bg
861BT.470 BG
862@item smpte170m
863SMPTE 170 M
864@item smpte240m
865SMPTE 240 M
866@item ycocg
867YCOCG
868@item bt2020nc
869@item bt2020_ncl
870BT.2020 NCL
871@item bt2020c
872@item bt2020_cl
873BT.2020 CL
874@item smpte2085
875SMPTE 2085
876@item chroma-derived-nc
877Chroma-derived NCL
878@item chroma-derived-c
879Chroma-derived CL
880@item ictcp
881ICtCp
882@end table
883
884@item color_range @var{integer} (@emph{decoding/encoding,video})
885If used as input parameter, it serves as a hint to the decoder, which
886color_range the input has.
887Possible values:
888@table @samp
889@item tv
890@item mpeg
891MPEG (219*2^(n-8))
892@item pc
893@item jpeg
894JPEG (2^n-1)
895@end table
896
897@item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
898Possible 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}
915Set the log level offset.
916
917@item slices @var{integer} (@emph{encoding,video})
918Number of slices, used in parallelized encoding.
919
920@item thread_type @var{flags} (@emph{decoding/encoding,video})
921Select which multithreading methods to use.
922
923Use of @samp{frame} will increase decoding delay by one frame per
924thread, so clients which cannot provide future frames should not use
925it.
926
927Possible values:
928@table @samp
929@item slice
930Decode more than one part of a single frame at once.
931
932Multithreading using slices works only when the video was encoded with
933slices.
934
935@item frame
936Decode more than one frame at once.
937@end table
938
939Default value is @samp{slice+frame}.
940
941@item audio_service_type @var{integer} (@emph{encoding,audio})
942Set audio service type.
943
944Possible values:
945@table @samp
946@item ma
947Main Audio Service
948@item ef
949Effects
950@item vi
951Visually Impaired
952@item hi
953Hearing Impaired
954@item di
955Dialogue
956@item co
957Commentary
958@item em
959Emergency
960@item vo
961Voice Over
962@item ka
963Karaoke
964@end table
965
966@item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
967Set 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})
973Set the input subtitles character encoding.
974
975@item field_order  @var{field_order} (@emph{video})
976Set/override the field order of the video.
977Possible values:
978@table @samp
979@item progressive
980Progressive video
981@item tt
982Interlaced video, top field coded and displayed first
983@item bb
984Interlaced video, bottom field coded and displayed first
985@item tb
986Interlaced video, top coded first, bottom displayed first
987@item bt
988Interlaced video, bottom coded first, top displayed first
989@end table
990
991@item skip_alpha @var{bool} (@emph{decoding,video})
992Set to 1 to disable processing alpha (transparency). This works like the
993@samp{gray} flag in the @option{flags} option which skips chroma information
994instead 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})
1000Separator used to separate the fields printed on the command line about the
1001Stream parameters.
1002For example, to separate the fields with newlines and indentation:
1003@example
1004ffprobe -dump_separator "
1005                          "  -i ~/videos/matrixbench_mpeg2.mpg
1006@end example
1007
1008@item max_pixels @var{integer} (@emph{decoding/encoding,video})
1009Maximum number of pixels per image. This value can be used to avoid out of
1010memory failures due to large images.
1011
1012@item apply_cropping @var{bool} (@emph{decoding,video})
1013Enable cropping if cropping parameters are multiples of the required
1014alignment for the left and top parameters. If the alignment is not met the
1015cropping will be partially applied to maintain alignment.
1016Default is 1 (enabled).
1017Note: The required alignment depends on if @code{AV_CODEC_FLAG_UNALIGNED} is set and the
1018CPU. @code{AV_CODEC_FLAG_UNALIGNED} cannot be changed from the command line. Also hardware
1019decoders 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
1032