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