[FFmpeg-cvslog] g723.1: remove useless uses of MUL64()

Mans Rullgard git at videolan.org
Mon Aug 13 14:49:44 CEST 2012


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Fri Aug 10 16:42:54 2012 +0100| [1eb1f6f281eb6036d363e0317c1500be4a2708f2] | committer: Mans Rullgard

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 at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1eb1f6f281eb6036d363e0317c1500be4a2708f2
---

 libavcodec/g723_1.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c
index 4580800..f91f629 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) {



More information about the ffmpeg-cvslog mailing list