From: Ronald S. Bultje Date: Tue, 23 Apr 2013 21:12:08 +0000 (-0700) Subject: Change chroma loopfilter to skip inner SB edges for tx16x16 also. X-Git-Tag: v1.3.0~1106^2~151^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5b57580cd9620d3cd372ea30340c7e7fe3312948;p=libvpx Change chroma loopfilter to skip inner SB edges for tx16x16 also. Change-Id: I6ea9e110b5c5b07ab7d092886dbd51a6eccc0217 --- diff --git a/vp9/common/vp9_loopfilter.c b/vp9/common/vp9_loopfilter.c index 0ce41be54..0bb79689d 100644 --- a/vp9/common/vp9_loopfilter.c +++ b/vp9/common/vp9_loopfilter.c @@ -308,7 +308,8 @@ static void lpf_sb32(VP9_COMMON *cm, const MODE_INFO *mode_info_context, do_left_v = !(wbl >= 3 /* 32x16 or >=32x32 */ && (tx_size >= TX_32X32 || sb_mb_lf_skip(mode_info_context, mi))); do_above_h = (mb_row > 0); - do_left_v_mbuv = do_left_v; + do_left_v_mbuv = !(wbl >= 3 /* 32x16 or >=32x32 */ && (tx_size >= TX_16X16 || + sb_mb_lf_skip(mode_info_context, mi))); do_above_h_mbuv = !(sb_type >= BLOCK_SIZE_SB64X64 && tx_size >= TX_32X32 && (mb_row & 2)); lpf_mb(cm, mi, do_left_v, do_above_h, @@ -325,7 +326,8 @@ static void lpf_sb32(VP9_COMMON *cm, const MODE_INFO *mode_info_context, sb_mb_lf_skip(mode_info_context, mi))); do_left_v_mbuv = !(sb_type >= BLOCK_SIZE_SB64X64 && tx_size >= TX_32X32 && (mb_col & 2)); - do_above_h_mbuv = do_above_h; + do_above_h_mbuv = !(hbl >= 3 /* 16x32 or >=32x32 */ && (tx_size >= TX_16X16 || + sb_mb_lf_skip(mode_info_context, mi))); lpf_mb(cm, mi, do_left_v, do_above_h, do_left_v_mbuv, do_above_h_mbuv, y_ptr + 16 * y_stride, @@ -339,8 +341,10 @@ static void lpf_sb32(VP9_COMMON *cm, const MODE_INFO *mode_info_context, sb_mb_lf_skip(mi - 1, mi))); do_above_h = !(hbl >= 3 /* 16x32 or >=32x32 */ && (tx_size >= TX_32X32 || sb_mb_lf_skip(mode_info_context + 1, mi))); - do_left_v_mbuv = do_left_v; - do_above_h_mbuv = do_above_h; + do_left_v_mbuv = (wbl >= 3 /* 32x16 or >=32x32 */ && (tx_size >= TX_16X16 || + sb_mb_lf_skip(mi - 1, mi))); + do_above_h_mbuv = !(hbl >= 3 /* 16x32 or >=32x32 */ && (tx_size >= TX_16X16 || + sb_mb_lf_skip(mode_info_context + 1, mi))); lpf_mb(cm, mi, do_left_v, do_above_h, do_left_v_mbuv, do_above_h_mbuv, y_ptr + 16 * y_stride + 16,