[MEncoder-users] new doom9 codec comparission (submission)

Corey Hickey bugfood-ml at fatooh.org
Wed Dec 14 11:28:07 CET 2005


On Wed, December 14, 2005 00:38, Doom9 Feedback Hotline wrote:
>> Ideally, a 3-pass method would work for all cases, regardless of
>> bitrate. Unfortunately, I can't provide that for two reasons.
>>
>> 1. The default value for lmin, 2, is too high if the movie is too easy
>> for snow to encode at the target bitrate.
>
> What do you mean too easy? Meaning Snow would just waste bits to reach the
> desired bitrate?

Within the restriction of the specified minimum quantizer, yes, reaching the
target bitrate would require wasting bits. Not that snow would ever do that,
of course, so the bitrate ends up being too low.

> Then by all means be undersized, but beat the competition
> while you're doing that ;)

At the same bitrate, my best snow encodes do beat my best mpeg-4 encodes;
however, if snow isn't reaching the target bitrate for you, that could mean
it doesn't have a chance to look significantly better.

Also, Rich Felker just pointed out that snow quantizers aren't really
comparable. It may well be that having the same minimum quantizer for both
codecs means snow is disproportionately limited in how accurately it can
encode a movie. Rich, can you please confirm/refute that and maybe elaborate
a bit?

>> 2. Lowering lmin too far results in snow using quantizers for some
>> scenes that are lower than necessary and forces other scenes to use
>> higher quantizers. This looks a little bit better in low-motion parts of
>> the movie and much worse in high-motion parts.
>
> Still smells like padding to reach a certain size.. just like lowering the
> minimum quantizer for XviD to 1 just so that you reach your target size
> because when the minimum quantizer is 2, your file will be undersized. Or
> lowering the minimum quantizer below 10 for x264, it's just the same.  I
> don't mind a codec that restricts the output size if it wouldn't make sense
> to make things bigger, not looking better.

It's not really padding. Compare a snow encode with vqscale=2 to one with
vqscale=1. The latter will look much better, and, of course, will be much
larger. Similarly, allowing lower quantizers in a normal (vbitrate=xxx)
encode will make at least some parts use lower quantizers and look better.
If we already have bitrate to spare, then those parts can look better
without forcing other parts to use a higher quantizer and look worse.

>>   pass 1: vpass=1:vqscale=1
>> *At this point, make a backup of divx2pass.log.
>>
>>   pass 2: vpass=3:vbitrate=xxx:lmin=2  <--that's the default
>> *Was the target bitrate met? If not, overwrite divx2pass.log with the
>> backup, lower lmin by 0.2 and try again.
>
> Doesn't that mean we could have multiple second passes, thus turning the
> whole process into quad pass or quintuple pass?

Yes, potentially. In the 2-pass method, though, finding an appropriate
vqscale value for the first pass already takes several tries, so that was
never really 2-pass either. My approach isn't the panacea of snow encoding,
but I'm pretty sure it reduces the amount of guesswork and wasted passes.

-Corey




More information about the MEncoder-users mailing list