[MPlayer-users] Difference between vqscale and vqmin/vqmax values (quality vs. quantizer?)

Jason Tackaberry tack at sault.org
Tue Jun 1 19:00:39 CEST 2004


I've noticed that vqmin and vqmax don't accept floating point values
where as vqscale does.  My understanding was that the values passed to
these parameters both selected quantizers, however looking at ve_lavc.c
and avcodec.h, it looks like this isn't the case.

Seems that vqscale gets mapped to an integer value between 1-32767 and
then assigned to a "quality" variable in a lavc struct.  This suggests
that with vqscale, libavcodec implements constant quality as opposed to
a fixed quantizer.

Can anyone in the know explain how this works?  Does libavcodec pick
different quantizers based on this quality parameter?  It seems like
vqscale might attempt constant quality with varying quantizers.

I suppose, in practical terms, I'm asking: how would a single pass with
vqscale=3 compare in PSNR to a two-pass with vqmin=3:vqmax=3 (assuming
vbitrate was set sufficiently high enough so as not to get in the way)?

Thanks,
Jason.





More information about the MPlayer-users mailing list