Mercurial > mplayer.hg
comparison DOCS/tech/libavc-options.txt @ 6108:cb1139661cff
lavc rate control tech-docs
author | michael |
---|---|
date | Fri, 17 May 2002 11:50:23 +0000 |
parents | |
children | 55aacd56c5ef |
comparison
equal
deleted
inserted
replaced
6107:c7af28266704 | 6108:cb1139661cff |
---|---|
1 Description of what all thouse libavcodec options do ... | |
2 WARNING: iam no encoding expert so the recomanditions might be bad ... | |
3 if u find any errors, missing stuff, ... send a patch or cvs commit if u have an cvs account :) | |
4 | |
5 vqmin 1-31 (minimum quantizer) for pass1/2 | |
6 1 is not recomanded (much larger file, little quality difference and possible other weird things) | |
7 2 is recommanded for normal mpeg4/mpeg1video encoding | |
8 3 is recommanded for h263(p)/msmpeg4 (default) | |
9 the reason for 3 instead of 2 is that 2 could lead to overflows (this will be fixed for h263(p) | |
10 by chageing the quanizer per MB in the future, but msmpeg4 doesnt support that so it cant be fixed | |
11 for that) | |
12 | |
13 vqscale 1-31 quantizer for constant quantizer /constant quality encoding | |
14 1 is not recomanded (much larger file, little quality difference and possible other weird things) | |
15 lower means better quality but larger files | |
16 see vqmin | |
17 | |
18 vqmax 1-31 (maximum quantizer) for pass1/2 | |
19 15 default | |
20 10-31 should be a sane range | |
21 | |
22 vqdiff 1-31 (maximum quantizer difference between I or P frames) for pass1/2 | |
23 3 default | |
24 | |
25 vmax_b_frames 0-4 (maximum number of b frames between non b frames) | |
26 0 no b frames (default) | |
27 | |
28 vme 0-5 (motion estimation) | |
29 0 none (not recommanded, very lq) | |
30 1 full (not recommanded, too slow) | |
31 2 log (not recommanded, lq) | |
32 3 phods (not recommanded, lq) | |
33 4 EPZS (default) | |
34 5 X1 | |
35 | |
36 vhq (high quality mode) | |
37 encode each MB as in all modes and choose the best (this is slow but better filesize/quality) | |
38 disabled by default | |
39 | |
40 v4mv | |
41 allow 4 MV per MB (little difference in filesize/quality) | |
42 disabled by default | |
43 cannot be used with b frames or in lq mode currently | |
44 disabled by default | |
45 | |
46 keyint 0-300 (maximum interval between keyframes) | |
47 keyframes are needed for seeking as seeking is only possible to a keyframe but keyframes need more space | |
48 than non keyframes so larger numbers here mean slightly smaller files | |
49 0 no keyframes | |
50 >300 is not recomanded as the quality might be bad (depends upon decoder & encoder & luck) | |
51 | |
52 vb_strategy 0-1 for pass 2 | |
53 0 allways use the max number of b frames (default) | |
54 1 avoid b frames in high motion scenes (this will cause bitrate missprediction) | |
55 | |
56 vpass | |
57 1 first pass | |
58 2 second pass | |
59 | |
60 vbitrate (kbits per sec) for pass1/2 | |
61 800 is default | |
62 | |
63 vratetol (filesize tolerance in kbit) for pass1/2 | |
64 this is just approximate, the real difference can be much smaller or larger | |
65 1000- 100000 is a sane range | |
66 8000 is default | |
67 | |
68 vb_qfactor (1.0-31.0) (BFrame quantizer= PFrame quantizer * vb_qfactor) for pass1/2 | |
69 2.0 is default | |
70 tip: to do constant quantizer encoding with different quantizers for I/P and B frames | |
71 u can use vqmin=<ip-quant>:vqmax=<ip-quant>:vb_qfactor=<b_quant/ip_quant> | |
72 | |
73 vqblur (0.0-1.0) quantizer blur (for pass1) | |
74 0.0 qblur disabled | |
75 0.5 is the default | |
76 1.0 average the quantizer over all previous frames | |
77 larger values will average the quantizer over time more so that the quantizer will be changed slower | |
78 | |
79 vqcomp (0.0-1.0) quantizer compression (for pass1/2) | |
80 0.0 constant bitrate encoding, so fast moton frames will get as many bits as low motion | |
81 (high motion scenes look bad) | |
82 0.5 (default) | |
83 1.0 constant quantizer encoding (low motion scenes look bad) | |
84 | |
85 vrc_strategy (0,1,2) | |
86 FIXME | |
87 | |
88 Notes: 1. lavc will strictly follows the quantizer limits vqmin, vqmax, vqdiff even if | |
89 it violates the bitrate / bitrate tolerance | |
90 2. changing some options between pass1 & 2 can reduce the quality | |
91 | |
92 FAQ: Q: the file is much too small | |
93 A: vqmin=2 or 1 (be carefull with 1, it could cause strange things to happen) | |
94 Q: i want to use -pass 1 & -pass 2 with vmax_b_frames>0 | |
95 A: read DOCS/tech/patches.txt and send a patch ;) | |
96 | |
97 glossary: | |
98 MB Macroblock (16x16 luminance & 8x8 chrominance samples) | |
99 MV Motion vector | |
100 ME Motion estimation | |
101 MC Motion compensation | |
102 | |
103 example: | |
104 mencoder foobar.avi -lavcopts vcodec=mpeg4:vhq:keyint=300:vqscale=2 -o new-foobar.avi |