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) {