intrabc: do not transmit delta_lf_present_flag

BUG=aomedia:1230

Change-Id: I8a66b6303752b77a09cca1fe6890137146c50d1e
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 49e594b..fab55e8 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -3051,7 +3051,10 @@
       xd->prev_qindex = cm->base_qindex;
       cm->delta_q_res = 1 << aom_rb_read_literal(rb, 2);
 #if CONFIG_EXT_DELTA_Q
-      cm->delta_lf_present_flag = aom_rb_read_bit(rb);
+#if CONFIG_INTRABC
+      if (!cm->allow_intrabc || !NO_FILTER_FOR_IBC)
+#endif  // CONFIG_INTRABC
+        cm->delta_lf_present_flag = aom_rb_read_bit(rb);
       if (cm->delta_lf_present_flag) {
         xd->prev_delta_lf_from_base = 0;
         cm->delta_lf_res = 1 << aom_rb_read_literal(rb, 2);
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index e21c97c..f2ec719 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -4148,7 +4148,12 @@
         aom_wb_write_literal(wb, OD_ILOG_NZ(cm->delta_q_res) - 1, 2);
         xd->prev_qindex = cm->base_qindex;
 #if CONFIG_EXT_DELTA_Q
-        aom_wb_write_bit(wb, cm->delta_lf_present_flag);
+#if CONFIG_INTRABC
+        if (cm->allow_intrabc && NO_FILTER_FOR_IBC)
+          assert(cm->delta_lf_present_flag == 0);
+        else
+#endif  // CONFIG_INTRABC
+          aom_wb_write_bit(wb, cm->delta_lf_present_flag);
         if (cm->delta_lf_present_flag) {
           aom_wb_write_literal(wb, OD_ILOG_NZ(cm->delta_lf_res) - 1, 2);
           xd->prev_delta_lf_from_base = 0;
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 9267590..ee3e79c 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -4082,6 +4082,9 @@
 #if CONFIG_INTRABC
   // If intrabc is allowed but never selected, reset the allow_intrabc flag.
   if (cm->allow_intrabc && !cpi->intrabc_used) cm->allow_intrabc = 0;
+#if CONFIG_EXT_DELTA_Q
+  if (cm->allow_intrabc) cm->delta_lf_present_flag = 0;
+#endif  // CONFIG_EXT_DELTA_Q
 #endif  // CONFIG_INTRABC
 }