[MPlayer-users] [BUG] lavc error - 2pass curve failed to converge
Loren Merritt
lorenm at u.washington.edu
Sat Jul 15 19:29:14 CEST 2006
On Fri, 14 Jul 2006, Corey Hickey wrote:
> 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.
Just in case it helps anyone debugging:
x264 uses the same ratecontrol framework with the same threshold
(including fabs), and it works (i.e. complains if and only if bitrate
can't be satisfied given the qp_min or qp_max).
The only fix related to convergence I remember making is:
Instead of an absolute search range for ratefactor
for(step=256*256; step>0.0000001; step*=0.5){
rate_factor+= step;
to initialize it based on a closed-form solution
step_mult= available_bits / expected_bits;
for(step=256*256; step>0.0000001; step*=0.5){
rate_factor+= step*step_mult;
because different rc_eq's need very different search ranges.
--Loren Merritt
More information about the MPlayer-users
mailing list