EXT_INTER: CDF coding for inter_compound_mode.
Replace deprecated tree coding when EC_ADAPT is on.
AWCY: -0.01% all metrics.
Change-Id: I021dbc1e5f2a64fec66da1a427a0bf930cfed292
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index d93b0ae..1b41363 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -193,6 +193,7 @@
#endif
#if CONFIG_EXT_INTER
+#if !CONFIG_EC_ADAPT
static void read_inter_compound_mode_probs(FRAME_CONTEXT *fc, aom_reader *r) {
int i, j;
if (aom_read(r, GROUP_DIFF_UPDATE_PROB, ACCT_STR)) {
@@ -203,6 +204,7 @@
}
}
}
+#endif // CONFIG_EC_ADAPT
#if CONFIG_COMPOUND_SINGLEREF
static void read_inter_singleref_comp_mode_probs(FRAME_CONTEXT *fc,
@@ -5100,7 +5102,9 @@
#endif
#if CONFIG_EXT_INTER
+#if !CONFIG_EC_ADAPT
read_inter_compound_mode_probs(fc, &r);
+#endif
#if CONFIG_COMPOUND_SINGLEREF
read_inter_singleref_comp_mode_probs(fc, &r);
#endif // CONFIG_COMPOUND_SINGLEREF
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index f3f8b89..9003ed4 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -380,9 +380,16 @@
#if CONFIG_EXT_INTER
static PREDICTION_MODE read_inter_compound_mode(AV1_COMMON *cm, MACROBLOCKD *xd,
aom_reader *r, int16_t ctx) {
+#if CONFIG_EC_ADAPT
+ (void)cm;
+ const int mode =
+ aom_read_symbol(r, xd->tile_ctx->inter_compound_mode_cdf[ctx],
+ INTER_COMPOUND_MODES, ACCT_STR);
+#else
const int mode =
aom_read_tree(r, av1_inter_compound_mode_tree,
cm->fc->inter_compound_mode_probs[ctx], ACCT_STR);
+#endif
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->inter_compound_mode[ctx][mode];