Mercurial > mplayer.hg
annotate DOCS/tech/libavc-options.txt @ 7011:5781b305040a
bug & ver update
author | michael |
---|---|
date | Wed, 14 Aug 2002 23:49:55 +0000 |
parents | 3b1be2b0fa55 |
children | 2eae7ac0fa8b |
rev | line source |
---|---|
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
1 Description of what all those libavcodec options do ... |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
2 WARNING: I am no encoding expert so the recommendations might be bad ... |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
3 if you find any errors, missing stuff, ... send a patch or cvs commit if you |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
4 have an cvs account :) |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
5 |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
6 lavcopts: (encoder options) |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
7 --------------------------- |
6108 | 8 |
6700 | 9 vqmin 2-31 (minimum quantizer) for pass1/2 |
10 1 is not recommended (much larger file, little quality difference (if u are lucky) | |
11 and other weird things (if u are less lucky)) | |
12 weird things: msmpeg4, h263 will be very low quality | |
13 ratecontrol will be confused -> lower quality | |
14 some decoders will not be able to decode it | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
15 2 is recommended for normal mpeg4/mpeg1video encoding |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
16 3 is recommended for h263(p)/msmpeg4 (default) |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
17 the reason for 3 instead of 2 is that 2 could lead to overflows |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
18 (this will be fixed for h263(p) by changing the quanizer per MB in |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
19 the future, but msmpeg4 doesnt support that so it cant be fixed for |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
20 that) |
6108 | 21 |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
22 vqscale 1-31 quantizer for constant quantizer / constant quality encoding |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
23 1 is not recommended (much larger file, little quality difference and |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
24 possible other weird things) |
6108 | 25 lower means better quality but larger files |
26 see vqmin | |
27 | |
28 vqmax 1-31 (maximum quantizer) for pass1/2 | |
29 15 default | |
30 10-31 should be a sane range | |
31 | |
32 vqdiff 1-31 (maximum quantizer difference between I or P frames) for pass1/2 | |
33 3 default | |
34 | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
35 vmax_b_frames 0-4 (maximum number of B frames between non B frames) |
6108 | 36 0 no b frames (default) |
37 | |
38 vme 0-5 (motion estimation) | |
39 0 none (not recommanded, very lq) | |
40 1 full (not recommanded, too slow) | |
41 2 log (not recommanded, lq) | |
42 3 phods (not recommanded, lq) | |
43 4 EPZS (default) | |
44 5 X1 | |
45 | |
46 vhq (high quality mode) | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
47 encode each MB as in all modes and choose the best (this is slow but |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
48 better filesize/quality) |
6108 | 49 disabled by default |
50 | |
51 v4mv | |
52 allow 4 MV per MB (little difference in filesize/quality) | |
53 disabled by default | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
54 cannot be used with B frames (should now work in lq mode) |
6108 | 55 |
56 keyint 0-300 (maximum interval between keyframes) | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
57 keyframes are needed for seeking as seeking is only possible to a |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
58 keyframe but they need more space than non-keyframes so larger numbers here |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
59 mean slightly smaller files, but less precise seeking |
6108 | 60 0 no keyframes |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
61 >300 is not recommended as the quality might be bad (depends upon |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
62 decoder, encoder and luck) |
6108 | 63 |
64 vb_strategy 0-1 for pass 2 | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
65 0 allways use the max number of B frames (default) |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
66 1 avoid B frames in high motion scenes (this will cause bitrate |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
67 misprediction) |
6108 | 68 |
69 vpass | |
70 1 first pass | |
71 2 second pass | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
72 (only need to specify if two-pass encoding is used) |
6108 | 73 |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
74 vbitrate (kbits per second) for pass1/2 |
6108 | 75 800 is default |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
76 (if value is bigger then 16000 it is interpreted as bit not kbit!) |
6108 | 77 |
78 vratetol (filesize tolerance in kbit) for pass1/2 | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
79 this is just an approximation, the real difference can be much smaller |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
80 or larger |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
81 1000-100000 is a sane range |
6108 | 82 8000 is default |
83 | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
84 vb_qfactor (1.0-31.0) for pass1/2 |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
85 (B-Frame quantizer = IP-Frame quantizer * vb_qfactor) |
6108 | 86 2.0 is default |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
87 tip: to do constant quantizer encoding with different quantizers for |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
88 I/P and B frames you can use: |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
89 vqmin=<ip_quant>:vqmax=<ip_quant>:vb_qfactor=<b_quant/ip_quant> |
6108 | 90 |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
91 vqblur (0.0-1.0) quantizer blur (only for pass1) |
6108 | 92 0.0 qblur disabled |
93 0.5 is the default | |
94 1.0 average the quantizer over all previous frames | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
95 larger values will average the quantizer more over time so that it will |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
96 be changed slower |
6108 | 97 |
98 vqcomp (0.0-1.0) quantizer compression (for pass1/2) | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
99 0.0 constant bitrate encoding, so fast motion frames will get as many |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
100 bits as low motion (high motion scenes look bad) |
6108 | 101 0.5 (default) |
102 1.0 constant quantizer encoding (low motion scenes look bad) | |
103 | |
104 vrc_strategy (0,1,2) | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
105 FIXME (different rate control strategies) |
6108 | 106 |
6256 | 107 vlelim (0-1000) single coefficient elimination threshold for luminance |
108 0 disabled (default) | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
109 4 (JVT recommendation) |
6256 | 110 |
111 vcelim (0-1000) single coefficient elimination threshold for chrominance | |
112 0 disabled (default) | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
113 7 (JVT recommendation) |
6256 | 114 |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
115 vstrict strict standard compliance |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
116 only recommended if you want to feed the output into the mpeg4 reference |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
117 decoder |
6256 | 118 |
119 vdpart data partitioning | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
120 adds 2 byte per video packet |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
121 improves error-resistance when transfering over unreliable channels (eg. |
6322 | 122 streaming over the internet) |
6256 | 123 |
6257 | 124 vpsize (0-10000) video packet size |
125 0 disabled (default) | |
126 500-1000 good choice | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
127 improves error-resistance (see vdpart for more info) |
6257 | 128 |
6552 | 129 gray grayscale only encoding (a bit faster than with color ...) |
130 | |
6256 | 131 lavdopts: (decoder options) |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
132 --------------------------- |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
133 |
6256 | 134 ver error resilience |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
135 -1 needed for some very broken, encoders which completly ignore the |
7011 | 136 standards (one M4S2 asf sample know to need this) (default) |
137 0 | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
138 1 more aggressive error detection, lavc might think that some correct |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
139 streams contain errors |
6256 | 140 |
7011 | 141 bug manual workaround encoder bugs (cant be easily detected automatically) |
6256 | 142 0 (default) |
7011 | 143 1 for msmpeg4v3 workaround for some old lavc generated msmpeg4v3 files |
144 1 for mpeg4 workaround some opendivx? files | |
145 see http://heroinewarrior.com for some samples | |
6256 | 146 |
6549 | 147 gray grayscale only decoding (a bit faster than with color ...) |
148 | |
6256 | 149 |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
150 Notes: 1. lavc will strictly follow the quantizer limits vqmin, vqmax, vqdiff |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
151 even if it violates the bitrate / bitrate tolerance |
6108 | 152 2. changing some options between pass1 & 2 can reduce the quality |
153 | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
154 FAQ: Q: Why is the filesize much too small? |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
155 A: Try to increase vqmin=2 or 1 (be carefull with 1, it could cause |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
156 strange things to happen). |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
157 Q: Can I use -pass 1 & -pass 2 with vmax_b_frames>0 ? |
6322 | 158 A: -pass x uses the divx4 twopass-encoding codem which is incompatible |
159 with the libavcodec encode. | |
160 If you want to fix it read DOCS/tech/patches.txt and send a patch. | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
161 Q: What provides better error recovery while keeping the filesize low? |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
162 Should I increase data partitioning or the number of video packets? |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
163 A: Data partitioning is better in this case. |
6108 | 164 |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
165 Glossary: |
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
166 MB Macroblock (16x16 luminance and 8x8 chrominance samples) |
6108 | 167 MV Motion vector |
168 ME Motion estimation | |
169 MC Motion compensation | |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
170 JVT Joint Video Team Standard -- http://www.itu.int/ITU-T/news/jvtpro.html |
6108 | 171 |
6270
8dfe9b162624
Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents:
6266
diff
changeset
|
172 Examples: |
6256 | 173 mencoder foobar.avi -lavcopts vcodec=mpeg4:vhq:keyint=300:vqscale=2 -o new-foobar.avi |
6547 | 174 mplayer foobar.avi -lavdopts bug=1 |
6322 | 175 |
176 -- | |
177 Written 2002 by Michael Niedermayer and reviewed by Felix Buenemann. | |
178 Check the MPlayer documentation for contact-addresses. | |
179 |