diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-09-29 21:21:26 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-29 21:44:03 +0200 |
commit | 11512367d3c6f67b093b54c532328763c9b815e2 (patch) | |
tree | ee8c5e1e0d293a8c4f2917c1aecc85466c2accfe /libavcodec/celp_math.c | |
parent | 84f8aef40c7091274ed399a8aeaa933ea76d9476 (diff) | |
download | ffmpeg-11512367d3c6f67b093b54c532328763c9b815e2.tar.gz |
celp_math: cleanup ff_dot_product()
based on code & idea by vitor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/celp_math.c')
-rw-r--r-- | libavcodec/celp_math.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/celp_math.c b/libavcodec/celp_math.c index b78edd1ebd..a00bb3964e 100644 --- a/libavcodec/celp_math.c +++ b/libavcodec/celp_math.c @@ -197,14 +197,14 @@ int ff_log2(uint32_t value) return (power_int << 15) + value; } -int ff_dot_product(const int16_t *a, const int16_t *b, int length, int shift) +int ff_dot_product(const int16_t *a, const int16_t *b, int length) { - int i, sum = 0; + int i; + int64_t sum = 0; + + for (i = 0; i < length; i++) + sum += MUL16(a[i], b[i]); - for (i = 0; i < length; i++) { - int64_t prod = av_clipl_int32(MUL64(a[i], b[i]) << shift); - sum = av_clipl_int32(sum + prod); - } return sum; } |