2005-04-10 23:19:45 +00:00
|
|
|
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.
|
2005-05-09 20:10:58 +00:00
|
|
|
For this reason, MEncoder will not encode without 'vstrict=-2' on the
|
2005-04-10 23:19:45 +00:00
|
|
|
command line.
|
|
|
|
|
|
|
|
|
2005-04-11 11:13:48 +00:00
|
|
|
OPTIONS RECOGNIZED BY SNOW
|
2005-04-10 23:19:45 +00:00
|
|
|
|
|
|
|
* vqscale=<0.01-255>
|
2005-04-11 11:13:48 +00:00
|
|
|
Encoding quality, sane range 1-10, default: 0 (lossless). May be
|
|
|
|
fractional.
|
2005-04-10 23:19:45 +00:00
|
|
|
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
|
2005-04-11 11:13:48 +00:00
|
|
|
must leave out vqscale.
|
2005-04-10 23:19:45 +00:00
|
|
|
|
2005-04-17 18:41:05 +00:00
|
|
|
* vpass=<1-3>
|
|
|
|
Activates internal two (or more) pass mode.
|
2005-04-16 16:16:28 +00:00
|
|
|
|
|
|
|
* vbitrate=<value>
|
|
|
|
Specify bitrate of the 2nd pass.
|
|
|
|
Don't use it for 1st pass as CBR isn't implemented yet, use vqscale
|
2005-04-16 21:53:20 +00:00
|
|
|
instead, and set it to a quantizer near the target average quant
|
2005-04-16 16:16:28 +00:00
|
|
|
of the final encode.
|
|
|
|
|
2005-04-22 15:48:15 +00:00
|
|
|
* lmin, lmax, vqcomp, vratetol, vrc_eq, vrc_override
|
2005-04-18 20:13:43 +00:00
|
|
|
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).
|
|
|
|
|
2005-04-10 23:19:45 +00:00
|
|
|
* 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.
|
2005-04-17 18:41:05 +00:00
|
|
|
NOTE: 9/7 wavelet doesn't work with lossless mode.
|
2005-04-10 23:19:45 +00:00
|
|
|
|
|
|
|
* 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:
|
2005-04-11 11:13:48 +00:00
|
|
|
It improves quality, but also increases bitrate. (You could get
|
2005-04-10 23:19:45 +00:00
|
|
|
more quality per bitrate by reducing quantizer instead.)
|
|
|
|
|
2006-03-05 03:58:53 +00:00
|
|
|
* 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.
|
2005-04-10 23:19:45 +00:00
|
|
|
|
|
|
|
v4mv and the wavelet cmp functions are theoretically good, but in practice
|
2006-03-05 03:58:53 +00:00
|
|
|
aren't really working yet.
|
2005-04-10 23:19:45 +00:00
|
|
|
|
|
|
|
In short:
|
|
|
|
The best options in almost all cases are
|
2006-03-05 03:58:53 +00:00
|
|
|
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
|