Simplify: do not overuse pointer aritmetic
authorVitor Sessak <vitor1001@gmail.com>
Thu, 17 Jul 2008 23:48:53 +0000 (23:48 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Thu, 17 Jul 2008 23:48:53 +0000 (23:48 +0000)
Originally committed as revision 14271 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/ra288.c

index 28dca65..bc7d9a9 100644 (file)
@@ -111,19 +111,16 @@ static int pred(const float *in, float *tgt, int n)
     in--; // To avoid a -1 subtraction in the inner loop
 
     for (x=1; x <= n; x++) {
-        float *p1 = tgt + x - 1;
-        float *p2 = tgt;
-
         f1 = in[x+1];
 
         for (y=0; y < x - 1; y++)
             f1 += in[x-y]*tgt[y];
 
-        *(p1--) = f2 = -f1/f0;
-        for (y=x >> 1; y--;) {
-            float temp = *p2 + *p1 * f2;
-            *(p1--) += *p2 * f2;
-            *(p2++) = temp;
+        tgt[x-1] = f2 = -f1/f0;
+        for (y=0; y < x >> 1; y++) {
+            float temp = tgt[y] + tgt[x-y-2]*f2;
+            tgt[x-y-2] += tgt[y]*f2;
+            tgt[y] = temp;
         }
         if ((f0 += f1*f2) < 0)
             return 0;