Imported Debian version 2.4.3~trusty1
[deb_ffmpeg.git] / ffmpeg / doc / codecs.texi
CommitLineData
2ba45a60
DM
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
501This option is deprecated, see the codecview filter instead.
502
503Possible values:
504@table @samp
505@item pf
506forward predicted MVs of P-frames
507@item bf
508forward predicted MVs of B-frames
509@item bb
510backward predicted MVs of B-frames
511@end table
512
513@item cmp @var{integer} (@emph{encoding,video})
514Set full pel me compare function.
515
516Possible values:
517@table @samp
518@item sad
519sum of absolute differences, fast (default)
520@item sse
521sum of squared errors
522@item satd
523sum of absolute Hadamard transformed differences
524@item dct
525sum of absolute DCT transformed differences
526@item psnr
527sum of squared quantization errors (avoid, low quality)
528@item bit
529number of bits needed for the block
530@item rd
531rate distortion optimal, slow
532@item zero
5330
534@item vsad
535sum of absolute vertical differences
536@item vsse
537sum of squared vertical differences
538@item nsse
539noise preserving sum of squared differences
540@item w53
5415/3 wavelet, only used in snow
542@item w97
5439/7 wavelet, only used in snow
544@item dctmax
545
546@item chroma
547
548@end table
549
550@item subcmp @var{integer} (@emph{encoding,video})
551Set sub pel me compare function.
552
553Possible values:
554@table @samp
555@item sad
556sum of absolute differences, fast (default)
557@item sse
558sum of squared errors
559@item satd
560sum of absolute Hadamard transformed differences
561@item dct
562sum of absolute DCT transformed differences
563@item psnr
564sum of squared quantization errors (avoid, low quality)
565@item bit
566number of bits needed for the block
567@item rd
568rate distortion optimal, slow
569@item zero
5700
571@item vsad
572sum of absolute vertical differences
573@item vsse
574sum of squared vertical differences
575@item nsse
576noise preserving sum of squared differences
577@item w53
5785/3 wavelet, only used in snow
579@item w97
5809/7 wavelet, only used in snow
581@item dctmax
582
583@item chroma
584
585@end table
586
587@item mbcmp @var{integer} (@emph{encoding,video})
588Set macroblock compare function.
589
590Possible values:
591@table @samp
592@item sad
593sum of absolute differences, fast (default)
594@item sse
595sum of squared errors
596@item satd
597sum of absolute Hadamard transformed differences
598@item dct
599sum of absolute DCT transformed differences
600@item psnr
601sum of squared quantization errors (avoid, low quality)
602@item bit
603number of bits needed for the block
604@item rd
605rate distortion optimal, slow
606@item zero
6070
608@item vsad
609sum of absolute vertical differences
610@item vsse
611sum of squared vertical differences
612@item nsse
613noise preserving sum of squared differences
614@item w53
6155/3 wavelet, only used in snow
616@item w97
6179/7 wavelet, only used in snow
618@item dctmax
619
620@item chroma
621
622@end table
623
624@item ildctcmp @var{integer} (@emph{encoding,video})
625Set interlaced dct compare function.
626
627Possible values:
628@table @samp
629@item sad
630sum of absolute differences, fast (default)
631@item sse
632sum of squared errors
633@item satd
634sum of absolute Hadamard transformed differences
635@item dct
636sum of absolute DCT transformed differences
637@item psnr
638sum of squared quantization errors (avoid, low quality)
639@item bit
640number of bits needed for the block
641@item rd
642rate distortion optimal, slow
643@item zero
6440
645@item vsad
646sum of absolute vertical differences
647@item vsse
648sum of squared vertical differences
649@item nsse
650noise preserving sum of squared differences
651@item w53
6525/3 wavelet, only used in snow
653@item w97
6549/7 wavelet, only used in snow
655@item dctmax
656
657@item chroma
658
659@end table
660
661@item dia_size @var{integer} (@emph{encoding,video})
662Set diamond type & size for motion estimation.
663
664@item last_pred @var{integer} (@emph{encoding,video})
665Set amount of motion predictors from the previous frame.
666
667@item preme @var{integer} (@emph{encoding,video})
668Set pre motion estimation.
669
670@item precmp @var{integer} (@emph{encoding,video})
671Set pre motion estimation compare function.
672
673Possible values:
674@table @samp
675@item sad
676sum of absolute differences, fast (default)
677@item sse
678sum of squared errors
679@item satd
680sum of absolute Hadamard transformed differences
681@item dct
682sum of absolute DCT transformed differences
683@item psnr
684sum of squared quantization errors (avoid, low quality)
685@item bit
686number of bits needed for the block
687@item rd
688rate distortion optimal, slow
689@item zero
6900
691@item vsad
692sum of absolute vertical differences
693@item vsse
694sum of squared vertical differences
695@item nsse
696noise preserving sum of squared differences
697@item w53
6985/3 wavelet, only used in snow
699@item w97
7009/7 wavelet, only used in snow
701@item dctmax
702
703@item chroma
704
705@end table
706
707@item pre_dia_size @var{integer} (@emph{encoding,video})
708Set diamond type & size for motion estimation pre-pass.
709
710@item subq @var{integer} (@emph{encoding,video})
711Set sub pel motion estimation quality.
712
713@item dtg_active_format @var{integer}
714
715@item me_range @var{integer} (@emph{encoding,video})
716Set limit motion vectors range (1023 for DivX player).
717
718@item ibias @var{integer} (@emph{encoding,video})
719Set intra quant bias.
720
721@item pbias @var{integer} (@emph{encoding,video})
722Set inter quant bias.
723
724@item color_table_id @var{integer}
725
726@item global_quality @var{integer} (@emph{encoding,audio,video})
727
728@item coder @var{integer} (@emph{encoding,video})
729
730Possible values:
731@table @samp
732@item vlc
733variable length coder / huffman coder
734@item ac
735arithmetic coder
736@item raw
737raw (no encoding)
738@item rle
739run-length coder
740@item deflate
741deflate-based coder
742@end table
743
744@item context @var{integer} (@emph{encoding,video})
745Set context model.
746
747@item slice_flags @var{integer}
748
749@item xvmc_acceleration @var{integer}
750
751@item mbd @var{integer} (@emph{encoding,video})
752Set macroblock decision algorithm (high quality mode).
753
754Possible values:
755@table @samp
756@item simple
757use mbcmp (default)
758@item bits
759use fewest bits
760@item rd
761use best rate distortion
762@end table
763
764@item stream_codec_tag @var{integer}
765
766@item sc_threshold @var{integer} (@emph{encoding,video})
767Set scene change threshold.
768
769@item lmin @var{integer} (@emph{encoding,video})
770Set min lagrange factor (VBR).
771
772@item lmax @var{integer} (@emph{encoding,video})
773Set max lagrange factor (VBR).
774
775@item nr @var{integer} (@emph{encoding,video})
776Set noise reduction.
777
778@item rc_init_occupancy @var{integer} (@emph{encoding,video})
779Set number of bits which should be loaded into the rc buffer before
780decoding starts.
781
782@item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
783
784Possible values:
785@table @samp
786@item fast
787Allow non spec compliant speedup tricks.
788@item sgop
789Deprecated, use mpegvideo private options instead.
790@item noout
791Skip bitstream encoding.
792@item ignorecrop
793Ignore cropping information from sps.
794@item local_header
795Place global headers at every keyframe instead of in extradata.
796@item chunks
797Frame data might be split into multiple chunks.
798@item showall
799Show all frames before the first keyframe.
800@item skiprd
801Deprecated, use mpegvideo private options instead.
802@item export_mvs
803Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS})
804for codecs that support it. See also @file{doc/examples/export_mvs.c}.
805@end table
806
807@item error @var{integer} (@emph{encoding,video})
808
809@item qns @var{integer} (@emph{encoding,video})
810Deprecated, use mpegvideo private options instead.
811
812@item threads @var{integer} (@emph{decoding/encoding,video})
813
814Possible values:
815@table @samp
816@item auto
817detect a good number of threads
818@end table
819
820@item me_threshold @var{integer} (@emph{encoding,video})
821Set motion estimation threshold.
822
823@item mb_threshold @var{integer} (@emph{encoding,video})
824Set macroblock threshold.
825
826@item dc @var{integer} (@emph{encoding,video})
827Set intra_dc_precision.
828
829@item nssew @var{integer} (@emph{encoding,video})
830Set nsse weight.
831
832@item skip_top @var{integer} (@emph{decoding,video})
833Set number of macroblock rows at the top which are skipped.
834
835@item skip_bottom @var{integer} (@emph{decoding,video})
836Set number of macroblock rows at the bottom which are skipped.
837
838@item profile @var{integer} (@emph{encoding,audio,video})
839
840Possible values:
841@table @samp
842@item unknown
843
844@item aac_main
845
846@item aac_low
847
848@item aac_ssr
849
850@item aac_ltp
851
852@item aac_he
853
854@item aac_he_v2
855
856@item aac_ld
857
858@item aac_eld
859
860@item mpeg2_aac_low
861
862@item mpeg2_aac_he
863
864@item dts
865
866@item dts_es
867
868@item dts_96_24
869
870@item dts_hd_hra
871
872@item dts_hd_ma
873
874@end table
875
876@item level @var{integer} (@emph{encoding,audio,video})
877
878Possible values:
879@table @samp
880@item unknown
881
882@end table
883
884@item lowres @var{integer} (@emph{decoding,audio,video})
885Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
886
887@item skip_threshold @var{integer} (@emph{encoding,video})
888Set frame skip threshold.
889
890@item skip_factor @var{integer} (@emph{encoding,video})
891Set frame skip factor.
892
893@item skip_exp @var{integer} (@emph{encoding,video})
894Set frame skip exponent.
895Negative values behave identical to the corresponding positive ones, except
896that the score is normalized.
897Positive values exist primarily for compatibility reasons and are not so useful.
898
899@item skipcmp @var{integer} (@emph{encoding,video})
900Set frame skip compare function.
901
902Possible values:
903@table @samp
904@item sad
905sum of absolute differences, fast (default)
906@item sse
907sum of squared errors
908@item satd
909sum of absolute Hadamard transformed differences
910@item dct
911sum of absolute DCT transformed differences
912@item psnr
913sum of squared quantization errors (avoid, low quality)
914@item bit
915number of bits needed for the block
916@item rd
917rate distortion optimal, slow
918@item zero
9190
920@item vsad
921sum of absolute vertical differences
922@item vsse
923sum of squared vertical differences
924@item nsse
925noise preserving sum of squared differences
926@item w53
9275/3 wavelet, only used in snow
928@item w97
9299/7 wavelet, only used in snow
930@item dctmax
931
932@item chroma
933
934@end table
935
936@item border_mask @var{float} (@emph{encoding,video})
937Increase the quantizer for macroblocks close to borders.
938
939@item mblmin @var{integer} (@emph{encoding,video})
940Set min macroblock lagrange factor (VBR).
941
942@item mblmax @var{integer} (@emph{encoding,video})
943Set max macroblock lagrange factor (VBR).
944
945@item mepc @var{integer} (@emph{encoding,video})
946Set motion estimation bitrate penalty compensation (1.0 = 256).
947
948@item skip_loop_filter @var{integer} (@emph{decoding,video})
949@item skip_idct @var{integer} (@emph{decoding,video})
950@item skip_frame @var{integer} (@emph{decoding,video})
951
952Make decoder discard processing depending on the frame type selected
953by the option value.
954
955@option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
956skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
957
958Possible values:
959@table @samp
960@item none
961Discard no frame.
962
963@item default
964Discard useless frames like 0-sized frames.
965
966@item noref
967Discard all non-reference frames.
968
969@item bidir
970Discard all bidirectional frames.
971
972@item nokey
973Discard all frames excepts keyframes.
974
975@item all
976Discard all frames.
977@end table
978
979Default value is @samp{default}.
980
981@item bidir_refine @var{integer} (@emph{encoding,video})
982Refine the two motion vectors used in bidirectional macroblocks.
983
984@item brd_scale @var{integer} (@emph{encoding,video})
985Downscale frames for dynamic B-frame decision.
986
987@item keyint_min @var{integer} (@emph{encoding,video})
988Set minimum interval between IDR-frames.
989
990@item refs @var{integer} (@emph{encoding,video})
991Set reference frames to consider for motion compensation.
992
993@item chromaoffset @var{integer} (@emph{encoding,video})
994Set chroma qp offset from luma.
995
996@item trellis @var{integer} (@emph{encoding,audio,video})
997Set rate-distortion optimal quantization.
998
999@item sc_factor @var{integer} (@emph{encoding,video})
1000Set value multiplied by qscale for each frame and added to
1001scene_change_score.
1002
1003@item mv0_threshold @var{integer} (@emph{encoding,video})
1004@item b_sensitivity @var{integer} (@emph{encoding,video})
1005Adjust sensitivity of b_frame_strategy 1.
1006
1007@item compression_level @var{integer} (@emph{encoding,audio,video})
1008@item min_prediction_order @var{integer} (@emph{encoding,audio})
1009@item max_prediction_order @var{integer} (@emph{encoding,audio})
1010@item timecode_frame_start @var{integer} (@emph{encoding,video})
1011Set GOP timecode frame start number, in non drop frame format.
1012
1013@item request_channels @var{integer} (@emph{decoding,audio})
1014Set desired number of audio channels.
1015
1016@item bits_per_raw_sample @var{integer}
1017@item channel_layout @var{integer} (@emph{decoding/encoding,audio})
1018
1019Possible values:
1020@table @samp
1021@end table
1022@item request_channel_layout @var{integer} (@emph{decoding,audio})
1023
1024Possible values:
1025@table @samp
1026@end table
1027@item rc_max_vbv_use @var{float} (@emph{encoding,video})
1028@item rc_min_vbv_use @var{float} (@emph{encoding,video})
1029@item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
1030@item color_primaries @var{integer} (@emph{decoding/encoding,video})
1031@item color_trc @var{integer} (@emph{decoding/encoding,video})
1032@item colorspace @var{integer} (@emph{decoding/encoding,video})
1033@item color_range @var{integer} (@emph{decoding/encoding,video})
1034@item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
1035
1036@item log_level_offset @var{integer}
1037Set the log level offset.
1038
1039@item slices @var{integer} (@emph{encoding,video})
1040Number of slices, used in parallelized encoding.
1041
1042@item thread_type @var{flags} (@emph{decoding/encoding,video})
1043Select which multithreading methods to use.
1044
1045Use of @samp{frame} will increase decoding delay by one frame per
1046thread, so clients which cannot provide future frames should not use
1047it.
1048
1049Possible values:
1050@table @samp
1051@item slice
1052Decode more than one part of a single frame at once.
1053
1054Multithreading using slices works only when the video was encoded with
1055slices.
1056
1057@item frame
1058Decode more than one frame at once.
1059@end table
1060
1061Default value is @samp{slice+frame}.
1062
1063@item audio_service_type @var{integer} (@emph{encoding,audio})
1064Set audio service type.
1065
1066Possible values:
1067@table @samp
1068@item ma
1069Main Audio Service
1070@item ef
1071Effects
1072@item vi
1073Visually Impaired
1074@item hi
1075Hearing Impaired
1076@item di
1077Dialogue
1078@item co
1079Commentary
1080@item em
1081Emergency
1082@item vo
1083Voice Over
1084@item ka
1085Karaoke
1086@end table
1087
1088@item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
1089Set sample format audio decoders should prefer. Default value is
1090@code{none}.
1091
1092@item pkt_timebase @var{rational number}
1093
1094@item sub_charenc @var{encoding} (@emph{decoding,subtitles})
1095Set the input subtitles character encoding.
1096
1097@item field_order @var{field_order} (@emph{video})
1098Set/override the field order of the video.
1099Possible values:
1100@table @samp
1101@item progressive
1102Progressive video
1103@item tt
1104Interlaced video, top field coded and displayed first
1105@item bb
1106Interlaced video, bottom field coded and displayed first
1107@item tb
1108Interlaced video, top coded first, bottom displayed first
1109@item bt
1110Interlaced video, bottom coded first, top displayed first
1111@end table
1112
1113@item skip_alpha @var{integer} (@emph{decoding,video})
1114Set to 1 to disable processing alpha (transparency). This works like the
1115@samp{gray} flag in the @option{flags} option which skips chroma information
1116instead of alpha. Default is 0.
1117@end table
1118
1119@c man end CODEC OPTIONS
1120
1121@ifclear config-writeonly
1122@include decoders.texi
1123@end ifclear
1124@ifclear config-readonly
1125@include encoders.texi
1126@end ifclear