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