[MEncoder-users] [mpeg4 @ 0x86f46cc]Error: 2pass curve failed to converge

Trent Piepho xyzzy at speakeasy.org
Tue Oct 24 22:30:28 CEST 2006


On Tue, 24 Oct 2006, Alejandro Vargas wrote:
> 2006/10/23, Pepe <rvm3000 at ya.com>:
> > -    if(fabs(expected_bits/all_available_bits - 1.0) > 0.01 ){
> > +    if(abs(expected_bits/all_available_bits - 1.0) > 0.01 ){
>
> But fabs are very different from abs. For the first, the result of abs
> is int, then you shouldn't compare it with 0.01, it should be 0. And
> the parameters of abs should be integer also. Then, I think probably
> the if will be always evaluated as false.

The original if statement is equivalent to this:

if(expected_bits >= all_available_bits*2){

ie.g expected_bits must be double all_available_bits or more.  That will
pretty much never happen.  Basically, the original "2pass curve" check
was disabled and that's why it didn't cause any problems.

I think it would make more sense to change to check from an error to a
warning.  Something about how the maximum allowed quality level doesn't use
all available bits.



More information about the MEncoder-users mailing list