Originally committed as revision 9142 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diego Biurrun authored on 2007/05/28 00:52:57... | ... |
@@ -49,7 +49,19 @@ uint64_t exp16_table[21]={ |
49 | 49 |
195360063, |
50 | 50 |
582360139072LL, |
51 | 51 |
}; |
52 |
+#if 1 |
|
53 |
+// 16.16 fixpoint exp() |
|
54 |
+static unsigned int exp16(unsigned int a){ |
|
55 |
+ int i; |
|
56 |
+ int out= 1<<16; |
|
57 |
+ |
|
58 |
+ for(i=19;i>=0;i--){ |
|
59 |
+ if(a&(1<<i)) |
|
60 |
+ out= (out*exp16_table[i] + (1<<15))>>16; |
|
61 |
+ } |
|
52 | 62 |
|
63 |
+ return out; |
|
64 |
+} |
|
53 | 65 |
// 16.16 fixpoint log() |
54 | 66 |
static int64_t log16(uint64_t a){ |
55 | 67 |
int i; |
... | ... |
@@ -68,6 +80,7 @@ static int64_t log16(uint64_t a){ |
68 | 68 |
return out; |
69 | 69 |
} |
70 | 70 |
|
71 |
+#endif |
|
71 | 72 |
static uint64_t int_sqrt(uint64_t a) |
72 | 73 |
{ |
73 | 74 |
uint64_t ret=0; |