Add cdf_update_mode experiment

Allow the CDF update to operate in different modes, e.g. update vs no
update.

The update mode is transmitted in the uncompressed frame header of
every keyframe and intra-only frame.

This patch only adds bitstream signaling and API support. The
implementation of the update modes will be in later patches.

Change-Id: Ic9fcd60e8a75f9c01f414253823d78cf9b3113dd
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 4152165..a17c810 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3757,6 +3757,9 @@
 #endif
       aom_wb_write_bit(wb, cm->allow_intrabc);
 #endif  // CONFIG_INTRABC
+#if CONFIG_CDF_UPDATE_MODE
+    aom_wb_write_literal(wb, cm->cdf_update_mode, 2);
+#endif  // CONFIG_CDF_UPDATE_MODE
   } else {
 #if !CONFIG_NO_FRAME_CONTEXT_SIGNALING
     if (!cm->error_resilient_mode) {
@@ -3800,6 +3803,9 @@
 #endif
         aom_wb_write_bit(wb, cm->allow_intrabc);
 #endif  // CONFIG_INTRABC
+#if CONFIG_CDF_UPDATE_MODE
+      aom_wb_write_literal(wb, cm->cdf_update_mode, 2);
+#endif  // CONFIG_CDF_UPDATE_MODE
     } else {
       aom_wb_write_literal(wb, cpi->refresh_frame_mask, REF_FRAMES);
 
@@ -4108,6 +4114,9 @@
 #endif
       aom_wb_write_bit(wb, cm->allow_intrabc);
 #endif  // CONFIG_INTRABC
+#if CONFIG_CDF_UPDATE_MODE
+    aom_wb_write_literal(wb, cm->cdf_update_mode, 2);
+#endif  // CONFIG_CDF_UPDATE_MODE
   } else if (cm->frame_type == INTRA_ONLY_FRAME) {
 #if !CONFIG_NO_FRAME_CONTEXT_SIGNALING
     if (!cm->error_resilient_mode) {
@@ -4137,6 +4146,9 @@
 #endif
         aom_wb_write_bit(wb, cm->allow_intrabc);
 #endif  // CONFIG_INTRABC
+#if CONFIG_CDF_UPDATE_MODE
+      aom_wb_write_literal(wb, cm->cdf_update_mode, 2);
+#endif  // CONFIG_CDF_UPDATE_MODE
     }
   } else if (cm->frame_type == INTER_FRAME) {
     MV_REFERENCE_FRAME ref_frame;