doc/codecs: Add ignorecrop
[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 dts
840
841 @item dts_es
842
843 @item dts_96_24
844
845 @item dts_hd_hra
846
847 @item dts_hd_ma
848
849 @end table
850
851 @item level @var{integer} (@emph{encoding,audio,video})
852
853 Possible values:
854 @table @samp
855 @item unknown
856
857 @end table
858
859 @item lowres @var{integer} (@emph{decoding,audio,video})
860 Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
861
862 @item skip_threshold @var{integer} (@emph{encoding,video})
863 Set frame skip threshold.
864
865 @item skip_factor @var{integer} (@emph{encoding,video})
866 Set frame skip factor.
867
868 @item skip_exp @var{integer} (@emph{encoding,video})
869 Set frame skip exponent.
870
871 @item skipcmp @var{integer} (@emph{encoding,video})
872 Set frame skip compare function.
873
874 Possible values:
875 @table @samp
876 @item sad
877 sum of absolute differences, fast (default)
878 @item sse
879 sum of squared errors
880 @item satd
881 sum of absolute Hadamard transformed differences
882 @item dct
883 sum of absolute DCT transformed differences
884 @item psnr
885 sum of squared quantization errors (avoid, low quality)
886 @item bit
887 number of bits needed for the block
888 @item rd
889 rate distortion optimal, slow
890 @item zero
891 0
892 @item vsad
893 sum of absolute vertical differences
894 @item vsse
895 sum of squared vertical differences
896 @item nsse
897 noise preserving sum of squared differences
898 @item w53
899 5/3 wavelet, only used in snow
900 @item w97
901 9/7 wavelet, only used in snow
902 @item dctmax
903
904 @item chroma
905
906 @end table
907
908 @item border_mask @var{float} (@emph{encoding,video})
909 Increase the quantizer for macroblocks close to borders.
910
911 @item mblmin @var{integer} (@emph{encoding,video})
912 Set min macroblock lagrange factor (VBR).
913
914 @item mblmax @var{integer} (@emph{encoding,video})
915 Set max macroblock lagrange factor (VBR).
916
917 @item mepc @var{integer} (@emph{encoding,video})
918 Set motion estimation bitrate penalty compensation (1.0 = 256).
919
920 @item skip_loop_filter @var{integer} (@emph{decoding,video})
921 @item skip_idct        @var{integer} (@emph{decoding,video})
922 @item skip_frame       @var{integer} (@emph{decoding,video})
923
924 Make decoder discard processing depending on the frame type selected
925 by the option value.
926
927 @option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
928 skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
929
930 Possible values:
931 @table @samp
932 @item none
933 Discard no frame.
934
935 @item default
936 Discard useless frames like 0-sized frames.
937
938 @item noref
939 Discard all non-reference frames.
940
941 @item bidir
942 Discard all bidirectional frames.
943
944 @item nokey
945 Discard all frames excepts keyframes.
946
947 @item all
948 Discard all frames.
949 @end table
950
951 Default value is @samp{default}.
952
953 @item bidir_refine @var{integer} (@emph{encoding,video})
954 Refine the two motion vectors used in bidirectional macroblocks.
955
956 @item brd_scale @var{integer} (@emph{encoding,video})
957 Downscale frames for dynamic B-frame decision.
958
959 @item keyint_min @var{integer} (@emph{encoding,video})
960 Set minimum interval between IDR-frames.
961
962 @item refs @var{integer} (@emph{encoding,video})
963 Set reference frames to consider for motion compensation.
964
965 @item chromaoffset @var{integer} (@emph{encoding,video})
966 Set chroma qp offset from luma.
967
968 @item trellis @var{integer} (@emph{encoding,audio,video})
969 Set rate-distortion optimal quantization.
970
971 @item sc_factor @var{integer} (@emph{encoding,video})
972 Set value multiplied by qscale for each frame and added to
973 scene_change_score.
974
975 @item mv0_threshold @var{integer} (@emph{encoding,video})
976 @item b_sensitivity @var{integer} (@emph{encoding,video})
977 Adjust sensitivity of b_frame_strategy 1.
978
979 @item compression_level @var{integer} (@emph{encoding,audio,video})
980 @item min_prediction_order @var{integer} (@emph{encoding,audio})
981 @item max_prediction_order @var{integer} (@emph{encoding,audio})
982 @item timecode_frame_start @var{integer} (@emph{encoding,video})
983 Set GOP timecode frame start number, in non drop frame format.
984
985 @item request_channels @var{integer} (@emph{decoding,audio})
986 Set desired number of audio channels.
987
988 @item bits_per_raw_sample @var{integer}
989 @item channel_layout @var{integer} (@emph{decoding/encoding,audio})
990
991 Possible values:
992 @table @samp
993 @end table
994 @item request_channel_layout @var{integer} (@emph{decoding,audio})
995
996 Possible values:
997 @table @samp
998 @end table
999 @item rc_max_vbv_use @var{float} (@emph{encoding,video})
1000 @item rc_min_vbv_use @var{float} (@emph{encoding,video})
1001 @item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
1002 @item color_primaries @var{integer} (@emph{decoding/encoding,video})
1003 @item color_trc @var{integer} (@emph{decoding/encoding,video})
1004 @item colorspace @var{integer} (@emph{decoding/encoding,video})
1005 @item color_range @var{integer} (@emph{decoding/encoding,video})
1006 @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
1007
1008 @item log_level_offset @var{integer}
1009 Set the log level offset.
1010
1011 @item slices @var{integer} (@emph{encoding,video})
1012 Number of slices, used in parallelized encoding.
1013
1014 @item thread_type @var{flags} (@emph{decoding/encoding,video})
1015 Select multithreading type.
1016
1017 Possible values:
1018 @table @samp
1019 @item slice
1020
1021 @item frame
1022
1023 @end table
1024 @item audio_service_type @var{integer} (@emph{encoding,audio})
1025 Set audio service type.
1026
1027 Possible values:
1028 @table @samp
1029 @item ma
1030 Main Audio Service
1031 @item ef
1032 Effects
1033 @item vi
1034 Visually Impaired
1035 @item hi
1036 Hearing Impaired
1037 @item di
1038 Dialogue
1039 @item co
1040 Commentary
1041 @item em
1042 Emergency
1043 @item vo
1044 Voice Over
1045 @item ka
1046 Karaoke
1047 @end table
1048
1049 @item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
1050 Set sample format audio decoders should prefer. Default value is
1051 @code{none}.
1052
1053 @item pkt_timebase @var{rational number}
1054
1055 @item sub_charenc @var{encoding} (@emph{decoding,subtitles})
1056 Set the input subtitles character encoding.
1057
1058 @item field_order  @var{field_order} (@emph{video})
1059 Set/override the field order of the video.
1060 Possible values:
1061 @table @samp
1062 @item progressive
1063 Progressive video
1064 @item tt
1065 Interlaced video, top field coded and displayed first
1066 @item bb
1067 Interlaced video, bottom field coded and displayed first
1068 @item tb
1069 Interlaced video, top coded first, bottom displayed first
1070 @item bt
1071 Interlaced video, bottom coded first, top displayed first
1072 @end table
1073
1074 @item skip_alpha @var{integer} (@emph{decoding,video})
1075 causes alpha plane not to be decoded, like "gray" which skips chroma.
1076 @end table
1077
1078 @c man end CODEC OPTIONS
1079
1080 @include decoders.texi
1081 @include encoders.texi