OSDN Git Service

2 cpu cycles faster context calculation for decode_cabac_intra_mb_type()
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 16 Feb 2010 02:51:37 +0000 (02:51 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 16 Feb 2010 02:51:37 +0000 (02:51 +0000)
Originally committed as revision 21845 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264_cabac.c

index 892a301..9365228 100644 (file)
@@ -723,9 +723,9 @@ static int decode_cabac_intra_mb_type(H264Context *h, int ctx_base, int intra_sl
 
     if(intra_slice){
         int ctx=0;
-        if( h->left_type[0] && !IS_INTRA4x4(h->left_type[0]))
+        if( h->left_type[0] & (MB_TYPE_INTRA16x16|MB_TYPE_INTRA_PCM))
             ctx++;
-        if( h->top_type     && !IS_INTRA4x4(h->top_type) )
+        if( h->top_type     & (MB_TYPE_INTRA16x16|MB_TYPE_INTRA_PCM))
             ctx++;
         if( get_cabac_noinline( &h->cabac, &state[ctx] ) == 0 )
             return 0;   /* I4x4 */