simplify
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 2 Jul 2006 09:30:51 +0000 (09:30 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 2 Jul 2006 09:30:51 +0000 (09:30 +0000)
Originally committed as revision 5571 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/flacenc.c

index 75d77d1..aba02ab 100644 (file)
@@ -301,20 +301,19 @@ static void calc_sums(int pmax, uint32_t *data, int n, int pred_order,
                       uint32_t sums[][256])
 {
     int i, j;
-    int parts, cnt;
-    uint32_t *res;
+    int parts;
+    uint32_t *res, *res_end;
 
     /* sums for highest level */
     parts = (1 << pmax);
     res = &data[pred_order];
-    cnt = (n >> pmax) - pred_order;
+    res_end = &data[n >> pmax];
     for(i=0; i<parts; i++) {
-        if(i == 1) cnt = (n >> pmax);
-        if(i > 0) res = &data[i*cnt];
         sums[pmax][i] = 0;
-        for(j=0; j<cnt; j++) {
-            sums[pmax][i] += res[j];
+        while(res < res_end){
+            sums[pmax][i] += *(res++);
         }
+        res_end+= n >> pmax;
     }
     /* sums for lower levels */
     for(i=pmax-1; i>=0; i--) {