Clean up and refactor CDEF code

The codes related to second index under ERP are no longer needed since
no transform block can cross the 64X64 boundary.
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 2463760..791bbf6 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -20,6 +20,7 @@
 #include "aom_scale/yv12config.h"
 
 #include "av1/common/alloccommon.h"
+#include "av1/common/cdef_block.h"
 #include "av1/common/common_data.h"
 #include "av1/common/quant_common.h"
 #include "av1/common/entropy.h"
@@ -2133,7 +2134,7 @@
    * stored in the MB_MODE_INFO of the 1st block in this CDEF unit (inside
    * cm->mi_params.mi_grid_base).
    */
-  bool cdef_transmitted[4];
+  bool cdef_transmitted[CDEF_IN_SB];
 
   /*!
    * Mask for this block used for compound prediction.
diff --git a/av1/common/cdef.h b/av1/common/cdef.h
index d0c2469..75c12de 100644
--- a/av1/common/cdef.h
+++ b/av1/common/cdef.h
@@ -34,6 +34,14 @@
          AOMMIN(abs(diff), AOMMAX(0, threshold - (abs(diff) >> shift)));
 }
 
+static AOM_INLINE int av1_get_cdef_transmitted_index(int mi_row, int mi_col) {
+  // Find index of this CDEF unit in this superblock.
+  const int index_mask = 1 << MI_IN_CDEF_LINEAR_LOG2;
+  const int cdef_unit_row_in_sb = !!(mi_row & index_mask);
+  const int cdef_unit_col_in_sb = !!(mi_col & index_mask);
+  return cdef_unit_col_in_sb + CDEF_IN_SB_STRIDE * cdef_unit_row_in_sb;
+}
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/av1/common/cdef_block.h b/av1/common/cdef_block.h
index aee6644..db9bcbd 100644
--- a/av1/common/cdef_block.h
+++ b/av1/common/cdef_block.h
@@ -19,6 +19,9 @@
 #define CDEF_BLOCKSIZE_LOG2 6
 #define CDEF_NBLOCKS ((1 << MAX_SB_SIZE_LOG2) / 8)
 #define CDEF_SB_SHIFT (MAX_SB_SIZE_LOG2 - CDEF_BLOCKSIZE_LOG2)
+#define CDEF_IN_SB_STRIDE (1 << (CDEF_SB_SHIFT))
+#define CDEF_IN_SB (1 << (CDEF_SB_SHIFT * 2))
+#define MI_IN_CDEF_LINEAR_LOG2 (CDEF_BLOCKSIZE_LOG2 - MI_SIZE_LOG2)
 
 /* We need to buffer three vertical lines. */
 #define CDEF_VBORDER (3)
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 10ad849..3dfa75d 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -13,6 +13,8 @@
 #include <assert.h>
 
 #include "av1/common/blockd.h"
+#include "av1/common/cdef.h"
+#include "av1/common/cdef_block.h"
 #include "av1/common/cfl.h"
 #include "av1/common/common.h"
 #include "av1/common/entropy.h"
@@ -62,37 +64,14 @@
   const int mi_row_in_sb = (xd->mi_row & sb_mask);
   const int mi_col_in_sb = (xd->mi_col & sb_mask);
   if (mi_row_in_sb == 0 && mi_col_in_sb == 0) {
-    xd->cdef_transmitted[0] = xd->cdef_transmitted[1] =
-        xd->cdef_transmitted[2] = xd->cdef_transmitted[3] = false;
+    av1_zero(xd->cdef_transmitted);
   }
 
   // CDEF unit size is 64x64 irrespective of the superblock size.
-  const int cdef_size = 1 << (6 - MI_SIZE_LOG2);
+  const int cdef_size = 1 << MI_IN_CDEF_LINEAR_LOG2;
 
   // Find index of this CDEF unit in this superblock.
