summaryrefslogtreecommitdiff
path: root/libavcodec/rv10.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2006-09-26 20:24:13 +0000
committerMichael Niedermayer <michaelni@gmx.at>2006-09-26 20:24:13 +0000
commite2887363e188c5da1df2206f5aa3557ce8b5598a (patch)
tree48ab7c3f58e27ffcac748c677e9dc996168ae5d5 /libavcodec/rv10.c
parent730ba4067ce34572f4336d7e135caa9327a108a3 (diff)
fix decoding of bastard1.rm (rv ver=0x10003001 ver0=0x8000000)
Originally committed as revision 6346 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/rv10.c')
-rw-r--r--libavcodec/rv10.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index daec2b85bc..6ec8e51f45 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -594,7 +594,7 @@ static int rv10_decode_packet(AVCodecContext *avctx,
uint8_t *buf, int buf_size)
{
MpegEncContext *s = avctx->priv_data;
- int mb_count, mb_pos, left;
+ int mb_count, mb_pos, left, start_mb_x;
init_get_bits(&s->gb, buf, buf_size*8);
if(s->codec_id ==CODEC_ID_RV10)
@@ -639,8 +639,9 @@ static int rv10_decode_packet(AVCodecContext *avctx,
if(s->mb_y==0) s->first_slice_line=1;
}else{
s->first_slice_line=1;
+ s->resync_mb_x= s->mb_x;
}
- s->resync_mb_x= s->mb_x;
+ start_mb_x= s->mb_x;
s->resync_mb_y= s->mb_y;
if(s->h263_aic){
s->y_dc_scale_table=
@@ -699,7 +700,7 @@ static int rv10_decode_packet(AVCodecContext *avctx,
if(ret == SLICE_END) break;
}
- ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, AC_END|DC_END|MV_END);
+ ff_er_add_slice(s, start_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, AC_END|DC_END|MV_END);
return buf_size;
}