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