From: Janne Salonen Date: Mon, 10 Jun 2013 06:21:12 +0000 (+0300) Subject: Loopfilter: bug fix in sb_type usage X-Git-Tag: v1.3.0~1104^2~24^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=548f90d2ced8de4d56f8a9fe581f76ea0fb4b5f2;p=libvpx Loopfilter: bug fix in sb_type usage Was always using sb_type of first column in a row of 8x8 units when determining decoded block edges as a subcondition for loop filter skipping. Change-Id: Ib17554633a63a90b70cdaa7bed65db035a8ad9d8 --- diff --git a/vp9/common/vp9_loopfilter.c b/vp9/common/vp9_loopfilter.c index d715e9116..cb80d1457 100644 --- a/vp9/common/vp9_loopfilter.c +++ b/vp9/common/vp9_loopfilter.c @@ -679,12 +679,12 @@ static void filter_block_plane(VP9_COMMON *cm, MACROBLOCKD *xd, const int skip_this = mi[c].mbmi.mb_skip_coeff && mi[c].mbmi.ref_frame != INTRA_FRAME; // left edge of current unit is block/partition edge -> no skip - const int block_edge_left = b_width_log2(mi->mbmi.sb_type) ? - !(c & ((1 << (b_width_log2(mi->mbmi.sb_type)-1)) - 1)) : 1; + const int block_edge_left = b_width_log2(mi[c].mbmi.sb_type) ? + !(c & ((1 << (b_width_log2(mi[c].mbmi.sb_type)-1)) - 1)) : 1; const int skip_this_c = skip_this && !block_edge_left; // top edge of current unit is block/partition edge -> no skip - const int block_edge_above = b_height_log2(mi->mbmi.sb_type) ? - !(r & ((1 << (b_height_log2(mi->mbmi.sb_type)-1)) - 1)) : 1; + const int block_edge_above = b_height_log2(mi[c].mbmi.sb_type) ? + !(r & ((1 << (b_height_log2(mi[c].mbmi.sb_type)-1)) - 1)) : 1; const int skip_this_r = skip_this && !block_edge_above; const TX_SIZE tx_size = plane ? get_uv_tx_size(xd) : mi[c].mbmi.txfm_size;