Mercurial > mplayer.hg
annotate DOCS/tech/snow.txt @ 32921:448517f556a5
Fix memory leak in appClearItem().
Mask wasn't freed.
Additionally: symbolic constants are used for initialization where possible,
the pressed default is btnDisabled now, gfree() is preferred to free() and
setting NULL, and statements are rearranged according to members in structure.
author | ib |
---|---|
date | Thu, 03 Mar 2011 11:43:01 +0000 |
parents | 32725ca88fed |
children |
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 |
18569 | 15 * vqscale=<0.0-255.0> |
16 Encoding quality, sane range 1-10. 0 is lossless. | |
17 May be fractional. | |
15117 | 18 A given quality in snow needs a somewhat lower qscale than the same |
19 quality in MPEG-4. | |
20 | |
15206
7c4b86745b98
Snow supports 3-pass mode and 9/7 wavelet doesn't work lossless mode.
gpoirier
parents:
15197
diff
changeset
|
21 * vpass=<1-3> |
7c4b86745b98
Snow supports 3-pass mode and 9/7 wavelet doesn't work lossless mode.
gpoirier
parents:
15197
diff
changeset
|
22 Activates internal two (or more) pass mode. |
15189 | 23 |
24 * vbitrate=<value> | |
18569 | 25 Specify bitrate of 1pass CBR or 2pass ABR. default: 800 kbit/s. |
26 This is not very accurate for short videos. | |
15189 | 27 |
15239
3e1bdfd60e60
mention vrc_eq, vrc_override. remove duplicate warning about 9/7 in lossless.
lorenm
parents:
15214
diff
changeset
|
28 * lmin, lmax, vqcomp, vratetol, vrc_eq, vrc_override |
15214
47027be213b2
mention the generic ratecontrol options (lmin,lmax,vqcomp,vratetol)
lorenm
parents:
15206
diff
changeset
|
29 Generic multipass ratecontrol options, subject to the same suggestions |
47027be213b2
mention the generic ratecontrol options (lmin,lmax,vqcomp,vratetol)
lorenm
parents:
15206
diff
changeset
|
30 as in other codecs. |
47027be213b2
mention the generic ratecontrol options (lmin,lmax,vqcomp,vratetol)
lorenm
parents:
15206
diff
changeset
|
31 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
|
32 |
15117 | 33 * cmp, subcmp, mbcmp |
34 Set the comparison function, default: 0 (SAD). | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
18571
diff
changeset
|
35 useful values = 0 (SAD), 1 (SSD), 2 (SATD), |
18569 | 36 11 (5/3 wavelet), 12 (9/7 wavelet). |
37 SAD is fastest and lowest quality. | |
38 SSD is the only function that makes correct decisions about intra vs | |
39 inter (mbcmp) when using fast motion estimation, but is not the best for | |
40 the actual search (cmp, subcmp). | |
41 The wavelet functions (use the one that matches pred) are best quality, | |
18571 | 42 especially with vme=8, but are very slow. |
18569 | 43 SATD is a good balance. |
15117 | 44 You can add 256 to any of the options to enable chroma motion |
45 estimation for that comparison (e.g. mbcmp=257 for SSD with chroma), | |
46 but it doesn't seem to help much for the moment. | |
47 | |
48 * pred=<0-2> | |
18569 | 49 Wavelet type. |
50 0 = 9/7 wavelet, default. | |
51 1 = 5/3 wavelet. | |
52 2 = 13/7 wavelet. | |
15117 | 53 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
|
54 NOTE: 9/7 wavelet doesn't work with lossless mode. |
15117 | 55 |
56 * qpel | |
57 Refines motion estimation, default: off. | |
58 This setting always helps compressibility, but costs some CPU time | |
59 both while encoding and decoding. | |
60 | |
61 * v4mv | |
62 Allows smaller motion partitions, default: off. | |
18569 | 63 v4mv is theoretically good, but in practice isn't really working yet. |
15117 | 64 The current MB decision algorithm doesn't make very good use of this: |
15122 | 65 It improves quality, but also increases bitrate. (You could get |
15117 | 66 more quality per bitrate by reducing quantizer instead.) |
67 | |
17729 | 68 * vme=<4|8> |
69 The default EPZS (4) is the same as in other formats. | |
70 Snow also supports iterative motion estimation (8), which jointly | |
71 optimizes adjacent blocks to make the most of OBMC. This significantly | |
72 improves compression, but is very slow. | |
73 Iterative ME currently does not perform scenecut detection, so should | |
74 be used only in the second pass of a two pass encode. | |
15117 | 75 |
18569 | 76 * refs=<1-8> |
77 Allows each block to choose which of several reference frames to | |
18571 | 78 motion compensate from. Default: 1. Larger values always improve |
18569 | 79 compression, but cost lots of CPU-time when encoding and extra |
80 memory when decoding. | |
15117 | 81 |
82 In short: | |
83 The best options in almost all cases are | |
18569 | 84 vcodec=snow:vstrict=-2:vpass=1:vbitrate=$B:pred=0:cmp=2:subcmp=2:mbcmp=1:qpel |
85 vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=12:subcmp=12:mbcmp=1:qpel:vme=8:refs=8 | |
86 | |
87 Decent, fast options are | |
88 vcodec=snow:vstrict=-2:vpass=1:vbitrate=$B:pred=0:cmp=1:subcmp=1:mbcmp=1 | |
89 vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=2:subcmp=2:mbcmp=1:refs=2 |