Mercurial > mplayer.hg
view DOCS/tech/snow.txt @ 18408:6484274d41e5
1.252: [previously applied by rynaldo, #1.157]
1.251: console message review: countless spelling/grammar/wording fixes
Part I (incomplete patch)
1.250: [previously applied by diego, #1.155]
1.249: [previously applied by diego, #1.156]
1.248: [previously applied by reynaldo. #1.154]
author | kraymer |
---|---|
date | Tue, 09 May 2006 13:34:39 +0000 |
parents | 9c3c78d21643 |
children | d8605d22bf62 |
line wrap: on
line source
HOW TO TEST SNOW ---------------- Snow is an experimental wavelet-based codec made by the FFmpeg developers, and while it is still in heavy development, it is already giving very good results. Be very careful though, as the format of the bitstream produced might change, do not rely on it to store videos that you value. For this reason, MEncoder will not encode without 'vstrict=-2' on the command line. OPTIONS RECOGNIZED BY SNOW * vqscale=<0.01-255> Encoding quality, sane range 1-10, default: 0 (lossless). May be fractional. A given quality in snow needs a somewhat lower qscale than the same quality in MPEG-4. Note that 0 may not be specified; if you want lossless encoding, you must leave out vqscale. * vpass=<1-3> Activates internal two (or more) pass mode. * vbitrate=<value> Specify bitrate of the 2nd pass. Don't use it for 1st pass as CBR isn't implemented yet, use vqscale instead, and set it to a quantizer near the target average quant of the final encode. * lmin, lmax, vqcomp, vratetol, vrc_eq, vrc_override Generic multipass ratecontrol options, subject to the same suggestions as in other codecs. lmin=1 can be useful for medium to high bitrates (see vqscale). * cmp, subcmp, mbcmp Set the comparison function, default: 0 (SAD). useful values = 0 (SAD), 1 (SSD), 11 (5/3 wavelet), 12 (9/7 wavelet). Experience shows that SSD is the best most of the time, while SAD is slightly better the remainder of the time. You can add 256 to any of the options to enable chroma motion estimation for that comparison (e.g. mbcmp=257 for SSD with chroma), but it doesn't seem to help much for the moment. * pred=<0-2> Wavelet type. 0 (9/7 wavelet), 1 (5/3 wavelet), 2 (13/7 wavelet). 9/7 is probably better for for lossy coding, and 5/3 for lossless. NOTE: 9/7 wavelet doesn't work with lossless mode. * qpel Refines motion estimation, default: off. This setting always helps compressibility, but costs some CPU time both while encoding and decoding. * v4mv Allows smaller motion partitions, default: off. The current MB decision algorithm doesn't make very good use of this: It improves quality, but also increases bitrate. (You could get more quality per bitrate by reducing quantizer instead.) * vme=<4|8> The default EPZS (4) is the same as in other formats. Snow also supports iterative motion estimation (8), which jointly optimizes adjacent blocks to make the most of OBMC. This significantly improves compression, but is very slow. Iterative ME currently does not perform scenecut detection, so should be used only in the second pass of a two pass encode. v4mv and the wavelet cmp functions are theoretically good, but in practice aren't really working yet. In short: The best options in almost all cases are vcodec=snow:vstrict=-2:vpass=1:vqscale=$N:pred=0:cmp=1:subcmp=1:mbcmp=1:qpel vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=1:subcmp=1:mbcmp=1:qpel:vme=8