-  const int index_mask = cdef_size;
-  const int cdef_unit_row_in_sb = ((xd->mi_row & index_mask) != 0);
-  const int cdef_unit_col_in_sb = ((xd->mi_col & index_mask) != 0);
-  const int index = (cm->seq_params.sb_size == BLOCK_128X128)
-                        ? cdef_unit_col_in_sb + 2 * cdef_unit_row_in_sb
-                        : 0;
-#if CONFIG_EXT_RECUR_PARTITIONS
-  int second_index = index;
-  const int current_grid_idx =
-      get_mi_grid_idx(&cm->mi_params, xd->mi_row, xd->mi_col);
-  const MB_MODE_INFO *const current_mbmi =
-      cm->mi_params.mi_grid_base[current_grid_idx];
-  const BLOCK_SIZE current_bsize = current_mbmi->sb_type[0];
-  const int mi_row_end = xd->mi_row + mi_size_high[current_bsize] - 1;
-  const int mi_col_end = xd->mi_col + mi_size_wide[current_bsize] - 1;
-  if (cm->seq_params.sb_size == BLOCK_128X128 &&
-      block_size_wide[current_bsize] != 128 &&
-      block_size_high[current_bsize] != 128) {
-    const int second_cdef_unit_row_in_sb = ((mi_row_end & index_mask) != 0);
-    const int second_cdef_unit_col_in_sb = ((mi_col_end & index_mask) != 0);
-    second_index = second_cdef_unit_col_in_sb + 2 * second_cdef_unit_row_in_sb;
-  }
-#endif  // CONFIG_EXT_RECUR_PARTITIONS
+  const int index = av1_get_cdef_transmitted_index(xd->mi_row, xd->mi_col);
 
   // Read CDEF strength from the first non-skip coding block in this CDEF unit.
   if (!xd->cdef_transmitted[index] && !skip_txfm) {
@@ -108,38 +87,6 @@
         aom_read_literal(r, cm->cdef_info.cdef_bits, ACCT_STR);
     xd->cdef_transmitted[index] = true;
   }
-#if CONFIG_EXT_RECUR_PARTITIONS
-  if (!xd->cdef_transmitted[second_index] && !skip_txfm) {
-    // CDEF strength for this CDEF unit needs to be read into the MB_MODE_INFO
-    // of the 1st block in this CDEF unit.
-    const int first_block_mask = ~(cdef_size - 1);
-    CommonModeInfoParams *const mi_params = &cm->mi_params;
-    const int grid_idx =
-        get_mi_grid_idx(mi_params, mi_row_end & first_block_mask,
-                        mi_col_end & first_block_mask);
-    assert(IMPLIES(!mi_params->mi_grid_base[grid_idx],
-                   xd->tree_type == LUMA_PART));
-    if (!mi_params->mi_grid_base[grid_idx]) {
-      const int mi_alloc_idx =
-          get_alloc_mi_idx(mi_params, mi_row_end & first_block_mask,
-                           mi_col_end & first_block_mask);
-      mi_params->mi_grid_base[grid_idx] = &mi_params->mi_alloc[mi_alloc_idx];
-    }
-    MB_MODE_INFO *const mbmi = mi_params->mi_grid_base[grid_idx];
-    mbmi->cdef_strength =
-        aom_read_literal(r, cm->cdef_info.cdef_bits, ACCT_STR);
-    xd->cdef_transmitted[second_index] = true;
-    for (int x = 0; x < mi_size_wide[current_bsize]; x++) {
-      for (int y = 0; y < mi_size_high[current_bsize]; y++) {
-        const int mi_x = xd->mi_col + x;
-        const int mi_y = xd->mi_row + y;
-        const int idx = get_alloc_mi_idx(mi_params, mi_y, mi_x);
-        if (mi_y < mi_params->mi_rows && mi_x < mi_params->mi_cols)
-          mi_params->mi_alloc[idx].cdef_strength = mbmi->cdef_strength;
-      }
-    }
-  }
-#endif  // CONFIG_EXT_RECUR_PARTITIONS
 }
 
 #if CONFIG_CCSO
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 9149446..bf75996 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -1399,38 +1399,14 @@
   const int mi_row_in_sb = (xd->mi_row & sb_mask);
   const int mi_col_in_sb = (xd->mi_col & sb_mask);
   if (mi_row_in_sb == 0 && mi_col_in_sb == 0) {
-    xd->cdef_transmitted[0] = xd->cdef_transmitted[1] =
-        xd->cdef_transmitted[2] = xd->cdef_transmitted[3] = false;
+    av1_zero(xd->cdef_transmitted);
   }
 
   // CDEF unit size is 64x64 irrespective of the superblock size.
   const int cdef_size = 1 << (6 - MI_SIZE_LOG2);
 
   // Find index of this CDEF unit in this superblock.
