Use mi_size to support variable mode_info size in cdef

Replace the hard coded numbers with mi_size definitions. This
would support scaling the mode information size. No coding stats
are changed.

Change-Id: I4bd63ad0b254a1c198258e7bc68e610067c982c4
diff --git a/av1/common/cdef.c b/av1/common/cdef.c
index ed847ce..ecb317c 100644
--- a/av1/common/cdef.c
+++ b/av1/common/cdef.c
@@ -60,10 +60,14 @@
   if (maxr > MAX_MIB_SIZE) maxr = MAX_MIB_SIZE;
   if (maxc > MAX_MIB_SIZE) maxc = MAX_MIB_SIZE;
 #endif
-  for (r = 0; r < maxr; r++) {
+
+  const int r_step = mi_size_high[BLOCK_8X8];
+  const int c_step = mi_size_wide[BLOCK_8X8];
+
+  for (r = 0; r < maxr; r += r_step) {
     MODE_INFO **grid_row;
     grid_row = &grid[(mi_row + r) * cm->mi_stride + mi_col];
-    for (c = 0; c < maxc; c++) {
+    for (c = 0; c < maxc; c += c_step) {
       if (!grid_row[c]->mbmi.skip) {
         dlist[count].by = r;
         dlist[count].bx = c;
diff --git a/av1/encoder/pickcdef.c b/av1/encoder/pickcdef.c
index cc28b9e..fc6fa8f 100644
--- a/av1/encoder/pickcdef.c
+++ b/av1/encoder/pickcdef.c
@@ -127,14 +127,14 @@
       by = dlist[bi].by;
       bx = dlist[bi].bx;
       sum += mse_8x8_16bit(&dst[(by << 3) * dstride + (bx << 3)], dstride,
-                           &src[bi << 2 * bsize], 1 << bsize);
+                           &src[bi << 2 * bsize], 8);
     }
   } else {
     for (bi = 0; bi < dering_count; bi++) {
       by = dlist[bi].by;
       bx = dlist[bi].bx;
       sum += mse_4x4_16bit(&dst[(by << 2) * dstride + (bx << 2)], dstride,
-                           &src[bi << 2 * bsize], 1 << bsize);
+                           &src[bi << 2 * bsize], 4);
     }
   }
   return sum >> 2 * coeff_shift;
@@ -151,6 +151,8 @@
   int var[OD_DERING_NBLOCKS][OD_DERING_NBLOCKS] = { { 0 } };
   int stride[3];
   int bsize[3];
+  int mi_wide_l2[3];
+  int mi_high_l2[3];
   int dec[3];
   int pli;
   int dering_count;
@@ -207,6 +209,8 @@
     dec[pli] = xd->plane[pli].subsampling_x;
     bsize[pli] = OD_DERING_SIZE_LOG2 - dec[pli];
     stride[pli] = cm->mi_cols << MI_SIZE_LOG2;
+    mi_wide_l2[pli] = MI_SIZE_LOG2 - xd->plane[pli].subsampling_x;
+    mi_high_l2[pli] = MI_SIZE_LOG2 - xd->plane[pli].subsampling_y;
 
     const int frame_height =
         (cm->mi_rows * MI_SIZE) >> xd->plane[pli].subsampling_y;
@@ -258,16 +262,17 @@
              would add special cases for any future vectorization. */
           int yoff = OD_FILT_VBORDER * (sbr != 0);
           int xoff = OD_FILT_HBORDER * (sbc != 0);
-          int ysize =
-              (nvb << bsize[pli]) + OD_FILT_VBORDER * (sbr != nvsb - 1) + yoff;
-          int xsize =
-              (nhb << bsize[pli]) + OD_FILT_HBORDER * (sbc != nhsb - 1) + xoff;
+          int ysize = (nvb << mi_high_l2[pli]) +
+                      OD_FILT_VBORDER * (sbr != nvsb - 1) + yoff;
+          int xsize = (nhb << mi_wide_l2[pli]) +
+                      OD_FILT_HBORDER * (sbc != nhsb - 1) + xoff;
           clpf_strength = gi % CLPF_STRENGTHS;
           if (clpf_strength == 0)
             copy_sb16_16(&in[(-yoff * OD_FILT_BSTRIDE - xoff)], OD_FILT_BSTRIDE,
-                         src[pli], (sbr * MAX_MIB_SIZE << bsize[pli]) - yoff,
-                         (sbc * MAX_MIB_SIZE << bsize[pli]) - xoff, stride[pli],
-                         ysize, xsize);
+                         src[pli],
+                         (sbr * MAX_MIB_SIZE << mi_high_l2[pli]) - yoff,
+                         (sbc * MAX_MIB_SIZE << mi_wide_l2[pli]) - xoff,
+                         stride[pli], ysize, xsize);
           od_dering(clpf_strength ? NULL : (uint8_t *)in, OD_FILT_BSTRIDE,
                     tmp_dst, in, dec[pli], dir, &dirinit, var, pli, dlist,
                     dering_count, threshold,
@@ -275,8 +280,8 @@
                     coeff_shift, clpf_strength != 0, 1);
           mse[pli][sb_count][gi] = compute_dering_mse(
               ref_coeff[pli] +
-                  (sbr * MAX_MIB_SIZE << bsize[pli]) * stride[pli] +
-                  (sbc * MAX_MIB_SIZE << bsize[pli]),
+                  (sbr * MAX_MIB_SIZE << mi_high_l2[pli]) * stride[pli] +
+                  (sbc * MAX_MIB_SIZE << mi_wide_l2[pli]),
               stride[pli], tmp_dst, dlist, dering_count, bsize[pli],
               coeff_shift);
           sb_index[sb_count] =