Remove probability model for comp_ref_type

Change-Id: Ib4b83335ba9c61435f774136bc57638d8b88e963
diff --git a/av1/encoder/block.h b/av1/encoder/block.h
index 017ed1e..7bbc201 100644
--- a/av1/encoder/block.h
+++ b/av1/encoder/block.h
@@ -285,6 +285,10 @@
 
   int comp_inter_cost[COMP_INTER_CONTEXTS][2];
   int single_ref_cost[REF_CONTEXTS][SINGLE_REFS - 1][2];
+#if CONFIG_EXT_COMP_REFS
+  int comp_ref_type_cost[COMP_REF_TYPE_CONTEXTS]
+                        [CDF_SIZE(COMP_REFERENCE_TYPES)];
+#endif  // CONFIG_EXT_COMP_REFS
   int inter_compound_mode_cost[INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES];
 #if CONFIG_JNT_COMP
   int compound_type_cost[BLOCK_SIZES_ALL][COMPOUND_TYPES - 1];
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index e4b2b62..169d7cd 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -901,8 +901,14 @@
           const COMP_REFERENCE_TYPE comp_ref_type = has_uni_comp_refs(mbmi)
                                                         ? UNIDIR_COMP_REFERENCE
                                                         : BIDIR_COMP_REFERENCE;
+          if (allow_update_cdf) {
+            update_cdf(av1_get_comp_reference_type_cdf(xd), comp_ref_type,
+                       COMP_REFERENCE_TYPES);
+          }
+#if CONFIG_ENTROPY_STATS
           counts->comp_ref_type[av1_get_comp_reference_type_context(xd)]
                                [comp_ref_type]++;
+#endif  // CONFIG_ENTROPY_STATS
 
           if (comp_ref_type == UNIDIR_COMP_REFERENCE) {
             const int bit = (ref0 == BWDREF_FRAME);
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c
index 2213991..59d2d47 100644
--- a/av1/encoder/rd.c
+++ b/av1/encoder/rd.c
@@ -238,6 +238,13 @@
       }
     }
 
+#if CONFIG_EXT_COMP_REFS
+    for (i = 0; i < REF_CONTEXTS; ++i) {
+      av1_cost_tokens_from_cdf(x->comp_ref_type_cost[i],
+                               fc->comp_ref_type_cdf[i], NULL);
+    }
+#endif  // CONFIG_EXT_COMP_REFS
+
     for (i = 0; i < INTRA_INTER_CONTEXTS; ++i) {
       av1_cost_tokens_from_cdf(x->intra_inter_cost[i], fc->intra_inter_cdf[i],
                                NULL);
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 6cd32e2..d3e321f 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -5892,12 +5892,12 @@
       aom_prob bwdref_comp_p1 = av1_get_pred_prob_comp_bwdref_p1(cm, xd);
 
 #if CONFIG_EXT_COMP_REFS
-      aom_prob comp_ref_type_p = av1_get_comp_reference_type_prob(cm, xd);
+      const int comp_ref_type_ctx = av1_get_comp_reference_type_context(xd);
       unsigned int ref_bicomp_costs[TOTAL_REFS_PER_FRAME] = { 0 };
 
       ref_bicomp_costs[LAST_FRAME] = ref_bicomp_costs[LAST2_FRAME] =
           ref_bicomp_costs[LAST3_FRAME] = ref_bicomp_costs[GOLDEN_FRAME] =
-              base_cost + av1_cost_bit(comp_ref_type_p, 1);
+              base_cost + x->comp_ref_type_cost[comp_ref_type_ctx][1];
       ref_bicomp_costs[BWDREF_FRAME] = ref_bicomp_costs[ALTREF2_FRAME] = 0;
       ref_bicomp_costs[ALTREF_FRAME] = 0;
 
@@ -5932,19 +5932,18 @@
       aom_prob uni_comp_ref_p2 = av1_get_pred_prob_uni_comp_ref_p2(cm, xd);
 
       ref_costs_comp[LAST_FRAME][LAST2_FRAME] =
-          base_cost + av1_cost_bit(comp_ref_type_p, 0) +
+          base_cost + x->comp_ref_type_cost[comp_ref_type_ctx][0] +
           av1_cost_bit(uni_comp_ref_p, 0) + av1_cost_bit(uni_comp_ref_p1, 0);
       ref_costs_comp[LAST_FRAME][LAST3_FRAME] =
-          base_cost + av1_cost_bit(comp_ref_type_p, 0) +
+          base_cost + x->comp_ref_type_cost[comp_ref_type_ctx][0] +
           av1_cost_bit(uni_comp_ref_p, 0) + av1_cost_bit(uni_comp_ref_p1, 1) +
           av1_cost_bit(uni_comp_ref_p2, 0);
       ref_costs_comp[LAST_FRAME][GOLDEN_FRAME] =
-          base_cost + av1_cost_bit(comp_ref_type_p, 0) +
+          base_cost + x->comp_ref_type_cost[comp_ref_type_ctx][0] +
           av1_cost_bit(uni_comp_ref_p, 0) + av1_cost_bit(uni_comp_ref_p1, 1) +
           av1_cost_bit(uni_comp_ref_p2, 1);
-
       ref_costs_comp[BWDREF_FRAME][ALTREF_FRAME] =
-          base_cost + av1_cost_bit(comp_ref_type_p, 0) +
+          base_cost + x->comp_ref_type_cost[comp_ref_type_ctx][0] +
           av1_cost_bit(uni_comp_ref_p, 1);
 
 #else   // !CONFIG_EXT_COMP_REFS