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