aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-01-17 22:05:36 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-01-17 22:05:36 +0000
commit2911e1322470630e1ab7e0e3923709e2a1b88947 (patch)
tree6e74e5716a8adde1dc19da718749c783235122f7
parentf432b43b0807fd86ef5d691be6b2b8f918e7c6b1 (diff)
downloadffmpeg-2911e1322470630e1ab7e0e3923709e2a1b88947.tar.gz
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
-rw-r--r--libavcodec/h264.h5
1 files 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]);
}