annotate DOCS/tech/libavc-options.txt @ 8478:7988573021e8

disable DPMS handling
author pontscho
date Mon, 16 Dec 2002 19:09:34 +0000
parents 5dc5606f88a4
children 81f01b7b3f6d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
8
6700
3b1be2b0fa55 vqmin=1 weirdness
michael
parents: 6552
diff changeset
9 vqmin 2-31 (minimum quantizer) for pass1/2
3b1be2b0fa55 vqmin=1 weirdness
michael
parents: 6552
diff changeset
10 1 is not recommended (much larger file, little quality difference (if u are lucky)
3b1be2b0fa55 vqmin=1 weirdness
michael
parents: 6552
diff changeset
11 and other weird things (if u are less lucky))
3b1be2b0fa55 vqmin=1 weirdness
michael
parents: 6552
diff changeset
12 weird things: msmpeg4, h263 will be very low quality
3b1be2b0fa55 vqmin=1 weirdness
michael
parents: 6552
diff changeset
13 ratecontrol will be confused -> lower quality
3b1be2b0fa55 vqmin=1 weirdness
michael
parents: 6552
diff changeset
14 some decoders will not be able to decode it
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
15 2 is recommended for normal mpeg4/mpeg1video encoding (default)
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
16 3 is recommended for h263(p)/msmpeg4
6270
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
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
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
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
25 lower means better quality but larger files
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
26 see vqmin
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
27
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
28 vqmax 1-31 (maximum quantizer) for pass1/2
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
29 31 default
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
30 10-31 should be a sane range
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
31
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
32 vqdiff 1-31 (maximum quantizer difference between I or P frames) for pass1/2
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
33 3 default
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
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
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
36 0 no b frames (default)
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
37 0-2 is a sane range for mpeg4
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
38
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
39 vme 0-5 (motion estimation)
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
40 0 none (not recommanded, very lq)
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
41 1 full (not recommanded, too slow)
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
42 2 log (not recommanded, lq)
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
43 3 phods (not recommanded, lq)
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
44 4 EPZS (default)
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
45 5 X1
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
46
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
47 vhq (high quality mode)
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
48 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
49 better filesize/quality)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
50 disabled by default
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
51
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
52 v4mv
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
53 allow 4 MV per MB (little difference in filesize/quality)
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
54 disabled by default
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
55 cannot be used with B frames (should now work in lq mode)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
56
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
57 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
58 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
59 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
60 mean slightly smaller files, but less precise seeking
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
61 0 no keyframes
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
62 >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
63 decoder, encoder and luck)
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
64 for strict mpeg1/2/4 compliance this would have to be <=132
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
65
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
66 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
67 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
68 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
69 misprediction)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
70
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
71 vpass
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
72 1 first pass
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
73 2 second pass
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
74 (only need to specify if two-pass encoding is used)
7496
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
75 Tip: u can try to use constant quantizer mode for pass1 (vqscale=<quantizer>)
8191
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
76 for huffyuv:
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
77 pass 1 saves statistics
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
78 pass 2 encodes with a optimal huffman table based upon the pass 1 stats
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
79
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
80 vbitrate (kbits per second) for pass1/2
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
81 800 is default
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
82 (if value is bigger then 16000 it is interpreted as bit not kbit!)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
83
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
84 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
85 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
86 or larger
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
87 1000-100000 is a sane range
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
88 8000 is default
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
89
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
90 vrc_maxrate (maximum bitrate in kbit/sec) for pass1/2
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
91 vrc_minrate (minimum bitrate in kbit/sec) for pass1/2
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
92 vrc_buf_size (buffer size in kbit) for pass1/2
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
93 this is for stuff like VCD
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
94 VCD: FIXME
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
95 SVCD: ...
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
96 DVD: ...
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
97 Note: vratetol should not be too large during the 2.pass or there might
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
98 be problems if vrc_(min|max)rate is used
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
99
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
100 vb_qfactor (-31.0-31.0) for pass1/2
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
101 1.25 is default
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
102 vi_qfactor (-31.0-31.0) for pass1/2
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
103 0.8 is default
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
104 vb_qoffset (-31.0-31.0) for pass1/2
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
105 1.25 is default
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
106 vi_qoffset (-31.0-31.0) for pass1/2
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
107 0.0 is default
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
108 if v{b|i}_qfactor > 0
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
109 I/B-Frame quantizer = P-Frame quantizer * v{b|i}_qfactor + v{b|i}_qoffset
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
110 else
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
111 do normal ratecontrol (dont lock to next P frame quantizer) and
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
112 set q= -q * v{b|i}_qfactor + v{b|i}_qoffset
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
113 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
114 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
115 vqmin=<ip_quant>:vqmax=<ip_quant>:vb_qfactor=<b_quant/ip_quant>
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
116
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
117 vqblur (0.0-1.0) quantizer blur (pass1)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
118 0.0 qblur disabled
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
119 0.5 is the default
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
120 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
121 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
122 be changed slower
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
123 vqblur (0.0-99.0) quantizer blur (pass2)
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
124 gaussian blur (gaussian blur cant be done during pass 1 as the future quantizers arent known)
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
125 0.5 is the default
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
126 larger values will average the quantizer more over time so that it will
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
127 be changed slower
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
128
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
129 vqcomp quantizer compression (for pass1/2)
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
130 depends upon vrc_eq
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
131
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
132 vrc_eq the main ratecontrol equation (for pass1/2)
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
133 1 constant bitrate
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
134 tex constant quality
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
135 1+(tex/avgTex-1)*qComp approximately the equation of the old ratecontrol code
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
136 tex^qComp with qcomp 0.5 or something like that (default)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
137
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
138 infix operators: +,-,*,/,^
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
139 variables:
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
140 tex texture complexity
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
141 iTex,pTex intra, non intra texture complexity
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
142 avgTex average texture complexity
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
143 avgIITex average intra texture complexity in I frames
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
144 avgPITex average intra texture complexity in P frames
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
145 avgPPTex average non intra texture complexity in P frames
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
146 avgBPTex average non intra texture complexity in B frames
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
147 mv bits used for MVs
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
148 fCode maximum length of MV in log2 scale
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
149 iCount number of intra MBs / number of MBs
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
150 var spatial complexity
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
151 mcVar temporal complexity
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
152 qComp qcomp from the command line
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
153 isI, isP, isB is 1 if picture type is I/P/B else 0
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
154 Pi,E see ur favorite math book
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
155
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
156 functions:
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
157 max(a,b),min(a,b) maximum / minimum
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
158 gt(a,b) is 1 if a>b, 0 otherwise
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
159 lt(a,b) is 1 if a<b, 0 otherwise
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
160 eq(a,b) is 1 if a==b,0 otherwise
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
161 sin,cos,tan,sinh,cosh,tanh,exp,log,abs
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
162
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
163 vrc_override user specified quality for specific parts (ending credits ...) (for pass1/2)
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
164 <start-frame>,<end-frame>,<quality>[/<start-frame>,<end-frame>,<quality>[/...]]
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
165 quality 2..31 -> quantizer
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
166 quality -500..0 -> quality correcture in %
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
167
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
168 vrc_init_cplx (0-1000) initial complexity for pass1
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
169
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
170 vqsquish (0 or 1) for pass1/2 how to keep the quantizer between qmin & qmax
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
171 0 use cliping
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
172 1 use a nice differentiable function (default)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
173
7039
2eae7ac0fa8b same behavior for luma & chroma single coeff elimination
michael
parents: 7011
diff changeset
174 vlelim (-1000-1000) single coefficient elimination threshold for luminance
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
175 0 disabled (default)
7039
2eae7ac0fa8b same behavior for luma & chroma single coeff elimination
michael
parents: 7011
diff changeset
176 -4 (JVT recommendation)
2eae7ac0fa8b same behavior for luma & chroma single coeff elimination
michael
parents: 7011
diff changeset
177 negative values will allso consider the dc coefficient
2eae7ac0fa8b same behavior for luma & chroma single coeff elimination
michael
parents: 7011
diff changeset
178 should be at least -4 or lower for encoding at quant=1
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
179
7039
2eae7ac0fa8b same behavior for luma & chroma single coeff elimination
michael
parents: 7011
diff changeset
180 vcelim (-1000-1000) single coefficient elimination threshold for chrominance
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
181 0 disabled (default)
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
182 7 (JVT recommendation)
7039
2eae7ac0fa8b same behavior for luma & chroma single coeff elimination
michael
parents: 7011
diff changeset
183 negative values will allso consider the dc coefficient
2eae7ac0fa8b same behavior for luma & chroma single coeff elimination
michael
parents: 7011
diff changeset
184 should be at least -4 or lower for encoding at quant=1
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
185
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
186 vstrict strict standard compliance
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
187 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
188 decoder
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
189
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
190 vdpart data partitioning
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
191 adds 2 byte per video packet
7724
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
192 each videopacket will be encoded in 3 seperate partitions:
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
193 1. MVs (=movement)
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
194 2. DC coefficients (=low res picture)
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
195 3. AC coefficients (=details)
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
196 the MV & DC are most important, loosing them looks far worse than
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
197 loosing the AC and the 1. & 2. partition (MV&DC) are far smaller than
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
198 the 3. partition (AC) -> errors will hit the AC partition much more
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
199 often than the MV&DC -> the picture will look better with partitioning
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
200 than without, as without partitining an error will trash AC/DC/MV
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
201 equally
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
202 improves error-resistance when transfering over unreliable channels (eg.
6322
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
203 streaming over the internet)
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
204
6257
f5afd6d4d52f forgot vpsize
michael
parents: 6256
diff changeset
205 vpsize (0-10000) video packet size
f5afd6d4d52f forgot vpsize
michael
parents: 6256
diff changeset
206 0 disabled (default)
7724
619fd5403fd0 more info about data partitioning
michael
parents: 7722
diff changeset
207 100-1000 good choice
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
208 improves error-resistance (see vdpart for more info)
6257
f5afd6d4d52f forgot vpsize
michael
parents: 6256
diff changeset
209
6552
3237a39563a1 gray encoding
michael
parents: 6549
diff changeset
210 gray grayscale only encoding (a bit faster than with color ...)
3237a39563a1 gray encoding
michael
parents: 6549
diff changeset
211
7236
michael
parents: 7188
diff changeset
212 vfdct (0-99) dct algorithm
7179
a258b9b7669e dct_algo
michael
parents: 7088
diff changeset
213 0 automatically select a good one (default)
a258b9b7669e dct_algo
michael
parents: 7088
diff changeset
214 1 fast integer
a258b9b7669e dct_algo
michael
parents: 7088
diff changeset
215 2 accurate integer
a258b9b7669e dct_algo
michael
parents: 7088
diff changeset
216 3 mmx
a258b9b7669e dct_algo
michael
parents: 7088
diff changeset
217 4 mlib
7619
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
218
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
219 idct (0-99) idct algorithm
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
220 0 automatically select a good one (default)
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
221 1 jpeg reference integer
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
222 2 simple
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
223 3 simplemmx
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
224 4 libmpeg2mmx (inaccurate, DONT USE for encoding with keyint >100)
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
225 5 ps2
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
226 6 mlib
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
227 7 arm
7623
eea9475cb37f typo (found by alex)
michael
parents: 7619
diff changeset
228 note: all these IDCTs do pass the IEEE1180 tests AFAIK
7179
a258b9b7669e dct_algo
michael
parents: 7088
diff changeset
229
7496
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
230 lumi_mask (0.0-1.0) luminance masking
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
231 0.0 disabled (default)
7619
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
232 0.0-0.3 should be a sane range
7496
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
233 warning: be carefull, too large values can cause disasterous things
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
234 warning2: large values might look good on some monitors but may look horrible
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
235 on other monitors
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
236
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
237 dark_mask (0.0-1.0) darkness masking
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
238 0.0 disabled (default)
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
239 0.0-0.3 should be a sane range
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
240 warning: be carefull, too large values can cause disasterous things
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
241 warning2: large values might look good on some monitors but may look horrible
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
242 on other monitors / TV / TFT
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
243
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
244 tcplx_mask (0.0-1.0) temporal complexity masking
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
245 0.0 disabled (default)
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
246
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
247 scplx_mask (0.0-1.0) spatial complexity masking
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
248 0.0 disabled (default)
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
249 0.0-0.5 should be a sane range
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
250 larger values help against blockiness, if no deblocking filter is used
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
251 for decoding
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
252 Tip: crop any black borders completly away as they will reduce the quality
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
253 of the MBs there, this is true if scplx_mask isnt used at all too
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
254
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
255 naq normalize adaptive quantization
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
256 experimental
7619
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
257
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
258 ildct use interlaced dct
7496
3d35a56799fc darkmasking & docs
michael
parents: 7381
diff changeset
259
8191
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
260 format
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
261 YV12 (default)
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
262 422P (for huffyuv)
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
263
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
264 pred (for huffyuv)
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
265 0 left prediction
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
266 1 plane/gradient prediction
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
267 2 median prediction
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
268
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
269 lavdopts: (decoder options)
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
270 ---------------------------
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
271
7722
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
272 ec error concealment
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
273 1 use strong deblock filter for damaged MBs
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
274 2 iterative MV search (slow)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
275 3 all (default)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
276 Note: just add the ones u want to enable
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
277
7722
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
278 er error resilience
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
279 0 disabled
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
280 1 carefull (should work with broken encoders)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
281 2 normal (default) (works with compliant encoders)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
282 3 agressive (more checks but might cause problems even for valid bitstreams)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
283 4 very agressive
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
284
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
285 bug manual workaround encoder bugs (autodetection isnt foolproof for these)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
286 0 nothing
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
287 1 autodetect bugs (default)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
288 2 for msmpeg4v3 some old lavc generated msmpeg4v3 files (no autodetect)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
289 4 for mpeg4 xvid interlacing bug (autodetected if fourcc==XVIX)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
290 8 for mpeg4 UMP4 (autodetected if fourcc==UMP4)
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
291 16for mpeg4 padding bug
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
292 32for mpeg4 illegal vlc bug (autodetected per fourcc)
8191
5dc5606f88a4 ffhuffyuv docs
michael
parents: 7849
diff changeset
293 64for mpeg4 XVID&DIVX qpel bug (autodetected)
7722
a181875e0aa8 new error resilience support
michael
parents: 7623
diff changeset
294 Note: just add the ones u want to enable
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
295
6549
michael
parents: 6547
diff changeset
296 gray grayscale only decoding (a bit faster than with color ...)
michael
parents: 6547
diff changeset
297
7619
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
298 idct see lavcopts
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
299 note: the decoding quality is highest if the same idct algorithm is used
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
300 for decoding as for encoding, this is often not the most accurate though
dd01f9afcd45 forgot docs (again ...)
michael
parents: 7496
diff changeset
301
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
302
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
303 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
304 even if it violates the bitrate / bitrate tolerance
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
305 2. changing some options between pass1 & 2 can reduce the quality
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
306
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
307 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
308 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
309 strange things to happen).
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
310 Q: Can I use -pass 1 & -pass 2 with vmax_b_frames>0 ?
6322
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
311 A: -pass x uses the divx4 twopass-encoding codem which is incompatible
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
312 with the libavcodec encode.
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
313 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
314 Q: What provides better error recovery while keeping the filesize low?
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
315 Should I use data partitioning or increase the number of video packets?
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
316 A: Data partitioning is better in this case.
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
317
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
318 Glossary:
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
319 MB Macroblock (16x16 luminance and 8x8 chrominance samples)
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
320 MV Motion vector
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
321 ME Motion estimation
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
322 MC Motion compensation
7088
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
323 RC Rate control
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
324 DCT Discrete Cosine Transform
9a0017ee11aa support for the new ratecontrol code
michael
parents: 7039
diff changeset
325 IDCT Inverse Discrete Cosine Transform
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
326 JVT Joint Video Team Standard -- http://www.itu.int/ITU-T/news/jvtpro.html
6108
cb1139661cff lavc rate control tech-docs
michael
parents:
diff changeset
327
6270
8dfe9b162624 Spell checking, line wrapping for better readability, some additions/better explanations.
atmos4
parents: 6266
diff changeset
328 Examples:
6256
55aacd56c5ef docu for the new options of the patched version
michael
parents: 6108
diff changeset
329 mencoder foobar.avi -lavcopts vcodec=mpeg4:vhq:keyint=300:vqscale=2 -o new-foobar.avi
6547
1c282256162a it's bug not vbug...
jonas
parents: 6322
diff changeset
330 mplayer foobar.avi -lavdopts bug=1
6322
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
331
7282
b21e38a4fbec links (found on xvid-dev list)
michael
parents: 7236
diff changeset
332 Links:
b21e38a4fbec links (found on xvid-dev list)
michael
parents: 7236
diff changeset
333 short intro to mpeg coding:
b21e38a4fbec links (found on xvid-dev list)
michael
parents: 7236
diff changeset
334 http://www.eecs.umich.edu/~amarathe/mpeg.html
b21e38a4fbec links (found on xvid-dev list)
michael
parents: 7236
diff changeset
335 longer intro to jpeg/mpeg coding:
b21e38a4fbec links (found on xvid-dev list)
michael
parents: 7236
diff changeset
336 http://www.cs.sfu.ca/undergrad/CourseMaterials/CMPT479/material/notes/Chap4/Chap4.2/Chap4.2.html
b21e38a4fbec links (found on xvid-dev list)
michael
parents: 7236
diff changeset
337
6322
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
338 --
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
339 Written 2002 by Michael Niedermayer and reviewed by Felix Buenemann.
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
340 Check the MPlayer documentation for contact-addresses.
91d14f75fcef Reviewed for pre5.
atmos4
parents: 6270
diff changeset
341