aboutsummaryrefslogtreecommitdiff
path: root/libavcodec/g723_1.c
diff options
context:
space:
mode:
authorMans Rullgard2012-08-10 16:42:54 +0100
committerMans Rullgard2012-08-13 01:03:25 +0100
commit1eb1f6f281eb6036d363e0317c1500be4a2708f2 (patch)
tree4d564ddd8b8f3f74809272559d26afe2acc86a18 /libavcodec/g723_1.c
parent5a43eba956d095157359e1abf639984c8ca508e4 (diff)
g723.1: remove useless uses of MUL64()
The operands in both cases are 16-bit so cannot overflow a 32-bit destination. In gain_scale() the inputs are reduced to 14-bit, so even the shift cannot overflow. Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/g723_1.c')
-rw-r--r--libavcodec/g723_1.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c
index 45808001b9..f91f629311 100644
--- a/libavcodec/g723_1.c
+++ b/libavcodec/g723_1.c
@@ -574,7 +574,7 @@ static int dot_product(const int16_t *a, const int16_t *b, int length)
int i, sum = 0;
for (i = 0; i < length; i++) {
- int64_t prod = av_clipl_int32(MUL64(a[i], b[i]) << 1);
+ int64_t prod = av_clipl_int32((int64_t)(a[i] * b[i]) << 1);
sum = av_clipl_int32(sum + prod);
}
return sum;
@@ -889,9 +889,9 @@ static void gain_scale(G723_1_Context *p, int16_t * buf, int energy)
num = energy;
denom = 0;
for (i = 0; i < SUBFRAME_LEN; i++) {
- int64_t temp = buf[i] >> 2;
- temp = av_clipl_int32(MUL64(temp, temp) << 1);
- denom = av_clipl_int32(denom + temp);
+ int temp = buf[i] >> 2;
+ temp *= temp;
+ denom = av_clipl_int32((int64_t)denom + (temp << 1));
}
if (num && denom) {