#include "entropy.h"
#include "vpx_mem/vpx_mem.h"
#if CONFIG_I8X8
+
+#if CONFIG_QIMODE
+static const unsigned int kf_y_mode_cts[8][VP8_YMODES] =
+{
+ {17, 6, 5, 2, 22, 203},
+ {27, 13, 13, 6, 27, 170},
+ {35, 17, 18, 9, 26, 152},
+ {45, 22, 24, 12, 27, 126},
+ {58, 26, 29, 13, 26, 104},
+ {73, 33, 36, 17, 20, 78},
+ {88, 38, 39, 19, 16, 57},
+ {99, 42, 43, 21, 12, 39},
+};
+#else
static const unsigned int kf_y_mode_cts[VP8_YMODES] = { 49, 22, 23, 11, 23, 128};
+#endif
static const unsigned int y_mode_cts [VP8_YMODES] = { 8080, 1908, 1582, 1007, 0, 5874};
#else
static const unsigned int kf_y_mode_cts[VP8_YMODES] = { 1607, 915, 812, 811, 5455};
x->fc.ymode_prob, bct, y_mode_cts,
256, 1
);
+#if CONFIG_QIMODE
+ {
+ int i;
+ for (i=0;i<8;i++)
+ vp8_tree_probs_from_distribution(
+ VP8_YMODES, vp8_kf_ymode_encodings, vp8_kf_ymode_tree,
+ x->kf_ymode_prob[i], bct, kf_y_mode_cts[i],
+ 256, 1
+ );
+ }
+#else
vp8_tree_probs_from_distribution(
VP8_YMODES, vp8_kf_ymode_encodings, vp8_kf_ymode_tree,
x->kf_ymode_prob, bct, kf_y_mode_cts,
256, 1
);
+#endif
vp8_tree_probs_from_distribution(
VP8_UV_MODES, vp8_uv_mode_encodings, vp8_uv_mode_tree,
x->fc.uv_mode_prob, bct, uv_mode_cts,
m->mbmi.mb_skip_coeff = vp8_read(bc, pbi->prob_skip_false);
else
m->mbmi.mb_skip_coeff = 0;
-
+#if CONFIG_QIMODE
+ y_mode = (MB_PREDICTION_MODE) vp8_kfread_ymode(bc,
+ pbi->common.kf_ymode_prob[pbi->common.base_qindex>>4]);
+#else
y_mode = (MB_PREDICTION_MODE) vp8_kfread_ymode(bc, pbi->common.kf_ymode_prob);
-
+#endif
m->mbmi.ref_frame = INTRA_FRAME;
if ((m->mbmi.mode = y_mode) == B_PRED)
}
//printf("%2d%2d%2d%2d\n", m->bmi[0].as_mode,m->bmi[2].as_mode,
// m->bmi[8].as_mode,m->bmi[10].as_mode);
+ */
}
else
#endif
vp8_cost_tokens((int *)c->mb.inter_bmode_costs, x->fc.sub_mv_ref_prob, vp8_sub_mv_ref_tree);
vp8_cost_tokens(c->mb.mbmode_cost[1], x->fc.ymode_prob, vp8_ymode_tree);
+#if CONFIG_QIMODE
+ vp8_cost_tokens(c->mb.mbmode_cost[0], x->kf_ymode_prob[c->common.base_qindex>>4], vp8_kf_ymode_tree);
+#else
vp8_cost_tokens(c->mb.mbmode_cost[0], x->kf_ymode_prob, vp8_kf_ymode_tree);
-
+#endif
vp8_cost_tokens(c->mb.intra_uv_mode_cost[1], x->fc.uv_mode_prob, vp8_uv_mode_tree);
vp8_cost_tokens(c->mb.intra_uv_mode_cost[0], x->kf_uv_mode_prob, vp8_uv_mode_tree);
#if CONFIG_I8X8