Gmane
From: Corey Hickey <bugfood-ml <at> fatooh.org>
Subject: Re: Unable to do a 2nd pass with AVI sources
Newsgroups: gmane.comp.video.mencoder.user
Date: 2006-08-03 22:36:59 GMT (2 years, 47 weeks, 5 days, 19 hours and 44 minutes ago)
Rodolfo Quesada Z. wrote:
> Hi,
> 
> Since the CVS to SVN upgrade at mplayer's headquarters, neither the
> 1.0pre8 or svn upgrades let me to do a 2nd pass when using a AVI source.
> 
> I'm currently using a CVS source tree (MEncoder
> dev-CVS-060324-06:06-4.0.3) that allows me to do that, but every time I
> try to transcode a AVI file to a lower bitrate with any of the mentioned
> recent sources, the second pass just dies saying:
> 
> [mpeg4 @ 0x872dcf8]Error: 2pass curve failed to converge
> Could not open codec.
> FATAL: Cannot initialize video driver.
> 
> Using the following two commands (For testing):
> 
> mencoder source.avi -ovc lavc -lavcopts
> vcodec=mpeg4:vbitrate=800:vpass=1 -endpos 10 -oac copy -o test.avi
> 
> mencoder source.avi -ovc lavc -lavcopts
> vcodec=mpeg4:vbitrate=800:vpass=2 -endpos 10 -oac copy -o test.avi
> 
> Those two lines and any other permutation of options just die on the
> second pass. DVD ripping works just fine, only AVI (No matter wich
> codec, FMP4, XVID, DX50, DIVX... All of them crashes mencoder!)
> 
> The CVS version I have can work the second pass without problems!!!
> 
> Any clue??? Somebody else having these problems?? I believe there is
> nothing else to do other than code
> tweaking...

This is a known problem in ffmpeg but it hasn't been fixed yet. :(

Please revert the attached patch, recompile, and report if that works 
for you (I bet it will). Patch with commands like:

$ cd .../mplayer/libavcodec
$ patch -p2 -R < /tmp/ffmpeg_r5422.eml

-Corey
From: michael <subversion <at> mplayerhq.hu>
Subject: [Ffmpeg-cvslog] r5422 - trunk/libavcodec/ratecontrol.c
Date: 2006-05-29 16:50:37 GMT
Author: michael
Date: Mon May 29 18:50:37 2006
New Revision: 5422

Modified:
   trunk/libavcodec/ratecontrol.c

Log:
fabs is better then abs for floats ...

Modified: trunk/libavcodec/ratecontrol.c
==============================================================================
--- trunk/libavcodec/ratecontrol.c	(original)
+++ trunk/libavcodec/ratecontrol.c	Mon May 29 18:50:37 2006
@@ -911,7 +911,7 @@
     av_free(qscale);
     av_free(blured_qscale);

-    if(abs(expected_bits/all_available_bits - 1.0) > 0.01 ){
+    if(fabs(expected_bits/all_available_bits - 1.0) > 0.01 ){
         av_log(s->avctx, AV_LOG_ERROR, "Error: 2pass curve failed to converge\n");
         return -1;
     }
_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog <at> mplayerhq.hu
http://mplayerhq.hu/cgi-bin/mailman/listinfo/ffmpeg-cvslog
_______________________________________________
MEncoder-users mailing list
MEncoder-users <at> mplayerhq.hu
http://lists.mplayerhq.hu/mailman/listinfo/mencoder-users