[Ffmpeg-devel] qprd plus bframes = low quality

Corey Hickey bugfood-ml
Fri Dec 8 11:06:47 CET 2006


Trent Piepho wrote:
>>> Using qprd with b-frames seems to give much lower quality than either b-frames
>>> or qprd alone.
>>>
>>> You can see sample pictures and command line here:
>>> http://www.speakeasy.org/~xyzzy/qprd_b.html
>>> vcodec=mpeg4:vbitrate=6950:dia=-4:predia=8:precmp=2:subcmp=2:cmp=2:v4mv:qpel:lmin=1:vpass=1:vqmin=2:mbd=2:trell:cbp:mv0:dc=8:sc_factor=4
>>>
>>> with vmax_b_frames=2 and/or qprd added.
>> Unless Michael steps in and sees immediately what is wrong, I suggest
>> that you try to (a) try to simplify your lavcopts, (b) provide a sample
>> source video, and (c) provide the full command line. At the very least,
>> post the full output of mencoder.
> 
> Ok, I've simplified the lavcopts:
> vcodec=mpeg4:vbitrate=6950:mbd=2 + vmax_b_frames=2 and/or qprd

...and vpass=1/vpass=2, I presume?

Anyway, I just tested those options with a test clip and a fresh svn
build. vmax_b_frames=2:qprd looked pretty much the same as
vmax_b_frames=2, and better than just qprd.

> I've updated the same page, http://www.speakeasy.org/~xyzzy/qprd_b.html,
> with new screenshots created with these options.  I think low quality of
> qprd+b-frames is now even more apparent.

Please post the full output of mencoder, too. Also, come to think of it,
add psnr to your lavcopts; that may be useful.

> Providing a sample video will be difficult.  It's a 19mbit ATSC TS stream
> and I don't have space to host more than a few seconds of it.  Even if I
> did, I'm using a complex filter chain including multiple filters I wrote,
> with an mencoder that has been modified to pass pts through to filters
> (mine need that) and deal with 60p->24p conversion better.  So no one would
> be able to duplicate my encode anyway.

You should probably try to reproduce the problem with an unmodified
mencoder.

> xvid, lavc mjpeg, lavc ffv1, etc.
> all work fine, it's just lavc+mpeg4 that's having problems.
> 
> I could create a clip encoded with a lossless codec, like ffv1, which
> should let someone duplicate the encoding with any extra software.  But it
> will be large, about 190 MB for just 30 seconds.  I can upload it, but not
> host it as I only have about 10 MB of web space.  I'll see if it's possible
> to duplicate the problems with something encoded with
> vcodec=mjpeg:vqscale=2, that should be more manageable in size.

ftp://upload.mplayerhq.hu/MPlayer/incoming should have sufficient space.

You could use your custom mencoder to make a new, smaller source video
by doing the following:
* re-encode at a lower resolution
* use a lossy codec at a high bitrate (enough for testing)
* use -nosound

Make sure to test the new source with an unmodified mencoder to
reproduce the problem.

-Corey




More information about the ffmpeg-devel mailing list