Originally committed as revision 5571 to svn://svn.ffmpeg.org/ffmpeg/trunk
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--) {