lavc: G.723.1 encoder
[libav.git] / libavcodec / celp_math.c
index c3d12e9..8a788f5 100644 (file)
@@ -26,6 +26,8 @@
 
 #include "avcodec.h"
 #include "celp_math.h"
+#include "mathops.h"
+
 #include "libavutil/common.h"
 
 static const uint16_t exp2a[]=
@@ -67,7 +69,7 @@ static const uint16_t tab_log2[33] =
   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;
@@ -86,3 +88,14 @@ int ff_log2(uint32_t value)
 
     return (power_int << 15) + value;
 }
+
+int64_t ff_dot_product(const int16_t *a, const int16_t *b, int length)
+{
+    int i;
+    int64_t sum = 0;
+
+    for (i = 0; i < length; i++)
+        sum += MUL16(a[i], b[i]);
+
+    return sum;
+}