Don't use pow/powf functions where we just need integer arithmetic.

approved by Benjamin

Originally committed as revision 4973 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alexander Strasser 2006-02-10 11:59:38 +00:00
parent 0a925109ec
commit 5c4b1b2538

View File

@ -185,8 +185,8 @@ static void init_pow2table(COOKContext *q){
int i; int i;
q->pow2tab[63] = 1.0; q->pow2tab[63] = 1.0;
for (i=1 ; i<64 ; i++){ for (i=1 ; i<64 ; i++){
q->pow2tab[63+i]=(float)pow(2.0,(double)i); q->pow2tab[63+i]=(float)((uint64_t)1<<i);
q->pow2tab[63-i]=1.0/(float)pow(2.0,(double)i); q->pow2tab[63-i]=1.0/(float)((uint64_t)1<<i);
} }
} }
@ -195,8 +195,8 @@ static void init_rootpow2table(COOKContext *q){
int i; int i;
q->rootpow2tab[63] = 1.0; q->rootpow2tab[63] = 1.0;
for (i=1 ; i<64 ; i++){ for (i=1 ; i<64 ; i++){
q->rootpow2tab[63+i]=sqrt((float)powf(2.0,(float)i)); q->rootpow2tab[63+i]=sqrt((float)((uint64_t)1<<i));
q->rootpow2tab[63-i]=sqrt(1.0/(float)powf(2.0,(float)i)); q->rootpow2tab[63-i]=sqrt(1.0/(float)((uint64_t)1<<i));
} }
} }