Rearrange the colorspace/mono deocde logic a bit

Change-Id: I0d76adba7c5ea387a9c58076369d1eba89b0fbfe
diff --git a/av1/av1_dx_iface.c b/av1/av1_dx_iface.c
index 0e0c0a1..dbeaa7c 100644
--- a/av1/av1_dx_iface.c
+++ b/av1/av1_dx_iface.c
@@ -212,6 +212,9 @@
   }
 #endif  // CONFIG_COLORSPACE_HEADERS
 #endif  // CONFIG_CICP
+#if CONFIG_MONO_VIDEO
+  if (is_monochrome) return 1;
+#endif  // CONFIG_MONO_VIDEO
 #if CONFIG_CICP
   if (color_primaries == AOM_CICP_CP_BT_709 &&
       transfer_characteristics == AOM_CICP_TC_SRGB &&
@@ -225,10 +228,6 @@
           (profile == PROFILE_2 && bit_depth == AOM_BITS_12))) {
       return 0;
     }
-#if CONFIG_MONO_VIDEO
-  } else if (is_monochrome) {
-    return 1;
-#endif  // CONFIG_MONO_VIDEO
   } else {
     rb->bit_offset += 1;  // [16,235] (including xvycc) vs [0,255] range.
 
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index cbcddc5..386edc0 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -2197,6 +2197,19 @@
   if (!is_monochrome) cm->color_space = aom_rb_read_literal(rb, 4);
 #endif  // CONFIG_COLORSPACE_HEADERS
 #endif  // CONFIG_CICP
+#if CONFIG_MONO_VIDEO
+  if (is_monochrome) {
+    cm->color_range = AOM_CR_FULL_RANGE;
+    cm->subsampling_y = cm->subsampling_x = 1;
+#if CONFIG_COLORSPACE_HEADERS
+    cm->chroma_sample_position = AOM_CSP_UNKNOWN;
+#endif  // CONFIG_COLORSPACE_HEADERS
+#if CONFIG_EXT_QM
+    cm->separate_uv_delta_q = 0;
+#endif  // CONFIG_EXT_QM
+    return;
+  }
+#endif  // CONFIG_MONO_VIDEO
 #if CONFIG_CICP
   if (cm->color_primaries == AOM_CICP_CP_BT_709 &&
       cm->transfer_characteristics == AOM_CICP_TC_SRGB &&
@@ -2212,18 +2225,6 @@
       aom_internal_error(&cm->error, AOM_CODEC_UNSUP_BITSTREAM,
                          "SRGB colorspace not copatible with profile");
     }
-#if CONFIG_MONO_VIDEO
-  } else if (is_monochrome) {
-    cm->color_range = AOM_CR_FULL_RANGE;
-    cm->subsampling_y = cm->subsampling_x = 1;
-#if CONFIG_COLORSPACE_HEADERS
-    cm->chroma_sample_position = AOM_CSP_UNKNOWN;
-#endif  // CONFIG_COLORSPACE_HEADERS
-#if CONFIG_EXT_QM
-    cm->separate_uv_delta_q = 0;
-#endif  // CONFIG_EXT_QM
-    return;
-#endif  // CONFIG_MONO_VIDEO
   } else {
     // [16,235] (including xvycc) vs [0,255] range
     cm->color_range = aom_rb_read_bit(rb);
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 41b7c9d..bd89081 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3282,6 +3282,9 @@
   if (!is_monochrome) aom_wb_write_literal(wb, cm->color_space, 4);
 #endif  // CONFIG_COLORSPACE_HEADERS
 #endif  // CONFIG_CICP
+#if CONFIG_MONO_VIDEO
+  if (is_monochrome) return;
+#endif  // CONFIG_MONO_VIDEO
 #if CONFIG_CICP
   if (cm->color_primaries == AOM_CICP_CP_BT_709 &&
       cm->transfer_characteristics == AOM_CICP_TC_SRGB &&
@@ -3294,10 +3297,6 @@
     assert(cm->subsampling_x == 0 && cm->subsampling_y == 0);
     assert(cm->profile == PROFILE_1 ||
            (cm->profile == PROFILE_2 && cm->bit_depth == AOM_BITS_12));
-#if CONFIG_MONO_VIDEO
-  } else if (is_monochrome) {
-    return;
-#endif  // CONFIG_MONO_VIDEO
   } else {
     // 0: [16, 235] (i.e. xvYCC), 1: [0, 255]
     aom_wb_write_bit(wb, cm->color_range);