Mercurial > libavcodec.hg
changeset 10973:214adf5e303b libavcodec
Set edges based on cbp and mv partitioning, not just skiped MBs.
This is faster for videos that have lots of MBs that fall in this category.
author | michael |
---|---|
date | Sat, 23 Jan 2010 15:28:34 +0000 |
parents | 3dd1cb77cc60 |
children | b1ccfdc1b409 |
files | h264_loopfilter.c |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/h264_loopfilter.c Sat Jan 23 15:22:48 2010 +0000 +++ b/h264_loopfilter.c Sat Jan 23 15:28:34 2010 +0000 @@ -425,12 +425,12 @@ const int mbm_xy = dir == 0 ? mb_xy -1 : h->top_mb_xy; const int mbm_type = s->current_picture.mb_type[mbm_xy]; - const int edges = (mb_type & (MB_TYPE_16x16|MB_TYPE_SKIP)) - == (MB_TYPE_16x16|MB_TYPE_SKIP) ? 1 : 4; // how often to recheck mv-based bS when iterating between edges static const uint8_t mask_edge_tab[2][8]={{0,3,3,3,1,1,1,1}, {0,3,1,1,3,3,3,3}}; const int mask_edge = mask_edge_tab[dir][(mb_type>>3)&7]; + const int edges = mask_edge== 3 && !(h->cbp&15) ? 1 : 4; + // how often to recheck mv-based bS when iterating along each edge const int mask_par0 = mb_type & (MB_TYPE_16x16 | (MB_TYPE_8x16 >> dir)); int start = h->slice_table[mbm_xy] == 0xFFFF