[MPlayer-users] [BUG] lavc error - 2pass curve failed to converge
Giacomo Comes
comes at naic.edu
Mon Jul 17 21:40:51 CEST 2006
On Fri, Jul 14, 2006 at 10:09:00AM -0700, Corey Hickey wrote:
> Giacomo Comes wrote:
> >>Giacomo, try this with the attached patch:
> >>$ cd .../mplayer/libavcodec
> >>$ patch -p2 -R < /tmp/ffmpeg_r5422.eml
> >>
> >>I don't know if that will work -- only that it caused me some similar
> >>problems a while ago.
> >>
> >>-Corey
> >
> >It seems to work. I have quickly tested few encoding combinations and now
> >multipass encoding is ok.
> >
> >Question: what about 1.0pre8? As it is now it does not have a working
> >multipass
> >encoding. Should a try1 be released?
>
> I don't know.
>
> If I recall correctly, simply changing fabs() back to abs() isn't really
> the right solution, since fabs() is doing what it's supposed to.
> Changing the 0.01 threshold might be in order, or perhaps it might be
> better to find why the threshold is being exceeded.
>
> Can one or both of you please provide a sample file for reproducing
> this? The only test case I had before required vmax_b_frames=2, so if
> you have a file that has the same problem with default options then
> debugging may be easier. Try to make the sample file as small as
> reasonably possible; there's no need to upload a DVD image or anything
> if only the first 500 frames are used. If you don't know how to trim
> down the file, ask me and I'll send instructions.
>
> Thanks,
> Corey
Hi Corey,
I finally had enough free time to better explore the issue.
As you sayd, the failure depends of the source video.
I have tested 1.0pre8 with the following sources:
The error: 2pass curve failed to converge is showed with:
mpeg (0/1/2 b-frames), avi (1/2 b-frames)
no error with avi with 0 b-frames.
I didn't do other tests with other kind of video.
As for a sample file just use:
ftp://ftp.mplayerhq.hu/MPlayer/samples/MPEG1/zelda%20first%20commercial.mpeg
Example:
mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=812:vpass=1 -o test -oac copy "zelda first commercial.mpeg"
mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=812:vpass=2 -o test -oac copy "zelda first commercial.mpeg"
The intresting thing is that if I use a bitrate less or equal to 811 then two
pass encoding is successful. If the bitrate is 812 or higher two pass encoding
fails. The value 811 is not absolute. If I add more options to mencoder then
the bitrate necessary in order to succeed is lower (~700).
The same happens if I try to make a svcd. Using the normal vbr (2500) two pass fails.
With a lower vbr (2350) it succeed.
For a dvd the vbr necessary for two pass encoding was about 3100.
To resume: if you use the file "zelda first commercial.mpeg" you should observe
two pass encoding failure if you increase enough the video bitrate.
(making an avi or an mpeg).
This is a very annoing bug for 1.0pre8.
I have found also other bugs that I will report soon on another thread.
Giacomo
More information about the MPlayer-users
mailing list