From e2887363e188c5da1df2206f5aa3557ce8b5598a Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 26 Sep 2006 20:24:13 +0000 Subject: [PATCH] fix decoding of bastard1.rm (rv ver=0x10003001 ver0=0x8000000) Originally committed as revision 6346 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/rv10.c | 7 ++++--- 1 file 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; }