#include "avcodec.h"
#include "celp_math.h"
+#include "mathops.h"
+
#include "libavutil/common.h"
static const uint16_t exp2a[]=
26457, 27294, 28116, 28924, 29719, 30500, 31269, 32025, 32769,
};
-int ff_log2(uint32_t value)
+int ff_log2_q15(uint32_t value)
{
uint8_t power_int;
uint8_t frac_x0;
return (power_int << 15) + value;
}
-float ff_dot_productf(const float* a, const float* b, int length)
+int64_t ff_dot_product(const int16_t *a, const int16_t *b, int length)
{
- float sum = 0;
int i;
+ int64_t sum = 0;
- for(i=0; i<length; i++)
- sum += a[i] * b[i];
+ for (i = 0; i < length; i++)
+ sum += MUL16(a[i], b[i]);
return sum;
}