Mercurial > libavcodec.hg
comparison h264_loopfilter.c @ 10969:2e8fbfc278d5 libavcodec
Optmize 8x8dct check used to skip some borders in the loop filter.
4 cpu cycles faster.
author | michael |
---|---|
date | Sat, 23 Jan 2010 13:54:02 +0000 |
parents | 34a65026fa06 |
children | eb5f0ccb6a98 |
comparison
equal
deleted
inserted
replaced
10968:c1cccc058c7a | 10969:2e8fbfc278d5 |
---|---|
489 const int mbn_xy = edge > 0 ? mb_xy : mbm_xy; | 489 const int mbn_xy = edge > 0 ? mb_xy : mbm_xy; |
490 const int mbn_type = s->current_picture.mb_type[mbn_xy]; | 490 const int mbn_type = s->current_picture.mb_type[mbn_xy]; |
491 DECLARE_ALIGNED_8(int16_t, bS)[4]; | 491 DECLARE_ALIGNED_8(int16_t, bS)[4]; |
492 int qp; | 492 int qp; |
493 | 493 |
494 if( (edge&1) && IS_8x8DCT(mb_type) ) | 494 if( IS_8x8DCT(mb_type & (edge<<24)) ) // (edge&1) && IS_8x8DCT(mb_type) |
495 continue; | 495 continue; |
496 | 496 |
497 if( IS_INTRA(mb_type|mbn_type)) { | 497 if( IS_INTRA(mb_type|mbn_type)) { |
498 *(uint64_t*)bS= 0x0003000300030003ULL; | 498 *(uint64_t*)bS= 0x0003000300030003ULL; |
499 if (edge == 0) { | 499 if (edge == 0) { |