summaryrefslogtreecommitdiff
path: root/libavcodec/vcr1.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-07-24 21:52:41 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-07-24 21:52:41 +0000
commit14bc6e6371cf7b2196b5edbafd67b119a1238b0a (patch)
treeae5587e0c4a70cd2e12085992a7efe79477da009 /libavcodec/vcr1.c
parent438fcb754f47ee30036e7f7819341de7fb7c5d54 (diff)
fix
Originally committed as revision 2078 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vcr1.c')
-rw-r--r--libavcodec/vcr1.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/vcr1.c b/libavcodec/vcr1.c
index b89260eaa3..18e250dd6b 100644
--- a/libavcodec/vcr1.c
+++ b/libavcodec/vcr1.c
@@ -79,7 +79,7 @@ static int decode_frame(AVCodecContext *avctx,
for(i=0; i<4; i++)
a->offset[i]= *(bytestream++);
- offset= a->offset[0];
+ offset= a->offset[0] - a->delta[ bytestream[2]&0xF ];
for(x=0; x<avctx->width; x+=4){
luma[0]=( offset += a->delta[ bytestream[2]&0xF ]);
luma[1]=( offset += a->delta[ bytestream[2]>>4 ]);
@@ -87,13 +87,13 @@ static int decode_frame(AVCodecContext *avctx,
luma[3]=( offset += a->delta[ bytestream[0]>>4 ]);
luma += 4;
- *(cb++) = bytestream[1];
- *(cr++) = bytestream[3];
+ *(cb++) = bytestream[3];
+ *(cr++) = bytestream[1];
bytestream+= 4;
}
}else{
- offset= a->offset[y&3];
+ offset= a->offset[y&3] - a->delta[ bytestream[2]&0xF ];
for(x=0; x<avctx->width; x+=8){
luma[0]=( offset += a->delta[ bytestream[2]&0xF ]);