Fix more potential overflows in amrwbenc

Bug: 28268307
Change-Id: Ibe32bee8c73950e3a9cae13bd4b516f9c7428673
diff --git a/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c b/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c
index 4d877f1..8cebb09 100644
--- a/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c
+++ b/media/libstagefright/codecs/amrwbenc/src/c4t64fx.c
@@ -857,23 +857,23 @@
         p2 = &vec[pos];
         for (j=pos;j < L_SUBFR; j++)
         {
-            L_sum1 += *p1 * *p2;
+            L_sum1 = L_add(L_sum1, *p1 * *p2);
             p2-=3;
-            L_sum2 += *p1++ * *p2;
+            L_sum2 = L_add(L_sum2, *p1++ * *p2);
             p2+=4;
         }
         p2-=3;
-        L_sum2 += *p1++ * *p2++;
-        L_sum2 += *p1++ * *p2++;
-        L_sum2 += *p1++ * *p2++;
+        L_sum2 = L_add(L_sum2, *p1++ * *p2++);
+        L_sum2 = L_add(L_sum2, *p1++ * *p2++);
+        L_sum2 = L_add(L_sum2, *p1++ * *p2++);
 
-        L_sum1 = (L_sum1 << 2);
-        L_sum2 = (L_sum2 << 2);
+        L_sum1 = L_shl(L_sum1, 2);
+        L_sum2 = L_shl(L_sum2, 2);
 
-        corr = vo_round(L_sum1);
-        *cor_x++ = vo_mult(corr, sign[pos]) + (*p0++);
-        corr = vo_round(L_sum2);
-        *cor_y++ = vo_mult(corr, sign[pos-3]) + (*p3++);
+        corr = voround(L_sum1);
+        *cor_x++ = mult(corr, sign[pos]) + (*p0++);
+        corr = voround(L_sum2);
+        *cor_y++ = mult(corr, sign[pos-3]) + (*p3++);
         pos += STEP;
 
         L_sum1 = L_sum2 = 0L;
@@ -881,23 +881,23 @@
         p2 = &vec[pos];
         for (j=pos;j < L_SUBFR; j++)
         {
-            L_sum1 += *p1 * *p2;
+            L_sum1 = L_add(L_sum1, *p1 * *p2);
             p2-=3;
-            L_sum2 += *p1++ * *p2;
+            L_sum2 = L_add(L_sum2, *p1++ * *p2);
             p2+=4;
         }
         p2-=3;
-        L_sum2 += *p1++ * *p2++;
-        L_sum2 += *p1++ * *p2++;
-        L_sum2 += *p1++ * *p2++;
+        L_sum2 = L_add(L_sum2, *p1++ * *p2++);
+        L_sum2 = L_add(L_sum2, *p1++ * *p2++);
+        L_sum2 = L_add(L_sum2, *p1++ * *p2++);
 
-        L_sum1 = (L_sum1 << 2);
-        L_sum2 = (L_sum2 << 2);
+        L_sum1 = L_shl(L_sum1, 2);
+        L_sum2 = L_shl(L_sum2, 2);
 
-        corr = vo_round(L_sum1);
-        *cor_x++ = vo_mult(corr, sign[pos]) + (*p0++);
-        corr = vo_round(L_sum2);
-        *cor_y++ = vo_mult(corr, sign[pos-3]) + (*p3++);
+        corr = voround(L_sum1);
+        *cor_x++ = mult(corr, sign[pos]) + (*p0++);
+        corr = voround(L_sum2);
+        *cor_y++ = mult(corr, sign[pos-3]) + (*p3++);
         pos += STEP;
     }
     return;
@@ -929,16 +929,16 @@
         p2 = &vec[pos];
         for (j=62-pos ;j >= 0; j--)
         {
-            L_sum1 += *p1 * *p2++;
-            L_sum2 += *p1++ * *p2;
+            L_sum1 = L_add(L_sum1, *p1 * *p2++);
+            L_sum2 = L_add(L_sum2, *p1++ * *p2);
         }
-        L_sum1 += *p1 * *p2;
-        L_sum1 = (L_sum1 << 2);
-        L_sum2 = (L_sum2 << 2);
+        L_sum1 = L_add(L_sum1, *p1 * *p2);
+        L_sum1 = L_shl(L_sum1, 2);
+        L_sum2 = L_shl(L_sum2, 2);
 
-        corr = (L_sum1 + 0x8000) >> 16;
+        corr = voround(L_sum1);
         cor_x[i] = vo_mult(corr, sign[pos]) + (*p0++);
-        corr = (L_sum2 + 0x8000) >> 16;
+        corr = voround(L_sum2);
         cor_y[i] = vo_mult(corr, sign[pos + 1]) + (*p3++);
         pos += STEP;
 
@@ -947,16 +947,16 @@
         p2 = &vec[pos];
         for (j= 62-pos;j >= 0; j--)
         {
-            L_sum1 += *p1 * *p2++;
-            L_sum2 += *p1++ * *p2;
+            L_sum1 = L_add(L_sum1, *p1 * *p2++);
+            L_sum2 = L_add(L_sum2, *p1++ * *p2);
         }
-        L_sum1 += *p1 * *p2;
-        L_sum1 = (L_sum1 << 2);
-        L_sum2 = (L_sum2 << 2);
+        L_sum1 = L_add(L_sum1, *p1 * *p2);
+        L_sum1 = L_shl(L_sum1, 2);
+        L_sum2 = L_shl(L_sum2, 2);
 
-        corr = (L_sum1 + 0x8000) >> 16;
+        corr = voround(L_sum1);
         cor_x[i+1] = vo_mult(corr, sign[pos]) + (*p0++);
-        corr = (L_sum2 + 0x8000) >> 16;
+        corr = voround(L_sum2);
         cor_y[i+1] = vo_mult(corr, sign[pos + 1]) + (*p3++);
         pos += STEP;
     }