mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
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
This commit is contained in:
parent
1cc60c47c5
commit
160228f894
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user