[MPlayer-users] lavc vs. xvid (and improving lavc quality)

Jason Tackaberry tack at sault.org
Sun May 30 21:14:16 CEST 2004


On Sat, 2004-05-29 at 23:04 -0700, rcooley wrote:
> H.263 quant is the default.  I suppose you mean mpeg_quant, which I
> recomend myself for sharp detail (doubt it helps with
> blockiness).

Sorry, yes, I meant mpeg_quant.

> Rich already said it himself.  I'll second that, and I'm sure you cound
> find many others who would agree.  Doom9's codec comparison is a
> ridiculous sham.

"Ridiculous sham" is awfully harsh.  Obviously much of what doom9
commented on was subjective, but at least I didn't see anything
glaringly wrong with it.  I'd like to hear some more details on that,
though, so that I don't repeat their mistakes.

> Could possibly still be wishful thinking.  You've really only proven
> that you are able to tell the difference between lavc and xvid encoded
> video.  Different codecs have different artifacts, so this isn't
> groundbreaking.

I know.  I realize that my eye has been trained to latch onto lavc
artifacts, and so my preference could merely be because xvid is
_different_, not because it's _better_.

It might happen that after a few weeks of xvid encoded videos, the
muddiness artifacting that Rich refers to will start to drive me nuts.
There's really only one way to find out.

> Have you even searched through the man-page?  

I have indeed.

>        scplx_mask=<0.0-1.0>

I did try scplx_mask and it didn't improve things at all.  In fact,
values over 0.2 made the quality appreciably worse, and values under 0.2
didn't really change much, except for adversely affecting PSNR.

> Incidentally, why aren't you using 2-pass mode and post-processing? 
> Allowing a codec to dynamically change the quant results in much more
> bits being allocated where they are needed, and postprocessing would
> solve your blockiness problem completely, without any real drawbacks.

2-pass may have improved my xvid results, but I'm not sure if would have
improved lavc, assuming I understand things properly.  (Kindly correct
me if not.)

With lavc, I used vqscale=1.7, but with 2-pass, vqmin doesn't seem to
allow floating point values, so it's either vqmin=1 or vqmin=2.  So
while the bitrate would have been lower for the lavc clips, I don't
think the quality would have been better, simply because I picked a
vqscale that was lower than the default vqmin.

On the other hand, I picked fixed_quant=2.5 for my xvid tests, and the
minimum quantizer with xvid is 2.  So 2-pass with xvid might have
improved quality as well.

My test was more about visible quality, rather than average bitrate.
Evgueni (and Jan) pointed out that xvid uses B-frames by default,
whereas lavc doesn't.  Originally I had believed that the addition of
B-frames, while improving bitrate, wouldn't affect quality, but after
encoding with lavc vmax_b_frames=1, I noticed the PSNR decreased
slightly.

Rich mentioned that perhaps my monitor is calibrated in seriously wrong
ways, suggesting that I'm not supposed to see blocky artifacts with
proper gramma/brightness.  (I'd reply to him directly but, strangely, I
never got his email.)  I tried viewing the clips on my laptop's LCD (no
gamma correction with xgamma), and as well my TV.

Now, my TV is a 52" rear projection, and at that size, you really the
blocky artifacting.  Perhaps this is why I'm so sensitive to it.

Maybe I'm too biased.  I find even when watching DVDs, my eyes wander
over to muddy dark, background places and stare at the mpeg2 artifacts.
Perhaps I should find a test subject who has no prior experience with
mpeg4 artifacting and see what they prefer.

As far as post-processing goes, what other options are there other than
pp=vb/hb?  At high bitrates, I don't see any appreciable improvement
with vb and/or hb.

Cheers,
Jason.




More information about the MPlayer-users mailing list