Commit | Line | Data |
---|---|---|
2ba45a60 DM |
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 | |
f6fa7814 DM |
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. | |
2ba45a60 DM |
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 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 skip | |
479 | ||
480 | @item startcode | |
481 | ||
482 | @item pts | |
483 | ||
484 | @item er | |
485 | error recognition | |
486 | @item mmco | |
487 | memory management control operations (H.264) | |
488 | @item bugs | |
489 | ||
490 | @item vis_qp | |
491 | visualize quantization parameter (QP), lower QP are tinted greener | |
492 | @item vis_mb_type | |
493 | visualize block types | |
494 | @item buffers | |
495 | picture buffer allocations | |
496 | @item thread_ops | |
497 | threading operations | |
498 | @end table | |
499 | ||
500 | @item vismv @var{integer} (@emph{decoding,video}) | |
501 | Visualize motion vectors (MVs). | |
502 | ||
503 | This option is deprecated, see the codecview filter instead. | |
504 | ||
505 | Possible values: | |
506 | @table @samp | |
507 | @item pf | |
508 | forward predicted MVs of P-frames | |
509 | @item bf | |
510 | forward predicted MVs of B-frames | |
511 | @item bb | |
512 | backward predicted MVs of B-frames | |
513 | @end table | |
514 | ||
515 | @item cmp @var{integer} (@emph{encoding,video}) | |
516 | Set full pel me compare function. | |
517 | ||
518 | Possible values: | |
519 | @table @samp | |
520 | @item sad | |
521 | sum of absolute differences, fast (default) | |
522 | @item sse | |
523 | sum of squared errors | |
524 | @item satd | |
525 | sum of absolute Hadamard transformed differences | |
526 | @item dct | |
527 | sum of absolute DCT transformed differences | |
528 | @item psnr | |
529 | sum of squared quantization errors (avoid, low quality) | |
530 | @item bit | |
531 | number of bits needed for the block | |
532 | @item rd | |
533 | rate distortion optimal, slow | |
534 | @item zero | |
535 | 0 | |
536 | @item vsad | |
537 | sum of absolute vertical differences | |
538 | @item vsse | |
539 | sum of squared vertical differences | |
540 | @item nsse | |
541 | noise preserving sum of squared differences | |
542 | @item w53 | |
543 | 5/3 wavelet, only used in snow | |
544 | @item w97 | |
545 | 9/7 wavelet, only used in snow | |
546 | @item dctmax | |
547 | ||
548 | @item chroma | |
549 | ||
550 | @end table | |
551 | ||
552 | @item subcmp @var{integer} (@emph{encoding,video}) | |
553 | Set sub pel me compare function. | |
554 | ||
555 | Possible values: | |
556 | @table @samp | |
557 | @item sad | |
558 | sum of absolute differences, fast (default) | |
559 | @item sse | |
560 | sum of squared errors | |
561 | @item satd | |
562 | sum of absolute Hadamard transformed differences | |
563 | @item dct | |
564 | sum of absolute DCT transformed differences | |
565 | @item psnr | |
566 | sum of squared quantization errors (avoid, low quality) | |
567 | @item bit | |
568 | number of bits needed for the block | |
569 | @item rd | |
570 | rate distortion optimal, slow | |
571 | @item zero | |
572 | 0 | |
573 | @item vsad | |
574 | sum of absolute vertical differences | |
575 | @item vsse | |
576 | sum of squared vertical differences | |
577 | @item nsse | |
578 | noise preserving sum of squared differences | |
579 | @item w53 | |
580 | 5/3 wavelet, only used in snow | |
581 | @item w97 | |
582 | 9/7 wavelet, only used in snow | |
583 | @item dctmax | |
584 | ||
585 | @item chroma | |
586 | ||
587 | @end table | |
588 | ||
589 | @item mbcmp @var{integer} (@emph{encoding,video}) | |
590 | Set macroblock compare function. | |
591 | ||
592 | Possible values: | |
593 | @table @samp | |
594 | @item sad | |
595 | sum of absolute differences, fast (default) | |
596 | @item sse | |
597 | sum of squared errors | |
598 | @item satd | |
599 | sum of absolute Hadamard transformed differences | |
600 | @item dct | |
601 | sum of absolute DCT transformed differences | |
602 | @item psnr | |
603 | sum of squared quantization errors (avoid, low quality) | |
604 | @item bit | |
605 | number of bits needed for the block | |
606 | @item rd | |
607 | rate distortion optimal, slow | |
608 | @item zero | |
609 | 0 | |
610 | @item vsad | |
611 | sum of absolute vertical differences | |
612 | @item vsse | |
613 | sum of squared vertical differences | |
614 | @item nsse | |
615 | noise preserving sum of squared differences | |
616 | @item w53 | |
617 | 5/3 wavelet, only used in snow | |
618 | @item w97 | |
619 | 9/7 wavelet, only used in snow | |
620 | @item dctmax | |
621 | ||
622 | @item chroma | |
623 | ||
624 | @end table | |
625 | ||
626 | @item ildctcmp @var{integer} (@emph{encoding,video}) | |
627 | Set interlaced dct compare function. | |
628 | ||
629 | Possible values: | |
630 | @table @samp | |
631 | @item sad | |
632 | sum of absolute differences, fast (default) | |
633 | @item sse | |
634 | sum of squared errors | |
635 | @item satd | |
636 | sum of absolute Hadamard transformed differences | |
637 | @item dct | |
638 | sum of absolute DCT transformed differences | |
639 | @item psnr | |
640 | sum of squared quantization errors (avoid, low quality) | |
641 | @item bit | |
642 | number of bits needed for the block | |
643 | @item rd | |
644 | rate distortion optimal, slow | |
645 | @item zero | |
646 | 0 | |
647 | @item vsad | |
648 | sum of absolute vertical differences | |
649 | @item vsse | |
650 | sum of squared vertical differences | |
651 | @item nsse | |
652 | noise preserving sum of squared differences | |
653 | @item w53 | |
654 | 5/3 wavelet, only used in snow | |
655 | @item w97 | |
656 | 9/7 wavelet, only used in snow | |
657 | @item dctmax | |
658 | ||
659 | @item chroma | |
660 | ||
661 | @end table | |
662 | ||
663 | @item dia_size @var{integer} (@emph{encoding,video}) | |
664 | Set diamond type & size for motion estimation. | |
665 | ||
666 | @item last_pred @var{integer} (@emph{encoding,video}) | |
667 | Set amount of motion predictors from the previous frame. | |
668 | ||
669 | @item preme @var{integer} (@emph{encoding,video}) | |
670 | Set pre motion estimation. | |
671 | ||
672 | @item precmp @var{integer} (@emph{encoding,video}) | |
673 | Set pre motion estimation compare function. | |
674 | ||
675 | Possible values: | |
676 | @table @samp | |
677 | @item sad | |
678 | sum of absolute differences, fast (default) | |
679 | @item sse | |
680 | sum of squared errors | |
681 | @item satd | |
682 | sum of absolute Hadamard transformed differences | |
683 | @item dct | |
684 | sum of absolute DCT transformed differences | |
685 | @item psnr | |
686 | sum of squared quantization errors (avoid, low quality) | |
687 | @item bit | |
688 | number of bits needed for the block | |
689 | @item rd | |
690 | rate distortion optimal, slow | |
691 | @item zero | |
692 | 0 | |
693 | @item vsad | |
694 | sum of absolute vertical differences | |
695 | @item vsse | |
696 | sum of squared vertical differences | |
697 | @item nsse | |
698 | noise preserving sum of squared differences | |
699 | @item w53 | |
700 | 5/3 wavelet, only used in snow | |
701 | @item w97 | |
702 | 9/7 wavelet, only used in snow | |
703 | @item dctmax | |
704 | ||
705 | @item chroma | |
706 | ||
707 | @end table | |
708 | ||
709 | @item pre_dia_size @var{integer} (@emph{encoding,video}) | |
710 | Set diamond type & size for motion estimation pre-pass. | |
711 | ||
712 | @item subq @var{integer} (@emph{encoding,video}) | |
713 | Set sub pel motion estimation quality. | |
714 | ||
715 | @item dtg_active_format @var{integer} | |
716 | ||
717 | @item me_range @var{integer} (@emph{encoding,video}) | |
718 | Set limit motion vectors range (1023 for DivX player). | |
719 | ||
720 | @item ibias @var{integer} (@emph{encoding,video}) | |
721 | Set intra quant bias. | |
722 | ||
723 | @item pbias @var{integer} (@emph{encoding,video}) | |
724 | Set inter quant bias. | |
725 | ||
726 | @item color_table_id @var{integer} | |
727 | ||
728 | @item global_quality @var{integer} (@emph{encoding,audio,video}) | |
729 | ||
730 | @item coder @var{integer} (@emph{encoding,video}) | |
731 | ||
732 | Possible values: | |
733 | @table @samp | |
734 | @item vlc | |
735 | variable length coder / huffman coder | |
736 | @item ac | |
737 | arithmetic coder | |
738 | @item raw | |
739 | raw (no encoding) | |
740 | @item rle | |
741 | run-length coder | |
742 | @item deflate | |
743 | deflate-based coder | |
744 | @end table | |
745 | ||
746 | @item context @var{integer} (@emph{encoding,video}) | |
747 | Set context model. | |
748 | ||
749 | @item slice_flags @var{integer} | |
750 | ||
751 | @item xvmc_acceleration @var{integer} | |
752 | ||
753 | @item mbd @var{integer} (@emph{encoding,video}) | |
754 | Set macroblock decision algorithm (high quality mode). | |
755 | ||
756 | Possible values: | |
757 | @table @samp | |
758 | @item simple | |
759 | use mbcmp (default) | |
760 | @item bits | |
761 | use fewest bits | |
762 | @item rd | |
763 | use best rate distortion | |
764 | @end table | |
765 | ||
766 | @item stream_codec_tag @var{integer} | |
767 | ||
768 | @item sc_threshold @var{integer} (@emph{encoding,video}) | |
769 | Set scene change threshold. | |
770 | ||
771 | @item lmin @var{integer} (@emph{encoding,video}) | |
772 | Set min lagrange factor (VBR). | |
773 | ||
774 | @item lmax @var{integer} (@emph{encoding,video}) | |
775 | Set max lagrange factor (VBR). | |
776 | ||
777 | @item nr @var{integer} (@emph{encoding,video}) | |
778 | Set noise reduction. | |
779 | ||
780 | @item rc_init_occupancy @var{integer} (@emph{encoding,video}) | |
781 | Set number of bits which should be loaded into the rc buffer before | |
782 | decoding starts. | |
783 | ||
784 | @item flags2 @var{flags} (@emph{decoding/encoding,audio,video}) | |
785 | ||
786 | Possible values: | |
787 | @table @samp | |
788 | @item fast | |
789 | Allow non spec compliant speedup tricks. | |
790 | @item sgop | |
791 | Deprecated, use mpegvideo private options instead. | |
792 | @item noout | |
793 | Skip bitstream encoding. | |
794 | @item ignorecrop | |
795 | Ignore cropping information from sps. | |
796 | @item local_header | |
797 | Place global headers at every keyframe instead of in extradata. | |
798 | @item chunks | |
799 | Frame data might be split into multiple chunks. | |
800 | @item showall | |
801 | Show all frames before the first keyframe. | |
802 | @item skiprd | |
803 | Deprecated, use mpegvideo private options instead. | |
804 | @item export_mvs | |
805 | Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS}) | |
806 | for codecs that support it. See also @file{doc/examples/export_mvs.c}. | |
807 | @end table | |
808 | ||
809 | @item error @var{integer} (@emph{encoding,video}) | |
810 | ||
811 | @item qns @var{integer} (@emph{encoding,video}) | |
812 | Deprecated, use mpegvideo private options instead. | |
813 | ||
814 | @item threads @var{integer} (@emph{decoding/encoding,video}) | |
815 | ||
816 | Possible values: | |
817 | @table @samp | |
818 | @item auto | |
819 | detect a good number of threads | |
820 | @end table | |
821 | ||
822 | @item me_threshold @var{integer} (@emph{encoding,video}) | |
823 | Set motion estimation threshold. | |
824 | ||
825 | @item mb_threshold @var{integer} (@emph{encoding,video}) | |
826 | Set macroblock threshold. | |
827 | ||
828 | @item dc @var{integer} (@emph{encoding,video}) | |
829 | Set intra_dc_precision. | |
830 | ||
831 | @item nssew @var{integer} (@emph{encoding,video}) | |
832 | Set nsse weight. | |
833 | ||
834 | @item skip_top @var{integer} (@emph{decoding,video}) | |
835 | Set number of macroblock rows at the top which are skipped. | |
836 | ||
837 | @item skip_bottom @var{integer} (@emph{decoding,video}) | |
838 | Set number of macroblock rows at the bottom which are skipped. | |
839 | ||
840 | @item profile @var{integer} (@emph{encoding,audio,video}) | |
841 | ||
842 | Possible values: | |
843 | @table @samp | |
844 | @item unknown | |
845 | ||
846 | @item aac_main | |
847 | ||
848 | @item aac_low | |
849 | ||
850 | @item aac_ssr | |
851 | ||
852 | @item aac_ltp | |
853 | ||
854 | @item aac_he | |
855 | ||
856 | @item aac_he_v2 | |
857 | ||
858 | @item aac_ld | |
859 | ||
860 | @item aac_eld | |
861 | ||
862 | @item mpeg2_aac_low | |
863 | ||
864 | @item mpeg2_aac_he | |
865 | ||
866 | @item dts | |
867 | ||
868 | @item dts_es | |
869 | ||
870 | @item dts_96_24 | |
871 | ||
872 | @item dts_hd_hra | |
873 | ||
874 | @item dts_hd_ma | |
875 | ||
876 | @end table | |
877 | ||
878 | @item level @var{integer} (@emph{encoding,audio,video}) | |
879 | ||
880 | Possible values: | |
881 | @table @samp | |
882 | @item unknown | |
883 | ||
884 | @end table | |
885 | ||
886 | @item lowres @var{integer} (@emph{decoding,audio,video}) | |
887 | Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions. | |
888 | ||
889 | @item skip_threshold @var{integer} (@emph{encoding,video}) | |
890 | Set frame skip threshold. | |
891 | ||
892 | @item skip_factor @var{integer} (@emph{encoding,video}) | |
893 | Set frame skip factor. | |
894 | ||
895 | @item skip_exp @var{integer} (@emph{encoding,video}) | |
896 | Set frame skip exponent. | |
897 | Negative values behave identical to the corresponding positive ones, except | |
898 | that the score is normalized. | |
899 | Positive values exist primarily for compatibility reasons and are not so useful. | |
900 | ||
901 | @item skipcmp @var{integer} (@emph{encoding,video}) | |
902 | Set frame skip compare function. | |
903 | ||
904 | Possible values: | |
905 | @table @samp | |
906 | @item sad | |
907 | sum of absolute differences, fast (default) | |
908 | @item sse | |
909 | sum of squared errors | |
910 | @item satd | |
911 | sum of absolute Hadamard transformed differences | |
912 | @item dct | |
913 | sum of absolute DCT transformed differences | |
914 | @item psnr | |
915 | sum of squared quantization errors (avoid, low quality) | |
916 | @item bit | |
917 | number of bits needed for the block | |
918 | @item rd | |
919 | rate distortion optimal, slow | |
920 | @item zero | |
921 | 0 | |
922 | @item vsad | |
923 | sum of absolute vertical differences | |
924 | @item vsse | |
925 | sum of squared vertical differences | |
926 | @item nsse | |
927 | noise preserving sum of squared differences | |
928 | @item w53 | |
929 | 5/3 wavelet, only used in snow | |
930 | @item w97 | |
931 | 9/7 wavelet, only used in snow | |
932 | @item dctmax | |
933 | ||
934 | @item chroma | |
935 | ||
936 | @end table | |
937 | ||
938 | @item border_mask @var{float} (@emph{encoding,video}) | |
939 | Increase the quantizer for macroblocks close to borders. | |
940 | ||
941 | @item mblmin @var{integer} (@emph{encoding,video}) | |
942 | Set min macroblock lagrange factor (VBR). | |
943 | ||
944 | @item mblmax @var{integer} (@emph{encoding,video}) | |
945 | Set max macroblock lagrange factor (VBR). | |
946 | ||
947 | @item mepc @var{integer} (@emph{encoding,video}) | |
948 | Set motion estimation bitrate penalty compensation (1.0 = 256). | |
949 | ||
950 | @item skip_loop_filter @var{integer} (@emph{decoding,video}) | |
951 | @item skip_idct @var{integer} (@emph{decoding,video}) | |
952 | @item skip_frame @var{integer} (@emph{decoding,video}) | |
953 | ||
954 | Make decoder discard processing depending on the frame type selected | |
955 | by the option value. | |
956 | ||
957 | @option{skip_loop_filter} skips frame loop filtering, @option{skip_idct} | |
958 | skips frame IDCT/dequantization, @option{skip_frame} skips decoding. | |
959 | ||
960 | Possible values: | |
961 | @table @samp | |
962 | @item none | |
963 | Discard no frame. | |
964 | ||
965 | @item default | |
966 | Discard useless frames like 0-sized frames. | |
967 | ||
968 | @item noref | |
969 | Discard all non-reference frames. | |
970 | ||
971 | @item bidir | |
972 | Discard all bidirectional frames. | |
973 | ||
974 | @item nokey | |
975 | Discard all frames excepts keyframes. | |
976 | ||
977 | @item all | |
978 | Discard all frames. | |
979 | @end table | |
980 | ||
981 | Default value is @samp{default}. | |
982 | ||
983 | @item bidir_refine @var{integer} (@emph{encoding,video}) | |
984 | Refine the two motion vectors used in bidirectional macroblocks. | |
985 | ||
986 | @item brd_scale @var{integer} (@emph{encoding,video}) | |
987 | Downscale frames for dynamic B-frame decision. | |
988 | ||
989 | @item keyint_min @var{integer} (@emph{encoding,video}) | |
990 | Set minimum interval between IDR-frames. | |
991 | ||
992 | @item refs @var{integer} (@emph{encoding,video}) | |
993 | Set reference frames to consider for motion compensation. | |
994 | ||
995 | @item chromaoffset @var{integer} (@emph{encoding,video}) | |
996 | Set chroma qp offset from luma. | |
997 | ||
998 | @item trellis @var{integer} (@emph{encoding,audio,video}) | |
999 | Set rate-distortion optimal quantization. | |
1000 | ||
1001 | @item sc_factor @var{integer} (@emph{encoding,video}) | |
1002 | Set value multiplied by qscale for each frame and added to | |
1003 | scene_change_score. | |
1004 | ||
1005 | @item mv0_threshold @var{integer} (@emph{encoding,video}) | |
1006 | @item b_sensitivity @var{integer} (@emph{encoding,video}) | |
1007 | Adjust sensitivity of b_frame_strategy 1. | |
1008 | ||
1009 | @item compression_level @var{integer} (@emph{encoding,audio,video}) | |
1010 | @item min_prediction_order @var{integer} (@emph{encoding,audio}) | |
1011 | @item max_prediction_order @var{integer} (@emph{encoding,audio}) | |
1012 | @item timecode_frame_start @var{integer} (@emph{encoding,video}) | |
1013 | Set GOP timecode frame start number, in non drop frame format. | |
1014 | ||
1015 | @item request_channels @var{integer} (@emph{decoding,audio}) | |
1016 | Set desired number of audio channels. | |
1017 | ||
1018 | @item bits_per_raw_sample @var{integer} | |
1019 | @item channel_layout @var{integer} (@emph{decoding/encoding,audio}) | |
1020 | ||
1021 | Possible values: | |
1022 | @table @samp | |
1023 | @end table | |
1024 | @item request_channel_layout @var{integer} (@emph{decoding,audio}) | |
1025 | ||
1026 | Possible values: | |
1027 | @table @samp | |
1028 | @end table | |
1029 | @item rc_max_vbv_use @var{float} (@emph{encoding,video}) | |
1030 | @item rc_min_vbv_use @var{float} (@emph{encoding,video}) | |
1031 | @item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video}) | |
1032 | @item color_primaries @var{integer} (@emph{decoding/encoding,video}) | |
1033 | @item color_trc @var{integer} (@emph{decoding/encoding,video}) | |
1034 | @item colorspace @var{integer} (@emph{decoding/encoding,video}) | |
1035 | @item color_range @var{integer} (@emph{decoding/encoding,video}) | |
1036 | @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video}) | |
1037 | ||
1038 | @item log_level_offset @var{integer} | |
1039 | Set the log level offset. | |
1040 | ||
1041 | @item slices @var{integer} (@emph{encoding,video}) | |
1042 | Number of slices, used in parallelized encoding. | |
1043 | ||
1044 | @item thread_type @var{flags} (@emph{decoding/encoding,video}) | |
1045 | Select which multithreading methods to use. | |
1046 | ||
1047 | Use of @samp{frame} will increase decoding delay by one frame per | |
1048 | thread, so clients which cannot provide future frames should not use | |
1049 | it. | |
1050 | ||
1051 | Possible values: | |
1052 | @table @samp | |
1053 | @item slice | |
1054 | Decode more than one part of a single frame at once. | |
1055 | ||
1056 | Multithreading using slices works only when the video was encoded with | |
1057 | slices. | |
1058 | ||
1059 | @item frame | |
1060 | Decode more than one frame at once. | |
1061 | @end table | |
1062 | ||
1063 | Default value is @samp{slice+frame}. | |
1064 | ||
1065 | @item audio_service_type @var{integer} (@emph{encoding,audio}) | |
1066 | Set audio service type. | |
1067 | ||
1068 | Possible values: | |
1069 | @table @samp | |
1070 | @item ma | |
1071 | Main Audio Service | |
1072 | @item ef | |
1073 | Effects | |
1074 | @item vi | |
1075 | Visually Impaired | |
1076 | @item hi | |
1077 | Hearing Impaired | |
1078 | @item di | |
1079 | Dialogue | |
1080 | @item co | |
1081 | Commentary | |
1082 | @item em | |
1083 | Emergency | |
1084 | @item vo | |
1085 | Voice Over | |
1086 | @item ka | |
1087 | Karaoke | |
1088 | @end table | |
1089 | ||
1090 | @item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio}) | |
1091 | Set sample format audio decoders should prefer. Default value is | |
1092 | @code{none}. | |
1093 | ||
1094 | @item pkt_timebase @var{rational number} | |
1095 | ||
1096 | @item sub_charenc @var{encoding} (@emph{decoding,subtitles}) | |
1097 | Set the input subtitles character encoding. | |
1098 | ||
1099 | @item field_order @var{field_order} (@emph{video}) | |
1100 | Set/override the field order of the video. | |
1101 | Possible values: | |
1102 | @table @samp | |
1103 | @item progressive | |
1104 | Progressive video | |
1105 | @item tt | |
1106 | Interlaced video, top field coded and displayed first | |
1107 | @item bb | |
1108 | Interlaced video, bottom field coded and displayed first | |
1109 | @item tb | |
1110 | Interlaced video, top coded first, bottom displayed first | |
1111 | @item bt | |
1112 | Interlaced video, bottom coded first, top displayed first | |
1113 | @end table | |
1114 | ||
1115 | @item skip_alpha @var{integer} (@emph{decoding,video}) | |
1116 | Set to 1 to disable processing alpha (transparency). This works like the | |
1117 | @samp{gray} flag in the @option{flags} option which skips chroma information | |
1118 | instead of alpha. Default is 0. | |
f6fa7814 DM |
1119 | |
1120 | @item codec_whitelist @var{list} (@emph{input}) | |
1121 | "," separated List of allowed decoders. By default all are allowed. | |
1122 | ||
1123 | @item dump_separator @var{string} (@emph{input}) | |
1124 | Separator used to separate the fields printed on the command line about the | |
1125 | Stream parameters. | |
1126 | For example to separate the fields with newlines and indention: | |
1127 | @example | |
1128 | ffprobe -dump_separator " | |
1129 | " -i ~/videos/matrixbench_mpeg2.mpg | |
1130 | @end example | |
1131 | ||
2ba45a60 DM |
1132 | @end table |
1133 | ||
1134 | @c man end CODEC OPTIONS | |
1135 | ||
1136 | @ifclear config-writeonly | |
1137 | @include decoders.texi | |
1138 | @end ifclear | |
1139 | @ifclear config-readonly | |
1140 | @include encoders.texi | |
1141 | @end ifclear |