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

Jason Tackaberry tack at sault.org
Tue Jun 1 21:03:48 CEST 2004


On Tue, 2004-06-01 at 13:59 -0400, D Richard Felker III wrote:
> per-macroblock, so perhaps this is how it works. Why not RTFS? That's

RTFS might fly on mplayer-dev, but the reason I asked here is because I
didn't understand TFS, and hoped that someone could give me a synopsis,
rather than telling me to RTFS.

> > 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)?
> 
> This is nonsense. There's no use for two-pass if quantizer is forced
> to 3!!

Of course it's nonsense.  You missed my point.  I was asking if a single
pass of vqscale=3 was the same (in PSNR) to vqmin=3:vqmax=3 (which are
only available in two-pass mode, according to the man page).  The
question was only academic.  (It's probably the case that with
vqmin=3:vqmax=3 the first pass will be the same as the second, but
again, the question was academic.)

The point of my asking this nonsense question was to try to understand
how vqscale differs from vqmin/vqmax.

Anyway, if I understand what you said correctly, I think the answer to
that question is that they _do_ differ: encoding with vqscale will vary
the quantizer per macroblock, but the average quantizer of all
macroblocks in the frame will be what was passed to vqscale; and
encoding with vqmin=3:vqmax=3 -- nonsense though it is -- forces each
macroblock to use quant=3, and then obviously the per-frame quantizer is
also 3.

I don't know how libavcodec picks which quantizer to use per-macroblock
(and may never know if it requires that I RTFS and understand it), but
if we assume the simplest case where it picks whichever quantizer yields
the best PSNR, then it sounds to me like the overall PSNR is going to be
at least as good and probably better than if we used vqmin=3:vqmax=3 to
fix the quantizer.

Or, in short: vqscale specifies per-frame quantizer, and vqmin/vqmax
specify per-macroblock quantizer.  Does that sound correct?

I'll now test that hypothesis with some samples.  I had wanted to ask
here first to better understand how these things work.  Sorry to burden
the list with my nonsense questions.

Jason.




More information about the MPlayer-users mailing list