Use single reference frame for 4x4 coding block in chroma-sub8x8

Change-Id: Ic04bd1ac62ea35082883d0560f91843040e35a64
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 9dde704..5f89bc3 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -38,7 +38,11 @@
 extern "C" {
 #endif
 
-#define SUB8X8_COMP_REF (!(CONFIG_CB4X4 && CONFIG_CHROMA_2X2))
+#if (CONFIG_CHROMA_SUB8X8 || CONFIG_CHROMA_2X2)
+#define SUB8X8_COMP_REF 0
+#else
+#define SUB8X8_COMP_REF 1
+#endif
 
 #define MAX_MB_PLANE 3
 
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 74f6708..a15c4b4 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -1301,7 +1301,7 @@
                                                 const MACROBLOCKD *xd,
                                                 aom_reader *r) {
 #if !SUB8X8_COMP_REF
-  if (xd->mi[0]->mbmi.sb_type < BLOCK_8X8) return SINGLE_REFERENCE;
+  if (xd->mi[0]->mbmi.sb_type == BLOCK_4X4) return SINGLE_REFERENCE;
 #endif
   if (cm->reference_mode == REFERENCE_MODE_SELECT) {
     const int ctx = av1_get_reference_mode_context(cm, xd);
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 5700aac..ef665f6 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -1221,7 +1221,7 @@
 #if SUB8X8_COMP_REF
       aom_write(w, is_compound, av1_get_reference_mode_prob(cm, xd));
 #else
-      if (mbmi->sb_type >= BLOCK_8X8)
+      if (mbmi->sb_type != BLOCK_4X4)
         aom_write(w, is_compound, av1_get_reference_mode_prob(cm, xd));
 #endif
     } else {
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index dad2386..a2d5d22 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -2115,7 +2115,7 @@
 
         if (cm->reference_mode == REFERENCE_MODE_SELECT) {
 #if !SUB8X8_COMP_REF
-          if (mbmi->sb_type >= BLOCK_8X8)
+          if (mbmi->sb_type != BLOCK_4X4)
             counts->comp_inter[av1_get_reference_mode_context(cm, xd)]
                               [has_second_ref(mbmi)]++;
 #else
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 38e65e4..ebf002b 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -10338,7 +10338,7 @@
       int_mv backup_ref_mv[2];
 
 #if !SUB8X8_COMP_REF
-      if (bsize < BLOCK_8X8 && mbmi->ref_frame[1] > INTRA_FRAME) continue;
+      if (bsize == BLOCK_4X4 && mbmi->ref_frame[1] > INTRA_FRAME) continue;
 #endif  // !SUB8X8_COMP_REF
 
       backup_ref_mv[0] = mbmi_ext->ref_mvs[ref_frame][0];
@@ -10683,7 +10683,7 @@
 #if SUB8X8_COMP_REF
       compmode_cost = av1_cost_bit(comp_mode_p, comp_pred);
 #else
-      if (mbmi->sb_type >= BLOCK_8X8)
+      if (mbmi->sb_type != BLOCK_4X4)
         compmode_cost = av1_cost_bit(comp_mode_p, comp_pred);
 #endif  // SUB8X8_COMP_REF