Make ext-intra/intra-interp work with ec-multisymbol

Use cdf to signal intra filter type.
Skip forward update when ec-adapt is on.

Change-Id: Idd446e081b8e9ea33356e60423b372bfd85a80db
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index f040bb1..6b224c7 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -4471,7 +4471,7 @@
   FRAME_CONTEXT *const fc = cm->fc;
   aom_reader r;
   int k, i;
-#if !CONFIG_EC_ADAPT || CONFIG_EXT_INTRA
+#if !CONFIG_EC_ADAPT
   int j;
 #endif
 
@@ -4548,13 +4548,13 @@
   for (; j < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++j)
     av1_diff_update_prob(&r, &fc->partition_prob[j][PARTITION_HORZ], ACCT_STR);
 #endif  // CONFIG_UNPOISON_PARTITION_CTX
-#endif  // !CONFIG_EC_ADAPT
 
 #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
   for (i = 0; i < INTRA_FILTERS + 1; ++i)
     for (j = 0; j < INTRA_FILTERS - 1; ++j)
       av1_diff_update_prob(&r, &fc->intra_filter_probs[i][j], ACCT_STR);
 #endif  // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
+#endif  // !CONFIG_EC_ADAPT
 
   if (frame_is_intra_only(cm)) {
     av1_copy(cm->kf_y_prob, av1_kf_y_mode_prob);
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index afd2654..2f3c3a3 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -709,6 +709,11 @@
   MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
   const BLOCK_SIZE bsize = mbmi->sb_type;
 #if CONFIG_INTRA_INTERP
+#if CONFIG_EC_ADAPT
+  FRAME_CONTEXT *const ec_ctx = xd->tile_ctx;
+#else
+  FRAME_CONTEXT *const ec_ctx = cm->fc;
+#endif  // CONFIG_EC_ADAPT
   const int ctx = av1_get_pred_context_intra_interp(xd);
   int p_angle;
 #endif  // CONFIG_INTRA_INTERP
@@ -725,8 +730,13 @@
               mbmi->angle_delta[0] * av1_get_angle_step(mbmi->sb_type, 0);
     if (av1_is_intra_filter_switchable(p_angle)) {
       FRAME_COUNTS *counts = xd->counts;
+#if CONFIG_EC_MULTISYMBOL
+      mbmi->intra_filter = aom_read_symbol(r, ec_ctx->intra_filter_cdf[ctx],
+                                           INTRA_FILTERS, ACCT_STR);
+#else
       mbmi->intra_filter = aom_read_tree(
-          r, av1_intra_filter_tree, cm->fc->intra_filter_probs[ctx], ACCT_STR);
+          r, av1_intra_filter_tree, ec_ctx->intra_filter_probs[ctx], ACCT_STR);
+#endif  // CONFIG_EC_MULTISYMBOL
       if (counts) ++counts->intra_filter[ctx][mbmi->intra_filter];
     } else {
       mbmi->intra_filter = INTRA_FILTER_LINEAR;