-  const int index_mask = cdef_size;
-  const int cdef_unit_row_in_sb = ((xd->mi_row & index_mask) != 0);
-  const int cdef_unit_col_in_sb = ((xd->mi_col & index_mask) != 0);
-  const int index = (cm->seq_params.sb_size == BLOCK_128X128)
-                        ? cdef_unit_col_in_sb + 2 * cdef_unit_row_in_sb
-                        : 0;
-#if CONFIG_EXT_RECUR_PARTITIONS
-  int second_index = index;
-  const int current_grid_idx =
-      get_mi_grid_idx(&cm->mi_params, xd->mi_row, xd->mi_col);
-  const MB_MODE_INFO *const current_mbmi =
-      cm->mi_params.mi_grid_base[current_grid_idx];
-  assert(xd->tree_type != CHROMA_PART);
-  const BLOCK_SIZE current_bsize = current_mbmi->sb_type[0];
-  const int mi_row_end = xd->mi_row + mi_size_high[current_bsize] - 1;
-  const int mi_col_end = xd->mi_col + mi_size_wide[current_bsize] - 1;
-  if (cm->seq_params.sb_size == BLOCK_128X128 &&
-      block_size_wide[current_bsize] != 128 &&
-      block_size_high[current_bsize] != 128) {
-    const int second_cdef_unit_row_in_sb = ((mi_row_end & index_mask) != 0);
-    const int second_cdef_unit_col_in_sb = ((mi_col_end & index_mask) != 0);
-    second_index = second_cdef_unit_col_in_sb + 2 * second_cdef_unit_row_in_sb;
-  }
-#endif  // CONFIG_EXT_RECUR_PARTITIONS
+  const int index = av1_get_cdef_transmitted_index(xd->mi_row, xd->mi_col);
 
   // Write CDEF strength to the first non-skip coding block in this CDEF unit.
   if (!xd->cdef_transmitted[index] && !skip) {
@@ -1445,20 +1421,6 @@
     aom_write_literal(w, mbmi->cdef_strength, cm->cdef_info.cdef_bits);
     xd->cdef_transmitted[index] = true;
   }
-#if CONFIG_EXT_RECUR_PARTITIONS
-  if (!xd->cdef_transmitted[second_index] && !skip) {
-    // CDEF strength for this CDEF unit needs to be stored in the MB_MODE_INFO
-    // of the 1st block in this CDEF unit.
-    const int first_block_mask = ~(cdef_size - 1);
-    const CommonModeInfoParams *const mi_params = &cm->mi_params;
-    const int grid_idx =
-        get_mi_grid_idx(mi_params, mi_row_end & first_block_mask,
-                        mi_col_end & first_block_mask);
-    const MB_MODE_INFO *const mbmi = mi_params->mi_grid_base[grid_idx];
-    aom_write_literal(w, mbmi->cdef_strength, cm->cdef_info.cdef_bits);
-    xd->cdef_transmitted[second_index] = true;
-  }
-#endif  // CONFIG_EXT_RECUR_PARTITIONS
 }
 
 #if CONFIG_CCSO