Don't read chroma delta_lflevels in mono mode

There are 4 delta_lflevels (FRAME_LF_COUNT=4), corresponding to 2 for the luma
plane and 1 for each of the U and V planes. In monochrome mode we do not need
to use/encode/decode the last two values, and so in this case the for loops all
terminate at FRAME_LF_COUNT - 2 rather than FRAME_LF_COUNT.

BUG=aomedia:1410

Change-Id: Ieb60cce9e39287a385e7f74d9009aac1f0f23e54
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 050f8c0..95e576d 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -346,7 +346,8 @@
 
 #if CONFIG_LOOPFILTER_LEVEL
   if (cm->delta_lf_multi) {
-    assert(lf_id >= 0 && lf_id < FRAME_LF_COUNT);
+    assert(lf_id >= 0 && lf_id < (av1_num_planes(cm) > 1 ? FRAME_LF_COUNT
+                                                         : FRAME_LF_COUNT - 2));
     aom_write_symbol(w, AOMMIN(abs, DELTA_LF_SMALL),
                      ec_ctx->delta_lf_multi_cdf[lf_id], DELTA_LF_PROBS + 1);
   } else {
@@ -1120,7 +1121,9 @@
 #if CONFIG_LOOPFILTER_LEVEL
       if (cm->delta_lf_present_flag) {
         if (cm->delta_lf_multi) {
-          for (int lf_id = 0; lf_id < FRAME_LF_COUNT; ++lf_id) {
+          const int frame_lf_count =
+              av1_num_planes(cm) > 1 ? FRAME_LF_COUNT : FRAME_LF_COUNT - 2;
+          for (int lf_id = 0; lf_id < frame_lf_count; ++lf_id) {
             int reduced_delta_lflevel =
                 (mbmi->curr_delta_lf[lf_id] - xd->prev_delta_lf[lf_id]) /
                 cm->delta_lf_res;
@@ -1463,7 +1466,9 @@
 #if CONFIG_LOOPFILTER_LEVEL
       if (cm->delta_lf_present_flag) {
         if (cm->delta_lf_multi) {
-          for (int lf_id = 0; lf_id < FRAME_LF_COUNT; ++lf_id) {
+          const int frame_lf_count =
+              av1_num_planes(cm) > 1 ? FRAME_LF_COUNT : FRAME_LF_COUNT - 2;
+          for (int lf_id = 0; lf_id < frame_lf_count; ++lf_id) {
             int reduced_delta_lflevel =
                 (mbmi->curr_delta_lf[lf_id] - xd->prev_delta_lf[lf_id]) /
                 cm->delta_lf_res;
@@ -2035,7 +2040,9 @@
 #if CONFIG_EXT_DELTA_Q
     if (cpi->common.delta_lf_present_flag) {
 #if CONFIG_LOOPFILTER_LEVEL
-      for (int lf_id = 0; lf_id < FRAME_LF_COUNT; ++lf_id)
+      const int frame_lf_count =
+          av1_num_planes(cm) > 1 ? FRAME_LF_COUNT : FRAME_LF_COUNT - 2;
+      for (int lf_id = 0; lf_id < frame_lf_count; ++lf_id)
         xd->prev_delta_lf[lf_id] = 0;
 #endif  // CONFIG_LOOPFILTER_LEVEL
       xd->prev_delta_lf_from_base = 0;
@@ -3789,7 +3796,9 @@
           xd->prev_delta_lf_from_base = 0;
 #if CONFIG_LOOPFILTER_LEVEL
           aom_wb_write_bit(wb, cm->delta_lf_multi);
-          for (int lf_id = 0; lf_id < FRAME_LF_COUNT; ++lf_id)
+          const int frame_lf_count =
+              av1_num_planes(cm) > 1 ? FRAME_LF_COUNT : FRAME_LF_COUNT - 2;
+          for (int lf_id = 0; lf_id < frame_lf_count; ++lf_id)
             xd->prev_delta_lf[lf_id] = 0;
 #endif  // CONFIG_LOOPFILTER_LEVEL
         }
@@ -4202,7 +4211,9 @@
           xd->prev_delta_lf_from_base = 0;
 #if CONFIG_LOOPFILTER_LEVEL
           aom_wb_write_bit(wb, cm->delta_lf_multi);
-          for (int lf_id = 0; lf_id < FRAME_LF_COUNT; ++lf_id)
+          const int frame_lf_count =
+              av1_num_planes(cm) > 1 ? FRAME_LF_COUNT : FRAME_LF_COUNT - 2;
+          for (int lf_id = 0; lf_id < frame_lf_count; ++lf_id)
             xd->prev_delta_lf[lf_id] = 0;
 #endif  // CONFIG_LOOPFILTER_LEVEL
         }