diff options
Diffstat (limited to 'tests/tiny_psnr.c')
-rw-r--r-- | tests/tiny_psnr.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/tiny_psnr.c b/tests/tiny_psnr.c index af37803b6c..91225f2b3e 100644 --- a/tests/tiny_psnr.c +++ b/tests/tiny_psnr.c @@ -49,7 +49,19 @@ uint64_t exp16_table[21]={ 195360063, 582360139072LL, }; +#if 1 +// 16.16 fixpoint exp() +static unsigned int exp16(unsigned int a){ + int i; + int out= 1<<16; + + for(i=19;i>=0;i--){ + if(a&(1<<i)) + out= (out*exp16_table[i] + (1<<15))>>16; + } + return out; +} // 16.16 fixpoint log() static int64_t log16(uint64_t a){ int i; @@ -68,6 +80,7 @@ static int64_t log16(uint64_t a){ return out; } +#endif static uint64_t int_sqrt(uint64_t a) { uint64_t ret=0; |