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