Add ff_dot_productf() to celp_math.{c,h}
authorKenan Gillet <kenan.gillet@gmail.com>
Thu, 30 Oct 2008 21:04:17 +0000 (21:04 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Thu, 30 Oct 2008 21:04:17 +0000 (21:04 +0000)
Part of the QCELP patch by Kenan Gillet, kenan.gillet gmail com

Originally committed as revision 15753 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/celp_math.c
libavcodec/celp_math.h

index 9fa7dfc..df05917 100644 (file)
@@ -195,3 +195,14 @@ int ff_log2(uint32_t value)
 
     return (power_int << 15) + value;
 }
+
+float ff_dot_productf(const float* a, const float* b, int length)
+{
+    float sum = 0;
+    int i;
+
+    for(i=0; i<length; i++)
+        sum += a[i] * b[i];
+
+    return sum;
+}
index 029b531..ce0726f 100644 (file)
@@ -83,4 +83,14 @@ static inline int bidir_sal(int value, int offset)
     else           return value <<  offset;
 }
 
+/**
+ * returns the dot product.
+ * @param a input data array
+ * @param b input data array
+ * @param length number of elements
+ *
+ * @return dot product = sum of elementwise products
+ */
+extern float ff_dot_productf(const float* a, const float* b, int length);
+
 #endif /* AVCODEC_CELP_MATH_H */