[SCM] libav/experimental: Skiped MBs dont need the cbp stuff so skip initing that.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:00:00 UTC 2013


The following commit has been merged in the experimental branch:
commit 2e4362af14d01ebe64d13357218aa67ae0358034
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Sat Feb 13 20:13:10 2010 +0000

    Skiped MBs dont need the cbp stuff so skip initing that.
    
    Originally committed as revision 21811 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 68c26af..ae95e59 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -801,6 +801,7 @@ static void fill_decode_caches(H264Context *h, int mb_type){
         left_type[0] = h->slice_table[left_xy[0] ] == h->slice_num ? s->current_picture.mb_type[left_xy[0]] : 0;
         left_type[1] = h->slice_table[left_xy[1] ] == h->slice_num ? s->current_picture.mb_type[left_xy[1]] : 0;
 
+    if(!IS_SKIP(mb_type)){
         if(IS_INTRA(mb_type)){
             int type_mask= h->pps.constrained_intra_pred ? IS_INTRA(-1) : -1;
             h->topleft_samples_available=
@@ -945,6 +946,7 @@ static void fill_decode_caches(H264Context *h, int mb_type){
             h->left_cbp |= ((h->cbp_table[left_xy[1]]>>((left_block[2]&(~1))+1))&0x1) << 3;
         }
     }
+    }
 
 #if 1
     if(IS_INTER(mb_type) || (IS_DIRECT(mb_type) && h->direct_spatial_mv_pred)){

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list