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