Remove experimental flag of NEW_MULTISYMBOL
This experiment has been adopted, we can simplify the code
by dropping the associated preprocessor conditionals.
Change-Id: I6ac62c2825eabcba8f854cfa25c84638d9a73872
diff --git a/av1/common/entropy.c b/av1/common/entropy.c
index 18f3598..bc568cf 100644
--- a/av1/common/entropy.c
+++ b/av1/common/entropy.c
@@ -38,7 +38,6 @@
};
/* clang-format on */
-#if CONFIG_NEW_MULTISYMBOL
/* Extra bits coded from LSB to MSB */
const aom_cdf_prob av1_cat1_cdf0[CDF_SIZE(2)] = { AOM_CDF2(20352) };
const aom_cdf_prob *av1_cat1_cdf[] = { av1_cat1_cdf0 };
@@ -78,7 +77,6 @@
const aom_cdf_prob *av1_cat6_cdf[] = {
av1_cat6_cdf0, av1_cat6_cdf1, av1_cat6_cdf2, av1_cat6_cdf3, av1_cat6_cdf4
};
-#endif
/* Extra bits coded from MSB to LSB */
const aom_prob av1_cat1_prob[] = { 159 };
const aom_prob av1_cat2_prob[] = { 165, 145 };
@@ -1658,13 +1656,11 @@
AVERAGE_TILE_CDFS(nmvc[j].comps[k].classes_cdf)
AVERAGE_TILE_CDFS(nmvc[j].comps[k].class0_fp_cdf)
AVERAGE_TILE_CDFS(nmvc[j].comps[k].fp_cdf)
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(nmvc[j].comps[k].sign_cdf)
AVERAGE_TILE_CDFS(nmvc[j].comps[k].hp_cdf)
AVERAGE_TILE_CDFS(nmvc[j].comps[k].class0_hp_cdf)
AVERAGE_TILE_CDFS(nmvc[j].comps[k].class0_cdf)
AVERAGE_TILE_CDFS(nmvc[j].comps[k].bits_cdf)
-#endif
}
}
}
@@ -1689,10 +1685,8 @@
#if CONFIG_LOOP_RESTORATION
AVERAGE_TILE_CDFS(switchable_restore_cdf)
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(wiener_restore_cdf)
AVERAGE_TILE_CDFS(sgrproj_restore_cdf)
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_LOOP_RESTORATION
}
@@ -1711,9 +1705,7 @@
AVERAGE_TILE_CDFS(inter_ext_tx_cdf)
AVERAGE_TILE_CDFS(seg.tree_cdf)
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(seg.pred_cdf)
-#endif
AVERAGE_TILE_CDFS(uv_mode_cdf)
#if CONFIG_CFL
@@ -1731,10 +1723,8 @@
#endif
#endif
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(skip_cdfs)
AVERAGE_TILE_CDFS(txfm_partition_cdf)
-#endif // CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(palette_y_size_cdf)
AVERAGE_TILE_CDFS(palette_uv_size_cdf)
AVERAGE_TILE_CDFS(palette_y_color_index_cdf)
@@ -1746,10 +1736,8 @@
#if CONFIG_MRC_TX
AVERAGE_TILE_CDFS(mrc_mask_intra_cdf)
#endif // CONFIG_MRC_TX
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(palette_y_mode_cdf)
AVERAGE_TILE_CDFS(palette_uv_mode_cdf)
-#endif
#if CONFIG_LPF_SB
AVERAGE_TILE_CDFS(lpf_reuse_cdf);
AVERAGE_TILE_CDFS(lpf_delta_cdf);
@@ -1771,13 +1759,10 @@
#endif
aom_cdf_prob *fc_cdf_ptr;
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(comp_inter_cdf)
AVERAGE_TILE_CDFS(comp_ref_cdf)
AVERAGE_TILE_CDFS(comp_bwdref_cdf)
-#endif
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(single_ref_cdf)
AVERAGE_TILE_CDFS(newmv_cdf)
@@ -1788,7 +1773,6 @@
AVERAGE_TILE_CDFS(uni_comp_ref_cdf)
AVERAGE_TILE_CDFS(comp_ref_type_cdf)
#endif
-#endif
// FIXME: cdfs not defined for super_tx
@@ -1796,10 +1780,8 @@
AVERAGE_TILE_CDFS(compound_type_cdf)
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(interintra_cdf)
AVERAGE_TILE_CDFS(wedge_interintra_cdf)
-#endif
AVERAGE_TILE_CDFS(interintra_mode_cdf)
/* NB: kf_y_cdf is discarded after use, so no need
@@ -1809,11 +1791,9 @@
if (cm->interp_filter == SWITCHABLE) {
AVERAGE_TILE_CDFS(switchable_interp_cdf)
}
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(intra_inter_cdf)
AVERAGE_TILE_CDFS(motion_mode_cdf)
AVERAGE_TILE_CDFS(obmc_cdf)
-#endif
#if CONFIG_MRC_TX
AVERAGE_TILE_CDFS(mrc_mask_inter_cdf)
#endif // CONFIG_MRC_TX
@@ -1827,8 +1807,6 @@
for (j = 0; j < Q_SEGMENT_CDF_COUNT; j++) AVERAGE_TILE_CDFS(seg.q_seg_cdf[j]);
#endif
#if CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
AVERAGE_TILE_CDFS(compound_index_cdf);
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_JNT_COMP
}
diff --git a/av1/common/entropy.h b/av1/common/entropy.h
index 2df25d8..3b61b4c 100644
--- a/av1/common/entropy.h
+++ b/av1/common/entropy.h
@@ -143,23 +143,17 @@
DECLARE_ALIGNED(16, extern const uint8_t, av1_cat4_prob[4]);
DECLARE_ALIGNED(16, extern const uint8_t, av1_cat5_prob[5]);
DECLARE_ALIGNED(16, extern const uint8_t, av1_cat6_prob[18]);
-#if CONFIG_NEW_MULTISYMBOL
extern const aom_cdf_prob *av1_cat1_cdf[];
extern const aom_cdf_prob *av1_cat2_cdf[];
extern const aom_cdf_prob *av1_cat3_cdf[];
extern const aom_cdf_prob *av1_cat4_cdf[];
extern const aom_cdf_prob *av1_cat5_cdf[];
extern const aom_cdf_prob *av1_cat6_cdf[];
-#endif
#define EOB_MODEL_TOKEN 3
typedef struct {
-#if CONFIG_NEW_MULTISYMBOL
const aom_cdf_prob **cdf;
-#else
- const aom_prob *prob;
-#endif
int len;
int base_val;
const int16_t *cost;
@@ -177,10 +171,8 @@
#endif
int tx_offset = (int)(tx_size - TX_4X4);
int bits = (int)bit_depth + 3 + tx_offset;
-#if CONFIG_NEW_MULTISYMBOL
// Round up
bits = AOMMIN((int)sizeof(av1_cat6_prob), ((bits + 3) & ~3));
-#endif
assert(bits <= (int)sizeof(av1_cat6_prob));
return bits;
}
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index dc045bc..75b8094 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -705,7 +705,6 @@
static const aom_prob default_drl_prob[DRL_MODE_CONTEXTS] = {
119, 128, 189, 134, 128,
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_newmv_cdf[NEWMV_MODE_CONTEXTS][CDF_SIZE(2)] =
{ { AOM_CDF2(128 * 155) }, { AOM_CDF2(128 * 116) }, { AOM_CDF2(128 * 94) },
{ AOM_CDF2(128 * 32) }, { AOM_CDF2(128 * 96) }, { AOM_CDF2(128 * 56) },
@@ -725,7 +724,6 @@
{ AOM_CDF2(128 * 134) },
{ AOM_CDF2(128 * 128) }
};
-#endif
static const aom_prob default_inter_compound_mode_probs
[INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = {
@@ -792,13 +790,11 @@
static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = {
128, 226, 244, 254,
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(
2)] = { { AOM_CDF2(128 * 128) },
{ AOM_CDF2(226 * 128) },
{ AOM_CDF2(244 * 128) },
{ AOM_CDF2(254 * 128) } };
-#endif
static const aom_prob
default_interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1] = {
@@ -826,7 +822,6 @@
#endif // CONFIG_EXT_PARTITION
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
{ AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) },
@@ -844,7 +839,6 @@
{ AOM_CDF2(255 * 128) }, { AOM_CDF2(255 * 128) },
#endif // CONFIG_EXT_PARTITION
};
-#endif // CONFIG_NEW_MULTISYMBOL
const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)] = {
-SIMPLE_TRANSLATION, 2, -OBMC_CAUSAL, -WARPED_CAUSAL,
@@ -899,7 +893,6 @@
#endif // CONFIG_EXT_PARTITION
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
{ AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) },
{ AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) },
@@ -916,7 +909,6 @@
{ AOM_CDF2(252 * 128) }, { AOM_CDF2(252 * 128) },
#endif // CONFIG_EXT_PARTITION
};
-#endif // CONFIG_NEW_MULTISYMBOL
static const aom_prob default_delta_q_probs[DELTA_Q_PROBS] = { 220, 220, 220 };
static const aom_cdf_prob default_delta_q_cdf[CDF_SIZE(DELTA_Q_PROBS + 1)] = {
@@ -969,7 +961,6 @@
6, 97, 151, 205,
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_intra_inter_cdf[INTRA_INTER_CONTEXTS]
[CDF_SIZE(2)] = {
{ AOM_CDF2(768) },
@@ -977,20 +968,17 @@
{ AOM_CDF2(19328) },
{ AOM_CDF2(26240) }
};
-#endif
static const aom_prob default_comp_inter_p[COMP_INTER_CONTEXTS] = {
190, 156, 91, 77, 22
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_comp_inter_cdf[COMP_INTER_CONTEXTS][CDF_SIZE(
2)] = { { AOM_CDF2(24290) },
{ AOM_CDF2(19956) },
{ AOM_CDF2(11641) },
{ AOM_CDF2(9804) },
{ AOM_CDF2(2842) } };
-#endif // CONFIG_NEW_MULTISYMBOL
#if CONFIG_EXT_COMP_REFS
static const aom_prob default_comp_ref_type_p[COMP_REF_TYPE_CONTEXTS] = {
@@ -1001,7 +989,6 @@
{ 88, 30, 28 }, { 218, 97, 105 }, { 254, 180, 196 }
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_comp_ref_type_cdf[COMP_REF_TYPE_CONTEXTS]
[CDF_SIZE(2)] = {
{ AOM_CDF2(8 * 128) },
@@ -1021,7 +1008,6 @@
{ { AOM_CDF2(254 * 128) },
{ AOM_CDF2(180 * 128) },
{ AOM_CDF2(196 * 128) } } };
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_EXT_COMP_REFS
static const aom_prob default_comp_ref_p[REF_CONTEXTS][FWD_REFS - 1] = {
@@ -1036,7 +1022,6 @@
{ 22, 13 }, { 140, 124 }, { 241, 239 }, { 128, 128 }, { 128, 128 }
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)] = {
{ { AOM_CDF2(3556) }, { AOM_CDF2(1217) }, { AOM_CDF2(988) } },
@@ -1054,7 +1039,6 @@
{ { AOM_CDF2(32768) }, { AOM_CDF2(32768) } },
{ { AOM_CDF2(32768) }, { AOM_CDF2(32768) } }
};
-#endif // CONFIG_NEW_MULTISYMBOL
static const aom_prob default_single_ref_p[REF_CONTEXTS][SINGLE_REFS - 1] = {
{ 36, 16, 32, 57, 11, 14 },
@@ -1064,7 +1048,6 @@
{ 224, 128, 230, 242, 208, 128 }
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1]
[CDF_SIZE(2)] = {
{ { AOM_CDF2(4623) },
@@ -1098,7 +1081,6 @@
{ AOM_CDF2(26676) },
{ AOM_CDF2(32768) } }
};
-#endif // CONFIG_NEW_MULTISYMBOL
// TODO(huisu): tune these cdfs
const aom_cdf_prob
@@ -1150,7 +1132,6 @@
253, 229
};
-#if CONFIG_NEW_MULTISYMBOL
const aom_cdf_prob default_palette_y_mode_cdf[PALETTE_BLOCK_SIZES]
[PALETTE_Y_MODE_CONTEXTS]
[CDF_SIZE(2)] = {
@@ -1190,7 +1171,6 @@
default_palette_uv_mode_cdf[PALETTE_UV_MODE_CONTEXTS][CDF_SIZE(2)] = {
{ AOM_CDF2(128 * 253) }, { AOM_CDF2(128 * 229) }
};
-#endif
const aom_cdf_prob default_palette_y_color_index_cdf
[PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][CDF_SIZE(PALETTE_COLORS)] = {
@@ -1421,13 +1401,11 @@
static const aom_cdf_prob default_switchable_restore_cdf[CDF_SIZE(
RESTORE_SWITCHABLE_TYPES)] = { AOM_CDF3(32 * 128, 144 * 128) };
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob default_wiener_restore_cdf[CDF_SIZE(2)] = { AOM_CDF2(
64 * 128) };
static const aom_cdf_prob default_sgrproj_restore_cdf[CDF_SIZE(2)] = { AOM_CDF2(
64 * 128) };
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_LOOP_RESTORATION
#define NUM_PALETTE_NEIGHBORS 3 // left, top-left and top.
@@ -1522,7 +1500,6 @@
250, 231, 212, 241, 166, 66, 241, 230, 135, 243, 154, 64, 248, 161, 63, 128
#endif // CONFIG_TX64X64
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_txfm_partition_cdf[TXFM_PARTITION_CONTEXTS][CDF_SIZE(2)] = {
#if CONFIG_TX64X64
@@ -1543,9 +1520,7 @@
{ AOM_CDF2(128 * 128) },
#endif // CONFIG_TX64X64
};
-#endif // CONFIG_NEW_MULTISYMBOL
-#if CONFIG_NEW_MULTISYMBOL
#if CONFIG_EXT_SKIP
static const aom_cdf_prob default_skip_mode_cdfs[SKIP_MODE_CONTEXTS][CDF_SIZE(
2)] = { { AOM_CDF2(24576) }, { AOM_CDF2(16384) }, { AOM_CDF2(8192) } };
@@ -1553,16 +1528,8 @@
static const aom_cdf_prob default_skip_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)] = {
{ AOM_CDF2(24576) }, { AOM_CDF2(16384) }, { AOM_CDF2(8192) }
};
-#else // !CONFIG_NEW_MULTISYMBOL
-#if CONFIG_EXT_SKIP
-static const aom_prob default_skip_mode_probs[SKIP_MODE_CONTEXTS] = { 192, 128,
- 64 };
-#endif // CONFIG_EXT_SKIP
-static const aom_prob default_skip_probs[SKIP_CONTEXTS] = { 192, 128, 64 };
-#endif // CONFIG_NEW_MULTISYMBOL
#if CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_compound_idx_cdfs[COMP_INDEX_CONTEXTS][CDF_SIZE(2)] = {
{ AOM_ICDF(24576), AOM_ICDF(32768), 0 },
@@ -1572,7 +1539,6 @@
{ AOM_ICDF(16384), AOM_ICDF(32768), 0 },
{ AOM_ICDF(8192), AOM_ICDF(32768), 0 },
};
-#endif // CONFIG_NEW_MULTISYMBOL
static const aom_prob default_compound_idx_probs[COMP_INDEX_CONTEXTS] = {
192, 128, 64, 192, 128, 64
};
@@ -1599,14 +1565,12 @@
static const aom_prob default_segment_pred_probs[PREDICTION_PROBS] = {
128, 128, 128
};
-#if CONFIG_NEW_MULTISYMBOL
static const aom_cdf_prob
default_segment_pred_cdf[PREDICTION_PROBS][CDF_SIZE(2)] = {
{ AOM_CDF2(128 * 128) },
{ AOM_CDF2(128 * 128) },
{ AOM_CDF2(128 * 128) }
};
-#endif
// clang-format on
#if CONFIG_DUAL_FILTER
#if USE_EXTRA_FILTER
@@ -3047,23 +3011,17 @@
av1_copy(fc->mrc_mask_inter_cdf, default_mrc_mask_inter_cdf);
av1_copy(fc->mrc_mask_intra_cdf, default_mrc_mask_intra_cdf);
#endif // CONFIG_MRC_TX
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->comp_inter_cdf, default_comp_inter_cdf);
-#endif // CONFIG_NEW_MULTISYMBOL
#if CONFIG_EXT_COMP_REFS
av1_copy(fc->comp_ref_type_prob, default_comp_ref_type_p);
av1_copy(fc->uni_comp_ref_prob, default_uni_comp_ref_p);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->comp_ref_type_cdf, default_comp_ref_type_cdf);
av1_copy(fc->uni_comp_ref_cdf, default_uni_comp_ref_cdf);
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_EXT_COMP_REFS
av1_copy(fc->comp_ref_prob, default_comp_ref_p);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->palette_y_mode_cdf, default_palette_y_mode_cdf);
av1_copy(fc->palette_uv_mode_cdf, default_palette_uv_mode_cdf);
av1_copy(fc->comp_ref_cdf, default_comp_ref_cdf);
-#endif
#if CONFIG_LV_MAP
av1_copy(fc->txb_skip, default_txb_skip);
av1_copy(fc->nz_map, default_nz_map);
@@ -3086,66 +3044,48 @@
av1_init_txb_probs(fc);
#endif
av1_copy(fc->comp_bwdref_prob, default_comp_bwdref_p);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->comp_bwdref_cdf, default_comp_bwdref_cdf);
-#endif
av1_copy(fc->single_ref_prob, default_single_ref_p);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->single_ref_cdf, default_single_ref_cdf);
-#endif
av1_copy(fc->txfm_partition_prob, default_txfm_partition_probs);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->txfm_partition_cdf, default_txfm_partition_cdf);
-#endif
#if CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->compound_index_cdf, default_compound_idx_cdfs);
-#endif // CONFIG_NEW_MULTISYMBOL
av1_copy(fc->compound_index_probs, default_compound_idx_probs);
#endif // CONFIG_JNT_COMP
av1_copy(fc->newmv_prob, default_newmv_prob);
av1_copy(fc->zeromv_prob, default_zeromv_prob);
av1_copy(fc->refmv_prob, default_refmv_prob);
av1_copy(fc->drl_prob, default_drl_prob);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->newmv_cdf, default_newmv_cdf);
av1_copy(fc->zeromv_cdf, default_zeromv_cdf);
av1_copy(fc->refmv_cdf, default_refmv_cdf);
av1_copy(fc->drl_cdf, default_drl_cdf);
-#endif
av1_copy(fc->motion_mode_prob, default_motion_mode_prob);
av1_copy(fc->motion_mode_cdf, default_motion_mode_cdf);
av1_copy(fc->obmc_prob, default_obmc_prob);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->obmc_cdf, default_obmc_cdf);
-#endif
av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs);
av1_copy(fc->inter_compound_mode_cdf, default_inter_compound_mode_cdf);
av1_copy(fc->compound_type_prob, default_compound_type_probs);
av1_copy(fc->compound_type_cdf, default_compound_type_cdf);
av1_copy(fc->interintra_prob, default_interintra_prob);
av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->interintra_cdf, default_interintra_cdf);
av1_copy(fc->wedge_interintra_cdf, default_wedge_interintra_cdf);
-#endif // CONFIG_NEW_MULTISYMBOL
av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf);
av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->seg.pred_cdf, default_segment_pred_cdf);
-#endif
#if CONFIG_FILTER_INTRA
av1_copy(fc->filter_intra_cdfs, default_filter_intra_cdfs);
av1_copy(fc->filter_intra_mode_cdf, default_filter_intra_mode_cdf);
#endif // CONFIG_FILTER_INTRA
#if CONFIG_LOOP_RESTORATION
av1_copy(fc->switchable_restore_cdf, default_switchable_restore_cdf);
-#if CONFIG_NEW_MULTISYMBOL
av1_copy(fc->wiener_restore_cdf, default_wiener_restore_cdf);
av1_copy(fc->sgrproj_restore_cdf, default_sgrproj_restore_cdf);
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_LOOP_RESTORATION
av1_copy(fc->y_mode_cdf, default_if_y_mode_cdf);
av1_copy(fc->uv_mode_cdf, default_uv_mode_cdf);
@@ -3153,18 +3093,11 @@
av1_copy(fc->partition_cdf, default_partition_cdf);
av1_copy(fc->intra_ext_tx_cdf, default_intra_ext_tx_cdf);
av1_copy(fc->inter_ext_tx_cdf, default_inter_ext_tx_cdf);
-#if CONFIG_NEW_MULTISYMBOL
#if CONFIG_EXT_SKIP
av1_copy(fc->skip_mode_cdfs, default_skip_mode_cdfs);
#endif // CONFIG_EXT_SKIP
av1_copy(fc->skip_cdfs, default_skip_cdfs);
av1_copy(fc->intra_inter_cdf, default_intra_inter_cdf);
-#else // !CONFIG_NEW_MULTISYMBOL
-#if CONFIG_EXT_SKIP
- av1_copy(fc->skip_mode_probs, default_skip_mode_probs);
-#endif // CONFIG_EXT_SKIP
- av1_copy(fc->skip_probs, default_skip_probs);
-#endif // CONFIG_NEW_MULTISYMBOL
av1_copy(fc->seg.tree_cdf, default_seg_tree_cdf);
#if CONFIG_Q_SEGMENTATION
for (int i = 0; i < Q_SEGMENT_CDF_COUNT; i++)
@@ -3304,17 +3237,6 @@
pre_fc->txfm_partition_prob[i], counts->txfm_partition[i]);
}
-#if !CONFIG_NEW_MULTISYMBOL
-#if CONFIG_EXT_SKIP
- for (i = 0; i < SKIP_MODE_CONTEXTS; ++i)
- fc->skip_mode_probs[i] = av1_mode_mv_merge_probs(pre_fc->skip_mode_probs[i],
- counts->skip_mode[i]);
-#endif // CONFIG_EXT_SKIP
- for (i = 0; i < SKIP_CONTEXTS; ++i)
- fc->skip_probs[i] =
- av1_mode_mv_merge_probs(pre_fc->skip_probs[i], counts->skip[i]);
-#endif // !CONFIG_NEW_MULTISYMBOL
-
if (cm->seg.temporal_update) {
for (i = 0; i < PREDICTION_PROBS; i++)
fc->seg.pred_probs[i] = av1_mode_mv_merge_probs(pre_fc->seg.pred_probs[i],
diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h
index e63a7c1..540b5da 100644
--- a/av1/common/entropymode.h
+++ b/av1/common/entropymode.h
@@ -181,12 +181,10 @@
aom_prob zeromv_prob[GLOBALMV_MODE_CONTEXTS];
aom_prob refmv_prob[REFMV_MODE_CONTEXTS];
aom_prob drl_prob[DRL_MODE_CONTEXTS];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob newmv_cdf[NEWMV_MODE_CONTEXTS][CDF_SIZE(2)];
aom_cdf_prob zeromv_cdf[GLOBALMV_MODE_CONTEXTS][CDF_SIZE(2)];
aom_cdf_prob refmv_cdf[REFMV_MODE_CONTEXTS][CDF_SIZE(2)];
aom_cdf_prob drl_cdf[DRL_MODE_CONTEXTS][CDF_SIZE(2)];
-#endif
aom_prob inter_compound_mode_probs[INTER_MODE_CONTEXTS]
[INTER_COMPOUND_MODES - 1];
@@ -197,18 +195,14 @@
aom_prob interintra_prob[BLOCK_SIZE_GROUPS];
aom_prob wedge_interintra_prob[BLOCK_SIZES_ALL];
aom_prob interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(2)];
aom_cdf_prob wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)];
-#endif
aom_cdf_prob interintra_mode_cdf[BLOCK_SIZE_GROUPS]
[CDF_SIZE(INTERINTRA_MODES)];
aom_prob motion_mode_prob[BLOCK_SIZES_ALL][MOTION_MODES - 1];
aom_cdf_prob motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)];
aom_prob obmc_prob[BLOCK_SIZES_ALL];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)];
-#endif // CONFIG_NEW_MULTISYMBOL
aom_prob intra_inter_prob[INTRA_INTER_CONTEXTS];
aom_prob comp_inter_prob[COMP_INTER_CONTEXTS];
aom_cdf_prob palette_y_size_cdf[PALETTE_BLOCK_SIZES][CDF_SIZE(PALETTE_SIZES)];
@@ -226,51 +220,34 @@
aom_cdf_prob mrc_mask_intra_cdf[PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS]
[CDF_SIZE(PALETTE_COLORS)];
#endif // CONFIG_MRC_TX
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob palette_y_mode_cdf[PALETTE_BLOCK_SIZES][PALETTE_Y_MODE_CONTEXTS]
[CDF_SIZE(2)];
aom_cdf_prob palette_uv_mode_cdf[PALETTE_UV_MODE_CONTEXTS][CDF_SIZE(2)];
aom_cdf_prob comp_inter_cdf[COMP_INTER_CONTEXTS][CDF_SIZE(2)];
aom_cdf_prob single_ref_cdf[REF_CONTEXTS][SINGLE_REFS - 1][CDF_SIZE(2)];
-#endif
#if CONFIG_EXT_COMP_REFS
aom_prob comp_ref_type_prob[COMP_REF_TYPE_CONTEXTS];
aom_prob uni_comp_ref_prob[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob comp_ref_type_cdf[COMP_REF_TYPE_CONTEXTS][CDF_SIZE(2)];
aom_cdf_prob uni_comp_ref_cdf[UNI_COMP_REF_CONTEXTS][UNIDIR_COMP_REFS - 1]
[CDF_SIZE(2)];
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_EXT_COMP_REFS
aom_prob single_ref_prob[REF_CONTEXTS][SINGLE_REFS - 1];
aom_prob comp_ref_prob[REF_CONTEXTS][FWD_REFS - 1];
aom_prob comp_bwdref_prob[REF_CONTEXTS][BWD_REFS - 1];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob comp_ref_cdf[REF_CONTEXTS][FWD_REFS - 1][CDF_SIZE(2)];
aom_cdf_prob comp_bwdref_cdf[REF_CONTEXTS][BWD_REFS - 1][CDF_SIZE(2)];
-#endif
aom_prob txfm_partition_prob[TXFM_PARTITION_CONTEXTS];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob txfm_partition_cdf[TXFM_PARTITION_CONTEXTS][CDF_SIZE(2)];
-#endif
#if CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob compound_index_cdf[COMP_INDEX_CONTEXTS][CDF_SIZE(2)];
-#endif // CONFIG_NEW_MULTISYMBOL
aom_prob compound_index_probs[COMP_INDEX_CONTEXTS];
#endif // CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
#if CONFIG_EXT_SKIP
aom_cdf_prob skip_mode_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)];
#endif // CONFIG_EXT_SKIP
aom_cdf_prob skip_cdfs[SKIP_CONTEXTS][CDF_SIZE(2)];
aom_cdf_prob intra_inter_cdf[INTRA_INTER_CONTEXTS][CDF_SIZE(2)];
-#else // !CONFIG_NEW_MULTISYMBOL
-#if CONFIG_EXT_SKIP
- aom_prob skip_mode_probs[SKIP_CONTEXTS];
-#endif // CONFIG_EXT_SKIP
- aom_prob skip_probs[SKIP_CONTEXTS];
-#endif // CONFIG_NEW_MULTISYMBOL
nmv_context nmvc[NMV_CONTEXTS];
#if CONFIG_INTRABC
nmv_context ndvc;
@@ -284,10 +261,8 @@
#endif // CONFIG_FILTER_INTRA
#if CONFIG_LOOP_RESTORATION
aom_cdf_prob switchable_restore_cdf[CDF_SIZE(RESTORE_SWITCHABLE_TYPES)];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob wiener_restore_cdf[CDF_SIZE(2)];
aom_cdf_prob sgrproj_restore_cdf[CDF_SIZE(2)];
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_LOOP_RESTORATION
aom_cdf_prob y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)];
aom_cdf_prob uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)];
diff --git a/av1/common/entropymv.c b/av1/common/entropymv.c
index 95c673a..563cc47 100644
--- a/av1/common/entropymv.c
+++ b/av1/common/entropymv.c
@@ -59,7 +59,6 @@
{ AOM_CDF4(8192, 17408, 21248) }, // fp_cdf
160, // class0_hp bit
128, // hp
-#if CONFIG_NEW_MULTISYMBOL
{ AOM_CDF2(128 * 128) },
{ AOM_CDF2(160 * 128) },
{ AOM_CDF2(128 * 128) },
@@ -74,7 +73,6 @@
{ AOM_CDF2(128 * 234) },
{ AOM_CDF2(128 * 234) },
{ AOM_CDF2(128 * 240) } }, // bits_cdf
-#endif
},
{
// Horizontal component
@@ -91,7 +89,6 @@
{ AOM_CDF4(8192, 17408, 21248) }, // fp_cdf
160, // class0_hp bit
128, // hp
-#if CONFIG_NEW_MULTISYMBOL
{ AOM_CDF2(128 * 128) },
{ AOM_CDF2(160 * 128) },
{ AOM_CDF2(128 * 128) },
@@ -106,7 +103,6 @@
{ AOM_CDF2(128 * 234) },
{ AOM_CDF2(128 * 234) },
{ AOM_CDF2(128 * 240) } }, // bits_cdf
-#endif
} },
};
diff --git a/av1/common/entropymv.h b/av1/common/entropymv.h
index 09ef926..49183a9 100644
--- a/av1/common/entropymv.h
+++ b/av1/common/entropymv.h
@@ -66,9 +66,7 @@
#define CLASS0_BITS 1 /* bits at integer precision for class 0 */
#define CLASS0_SIZE (1 << CLASS0_BITS)
#define MV_OFFSET_BITS (MV_CLASSES + CLASS0_BITS - 2)
-#if CONFIG_NEW_MULTISYMBOL
#define MV_BITS_CONTEXTS 6
-#endif
#define MV_FP_SIZE 4
#define MV_MAX_BITS (MV_CLASSES + CLASS0_BITS + 2)
@@ -96,13 +94,11 @@
aom_cdf_prob fp_cdf[CDF_SIZE(MV_FP_SIZE)];
aom_prob class0_hp;
aom_prob hp;
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob sign_cdf[CDF_SIZE(2)];
aom_cdf_prob class0_hp_cdf[CDF_SIZE(2)];
aom_cdf_prob hp_cdf[CDF_SIZE(2)];
aom_cdf_prob class0_cdf[CDF_SIZE(CLASS0_SIZE)];
aom_cdf_prob bits_cdf[MV_OFFSET_BITS][CDF_SIZE(2)];
-#endif
} nmv_component;
typedef struct {
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index b163aa6..a920b4a 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -1383,11 +1383,7 @@
static INLINE int use_compressed_header(const AV1_COMMON *cm) {
(void)cm;
-#if CONFIG_NEW_MULTISYMBOL
return 0;
-#else
- return 1;
-#endif // CONFIG_NEW_MULTISYMBOL
}
#ifdef __cplusplus
diff --git a/av1/common/pred_common.h b/av1/common/pred_common.h
index 77c19f8..7a7d990 100644
--- a/av1/common/pred_common.h
+++ b/av1/common/pred_common.h
@@ -129,12 +129,10 @@
}
#endif // CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_pred_cdf_seg_id(
struct segmentation_probs *segp, const MACROBLOCKD *xd) {
return segp->pred_cdf[av1_get_pred_context_seg_id(xd)];
}
-#endif
#if CONFIG_EXT_SKIP
static INLINE int av1_get_skip_mode_context(const MACROBLOCKD *xd) {
@@ -177,12 +175,10 @@
const MACROBLOCKD *xd) {
return cm->fc->comp_inter_prob[av1_get_reference_mode_context(cm, xd)];
}
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_reference_mode_cdf(const AV1_COMMON *cm,
const MACROBLOCKD *xd) {
return xd->tile_ctx->comp_inter_cdf[av1_get_reference_mode_context(cm, xd)];
}
-#endif
#if CONFIG_EXT_COMP_REFS
int av1_get_comp_reference_type_context(const MACROBLOCKD *xd);
@@ -216,7 +212,6 @@
return cm->fc->uni_comp_ref_prob[pred_context][2];
}
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_comp_reference_type_cdf(
const MACROBLOCKD *xd) {
const int pred_context = av1_get_comp_reference_type_context(xd);
@@ -240,19 +235,16 @@
const int pred_context = av1_get_pred_context_uni_comp_ref_p2(xd);
return xd->tile_ctx->uni_comp_ref_cdf[pred_context][2];
}
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_EXT_COMP_REFS
int av1_get_pred_context_comp_ref_p(const AV1_COMMON *cm,
const MACROBLOCKD *xd);
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_pred_cdf_comp_ref_p(const AV1_COMMON *cm,
const MACROBLOCKD *xd) {
const int pred_context = av1_get_pred_context_comp_ref_p(cm, xd);
return xd->tile_ctx->comp_ref_cdf[pred_context][0];
}
-#endif
static INLINE aom_prob av1_get_pred_prob_comp_ref_p(const AV1_COMMON *cm,
const MACROBLOCKD *xd) {
@@ -263,13 +255,11 @@
int av1_get_pred_context_comp_ref_p1(const AV1_COMMON *cm,
const MACROBLOCKD *xd);
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_pred_cdf_comp_ref_p1(
const AV1_COMMON *cm, const MACROBLOCKD *xd) {
const int pred_context = av1_get_pred_context_comp_ref_p1(cm, xd);
return xd->tile_ctx->comp_ref_cdf[pred_context][1];
}
-#endif // CONFIG_NEW_MULTISYMBOL
static INLINE aom_prob av1_get_pred_prob_comp_ref_p1(const AV1_COMMON *cm,
const MACROBLOCKD *xd) {
@@ -280,13 +270,11 @@
int av1_get_pred_context_comp_ref_p2(const AV1_COMMON *cm,
const MACROBLOCKD *xd);
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_pred_cdf_comp_ref_p2(
const AV1_COMMON *cm, const MACROBLOCKD *xd) {
const int pred_context = av1_get_pred_context_comp_ref_p2(cm, xd);
return xd->tile_ctx->comp_ref_cdf[pred_context][2];
}
-#endif // CONFIG_NEW_MULTISYMBOL
static INLINE aom_prob av1_get_pred_prob_comp_ref_p2(const AV1_COMMON *cm,
const MACROBLOCKD *xd) {
@@ -297,13 +285,11 @@
int av1_get_pred_context_comp_bwdref_p(const AV1_COMMON *cm,
const MACROBLOCKD *xd);
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_pred_cdf_comp_bwdref_p(
const AV1_COMMON *cm, const MACROBLOCKD *xd) {
const int pred_context = av1_get_pred_context_comp_bwdref_p(cm, xd);
return xd->tile_ctx->comp_bwdref_cdf[pred_context][0];
}
-#endif // CONFIG_NEW_MULTISYMBOL
static INLINE aom_prob av1_get_pred_prob_comp_bwdref_p(const AV1_COMMON *cm,
const MACROBLOCKD *xd) {
@@ -314,13 +300,11 @@
int av1_get_pred_context_comp_bwdref_p1(const AV1_COMMON *cm,
const MACROBLOCKD *xd);
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_pred_cdf_comp_bwdref_p1(
const AV1_COMMON *cm, const MACROBLOCKD *xd) {
const int pred_context = av1_get_pred_context_comp_bwdref_p1(cm, xd);
return xd->tile_ctx->comp_bwdref_cdf[pred_context][1];
}
-#endif // CONFIG_NEW_MULTISYMBOL
static INLINE aom_prob av1_get_pred_prob_comp_bwdref_p1(const AV1_COMMON *cm,
const MACROBLOCKD *xd) {
@@ -370,7 +354,6 @@
return cm->fc->single_ref_prob[av1_get_pred_context_single_ref_p6(xd)][5];
}
-#if CONFIG_NEW_MULTISYMBOL
static INLINE aom_cdf_prob *av1_get_pred_cdf_single_ref_p1(
const AV1_COMMON *cm, const MACROBLOCKD *xd) {
(void)cm;
@@ -407,7 +390,6 @@
return xd->tile_ctx
->single_ref_cdf[av1_get_pred_context_single_ref_p6(xd)][5];
}
-#endif // CONFIG_NEW_MULTISYMBOL
// Returns a context number for the given MB prediction signal
// The mode info data structure has a one element border above and to the
diff --git a/av1/common/seg_common.h b/av1/common/seg_common.h
index 6b0675a..6830dba 100644
--- a/av1/common/seg_common.h
+++ b/av1/common/seg_common.h
@@ -76,16 +76,10 @@
aom_prob tree_probs[SEG_TREE_PROBS];
aom_cdf_prob tree_cdf[CDF_SIZE(MAX_SEGMENTS)];
aom_prob pred_probs[PREDICTION_PROBS];
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob pred_cdf[PREDICTION_PROBS][CDF_SIZE(2)];
#if CONFIG_Q_SEGMENTATION
aom_cdf_prob q_seg_cdf[Q_SEGMENT_CDF_COUNT][CDF_SIZE(MAX_SEGMENTS)];
#endif
-#else
-#if CONFIG_Q_SEGMENTATION
- aom_prob q_seg_cdf[Q_SEGMENT_CDF_COUNT][CDF_SIZE(MAX_SEGMENTS)];
-#endif
-#endif
};
static INLINE int segfeature_active(const struct segmentation *seg,
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 9029a7a..0fc9b84 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -147,20 +147,6 @@
}
#endif // CONFIG_SIMPLIFY_TX_MODE
-#if !CONFIG_NEW_MULTISYMBOL
-static void read_inter_mode_probs(FRAME_CONTEXT *fc, aom_reader *r) {
- int i;
- for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
- av1_diff_update_prob(r, &fc->newmv_prob[i], ACCT_STR);
- for (i = 0; i < GLOBALMV_MODE_CONTEXTS; ++i)
- av1_diff_update_prob(r, &fc->zeromv_prob[i], ACCT_STR);
- for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
- av1_diff_update_prob(r, &fc->refmv_prob[i], ACCT_STR);
- for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
- av1_diff_update_prob(r, &fc->drl_prob[i], ACCT_STR);
-}
-#endif
-
static REFERENCE_MODE read_frame_reference_mode(
const AV1_COMMON *cm, struct aom_read_bit_buffer *rb) {
if (is_compound_reference_allowed(cm)) {
@@ -176,63 +162,6 @@
}
}
-#if !CONFIG_NEW_MULTISYMBOL
-static void read_frame_reference_mode_probs(AV1_COMMON *cm, aom_reader *r) {
- FRAME_CONTEXT *const fc = cm->fc;
- int i;
-
- if (cm->reference_mode == REFERENCE_MODE_SELECT)
- for (i = 0; i < COMP_INTER_CONTEXTS; ++i)
- av1_diff_update_prob(r, &fc->comp_inter_prob[i], ACCT_STR);
-
- if (cm->reference_mode != COMPOUND_REFERENCE) {
- for (i = 0; i < REF_CONTEXTS; ++i) {
- int j;
- for (j = 0; j < (SINGLE_REFS - 1); ++j) {
- av1_diff_update_prob(r, &fc->single_ref_prob[i][j], ACCT_STR);
- }
- }
- }
-
- if (cm->reference_mode != SINGLE_REFERENCE) {
-#if CONFIG_EXT_COMP_REFS
- for (i = 0; i < COMP_REF_TYPE_CONTEXTS; ++i)
- av1_diff_update_prob(r, &fc->comp_ref_type_prob[i], ACCT_STR);
-
- for (i = 0; i < UNI_COMP_REF_CONTEXTS; ++i) {
- int j;
- for (j = 0; j < (UNIDIR_COMP_REFS - 1); ++j)
- av1_diff_update_prob(r, &fc->uni_comp_ref_prob[i][j], ACCT_STR);
- }
-#endif // CONFIG_EXT_COMP_REFS
-
- for (i = 0; i < REF_CONTEXTS; ++i) {
- int j;
- for (j = 0; j < (FWD_REFS - 1); ++j)
- av1_diff_update_prob(r, &fc->comp_ref_prob[i][j], ACCT_STR);
- for (j = 0; j < (BWD_REFS - 1); ++j)
- av1_diff_update_prob(r, &fc->comp_bwdref_prob[i][j], ACCT_STR);
- }
- }
-}
-
-static void update_mv_probs(aom_prob *p, int n, aom_reader *r) {
- int i;
- for (i = 0; i < n; ++i) av1_diff_update_prob(r, &p[i], ACCT_STR);
-}
-
-static void read_mv_probs(nmv_context *ctx, int allow_hp, aom_reader *r) {
- int i;
- if (allow_hp) {
- for (i = 0; i < 2; ++i) {
- nmv_component *const comp_ctx = &ctx->comps[i];
- update_mv_probs(&comp_ctx->class0_hp, 1, r);
- update_mv_probs(&comp_ctx->hp, 1, r);
- }
- }
-}
-#endif
-
static void inverse_transform_block(MACROBLOCKD *xd, int plane,
const TX_TYPE tx_type,
const TX_SIZE tx_size, uint8_t *dst,
@@ -1257,22 +1186,14 @@
default: assert(rui->restoration_type == RESTORE_NONE); break;
}
} else if (rsi->frame_restoration_type == RESTORE_WIENER) {
-#if CONFIG_NEW_MULTISYMBOL
if (aom_read_symbol(r, xd->tile_ctx->wiener_restore_cdf, 2, ACCT_STR)) {
-#else
- if (aom_read(r, RESTORE_NONE_WIENER_PROB, ACCT_STR)) {
-#endif // CONFIG_NEW_MULTISYMBOL
rui->restoration_type = RESTORE_WIENER;
read_wiener_filter(wiener_win, &rui->wiener_info, wiener_info, r);
} else {
rui->restoration_type = RESTORE_NONE;
}
} else if (rsi->frame_restoration_type == RESTORE_SGRPROJ) {
-#if CONFIG_NEW_MULTISYMBOL
if (aom_read_symbol(r, xd->tile_ctx->sgrproj_restore_cdf, 2, ACCT_STR)) {
-#else
- if (aom_read(r, RESTORE_NONE_SGRPROJ_PROB, ACCT_STR)) {
-#endif // CONFIG_NEW_MULTISYMBOL
rui->restoration_type = RESTORE_SGRPROJ;
read_sgrproj_filter(&rui->sgrproj_info, sgrproj_info, r);
} else {
@@ -3333,74 +3254,10 @@
static int read_compressed_header(AV1Decoder *pbi, const uint8_t *data,
size_t partition_size) {
-#if CONFIG_NEW_MULTISYMBOL
(void)pbi;
(void)data;
(void)partition_size;
return 0;
-#else
- AV1_COMMON *const cm = &pbi->common;
- aom_reader r;
- FRAME_CONTEXT *const fc = cm->fc;
-
-#if CONFIG_ANS && ANS_MAX_SYMBOLS
- r.window_size = 1 << cm->ans_window_size_log2;
-#endif
- if (aom_reader_init(&r, data, partition_size, pbi->decrypt_cb,
- pbi->decrypt_state))
- aom_internal_error(&cm->error, AOM_CODEC_MEM_ERROR,
- "Failed to allocate bool decoder 0");
-
- if (cm->tx_mode == TX_MODE_SELECT)
- for (int i = 0; i < TXFM_PARTITION_CONTEXTS; ++i)
- av1_diff_update_prob(&r, &fc->txfm_partition_prob[i], ACCT_STR);
- for (int i = 0; i < SKIP_CONTEXTS; ++i)
- av1_diff_update_prob(&r, &fc->skip_probs[i], ACCT_STR);
-
-#if CONFIG_JNT_COMP
- for (int i = 0; i < COMP_INDEX_CONTEXTS; ++i)
- av1_diff_update_prob(&r, &fc->compound_index_probs[i], ACCT_STR);
-#endif // CONFIG_JNT_COMP
-
- if (!frame_is_intra_only(cm)) {
- read_inter_mode_probs(fc, &r);
-
- if (cm->reference_mode != COMPOUND_REFERENCE &&
- cm->allow_interintra_compound) {
- for (int i = 0; i < BLOCK_SIZE_GROUPS; i++) {
- if (is_interintra_allowed_bsize_group(i)) {
- av1_diff_update_prob(&r, &fc->interintra_prob[i], ACCT_STR);
- }
- }
-#if CONFIG_EXT_PARTITION_TYPES
- int block_sizes_to_update = BLOCK_SIZES_ALL;
-#else
- int block_sizes_to_update = BLOCK_SIZES;
-#endif
- for (int i = 0; i < block_sizes_to_update; i++) {
- if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i)) {
- av1_diff_update_prob(&r, &fc->wedge_interintra_prob[i], ACCT_STR);
- }
- }
- }
-
- for (int i = 0; i < INTRA_INTER_CONTEXTS; i++)
- av1_diff_update_prob(&r, &fc->intra_inter_prob[i], ACCT_STR);
-
- read_frame_reference_mode_probs(cm, &r);
-
-#if CONFIG_AMVR
- if (cm->cur_frame_force_integer_mv == 0) {
-#endif
- for (int i = 0; i < NMV_CONTEXTS; ++i)
- read_mv_probs(&fc->nmvc[i], cm->allow_high_precision_mv, &r);
-#if CONFIG_AMVR
- }
-#endif
- }
-
- return aom_reader_has_error(&r);
-#endif // CONFIG_NEW_MULTISYMBOL
}
#ifdef NDEBUG
@@ -3815,9 +3672,6 @@
if (!frame_is_intra_only(cm)) {
av1_adapt_inter_frame_probs(cm);
-#if !CONFIG_NEW_MULTISYMBOL
- av1_adapt_mv_probs(cm, cm->allow_high_precision_mv);
-#endif
av1_average_tile_inter_cdfs(&pbi->common, pbi->common.fc, tile_ctxs,
cdf_ptrs, num_bwd_ctxs);
av1_average_tile_mv_cdfs(pbi->common.fc, tile_ctxs, cdf_ptrs,
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 8558313..b89fe1e 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -187,11 +187,7 @@
FRAME_COUNTS *counts = xd->counts;
int16_t mode_ctx = ctx & NEWMV_CTX_MASK;
int is_newmv, is_zeromv, is_refmv;
-#if CONFIG_NEW_MULTISYMBOL
is_newmv = aom_read_symbol(r, ec_ctx->newmv_cdf[mode_ctx], 2, ACCT_STR) == 0;
-#else
- is_newmv = aom_read(r, ec_ctx->newmv_prob[mode_ctx], ACCT_STR) == 0;
-#endif
if (is_newmv) {
if (counts) ++counts->newmv_mode[mode_ctx][0];
return NEWMV;
@@ -199,12 +195,8 @@
if (counts) ++counts->newmv_mode[mode_ctx][1];
if (ctx & (1 << ALL_ZERO_FLAG_OFFSET)) return GLOBALMV;
mode_ctx = (ctx >> GLOBALMV_OFFSET) & GLOBALMV_CTX_MASK;
-#if CONFIG_NEW_MULTISYMBOL
is_zeromv =
aom_read_symbol(r, ec_ctx->zeromv_cdf[mode_ctx], 2, ACCT_STR) == 0;
-#else
- is_zeromv = aom_read(r, ec_ctx->zeromv_prob[mode_ctx], ACCT_STR) == 0;
-#endif
if (is_zeromv) {
if (counts) ++counts->zeromv_mode[mode_ctx][0];
return GLOBALMV;
@@ -214,11 +206,7 @@
if (ctx & (1 << SKIP_NEARESTMV_OFFSET)) mode_ctx = 6;
if (ctx & (1 << SKIP_NEARMV_OFFSET)) mode_ctx = 7;
if (ctx & (1 << SKIP_NEARESTMV_SUB8X8_OFFSET)) mode_ctx = 8;
-#if CONFIG_NEW_MULTISYMBOL
is_refmv = aom_read_symbol(r, ec_ctx->refmv_cdf[mode_ctx], 2, ACCT_STR) == 0;
-#else
- is_refmv = aom_read(r, ec_ctx->refmv_prob[mode_ctx], ACCT_STR) == 0;
-#endif
if (is_refmv) {
if (counts) ++counts->refmv_mode[mode_ctx][0];
return NEARESTMV;
@@ -237,11 +225,7 @@
for (idx = 0; idx < 2; ++idx) {
if (xd->ref_mv_count[ref_frame_type] > idx + 1) {
uint8_t drl_ctx = av1_drl_ctx(xd->ref_mv_stack[ref_frame_type], idx);
-#if CONFIG_NEW_MULTISYMBOL
int drl_idx = aom_read_symbol(r, ec_ctx->drl_cdf[drl_ctx], 2, ACCT_STR);
-#else
- int drl_idx = aom_read(r, ec_ctx->drl_prob[drl_ctx], ACCT_STR);
-#endif
mbmi->ref_mv_idx = idx + drl_idx;
if (xd->counts) ++xd->counts->drl_mode[drl_ctx][drl_idx];
if (!drl_idx) return;
@@ -256,11 +240,7 @@
for (idx = 1; idx < 3; ++idx) {
if (xd->ref_mv_count[ref_frame_type] > idx + 1) {
uint8_t drl_ctx = av1_drl_ctx(xd->ref_mv_stack[ref_frame_type], idx);
-#if CONFIG_NEW_MULTISYMBOL
int drl_idx = aom_read_symbol(r, ec_ctx->drl_cdf[drl_ctx], 2, ACCT_STR);
-#else
- int drl_idx = aom_read(r, ec_ctx->drl_prob[drl_ctx], ACCT_STR);
-#endif
mbmi->ref_mv_idx = idx + drl_idx - 1;
if (xd->counts) ++xd->counts->drl_mode[drl_ctx][drl_idx];
if (!drl_idx) return;
@@ -272,9 +252,7 @@
static MOTION_MODE read_motion_mode(AV1_COMMON *cm, MACROBLOCKD *xd,
MODE_INFO *mi, aom_reader *r) {
MB_MODE_INFO *mbmi = &mi->mbmi;
-#if CONFIG_NEW_MULTISYMBOL
(void)cm;
-#endif
const MOTION_MODE last_motion_mode_allowed =
motion_mode_allowed(0, xd->global_motion, xd, mi);
@@ -284,12 +262,8 @@
if (last_motion_mode_allowed == SIMPLE_TRANSLATION) return SIMPLE_TRANSLATION;
if (last_motion_mode_allowed == OBMC_CAUSAL) {
-#if CONFIG_NEW_MULTISYMBOL
motion_mode =
aom_read_symbol(r, xd->tile_ctx->obmc_cdf[mbmi->sb_type], 2, ACCT_STR);
-#else
- motion_mode = aom_read(r, cm->fc->obmc_prob[mbmi->sb_type], ACCT_STR);
-#endif
if (counts) ++counts->obmc[mbmi->sb_type][motion_mode];
return (MOTION_MODE)(SIMPLE_TRANSLATION + motion_mode);
} else {
@@ -388,13 +362,8 @@
return 0;
}
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob *pred_cdf = segp->q_seg_cdf[cdf_num];
int coded_id = aom_read_symbol(r, pred_cdf, 8, ACCT_STR);
-#else
- const aom_prob pred_cdf = segp->q_seg_cdf[cdf_num];
- int coded_id = aom_read(r, pred_cdf, ACCT_STR);
-#endif
int segment_id = neg_deinterleave(coded_id, pred, seg->q_lvls);
@@ -410,10 +379,8 @@
MB_MODE_INFO *mbmi, FRAME_COUNTS *counts,
TX_SIZE tx_size, int depth, int blk_row,
int blk_col, aom_reader *r) {
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
(void)cm;
-#endif
int is_split = 0;
const int tx_row = blk_row >> 1;
const int tx_col = blk_col >> 1;
@@ -441,11 +408,7 @@
return;
}
-#if CONFIG_NEW_MULTISYMBOL
is_split = aom_read_symbol(r, ec_ctx->txfm_partition_cdf[ctx], 2, ACCT_STR);
-#else
- is_split = aom_read(r, cm->fc->txfm_partition_prob[ctx], ACCT_STR);
-#endif
if (is_split) {
const TX_SIZE sub_txs = sub_tx_size_map[tx_size];
@@ -619,13 +582,8 @@
if (seg->temporal_update) {
const int ctx = av1_get_pred_context_seg_id(xd);
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob *pred_cdf = segp->pred_cdf[ctx];
mbmi->seg_id_predicted = aom_read_symbol(r, pred_cdf, 2, ACCT_STR);
-#else
- const aom_prob pred_prob = segp->pred_probs[ctx];
- mbmi->seg_id_predicted = aom_read(r, pred_prob, ACCT_STR);
-#endif
if (counts) ++counts->seg.pred[ctx][mbmi->seg_id_predicted];
if (mbmi->seg_id_predicted) {
segment_id = predicted_segment_id;
@@ -651,13 +609,9 @@
return 0;
} else {
const int ctx = av1_get_skip_mode_context(xd);
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
const int skip_mode =
aom_read_symbol(r, ec_ctx->skip_mode_cdfs[ctx], 2, ACCT_STR);
-#else
- const int skip_mode = aom_read(r, cm->fc->skip_mode_probs[ctx], ACCT_STR);
-#endif // CONFIG_NEW_MULTISYMBOL
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->skip_mode[ctx][skip_mode];
@@ -674,12 +628,8 @@
return 1;
} else {
const int ctx = av1_get_skip_context(xd);
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
const int skip = aom_read_symbol(r, ec_ctx->skip_cdfs[ctx], 2, ACCT_STR);
-#else
- const int skip = aom_read(r, cm->fc->skip_probs[ctx], ACCT_STR);
-#endif
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->skip[ctx][skip];
return skip;
@@ -818,17 +768,10 @@
palette_y_mode_ctx +=
(left_mi->mbmi.palette_mode_info.palette_size[0] > 0);
}
-#if CONFIG_NEW_MULTISYMBOL
modev = aom_read_symbol(
r,
xd->tile_ctx->palette_y_mode_cdf[block_palette_idx][palette_y_mode_ctx],
2, ACCT_STR);
-#else
- modev = aom_read(
- r,
- av1_default_palette_y_mode_prob[block_palette_idx][palette_y_mode_ctx],
- ACCT_STR);
-#endif
if (modev) {
pmi->palette_size[0] =
aom_read_symbol(r,
@@ -845,13 +788,8 @@
}
if (mbmi->uv_mode == UV_DC_PRED) {
const int palette_uv_mode_ctx = (pmi->palette_size[0] > 0);
-#if CONFIG_NEW_MULTISYMBOL
modev = aom_read_symbol(
r, xd->tile_ctx->palette_uv_mode_cdf[palette_uv_mode_ctx], 2, ACCT_STR);
-#else
- modev = aom_read(r, av1_default_palette_uv_mode_prob[palette_uv_mode_ctx],
- ACCT_STR);
-#endif
if (modev) {
pmi->palette_size[1] =
aom_read_symbol(r,
@@ -1241,33 +1179,21 @@
#endif // CONFIG_INTRABC || CONFIG_AMVR
int usehp) {
int mag, d, fr, hp;
-#if CONFIG_NEW_MULTISYMBOL
const int sign = aom_read_symbol(r, mvcomp->sign_cdf, 2, ACCT_STR);
-#else
- const int sign = aom_read(r, mvcomp->sign, ACCT_STR);
-#endif
const int mv_class =
aom_read_symbol(r, mvcomp->classes_cdf, MV_CLASSES, ACCT_STR);
const int class0 = mv_class == MV_CLASS_0;
// Integer part
if (class0) {
-#if CONFIG_NEW_MULTISYMBOL
d = aom_read_symbol(r, mvcomp->class0_cdf, CLASS0_SIZE, ACCT_STR);
-#else
- d = aom_read(r, mvcomp->class0[0], ACCT_STR);
-#endif
mag = 0;
} else {
int i;
const int n = mv_class + CLASS0_BITS - 1; // number of bits
d = 0;
-#if CONFIG_NEW_MULTISYMBOL
for (i = 0; i < n; ++i)
d |= aom_read_symbol(r, mvcomp->bits_cdf[i], 2, ACCT_STR) << i;
-#else
- for (i = 0; i < n; ++i) d |= aom_read(r, mvcomp->bits[i], ACCT_STR) << i;
-#endif
mag = CLASS0_SIZE << (mv_class + 2);
}
@@ -1278,16 +1204,11 @@
fr = aom_read_symbol(r, class0 ? mvcomp->class0_fp_cdf[d] : mvcomp->fp_cdf,
MV_FP_SIZE, ACCT_STR);
-// High precision part (if hp is not used, the default value of the hp is 1)
-#if CONFIG_NEW_MULTISYMBOL
+ // High precision part (if hp is not used, the default value of the hp is 1)
hp = usehp ? aom_read_symbol(
r, class0 ? mvcomp->class0_hp_cdf : mvcomp->hp_cdf, 2,
ACCT_STR)
: 1;
-#else
- hp = usehp ? aom_read(r, class0 ? mvcomp->class0_hp : mvcomp->hp, ACCT_STR)
- : 1;
-#endif
#if CONFIG_INTRABC || CONFIG_AMVR
} else {
fr = 3;
@@ -1334,13 +1255,8 @@
if (!is_comp_ref_allowed(xd->mi[0]->mbmi.sb_type)) return SINGLE_REFERENCE;
if (cm->reference_mode == REFERENCE_MODE_SELECT) {
const int ctx = av1_get_reference_mode_context(cm, xd);
-#if CONFIG_NEW_MULTISYMBOL
const REFERENCE_MODE mode = (REFERENCE_MODE)aom_read_symbol(
r, xd->tile_ctx->comp_inter_cdf[ctx], 2, ACCT_STR);
-#else
- const REFERENCE_MODE mode =
- (REFERENCE_MODE)aom_read(r, cm->fc->comp_inter_prob[ctx], ACCT_STR);
-#endif
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->comp_inter[ctx][mode];
return mode; // SINGLE_REFERENCE or COMPOUND_REFERENCE
@@ -1356,27 +1272,18 @@
if (cm->reference_mode == REFERENCE_MODE_SELECT) {
assert(mode == SINGLE_REFERENCE || mode == COMPOUND_REFERENCE);
const int ctx = av1_get_reference_mode_context(cm, xd);
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(xd->tile_ctx->comp_inter_cdf[ctx], mode, 2);
-#endif // CONFIG_NEW_MULTISYMBOL
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->comp_inter[ctx][mode];
}
}
#endif // CONFIG_EXT_SKIP
-#if CONFIG_NEW_MULTISYMBOL
#define READ_REF_BIT(pname) \
aom_read_symbol(r, av1_get_pred_cdf_##pname(cm, xd), 2, ACCT_STR)
#define READ_REF_BIT2(pname) \
aom_read_symbol(r, av1_get_pred_cdf_##pname(xd), 2, ACCT_STR)
-#else
-#define READ_REF_BIT(pname) \
- aom_read(r, av1_get_pred_prob_##pname(cm, xd), ACCT_STR)
-#define READ_REF_BIT2(pname) \
- aom_read(r, av1_get_pred_prob_##pname(cm, xd), ACCT_STR)
-#endif
#if CONFIG_EXT_COMP_REFS
static COMP_REFERENCE_TYPE read_comp_reference_type(AV1_COMMON *cm,
@@ -1384,14 +1291,9 @@
aom_reader *r) {
const int ctx = av1_get_comp_reference_type_context(xd);
COMP_REFERENCE_TYPE comp_ref_type;
-#if CONFIG_NEW_MULTISYMBOL
(void)cm;
comp_ref_type = (COMP_REFERENCE_TYPE)aom_read_symbol(
r, xd->tile_ctx->comp_ref_type_cdf[ctx], 2, ACCT_STR);
-#else
- comp_ref_type = (COMP_REFERENCE_TYPE)aom_read(
- r, cm->fc->comp_ref_type_prob[ctx], ACCT_STR);
-#endif
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->comp_ref_type[ctx][comp_ref_type];
return comp_ref_type; // UNIDIR_COMP_REFERENCE or BIDIR_COMP_REFERENCE
@@ -1407,10 +1309,8 @@
comp_ref_type == BIDIR_COMP_REFERENCE);
(void)cm;
const int ctx = av1_get_comp_reference_type_context(xd);
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(xd->tile_ctx->comp_ref_type_cdf[ctx], comp_ref_type, 2);
-#endif // CONFIG_NEW_MULTISYMBOL
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->comp_ref_type[ctx][comp_ref_type];
}
@@ -1434,17 +1334,11 @@
#endif // CONFIG_EXT_COMP_REFS
// Update stats for both forward and backward references
-#if CONFIG_NEW_MULTISYMBOL
#define UPDATE_REF_BIT(bname, pname, cname, iname) \
if (allow_update_cdf) \
update_cdf(av1_get_pred_cdf_##pname(cm, xd), bname, 2); \
if (counts) \
++counts->comp_##cname[av1_get_pred_context_##pname(cm, xd)][iname][bname];
-#else
-#define UPDATE_REF_BIT(bname, pname, cname, iname) \
- if (counts) \
- ++counts->comp_##cname[av1_get_pred_context_##pname(cm, xd)][iname][bname];
-#endif // CONFIG_NEW_MULTISYMBOL
FRAME_COUNTS *counts = xd->counts;
@@ -1915,13 +1809,9 @@
return get_segdata(&cm->seg, segment_id, SEG_LVL_REF_FRAME) != INTRA_FRAME;
} else {
const int ctx = av1_get_intra_inter_context(xd);
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
const int is_inter =
aom_read_symbol(r, ec_ctx->intra_inter_cdf[ctx], 2, ACCT_STR);
-#else
- const int is_inter = aom_read(r, cm->fc->intra_inter_prob[ctx], ACCT_STR);
-#endif
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->intra_inter[ctx][is_inter];
return is_inter;
@@ -1935,10 +1825,8 @@
uint8_t allow_update_cdf) {
if (!segfeature_active(&cm->seg, segment_id, SEG_LVL_REF_FRAME)) {
const int ctx = av1_get_intra_inter_context(xd);
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
if (allow_update_cdf) update_cdf(ec_ctx->intra_inter_cdf[ctx], is_inter, 2);
-#endif // CONFIG_NEW_MULTISYMBOL
FRAME_COUNTS *counts = xd->counts;
if (counts) ++counts->intra_inter[ctx][is_inter];
}
@@ -2025,13 +1913,8 @@
#if CONFIG_JNT_COMP
if (is_compound) {
const int comp_index_ctx = get_comp_index_context(cm, xd);
-#if CONFIG_NEW_MULTISYMBOL
mbmi->compound_idx = aom_read_symbol(
r, ec_ctx->compound_index_cdf[comp_index_ctx], 2, ACCT_STR);
-#else
- mbmi->compound_idx =
- aom_read(r, ec_ctx->compound_index_probs[comp_index_ctx], ACCT_STR);
-#endif // CONFIG_NEW_MULTISYMBOL
if (xd->counts)
++xd->counts->compound_index[comp_index_ctx][mbmi->compound_idx];
}
@@ -2254,13 +2137,8 @@
if (cm->reference_mode != COMPOUND_REFERENCE &&
cm->allow_interintra_compound && is_interintra_allowed(mbmi)) {
const int bsize_group = size_group_lookup[bsize];
-#if CONFIG_NEW_MULTISYMBOL
const int interintra =
aom_read_symbol(r, ec_ctx->interintra_cdf[bsize_group], 2, ACCT_STR);
-#else
- const int interintra =
- aom_read(r, cm->fc->interintra_prob[bsize_group], ACCT_STR);
-#endif
if (xd->counts) xd->counts->interintra[bsize_group][interintra]++;
assert(mbmi->ref_frame[1] == NONE_FRAME);
if (interintra) {
@@ -2277,13 +2155,8 @@
mbmi->filter_intra_mode_info.use_filter_intra_mode[1] = 0;
#endif // CONFIG_FILTER_INTRA
if (is_interintra_wedge_used(bsize)) {
-#if CONFIG_NEW_MULTISYMBOL
mbmi->use_wedge_interintra = aom_read_symbol(
r, ec_ctx->wedge_interintra_cdf[bsize], 2, ACCT_STR);
-#else
- mbmi->use_wedge_interintra =
- aom_read(r, cm->fc->wedge_interintra_prob[bsize], ACCT_STR);
-#endif
if (xd->counts)
xd->counts->wedge_interintra[bsize][mbmi->use_wedge_interintra]++;
if (mbmi->use_wedge_interintra) {
diff --git a/av1/decoder/detokenize.c b/av1/decoder/detokenize.c
index f3482d0..d8635a5 100644
--- a/av1/decoder/detokenize.c
+++ b/av1/decoder/detokenize.c
@@ -39,7 +39,6 @@
if (counts) ++coef_counts[band][ctx][token]; \
} while (0)
-#if CONFIG_NEW_MULTISYMBOL
#define READ_COEFF(counts, prob_name, cdf_name, num, r) \
read_coeff(counts, cdf_name, num, r);
static INLINE int read_coeff(FRAME_COUNTS *counts,
@@ -59,21 +58,6 @@
}
return val;
}
-#else
-#define READ_COEFF(counts, prob_name, cdf_name, num, r) \
- read_coeff(counts, prob_name, num, r);
-static INLINE int read_coeff(FRAME_COUNTS *counts, const aom_prob *probs, int n,
- aom_reader *r) {
-#if !CONFIG_SYMBOLRATE
- (void)counts;
-#endif
- int i, val = 0;
- for (i = 0; i < n; ++i)
- val = (val << 1) | av1_read_record(counts, r, probs[i], ACCT_STR);
- return val;
-}
-
-#endif
static int token_to_value(FRAME_COUNTS *counts, aom_reader *const r, int token,
TX_SIZE tx_size, int bit_depth) {
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 825abc5..2644452 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -113,11 +113,7 @@
FRAME_CONTEXT *ec_ctx, const int16_t mode_ctx) {
const int16_t newmv_ctx = mode_ctx & NEWMV_CTX_MASK;
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, mode != NEWMV, ec_ctx->newmv_cdf[newmv_ctx], 2);
-#else
- aom_write(w, mode != NEWMV, ec_ctx->newmv_prob[newmv_ctx]);
-#endif
if (mode != NEWMV) {
if (mode_ctx & (1 << ALL_ZERO_FLAG_OFFSET)) {
@@ -127,11 +123,7 @@
const int16_t zeromv_ctx =
(mode_ctx >> GLOBALMV_OFFSET) & GLOBALMV_CTX_MASK;
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, mode != GLOBALMV, ec_ctx->zeromv_cdf[zeromv_ctx], 2);
-#else
- aom_write(w, mode != GLOBALMV, ec_ctx->zeromv_prob[zeromv_ctx]);
-#endif
if (mode != GLOBALMV) {
int16_t refmv_ctx = (mode_ctx >> REFMV_OFFSET) & REFMV_CTX_MASK;
@@ -139,11 +131,7 @@
if (mode_ctx & (1 << SKIP_NEARESTMV_OFFSET)) refmv_ctx = 6;
if (mode_ctx & (1 << SKIP_NEARMV_OFFSET)) refmv_ctx = 7;
if (mode_ctx & (1 << SKIP_NEARESTMV_SUB8X8_OFFSET)) refmv_ctx = 8;
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, mode != NEARESTMV, ec_ctx->refmv_cdf[refmv_ctx], 2);
-#else
- aom_write(w, mode != NEARESTMV, ec_ctx->refmv_prob[refmv_ctx]);
-#endif
}
}
}
@@ -162,12 +150,8 @@
uint8_t drl_ctx =
av1_drl_ctx(mbmi_ext->ref_mv_stack[ref_frame_type], idx);
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, mbmi->ref_mv_idx != idx, ec_ctx->drl_cdf[drl_ctx],
2);
-#else
- aom_write(w, mbmi->ref_mv_idx != idx, ec_ctx->drl_prob[drl_ctx]);
-#endif
if (mbmi->ref_mv_idx == idx) return;
}
}
@@ -181,12 +165,8 @@
if (mbmi_ext->ref_mv_count[ref_frame_type] > idx + 1) {
uint8_t drl_ctx =
av1_drl_ctx(mbmi_ext->ref_mv_stack[ref_frame_type], idx);
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, mbmi->ref_mv_idx != (idx - 1),
ec_ctx->drl_cdf[drl_ctx], 2);
-#else
- aom_write(w, mbmi->ref_mv_idx != (idx - 1), ec_ctx->drl_prob[drl_ctx]);
-#endif
if (mbmi->ref_mv_idx == (idx - 1)) return;
}
}
@@ -213,10 +193,8 @@
const MB_MODE_INFO *mbmi, TX_SIZE tx_size,
int depth, int blk_row, int blk_col,
aom_writer *w) {
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
(void)cm;
-#endif
const int tx_row = blk_row >> 1;
const int tx_col = blk_col >> 1;
const int max_blocks_high = max_block_high(xd, mbmi->sb_type, 0);
@@ -237,11 +215,7 @@
const int write_txfm_partition =
tx_size == mbmi->inter_tx_size[tx_row][tx_col];
if (write_txfm_partition) {
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, 0, ec_ctx->txfm_partition_cdf[ctx], 2);
-#else
- aom_write(w, 0, cm->fc->txfm_partition_prob[ctx]);
-#endif
txfm_partition_update(xd->above_txfm_context + blk_col,
xd->left_txfm_context + blk_row, tx_size, tx_size);
@@ -251,11 +225,7 @@
const int bsw = tx_size_wide_unit[sub_txs];
const int bsh = tx_size_high_unit[sub_txs];
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, 1, ec_ctx->txfm_partition_cdf[ctx], 2);
-#else
- aom_write(w, 1, cm->fc->txfm_partition_prob[ctx]);
-#endif
if (sub_txs == TX_4X4) {
txfm_partition_update(xd->above_txfm_context + blk_col,
@@ -274,16 +244,6 @@
}
}
-#if !CONFIG_NEW_MULTISYMBOL
-static void update_txfm_partition_probs(AV1_COMMON *cm, aom_writer *w,
- FRAME_COUNTS *counts, int probwt) {
- int k;
- for (k = 0; k < TXFM_PARTITION_CONTEXTS; ++k)
- av1_cond_prob_diff_update(w, &cm->fc->txfm_partition_prob[k],
- counts->txfm_partition[k], probwt);
-}
-#endif // CONFIG_NEW_MULTISYMBOL
-
static void write_selected_tx_size(const AV1_COMMON *cm, const MACROBLOCKD *xd,
aom_writer *w) {
const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
@@ -309,26 +269,6 @@
}
}
-#if !CONFIG_NEW_MULTISYMBOL
-static void update_inter_mode_probs(AV1_COMMON *cm, aom_writer *w,
- FRAME_COUNTS *counts) {
- int i;
- const int probwt = cm->num_tg;
- for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i)
- av1_cond_prob_diff_update(w, &cm->fc->newmv_prob[i], counts->newmv_mode[i],
- probwt);
- for (i = 0; i < GLOBALMV_MODE_CONTEXTS; ++i)
- av1_cond_prob_diff_update(w, &cm->fc->zeromv_prob[i],
- counts->zeromv_mode[i], probwt);
- for (i = 0; i < REFMV_MODE_CONTEXTS; ++i)
- av1_cond_prob_diff_update(w, &cm->fc->refmv_prob[i], counts->refmv_mode[i],
- probwt);
- for (i = 0; i < DRL_MODE_CONTEXTS; ++i)
- av1_cond_prob_diff_update(w, &cm->fc->drl_prob[i], counts->drl_mode[i],
- probwt);
-}
-#endif
-
static int write_skip(const AV1_COMMON *cm, const MACROBLOCKD *xd,
int segment_id, const MODE_INFO *mi, aom_writer *w) {
if (segfeature_active(&cm->seg, segment_id, SEG_LVL_SKIP)) {
@@ -336,12 +276,8 @@
} else {
const int skip = mi->mbmi.skip;
const int ctx = av1_get_skip_context(xd);
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
aom_write_symbol(w, skip, ec_ctx->skip_cdfs[ctx], 2);
-#else
- aom_write(w, skip, cm->fc->skip_probs[ctx]);
-#endif
return skip;
}
}
@@ -350,12 +286,8 @@
int segment_id, aom_writer *w, const int is_inter) {
if (!segfeature_active(&cm->seg, segment_id, SEG_LVL_REF_FRAME)) {
const int ctx = av1_get_intra_inter_context(xd);
-#if CONFIG_NEW_MULTISYMBOL
FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
aom_write_symbol(w, is_inter, ec_ctx->intra_inter_cdf[ctx], 2);
-#else
- aom_write(w, is_inter, cm->fc->intra_inter_prob[ctx]);
-#endif
}
}
@@ -368,13 +300,8 @@
switch (last_motion_mode_allowed) {
case SIMPLE_TRANSLATION: break;
case OBMC_CAUSAL:
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, mbmi->motion_mode == OBMC_CAUSAL,
xd->tile_ctx->obmc_cdf[mbmi->sb_type], 2);
-#else
- aom_write(w, mbmi->motion_mode == OBMC_CAUSAL,
- cm->fc->obmc_prob[mbmi->sb_type]);
-#endif
break;
default:
aom_write_symbol(w, mbmi->motion_mode,
@@ -445,18 +372,6 @@
}
#endif // CONFIG_EXT_DELTA_Q
-#if !CONFIG_NEW_MULTISYMBOL
-static void update_skip_probs(AV1_COMMON *cm, aom_writer *w,
- FRAME_COUNTS *counts) {
- int k;
- const int probwt = cm->num_tg;
- for (k = 0; k < SKIP_CONTEXTS; ++k) {
- av1_cond_prob_diff_update(w, &cm->fc->skip_probs[k], counts->skip[k],
- probwt);
- }
-}
-#endif
-
static void pack_map_tokens(aom_writer *w, const TOKENEXTRA **tp, int n,
int num) {
const TOKENEXTRA *p = *tp;
@@ -471,7 +386,6 @@
}
#if !CONFIG_LV_MAP
-#if CONFIG_NEW_MULTISYMBOL
static INLINE void write_coeff_extra(const aom_cdf_prob *const *cdf, int val,
int n, aom_writer *w) {
// Code the extra bits from LSB to MSB in groups of 4
@@ -485,19 +399,6 @@
count += size;
}
}
-#else
-static INLINE void write_coeff_extra(const aom_prob *pb, int value,
- int num_bits, int skip_bits, aom_writer *w,
- TOKEN_STATS *token_stats) {
- // Code the extra bits from MSB to LSB 1 bit at a time
- int index;
- for (index = skip_bits; index < num_bits; ++index) {
- const int shift = num_bits - index - 1;
- const int bb = (value >> shift) & 1;
- aom_write_record(w, bb, pb[index], token_stats);
- }
-}
-#endif // CONFIG_NEW_MULTISYMBOL
static void pack_mb_tokens(aom_writer *w, const TOKENEXTRA **tp,
const TOKENEXTRA *const stop,
@@ -556,13 +457,8 @@
assert(!(bit_string >> (bit_string_length - skip_bits + 1)));
if (bit_string_length > 0)
-#if CONFIG_NEW_MULTISYMBOL
write_coeff_extra(extra_bits->cdf, bit_string >> 1,
bit_string_length - skip_bits, w);
-#else
- write_coeff_extra(extra_bits->prob, bit_string >> 1, bit_string_length,
- skip_bits, w, token_stats);
-#endif
aom_write_bit_record(w, bit_string & 1, token_stats);
}
@@ -756,13 +652,8 @@
int coded_id = neg_interleave(mbmi->q_segment_id, pred, seg->q_lvls);
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob *pred_cdf = segp->q_seg_cdf[cdf_num];
aom_write_symbol(w, coded_id, pred_cdf, 8);
-#else
- aom_prob pred_cdf = segp->q_seg_cdf[cdf_num];
- aom_write(w, coded_id, pred_prob);
-#endif
set_q_segment_id(cm, cm->q_seg_map, bsize, mi_row, mi_col,
mbmi->q_segment_id);
@@ -776,17 +667,10 @@
}
}
-#if CONFIG_NEW_MULTISYMBOL
#define WRITE_REF_BIT(bname, pname) \
aom_write_symbol(w, bname, av1_get_pred_cdf_##pname(cm, xd), 2)
#define WRITE_REF_BIT2(bname, pname) \
aom_write_symbol(w, bname, av1_get_pred_cdf_##pname(xd), 2)
-#else
-#define WRITE_REF_BIT(bname, pname) \
- aom_write(w, bname, av1_get_pred_prob_##pname(cm, xd))
-#define WRITE_REF_BIT2(bname, pname) \
- aom_write(w, bname, av1_get_pred_prob_##pname(cm, xd))
-#endif
// This function encodes the reference frame
static void write_ref_frames(const AV1_COMMON *cm, const MACROBLOCKD *xd,
@@ -816,11 +700,7 @@
// (if not specified at the frame/segment level)
if (cm->reference_mode == REFERENCE_MODE_SELECT) {
if (is_comp_ref_allowed(mbmi->sb_type))
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, is_compound, av1_get_reference_mode_cdf(cm, xd), 2);
-#else
- aom_write(w, is_compound, av1_get_reference_mode_prob(cm, xd));
-#endif // CONFIG_NEW_MULTISYMBOL
} else {
assert((!is_compound) == (cm->reference_mode == SINGLE_REFERENCE));
}
@@ -830,12 +710,8 @@
const COMP_REFERENCE_TYPE comp_ref_type = has_uni_comp_refs(mbmi)
? UNIDIR_COMP_REFERENCE
: BIDIR_COMP_REFERENCE;
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, comp_ref_type, av1_get_comp_reference_type_cdf(xd),
2);
-#else
- aom_write(w, comp_ref_type, av1_get_comp_reference_type_prob(cm, xd));
-#endif
if (comp_ref_type == UNIDIR_COMP_REFERENCE) {
const int bit = mbmi->ref_frame[0] == BWDREF_FRAME;
@@ -1141,16 +1017,10 @@
palette_y_mode_ctx +=
(left_mi->mbmi.palette_mode_info.palette_size[0] > 0);
}
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(
w, n > 0,
xd->tile_ctx->palette_y_mode_cdf[block_palette_idx][palette_y_mode_ctx],
2);
-#else
- aom_write(
- w, n > 0,
- av1_default_palette_y_mode_prob[block_palette_idx][palette_y_mode_ctx]);
-#endif
if (n > 0) {
aom_write_symbol(w, n - PALETTE_MIN_SIZE,
xd->tile_ctx->palette_y_size_cdf[block_palette_idx],
@@ -1174,12 +1044,8 @@
if (uv_dc_pred) {
const int n = pmi->palette_size[1];
const int palette_uv_mode_ctx = (pmi->palette_size[0] > 0);
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, n > 0,
xd->tile_ctx->palette_uv_mode_cdf[palette_uv_mode_ctx], 2);
-#else
- aom_write(w, n > 0, av1_default_palette_uv_mode_prob[palette_uv_mode_ctx]);
-#endif
if (n > 0) {
aom_write_symbol(w, n - PALETTE_MIN_SIZE,
xd->tile_ctx->palette_uv_size_cdf[block_palette_idx],
@@ -1333,13 +1199,8 @@
if (seg->update_map) {
if (seg->temporal_update) {
const int pred_flag = mbmi->seg_id_predicted;
-#if CONFIG_NEW_MULTISYMBOL
aom_cdf_prob *pred_cdf = av1_get_pred_cdf_seg_id(segp, xd);
aom_write_symbol(w, pred_flag, pred_cdf, 2);
-#else
- aom_prob pred_prob = av1_get_pred_prob_seg_id(segp, xd);
- aom_write(w, pred_flag, pred_prob);
-#endif
if (!pred_flag) write_segment_id(w, seg, segp, segment_id);
} else {
write_segment_id(w, seg, segp, segment_id);
@@ -1439,19 +1300,11 @@
write_ref_frames(cm, xd, w);
#if CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
if (has_second_ref(mbmi)) {
const int comp_index_ctx = get_comp_index_context(cm, xd);
aom_write_symbol(w, mbmi->compound_idx,
ec_ctx->compound_index_cdf[comp_index_ctx], 2);
}
-#else
- if (has_second_ref(mbmi)) {
- const int comp_index_ctx = get_comp_index_context(cm, xd);
- aom_write(w, mbmi->compound_idx,
- ec_ctx->compound_index_probs[comp_index_ctx]);
- }
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_JNT_COMP
if (is_compound)
@@ -1510,23 +1363,14 @@
cpi->common.allow_interintra_compound && is_interintra_allowed(mbmi)) {
const int interintra = mbmi->ref_frame[1] == INTRA_FRAME;
const int bsize_group = size_group_lookup[bsize];
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, interintra, ec_ctx->interintra_cdf[bsize_group], 2);
-#else
- aom_write(w, interintra, cm->fc->interintra_prob[bsize_group]);
-#endif
if (interintra) {
aom_write_symbol(w, mbmi->interintra_mode,
ec_ctx->interintra_mode_cdf[bsize_group],
INTERINTRA_MODES);
if (is_interintra_wedge_used(bsize)) {
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, mbmi->use_wedge_interintra,
ec_ctx->wedge_interintra_cdf[bsize], 2);
-#else
- aom_write(w, mbmi->use_wedge_interintra,
- cm->fc->wedge_interintra_prob[bsize]);
-#endif
if (mbmi->use_wedge_interintra) {
aom_write_literal(w, mbmi->interintra_wedge_index,
get_wedge_bits_lookup(bsize));
@@ -2564,22 +2408,14 @@
default: assert(unit_rtype == RESTORE_NONE); break;
}
} else if (frame_rtype == RESTORE_WIENER) {
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, unit_rtype != RESTORE_NONE,
xd->tile_ctx->wiener_restore_cdf, 2);
-#else
- aom_write(w, unit_rtype != RESTORE_NONE, RESTORE_NONE_WIENER_PROB);
-#endif // CONFIG_NEW_MULTISYMBOL
if (unit_rtype != RESTORE_NONE) {
write_wiener_filter(wiener_win, &rui->wiener_info, wiener_info, w);
}
} else if (frame_rtype == RESTORE_SGRPROJ) {
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, unit_rtype != RESTORE_NONE,
xd->tile_ctx->sgrproj_restore_cdf, 2);
-#else
- aom_write(w, unit_rtype != RESTORE_NONE, RESTORE_NONE_SGRPROJ_PROB);
-#endif // CONFIG_NEW_MULTISYMBOL
if (unit_rtype != RESTORE_NONE) {
write_sgrproj_filter(&rui->sgrproj_info, sgrproj_info, w);
}
@@ -4377,10 +4213,6 @@
FRAME_CONTEXT *const fc = cm->fc;
aom_writer *header_bc;
-#if !CONFIG_NEW_MULTISYMBOL
- FRAME_COUNTS *counts = cpi->td.counts;
-#endif
-
const int probwt = cm->num_tg;
(void)probwt;
(void)fc;
@@ -4392,100 +4224,10 @@
#endif
aom_start_encode(header_bc, data);
-#if !CONFIG_NEW_MULTISYMBOL
- if (cm->tx_mode == TX_MODE_SELECT)
- update_txfm_partition_probs(cm, header_bc, counts, probwt);
-#endif
-
-#if !CONFIG_NEW_MULTISYMBOL
- update_skip_probs(cm, header_bc, counts);
-#if CONFIG_JNT_COMP
- for (int k = 0; k < COMP_INDEX_CONTEXTS; ++k)
- av1_cond_prob_diff_update(header_bc, &cm->fc->compound_index_probs[k],
- counts->compound_index[k], probwt);
-#endif // CONFIG_JNT_COMP
-#endif
-
if (!frame_is_intra_only(cm)) {
-#if !CONFIG_NEW_MULTISYMBOL
- update_inter_mode_probs(cm, header_bc, counts);
-#endif
if (cm->reference_mode != COMPOUND_REFERENCE &&
cm->allow_interintra_compound) {
-#if !CONFIG_NEW_MULTISYMBOL
- for (int i = 0; i < BLOCK_SIZE_GROUPS; i++) {
- if (is_interintra_allowed_bsize_group(i)) {
- av1_cond_prob_diff_update(header_bc, &fc->interintra_prob[i],
- cm->counts.interintra[i], probwt);
- }
- }
-#endif
-#if !CONFIG_NEW_MULTISYMBOL
-#if CONFIG_EXT_PARTITION_TYPES
- int block_sizes_to_update = BLOCK_SIZES_ALL;
-#else
- int block_sizes_to_update = BLOCK_SIZES;
-#endif
- for (int i = 0; i < block_sizes_to_update; i++) {
- if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i))
- av1_cond_prob_diff_update(header_bc, &fc->wedge_interintra_prob[i],
- cm->counts.wedge_interintra[i], probwt);
- }
-#endif // !CONFIG_NEW_MULTISYMBOL
}
-
-#if !CONFIG_NEW_MULTISYMBOL
- for (int i = 0; i < INTRA_INTER_CONTEXTS; i++)
- av1_cond_prob_diff_update(header_bc, &fc->intra_inter_prob[i],
- counts->intra_inter[i], probwt);
-#endif
-
-#if !CONFIG_NEW_MULTISYMBOL
- if (cpi->allow_comp_inter_inter) {
- const int use_hybrid_pred = cm->reference_mode == REFERENCE_MODE_SELECT;
- if (use_hybrid_pred)
- for (int i = 0; i < COMP_INTER_CONTEXTS; i++)
- av1_cond_prob_diff_update(header_bc, &fc->comp_inter_prob[i],
- counts->comp_inter[i], probwt);
- }
-
- if (cm->reference_mode != COMPOUND_REFERENCE) {
- for (int i = 0; i < REF_CONTEXTS; i++) {
- for (int j = 0; j < (SINGLE_REFS - 1); j++) {
- av1_cond_prob_diff_update(header_bc, &fc->single_ref_prob[i][j],
- counts->single_ref[i][j], probwt);
- }
- }
- }
-
- if (cm->reference_mode != SINGLE_REFERENCE) {
-#if CONFIG_EXT_COMP_REFS
- for (int i = 0; i < COMP_REF_TYPE_CONTEXTS; i++)
- av1_cond_prob_diff_update(header_bc, &fc->comp_ref_type_prob[i],
- counts->comp_ref_type[i], probwt);
-
- for (int i = 0; i < UNI_COMP_REF_CONTEXTS; i++)
- for (int j = 0; j < (UNIDIR_COMP_REFS - 1); j++)
- av1_cond_prob_diff_update(header_bc, &fc->uni_comp_ref_prob[i][j],
- counts->uni_comp_ref[i][j], probwt);
-#endif // CONFIG_EXT_COMP_REFS
-
- for (int i = 0; i < REF_CONTEXTS; i++) {
- for (int j = 0; j < (FWD_REFS - 1); j++) {
- av1_cond_prob_diff_update(header_bc, &fc->comp_ref_prob[i][j],
- counts->comp_ref[i][j], probwt);
- }
- for (int j = 0; j < (BWD_REFS - 1); j++) {
- av1_cond_prob_diff_update(header_bc, &fc->comp_bwdref_prob[i][j],
- counts->comp_bwdref[i][j], probwt);
- }
- }
- }
-#endif // CONFIG_NEW_MULTISYMBOL
-
-#if !CONFIG_NEW_MULTISYMBOL
- av1_write_nmv_probs(cm, cm->allow_high_precision_mv, header_bc, counts->mv);
-#endif
}
aom_stop_encode(header_bc);
assert(header_bc->pos <= 0xffff);
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 2cde80a..5456b8b 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -644,12 +644,6 @@
av1_copy_frame_mvs(cm, mi, mi_row, mi_col, x_mis, y_mis);
#if CONFIG_JNT_COMP
-#if !CONFIG_NEW_MULTISYMBOL
- if (has_second_ref(mbmi)) {
- const int comp_index_ctx = get_comp_index_context(cm, xd);
- ++td->counts->compound_index[comp_index_ctx][mbmi->compound_idx];
- }
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_JNT_COMP
}
@@ -1030,9 +1024,7 @@
if (!seg_ref_active) {
const int skip_ctx = av1_get_skip_context(xd);
td->counts->skip[skip_ctx][mbmi->skip]++;
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf) update_cdf(fc->skip_cdfs[skip_ctx], mbmi->skip, 2);
-#endif // CONFIG_NEW_MULTISYMBOL
}
if (cm->delta_q_present_flag && (bsize != cm->sb_size || !mbmi->skip) &&
@@ -1095,11 +1087,9 @@
const int inter_block = is_inter_block(mbmi);
if (!seg_ref_active) {
counts->intra_inter[av1_get_intra_inter_context(xd)][inter_block]++;
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(fc->intra_inter_cdf[av1_get_intra_inter_context(xd)],
inter_block, 2);
-#endif
// If the segment reference feature is enabled we have only a single
// reference frame allowed for the segment so exclude it from
// the reference frame counts used to work out probabilities.
@@ -1117,11 +1107,9 @@
if (is_comp_ref_allowed(mbmi->sb_type)) {
counts->comp_inter[av1_get_reference_mode_context(cm, xd)]
[has_second_ref(mbmi)]++;
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(av1_get_reference_mode_cdf(cm, xd),
has_second_ref(mbmi), 2);
-#endif // CONFIG_NEW_MULTISYMBOL
}
}
@@ -1197,28 +1185,22 @@
const int bsize_group = size_group_lookup[bsize];
if (mbmi->ref_frame[1] == INTRA_FRAME) {
counts->interintra[bsize_group][1]++;
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(fc->interintra_cdf[bsize_group], 1, 2);
-#endif
counts->interintra_mode[bsize_group][mbmi->interintra_mode]++;
if (allow_update_cdf)
update_cdf(fc->interintra_mode_cdf[bsize_group],
mbmi->interintra_mode, INTERINTRA_MODES);
if (is_interintra_wedge_used(bsize)) {
counts->wedge_interintra[bsize][mbmi->use_wedge_interintra]++;
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(fc->wedge_interintra_cdf[bsize],
mbmi->use_wedge_interintra, 2);
-#endif
}
} else {
counts->interintra[bsize_group][0]++;
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(fc->interintra_cdf[bsize_group], 0, 2);
-#endif
}
}
@@ -1233,11 +1215,9 @@
MOTION_MODES);
} else if (motion_allowed == OBMC_CAUSAL) {
counts->obmc[mbmi->sb_type][mbmi->motion_mode == OBMC_CAUSAL]++;
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(fc->obmc_cdf[mbmi->sb_type],
mbmi->motion_mode == OBMC_CAUSAL, 2);
-#endif
}
}
@@ -1304,14 +1284,12 @@
}
#if CONFIG_JNT_COMP
-#if CONFIG_NEW_MULTISYMBOL
if (has_second_ref(mbmi)) {
const int comp_index_ctx = get_comp_index_context(cm, xd);
++counts->compound_index[comp_index_ctx][mbmi->compound_idx];
update_cdf(fc->compound_index_cdf[comp_index_ctx], mbmi->compound_idx,
2);
}
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_JNT_COMP
}
}
@@ -4499,7 +4477,6 @@
update_cdf(fc->uv_mode_cdf[y_mode], uv_mode, UV_INTRA_MODES);
}
-#if CONFIG_NEW_MULTISYMBOL
// TODO(anybody) We can add stats accumulation here to train entropy models for
// palette modes
static void update_palette_cdf(MACROBLOCKD *xd, const MODE_INFO *mi) {
@@ -4534,7 +4511,6 @@
update_cdf(fc->palette_uv_mode_cdf[palette_uv_mode_ctx], n > 0, 2);
}
}
-#endif
static void update_txfm_count(MACROBLOCK *x, MACROBLOCKD *xd,
FRAME_COUNTS *counts, TX_SIZE tx_size, int depth,
@@ -4563,10 +4539,8 @@
if (tx_size == plane_tx_size) {
++counts->txfm_partition[ctx][0];
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(xd->tile_ctx->txfm_partition_cdf[ctx], 0, 2);
-#endif
mbmi->tx_size = tx_size;
txfm_partition_update(xd->above_txfm_context + blk_col,
xd->left_txfm_context + blk_row, tx_size, tx_size);
@@ -4576,10 +4550,8 @@
const int bsh = tx_size_high_unit[sub_txs];
++counts->txfm_partition[ctx][1];
-#if CONFIG_NEW_MULTISYMBOL
if (allow_update_cdf)
update_cdf(xd->tile_ctx->txfm_partition_cdf[ctx], 1, 2);
-#endif
++x->txb_split_count;
if (sub_txs == TX_4X4) {
@@ -4790,11 +4762,9 @@
sum_intra_stats(td->counts, xd, mi, xd->above_mi, xd->left_mi,
frame_is_intra_only(cm), mi_row, mi_col,
tile_data->allow_update_cdf);
-#if CONFIG_NEW_MULTISYMBOL
if (av1_allow_palette(cm->allow_screen_content_tools, bsize) &&
tile_data->allow_update_cdf)
update_palette_cdf(xd, mi);
-#endif
}
if (bsize >= BLOCK_8X8) {
diff --git a/av1/encoder/encodemv.c b/av1/encoder/encodemv.c
index 5adf317..f35aaf9 100644
--- a/av1/encoder/encodemv.c
+++ b/av1/encoder/encodemv.c
@@ -42,32 +42,20 @@
assert(comp != 0);
-// Sign
-#if CONFIG_NEW_MULTISYMBOL
+ // Sign
aom_write_symbol(w, sign, mvcomp->sign_cdf, 2);
-#else
- aom_write(w, sign, mvcomp->sign);
-#endif
// Class
aom_write_symbol(w, mv_class, mvcomp->classes_cdf, MV_CLASSES);
// Integer bits
if (mv_class == MV_CLASS_0) {
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(w, d, mvcomp->class0_cdf, CLASS0_SIZE);
-#else
- aom_write(w, d, mvcomp->class0[0]);
-#endif
} else {
int i;
const int n = mv_class + CLASS0_BITS - 1; // number of bits
-#if CONFIG_NEW_MULTISYMBOL
for (i = 0; i < n; ++i)
aom_write_symbol(w, (d >> i) & 1, mvcomp->bits_cdf[i], 2);
-#else
- for (i = 0; i < n; ++i) aom_write(w, (d >> i) & 1, mvcomp->bits[i]);
-#endif
}
// Fractional bits
#if CONFIG_INTRABC || CONFIG_AMVR
@@ -82,13 +70,9 @@
// High precision bit
if (precision > MV_SUBPEL_LOW_PRECISION)
-#if CONFIG_NEW_MULTISYMBOL
aom_write_symbol(
w, hp, mv_class == MV_CLASS_0 ? mvcomp->class0_hp_cdf : mvcomp->hp_cdf,
2);
-#else
- aom_write(w, hp, mv_class == MV_CLASS_0 ? mvcomp->class0_hp : mvcomp->hp);
-#endif
}
static void build_nmv_component_cost_table(int *mvcost,
@@ -100,25 +84,11 @@
int class0_fp_cost[CLASS0_SIZE][MV_FP_SIZE], fp_cost[MV_FP_SIZE];
int class0_hp_cost[2], hp_cost[2];
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(sign_cost, mvcomp->sign_cdf, NULL);
-#else
- sign_cost[0] = av1_cost_zero(mvcomp->sign);
- sign_cost[1] = av1_cost_one(mvcomp->sign);
-#endif // CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(class_cost, mvcomp->classes_cdf, NULL);
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(class0_cost, mvcomp->class0_cdf, NULL);
-#else
- av1_cost_tokens(class0_cost, mvcomp->class0, av1_mv_class0_tree);
-#endif // CONFIG_NEW_MULTISYMBOL
for (i = 0; i < MV_OFFSET_BITS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(bits_cost[i], mvcomp->bits_cdf[i], NULL);
-#else
- bits_cost[i][0] = av1_cost_zero(mvcomp->bits[i]);
- bits_cost[i][1] = av1_cost_one(mvcomp->bits[i]);
-#endif // CONFIG_NEW_MULTISYMBOL
}
for (i = 0; i < CLASS0_SIZE; ++i)
@@ -126,15 +96,8 @@
av1_cost_tokens_from_cdf(fp_cost, mvcomp->fp_cdf, NULL);
if (precision > MV_SUBPEL_LOW_PRECISION) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(class0_hp_cost, mvcomp->class0_hp_cdf, NULL);
av1_cost_tokens_from_cdf(hp_cost, mvcomp->hp_cdf, NULL);
-#else
- class0_hp_cost[0] = av1_cost_zero(mvcomp->class0_hp);
- class0_hp_cost[1] = av1_cost_one(mvcomp->class0_hp);
- hp_cost[0] = av1_cost_zero(mvcomp->hp);
- hp_cost[1] = av1_cost_one(mvcomp->hp);
-#endif // CONFIG_NEW_MULTISYMBOL
}
mvcost[0] = 0;
for (v = 1; v <= MV_MAX; ++v) {
@@ -173,40 +136,6 @@
}
}
-#if !CONFIG_NEW_MULTISYMBOL
-static void update_mv(aom_writer *w, const unsigned int ct[2], aom_prob *cur_p,
- aom_prob upd_p) {
- (void)upd_p;
- // Just use the default maximum number of tile groups to avoid passing in the
- // actual
- // number
- av1_cond_prob_diff_update(w, cur_p, ct, DEFAULT_MAX_NUM_TG);
-}
-
-void av1_write_nmv_probs(AV1_COMMON *cm, int usehp, aom_writer *w,
- nmv_context_counts *const nmv_counts) {
- int i;
- int nmv_ctx = 0;
-#if CONFIG_AMVR
- if (cm->cur_frame_force_integer_mv) {
- return;
- }
-#endif
- for (nmv_ctx = 0; nmv_ctx < NMV_CONTEXTS; ++nmv_ctx) {
- nmv_context *const mvc = &cm->fc->nmvc[nmv_ctx];
- nmv_context_counts *const counts = &nmv_counts[nmv_ctx];
-
- if (usehp) {
- for (i = 0; i < 2; ++i) {
- update_mv(w, counts->comps[i].class0_hp, &mvc->comps[i].class0_hp,
- MV_UPDATE_PROB);
- update_mv(w, counts->comps[i].hp, &mvc->comps[i].hp, MV_UPDATE_PROB);
- }
- }
- }
-}
-#endif
-
void av1_encode_mv(AV1_COMP *cpi, aom_writer *w, const MV *mv, const MV *ref,
nmv_context *mvctx, int usehp) {
const MV diff = { mv->row - ref->row, mv->col - ref->col };
diff --git a/av1/encoder/encodemv.h b/av1/encoder/encodemv.h
index 8689cec..116b291 100644
--- a/av1/encoder/encodemv.h
+++ b/av1/encoder/encodemv.h
@@ -20,11 +20,6 @@
void av1_entropy_mv_init(void);
-#if !CONFIG_NEW_MULTISYMBOL
-void av1_write_nmv_probs(AV1_COMMON *cm, int usehp, aom_writer *w,
- nmv_context_counts *const counts);
-#endif
-
void av1_encode_mv(AV1_COMP *cpi, aom_writer *w, const MV *mv, const MV *ref,
nmv_context *mvctx, int usehp);
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index e57d3d3..a15afb9 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -5685,9 +5685,6 @@
if (!frame_is_intra_only(cm)) {
if (cm->refresh_frame_context == REFRESH_FRAME_CONTEXT_BACKWARD) {
av1_adapt_inter_frame_probs(cm);
-#if !CONFIG_NEW_MULTISYMBOL
- av1_adapt_mv_probs(cm, cm->allow_high_precision_mv);
-#endif // !CONFIG_NEW_MULTISYMBOL
av1_average_tile_inter_cdfs(&cpi->common, cpi->common.fc, tile_ctxs,
cdf_ptrs, num_bwd_ctxs);
av1_average_tile_mv_cdfs(cpi->common.fc, tile_ctxs, cdf_ptrs,
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c
index ff3b799..d511812 100644
--- a/av1/encoder/rd.c
+++ b/av1/encoder/rd.c
@@ -94,12 +94,7 @@
}
for (i = 0; i < SKIP_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->skip_cost[i], fc->skip_cdfs[i], NULL);
-#else
- x->skip_cost[i][0] = av1_cost_bit(fc->skip_probs[i], 0);
- x->skip_cost[i][1] = av1_cost_bit(fc->skip_probs[i], 1);
-#endif // CONFIG_NEW_MULTISYMBOL
}
#if CONFIG_KF_CTX
@@ -136,28 +131,14 @@
av1_cost_tokens_from_cdf(x->palette_uv_size_cost[i],
fc->palette_uv_size_cdf[i], NULL);
for (j = 0; j < PALETTE_Y_MODE_CONTEXTS; ++j) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->palette_y_mode_cost[i][j],
fc->palette_y_mode_cdf[i][j], NULL);
-#else
- x->palette_y_mode_cost[i][j][0] =
- av1_cost_bit(av1_default_palette_y_mode_prob[i][j], 0);
- x->palette_y_mode_cost[i][j][1] =
- av1_cost_bit(av1_default_palette_y_mode_prob[i][j], 1);
-#endif
}
}
for (i = 0; i < PALETTE_UV_MODE_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->palette_uv_mode_cost[i],
fc->palette_uv_mode_cdf[i], NULL);
-#else
- x->palette_uv_mode_cost[i][0] =
- av1_cost_bit(av1_default_palette_uv_mode_prob[i], 0);
- x->palette_uv_mode_cost[i][1] =
- av1_cost_bit(av1_default_palette_uv_mode_prob[i], 1);
-#endif
}
for (i = 0; i < PALETTE_SIZES; ++i) {
@@ -206,13 +187,8 @@
NULL);
for (i = 0; i < TXFM_PARTITION_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->txfm_partition_cost[i],
fc->txfm_partition_cdf[i], NULL);
-#else
- x->txfm_partition_cost[i][0] = av1_cost_bit(fc->txfm_partition_prob[i], 0);
- x->txfm_partition_cost[i][1] = av1_cost_bit(fc->txfm_partition_prob[i], 1);
-#endif
}
for (i = TX_4X4; i < EXT_TX_SIZES; ++i) {
@@ -243,17 +219,10 @@
#if CONFIG_LOOP_RESTORATION
av1_cost_tokens_from_cdf(x->switchable_restore_cost,
fc->switchable_restore_cdf, NULL);
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->wiener_restore_cost, fc->wiener_restore_cdf,
NULL);
av1_cost_tokens_from_cdf(x->sgrproj_restore_cost, fc->sgrproj_restore_cdf,
NULL);
-#else
- x->wiener_restore_cost[0] = av1_cost_bit(RESTORE_NONE_WIENER_PROB, 0);
- x->wiener_restore_cost[1] = av1_cost_bit(RESTORE_NONE_WIENER_PROB, 1);
- x->sgrproj_restore_cost[0] = av1_cost_bit(RESTORE_NONE_SGRPROJ_PROB, 0);
- x->sgrproj_restore_cost[1] = av1_cost_bit(RESTORE_NONE_SGRPROJ_PROB, 1);
-#endif // CONFIG_NEW_MULTISYMBOL
#endif // CONFIG_LOOP_RESTORATION
#if CONFIG_INTRABC
av1_cost_tokens_from_cdf(x->intrabc_cost, fc->intrabc_cdf, NULL);
@@ -261,49 +230,24 @@
if (!frame_is_intra_only(cm)) {
for (i = 0; i < INTRA_INTER_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->intra_inter_cost[i], fc->intra_inter_cdf[i],
NULL);
-#else
- x->intra_inter_cost[i][0] = av1_cost_bit(fc->intra_inter_prob[i], 0);
- x->intra_inter_cost[i][1] = av1_cost_bit(fc->intra_inter_prob[i], 1);
-#endif
}
for (i = 0; i < NEWMV_MODE_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->newmv_mode_cost[i], fc->newmv_cdf[i], NULL);
-#else
- x->newmv_mode_cost[i][0] = av1_cost_bit(fc->newmv_prob[i], 0);
- x->newmv_mode_cost[i][1] = av1_cost_bit(fc->newmv_prob[i], 1);
-#endif
}
for (i = 0; i < GLOBALMV_MODE_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->zeromv_mode_cost[i], fc->zeromv_cdf[i], NULL);
-#else
- x->zeromv_mode_cost[i][0] = av1_cost_bit(fc->zeromv_prob[i], 0);
- x->zeromv_mode_cost[i][1] = av1_cost_bit(fc->zeromv_prob[i], 1);
-#endif
}
for (i = 0; i < REFMV_MODE_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->refmv_mode_cost[i], fc->refmv_cdf[i], NULL);
-#else
- x->refmv_mode_cost[i][0] = av1_cost_bit(fc->refmv_prob[i], 0);
- x->refmv_mode_cost[i][1] = av1_cost_bit(fc->refmv_prob[i], 1);
-#endif
}
for (i = 0; i < DRL_MODE_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->drl_mode_cost0[i], fc->drl_cdf[i], NULL);
-#else
- x->drl_mode_cost0[i][0] = av1_cost_bit(fc->drl_prob[i], 0);
- x->drl_mode_cost0[i][1] = av1_cost_bit(fc->drl_prob[i], 1);
-#endif
}
for (i = 0; i < INTER_MODE_CONTEXTS; ++i)
av1_cost_tokens_from_cdf(x->inter_compound_mode_cost[i],
@@ -312,48 +256,26 @@
av1_cost_tokens_from_cdf(x->compound_type_cost[i],
fc->compound_type_cdf[i], NULL);
for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->interintra_cost[i], fc->interintra_cdf[i],
NULL);
-#else
- x->interintra_cost[i][0] = av1_cost_bit(fc->interintra_prob[i], 0);
- x->interintra_cost[i][1] = av1_cost_bit(fc->interintra_prob[i], 1);
-#endif
av1_cost_tokens_from_cdf(x->interintra_mode_cost[i],
fc->interintra_mode_cdf[i], NULL);
}
for (i = 0; i < BLOCK_SIZES_ALL; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->wedge_interintra_cost[i],
fc->wedge_interintra_cdf[i], NULL);
-#else
- x->wedge_interintra_cost[i][0] =
- av1_cost_bit(fc->wedge_interintra_prob[i], 0);
- x->wedge_interintra_cost[i][1] =
- av1_cost_bit(fc->wedge_interintra_prob[i], 1);
-#endif
}
for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; i++) {
av1_cost_tokens_from_cdf(x->motion_mode_cost[i], fc->motion_mode_cdf[i],
NULL);
}
for (i = BLOCK_8X8; i < BLOCK_SIZES_ALL; i++) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->motion_mode_cost1[i], fc->obmc_cdf[i], NULL);
-#else
- x->motion_mode_cost1[i][0] = av1_cost_bit(fc->obmc_prob[i], 0);
- x->motion_mode_cost1[i][1] = av1_cost_bit(fc->obmc_prob[i], 1);
-#endif
}
#if CONFIG_JNT_COMP
for (i = 0; i < COMP_INDEX_CONTEXTS; ++i) {
-#if CONFIG_NEW_MULTISYMBOL
av1_cost_tokens_from_cdf(x->comp_idx_cost[i], fc->compound_index_cdf[i],
NULL);
-#else
- x->comp_idx_cost[i][0] = av1_cost_bit(fc->compound_index_probs[i], 0);
- x->comp_idx_cost[i][1] = av1_cost_bit(fc->compound_index_probs[i], 1);
-#endif // CONFIG_NEW_MULTISYMBOL
}
#endif // CONFIG_JNT_COMP
}
diff --git a/av1/encoder/segmentation.c b/av1/encoder/segmentation.c
index 59a16a0..2424de9 100644
--- a/av1/encoder/segmentation.c
+++ b/av1/encoder/segmentation.c
@@ -311,9 +311,6 @@
aom_prob no_pred_tree[SEG_TREE_PROBS];
aom_prob t_pred_tree[SEG_TREE_PROBS];
-#if !CONFIG_NEW_MULTISYMBOL
- aom_prob t_nopred_prob[PREDICTION_PROBS];
-#endif
(void)xd;
@@ -358,23 +355,6 @@
calc_segtree_probs(t_unpred_seg_counts, t_pred_tree, segp->tree_probs,
probwt);
t_pred_cost = cost_segmap(t_unpred_seg_counts, t_pred_tree);
-#if !CONFIG_NEW_MULTISYMBOL
- // Add in the cost of the signaling for each prediction context.
- int i;
- for (i = 0; i < PREDICTION_PROBS; i++) {
- const int count0 = temporal_predictor_count[i][0];
- const int count1 = temporal_predictor_count[i][1];
-
- t_nopred_prob[i] = get_binary_prob(count0, count1);
- av1_prob_diff_update_savings_search(
- temporal_predictor_count[i], segp->pred_probs[i], &t_nopred_prob[i],
- DIFF_UPDATE_PROB, probwt);
-
- // Add in the predictor signaling cost
- t_pred_cost += count0 * av1_cost_zero(t_nopred_prob[i]) +
- count1 * av1_cost_one(t_nopred_prob[i]);
- }
-#endif
}
// Now choose which coding method to use.
diff --git a/av1/encoder/tokenize.c b/av1/encoder/tokenize.c
index e92ce9d..1f7d2e1 100644
--- a/av1/encoder/tokenize.c
+++ b/av1/encoder/tokenize.c
@@ -232,7 +232,6 @@
0, 3, 6, 9, 12, 18, 24, 30
};
-#if CONFIG_NEW_MULTISYMBOL
const av1_extra_bit av1_extra_bits[ENTROPY_TOKENS] = {
{ 0, 0, 0, zero_cost }, // ZERO_TOKEN
{ 0, 0, 1, sign_cost }, // ONE_TOKEN
@@ -247,22 +246,6 @@
{ av1_cat6_cdf, 18, CAT6_MIN_VAL, 0 }, // CATEGORY6_TOKEN
{ 0, 0, 0, zero_cost } // EOB_TOKEN
};
-#else
-const av1_extra_bit av1_extra_bits[ENTROPY_TOKENS] = {
- { 0, 0, 0, zero_cost }, // ZERO_TOKEN
- { 0, 0, 1, sign_cost }, // ONE_TOKEN
- { 0, 0, 2, sign_cost }, // TWO_TOKEN
- { 0, 0, 3, sign_cost }, // THREE_TOKEN
- { 0, 0, 4, sign_cost }, // FOUR_TOKEN
- { av1_cat1_prob, 1, CAT1_MIN_VAL, cat1_cost }, // CATEGORY1_TOKEN
- { av1_cat2_prob, 2, CAT2_MIN_VAL, cat2_cost }, // CATEGORY2_TOKEN
- { av1_cat3_prob, 3, CAT3_MIN_VAL, cat3_cost }, // CATEGORY3_TOKEN
- { av1_cat4_prob, 4, CAT4_MIN_VAL, cat4_cost }, // CATEGORY4_TOKEN
- { av1_cat5_prob, 5, CAT5_MIN_VAL, cat5_cost }, // CATEGORY5_TOKEN
- { av1_cat6_prob, 18, CAT6_MIN_VAL, 0 }, // CATEGORY6_TOKEN
- { 0, 0, 0, zero_cost } // EOB_TOKEN
-};
-#endif
static void cost_coeffs_b(int plane, int block, int blk_row, int blk_col,
BLOCK_SIZE plane_bsize, TX_SIZE tx_size, void *arg) {
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 1525cc9..726022a 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -169,7 +169,6 @@
set(CONFIG_MRC_TX 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_MV_COMPRESS 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_NCOBMC 0 CACHE NUMBER "AV1 experiment flag.")
-set(CONFIG_NEW_MULTISYMBOL 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_NEW_QUANT 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_NO_FRAME_CONTEXT_SIGNALING 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_OBU 0 CACHE NUMBER "AV1 experiment flag.")
diff --git a/configure b/configure
index c450b2c..0c76cd6 100755
--- a/configure
+++ b/configure
@@ -305,7 +305,6 @@
mv_compress
segment_globalmv
frame_superres
- new_multisymbol
aom_qm
ext_qm
ext_comp_refs
@@ -504,7 +503,6 @@
soft_enable loop_restoration
soft_enable ext_partition
soft_enable ext_partition_types
- soft_enable new_multisymbol
# Provisional adopted
soft_enable q_adapt_probs