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