summaryrefslogtreecommitdiff
path: root/doc/codecs.texi (plain)
blob: e79e462146725e0c68daf0299209a3d881204d15
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.
176
177@item b_qfactor @var{float} (@emph{encoding,video})
178Set qp factor between P and B frames.
179
180@item rc_strategy @var{integer} (@emph{encoding,video})
181Set ratecontrol method.
182
183@item b_strategy @var{integer} (@emph{encoding,video})
184Set strategy to choose between I/P/B-frames.
185
186@item ps @var{integer} (@emph{encoding,video})
187Set RTP payload size in bytes.
188
189@item mv_bits @var{integer}
190@item header_bits @var{integer}
191@item i_tex_bits @var{integer}
192@item p_tex_bits @var{integer}
193@item i_count @var{integer}
194@item p_count @var{integer}
195@item skip_count @var{integer}
196@item misc_bits @var{integer}
197@item frame_bits @var{integer}
198@item codec_tag @var{integer}
199@item bug @var{flags} (@emph{decoding,video})
200Workaround not auto detected encoder bugs.
201
202Possible values:
203@table @samp
204@item autodetect
205
206@item old_msmpeg4
207some old lavc generated msmpeg4v3 files (no autodetection)
208@item xvid_ilace
209Xvid interlacing bug (autodetected if fourcc==XVIX)
210@item ump4
211(autodetected if fourcc==UMP4)
212@item no_padding
213padding bug (autodetected)
214@item amv
215
216@item ac_vlc
217illegal vlc bug (autodetected per fourcc)
218@item qpel_chroma
219
220@item std_qpel
221old standard qpel (autodetected per fourcc/version)
222@item qpel_chroma2
223
224@item direct_blocksize
225direct-qpel-blocksize bug (autodetected per fourcc/version)
226@item edge
227edge padding bug (autodetected per fourcc/version)
228@item hpel_chroma
229
230@item dc_clip
231
232@item ms
233Workaround various bugs in microsoft broken decoders.
234@item trunc
235trancated frames
236@end table
237
238@item lelim @var{integer} (@emph{encoding,video})
239Set single coefficient elimination threshold for luminance (negative
240values also consider DC coefficient).
241
242@item celim @var{integer} (@emph{encoding,video})
243Set single coefficient elimination threshold for chrominance (negative
244values also consider dc coefficient)
245
246@item strict @var{integer} (@emph{decoding/encoding,audio,video})
247Specify how strictly to follow the standards.
248
249Possible values:
250@table @samp
251@item very
252strictly conform to a older more strict version of the spec or reference software
253@item strict
254strictly conform to all the things in the spec no matter what consequences
255@item normal
256
257@item unofficial
258allow unofficial extensions
259@item experimental
260allow non standardized experimental things, experimental
261(unfinished/work in progress/not well tested) decoders and encoders.
262Note: experimental decoders can pose a security risk, do not use this for
263decoding untrusted input.
264@end table
265
266@item b_qoffset @var{float} (@emph{encoding,video})
267Set QP offset between P and B frames.
268
269@item err_detect @var{flags} (@emph{decoding,audio,video})
270Set error detection flags.
271
272Possible values:
273@table @samp
274@item crccheck
275verify embedded CRCs
276@item bitstream
277detect bitstream specification deviations
278@item buffer
279detect improper bitstream length
280@item explode
281abort decoding on minor error detection
282@item careful
283consider things that violate the spec and have not been seen in the wild as errors
284@item compliant
285consider all spec non compliancies as errors
286@item aggressive
287consider things that a sane encoder should not do as an error
288@end table
289
290@item has_b_frames @var{integer}
291
292@item block_align @var{integer}
293
294@item mpeg_quant @var{integer} (@emph{encoding,video})
295Use MPEG quantizers instead of H.263.
296
297@item qsquish @var{float} (@emph{encoding,video})
298How to keep quantizer between qmin and qmax (0 = clip, 1 = use
299differentiable function).
300
301@item rc_qmod_amp @var{float} (@emph{encoding,video})
302Set experimental quantizer modulation.
303
304@item rc_qmod_freq @var{integer} (@emph{encoding,video})
305Set experimental quantizer modulation.
306
307@item rc_override_count @var{integer}
308
309@item rc_eq @var{string} (@emph{encoding,video})
310Set rate control equation. When computing the expression, besides the
311standard functions defined in the section 'Expression Evaluation', the
312following functions are available: bits2qp(bits), qp2bits(qp). Also
313the following constants are available: iTex pTex tex mv fCode iCount
314mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
315avgTex.
316
317@item maxrate @var{integer} (@emph{encoding,audio,video})
318Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
319
320@item minrate @var{integer} (@emph{encoding,audio,video})
321Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
322encode. It is of little use elsewise.
323
324@item bufsize @var{integer} (@emph{encoding,audio,video})
325Set ratecontrol buffer size (in bits).
326
327@item rc_buf_aggressivity @var{float} (@emph{encoding,video})
328Currently useless.
329
330@item i_qfactor @var{float} (@emph{encoding,video})
331Set QP factor between P and I frames.
332
333@item i_qoffset @var{float} (@emph{encoding,video})
334Set QP offset between P and I frames.
335
336@item rc_init_cplx @var{float} (@emph{encoding,video})
337Set initial complexity for 1-pass encoding.
338
339@item dct @var{integer} (@emph{encoding,video})
340Set DCT algorithm.
341
342Possible values:
343@table @samp
344@item auto
345autoselect a good one (default)
346@item fastint
347fast integer
348@item int
349accurate integer
350@item mmx
351
352@item altivec
353
354@item faan
355floating point AAN DCT
356@end table
357
358@item lumi_mask @var{float} (@emph{encoding,video})
359Compress bright areas stronger than medium ones.
360
361@item tcplx_mask @var{float} (@emph{encoding,video})
362Set temporal complexity masking.
363
364@item scplx_mask @var{float} (@emph{encoding,video})
365Set spatial complexity masking.
366
367@item p_mask @var{float} (@emph{encoding,video})
368Set inter masking.
369
370@item dark_mask @var{float} (@emph{encoding,video})
371Compress dark areas stronger than medium ones.
372
373@item idct @var{integer} (@emph{decoding/encoding,video})
374Select IDCT implementation.
375
376Possible values:
377@table @samp
378@item auto
379
380@item int
381
382@item simple
383
384@item simplemmx
385
386@item arm
387
388@item altivec
389
390@item sh4
391
392@item simplearm
393
394@item simplearmv5te
395
396@item simplearmv6
397
398@item simpleneon
399
400@item simplealpha
401
402@item ipp
403
404@item xvidmmx
405
406@item faani
407floating point AAN IDCT
408@end table
409
410@item slice_count @var{integer}
411
412@item ec @var{flags} (@emph{decoding,video})
413Set error concealment strategy.
414
415Possible values:
416@table @samp
417@item guess_mvs
418iterative motion vector (MV) search (slow)
419@item deblock
420use strong deblock filter for damaged MBs
421@end table
422
423@item bits_per_coded_sample @var{integer}
424
425@item pred @var{integer} (@emph{encoding,video})
426Set prediction method.
427
428Possible values:
429@table @samp
430@item left
431
432@item plane
433
434@item median
435
436@end table
437
438@item aspect @var{rational number} (@emph{encoding,video})
439Set sample aspect ratio.
440
441@item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
442Print specific debug info.
443
444Possible values:
445@table @samp
446@item pict
447picture info
448@item rc
449rate control
450@item bitstream
451
452@item mb_type
453macroblock (MB) type
454@item qp
455per-block quantization parameter (QP)
456@item mv
457motion vector
458@item dct_coeff
459
460@item skip
461
462@item startcode
463
464@item pts
465
466@item er
467error recognition
468@item mmco
469memory management control operations (H.264)
470@item bugs
471
472@item vis_qp
473visualize quantization parameter (QP), lower QP are tinted greener
474@item vis_mb_type
475visualize block types
476@item buffers
477picture buffer allocations
478@item thread_ops
479threading operations
480@end table
481
482@item vismv @var{integer} (@emph{decoding,video})
483Visualize motion vectors (MVs).
484
485Possible values:
486@table @samp
487@item pf
488forward predicted MVs of P-frames
489@item bf
490forward predicted MVs of B-frames
491@item bb
492backward predicted MVs of B-frames
493@end table
494
495@item cmp @var{integer} (@emph{encoding,video})
496Set full pel me compare function.
497
498Possible values:
499@table @samp
500@item sad
501sum of absolute differences, fast (default)
502@item sse
503sum of squared errors
504@item satd
505sum of absolute Hadamard transformed differences
506@item dct
507sum of absolute DCT transformed differences
508@item psnr
509sum of squared quantization errors (avoid, low quality)
510@item bit
511number of bits needed for the block
512@item rd
513rate distortion optimal, slow
514@item zero
5150
516@item vsad
517sum of absolute vertical differences
518@item vsse
519sum of squared vertical differences
520@item nsse
521noise preserving sum of squared differences
522@item w53
5235/3 wavelet, only used in snow
524@item w97
5259/7 wavelet, only used in snow
526@item dctmax
527
528@item chroma
529
530@end table
531
532@item subcmp @var{integer} (@emph{encoding,video})
533Set sub pel me compare function.
534
535Possible values:
536@table @samp
537@item sad
538sum of absolute differences, fast (default)
539@item sse
540sum of squared errors
541@item satd
542sum of absolute Hadamard transformed differences
543@item dct
544sum of absolute DCT transformed differences
545@item psnr
546sum of squared quantization errors (avoid, low quality)
547@item bit
548number of bits needed for the block
549@item rd
550rate distortion optimal, slow
551@item zero
5520
553@item vsad
554sum of absolute vertical differences
555@item vsse
556sum of squared vertical differences
557@item nsse
558noise preserving sum of squared differences
559@item w53
5605/3 wavelet, only used in snow
561@item w97
5629/7 wavelet, only used in snow
563@item dctmax
564
565@item chroma
566
567@end table
568
569@item mbcmp @var{integer} (@emph{encoding,video})
570Set macroblock compare function.
571
572Possible values:
573@table @samp
574@item sad
575sum of absolute differences, fast (default)
576@item sse
577sum of squared errors
578@item satd
579sum of absolute Hadamard transformed differences
580@item dct
581sum of absolute DCT transformed differences
582@item psnr
583sum of squared quantization errors (avoid, low quality)
584@item bit
585number of bits needed for the block
586@item rd
587rate distortion optimal, slow
588@item zero
5890
590@item vsad
591sum of absolute vertical differences
592@item vsse
593sum of squared vertical differences
594@item nsse
595noise preserving sum of squared differences
596@item w53
5975/3 wavelet, only used in snow
598@item w97
5999/7 wavelet, only used in snow
600@item dctmax
601
602@item chroma
603
604@end table
605
606@item ildctcmp @var{integer} (@emph{encoding,video})
607Set interlaced dct compare function.
608
609Possible values:
610@table @samp
611@item sad
612sum of absolute differences, fast (default)
613@item sse
614sum of squared errors
615@item satd
616sum of absolute Hadamard transformed differences
617@item dct
618sum of absolute DCT transformed differences
619@item psnr
620sum of squared quantization errors (avoid, low quality)
621@item bit
622number of bits needed for the block
623@item rd
624rate distortion optimal, slow
625@item zero
6260
627@item vsad
628sum of absolute vertical differences
629@item vsse
630sum of squared vertical differences
631@item nsse
632noise preserving sum of squared differences
633@item w53
6345/3 wavelet, only used in snow
635@item w97
6369/7 wavelet, only used in snow
637@item dctmax
638
639@item chroma
640
641@end table
642
643@item dia_size @var{integer} (@emph{encoding,video})
644Set diamond type & size for motion estimation.
645
646@item last_pred @var{integer} (@emph{encoding,video})
647Set amount of motion predictors from the previous frame.
648
649@item preme @var{integer} (@emph{encoding,video})
650Set pre motion estimation.
651
652@item precmp @var{integer} (@emph{encoding,video})
653Set pre motion estimation compare function.
654
655Possible values:
656@table @samp
657@item sad
658sum of absolute differences, fast (default)
659@item sse
660sum of squared errors
661@item satd
662sum of absolute Hadamard transformed differences
663@item dct
664sum of absolute DCT transformed differences
665@item psnr
666sum of squared quantization errors (avoid, low quality)
667@item bit
668number of bits needed for the block
669@item rd
670rate distortion optimal, slow
671@item zero
6720
673@item vsad
674sum of absolute vertical differences
675@item vsse
676sum of squared vertical differences
677@item nsse
678noise preserving sum of squared differences
679@item w53
6805/3 wavelet, only used in snow
681@item w97
6829/7 wavelet, only used in snow
683@item dctmax
684
685@item chroma
686
687@end table
688
689@item pre_dia_size @var{integer} (@emph{encoding,video})
690Set diamond type & size for motion estimation pre-pass.
691
692@item subq @var{integer} (@emph{encoding,video})
693Set sub pel motion estimation quality.
694
695@item dtg_active_format @var{integer}
696
697@item me_range @var{integer} (@emph{encoding,video})
698Set limit motion vectors range (1023 for DivX player).
699
700@item ibias @var{integer} (@emph{encoding,video})
701Set intra quant bias.
702
703@item pbias @var{integer} (@emph{encoding,video})
704Set inter quant bias.
705
706@item color_table_id @var{integer}
707
708@item global_quality @var{integer} (@emph{encoding,audio,video})
709
710@item coder @var{integer} (@emph{encoding,video})
711
712Possible values:
713@table @samp
714@item vlc
715variable length coder / huffman coder
716@item ac
717arithmetic coder
718@item raw
719raw (no encoding)
720@item rle
721run-length coder
722@item deflate
723deflate-based coder
724@end table
725
726@item context @var{integer} (@emph{encoding,video})
727Set context model.
728
729@item slice_flags @var{integer}
730
731@item xvmc_acceleration @var{integer}
732
733@item mbd @var{integer} (@emph{encoding,video})
734Set macroblock decision algorithm (high quality mode).
735
736Possible values:
737@table @samp
738@item simple
739use mbcmp (default)
740@item bits
741use fewest bits
742@item rd
743use best rate distortion
744@end table
745
746@item stream_codec_tag @var{integer}
747
748@item sc_threshold @var{integer} (@emph{encoding,video})
749Set scene change threshold.
750
751@item lmin @var{integer} (@emph{encoding,video})
752Set min lagrange factor (VBR).
753
754@item lmax @var{integer} (@emph{encoding,video})
755Set max lagrange factor (VBR).
756
757@item nr @var{integer} (@emph{encoding,video})
758Set noise reduction.
759
760@item rc_init_occupancy @var{integer} (@emph{encoding,video})
761Set number of bits which should be loaded into the rc buffer before
762decoding starts.
763
764@item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
765
766Possible values:
767@table @samp
768@item fast
769Allow non spec compliant speedup tricks.
770@item sgop
771Deprecated, use mpegvideo private options instead.
772@item noout
773Skip bitstream encoding.
774@item ignorecrop
775Ignore cropping information from sps.
776@item local_header
777Place global headers at every keyframe instead of in extradata.
778@item chunks
779Frame data might be split into multiple chunks.
780@item showall
781Show all frames before the first keyframe.
782@item skiprd
783Deprecated, use mpegvideo private options instead.
784@end table
785
786@item error @var{integer} (@emph{encoding,video})
787
788@item qns @var{integer} (@emph{encoding,video})
789Deprecated, use mpegvideo private options instead.
790
791@item threads @var{integer} (@emph{decoding/encoding,video})
792
793Possible values:
794@table @samp
795@item auto
796detect a good number of threads
797@end table
798
799@item me_threshold @var{integer} (@emph{encoding,video})
800Set motion estimation threshold.
801
802@item mb_threshold @var{integer} (@emph{encoding,video})
803Set macroblock threshold.
804
805@item dc @var{integer} (@emph{encoding,video})
806Set intra_dc_precision.
807
808@item nssew @var{integer} (@emph{encoding,video})
809Set nsse weight.
810
811@item skip_top @var{integer} (@emph{decoding,video})
812Set number of macroblock rows at the top which are skipped.
813
814@item skip_bottom @var{integer} (@emph{decoding,video})
815Set number of macroblock rows at the bottom which are skipped.
816
817@item profile @var{integer} (@emph{encoding,audio,video})
818
819Possible values:
820@table @samp
821@item unknown
822
823@item aac_main
824
825@item aac_low
826
827@item aac_ssr
828
829@item aac_ltp
830
831@item aac_he
832
833@item aac_he_v2
834
835@item aac_ld
836
837@item aac_eld
838
839@item mpeg2_aac_low
840
841@item mpeg2_aac_he
842
843@item dts
844
845@item dts_es
846
847@item dts_96_24
848
849@item dts_hd_hra
850
851@item dts_hd_ma
852
853@end table
854
855@item level @var{integer} (@emph{encoding,audio,video})
856
857Possible values:
858@table @samp
859@item unknown
860
861@end table
862
863@item lowres @var{integer} (@emph{decoding,audio,video})
864Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
865
866@item skip_threshold @var{integer} (@emph{encoding,video})
867Set frame skip threshold.
868
869@item skip_factor @var{integer} (@emph{encoding,video})
870Set frame skip factor.
871
872@item skip_exp @var{integer} (@emph{encoding,video})
873Set frame skip exponent.
874
875@item skipcmp @var{integer} (@emph{encoding,video})
876Set frame skip compare function.
877
878Possible values:
879@table @samp
880@item sad
881sum of absolute differences, fast (default)
882@item sse
883sum of squared errors
884@item satd
885sum of absolute Hadamard transformed differences
886@item dct
887sum of absolute DCT transformed differences
888@item psnr
889sum of squared quantization errors (avoid, low quality)
890@item bit
891number of bits needed for the block
892@item rd
893rate distortion optimal, slow
894@item zero
8950
896@item vsad
897sum of absolute vertical differences
898@item vsse
899sum of squared vertical differences
900@item nsse
901noise preserving sum of squared differences
902@item w53
9035/3 wavelet, only used in snow
904@item w97
9059/7 wavelet, only used in snow
906@item dctmax
907
908@item chroma
909
910@end table
911
912@item border_mask @var{float} (@emph{encoding,video})
913Increase the quantizer for macroblocks close to borders.
914
915@item mblmin @var{integer} (@emph{encoding,video})
916Set min macroblock lagrange factor (VBR).
917
918@item mblmax @var{integer} (@emph{encoding,video})
919Set max macroblock lagrange factor (VBR).
920
921@item mepc @var{integer} (@emph{encoding,video})
922Set motion estimation bitrate penalty compensation (1.0 = 256).
923
924@item skip_loop_filter @var{integer} (@emph{decoding,video})
925@item skip_idct @var{integer} (@emph{decoding,video})
926@item skip_frame @var{integer} (@emph{decoding,video})
927
928Make decoder discard processing depending on the frame type selected
929by the option value.
930
931@option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
932skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
933
934Possible values:
935@table @samp
936@item none
937Discard no frame.
938
939@item default
940Discard useless frames like 0-sized frames.
941
942@item noref
943Discard all non-reference frames.
944
945@item bidir
946Discard all bidirectional frames.
947
948@item nokey
949Discard all frames excepts keyframes.
950
951@item all
952Discard all frames.
953@end table
954
955Default value is @samp{default}.
956
957@item bidir_refine @var{integer} (@emph{encoding,video})
958Refine the two motion vectors used in bidirectional macroblocks.
959
960@item brd_scale @var{integer} (@emph{encoding,video})
961Downscale frames for dynamic B-frame decision.
962
963@item keyint_min @var{integer} (@emph{encoding,video})
964Set minimum interval between IDR-frames.
965
966@item refs @var{integer} (@emph{encoding,video})
967Set reference frames to consider for motion compensation.
968
969@item chromaoffset @var{integer} (@emph{encoding,video})
970Set chroma qp offset from luma.
971
972@item trellis @var{integer} (@emph{encoding,audio,video})
973Set rate-distortion optimal quantization.
974
975@item sc_factor @var{integer} (@emph{encoding,video})
976Set value multiplied by qscale for each frame and added to
977scene_change_score.
978
979@item mv0_threshold @var{integer} (@emph{encoding,video})
980@item b_sensitivity @var{integer} (@emph{encoding,video})
981Adjust sensitivity of b_frame_strategy 1.
982
983@item compression_level @var{integer} (@emph{encoding,audio,video})
984@item min_prediction_order @var{integer} (@emph{encoding,audio})
985@item max_prediction_order @var{integer} (@emph{encoding,audio})
986@item timecode_frame_start @var{integer} (@emph{encoding,video})
987Set GOP timecode frame start number, in non drop frame format.
988
989@item request_channels @var{integer} (@emph{decoding,audio})
990Set desired number of audio channels.
991
992@item bits_per_raw_sample @var{integer}
993@item channel_layout @var{integer} (@emph{decoding/encoding,audio})
994
995Possible values:
996@table @samp
997@end table
998@item request_channel_layout @var{integer} (@emph{decoding,audio})
999
1000Possible values:
1001@table @samp
1002@end table
1003@item rc_max_vbv_use @var{float} (@emph{encoding,video})
1004@item rc_min_vbv_use @var{float} (@emph{encoding,video})
1005@item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
1006@item color_primaries @var{integer} (@emph{decoding/encoding,video})
1007@item color_trc @var{integer} (@emph{decoding/encoding,video})
1008@item colorspace @var{integer} (@emph{decoding/encoding,video})
1009@item color_range @var{integer} (@emph{decoding/encoding,video})
1010@item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
1011
1012@item log_level_offset @var{integer}
1013Set the log level offset.
1014
1015@item slices @var{integer} (@emph{encoding,video})
1016Number of slices, used in parallelized encoding.
1017
1018@item thread_type @var{flags} (@emph{decoding/encoding,video})
1019Select multithreading type.
1020
1021Possible values:
1022@table @samp
1023@item slice
1024
1025@item frame
1026
1027@end table
1028@item audio_service_type @var{integer} (@emph{encoding,audio})
1029Set audio service type.
1030
1031Possible values:
1032@table @samp
1033@item ma
1034Main Audio Service
1035@item ef
1036Effects
1037@item vi
1038Visually Impaired
1039@item hi
1040Hearing Impaired
1041@item di
1042Dialogue
1043@item co
1044Commentary
1045@item em
1046Emergency
1047@item vo
1048Voice Over
1049@item ka
1050Karaoke
1051@end table
1052
1053@item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
1054Set sample format audio decoders should prefer. Default value is
1055@code{none}.
1056
1057@item pkt_timebase @var{rational number}
1058
1059@item sub_charenc @var{encoding} (@emph{decoding,subtitles})
1060Set the input subtitles character encoding.
1061
1062@item field_order @var{field_order} (@emph{video})
1063Set/override the field order of the video.
1064Possible values:
1065@table @samp
1066@item progressive
1067Progressive video
1068@item tt
1069Interlaced video, top field coded and displayed first
1070@item bb
1071Interlaced video, bottom field coded and displayed first
1072@item tb
1073Interlaced video, top coded first, bottom displayed first
1074@item bt
1075Interlaced video, bottom coded first, top displayed first
1076@end table
1077
1078@item skip_alpha @var{integer} (@emph{decoding,video})
1079Set to 1 to disable processing alpha (transparency). This works like the
1080@samp{gray} flag in the @option{flags} option which skips chroma information
1081instead of alpha. Default is 0.
1082@end table
1083
1084@c man end CODEC OPTIONS
1085
1086@include decoders.texi
1087@include encoders.texi
1088