Stop the approximation in bessel() once it does no longer improve.

This is faster.

Originally committed as revision 21038 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2010-01-06 22:40:52 +00:00
parent 9df9b810c5
commit 2efcf29275
1 changed files with 3 additions and 1 deletions

View File

@ -76,11 +76,13 @@ typedef struct AVResampleContext{
*/ */
static double bessel(double x){ static double bessel(double x){
double v=1; double v=1;
double lastv=0;
double t=1; double t=1;
int i; int i;
x= x*x/4; x= x*x/4;
for(i=1; i<50; i++){ for(i=1; v != lastv; i++){
lastv=v;
t *= x/(i*i); t *= x/(i*i);
v += t; v += t;
} }