summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorKenan Gillet <kenan.gillet@gmail.com>2008-10-30 21:04:17 +0000
committerVitor Sessak <vitor1001@gmail.com>2008-10-30 21:04:17 +0000
commit0bc484ad51f5c85a3c1298a718355724905cdd6b (patch)
tree902c33fa75833a7c450cd542a1668217c728be2e /libavcodec
parent8c31f18bf9958d032486270a225849ba69b66365 (diff)
Add ff_dot_productf() to celp_math.{c,h}
Part of the QCELP patch by Kenan Gillet, kenan.gillet gmail com Originally committed as revision 15753 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/celp_math.c11
-rw-r--r--libavcodec/celp_math.h10
2 files changed, 21 insertions, 0 deletions
diff --git a/libavcodec/celp_math.c b/libavcodec/celp_math.c
index 9fa7dfc70d..df05917d20 100644
--- a/libavcodec/celp_math.c
+++ b/libavcodec/celp_math.c
@@ -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;
+}
diff --git a/libavcodec/celp_math.h b/libavcodec/celp_math.h
index 029b5310af..ce0726fba1 100644
--- a/libavcodec/celp_math.h
+++ b/libavcodec/celp_math.h
@@ -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 */