diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index d03b9ccf5b..d6a68502dd 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -88,7 +88,6 @@ static int h263_decode_init(AVCodecContext *avctx) return -1; } s->codec_id= avctx->codec->id; - avctx->mbskip_table= s->mbskip_table; /* for h263, we allocate the images after having read the header */ if (avctx->codec->id != CODEC_ID_H263 && avctx->codec->id != CODEC_ID_MPEG4) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 52f045bb6f..38de3d831e 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -619,6 +619,7 @@ void MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) s->mb_skiped = 0; s->decoding_error=0; + avctx->mbskip_table= s->mbskip_table; if(avctx->flags&CODEC_FLAG_DR1){ int i; @@ -628,6 +629,7 @@ void MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) s->uvlinesize= avctx->dr_uvstride; s->ip_buffer_count= avctx->dr_ip_buffer_count; } + avctx->dr_ip_buffer_count= s->ip_buffer_count; if (s->pict_type == B_TYPE) { for(i=0;i<3;i++) { @@ -1443,9 +1445,9 @@ void MPV_decode_mb(MpegEncContext *s, DCTELEM block[6][64]) } } - dest_y = s->current_picture[0] + (mb_y * 16 * s->linesize) + mb_x * 16; - dest_cb = s->current_picture[1] + (mb_y * 8 * (s->uvlinesize)) + mb_x * 8; - dest_cr = s->current_picture[2] + (mb_y * 8 * (s->uvlinesize)) + mb_x * 8; + dest_y = s->current_picture [0] + (mb_y * 16* s->linesize ) + mb_x * 16; + dest_cb = s->current_picture[1] + (mb_y * 8 * s->uvlinesize) + mb_x * 8; + dest_cr = s->current_picture[2] + (mb_y * 8 * s->uvlinesize) + mb_x * 8; if (s->interlaced_dct) { dct_linesize = s->linesize * 2;