Don't signal chroma lpf/cdef/quant info for mono

Change-Id: I3b0c83e8b0f7189d98562305dd913a8b934de83d
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 1dcd3e8..8072282 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -1178,9 +1178,11 @@
 #endif  // CONFIG_LPF_SB
     lf->filter_level[0] = aom_rb_read_literal(rb, 6);
     lf->filter_level[1] = aom_rb_read_literal(rb, 6);
-    if (lf->filter_level[0] || lf->filter_level[1]) {
-      lf->filter_level_u = aom_rb_read_literal(rb, 6);
-      lf->filter_level_v = aom_rb_read_literal(rb, 6);
+    if (av1_num_planes(cm) > 1) {
+      if (lf->filter_level[0] || lf->filter_level[1]) {
+        lf->filter_level_u = aom_rb_read_literal(rb, 6);
+        lf->filter_level_v = aom_rb_read_literal(rb, 6);
+      }
     }
 #if CONFIG_LPF_SB
   }
@@ -1227,9 +1229,10 @@
   cm->nb_cdef_strengths = 1 << cm->cdef_bits;
   for (int i = 0; i < cm->nb_cdef_strengths; i++) {
     cm->cdef_strengths[i] = aom_rb_read_literal(rb, CDEF_STRENGTH_BITS);
-    cm->cdef_uv_strengths[i] = cm->subsampling_x == cm->subsampling_y
-                                   ? aom_rb_read_literal(rb, CDEF_STRENGTH_BITS)
-                                   : 0;
+    cm->cdef_uv_strengths[i] =
+        cm->subsampling_x == cm->subsampling_y && av1_num_planes(cm) > 1
+            ? aom_rb_read_literal(rb, CDEF_STRENGTH_BITS)
+            : 0;
   }
 }
 
@@ -1241,18 +1244,20 @@
                                struct aom_read_bit_buffer *rb) {
   cm->base_qindex = aom_rb_read_literal(rb, QINDEX_BITS);
   cm->y_dc_delta_q = read_delta_q(rb);
-  int diff_uv_delta = 0;
+  if (av1_num_planes(cm) > 1) {
+    int diff_uv_delta = 0;
 #if CONFIG_EXT_QM
-  if (cm->separate_uv_delta_q) diff_uv_delta = aom_rb_read_bit(rb);
+    if (cm->separate_uv_delta_q) diff_uv_delta = aom_rb_read_bit(rb);
 #endif
-  cm->u_dc_delta_q = read_delta_q(rb);
-  cm->u_ac_delta_q = read_delta_q(rb);
-  if (diff_uv_delta) {
-    cm->v_dc_delta_q = read_delta_q(rb);
-    cm->v_ac_delta_q = read_delta_q(rb);
-  } else {
-    cm->v_dc_delta_q = cm->u_dc_delta_q;
-    cm->v_ac_delta_q = cm->u_ac_delta_q;
+    cm->u_dc_delta_q = read_delta_q(rb);
+    cm->u_ac_delta_q = read_delta_q(rb);
+    if (diff_uv_delta) {
+      cm->v_dc_delta_q = read_delta_q(rb);
+      cm->v_ac_delta_q = read_delta_q(rb);
+    } else {
+      cm->v_dc_delta_q = cm->u_dc_delta_q;
+      cm->v_ac_delta_q = cm->u_ac_delta_q;
+    }
   }
   cm->dequant_bit_depth = cm->bit_depth;
 #if CONFIG_AOM_QM
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index d37d1e1..8a3d423 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2637,9 +2637,11 @@
 #endif  // CONFIG_LPF_SB
     aom_wb_write_literal(wb, lf->filter_level[0], 6);
     aom_wb_write_literal(wb, lf->filter_level[1], 6);
-    if (lf->filter_level[0] || lf->filter_level[1]) {
-      aom_wb_write_literal(wb, lf->filter_level_u, 6);
-      aom_wb_write_literal(wb, lf->filter_level_v, 6);
+    if (av1_num_planes(cm) > 1) {
+      if (lf->filter_level[0] || lf->filter_level[1]) {
+        aom_wb_write_literal(wb, lf->filter_level_u, 6);
+        aom_wb_write_literal(wb, lf->filter_level_v, 6);
+      }
     }
 #if CONFIG_LPF_SB
   }
@@ -2698,7 +2700,7 @@
   aom_wb_write_literal(wb, cm->cdef_bits, 2);
   for (i = 0; i < cm->nb_cdef_strengths; i++) {
     aom_wb_write_literal(wb, cm->cdef_strengths[i], CDEF_STRENGTH_BITS);
-    if (cm->subsampling_x == cm->subsampling_y)
+    if (cm->subsampling_x == cm->subsampling_y && av1_num_planes(cm) > 1)
       aom_wb_write_literal(wb, cm->cdef_uv_strengths[i], CDEF_STRENGTH_BITS);
   }
 }
@@ -2716,18 +2718,20 @@
                                 struct aom_write_bit_buffer *wb) {
   aom_wb_write_literal(wb, cm->base_qindex, QINDEX_BITS);
   write_delta_q(wb, cm->y_dc_delta_q);
-  int diff_uv_delta = (cm->u_dc_delta_q != cm->v_dc_delta_q) ||
-                      (cm->u_ac_delta_q != cm->v_ac_delta_q);
+  if (av1_num_planes(cm) > 1) {
+    int diff_uv_delta = (cm->u_dc_delta_q != cm->v_dc_delta_q) ||
+                        (cm->u_ac_delta_q != cm->v_ac_delta_q);
 #if CONFIG_EXT_QM
-  if (cm->separate_uv_delta_q) aom_wb_write_bit(wb, diff_uv_delta);
+    if (cm->separate_uv_delta_q) aom_wb_write_bit(wb, diff_uv_delta);
 #else
-  assert(!diff_uv_delta);
+    assert(!diff_uv_delta);
 #endif
-  write_delta_q(wb, cm->u_dc_delta_q);
-  write_delta_q(wb, cm->u_ac_delta_q);
-  if (diff_uv_delta) {
-    write_delta_q(wb, cm->v_dc_delta_q);
-    write_delta_q(wb, cm->v_ac_delta_q);
+    write_delta_q(wb, cm->u_dc_delta_q);
+    write_delta_q(wb, cm->u_ac_delta_q);
+    if (diff_uv_delta) {
+      write_delta_q(wb, cm->v_dc_delta_q);
+      write_delta_q(wb, cm->v_ac_delta_q);
+    }
   }
 #if CONFIG_AOM_QM
   aom_wb_write_bit(wb, cm->using_qmatrix);