From 2911e1322470630e1ab7e0e3923709e2a1b88947 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 17 Jan 2010 22:05:36 +0000 Subject: [PATCH] Disable a few things in fill_filter_caches() that arent needed. 0.1% speedup Originally committed as revision 21272 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 0e61a37d4e..f676371ab6 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -830,7 +830,7 @@ static av_always_inline void fill_caches(H264Context *h, int mb_type, int for_de 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_INTRA(mb_type)){ + if(IS_INTRA(mb_type) && !for_deblock){ int type_mask= h->pps.constrained_intra_pred ? IS_INTRA(-1) : -1; h->topleft_samples_available= h->top_samples_available= @@ -961,7 +961,7 @@ static av_always_inline void fill_caches(H264Context *h, int mb_type, int for_de } } - if( CABAC ) { + if( CABAC && !for_deblock) { // top_cbp if(top_type) { h->top_cbp = h->cbp_table[top_xy]; @@ -1174,6 +1174,7 @@ static av_always_inline void fill_caches(H264Context *h, int mb_type, int for_de } #endif + if(!for_deblock) h->neighbor_transform_size= !!IS_8x8DCT(top_type) + !!IS_8x8DCT(left_type[0]); }