[FFmpeg-cvslog] r13124 - trunk/libavcodec/ra144.c

astrange subversion
Sun May 11 20:47:16 CEST 2008


Author: astrange
Date: Sun May 11 20:47:16 2008
New Revision: 13124

Log:
Simplify do_voice().
Patch by Vitor Sessak (vitor1001 gmail com)


Modified:
   trunk/libavcodec/ra144.c

Modified: trunk/libavcodec/ra144.c
==============================================================================
--- trunk/libavcodec/ra144.c	(original)
+++ trunk/libavcodec/ra144.c	Sun May 11 20:47:16 2008
@@ -106,28 +106,21 @@ static int t_sqrt(unsigned int x)
 static void do_voice(int *a1, int *a2)
 {
     int buffer[10];
-    int *b1, *b2;
+    int *b1 = buffer;
+    int *b2 = a2;
     int x, y;
-    int *ptr;
-
-    b1 = buffer;
-    b2 = a2;
 
     for (x=0; x < 10; x++) {
-        b1[x] = (*a1) << 4;
+        b1[x] = a1[x] << 4;
+
+        for (y=0; y < x; y++)
+            b1[y] = ((a1[x] * (b2[x-y-1])) >> 12) + b2[y];
 
-        if(x > 0) {
-            ptr = b2 + x;
-            for (y=0; y <= x - 1; y++)
-                b1[y] = (((*a1) * (*(--ptr))) >> 12) + b2[y];
-        }
         FFSWAP(int *, b1, b2);
-        a1++;
     }
-    ptr = a2 + 10;
 
-    while (ptr > a2)
-        (*a2++) >>= 4;
+    for (x=0; x < 10; x++)
+        a2[x] >>= 4;
 }
 
 




More information about the ffmpeg-cvslog mailing list