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