cb4x4: Don't assume TX units are half MI_SIZE in has_bottom_left()

Currently the "transform units" used to measure transform sizes
in some parts of the code are based on the smallest defined
transform size.

cb4x4 currently defines a 2x2 transform size, even when chroma_2x2
is not enabled, which means that the scale of the transform units
was always double that of MODEINFO units.

Several areas of the code were hard-coding this assumption instead
of converting from one to the other using appropriate constants.

Change-Id: Iff437425f2c5abd02a82ff1c7c8002aefc2f75a6
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index 2a30f3f..c9b7edb 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -518,9 +518,13 @@
     // and/or bottom-left superblocks. But only the left superblock is
     // available, so check if all required pixels fall in that superblock.
     if (blk_col_in_sb == 0) {
-      const int blk_start_row_off = blk_row_in_sb << (bh_in_mi_log2 + !ss_y);
+      const int blk_start_row_off = blk_row_in_sb
+                                        << (bh_in_mi_log2 + MI_SIZE_LOG2 -
+                                            tx_size_wide_log2[0]) >>
+                                    ss_y;
       const int row_off_in_sb = blk_start_row_off + row_off;
-      const int sb_height_unit = MAX_MIB_SIZE << !ss_y;
+      const int sb_height_unit =
+          MAX_MIB_SIZE << (MI_SIZE_LOG2 - tx_size_wide_log2[0]) >> ss_y;
       return row_off_in_sb + bottom_left_count_unit < sb_height_unit;
     }