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