[MPlayer-dev-eng] [LONG] PSNR comparison, new source and results

Zoltan Hidvegi mplayer at hzoli.2y.net
Tue Jun 15 19:10:19 CEST 2004


> Basically, there was 1152 pair of option w or w/o qpel,
> and 1152 of them (100% :-) showed an improvement using qpel,
> varying between 0.12 and 1.4 point, and 0.3678 on average.

I encode a lot of film-source HDTV content to 1024x576 size mpeg-4 at
23.976 fps.  At that resolution you can achieve 44 or higher PSNR with
vqscale=4.  I normally use filmdint,scale=1024:576,hqdn3d=4:3:3 -sws 1
to filter before encoding. hqdn3d usually have a huge effect on PSNR,
since most DVD and HDTV content have a fair amount of noise.  I use
the following encoding options:

First pass:

vcodec=mpeg4:psnr:mbd=2:v4mv:mv0:aspect=16/9:vmax_b_frames=1:trell:cbp:cmp=2:precmp=2:subcmp=2:vpass=1:vqcomp=0.7:vqscale=4

Second pass:

vcodec=mpeg4:psnr:mbd=2:v4mv:mv0:aspect=16/9:vmax_b_frames=1:trell:cbp:cmp=2:precmp=2:subcmp=2:vpass=2:vqcomp=0.7:vbitrate=1200:vdpart

I have tried qpel, and it lowered the quality, although not much, and
it is also a lot slower.  Perhaps qpel helps only when you use lower
quantizers.  cbp seems to help a lot, can improve PSNR by as much as
0.4.  The effect of mv0 is hardly noticeable, but it improves PSNR
slightly, and it has negligible performance impact. *cmp=3 is much
slower than *cmp=2, so I do not use it, HDTV encoding is already slow
enough.  It would be important to know the CPU requirements of the
various option combinations.  This is especially important to decide
which are the best options for real-time encoding from a tuner card.

Zoli




More information about the MPlayer-dev-eng mailing list