Commit 45221f7f authored by Michael Niedermayer's avatar Michael Niedermayer

reduce number of shifts

Originally committed as revision 8891 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent fd735e4b
......@@ -189,15 +189,16 @@ extern const uint8_t ff_sqrt_tab[128];
static inline int ff_sqrt(int a)
{
int ret=0;
int s;
int s, b;
if(a<128) return ff_sqrt_tab[a];
for(s=15; s>=0; s--){
int b= (1<<(s*2)) + (ret<<s)*2;
for(s=30; s>=0; s-=2){
ret+=ret;
b= (1+2*ret)<<s;
if(b<=a){
a-=b;
ret+= 1<<s;
ret++;
}
}
return ret;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment