NEW_TOKENSET: modify trellis and coeff costs.
Since token coding has changed the relationship
between EOB values and non-zero values, coeff costs
and trellis quant need to change to be more accurate.
Change-Id: I27ef400e8290db4c5faa9c21a253575eea7955c4
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index f1659a6..1320568 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -1104,6 +1104,12 @@
uint8_t token_cache[MAX_TX_SQUARE];
int pt = coeff_ctx;
int c, cost;
+#if CONFIG_NEW_TOKENSET
+ const int ref = is_inter_block(mbmi);
+ aom_prob *blockz_probs =
+ cm->fc->blockzero_probs[txsize_sqr_map[tx_size]][type][ref];
+#endif
+
#if CONFIG_AOM_HIGHBITDEPTH
const int *cat6_high_cost = av1_get_high_cost_table(xd->bd);
#else
@@ -1118,8 +1124,12 @@
(void)cm;
if (eob == 0) {
+#if CONFIG_NEW_TOKENSET
// single eob token
+ cost = av1_cost_bit(blockz_probs[pt], 0);
+#else
cost = token_costs[0][0][pt][EOB_TOKEN];
+#endif
} else {
if (use_fast_coef_costing) {
int band_left = *band_count++;