]> granicus.if.org Git - libvpx/commitdiff
Loopfilter: use the current block only for skip
authorJohn Koleszar <jkoleszar@google.com>
Fri, 7 Jun 2013 18:21:35 +0000 (11:21 -0700)
committerJohn Koleszar <jkoleszar@google.com>
Sat, 8 Jun 2013 00:48:57 +0000 (17:48 -0700)
Use the current block's skip flag to determine edge skipping.

Change-Id: I4ba81f899286afbc3f6bb83eba2ef146a01b6fa4

vp9/common/vp9_loopfilter.c

index 643233cea5eb7f80cf04acbce43c75939d766554..62fcf4284a5d40ddba2c0740a81b8fe179615360 100644 (file)
@@ -676,21 +676,15 @@ static void filter_block_plane(VP9_COMMON *cm, MACROBLOCKD *xd,
     // Determine the vertical edges that need filtering
     for (c = 0; c < 64 / MI_SIZE && mi_col + c < cm->mi_cols; c += col_step) {
       const MODE_INFO const *mi = xd->mode_info_context;
-      const MODE_INFO const *mi_above = xd->mode_info_context -
-          cm->mode_info_stride;
-      const int skip_above =
-          (r + mi_row > 0) ? mi_above[c].mbmi.mb_skip_coeff : 0;
-      const int skip_left =
-          (c + mi_col > 0) ? mi[c - 1].mbmi.mb_skip_coeff : 0;
       const int skip_this = mi[c].mbmi.mb_skip_coeff;
       // 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 skip_this_c = skip_this && skip_left && !block_edge_left;
+      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 skip_this_r = skip_this && skip_above && !block_edge_above;
+      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;
 
       // Filter level can vary per MI