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