Commit 160228f8 authored by Eric Lasota's avatar Eric Lasota Committed by Benoit Fouet
Browse files

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

Originally committed as revision 9231 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 1cc60c47
......@@ -41,8 +41,8 @@ typedef struct RoqContext {
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;
......
......@@ -60,16 +60,16 @@ static void roqvideo_decode_frame(RoqContext *ri)
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 @@ static void roqvideo_decode_frame(RoqContext *ri)
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 @@ static void roqvideo_decode_frame(RoqContext *ri)
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;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment