[MPlayer-users] VP6 support?

D Richard Felker III dalias at aerifal.cx
Wed Feb 11 21:27:07 CET 2004


On Wed, Feb 11, 2004 at 05:27:07PM +0100, Matthias Wieser wrote:
> Am Mittwoch, 11. Februar 2004 13:49 schrieb D Richard Felker III:
> > On Wed, Feb 11, 2004 at 10:40:52AM +0100, Matthias Wieser wrote:
> > >
> > > > When comparing PSNR values with lavc and xvid, using mencoder,
> > > > which of xvid's min, avg, max values should you compare with, i.e.,
> > > > which one is it that lavc prints out? :)
> > >
> > > What about using
> > >
> > > mplayer -vo png orig.avi [...]
> > > mplayer -vo png xvid.avi [...]
> > >
> > > pngtopnm ...
> > >
> > > pnmpsnr orig1.pbm xvid1.pbm
> > > pnmpsnr orig1.pbm lavc1.pbm
> > > [...]
> > >
> > > Then you are able to use video filter,...
> >
> > This will also measure the psnr of rgb<-yuv->rgb conversion, which is
> > not desirable.
> 
> What would be better?
> 
> It's true that -vo png introduces some "noise" because of yuv->rgb 
> conversion. But the original avi, the xvid and the lavc avi are handled 
> the same way.
> If the difference between a png from the xvid avi and a png from the 
> original avi is less than the difference between the png from the 
> original avi and the png from the lavc avi, then the xvid avi is probably 
> better than the lavc avi.
> 
> If you don't measure the differences, you have to do some subjective 
> comparisons. That's what doom9 did.

The subjective comparisons are well known. If the bitrate is low
enough to have artefacts, lavc tends to have blocking or ringing while
xvid and divx (both are largely the same since they're forks of the
same codebase) have an artefact I've called "mudding", where areas of
near-solid color bleed and slide around in ways that look unnatural.
This is the result of omitting dct entirely (or maybe strong
single-coefficient elimination) and just using motion vectors, rather
than increasing the quantizer when too many bits are being used.

My experience is that postprocessing can largely fix minor blocking or
ringing artefacts, but that "mudding" is impossible to repair with
simple filtering. On the other hand, "mudding" will not look bad at
all in still pics (because you don't see the texture sliding around
ridiculously), while blocking or ringing looks very bad in still
pics. So it's very possible that divx chose mudding because it would
look better in reviews which typically publish comparisons of still
pictures (which are of course useless for subjective quality
comparisons).

Anyway, it's possible to make accurate PSNR comparisons without the
error from yuv->rgb mess, by dumping raw yuv frames for comparison.

Rich




More information about the MPlayer-users mailing list