Remove prediction mask table

Change-Id: I6397e8ff3281feb181e571c02e43adf0d8da335e
diff --git a/av1/common/av1_loopfilter.c b/av1/common/av1_loopfilter.c
index 0376bd0..a9f489e 100644
--- a/av1/common/av1_loopfilter.c
+++ b/av1/common/av1_loopfilter.c
@@ -34,58 +34,6 @@
 #endif  // CONFIG_EXT_DELTA_Q
 
 typedef enum EDGE_DIR { VERT_EDGE = 0, HORZ_EDGE = 1, NUM_EDGE_DIRS } EDGE_DIR;
-static const uint32_t av1_prediction_masks[NUM_EDGE_DIRS][BLOCK_SIZES_ALL] = {
-  // mask for vertical edges filtering
-  {
-      4 - 1,    // BLOCK_4X4
-      4 - 1,    // BLOCK_4X8
-      8 - 1,    // BLOCK_8X4
-      8 - 1,    // BLOCK_8X8
-      8 - 1,    // BLOCK_8X16
-      16 - 1,   // BLOCK_16X8
-      16 - 1,   // BLOCK_16X16
-      16 - 1,   // BLOCK_16X32
-      32 - 1,   // BLOCK_32X16
-      32 - 1,   // BLOCK_32X32
-      32 - 1,   // BLOCK_32X64
-      64 - 1,   // BLOCK_64X32
-      64 - 1,   // BLOCK_64X64
-      64 - 1,   // BLOCK_64X128
-      128 - 1,  // BLOCK_128X64
-      128 - 1,  // BLOCK_128X128
-      4 - 1,    // BLOCK_4X16,
-      16 - 1,   // BLOCK_16X4,
-      8 - 1,    // BLOCK_8X32,
-      32 - 1,   // BLOCK_32X8,
-      16 - 1,   // BLOCK_16X64,
-      64 - 1,   // BLOCK_64X16
-  },
-  // mask for horizontal edges filtering
-  {
-      4 - 1,    // BLOCK_4X4
-      8 - 1,    // BLOCK_4X8
-      4 - 1,    // BLOCK_8X4
-      8 - 1,    // BLOCK_8X8
-      16 - 1,   // BLOCK_8X16
-      8 - 1,    // BLOCK_16X8
-      16 - 1,   // BLOCK_16X16
-      32 - 1,   // BLOCK_16X32
-      16 - 1,   // BLOCK_32X16
-      32 - 1,   // BLOCK_32X32
-      64 - 1,   // BLOCK_32X64
-      32 - 1,   // BLOCK_64X32
-      64 - 1,   // BLOCK_64X64
-      128 - 1,  // BLOCK_64X128
-      64 - 1,   // BLOCK_128X64
-      128 - 1,  // BLOCK_128X128
-      16 - 1,   // BLOCK_4X16,
-      4 - 1,    // BLOCK_16X4,
-      32 - 1,   // BLOCK_8X32,
-      8 - 1,    // BLOCK_32X8,
-      64 - 1,   // BLOCK_16X64,
-      16 - 1,   // BLOCK_64X16
-  },
-};
 
 extern void aom_highbd_lpf_horizontal_6_c(uint16_t *s, int p,
                                           const uint8_t *blimit,
@@ -854,10 +802,11 @@
     const uint8_t level_prev = get_filter_level(&cm->lf_info, mbmi_prev);
 #endif  // CONFIG_EXT_DELTA_Q
     const int prev_skip = mbmi_prev->skip && is_inter_block(mbmi_prev);
-    const int is_coding_block_border =
-        !(row_or_col &
-          av1_prediction_masks[dir][ss_size_lookup[mbmi->sb_type][subsampling_x]
-                                                  [subsampling_y]]);
+    const BLOCK_SIZE bsize =
+        ss_size_lookup[mbmi->sb_type][subsampling_x][subsampling_y];
+    const int prediction_masks = dir == VERT_EDGE ? block_size_wide[bsize] - 1
+                                                  : block_size_high[bsize] - 1;
+    const int is_coding_block_border = !(row_or_col & prediction_masks);
     const int is_edge = (level || level_prev) &&
                         (!curr_skip || !prev_skip || is_coding_block_border);
     if (is_edge) {
@@ -1668,13 +1617,12 @@
 
           const int pv_skip =
               mi_prev->mbmi.skip && is_inter_block(&mi_prev->mbmi);
-          const int32_t pu_edge =
-              (coord &
-               av1_prediction_masks[edge_dir]
-                                   [ss_size_lookup[mbmi->sb_type][scale_horz]
-                                                  [scale_vert]])
-                  ? (0)
-                  : (1);
+          const BLOCK_SIZE bsize =
+              ss_size_lookup[mbmi->sb_type][scale_horz][scale_vert];
+          const int prediction_masks = edge_dir == VERT_EDGE
+                                           ? block_size_wide[bsize] - 1
+                                           : block_size_high[bsize] - 1;
+          const int32_t pu_edge = !(coord & prediction_masks);
           // if the current and the previous blocks are skipped,
           // deblock the edge if the edge belongs to a PU's edge only.
           if ((curr_level || pv_lvl) &&