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 unsensical 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 gmc
48Use gmc.
49@item mv0
50Always try a mb with mv=<0,0>.
51@item input_preserved
52
53@item pass1
54Use internal 2pass ratecontrol in first pass mode.
55@item pass2
56Use internal 2pass ratecontrol in second pass mode.
57@item gray
58Only decode/encode grayscale.
59@item emu_edge
60Do not draw edges.
61@item psnr
62Set error[?] variables during encoding.
63@item truncated
64
65@item naq
66Normalize adaptive quantization.
67@item ildct
68Use interlaced DCT.
69@item low_delay
70Force low delay.
71@item global_header
72Place global headers in extradata instead of every keyframe.
73@item bitexact
74Use only bitexact stuff (except (I)DCT).
75@item aic
76Apply H263 advanced intra coding / mpeg4 ac prediction.
77@item cbp
78Deprecated, use mpegvideo private options instead.
79@item qprd
80Deprecated, use mpegvideo private options instead.
81@item ilme
82Apply interlaced motion estimation.
83@item cgop
84Use closed gop.
85@end table
86
87@item me_method @var{integer} (@emph{encoding,video})
88Set motion estimation method.
89
90Possible values:
91@table @samp
92@item zero
93zero motion estimation (fastest)
94@item full
95full motion estimation (slowest)
96@item epzs
97EPZS motion estimation (default)
98@item esa
99esa motion estimation (alias for full)
100@item tesa
101tesa motion estimation
102@item dia
103dia motion estimation (alias for epzs)
104@item log
105log motion estimation
106@item phods
107phods motion estimation
108@item x1
109X1 motion estimation
110@item hex
111hex motion estimation
112@item umh
113umh motion estimation
114@item iter
115iter motion estimation
116@end table
117
118@item extradata_size @var{integer}
119Set extradata size.
120
121@item time_base @var{rational number}
122Set codec time base.
123
124It is the fundamental unit of time (in seconds) in terms of which
125frame timestamps are represented. For fixed-fps content, timebase
126should be @code{1 / frame_rate} and timestamp increments should be
127identically 1.
128
129@item g @var{integer} (@emph{encoding,video})
130Set the group of picture size. Default value is 12.
131
132@item ar @var{integer} (@emph{decoding/encoding,audio})
133Set audio sampling rate (in Hz).
134
135@item ac @var{integer} (@emph{decoding/encoding,audio})
136Set number of audio channels.
137
138@item cutoff @var{integer} (@emph{encoding,audio})
139Set cutoff bandwidth.
140
141@item frame_size @var{integer} (@emph{encoding,audio})
142Set audio frame size.
143
144Each submitted frame except the last must contain exactly frame_size
145samples per channel. May be 0 when the codec has
146CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
147restricted. It is set by some decoders to indicate constant frame
148size.
149
150@item frame_number @var{integer}
151Set the frame number.
152
153@item delay @var{integer}
154
155@item qcomp @var{float} (@emph{encoding,video})
156Set video quantizer scale compression (VBR). It is used as a constant
157in the ratecontrol equation. Recommended range for default rc_eq:
1580.0-1.0.
159
160@item qblur @var{float} (@emph{encoding,video})
161Set video quantizer scale blur (VBR).
162
163@item qmin @var{integer} (@emph{encoding,video})
164Set min video quantizer scale (VBR). Must be included between -1 and
16569, default value is 2.
166
167@item qmax @var{integer} (@emph{encoding,video})
168Set max video quantizer scale (VBR). Must be included between -1 and
1691024, default value is 31.
170
171@item qdiff @var{integer} (@emph{encoding,video})
172Set max difference between the quantizer scale (VBR).
173
174@item bf @var{integer} (@emph{encoding,video})
175Set max number of B frames between non-B-frames.
176
177Must be an integer between -1 and 16. 0 means that B-frames are
178disabled. If a value of -1 is used, it will choose an automatic value
179depending on the encoder.
180
181Default value is 0.
182
183@item b_qfactor @var{float} (@emph{encoding,video})
184Set qp factor between P and B frames.
185
186@item rc_strategy @var{integer} (@emph{encoding,video})
187Set ratecontrol method.
188
189@item b_strategy @var{integer} (@emph{encoding,video})
190Set strategy to choose between I/P/B-frames.
191
192@item ps @var{integer} (@emph{encoding,video})
193Set RTP payload size in bytes.
194
195@item mv_bits @var{integer}
196@item header_bits @var{integer}
197@item i_tex_bits @var{integer}
198@item p_tex_bits @var{integer}
199@item i_count @var{integer}
200@item p_count @var{integer}
201@item skip_count @var{integer}
202@item misc_bits @var{integer}
203@item frame_bits @var{integer}
204@item codec_tag @var{integer}
205@item bug @var{flags} (@emph{decoding,video})
206Workaround not auto detected encoder bugs.
207
208Possible values:
209@table @samp
210@item autodetect
211
212@item old_msmpeg4
213some old lavc generated msmpeg4v3 files (no autodetection)
214@item xvid_ilace
215Xvid interlacing bug (autodetected if fourcc==XVIX)
216@item ump4
217(autodetected if fourcc==UMP4)
218@item no_padding
219padding bug (autodetected)
220@item amv
221
222@item ac_vlc
223illegal vlc bug (autodetected per fourcc)
224@item qpel_chroma
225
226@item std_qpel
227old standard qpel (autodetected per fourcc/version)
228@item qpel_chroma2
229
230@item direct_blocksize
231direct-qpel-blocksize bug (autodetected per fourcc/version)
232@item edge
233edge padding bug (autodetected per fourcc/version)
234@item hpel_chroma
235
236@item dc_clip
237
238@item ms
239Workaround various bugs in microsoft broken decoders.
240@item trunc
241trancated frames
242@end table
243
244@item lelim @var{integer} (@emph{encoding,video})
245Set single coefficient elimination threshold for luminance (negative
246values also consider DC coefficient).
247
248@item celim @var{integer} (@emph{encoding,video})
249Set single coefficient elimination threshold for chrominance (negative
250values also consider dc coefficient)
251
252@item strict @var{integer} (@emph{decoding/encoding,audio,video})
253Specify how strictly to follow the standards.
254
255Possible values:
256@table @samp
257@item very
258strictly conform to a older more strict version of the spec or reference software
259@item strict
260strictly conform to all the things in the spec no matter what consequences
261@item normal
262
263@item unofficial
264allow unofficial extensions
265@item experimental
266allow non standardized experimental things, experimental
267(unfinished/work in progress/not well tested) decoders and encoders.
268Note: experimental decoders can pose a security risk, do not use this for
269decoding untrusted input.
270@end table
271
272@item b_qoffset @var{float} (@emph{encoding,video})
273Set QP offset between P and B frames.
274
275@item err_detect @var{flags} (@emph{decoding,audio,video})
276Set error detection flags.
277
278Possible values:
279@table @samp
280@item crccheck
281verify embedded CRCs
282@item bitstream
283detect bitstream specification deviations
284@item buffer
285detect improper bitstream length
286@item explode
287abort decoding on minor error detection
288@item ignore_err
289ignore decoding errors, and continue decoding.
290This is useful if you want to analyze the content of a video and thus want
291everything to be decoded no matter what. This option will not result in a video
292that is pleasing to watch in case of errors.
293@item careful
294consider things that violate the spec and have not been seen in the wild as errors
295@item compliant
296consider all spec non compliancies as errors
297@item aggressive
298consider things that a sane encoder should not do as an error
299@end table
300
301@item has_b_frames @var{integer}
302
303@item block_align @var{integer}
304
305@item mpeg_quant @var{integer} (@emph{encoding,video})
306Use MPEG quantizers instead of H.263.
307
308@item qsquish @var{float} (@emph{encoding,video})
309How to keep quantizer between qmin and qmax (0 = clip, 1 = use
310differentiable function).
311
312@item rc_qmod_amp @var{float} (@emph{encoding,video})
313Set experimental quantizer modulation.
314
315@item rc_qmod_freq @var{integer} (@emph{encoding,video})
316Set experimental quantizer modulation.
317
318@item rc_override_count @var{integer}
319
320@item rc_eq @var{string} (@emph{encoding,video})
321Set rate control equation. When computing the expression, besides the
322standard functions defined in the section 'Expression Evaluation', the
323following functions are available: bits2qp(bits), qp2bits(qp). Also
324the following constants are available: iTex pTex tex mv fCode iCount
325mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
326avgTex.
327
328@item maxrate @var{integer} (@emph{encoding,audio,video})
329Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
330
331@item minrate @var{integer} (@emph{encoding,audio,video})
332Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
333encode. It is of little use elsewise.
334
335@item bufsize @var{integer} (@emph{encoding,audio,video})
336Set ratecontrol buffer size (in bits).
337
338@item rc_buf_aggressivity @var{float} (@emph{encoding,video})
339Currently useless.
340
341@item i_qfactor @var{float} (@emph{encoding,video})
342Set QP factor between P and I frames.
343
344@item i_qoffset @var{float} (@emph{encoding,video})
345Set QP offset between P and I frames.
346
347@item rc_init_cplx @var{float} (@emph{encoding,video})
348Set initial complexity for 1-pass encoding.
349
350@item dct @var{integer} (@emph{encoding,video})
351Set DCT algorithm.
352
353Possible values:
354@table @samp
355@item auto
356autoselect a good one (default)
357@item fastint
358fast integer
359@item int
360accurate integer
361@item mmx
362
363@item altivec
364
365@item faan
366floating point AAN DCT
367@end table
368
369@item lumi_mask @var{float} (@emph{encoding,video})
370Compress bright areas stronger than medium ones.
371
372@item tcplx_mask @var{float} (@emph{encoding,video})
373Set temporal complexity masking.
374
375@item scplx_mask @var{float} (@emph{encoding,video})
376Set spatial complexity masking.
377
378@item p_mask @var{float} (@emph{encoding,video})
379Set inter masking.
380
381@item dark_mask @var{float} (@emph{encoding,video})
382Compress dark areas stronger than medium ones.
383
384@item idct @var{integer} (@emph{decoding/encoding,video})
385Select IDCT implementation.
386
387Possible values:
388@table @samp
389@item auto
390
391@item int
392
393@item simple
394
395@item simplemmx
396
397@item simpleauto
398Automatically pick a IDCT compatible with the simple one
399
400@item arm
401
402@item altivec
403
404@item sh4
405
406@item simplearm
407
408@item simplearmv5te
409
410@item simplearmv6
411
412@item simpleneon
413
414@item simplealpha
415
416@item ipp
417
418@item xvidmmx
419
420@item faani
421floating point AAN IDCT
422@end table
423
424@item slice_count @var{integer}
425
426@item ec @var{flags} (@emph{decoding,video})
427Set error concealment strategy.
428
429Possible values:
430@table @samp
431@item guess_mvs
432iterative motion vector (MV) search (slow)
433@item deblock
434use strong deblock filter for damaged MBs
435@item favor_inter
436favor predicting from the previous frame instead of the current
437@end table
438
439@item bits_per_coded_sample @var{integer}
440
441@item pred @var{integer} (@emph{encoding,video})
442Set prediction method.
443
444Possible values:
445@table @samp
446@item left
447
448@item plane
449
450@item median
451
452@end table
453
454@item aspect @var{rational number} (@emph{encoding,video})
455Set sample aspect ratio.
456
457@item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
458Print specific debug info.
459
460Possible values:
461@table @samp
462@item pict
463picture info
464@item rc
465rate control
466@item bitstream
467
468@item mb_type
469macroblock (MB) type
470@item qp
471per-block quantization parameter (QP)
472@item mv
473motion vector
474@item dct_coeff
475
476@item skip
477
478@item startcode
479
480@item pts
481
482@item er
483error recognition
484@item mmco
485memory management control operations (H.264)
486@item bugs
487
488@item vis_qp
489visualize quantization parameter (QP), lower QP are tinted greener
490@item vis_mb_type
491visualize block types
492@item buffers
493picture buffer allocations
494@item thread_ops
495threading operations
496@end table
497
498@item vismv @var{integer} (@emph{decoding,video})
499Visualize motion vectors (MVs).
500
501Possible values:
502@table @samp
503@item pf
504forward predicted MVs of P-frames
505@item bf
506forward predicted MVs of B-frames
507@item bb
508backward predicted MVs of B-frames
509@end table
510
511@item cmp @var{integer} (@emph{encoding,video})
512Set full pel me compare function.
513
514Possible values:
515@table @samp
516@item sad
517sum of absolute differences, fast (default)
518@item sse
519sum of squared errors
520@item satd
521sum of absolute Hadamard transformed differences
522@item dct
523sum of absolute DCT transformed differences
524@item psnr
525sum of squared quantization errors (avoid, low quality)
526@item bit
527number of bits needed for the block
528@item rd
529rate distortion optimal, slow
530@item zero
5310
532@item vsad
533sum of absolute vertical differences
534@item vsse
535sum of squared vertical differences
536@item nsse
537noise preserving sum of squared differences
538@item w53
5395/3 wavelet, only used in snow
540@item w97
5419/7 wavelet, only used in snow
542@item dctmax
543
544@item chroma
545
546@end table
547
548@item subcmp @var{integer} (@emph{encoding,video})
549Set sub pel me compare function.
550
551Possible values:
552@table @samp
553@item sad
554sum of absolute differences, fast (default)
555@item sse
556sum of squared errors
557@item satd
558sum of absolute Hadamard transformed differences
559@item dct
560sum of absolute DCT transformed differences
561@item psnr
562sum of squared quantization errors (avoid, low quality)
563@item bit
564number of bits needed for the block
565@item rd
566rate distortion optimal, slow
567@item zero
5680
569@item vsad
570sum of absolute vertical differences
571@item vsse
572sum of squared vertical differences
573@item nsse
574noise preserving sum of squared differences
575@item w53
5765/3 wavelet, only used in snow
577@item w97
5789/7 wavelet, only used in snow
579@item dctmax
580
581@item chroma
582
583@end table
584
585@item mbcmp @var{integer} (@emph{encoding,video})
586Set macroblock compare function.
587
588Possible values:
589@table @samp
590@item sad
591sum of absolute differences, fast (default)
592@item sse
593sum of squared errors
594@item satd
595sum of absolute Hadamard transformed differences
596@item dct
597sum of absolute DCT transformed differences
598@item psnr
599sum of squared quantization errors (avoid, low quality)
600@item bit
601number of bits needed for the block
602@item rd
603rate distortion optimal, slow
604@item zero
6050
606@item vsad
607sum of absolute vertical differences
608@item vsse
609sum of squared vertical differences
610@item nsse
611noise preserving sum of squared differences
612@item w53
6135/3 wavelet, only used in snow
614@item w97
6159/7 wavelet, only used in snow
616@item dctmax
617
618@item chroma
619
620@end table
621
622@item ildctcmp @var{integer} (@emph{encoding,video})
623Set interlaced dct compare function.
624
625Possible values:
626@table @samp
627@item sad
628sum of absolute differences, fast (default)
629@item sse
630sum of squared errors
631@item satd
632sum of absolute Hadamard transformed differences
633@item dct
634sum of absolute DCT transformed differences
635@item psnr
636sum of squared quantization errors (avoid, low quality)
637@item bit
638number of bits needed for the block
639@item rd
640rate distortion optimal, slow
641@item zero
6420
643@item vsad
644sum of absolute vertical differences
645@item vsse
646sum of squared vertical differences
647@item nsse
648noise preserving sum of squared differences
649@item w53
6505/3 wavelet, only used in snow
651@item w97
6529/7 wavelet, only used in snow
653@item dctmax
654
655@item chroma
656
657@end table
658
659@item dia_size @var{integer} (@emph{encoding,video})
660Set diamond type & size for motion estimation.
661
662@item last_pred @var{integer} (@emph{encoding,video})
663Set amount of motion predictors from the previous frame.
664
665@item preme @var{integer} (@emph{encoding,video})
666Set pre motion estimation.
667
668@item precmp @var{integer} (@emph{encoding,video})
669Set pre motion estimation compare function.
670
671Possible values:
672@table @samp
673@item sad
674sum of absolute differences, fast (default)
675@item sse
676sum of squared errors
677@item satd
678sum of absolute Hadamard transformed differences
679@item dct
680sum of absolute DCT transformed differences
681@item psnr
682sum of squared quantization errors (avoid, low quality)
683@item bit
684number of bits needed for the block
685@item rd
686rate distortion optimal, slow
687@item zero
6880
689@item vsad
690sum of absolute vertical differences
691@item vsse
692sum of squared vertical differences
693@item nsse
694noise preserving sum of squared differences
695@item w53
6965/3 wavelet, only used in snow
697@item w97
6989/7 wavelet, only used in snow
699@item dctmax
700
701@item chroma
702
703@end table
704
705@item pre_dia_size @var{integer} (@emph{encoding,video})
706Set diamond type & size for motion estimation pre-pass.
707
708@item subq @var{integer} (@emph{encoding,video})
709Set sub pel motion estimation quality.
710
711@item dtg_active_format @var{integer}
712
713@item me_range @var{integer} (@emph{encoding,video})
714Set limit motion vectors range (1023 for DivX player).
715
716@item ibias @var{integer} (@emph{encoding,video})
717Set intra quant bias.
718
719@item pbias @var{integer} (@emph{encoding,video})
720Set inter quant bias.
721
722@item color_table_id @var{integer}
723
724@item global_quality @var{integer} (@emph{encoding,audio,video})
725
726@item coder @var{integer} (@emph{encoding,video})
727
728Possible values:
729@table @samp
730@item vlc
731variable length coder / huffman coder
732@item ac
733arithmetic coder
734@item raw
735raw (no encoding)
736@item rle
737run-length coder
738@item deflate
739deflate-based coder
740@end table
741
742@item context @var{integer} (@emph{encoding,video})
743Set context model.
744
745@item slice_flags @var{integer}
746
747@item xvmc_acceleration @var{integer}
748
749@item mbd @var{integer} (@emph{encoding,video})
750Set macroblock decision algorithm (high quality mode).
751
752Possible values:
753@table @samp
754@item simple
755use mbcmp (default)
756@item bits
757use fewest bits
758@item rd
759use best rate distortion
760@end table
761
762@item stream_codec_tag @var{integer}
763
764@item sc_threshold @var{integer} (@emph{encoding,video})
765Set scene change threshold.
766
767@item lmin @var{integer} (@emph{encoding,video})
768Set min lagrange factor (VBR).
769
770@item lmax @var{integer} (@emph{encoding,video})
771Set max lagrange factor (VBR).
772
773@item nr @var{integer} (@emph{encoding,video})
774Set noise reduction.
775
776@item rc_init_occupancy @var{integer} (@emph{encoding,video})
777Set number of bits which should be loaded into the rc buffer before
778decoding starts.
779
780@item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
781
782Possible values:
783@table @samp
784@item fast
785Allow non spec compliant speedup tricks.
786@item sgop
787Deprecated, use mpegvideo private options instead.
788@item noout
789Skip bitstream encoding.
790@item ignorecrop
791Ignore cropping information from sps.
792@item local_header
793Place global headers at every keyframe instead of in extradata.
794@item chunks
795Frame data might be split into multiple chunks.
796@item showall
797Show all frames before the first keyframe.
798@item skiprd
799Deprecated, use mpegvideo private options instead.
800@end table
801
802@item error @var{integer} (@emph{encoding,video})
803
804@item qns @var{integer} (@emph{encoding,video})
805Deprecated, use mpegvideo private options instead.
806
807@item threads @var{integer} (@emph{decoding/encoding,video})
808
809Possible values:
810@table @samp
811@item auto
812detect a good number of threads
813@end table
814
815@item me_threshold @var{integer} (@emph{encoding,video})
816Set motion estimation threshold.
817
818@item mb_threshold @var{integer} (@emph{encoding,video})
819Set macroblock threshold.
820
821@item dc @var{integer} (@emph{encoding,video})
822Set intra_dc_precision.
823
824@item nssew @var{integer} (@emph{encoding,video})
825Set nsse weight.
826
827@item skip_top @var{integer} (@emph{decoding,video})
828Set number of macroblock rows at the top which are skipped.
829
830@item skip_bottom @var{integer} (@emph{decoding,video})
831Set number of macroblock rows at the bottom which are skipped.
832
833@item profile @var{integer} (@emph{encoding,audio,video})
834
835Possible values:
836@table @samp
837@item unknown
838
839@item aac_main
840
841@item aac_low
842
843@item aac_ssr
844
845@item aac_ltp
846
847@item aac_he
848
849@item aac_he_v2
850
851@item aac_ld
852
853@item aac_eld
854
855@item mpeg2_aac_low
856
857@item mpeg2_aac_he
858
859@item dts
860
861@item dts_es
862
863@item dts_96_24
864
865@item dts_hd_hra
866
867@item dts_hd_ma
868
869@end table
870
871@item level @var{integer} (@emph{encoding,audio,video})
872
873Possible values:
874@table @samp
875@item unknown
876
877@end table
878
879@item lowres @var{integer} (@emph{decoding,audio,video})
880Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
881
882@item skip_threshold @var{integer} (@emph{encoding,video})
883Set frame skip threshold.
884
885@item skip_factor @var{integer} (@emph{encoding,video})
886Set frame skip factor.
887
888@item skip_exp @var{integer} (@emph{encoding,video})
889Set frame skip exponent.
890Negative values behave identical to the corresponding positive ones, except
891that the score is normalized.
892Positive values exist primarily for compatibility reasons and are not so useful.
893
894@item skipcmp @var{integer} (@emph{encoding,video})
895Set frame skip compare function.
896
897Possible values:
898@table @samp
899@item sad
900sum of absolute differences, fast (default)
901@item sse
902sum of squared errors
903@item satd
904sum of absolute Hadamard transformed differences
905@item dct
906sum of absolute DCT transformed differences
907@item psnr
908sum of squared quantization errors (avoid, low quality)
909@item bit
910number of bits needed for the block
911@item rd
912rate distortion optimal, slow
913@item zero
9140
915@item vsad
916sum of absolute vertical differences
917@item vsse
918sum of squared vertical differences
919@item nsse
920noise preserving sum of squared differences
921@item w53
9225/3 wavelet, only used in snow
923@item w97
9249/7 wavelet, only used in snow
925@item dctmax
926
927@item chroma
928
929@end table
930
931@item border_mask @var{float} (@emph{encoding,video})
932Increase the quantizer for macroblocks close to borders.
933
934@item mblmin @var{integer} (@emph{encoding,video})
935Set min macroblock lagrange factor (VBR).
936
937@item mblmax @var{integer} (@emph{encoding,video})
938Set max macroblock lagrange factor (VBR).
939
940@item mepc @var{integer} (@emph{encoding,video})
941Set motion estimation bitrate penalty compensation (1.0 = 256).
942
943@item skip_loop_filter @var{integer} (@emph{decoding,video})
944@item skip_idct        @var{integer} (@emph{decoding,video})
945@item skip_frame       @var{integer} (@emph{decoding,video})
946
947Make decoder discard processing depending on the frame type selected
948by the option value.
949
950@option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
951skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
952
953Possible values:
954@table @samp
955@item none
956Discard no frame.
957
958@item default
959Discard useless frames like 0-sized frames.
960
961@item noref
962Discard all non-reference frames.
963
964@item bidir
965Discard all bidirectional frames.
966
967@item nokey
968Discard all frames excepts keyframes.
969
970@item all
971Discard all frames.
972@end table
973
974Default value is @samp{default}.
975
976@item bidir_refine @var{integer} (@emph{encoding,video})
977Refine the two motion vectors used in bidirectional macroblocks.
978
979@item brd_scale @var{integer} (@emph{encoding,video})
980Downscale frames for dynamic B-frame decision.
981
982@item keyint_min @var{integer} (@emph{encoding,video})
983Set minimum interval between IDR-frames.
984
985@item refs @var{integer} (@emph{encoding,video})
986Set reference frames to consider for motion compensation.
987
988@item chromaoffset @var{integer} (@emph{encoding,video})
989Set chroma qp offset from luma.
990
991@item trellis @var{integer} (@emph{encoding,audio,video})
992Set rate-distortion optimal quantization.
993
994@item sc_factor @var{integer} (@emph{encoding,video})
995Set value multiplied by qscale for each frame and added to
996scene_change_score.
997
998@item mv0_threshold @var{integer} (@emph{encoding,video})
999@item b_sensitivity @var{integer} (@emph{encoding,video})
1000Adjust sensitivity of b_frame_strategy 1.
1001
1002@item compression_level @var{integer} (@emph{encoding,audio,video})
1003@item min_prediction_order @var{integer} (@emph{encoding,audio})
1004@item max_prediction_order @var{integer} (@emph{encoding,audio})
1005@item timecode_frame_start @var{integer} (@emph{encoding,video})
1006Set GOP timecode frame start number, in non drop frame format.
1007
1008@item request_channels @var{integer} (@emph{decoding,audio})
1009Set desired number of audio channels.
1010
1011@item bits_per_raw_sample @var{integer}
1012@item channel_layout @var{integer} (@emph{decoding/encoding,audio})
1013
1014Possible values:
1015@table @samp
1016@end table
1017@item request_channel_layout @var{integer} (@emph{decoding,audio})
1018
1019Possible values:
1020@table @samp
1021@end table
1022@item rc_max_vbv_use @var{float} (@emph{encoding,video})
1023@item rc_min_vbv_use @var{float} (@emph{encoding,video})
1024@item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
1025@item color_primaries @var{integer} (@emph{decoding/encoding,video})
1026@item color_trc @var{integer} (@emph{decoding/encoding,video})
1027@item colorspace @var{integer} (@emph{decoding/encoding,video})
1028@item color_range @var{integer} (@emph{decoding/encoding,video})
1029@item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
1030
1031@item log_level_offset @var{integer}
1032Set the log level offset.
1033
1034@item slices @var{integer} (@emph{encoding,video})
1035Number of slices, used in parallelized encoding.
1036
1037@item thread_type @var{flags} (@emph{decoding/encoding,video})
1038Select which multithreading methods to use.
1039
1040Use of @samp{frame} will increase decoding delay by one frame per
1041thread, so clients which cannot provide future frames should not use
1042it.
1043
1044Possible values:
1045@table @samp
1046@item slice
1047Decode more than one part of a single frame at once.
1048
1049Multithreading using slices works only when the video was encoded with
1050slices.
1051
1052@item frame
1053Decode more than one frame at once.
1054@end table
1055
1056Default value is @samp{slice+frame}.
1057
1058@item audio_service_type @var{integer} (@emph{encoding,audio})
1059Set audio service type.
1060
1061Possible values:
1062@table @samp
1063@item ma
1064Main Audio Service
1065@item ef
1066Effects
1067@item vi
1068Visually Impaired
1069@item hi
1070Hearing Impaired
1071@item di
1072Dialogue
1073@item co
1074Commentary
1075@item em
1076Emergency
1077@item vo
1078Voice Over
1079@item ka
1080Karaoke
1081@end table
1082
1083@item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
1084Set sample format audio decoders should prefer. Default value is
1085@code{none}.
1086
1087@item pkt_timebase @var{rational number}
1088
1089@item sub_charenc @var{encoding} (@emph{decoding,subtitles})
1090Set the input subtitles character encoding.
1091
1092@item field_order  @var{field_order} (@emph{video})
1093Set/override the field order of the video.
1094Possible values:
1095@table @samp
1096@item progressive
1097Progressive video
1098@item tt
1099Interlaced video, top field coded and displayed first
1100@item bb
1101Interlaced video, bottom field coded and displayed first
1102@item tb
1103Interlaced video, top coded first, bottom displayed first
1104@item bt
1105Interlaced video, bottom coded first, top displayed first
1106@end table
1107
1108@item skip_alpha @var{integer} (@emph{decoding,video})
1109Set to 1 to disable processing alpha (transparency). This works like the
1110@samp{gray} flag in the @option{flags} option which skips chroma information
1111instead of alpha. Default is 0.
1112@end table
1113
1114@c man end CODEC OPTIONS
1115
1116@ifclear config-writeonly
1117@include decoders.texi
1118@end ifclear
1119@ifclear config-readonly
1120@include encoders.texi
1121@end ifclear
1122