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