Mercurial > libavcodec.hg
changeset 8415:938824a1f42f libavcodec
Only execute clear_blocks() when needed.
+0.3% speedup for both aladin & cathedral.
author | michael |
---|---|
date | Sun, 21 Dec 2008 15:58:42 +0000 |
parents | 3030aa991ed1 |
children | 7f93fb360055 |
files | h264.c |
diffstat | 1 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/h264.c Sun Dec 21 05:32:55 2008 +0000 +++ b/h264.c Sun Dec 21 15:58:42 2008 +0000 @@ -2595,6 +2595,9 @@ } } } + if(h->cbp || IS_INTRA(mb_type)) + s->dsp.clear_blocks(h->mb); + if(h->deblocking_filter) { backup_mb_border(h, dest_y, dest_cb, dest_cr, linesize, uvlinesize, simple); fill_caches(h, mb_type, 1); //FIXME don't fill stuff which isn't used by filter_mb @@ -4262,8 +4265,6 @@ mb_xy = h->mb_xy = s->mb_x + s->mb_y*s->mb_stride; - s->dsp.clear_blocks(h->mb); //FIXME avoid if already clear (move after skip handlong? - tprintf(s->avctx, "pic:%d mb:%d/%d\n", h->frame_num, s->mb_x, s->mb_y); cbp = 0; /* avoid warning. FIXME: find a solution without slowing down the code */ @@ -5340,8 +5341,6 @@ mb_xy = h->mb_xy = s->mb_x + s->mb_y*s->mb_stride; - s->dsp.clear_blocks(h->mb); //FIXME avoid if already clear (move after skip handlong?) - tprintf(s->avctx, "pic:%d mb:%d/%d\n", h->frame_num, s->mb_x, s->mb_y); if( h->slice_type_nos != FF_I_TYPE ) { int skip;