band = vp8_coef_bands_8x8[i + 1];
pt = vp8_prev_token_class[t0];
rate0 +=
- mb->token_costs[type][band][pt][tokens[next][0].token];
+ mb->token_costs_8x8[type][band][pt][tokens[next][0].token];
rate1 +=
- mb->token_costs[type][band][pt][tokens[next][1].token];
+ mb->token_costs_8x8[type][band][pt][tokens[next][1].token];
}
rd_cost0 = RDCOST_8x8(rdmult, rddiv, rate0, error0);
rd_cost1 = RDCOST_8x8(rdmult, rddiv, rate1, error1);
if(t0!=DCT_EOB_TOKEN)
{
pt = vp8_prev_token_class[t0];
- rate0 += mb->token_costs[type][band][pt][
+ rate0 += mb->token_costs_8x8[type][band][pt][
tokens[next][0].token];
}
if(t1!=DCT_EOB_TOKEN)
{
pt = vp8_prev_token_class[t1];
- rate1 += mb->token_costs[type][band][pt][
+ rate1 += mb->token_costs_8x8[type][band][pt][
tokens[next][1].token];
}
}
/* Update the cost of each path if we're past the EOB token. */
if (t0 != DCT_EOB_TOKEN)
{
- tokens[next][0].rate += mb->token_costs[type][band][0][t0];
+ tokens[next][0].rate += mb->token_costs_8x8[type][band][0][t0];
tokens[next][0].token = ZERO_TOKEN;
}
if (t1 != DCT_EOB_TOKEN)
{
- tokens[next][1].rate += mb->token_costs[type][band][0][t1];
+ tokens[next][1].rate += mb->token_costs_8x8[type][band][0][t1];
tokens[next][1].token = ZERO_TOKEN;
}
/* Don't update next, because we didn't add a new node. */
error1 = tokens[next][1].error;
t0 = tokens[next][0].token;
t1 = tokens[next][1].token;
- rate0 += mb->token_costs[type][band][pt][t0];
- rate1 += mb->token_costs[type][band][pt][t1];
+ rate0 += mb->token_costs_8x8[type][band][pt][t0];
+ rate1 += mb->token_costs_8x8[type][band][pt][t1];
rd_cost0 = RDCOST_8x8(rdmult, rddiv, rate0, error0);
rd_cost1 = RDCOST_8x8(rdmult, rddiv, rate1, error1);
if (rd_cost0 == rd_cost1)
for (i = 0; i < BLOCK_TYPES; i++)
for (j = 0; j < COEF_BANDS; j++)
for (k = 0; k < PREV_COEF_CONTEXTS; k++)
-
vp8_cost_tokens((int *)(c [i][j][k]), p [i][j][k], vp8_coef_tree);
}
(const vp8_prob( *)[8][3][11]) cpi->common.fc.coef_probs
);
+#if CONFIG_T8X8
+ fill_token_costs(
+ cpi->mb.token_costs_8x8,
+ (const vp8_prob( *)[8][3][11]) cpi->common.fc.coef_probs_8x8
+ );
+#endif
#if CONFIG_QIMODE
//rough estimate for costing
cpi->common.kf_ymode_probs_index = cpi->common.base_qindex>>4;
*Rate = vp8_rdcost_mby(mb);
}
+
static void copy_predictor(unsigned char *dst, const unsigned char *predictor)
{
const unsigned int *p = (const unsigned int *)predictor;