comparison ffmpeg/doc/ffmpeg-codecs.pod @ 10:6840f77b83aa

commit
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Sun, 21 Apr 2013 10:55:35 +0200
parents
children
comparison
equal deleted inserted replaced
9:ed610a0bbf83 10:6840f77b83aa
1 =head1 NAME
2
3 ffmpeg-codecs - FFmpeg codecs
4
5 =head1 DESCRIPTION
6
7
8 This document describes the codecs (decoders and encoders) provided by
9 the libavcodec library.
10
11
12
13 =head1 CODEC OPTIONS
14
15
16 libavcodec provides some generic global options, which can be set on
17 all the encoders and decoders. In addition each codec may support
18 so-called private options, which are specific for a given codec.
19
20 Sometimes, a global option may only affect a specific kind of codec,
21 and may be unsensical or ignored by another, so you need to be aware
22 of the meaning of the specified options. Also some options are
23 meant only for decoding or encoding.
24
25 Options may be set by specifying -I<option> I<value> in the
26 FFmpeg tools, or by setting the value explicitly in the
27 C<AVCodecContext> options or using the F<libavutil/opt.h> API
28 for programmatic use.
29
30 The list of supported options follow:
31
32
33 =over 4
34
35
36 =item B<b> I<integer> B<(>I<encoding,audio,video>B<)>
37
38 Set bitrate in bits/s. Default value is 200K.
39
40
41 =item B<ab> I<integer> B<(>I<encoding,audio>B<)>
42
43 Set audio bitrate (in bits/s). Default value is 128K.
44
45
46 =item B<bt> I<integer> B<(>I<encoding,video>B<)>
47
48 Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate
49 tolerance specifies how far ratecontrol is willing to deviate from the
50 target average bitrate value. This is not related to min/max
51 bitrate. Lowering tolerance too much has an adverse effect on quality.
52
53
54 =item B<flags> I<flags> B<(>I<decoding/encoding,audio,video,subtitles>B<)>
55
56 Set generic flags.
57
58 Possible values:
59
60 =over 4
61
62
63 =item B<mv4>
64
65 Use four motion vector by macroblock (mpeg4).
66
67 =item B<qpel>
68
69 Use 1/4 pel motion compensation.
70
71 =item B<loop>
72
73 Use loop filter.
74
75 =item B<qscale>
76
77 Use fixed qscale.
78
79 =item B<gmc>
80
81 Use gmc.
82
83 =item B<mv0>
84
85 Always try a mb with mv=E<lt>0,0E<gt>.
86
87 =item B<input_preserved>
88
89
90
91 =item B<pass1>
92
93 Use internal 2pass ratecontrol in first pass mode.
94
95 =item B<pass2>
96
97 Use internal 2pass ratecontrol in second pass mode.
98
99 =item B<gray>
100
101 Only decode/encode grayscale.
102
103 =item B<emu_edge>
104
105 Do not draw edges.
106
107 =item B<psnr>
108
109 Set error[?] variables during encoding.
110
111 =item B<truncated>
112
113
114
115 =item B<naq>
116
117 Normalize adaptive quantization.
118
119 =item B<ildct>
120
121 Use interlaced DCT.
122
123 =item B<low_delay>
124
125 Force low delay.
126
127 =item B<global_header>
128
129 Place global headers in extradata instead of every keyframe.
130
131 =item B<bitexact>
132
133 Use only bitexact stuff (except (I)DCT).
134
135 =item B<aic>
136
137 Apply H263 advanced intra coding / mpeg4 ac prediction.
138
139 =item B<cbp>
140
141 Deprecated, use mpegvideo private options instead.
142
143 =item B<qprd>
144
145 Deprecated, use mpegvideo private options instead.
146
147 =item B<ilme>
148
149 Apply interlaced motion estimation.
150
151 =item B<cgop>
152
153 Use closed gop.
154
155 =back
156
157
158
159 =item B<sub_id> I<integer>
160
161 Deprecated, currently unused.
162
163
164 =item B<me_method> I<integer> B<(>I<encoding,video>B<)>
165
166 Set motion estimation method.
167
168 Possible values:
169
170 =over 4
171
172
173 =item B<zero>
174
175 zero motion estimation (fastest)
176
177 =item B<full>
178
179 full motion estimation (slowest)
180
181 =item B<epzs>
182
183 EPZS motion estimation (default)
184
185 =item B<esa>
186
187 esa motion estimation (alias for full)
188
189 =item B<tesa>
190
191 tesa motion estimation
192
193 =item B<dia>
194
195 dia motion estimation (alias for epzs)
196
197 =item B<log>
198
199 log motion estimation
200
201 =item B<phods>
202
203 phods motion estimation
204
205 =item B<x1>
206
207 X1 motion estimation
208
209 =item B<hex>
210
211 hex motion estimation
212
213 =item B<umh>
214
215 umh motion estimation
216
217 =item B<iter>
218
219 iter motion estimation
220
221 =back
222
223
224
225 =item B<extradata_size> I<integer>
226
227 Set extradata size.
228
229
230 =item B<time_base> I<rational number>
231
232 Set codec time base.
233
234 It is the fundamental unit of time (in seconds) in terms of which
235 frame timestamps are represented. For fixed-fps content, timebase
236 should be C<1 / frame_rate> and timestamp increments should be
237 identically 1.
238
239
240 =item B<g> I<integer> B<(>I<encoding,video>B<)>
241
242 Set the group of picture size. Default value is 12.
243
244
245 =item B<ar> I<integer> B<(>I<decoding/encoding,audio>B<)>
246
247 Set audio sampling rate (in Hz).
248
249
250 =item B<ac> I<integer> B<(>I<decoding/encoding,audio>B<)>
251
252 Set number of audio channels.
253
254
255 =item B<cutoff> I<integer> B<(>I<encoding,audio>B<)>
256
257 Set cutoff bandwidth.
258
259
260 =item B<frame_size> I<integer> B<(>I<encoding,audio>B<)>
261
262 Set audio frame size.
263
264 Each submitted frame except the last must contain exactly frame_size
265 samples per channel. May be 0 when the codec has
266 CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
267 restricted. It is set by some decoders to indicate constant frame
268 size.
269
270
271 =item B<frame_number> I<integer>
272
273 Set the frame number.
274
275
276 =item B<delay> I<integer>
277
278
279
280 =item B<qcomp> I<float> B<(>I<encoding,video>B<)>
281
282 Set video quantizer scale compression (VBR). It is used as a constant
283 in the ratecontrol equation. Recommended range for default rc_eq:
284 0.0-1.0.
285
286
287 =item B<qblur> I<float> B<(>I<encoding,video>B<)>
288
289 Set video quantizer scale blur (VBR).
290
291
292 =item B<qmin> I<integer> B<(>I<encoding,video>B<)>
293
294 Set min video quantizer scale (VBR). Must be included between -1 and
295 69, default value is 2.
296
297
298 =item B<qmax> I<integer> B<(>I<encoding,video>B<)>
299
300 Set max video quantizer scale (VBR). Must be included between -1 and
301 1024, default value is 31.
302
303
304 =item B<qdiff> I<integer> B<(>I<encoding,video>B<)>
305
306 Set max difference between the quantizer scale (VBR).
307
308
309 =item B<bf> I<integer> B<(>I<encoding,video>B<)>
310
311 Set max number of B frames.
312
313
314 =item B<b_qfactor> I<float> B<(>I<encoding,video>B<)>
315
316 Set qp factor between P and B frames.
317
318
319 =item B<rc_strategy> I<integer> B<(>I<encoding,video>B<)>
320
321 Set ratecontrol method.
322
323
324 =item B<b_strategy> I<integer> B<(>I<encoding,video>B<)>
325
326 Set strategy to choose between I/P/B-frames.
327
328
329 =item B<ps> I<integer> B<(>I<encoding,video>B<)>
330
331 Set RTP payload size in bytes.
332
333
334 =item B<mv_bits> I<integer>
335
336
337 =item B<header_bits> I<integer>
338
339
340 =item B<i_tex_bits> I<integer>
341
342
343 =item B<p_tex_bits> I<integer>
344
345
346 =item B<i_count> I<integer>
347
348
349 =item B<p_count> I<integer>
350
351
352 =item B<skip_count> I<integer>
353
354
355 =item B<misc_bits> I<integer>
356
357
358 =item B<frame_bits> I<integer>
359
360
361 =item B<codec_tag> I<integer>
362
363
364 =item B<bug> I<flags> B<(>I<decoding,video>B<)>
365
366 Workaround not auto detected encoder bugs.
367
368 Possible values:
369
370 =over 4
371
372
373 =item B<autodetect>
374
375
376
377 =item B<old_msmpeg4>
378
379 some old lavc generated msmpeg4v3 files (no autodetection)
380
381 =item B<xvid_ilace>
382
383 Xvid interlacing bug (autodetected if fourcc==XVIX)
384
385 =item B<ump4>
386
387 (autodetected if fourcc==UMP4)
388
389 =item B<no_padding>
390
391 padding bug (autodetected)
392
393 =item B<amv>
394
395
396
397 =item B<ac_vlc>
398
399 illegal vlc bug (autodetected per fourcc)
400
401 =item B<qpel_chroma>
402
403
404
405 =item B<std_qpel>
406
407 old standard qpel (autodetected per fourcc/version)
408
409 =item B<qpel_chroma2>
410
411
412
413 =item B<direct_blocksize>
414
415 direct-qpel-blocksize bug (autodetected per fourcc/version)
416
417 =item B<edge>
418
419 edge padding bug (autodetected per fourcc/version)
420
421 =item B<hpel_chroma>
422
423
424
425 =item B<dc_clip>
426
427
428
429 =item B<ms>
430
431 Workaround various bugs in microsoft broken decoders.
432
433 =item B<trunc>
434
435 trancated frames
436
437 =back
438
439
440
441 =item B<lelim> I<integer> B<(>I<encoding,video>B<)>
442
443 Set single coefficient elimination threshold for luminance (negative
444 values also consider DC coefficient).
445
446
447 =item B<celim> I<integer> B<(>I<encoding,video>B<)>
448
449 Set single coefficient elimination threshold for chrominance (negative
450 values also consider dc coefficient)
451
452
453 =item B<strict> I<integer> B<(>I<decoding/encoding,audio,video>B<)>
454
455 Specify how strictly to follow the standards.
456
457 Possible values:
458
459 =over 4
460
461
462 =item B<very>
463
464 strictly conform to a older more strict version of the spec or reference software
465
466 =item B<strict>
467
468 strictly conform to all the things in the spec no matter what consequences
469
470 =item B<normal>
471
472
473
474 =item B<unofficial>
475
476 allow unofficial extensions
477
478 =item B<experimental>
479
480 allow non standardized experimental things
481
482 =back
483
484
485
486 =item B<b_qoffset> I<float> B<(>I<encoding,video>B<)>
487
488 Set QP offset between P and B frames.
489
490
491 =item B<err_detect> I<flags> B<(>I<decoding,audio,video>B<)>
492
493 Set error detection flags.
494
495 Possible values:
496
497 =over 4
498
499
500 =item B<crccheck>
501
502 verify embedded CRCs
503
504 =item B<bitstream>
505
506 detect bitstream specification deviations
507
508 =item B<buffer>
509
510 detect improper bitstream length
511
512 =item B<explode>
513
514 abort decoding on minor error detection
515
516 =item B<careful>
517
518 consider things that violate the spec and have not been seen in the wild as errors
519
520 =item B<compliant>
521
522 consider all spec non compliancies as errors
523
524 =item B<aggressive>
525
526 consider things that a sane encoder should not do as an error
527
528 =back
529
530
531
532 =item B<has_b_frames> I<integer>
533
534
535
536 =item B<block_align> I<integer>
537
538
539
540 =item B<mpeg_quant> I<integer> B<(>I<encoding,video>B<)>
541
542 Use MPEG quantizers instead of H.263.
543
544
545 =item B<qsquish> I<float> B<(>I<encoding,video>B<)>
546
547 How to keep quantizer between qmin and qmax (0 = clip, 1 = use
548 differentiable function).
549
550
551 =item B<rc_qmod_amp> I<float> B<(>I<encoding,video>B<)>
552
553 Set experimental quantizer modulation.
554
555
556 =item B<rc_qmod_freq> I<integer> B<(>I<encoding,video>B<)>
557
558 Set experimental quantizer modulation.
559
560
561 =item B<rc_override_count> I<integer>
562
563
564
565 =item B<rc_eq> I<string> B<(>I<encoding,video>B<)>
566
567 Set rate control equation. When computing the expression, besides the
568 standard functions defined in the section 'Expression Evaluation', the
569 following functions are available: bits2qp(bits), qp2bits(qp). Also
570 the following constants are available: iTex pTex tex mv fCode iCount
571 mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
572 avgTex.
573
574
575 =item B<maxrate> I<integer> B<(>I<encoding,audio,video>B<)>
576
577 Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
578
579
580 =item B<minrate> I<integer> B<(>I<encoding,audio,video>B<)>
581
582 Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
583 encode. It is of little use elsewise.
584
585
586 =item B<bufsize> I<integer> B<(>I<encoding,audio,video>B<)>
587
588 Set ratecontrol buffer size (in bits).
589
590
591 =item B<rc_buf_aggressivity> I<float> B<(>I<encoding,video>B<)>
592
593 Currently useless.
594
595
596 =item B<i_qfactor> I<float> B<(>I<encoding,video>B<)>
597
598 Set QP factor between P and I frames.
599
600
601 =item B<i_qoffset> I<float> B<(>I<encoding,video>B<)>
602
603 Set QP offset between P and I frames.
604
605
606 =item B<rc_init_cplx> I<float> B<(>I<encoding,video>B<)>
607
608 Set initial complexity for 1-pass encoding.
609
610
611 =item B<dct> I<integer> B<(>I<encoding,video>B<)>
612
613 Set DCT algorithm.
614
615 Possible values:
616
617 =over 4
618
619
620 =item B<auto>
621
622 autoselect a good one (default)
623
624 =item B<fastint>
625
626 fast integer
627
628 =item B<int>
629
630 accurate integer
631
632 =item B<mmx>
633
634
635
636 =item B<altivec>
637
638
639
640 =item B<faan>
641
642 floating point AAN DCT
643
644 =back
645
646
647
648 =item B<lumi_mask> I<float> B<(>I<encoding,video>B<)>
649
650 Compress bright areas stronger than medium ones.
651
652
653 =item B<tcplx_mask> I<float> B<(>I<encoding,video>B<)>
654
655 Set temporal complexity masking.
656
657
658 =item B<scplx_mask> I<float> B<(>I<encoding,video>B<)>
659
660 Set spatial complexity masking.
661
662
663 =item B<p_mask> I<float> B<(>I<encoding,video>B<)>
664
665 Set inter masking.
666
667
668 =item B<dark_mask> I<float> B<(>I<encoding,video>B<)>
669
670 Compress dark areas stronger than medium ones.
671
672
673 =item B<idct> I<integer> B<(>I<decoding/encoding,video>B<)>
674
675 Select IDCT implementation.
676
677 Possible values:
678
679 =over 4
680
681
682 =item B<auto>
683
684
685
686 =item B<int>
687
688
689
690 =item B<simple>
691
692
693
694 =item B<simplemmx>
695
696
697
698 =item B<libmpeg2mmx>
699
700
701
702 =item B<mmi>
703
704
705
706 =item B<arm>
707
708
709
710 =item B<altivec>
711
712
713
714 =item B<sh4>
715
716
717
718 =item B<simplearm>
719
720
721
722 =item B<simplearmv5te>
723
724
725
726 =item B<simplearmv6>
727
728
729
730 =item B<simpleneon>
731
732
733
734 =item B<simplealpha>
735
736
737
738 =item B<h264>
739
740
741
742 =item B<vp3>
743
744
745
746 =item B<ipp>
747
748
749
750 =item B<xvidmmx>
751
752
753
754 =item B<faani>
755
756 floating point AAN IDCT
757
758 =back
759
760
761
762 =item B<slice_count> I<integer>
763
764
765
766 =item B<ec> I<flags> B<(>I<decoding,video>B<)>
767
768 Set error concealment strategy.
769
770 Possible values:
771
772 =over 4
773
774
775 =item B<guess_mvs>
776
777 iterative motion vector (MV) search (slow)
778
779 =item B<deblock>
780
781 use strong deblock filter for damaged MBs
782
783 =back
784
785
786
787 =item B<bits_per_coded_sample> I<integer>
788
789
790
791 =item B<pred> I<integer> B<(>I<encoding,video>B<)>
792
793 Set prediction method.
794
795 Possible values:
796
797 =over 4
798
799
800 =item B<left>
801
802
803
804 =item B<plane>
805
806
807
808 =item B<median>
809
810
811
812 =back
813
814
815
816 =item B<aspect> I<rational number> B<(>I<encoding,video>B<)>
817
818 Set sample aspect ratio.
819
820
821 =item B<debug> I<flags> B<(>I<decoding/encoding,audio,video,subtitles>B<)>
822
823 Print specific debug info.
824
825 Possible values:
826
827 =over 4
828
829
830 =item B<pict>
831
832 picture info
833
834 =item B<rc>
835
836 rate control
837
838 =item B<bitstream>
839
840
841
842 =item B<mb_type>
843
844 macroblock (MB) type
845
846 =item B<qp>
847
848 per-block quantization parameter (QP)
849
850 =item B<mv>
851
852 motion vector
853
854 =item B<dct_coeff>
855
856
857
858 =item B<skip>
859
860
861
862 =item B<startcode>
863
864
865
866 =item B<pts>
867
868
869
870 =item B<er>
871
872 error recognition
873
874 =item B<mmco>
875
876 memory management control operations (H.264)
877
878 =item B<bugs>
879
880
881
882 =item B<vis_qp>
883
884 visualize quantization parameter (QP), lower QP are tinted greener
885
886 =item B<vis_mb_type>
887
888 visualize block types
889
890 =item B<buffers>
891
892 picture buffer allocations
893
894 =item B<thread_ops>
895
896 threading operations
897
898 =back
899
900
901
902 =item B<vismv> I<integer> B<(>I<decoding,video>B<)>
903
904 Visualize motion vectors (MVs).
905
906 Possible values:
907
908 =over 4
909
910
911 =item B<pf>
912
913 forward predicted MVs of P-frames
914
915 =item B<bf>
916
917 forward predicted MVs of B-frames
918
919 =item B<bb>
920
921 backward predicted MVs of B-frames
922
923 =back
924
925
926
927 =item B<cmp> I<integer> B<(>I<encoding,video>B<)>
928
929 Set full pel me compare function.
930
931 Possible values:
932
933 =over 4
934
935
936 =item B<sad>
937
938 sum of absolute differences, fast (default)
939
940 =item B<sse>
941
942 sum of squared errors
943
944 =item B<satd>
945
946 sum of absolute Hadamard transformed differences
947
948 =item B<dct>
949
950 sum of absolute DCT transformed differences
951
952 =item B<psnr>
953
954 sum of squared quantization errors (avoid, low quality)
955
956 =item B<bit>
957
958 number of bits needed for the block
959
960 =item B<rd>
961
962 rate distortion optimal, slow
963
964 =item B<zero>
965
966 0
967
968 =item B<vsad>
969
970 sum of absolute vertical differences
971
972 =item B<vsse>
973
974 sum of squared vertical differences
975
976 =item B<nsse>
977
978 noise preserving sum of squared differences
979
980 =item B<w53>
981
982 5/3 wavelet, only used in snow
983
984 =item B<w97>
985
986 9/7 wavelet, only used in snow
987
988 =item B<dctmax>
989
990
991
992 =item B<chroma>
993
994
995
996 =back
997
998
999
1000 =item B<subcmp> I<integer> B<(>I<encoding,video>B<)>
1001
1002 Set sub pel me compare function.
1003
1004 Possible values:
1005
1006 =over 4
1007
1008
1009 =item B<sad>
1010
1011 sum of absolute differences, fast (default)
1012
1013 =item B<sse>
1014
1015 sum of squared errors
1016
1017 =item B<satd>
1018
1019 sum of absolute Hadamard transformed differences
1020
1021 =item B<dct>
1022
1023 sum of absolute DCT transformed differences
1024
1025 =item B<psnr>
1026
1027 sum of squared quantization errors (avoid, low quality)
1028
1029 =item B<bit>
1030
1031 number of bits needed for the block
1032
1033 =item B<rd>
1034
1035 rate distortion optimal, slow
1036
1037 =item B<zero>
1038
1039 0
1040
1041 =item B<vsad>
1042
1043 sum of absolute vertical differences
1044
1045 =item B<vsse>
1046
1047 sum of squared vertical differences
1048
1049 =item B<nsse>
1050
1051 noise preserving sum of squared differences
1052
1053 =item B<w53>
1054
1055 5/3 wavelet, only used in snow
1056
1057 =item B<w97>
1058
1059 9/7 wavelet, only used in snow
1060
1061 =item B<dctmax>
1062
1063
1064
1065 =item B<chroma>
1066
1067
1068
1069 =back
1070
1071
1072
1073 =item B<mbcmp> I<integer> B<(>I<encoding,video>B<)>
1074
1075 Set macroblock compare function.
1076
1077 Possible values:
1078
1079 =over 4
1080
1081
1082 =item B<sad>
1083
1084 sum of absolute differences, fast (default)
1085
1086 =item B<sse>
1087
1088 sum of squared errors
1089
1090 =item B<satd>
1091
1092 sum of absolute Hadamard transformed differences
1093
1094 =item B<dct>
1095
1096 sum of absolute DCT transformed differences
1097
1098 =item B<psnr>
1099
1100 sum of squared quantization errors (avoid, low quality)
1101
1102 =item B<bit>
1103
1104 number of bits needed for the block
1105
1106 =item B<rd>
1107
1108 rate distortion optimal, slow
1109
1110 =item B<zero>
1111
1112 0
1113
1114 =item B<vsad>
1115
1116 sum of absolute vertical differences
1117
1118 =item B<vsse>
1119
1120 sum of squared vertical differences
1121
1122 =item B<nsse>
1123
1124 noise preserving sum of squared differences
1125
1126 =item B<w53>
1127
1128 5/3 wavelet, only used in snow
1129
1130 =item B<w97>
1131
1132 9/7 wavelet, only used in snow
1133
1134 =item B<dctmax>
1135
1136
1137
1138 =item B<chroma>
1139
1140
1141
1142 =back
1143
1144
1145
1146 =item B<ildctcmp> I<integer> B<(>I<encoding,video>B<)>
1147
1148 Set interlaced dct compare function.
1149
1150 Possible values:
1151
1152 =over 4
1153
1154
1155 =item B<sad>
1156
1157 sum of absolute differences, fast (default)
1158
1159 =item B<sse>
1160
1161 sum of squared errors
1162
1163 =item B<satd>
1164
1165 sum of absolute Hadamard transformed differences
1166
1167 =item B<dct>
1168
1169 sum of absolute DCT transformed differences
1170
1171 =item B<psnr>
1172
1173 sum of squared quantization errors (avoid, low quality)
1174
1175 =item B<bit>
1176
1177 number of bits needed for the block
1178
1179 =item B<rd>
1180
1181 rate distortion optimal, slow
1182
1183 =item B<zero>
1184
1185 0
1186
1187 =item B<vsad>
1188
1189 sum of absolute vertical differences
1190
1191 =item B<vsse>
1192
1193 sum of squared vertical differences
1194
1195 =item B<nsse>
1196
1197 noise preserving sum of squared differences
1198
1199 =item B<w53>
1200
1201 5/3 wavelet, only used in snow
1202
1203 =item B<w97>
1204
1205 9/7 wavelet, only used in snow
1206
1207 =item B<dctmax>
1208
1209
1210
1211 =item B<chroma>
1212
1213
1214
1215 =back
1216
1217
1218
1219 =item B<dia_size> I<integer> B<(>I<encoding,video>B<)>
1220
1221 Set diamond type & size for motion estimation.
1222
1223
1224 =item B<last_pred> I<integer> B<(>I<encoding,video>B<)>
1225
1226 Set amount of motion predictors from the previous frame.
1227
1228
1229 =item B<preme> I<integer> B<(>I<encoding,video>B<)>
1230
1231 Set pre motion estimation.
1232
1233
1234 =item B<precmp> I<integer> B<(>I<encoding,video>B<)>
1235
1236 Set pre motion estimation compare function.
1237
1238 Possible values:
1239
1240 =over 4
1241
1242
1243 =item B<sad>
1244
1245 sum of absolute differences, fast (default)
1246
1247 =item B<sse>
1248
1249 sum of squared errors
1250
1251 =item B<satd>
1252
1253 sum of absolute Hadamard transformed differences
1254
1255 =item B<dct>
1256
1257 sum of absolute DCT transformed differences
1258
1259 =item B<psnr>
1260
1261 sum of squared quantization errors (avoid, low quality)
1262
1263 =item B<bit>
1264
1265 number of bits needed for the block
1266
1267 =item B<rd>
1268
1269 rate distortion optimal, slow
1270
1271 =item B<zero>
1272
1273 0
1274
1275 =item B<vsad>
1276
1277 sum of absolute vertical differences
1278
1279 =item B<vsse>
1280
1281 sum of squared vertical differences
1282
1283 =item B<nsse>
1284
1285 noise preserving sum of squared differences
1286
1287 =item B<w53>
1288
1289 5/3 wavelet, only used in snow
1290
1291 =item B<w97>
1292
1293 9/7 wavelet, only used in snow
1294
1295 =item B<dctmax>
1296
1297
1298
1299 =item B<chroma>
1300
1301
1302
1303 =back
1304
1305
1306
1307 =item B<pre_dia_size> I<integer> B<(>I<encoding,video>B<)>
1308
1309 Set diamond type & size for motion estimation pre-pass.
1310
1311
1312 =item B<subq> I<integer> B<(>I<encoding,video>B<)>
1313
1314 Set sub pel motion estimation quality.
1315
1316
1317 =item B<dtg_active_format> I<integer>
1318
1319
1320
1321 =item B<me_range> I<integer> B<(>I<encoding,video>B<)>
1322
1323 Set limit motion vectors range (1023 for DivX player).
1324
1325
1326 =item B<ibias> I<integer> B<(>I<encoding,video>B<)>
1327
1328 Set intra quant bias.
1329
1330
1331 =item B<pbias> I<integer> B<(>I<encoding,video>B<)>
1332
1333 Set inter quant bias.
1334
1335
1336 =item B<color_table_id> I<integer>
1337
1338
1339
1340 =item B<global_quality> I<integer> B<(>I<encoding,audio,video>B<)>
1341
1342
1343
1344 =item B<coder> I<integer> B<(>I<encoding,video>B<)>
1345
1346
1347 Possible values:
1348
1349 =over 4
1350
1351
1352 =item B<vlc>
1353
1354 variable length coder / huffman coder
1355
1356 =item B<ac>
1357
1358 arithmetic coder
1359
1360 =item B<raw>
1361
1362 raw (no encoding)
1363
1364 =item B<rle>
1365
1366 run-length coder
1367
1368 =item B<deflate>
1369
1370 deflate-based coder
1371
1372 =back
1373
1374
1375
1376 =item B<context> I<integer> B<(>I<encoding,video>B<)>
1377
1378 Set context model.
1379
1380
1381 =item B<slice_flags> I<integer>
1382
1383
1384
1385 =item B<xvmc_acceleration> I<integer>
1386
1387
1388
1389 =item B<mbd> I<integer> B<(>I<encoding,video>B<)>
1390
1391 Set macroblock decision algorithm (high quality mode).
1392
1393 Possible values:
1394
1395 =over 4
1396
1397
1398 =item B<simple>
1399
1400 use mbcmp (default)
1401
1402 =item B<bits>
1403
1404 use fewest bits
1405
1406 =item B<rd>
1407
1408 use best rate distortion
1409
1410 =back
1411
1412
1413
1414 =item B<stream_codec_tag> I<integer>
1415
1416
1417
1418 =item B<sc_threshold> I<integer> B<(>I<encoding,video>B<)>
1419
1420 Set scene change threshold.
1421
1422
1423 =item B<lmin> I<integer> B<(>I<encoding,video>B<)>
1424
1425 Set min lagrange factor (VBR).
1426
1427
1428 =item B<lmax> I<integer> B<(>I<encoding,video>B<)>
1429
1430 Set max lagrange factor (VBR).
1431
1432
1433 =item B<nr> I<integer> B<(>I<encoding,video>B<)>
1434
1435 Set noise reduction.
1436
1437
1438 =item B<rc_init_occupancy> I<integer> B<(>I<encoding,video>B<)>
1439
1440 Set number of bits which should be loaded into the rc buffer before
1441 decoding starts.
1442
1443
1444 =item B<inter_threshold> I<integer> B<(>I<encoding,video>B<)>
1445
1446
1447
1448 =item B<flags2> I<flags> B<(>I<decoding/encoding,audio,video>B<)>
1449
1450
1451 Possible values:
1452
1453 =over 4
1454
1455
1456 =item B<fast>
1457
1458 allow non spec compliant speedup tricks
1459
1460 =item B<sgop>
1461
1462 Deprecated, use mpegvideo private options instead
1463
1464 =item B<noout>
1465
1466 skip bitstream encoding
1467
1468 =item B<local_header>
1469
1470 place global headers at every keyframe instead of in extradata
1471
1472 =item B<chunks>
1473
1474 Frame data might be split into multiple chunks
1475
1476 =item B<showall>
1477
1478 Show all frames before the first keyframe
1479
1480 =item B<skiprd>
1481
1482 Deprecated, use mpegvideo private options instead
1483
1484 =back
1485
1486
1487
1488 =item B<error> I<integer> B<(>I<encoding,video>B<)>
1489
1490
1491
1492 =item B<qns> I<integer> B<(>I<encoding,video>B<)>
1493
1494 Deprecated, use mpegvideo private options instead.
1495
1496
1497 =item B<threads> I<integer> B<(>I<decoding/encoding,video>B<)>
1498
1499
1500 Possible values:
1501
1502 =over 4
1503
1504
1505 =item B<auto>
1506
1507 detect a good number of threads
1508
1509 =back
1510
1511
1512
1513 =item B<me_threshold> I<integer> B<(>I<encoding,video>B<)>
1514
1515 Set motion estimation threshold.
1516
1517
1518 =item B<mb_threshold> I<integer> B<(>I<encoding,video>B<)>
1519
1520 Set macroblock threshold.
1521
1522
1523 =item B<dc> I<integer> B<(>I<encoding,video>B<)>
1524
1525 Set intra_dc_precision.
1526
1527
1528 =item B<nssew> I<integer> B<(>I<encoding,video>B<)>
1529
1530 Set nsse weight.
1531
1532
1533 =item B<skip_top> I<integer> B<(>I<decoding,video>B<)>
1534
1535 Set number of macroblock rows at the top which are skipped.
1536
1537
1538 =item B<skip_bottom> I<integer> B<(>I<decoding,video>B<)>
1539
1540 Set number of macroblock rows at the bottom which are skipped.
1541
1542
1543 =item B<profile> I<integer> B<(>I<encoding,audio,video>B<)>
1544
1545
1546 Possible values:
1547
1548 =over 4
1549
1550
1551 =item B<unknown>
1552
1553
1554
1555 =item B<aac_main>
1556
1557
1558
1559 =item B<aac_low>
1560
1561
1562
1563 =item B<aac_ssr>
1564
1565
1566
1567 =item B<aac_ltp>
1568
1569
1570
1571 =item B<aac_he>
1572
1573
1574
1575 =item B<aac_he_v2>
1576
1577
1578
1579 =item B<aac_ld>
1580
1581
1582
1583 =item B<aac_eld>
1584
1585
1586
1587 =item B<dts>
1588
1589
1590
1591 =item B<dts_es>
1592
1593
1594
1595 =item B<dts_96_24>
1596
1597
1598
1599 =item B<dts_hd_hra>
1600
1601
1602
1603 =item B<dts_hd_ma>
1604
1605
1606
1607 =back
1608
1609
1610
1611 =item B<level> I<integer> B<(>I<encoding,audio,video>B<)>
1612
1613
1614 Possible values:
1615
1616 =over 4
1617
1618
1619 =item B<unknown>
1620
1621
1622
1623 =back
1624
1625
1626
1627 =item B<lowres> I<integer> B<(>I<decoding,audio,video>B<)>
1628
1629 Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
1630
1631
1632 =item B<skip_threshold> I<integer> B<(>I<encoding,video>B<)>
1633
1634 Set frame skip threshold.
1635
1636
1637 =item B<skip_factor> I<integer> B<(>I<encoding,video>B<)>
1638
1639 Set frame skip factor.
1640
1641
1642 =item B<skip_exp> I<integer> B<(>I<encoding,video>B<)>
1643
1644 Set frame skip exponent.
1645
1646
1647 =item B<skipcmp> I<integer> B<(>I<encoding,video>B<)>
1648
1649 Set frame skip compare function.
1650
1651 Possible values:
1652
1653 =over 4
1654
1655
1656 =item B<sad>
1657
1658 sum of absolute differences, fast (default)
1659
1660 =item B<sse>
1661
1662 sum of squared errors
1663
1664 =item B<satd>
1665
1666 sum of absolute Hadamard transformed differences
1667
1668 =item B<dct>
1669
1670 sum of absolute DCT transformed differences
1671
1672 =item B<psnr>
1673
1674 sum of squared quantization errors (avoid, low quality)
1675
1676 =item B<bit>
1677
1678 number of bits needed for the block
1679
1680 =item B<rd>
1681
1682 rate distortion optimal, slow
1683
1684 =item B<zero>
1685
1686 0
1687
1688 =item B<vsad>
1689
1690 sum of absolute vertical differences
1691
1692 =item B<vsse>
1693
1694 sum of squared vertical differences
1695
1696 =item B<nsse>
1697
1698 noise preserving sum of squared differences
1699
1700 =item B<w53>
1701
1702 5/3 wavelet, only used in snow
1703
1704 =item B<w97>
1705
1706 9/7 wavelet, only used in snow
1707
1708 =item B<dctmax>
1709
1710
1711
1712 =item B<chroma>
1713
1714
1715
1716 =back
1717
1718
1719
1720 =item B<border_mask> I<float> B<(>I<encoding,video>B<)>
1721
1722 Increase the quantizer for macroblocks close to borders.
1723
1724
1725 =item B<mblmin> I<integer> B<(>I<encoding,video>B<)>
1726
1727 Set min macroblock lagrange factor (VBR).
1728
1729
1730 =item B<mblmax> I<integer> B<(>I<encoding,video>B<)>
1731
1732 Set max macroblock lagrange factor (VBR).
1733
1734
1735 =item B<mepc> I<integer> B<(>I<encoding,video>B<)>
1736
1737 Set motion estimation bitrate penalty compensation (1.0 = 256).
1738
1739
1740 =item B<skip_loop_filter> I<integer> B<(>I<decoding,video>B<)>
1741
1742
1743 =item B<skip_idct> I<integer> B<(>I<decoding,video>B<)>
1744
1745
1746 =item B<skip_frame> I<integer> B<(>I<decoding,video>B<)>
1747
1748
1749 Make decoder discard processing depending on the frame type selected
1750 by the option value.
1751
1752 B<skip_loop_filter> skips frame loop filtering, B<skip_idct>
1753 skips frame IDCT/dequantization, B<skip_frame> skips decoding.
1754
1755 Possible values:
1756
1757 =over 4
1758
1759
1760 =item B<none>
1761
1762 Discard no frame.
1763
1764
1765 =item B<default>
1766
1767 Discard useless frames like 0-sized frames.
1768
1769
1770 =item B<noref>
1771
1772 Discard all non-reference frames.
1773
1774
1775 =item B<bidir>
1776
1777 Discard all bidirectional frames.
1778
1779
1780 =item B<nokey>
1781
1782 Discard all frames excepts keyframes.
1783
1784
1785 =item B<all>
1786
1787 Discard all frames.
1788
1789 =back
1790
1791
1792 Default value is B<default>.
1793
1794
1795 =item B<bidir_refine> I<integer> B<(>I<encoding,video>B<)>
1796
1797 Refine the two motion vectors used in bidirectional macroblocks.
1798
1799
1800 =item B<brd_scale> I<integer> B<(>I<encoding,video>B<)>
1801
1802 Downscale frames for dynamic B-frame decision.
1803
1804
1805 =item B<keyint_min> I<integer> B<(>I<encoding,video>B<)>
1806
1807 Set minimum interval between IDR-frames.
1808
1809
1810 =item B<refs> I<integer> B<(>I<encoding,video>B<)>
1811
1812 Set reference frames to consider for motion compensation.
1813
1814
1815 =item B<chromaoffset> I<integer> B<(>I<encoding,video>B<)>
1816
1817 Set chroma qp offset from luma.
1818
1819
1820 =item B<trellis> I<integer> B<(>I<encoding,audio,video>B<)>
1821
1822 Set rate-distortion optimal quantization.
1823
1824
1825 =item B<sc_factor> I<integer> B<(>I<encoding,video>B<)>
1826
1827 Set value multiplied by qscale for each frame and added to
1828 scene_change_score.
1829
1830
1831 =item B<mv0_threshold> I<integer> B<(>I<encoding,video>B<)>
1832
1833
1834 =item B<b_sensitivity> I<integer> B<(>I<encoding,video>B<)>
1835
1836 Adjust sensitivity of b_frame_strategy 1.
1837
1838
1839 =item B<compression_level> I<integer> B<(>I<encoding,audio,video>B<)>
1840
1841
1842 =item B<min_prediction_order> I<integer> B<(>I<encoding,audio>B<)>
1843
1844
1845 =item B<max_prediction_order> I<integer> B<(>I<encoding,audio>B<)>
1846
1847
1848 =item B<timecode_frame_start> I<integer> B<(>I<encoding,video>B<)>
1849
1850 Set GOP timecode frame start number, in non drop frame format.
1851
1852
1853 =item B<request_channels> I<integer> B<(>I<decoding,audio>B<)>
1854
1855 Set desired number of audio channels.
1856
1857
1858 =item B<bits_per_raw_sample> I<integer>
1859
1860
1861 =item B<channel_layout> I<integer> B<(>I<decoding/encoding,audio>B<)>
1862
1863
1864 Possible values:
1865
1866 =over 4
1867
1868
1869 =back
1870
1871
1872 =item B<request_channel_layout> I<integer> B<(>I<decoding,audio>B<)>
1873
1874
1875 Possible values:
1876
1877 =over 4
1878
1879
1880 =back
1881
1882
1883 =item B<rc_max_vbv_use> I<float> B<(>I<encoding,video>B<)>
1884
1885
1886 =item B<rc_min_vbv_use> I<float> B<(>I<encoding,video>B<)>
1887
1888
1889 =item B<ticks_per_frame> I<integer> B<(>I<decoding/encoding,audio,video>B<)>
1890
1891
1892 =item B<color_primaries> I<integer> B<(>I<decoding/encoding,video>B<)>
1893
1894
1895 =item B<color_trc> I<integer> B<(>I<decoding/encoding,video>B<)>
1896
1897
1898 =item B<colorspace> I<integer> B<(>I<decoding/encoding,video>B<)>
1899
1900
1901 =item B<color_range> I<integer> B<(>I<decoding/encoding,video>B<)>
1902
1903
1904 =item B<chroma_sample_location> I<integer> B<(>I<decoding/encoding,video>B<)>
1905
1906
1907
1908 =item B<log_level_offset> I<integer>
1909
1910 Set the log level offset.
1911
1912
1913 =item B<slices> I<integer> B<(>I<encoding,video>B<)>
1914
1915 Number of slices, used in parallelized encoding.
1916
1917
1918 =item B<thread_type> I<flags> B<(>I<decoding/encoding,video>B<)>
1919
1920 Select multithreading type.
1921
1922 Possible values:
1923
1924 =over 4
1925
1926
1927 =item B<slice>
1928
1929
1930
1931 =item B<frame>
1932
1933
1934
1935 =back
1936
1937
1938 =item B<audio_service_type> I<integer> B<(>I<encoding,audio>B<)>
1939
1940 Set audio service type.
1941
1942 Possible values:
1943
1944 =over 4
1945
1946
1947 =item B<ma>
1948
1949 Main Audio Service
1950
1951 =item B<ef>
1952
1953 Effects
1954
1955 =item B<vi>
1956
1957 Visually Impaired
1958
1959 =item B<hi>
1960
1961 Hearing Impaired
1962
1963 =item B<di>
1964
1965 Dialogue
1966
1967 =item B<co>
1968
1969 Commentary
1970
1971 =item B<em>
1972
1973 Emergency
1974
1975 =item B<vo>
1976
1977 Voice Over
1978
1979 =item B<ka>
1980
1981 Karaoke
1982
1983 =back
1984
1985
1986
1987 =item B<request_sample_fmt> I<sample_fmt> B<(>I<decoding,audio>B<)>
1988
1989 Set sample format audio decoders should prefer. Default value is
1990 C<none>.
1991
1992
1993 =item B<pkt_timebase> I<rational number>
1994
1995
1996
1997 =item B<sub_charenc> I<encoding> B<(>I<decoding,subtitles>B<)>
1998
1999 Set the input subtitles character encoding.
2000
2001 =back
2002
2003
2004
2005
2006 =head1 DECODERS
2007
2008
2009 Decoders are configured elements in FFmpeg which allow the decoding of
2010 multimedia streams.
2011
2012 When you configure your FFmpeg build, all the supported native decoders
2013 are enabled by default. Decoders requiring an external library must be enabled
2014 manually via the corresponding C<--enable-lib> option. You can list all
2015 available decoders using the configure option C<--list-decoders>.
2016
2017 You can disable all the decoders with the configure option
2018 C<--disable-decoders> and selectively enable / disable single decoders
2019 with the options C<--enable-decoder=I<DECODER>> /
2020 C<--disable-decoder=I<DECODER>>.
2021
2022 The option C<-codecs> of the ff* tools will display the list of
2023 enabled decoders.
2024
2025
2026
2027 =head1 VIDEO DECODERS
2028
2029
2030 A description of some of the currently available video decoders
2031 follows.
2032
2033
2034 =head2 rawvideo
2035
2036
2037 Raw video decoder.
2038
2039 This decoder decodes rawvideo streams.
2040
2041
2042 =head3 Options
2043
2044
2045
2046 =over 4
2047
2048
2049 =item B<top> I<top_field_first>
2050
2051 Specify the assumed field type of the input video.
2052
2053 =over 4
2054
2055
2056 =item B<-1>
2057
2058 the video is assumed to be progressive (default)
2059
2060 =item B<0>
2061
2062 bottom-field-first is assumed
2063
2064 =item B<1>
2065
2066 top-field-first is assumed
2067
2068 =back
2069
2070
2071
2072 =back
2073
2074
2075
2076
2077 =head1 AUDIO DECODERS
2078
2079
2080
2081 =head2 ffwavesynth
2082
2083
2084 Internal wave synthetizer.
2085
2086 This decoder generates wave patterns according to predefined sequences. Its
2087 use is purely internal and the format of the data it accepts is not publicly
2088 documented.
2089
2090
2091
2092 =head1 SUBTITLES DECODERS
2093
2094
2095
2096 =head2 dvdsub
2097
2098
2099 This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
2100 also be found in VobSub file pairs and in some Matroska files.
2101
2102
2103 =head3 Options
2104
2105
2106
2107 =over 4
2108
2109
2110 =item B<palette>
2111
2112 Specify the global palette used by the bitmaps. When stored in VobSub, the
2113 palette is normally specified in the index file; in Matroska, the palette is
2114 stored in the codec extra-data in the same format as in VobSub. In DVDs, the
2115 palette is stored in the IFO file, and therefore not available when reading
2116 from dumped VOB files.
2117
2118 The format for this option is a string containing 16 24-bits hexadecimal
2119 numbers (without 0x prefix) separated by comas, for example C<0d00ee,
2120 ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
2121 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b>.
2122
2123 =back
2124
2125
2126
2127 =head1 ENCODERS
2128
2129
2130 Encoders are configured elements in FFmpeg which allow the encoding of
2131 multimedia streams.
2132
2133 When you configure your FFmpeg build, all the supported native encoders
2134 are enabled by default. Encoders requiring an external library must be enabled
2135 manually via the corresponding C<--enable-lib> option. You can list all
2136 available encoders using the configure option C<--list-encoders>.
2137
2138 You can disable all the encoders with the configure option
2139 C<--disable-encoders> and selectively enable / disable single encoders
2140 with the options C<--enable-encoder=I<ENCODER>> /
2141 C<--disable-encoder=I<ENCODER>>.
2142
2143 The option C<-codecs> of the ff* tools will display the list of
2144 enabled encoders.
2145
2146
2147
2148 =head1 AUDIO ENCODERS
2149
2150
2151 A description of some of the currently available audio encoders
2152 follows.
2153
2154
2155 =head2 ac3 and ac3_fixed
2156
2157
2158 AC-3 audio encoders.
2159
2160 These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as
2161 the undocumented RealAudio 3 (a.k.a. dnet).
2162
2163 The I<ac3> encoder uses floating-point math, while the I<ac3_fixed>
2164 encoder only uses fixed-point integer math. This does not mean that one is
2165 always faster, just that one or the other may be better suited to a
2166 particular system. The floating-point encoder will generally produce better
2167 quality audio for a given bitrate. The I<ac3_fixed> encoder is not the
2168 default codec for any of the output formats, so it must be specified explicitly
2169 using the option C<-acodec ac3_fixed> in order to use it.
2170
2171
2172 =head3 AC-3 Metadata
2173
2174
2175 The AC-3 metadata options are used to set parameters that describe the audio,
2176 but in most cases do not affect the audio encoding itself. Some of the options
2177 do directly affect or influence the decoding and playback of the resulting
2178 bitstream, while others are just for informational purposes. A few of the
2179 options will add bits to the output stream that could otherwise be used for
2180 audio data, and will thus affect the quality of the output. Those will be
2181 indicated accordingly with a note in the option list below.
2182
2183 These parameters are described in detail in several publicly-available
2184 documents.
2185
2186 =over 4
2187
2188
2189 =item *<E<lt>B<http://www.atsc.org/cms/standards/a_52-2010.pdf>E<gt>>
2190
2191
2192 =item *<E<lt>B<http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf>E<gt>>
2193
2194
2195 =item *<E<lt>B<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf>E<gt>>
2196
2197
2198 =item *<E<lt>B<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf>E<gt>>
2199
2200
2201 =back
2202
2203
2204
2205 =head4 Metadata Control Options
2206
2207
2208
2209 =over 4
2210
2211
2212
2213 =item B<-per_frame_metadata> I<boolean>
2214
2215 Allow Per-Frame Metadata. Specifies if the encoder should check for changing
2216 metadata for each frame.
2217
2218 =over 4
2219
2220
2221 =item B<0>
2222
2223 The metadata values set at initialization will be used for every frame in the
2224 stream. (default)
2225
2226 =item B<1>
2227
2228 Metadata values can be changed before encoding each frame.
2229
2230 =back
2231
2232
2233
2234 =back
2235
2236
2237
2238 =head4 Downmix Levels
2239
2240
2241
2242 =over 4
2243
2244
2245
2246 =item B<-center_mixlev> I<level>
2247
2248 Center Mix Level. The amount of gain the decoder should apply to the center
2249 channel when downmixing to stereo. This field will only be written to the
2250 bitstream if a center channel is present. The value is specified as a scale
2251 factor. There are 3 valid values:
2252
2253 =over 4
2254
2255
2256 =item B<0.707>
2257
2258 Apply -3dB gain
2259
2260 =item B<0.595>
2261
2262 Apply -4.5dB gain (default)
2263
2264 =item B<0.500>
2265
2266 Apply -6dB gain
2267
2268 =back
2269
2270
2271
2272 =item B<-surround_mixlev> I<level>
2273
2274 Surround Mix Level. The amount of gain the decoder should apply to the surround
2275 channel(s) when downmixing to stereo. This field will only be written to the
2276 bitstream if one or more surround channels are present. The value is specified
2277 as a scale factor. There are 3 valid values:
2278
2279 =over 4
2280
2281
2282 =item B<0.707>
2283
2284 Apply -3dB gain
2285
2286 =item B<0.500>
2287
2288 Apply -6dB gain (default)
2289
2290 =item B<0.000>
2291
2292 Silence Surround Channel(s)
2293
2294 =back
2295
2296
2297
2298 =back
2299
2300
2301
2302 =head4 Audio Production Information
2303
2304 Audio Production Information is optional information describing the mixing
2305 environment. Either none or both of the fields are written to the bitstream.
2306
2307
2308 =over 4
2309
2310
2311
2312 =item B<-mixing_level> I<number>
2313
2314 Mixing Level. Specifies peak sound pressure level (SPL) in the production
2315 environment when the mix was mastered. Valid values are 80 to 111, or -1 for
2316 unknown or not indicated. The default value is -1, but that value cannot be
2317 used if the Audio Production Information is written to the bitstream. Therefore,
2318 if the C<room_type> option is not the default value, the C<mixing_level>
2319 option must not be -1.
2320
2321
2322 =item B<-room_type> I<type>
2323
2324 Room Type. Describes the equalization used during the final mixing session at
2325 the studio or on the dubbing stage. A large room is a dubbing stage with the
2326 industry standard X-curve equalization; a small room has flat equalization.
2327 This field will not be written to the bitstream if both the C<mixing_level>
2328 option and the C<room_type> option have the default values.
2329
2330 =over 4
2331
2332
2333 =item B<0>
2334
2335
2336 =item B<notindicated>
2337
2338 Not Indicated (default)
2339
2340 =item B<1>
2341
2342
2343 =item B<large>
2344
2345 Large Room
2346
2347 =item B<2>
2348
2349
2350 =item B<small>
2351
2352 Small Room
2353
2354 =back
2355
2356
2357
2358 =back
2359
2360
2361
2362 =head4 Other Metadata Options
2363
2364
2365
2366 =over 4
2367
2368
2369
2370 =item B<-copyright> I<boolean>
2371
2372 Copyright Indicator. Specifies whether a copyright exists for this audio.
2373
2374 =over 4
2375
2376
2377 =item B<0>
2378
2379
2380 =item B<off>
2381
2382 No Copyright Exists (default)
2383
2384 =item B<1>
2385
2386
2387 =item B<on>
2388
2389 Copyright Exists
2390
2391 =back
2392
2393
2394
2395 =item B<-dialnorm> I<value>
2396
2397 Dialogue Normalization. Indicates how far the average dialogue level of the
2398 program is below digital 100% full scale (0 dBFS). This parameter determines a
2399 level shift during audio reproduction that sets the average volume of the
2400 dialogue to a preset level. The goal is to match volume level between program
2401 sources. A value of -31dB will result in no volume level change, relative to
2402 the source volume, during audio reproduction. Valid values are whole numbers in
2403 the range -31 to -1, with -31 being the default.
2404
2405
2406 =item B<-dsur_mode> I<mode>
2407
2408 Dolby Surround Mode. Specifies whether the stereo signal uses Dolby Surround
2409 (Pro Logic). This field will only be written to the bitstream if the audio
2410 stream is stereo. Using this option does B<NOT> mean the encoder will actually
2411 apply Dolby Surround processing.
2412
2413 =over 4
2414
2415
2416 =item B<0>
2417
2418
2419 =item B<notindicated>
2420
2421 Not Indicated (default)
2422
2423 =item B<1>
2424
2425
2426 =item B<off>
2427
2428 Not Dolby Surround Encoded
2429
2430 =item B<2>
2431
2432
2433 =item B<on>
2434
2435 Dolby Surround Encoded
2436
2437 =back
2438
2439
2440
2441 =item B<-original> I<boolean>
2442
2443 Original Bit Stream Indicator. Specifies whether this audio is from the
2444 original source and not a copy.
2445
2446 =over 4
2447
2448
2449 =item B<0>
2450
2451
2452 =item B<off>
2453
2454 Not Original Source
2455
2456 =item B<1>
2457
2458
2459 =item B<on>
2460
2461 Original Source (default)
2462
2463 =back
2464
2465
2466
2467 =back
2468
2469
2470
2471 =head3 Extended Bitstream Information
2472
2473 The extended bitstream options are part of the Alternate Bit Stream Syntax as
2474 specified in Annex D of the A/52:2010 standard. It is grouped into 2 parts.
2475 If any one parameter in a group is specified, all values in that group will be
2476 written to the bitstream. Default values are used for those that are written
2477 but have not been specified. If the mixing levels are written, the decoder
2478 will use these values instead of the ones specified in the C<center_mixlev>
2479 and C<surround_mixlev> options if it supports the Alternate Bit Stream
2480 Syntax.
2481
2482
2483 =head4 Extended Bitstream Information - Part 1
2484
2485
2486
2487 =over 4
2488
2489
2490
2491 =item B<-dmix_mode> I<mode>
2492
2493 Preferred Stereo Downmix Mode. Allows the user to select either Lt/Rt
2494 (Dolby Surround) or Lo/Ro (normal stereo) as the preferred stereo downmix mode.
2495
2496 =over 4
2497
2498
2499 =item B<0>
2500
2501
2502 =item B<notindicated>
2503
2504 Not Indicated (default)
2505
2506 =item B<1>
2507
2508
2509 =item B<ltrt>
2510
2511 Lt/Rt Downmix Preferred
2512
2513 =item B<2>
2514
2515
2516 =item B<loro>
2517
2518 Lo/Ro Downmix Preferred
2519
2520 =back
2521
2522
2523
2524 =item B<-ltrt_cmixlev> I<level>
2525
2526 Lt/Rt Center Mix Level. The amount of gain the decoder should apply to the
2527 center channel when downmixing to stereo in Lt/Rt mode.
2528
2529 =over 4
2530
2531
2532 =item B<1.414>
2533
2534 Apply +3dB gain
2535
2536 =item B<1.189>
2537
2538 Apply +1.5dB gain
2539
2540 =item B<1.000>
2541
2542 Apply 0dB gain
2543
2544 =item B<0.841>
2545
2546 Apply -1.5dB gain
2547
2548 =item B<0.707>
2549
2550 Apply -3.0dB gain
2551
2552 =item B<0.595>
2553
2554 Apply -4.5dB gain (default)
2555
2556 =item B<0.500>
2557
2558 Apply -6.0dB gain
2559
2560 =item B<0.000>
2561
2562 Silence Center Channel
2563
2564 =back
2565
2566
2567
2568 =item B<-ltrt_surmixlev> I<level>
2569
2570 Lt/Rt Surround Mix Level. The amount of gain the decoder should apply to the
2571 surround channel(s) when downmixing to stereo in Lt/Rt mode.
2572
2573 =over 4
2574
2575
2576 =item B<0.841>
2577
2578 Apply -1.5dB gain
2579
2580 =item B<0.707>
2581
2582 Apply -3.0dB gain
2583
2584 =item B<0.595>
2585
2586 Apply -4.5dB gain
2587
2588 =item B<0.500>
2589
2590 Apply -6.0dB gain (default)
2591
2592 =item B<0.000>
2593
2594 Silence Surround Channel(s)
2595
2596 =back
2597
2598
2599
2600 =item B<-loro_cmixlev> I<level>
2601
2602 Lo/Ro Center Mix Level. The amount of gain the decoder should apply to the
2603 center channel when downmixing to stereo in Lo/Ro mode.
2604
2605 =over 4
2606
2607
2608 =item B<1.414>
2609
2610 Apply +3dB gain
2611
2612 =item B<1.189>
2613
2614 Apply +1.5dB gain
2615
2616 =item B<1.000>
2617
2618 Apply 0dB gain
2619
2620 =item B<0.841>
2621
2622 Apply -1.5dB gain
2623
2624 =item B<0.707>
2625
2626 Apply -3.0dB gain
2627
2628 =item B<0.595>
2629
2630 Apply -4.5dB gain (default)
2631
2632 =item B<0.500>
2633
2634 Apply -6.0dB gain
2635
2636 =item B<0.000>
2637
2638 Silence Center Channel
2639
2640 =back
2641
2642
2643
2644 =item B<-loro_surmixlev> I<level>
2645
2646 Lo/Ro Surround Mix Level. The amount of gain the decoder should apply to the
2647 surround channel(s) when downmixing to stereo in Lo/Ro mode.
2648
2649 =over 4
2650
2651
2652 =item B<0.841>
2653
2654 Apply -1.5dB gain
2655
2656 =item B<0.707>
2657
2658 Apply -3.0dB gain
2659
2660 =item B<0.595>
2661
2662 Apply -4.5dB gain
2663
2664 =item B<0.500>
2665
2666 Apply -6.0dB gain (default)
2667
2668 =item B<0.000>
2669
2670 Silence Surround Channel(s)
2671
2672 =back
2673
2674
2675
2676 =back
2677
2678
2679
2680 =head4 Extended Bitstream Information - Part 2
2681
2682
2683
2684 =over 4
2685
2686
2687
2688 =item B<-dsurex_mode> I<mode>
2689
2690 Dolby Surround EX Mode. Indicates whether the stream uses Dolby Surround EX
2691 (7.1 matrixed to 5.1). Using this option does B<NOT> mean the encoder will actually
2692 apply Dolby Surround EX processing.
2693
2694 =over 4
2695
2696
2697 =item B<0>
2698
2699
2700 =item B<notindicated>
2701
2702 Not Indicated (default)
2703
2704 =item B<1>
2705
2706
2707 =item B<on>
2708
2709 Dolby Surround EX Off
2710
2711 =item B<2>
2712
2713
2714 =item B<off>
2715
2716 Dolby Surround EX On
2717
2718 =back
2719
2720
2721
2722 =item B<-dheadphone_mode> I<mode>
2723
2724 Dolby Headphone Mode. Indicates whether the stream uses Dolby Headphone
2725 encoding (multi-channel matrixed to 2.0 for use with headphones). Using this
2726 option does B<NOT> mean the encoder will actually apply Dolby Headphone
2727 processing.
2728
2729 =over 4
2730
2731
2732 =item B<0>
2733
2734
2735 =item B<notindicated>
2736
2737 Not Indicated (default)
2738
2739 =item B<1>
2740
2741
2742 =item B<on>
2743
2744 Dolby Headphone Off
2745
2746 =item B<2>
2747
2748
2749 =item B<off>
2750
2751 Dolby Headphone On
2752
2753 =back
2754
2755
2756
2757 =item B<-ad_conv_type> I<type>
2758
2759 A/D Converter Type. Indicates whether the audio has passed through HDCD A/D
2760 conversion.
2761
2762 =over 4
2763
2764
2765 =item B<0>
2766
2767
2768 =item B<standard>
2769
2770 Standard A/D Converter (default)
2771
2772 =item B<1>
2773
2774
2775 =item B<hdcd>
2776
2777 HDCD A/D Converter
2778
2779 =back
2780
2781
2782
2783 =back
2784
2785
2786
2787 =head3 Other AC-3 Encoding Options
2788
2789
2790
2791 =over 4
2792
2793
2794
2795 =item B<-stereo_rematrixing> I<boolean>
2796
2797 Stereo Rematrixing. Enables/Disables use of rematrixing for stereo input. This
2798 is an optional AC-3 feature that increases quality by selectively encoding
2799 the left/right channels as mid/side. This option is enabled by default, and it
2800 is highly recommended that it be left as enabled except for testing purposes.
2801
2802
2803 =back
2804
2805
2806
2807 =head3 Floating-Point-Only AC-3 Encoding Options
2808
2809
2810 These options are only valid for the floating-point encoder and do not exist
2811 for the fixed-point encoder due to the corresponding features not being
2812 implemented in fixed-point.
2813
2814
2815 =over 4
2816
2817
2818
2819 =item B<-channel_coupling> I<boolean>
2820
2821 Enables/Disables use of channel coupling, which is an optional AC-3 feature
2822 that increases quality by combining high frequency information from multiple
2823 channels into a single channel. The per-channel high frequency information is
2824 sent with less accuracy in both the frequency and time domains. This allows
2825 more bits to be used for lower frequencies while preserving enough information
2826 to reconstruct the high frequencies. This option is enabled by default for the
2827 floating-point encoder and should generally be left as enabled except for
2828 testing purposes or to increase encoding speed.
2829
2830 =over 4
2831
2832
2833 =item B<-1>
2834
2835
2836 =item B<auto>
2837
2838 Selected by Encoder (default)
2839
2840 =item B<0>
2841
2842
2843 =item B<off>
2844
2845 Disable Channel Coupling
2846
2847 =item B<1>
2848
2849
2850 =item B<on>
2851
2852 Enable Channel Coupling
2853
2854 =back
2855
2856
2857
2858 =item B<-cpl_start_band> I<number>
2859
2860 Coupling Start Band. Sets the channel coupling start band, from 1 to 15. If a
2861 value higher than the bandwidth is used, it will be reduced to 1 less than the
2862 coupling end band. If I<auto> is used, the start band will be determined by
2863 the encoder based on the bit rate, sample rate, and channel layout. This option
2864 has no effect if channel coupling is disabled.
2865
2866 =over 4
2867
2868
2869 =item B<-1>
2870
2871
2872 =item B<auto>
2873
2874 Selected by Encoder (default)
2875
2876 =back
2877
2878
2879
2880 =back
2881
2882
2883
2884
2885 =head1 VIDEO ENCODERS
2886
2887
2888 A description of some of the currently available video encoders
2889 follows.
2890
2891
2892 =head2 libtheora
2893
2894
2895 Theora format supported through libtheora.
2896
2897 Requires the presence of the libtheora headers and library during
2898 configuration. You need to explicitly configure the build with
2899 C<--enable-libtheora>.
2900
2901
2902 =head3 Options
2903
2904
2905 The following global options are mapped to internal libtheora options
2906 which affect the quality and the bitrate of the encoded stream.
2907
2908
2909 =over 4
2910
2911
2912 =item B<b>
2913
2914 Set the video bitrate, only works if the C<qscale> flag in
2915 B<flags> is not enabled.
2916
2917
2918 =item B<flags>
2919
2920 Used to enable constant quality mode encoding through the
2921 B<qscale> flag, and to enable the C<pass1> and C<pass2>
2922 modes.
2923
2924
2925 =item B<g>
2926
2927 Set the GOP size.
2928
2929
2930 =item B<global_quality>
2931
2932 Set the global quality in lambda units, only works if the
2933 C<qscale> flag in B<flags> is enabled. The value is clipped
2934 in the [0 - 10*C<FF_QP2LAMBDA>] range, and then multiplied for 6.3
2935 to get a value in the native libtheora range [0-63]. A higher value
2936 corresponds to a higher quality.
2937
2938 For example, to set maximum constant quality encoding with
2939 B<ffmpeg>:
2940
2941 ffmpeg -i INPUT -flags:v qscale -global_quality:v "10*QP2LAMBDA" -codec:v libtheora OUTPUT.ogg
2942
2943
2944 =back
2945
2946
2947
2948 =head2 libvpx
2949
2950
2951 VP8 format supported through libvpx.
2952
2953 Requires the presence of the libvpx headers and library during configuration.
2954 You need to explicitly configure the build with C<--enable-libvpx>.
2955
2956
2957 =head3 Options
2958
2959
2960 Mapping from FFmpeg to libvpx options with conversion notes in parentheses.
2961
2962
2963 =over 4
2964
2965
2966
2967 =item B<threads>
2968
2969 g_threads
2970
2971
2972 =item B<profile>
2973
2974 g_profile
2975
2976
2977 =item B<vb>
2978
2979 rc_target_bitrate
2980
2981
2982 =item B<g>
2983
2984 kf_max_dist
2985
2986
2987 =item B<keyint_min>
2988
2989 kf_min_dist
2990
2991
2992 =item B<qmin>
2993
2994 rc_min_quantizer
2995
2996
2997 =item B<qmax>
2998
2999 rc_max_quantizer
3000
3001
3002 =item B<bufsize, vb>
3003
3004 rc_buf_sz
3005 C<(bufsize * 1000 / vb)>
3006
3007 rc_buf_optimal_sz
3008 C<(bufsize * 1000 / vb * 5 / 6)>
3009
3010
3011 =item B<rc_init_occupancy, vb>
3012
3013 rc_buf_initial_sz
3014 C<(rc_init_occupancy * 1000 / vb)>
3015
3016
3017 =item B<rc_buffer_aggressivity>
3018
3019 rc_undershoot_pct
3020
3021
3022 =item B<skip_threshold>
3023
3024 rc_dropframe_thresh
3025
3026
3027 =item B<qcomp>
3028
3029 rc_2pass_vbr_bias_pct
3030
3031
3032 =item B<maxrate, vb>
3033
3034 rc_2pass_vbr_maxsection_pct
3035 C<(maxrate * 100 / vb)>
3036
3037
3038 =item B<minrate, vb>
3039
3040 rc_2pass_vbr_minsection_pct
3041 C<(minrate * 100 / vb)>
3042
3043
3044 =item B<minrate, maxrate, vb>
3045
3046 C<VPX_CBR>
3047 C<(minrate == maxrate == vb)>
3048
3049
3050 =item B<crf>
3051
3052 C<VPX_CQ>, C<VP8E_SET_CQ_LEVEL>
3053
3054
3055 =item B<quality>
3056
3057
3058 =over 4
3059
3060
3061 =item I<best>
3062
3063 C<VPX_DL_BEST_QUALITY>
3064
3065 =item I<good>
3066
3067 C<VPX_DL_GOOD_QUALITY>
3068
3069 =item I<realtime>
3070
3071 C<VPX_DL_REALTIME>
3072
3073 =back
3074
3075
3076
3077 =item B<speed>
3078
3079 C<VP8E_SET_CPUUSED>
3080
3081
3082 =item B<nr>
3083
3084 C<VP8E_SET_NOISE_SENSITIVITY>
3085
3086
3087 =item B<mb_threshold>
3088
3089 C<VP8E_SET_STATIC_THRESHOLD>
3090
3091
3092 =item B<slices>
3093
3094 C<VP8E_SET_TOKEN_PARTITIONS>
3095
3096
3097 =item B<max-intra-rate>
3098
3099 C<VP8E_SET_MAX_INTRA_BITRATE_PCT>
3100
3101
3102 =item B<force_key_frames>
3103
3104 C<VPX_EFLAG_FORCE_KF>
3105
3106
3107 =item B<Alternate reference frame related>
3108
3109
3110 =over 4
3111
3112
3113 =item B<vp8flags altref>
3114
3115 C<VP8E_SET_ENABLEAUTOALTREF>
3116
3117 =item I<arnr_max_frames>
3118
3119 C<VP8E_SET_ARNR_MAXFRAMES>
3120
3121 =item I<arnr_type>
3122
3123 C<VP8E_SET_ARNR_TYPE>
3124
3125 =item I<arnr_strength>
3126
3127 C<VP8E_SET_ARNR_STRENGTH>
3128
3129 =item I<rc_lookahead>
3130
3131 g_lag_in_frames
3132
3133 =back
3134
3135
3136
3137 =item B<vp8flags error_resilient>
3138
3139 g_error_resilient
3140
3141
3142 =back
3143
3144
3145 For more information about libvpx see:
3146 E<lt>B<http://www.webmproject.org/>E<gt>
3147
3148
3149 =head2 libx264
3150
3151
3152 x264 H.264/MPEG-4 AVC encoder wrapper
3153
3154 Requires the presence of the libx264 headers and library during
3155 configuration. You need to explicitly configure the build with
3156 C<--enable-libx264>.
3157
3158 x264 supports an impressive number of features, including 8x8 and 4x4 adaptive
3159 spatial transform, adaptive B-frame placement, CAVLC/CABAC entropy coding,
3160 interlacing (MBAFF), lossless mode, psy optimizations for detail retention
3161 (adaptive quantization, psy-RD, psy-trellis).
3162
3163 The FFmpeg wrapper provides a mapping for most of them using global options
3164 that match those of the encoders and provides private options for the unique
3165 encoder options. Additionally an expert override is provided to directly pass
3166 a list of key=value tuples as accepted by x264_param_parse.
3167
3168
3169 =head3 Option Mapping
3170
3171
3172 The following options are supported by the x264 wrapper, the x264-equivalent
3173 options follow the FFmpeg ones.
3174
3175
3176 =over 4
3177
3178
3179 =item B<b : bitrate>
3180
3181 FFmpeg C<b> option is expressed in bits/s, x264 C<bitrate> in kilobits/s.
3182
3183 =item B<bf : bframes>
3184
3185 Maximum number of B-frames.
3186
3187 =item B<g : keyint>
3188
3189 Maximum GOP size.
3190
3191 =item B<qmin : qpmin>
3192
3193
3194 =item B<qmax : qpmax>
3195
3196
3197 =item B<qdiff : qpstep>
3198
3199
3200 =item B<qblur : qblur>
3201
3202
3203 =item B<qcomp : qcomp>
3204
3205
3206 =item B<refs : ref>
3207
3208
3209 =item B<sc_threshold : scenecut>
3210
3211
3212 =item B<trellis : trellis>
3213
3214
3215 =item B<nr : nr>
3216
3217 Noise reduction.
3218
3219 =item B<me_range : merange>
3220
3221
3222 =item B<me_method : me>
3223
3224
3225 =item B<subq : subme>
3226
3227
3228 =item B<b_strategy : b-adapt>
3229
3230
3231 =item B<keyint_min : keyint-min>
3232
3233
3234 =item B<coder : cabac>
3235
3236 Set coder to C<ac> to use CABAC.
3237
3238 =item B<cmp : chroma-me>
3239
3240 Set to C<chroma> to use chroma motion estimation.
3241
3242 =item B<threads : threads>
3243
3244
3245 =item B<thread_type : sliced_threads>
3246
3247 Set to C<slice> to use sliced threading instead of frame threading.
3248
3249 =item B<flags -cgop : open-gop>
3250
3251 Set C<-cgop> to use recovery points to close GOPs.
3252
3253 =item B<rc_init_occupancy : vbv-init>
3254
3255 Initial buffer occupancy.
3256
3257 =back
3258
3259
3260
3261 =head3 Private Options
3262
3263
3264 =over 4
3265
3266
3267 =item B<-preset> I<string>
3268
3269 Set the encoding preset (cf. x264 --fullhelp).
3270
3271 =item B<-tune> I<string>
3272
3273 Tune the encoding params (cf. x264 --fullhelp).
3274
3275 =item B<-profile> I<string>
3276
3277 Set profile restrictions (cf. x264 --fullhelp).
3278
3279 =item B<-fastfirstpass> I<integer>
3280
3281 Use fast settings when encoding first pass.
3282
3283 =item B<-crf> I<float>
3284
3285 Select the quality for constant quality mode.
3286
3287 =item B<-crf_max> I<float>
3288
3289 In CRF mode, prevents VBV from lowering quality beyond this point.
3290
3291 =item B<-qp> I<integer>
3292
3293 Constant quantization parameter rate control method.
3294
3295 =item B<-aq-mode> I<integer>
3296
3297 AQ method
3298
3299 Possible values:
3300
3301 =over 4
3302
3303
3304 =item B<none>
3305
3306
3307
3308 =item B<variance>
3309
3310 Variance AQ (complexity mask).
3311
3312 =item B<autovariance>
3313
3314 Auto-variance AQ (experimental).
3315
3316 =back
3317
3318
3319 =item B<-aq-strength> I<float>
3320
3321 AQ strength, reduces blocking and blurring in flat and textured areas.
3322
3323 =item B<-psy> I<integer>
3324
3325 Use psychovisual optimizations.
3326
3327 =item B<-psy-rd> I<string>
3328
3329 Strength of psychovisual optimization, in E<lt>psy-rdE<gt>:E<lt>psy-trellisE<gt> format.
3330
3331 =item B<-rc-lookahead> I<integer>
3332
3333 Number of frames to look ahead for frametype and ratecontrol.
3334
3335 =item B<-weightb> I<integer>
3336
3337 Weighted prediction for B-frames.
3338
3339 =item B<-weightp> I<integer>
3340
3341 Weighted prediction analysis method.
3342
3343 Possible values:
3344
3345 =over 4
3346
3347
3348 =item B<none>
3349
3350
3351
3352 =item B<simple>
3353
3354
3355
3356 =item B<smart>
3357
3358
3359
3360 =back
3361
3362
3363 =item B<-ssim> I<integer>
3364
3365 Calculate and print SSIM stats.
3366
3367 =item B<-intra-refresh> I<integer>
3368
3369 Use Periodic Intra Refresh instead of IDR frames.
3370
3371 =item B<-b-bias> I<integer>
3372
3373 Influences how often B-frames are used.
3374
3375 =item B<-b-pyramid> I<integer>
3376
3377 Keep some B-frames as references.
3378
3379 Possible values:
3380
3381 =over 4
3382
3383
3384 =item B<none>
3385
3386
3387
3388 =item B<strict>
3389
3390 Strictly hierarchical pyramid.
3391
3392 =item B<normal>
3393
3394 Non-strict (not Blu-ray compatible).
3395
3396 =back
3397
3398
3399 =item B<-mixed-refs> I<integer>
3400
3401 One reference per partition, as opposed to one reference per macroblock.
3402
3403 =item B<-8x8dct> I<integer>
3404
3405 High profile 8x8 transform.
3406
3407 =item B<-fast-pskip> I<integer>
3408
3409
3410 =item B<-aud> I<integer>
3411
3412 Use access unit delimiters.
3413
3414 =item B<-mbtree> I<integer>
3415
3416 Use macroblock tree ratecontrol.
3417
3418 =item B<-deblock> I<string>
3419
3420 Loop filter parameters, in E<lt>alpha:betaE<gt> form.
3421
3422 =item B<-cplxblur> I<float>
3423
3424 Reduce fluctuations in QP (before curve compression).
3425
3426 =item B<-partitions> I<string>
3427
3428 A comma-separated list of partitions to consider, possible values: p8x8, p4x4, b8x8, i8x8, i4x4, none, all.
3429
3430 =item B<-direct-pred> I<integer>
3431
3432 Direct MV prediction mode
3433
3434 Possible values:
3435
3436 =over 4
3437
3438
3439 =item B<none>
3440
3441
3442
3443 =item B<spatial>
3444
3445
3446
3447 =item B<temporal>
3448
3449
3450
3451 =item B<auto>
3452
3453
3454
3455 =back
3456
3457
3458 =item B<-slice-max-size> I<integer>
3459
3460 Limit the size of each slice in bytes.
3461
3462 =item B<-stats> I<string>
3463
3464 Filename for 2 pass stats.
3465
3466 =item B<-nal-hrd> I<integer>
3467
3468 Signal HRD information (requires vbv-bufsize; cbr not allowed in .mp4).
3469
3470 Possible values:
3471
3472 =over 4
3473
3474
3475 =item B<none>
3476
3477
3478
3479 =item B<vbr>
3480
3481
3482
3483 =item B<cbr>
3484
3485
3486
3487 =back
3488
3489
3490
3491 =item B<x264opts> I<options>
3492
3493 Allow to set any x264 option, see C<x264 --fullhelp> for a list.
3494
3495 I<options> is a list of I<key>=I<value> couples separated by
3496 ":". In I<filter> and I<psy-rd> options that use ":" as a separator
3497 themselves, use "," instead. They accept it as well since long ago but this
3498 is kept undocumented for some reason.
3499
3500 For example to specify libx264 encoding options with B<ffmpeg>:
3501
3502 ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
3503
3504
3505 For more information about libx264 and the supported options see:
3506 E<lt>B<http://www.videolan.org/developers/x264.html>E<gt>
3507
3508
3509 =item B<-x264-params> I<string>
3510
3511 Override the x264 configuration using a :-separated list of key=value parameters.
3512
3513 -x264-params level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subq=6:8x8dct=0:trellis=0
3514
3515
3516 =back
3517
3518
3519 Encoding avpresets for common usages are provided so they can be used with the
3520 general presets system (e.g. passing the C<-pre> option).
3521
3522
3523 =head2 ProRes
3524
3525
3526 Apple ProRes encoder.
3527
3528 FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
3529 The used encoder can be choosen with the C<-vcodec> option.
3530
3531
3532 =head3 Private Options for prores-ks
3533
3534
3535
3536 =over 4
3537
3538
3539 =item B<profile> I<integer>
3540
3541 Select the ProRes profile to encode
3542
3543 =over 4
3544
3545
3546 =item B<proxy>
3547
3548
3549 =item B<lt>
3550
3551
3552 =item B<standard>
3553
3554
3555 =item B<hq>
3556
3557
3558 =back
3559
3560
3561
3562 =item B<quant_mat> I<integer>
3563
3564 Select quantization matrix.
3565
3566 =over 4
3567
3568
3569 =item B<auto>
3570
3571
3572 =item B<default>
3573
3574
3575 =item B<proxy>
3576
3577
3578 =item B<lt>
3579
3580
3581 =item B<standard>
3582
3583
3584 =item B<hq>
3585
3586
3587 =back
3588
3589 If set to I<auto>, the matrix matching the profile will be picked.
3590 If not set, the matrix providing the highest quality, I<default>, will be
3591 picked.
3592
3593
3594 =item B<bits_per_mb> I<integer>
3595
3596 How many bits to allot for coding one macroblock. Different profiles use
3597 between 200 and 2400 bits per macroblock, the maximum is 8000.
3598
3599
3600 =item B<mbs_per_slice> I<integer>
3601
3602 Number of macroblocks in each slice (1-8); the default value (8)
3603 should be good in almost all situations.
3604
3605
3606 =item B<vendor> I<string>
3607
3608 Override the 4-byte vendor ID.
3609 A custom vendor ID like I<apl0> would claim the stream was produced by
3610 the Apple encoder.
3611
3612
3613 =back
3614
3615
3616
3617 =head3 Speed considerations
3618
3619
3620 In the default mode of operation the encoder has to honor frame constraints
3621 (i.e. not produc frames with size bigger than requested) while still making
3622 output picture as good as possible.
3623 A frame containing a lot of small details is harder to compress and the encoder
3624 would spend more time searching for appropriate quantizers for each slice.
3625
3626 Setting a higher B<bits_per_mb> limit will improve the speed.
3627
3628 For the fastest encoding speed set the B<qscale> parameter (4 is the
3629 recommended value) and do not set a size constraint.
3630
3631
3632
3633 =head1 SEE ALSO
3634
3635
3636
3637 ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavcodec(3)
3638
3639
3640 =head1 AUTHORS
3641
3642
3643 The FFmpeg developers.
3644
3645 For details about the authorship, see the Git history of the project
3646 (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
3647 B<git log> in the FFmpeg source directory, or browsing the
3648 online repository at E<lt>B<http://source.ffmpeg.org>E<gt>.
3649
3650 Maintainers for the specific components are listed in the file
3651 F<MAINTAINERS> in the source code tree.
3652
3653
3654