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