if((nv2 = chunk_arg & 0xff) == 0 && nv1 * 6 < chunk_size)
nv2 = 256;
for(i = 0; i < nv1; i++) {
- ri->cells[i].y[0] = *buf++;
- ri->cells[i].y[1] = *buf++;
- ri->cells[i].y[2] = *buf++;
- ri->cells[i].y[3] = *buf++;
- ri->cells[i].u = *buf++;
- ri->cells[i].v = *buf++;
+ ri->cb2x2[i].y[0] = *buf++;
+ ri->cb2x2[i].y[1] = *buf++;
+ ri->cb2x2[i].y[2] = *buf++;
+ ri->cb2x2[i].y[3] = *buf++;
+ ri->cb2x2[i].u = *buf++;
+ ri->cb2x2[i].v = *buf++;
}
for(i = 0; i < nv2; i++)
for(j = 0; j < 4; j++)
- ri->qcells[i].idx[j] = *buf++;
+ ri->cb4x4[i].idx[j] = *buf++;
}
}
ff_apply_motion_8x8(ri, xp, yp, mx, my);
break;
case RoQ_ID_SLD:
- qcell = ri->qcells + buf[bpos++];
- ff_apply_vector_4x4(ri, xp, yp, ri->cells + qcell->idx[0]);
- ff_apply_vector_4x4(ri, xp+4, yp, ri->cells + qcell->idx[1]);
- ff_apply_vector_4x4(ri, xp, yp+4, ri->cells + qcell->idx[2]);
- ff_apply_vector_4x4(ri, xp+4, yp+4, ri->cells + qcell->idx[3]);
+ qcell = ri->cb4x4 + buf[bpos++];
+ ff_apply_vector_4x4(ri, xp, yp, ri->cb2x2 + qcell->idx[0]);
+ ff_apply_vector_4x4(ri, xp+4, yp, ri->cb2x2 + qcell->idx[1]);
+ ff_apply_vector_4x4(ri, xp, yp+4, ri->cb2x2 + qcell->idx[2]);
+ ff_apply_vector_4x4(ri, xp+4, yp+4, ri->cb2x2 + qcell->idx[3]);
break;
case RoQ_ID_CCC:
for (k = 0; k < 4; k++) {
ff_apply_motion_4x4(ri, x, y, mx, my);
break;
case RoQ_ID_SLD:
- qcell = ri->qcells + buf[bpos++];
- ff_apply_vector_2x2(ri, x, y, ri->cells + qcell->idx[0]);
- ff_apply_vector_2x2(ri, x+2, y, ri->cells + qcell->idx[1]);
- ff_apply_vector_2x2(ri, x, y+2, ri->cells + qcell->idx[2]);
- ff_apply_vector_2x2(ri, x+2, y+2, ri->cells + qcell->idx[3]);
+ qcell = ri->cb4x4 + buf[bpos++];
+ ff_apply_vector_2x2(ri, x, y, ri->cb2x2 + qcell->idx[0]);
+ ff_apply_vector_2x2(ri, x+2, y, ri->cb2x2 + qcell->idx[1]);
+ ff_apply_vector_2x2(ri, x, y+2, ri->cb2x2 + qcell->idx[2]);
+ ff_apply_vector_2x2(ri, x+2, y+2, ri->cb2x2 + qcell->idx[3]);
break;
case RoQ_ID_CCC:
- ff_apply_vector_2x2(ri, x, y, ri->cells + buf[bpos]);
- ff_apply_vector_2x2(ri, x+2, y, ri->cells + buf[bpos+1]);
- ff_apply_vector_2x2(ri, x, y+2, ri->cells + buf[bpos+2]);
- ff_apply_vector_2x2(ri, x+2, y+2, ri->cells + buf[bpos+3]);
+ ff_apply_vector_2x2(ri, x, y, ri->cb2x2 + buf[bpos]);
+ ff_apply_vector_2x2(ri, x+2, y, ri->cb2x2 + buf[bpos+1]);
+ ff_apply_vector_2x2(ri, x, y+2, ri->cb2x2 + buf[bpos+2]);
+ ff_apply_vector_2x2(ri, x+2, y+2, ri->cb2x2 + buf[bpos+3]);
bpos += 4;
break;
}