[SCM] libav/experimental: exporting mbskip_table after it has been allocated

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:32:47 UTC 2013


The following commit has been merged in the experimental branch:
commit fe072fb4ee7375d9dd4c90c54cff22b12a886e88
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Tue Jul 16 11:45:14 2002 +0000

    exporting mbskip_table after it has been allocated
    
    Originally committed as revision 768 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index d03b9cc..d6a6850 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 52f045b..38de3d8 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list