# HG changeset patch # User benoit # Date 1181126405 0 # Node ID b8e8aa53f6131a239d49a09621ee5c26c5e4be79 # Parent 1deb3e53da27b74f09e97c86645058f775d07603 Rename cb field patch by Eric Lasota: [riot at icculus org] original thread: [FFmpeg-devel] [PATCH] RoQ decoder 4:4:4 update date: 06/05/2007 09:22 PM diff -r 1deb3e53da27 -r b8e8aa53f613 roqvideo.h --- a/roqvideo.h Wed Jun 06 08:51:41 2007 +0000 +++ b/roqvideo.h Wed Jun 06 10:40:05 2007 +0000 @@ -41,8 +41,8 @@ int y_stride; int c_stride; - roq_cell cells[256]; - roq_qcell qcells[256]; + roq_cell cb2x2[256]; + roq_qcell cb4x4[256]; unsigned char *buf; int size; diff -r 1deb3e53da27 -r b8e8aa53f613 roqvideodec.c --- a/roqvideodec.c Wed Jun 06 08:51:41 2007 +0000 +++ b/roqvideodec.c Wed Jun 06 10:40:05 2007 +0000 @@ -60,16 +60,16 @@ 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++; } } @@ -94,11 +94,11 @@ 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++) { @@ -123,17 +123,17 @@ 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; }