Mercurial > mplayer.hg
annotate DOCS/tech/snow.txt @ 18314:39f1bc23b65e
Fix amr_nb-fixed compilation: Don't depend on amr_nb.
author | diego |
---|---|
date | Thu, 27 Apr 2006 13:12:51 +0000 |
parents | 9c3c78d21643 |
children | d8605d22bf62 |
rev | line source |
---|---|
15117 | 1 HOW TO TEST SNOW |
2 ---------------- | |
3 | |
4 Snow is an experimental wavelet-based codec made by the FFmpeg developers, | |
5 and while it is still in heavy development, it is already giving very good | |
6 results. | |
7 Be very careful though, as the format of the bitstream produced might | |
8 change, do not rely on it to store videos that you value. | |
15386 | 9 For this reason, MEncoder will not encode without 'vstrict=-2' on the |
15117 | 10 command line. |
11 | |
12 | |
15122 | 13 OPTIONS RECOGNIZED BY SNOW |
15117 | 14 |
15 * vqscale=<0.01-255> | |
15122 | 16 Encoding quality, sane range 1-10, default: 0 (lossless). May be |
17 fractional. | |
15117 | 18 A given quality in snow needs a somewhat lower qscale than the same |
19 quality in MPEG-4. | |
20 Note that 0 may not be specified; if you want lossless encoding, you | |
15122 | 21 must leave out vqscale. |
15117 | 22 |
15206
7c4b86745b98
Snow supports 3-pass mode and 9/7 wavelet doesn't work lossless mode.
gpoirier
parents:
15197
diff
changeset
|
23 * vpass=<1-3> |
7c4b86745b98
Snow supports 3-pass mode and 9/7 wavelet doesn't work lossless mode.
gpoirier
parents:
15197
diff
changeset
|
24 Activates internal two (or more) pass mode. |
15189 | 25 |
26 * vbitrate=<value> | |
27 Specify bitrate of the 2nd pass. | |
28 Don't use it for 1st pass as CBR isn't implemented yet, use vqscale | |
15197 | 29 instead, and set it to a quantizer near the target average quant |
15189 | 30 of the final encode. |
31 | |
15239
3e1bdfd60e60
mention vrc_eq, vrc_override. remove duplicate warning about 9/7 in lossless.
lorenm
parents:
15214
diff
changeset
|
32 * lmin, lmax, vqcomp, vratetol, vrc_eq, vrc_override |
15214
47027be213b2
mention the generic ratecontrol options (lmin,lmax,vqcomp,vratetol)
lorenm
parents:
15206
diff
changeset
|
33 Generic multipass ratecontrol options, subject to the same suggestions |
47027be213b2
mention the generic ratecontrol options (lmin,lmax,vqcomp,vratetol)
lorenm
parents:
15206
diff
changeset
|
34 as in other codecs. |
47027be213b2
mention the generic ratecontrol options (lmin,lmax,vqcomp,vratetol)
lorenm
parents:
15206
diff
changeset
|
35 lmin=1 can be useful for medium to high bitrates (see vqscale). |
47027be213b2
mention the generic ratecontrol options (lmin,lmax,vqcomp,vratetol)
lorenm
parents:
15206
diff
changeset
|
36 |
15117 | 37 * cmp, subcmp, mbcmp |
38 Set the comparison function, default: 0 (SAD). | |
39 useful values = 0 (SAD), 1 (SSD), 11 (5/3 wavelet), 12 (9/7 wavelet). | |
40 Experience shows that SSD is the best most of the time, while SAD is | |
41 slightly better the remainder of the time. | |
42 You can add 256 to any of the options to enable chroma motion | |
43 estimation for that comparison (e.g. mbcmp=257 for SSD with chroma), | |
44 but it doesn't seem to help much for the moment. | |
45 | |
46 * pred=<0-2> | |
47 Wavelet type. 0 (9/7 wavelet), 1 (5/3 wavelet), 2 (13/7 wavelet). | |
48 9/7 is probably better for for lossy coding, and 5/3 for lossless. | |
15206
7c4b86745b98
Snow supports 3-pass mode and 9/7 wavelet doesn't work lossless mode.
gpoirier
parents:
15197
diff
changeset
|
49 NOTE: 9/7 wavelet doesn't work with lossless mode. |
15117 | 50 |
51 * qpel | |
52 Refines motion estimation, default: off. | |
53 This setting always helps compressibility, but costs some CPU time | |
54 both while encoding and decoding. | |
55 | |
56 * v4mv | |
57 Allows smaller motion partitions, default: off. | |
58 The current MB decision algorithm doesn't make very good use of this: | |
15122 | 59 It improves quality, but also increases bitrate. (You could get |
15117 | 60 more quality per bitrate by reducing quantizer instead.) |
61 | |
17729 | 62 * vme=<4|8> |
63 The default EPZS (4) is the same as in other formats. | |
64 Snow also supports iterative motion estimation (8), which jointly | |
65 optimizes adjacent blocks to make the most of OBMC. This significantly | |
66 improves compression, but is very slow. | |
67 Iterative ME currently does not perform scenecut detection, so should | |
68 be used only in the second pass of a two pass encode. | |
15117 | 69 |
70 v4mv and the wavelet cmp functions are theoretically good, but in practice | |
17729 | 71 aren't really working yet. |
15117 | 72 |
73 In short: | |
74 The best options in almost all cases are | |
17729 | 75 vcodec=snow:vstrict=-2:vpass=1:vqscale=$N:pred=0:cmp=1:subcmp=1:mbcmp=1:qpel |
76 vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=1:subcmp=1:mbcmp=1:qpel:vme=8 |