[FFmpeg-cvslog] r9231 - in trunk/libavcodec: roqvideo.h roqvideodec.c
benoit
subversion
Wed Jun 6 12:40:05 CEST 2007
Author: benoit
Date: Wed Jun 6 12:40:05 2007
New Revision: 9231
Log:
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
Modified:
trunk/libavcodec/roqvideo.h
trunk/libavcodec/roqvideodec.c
Modified: trunk/libavcodec/roqvideo.h
==============================================================================
--- trunk/libavcodec/roqvideo.h (original)
+++ trunk/libavcodec/roqvideo.h Wed Jun 6 12:40:05 2007
@@ -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;
Modified: trunk/libavcodec/roqvideodec.c
==============================================================================
--- trunk/libavcodec/roqvideodec.c (original)
+++ trunk/libavcodec/roqvideodec.c Wed Jun 6 12:40:05 2007
@@ -60,16 +60,16 @@ static void roqvideo_decode_frame(RoqCon
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(RoqCon
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(RoqCon
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;
}
More information about the ffmpeg-cvslog
mailing list