typedef enum {
B_DC_PRED, /* average of above and left pixels */
+ B_V_PRED, /* vertical prediction */
+ B_H_PRED, /* horizontal prediction */
+ B_D45_PRED,
+ B_D135_PRED,
+ B_D117_PRED,
+ B_D153_PRED,
+ B_D27_PRED,
+ B_D63_PRED,
B_TM_PRED,
-
- B_VE_PRED, /* vertical prediction */
- B_HE_PRED, /* horizontal prediction */
-
- B_LD_PRED,
- B_RD_PRED,
-
- B_VR_PRED,
- B_VL_PRED,
- B_HD_PRED,
- B_HU_PRED,
#if CONFIG_NEWBINTRAMODES
B_CONTEXT_PRED,
#endif
static B_PREDICTION_MODE pred_mode_conv(MB_PREDICTION_MODE mode) {
switch (mode) {
case DC_PRED: return B_DC_PRED;
- case V_PRED: return B_VE_PRED;
- case H_PRED: return B_HE_PRED;
+ case V_PRED: return B_V_PRED;
+ case H_PRED: return B_H_PRED;
case TM_PRED: return B_TM_PRED;
- case D45_PRED: return B_LD_PRED;
- case D135_PRED: return B_RD_PRED;
- case D117_PRED: return B_VR_PRED;
- case D153_PRED: return B_HD_PRED;
- case D27_PRED: return B_HU_PRED;
- case D63_PRED: return B_VL_PRED;
+ case D45_PRED: return B_D45_PRED;
+ case D135_PRED: return B_D135_PRED;
+ case D117_PRED: return B_D117_PRED;
+ case D153_PRED: return B_D153_PRED;
+ case D27_PRED: return B_D27_PRED;
+ case D63_PRED: return B_D63_PRED;
default:
assert(0);
return B_MODE_COUNT; // Dummy value
static TX_TYPE txfm_map(B_PREDICTION_MODE bmode) {
switch (bmode) {
case B_TM_PRED :
- case B_RD_PRED :
+ case B_D135_PRED :
return ADST_ADST;
- case B_VE_PRED :
- case B_VR_PRED :
+ case B_V_PRED :
+ case B_D117_PRED :
return ADST_DCT;
- case B_HE_PRED :
- case B_HD_PRED :
- case B_HU_PRED :
+ case B_H_PRED :
+ case B_D153_PRED :
+ case B_D27_PRED :
return DCT_ADST;
#if CONFIG_NEWBINTRAMODES
static const unsigned int bmode_cts[VP9_NKF_BINTRAMODES] = {
#if CONFIG_NEWBINTRAMODES
#if CONTEXT_PRED_REPLACEMENTS == 6
- /* DC TM VE HE CONTEXT */
+ /* DC TM V H CONTEXT */
43891, 17694, 10036, 3920, 20000
#elif CONTEXT_PRED_REPLACEMENTS == 4
- /* DC TM VE HE LD RD CONTEXT */
+ /* DC TM V H D45 D135 CONTEXT */
43891, 17694, 10036, 3920, 3363, 2546, 14000
#elif CONTEXT_PRED_REPLACEMENTS == 0
- /* DC TM VE HE LD RD VR VL HD HU CONTEXT */
- 43891, 17694, 10036, 3920, 3363, 2546, 5119, 3221, 2471, 1723, 50000
+ /* DC V H D45 D135 D117 D153 D27 D63 TM CONTEXT */
+ 43891, 10036, 3920, 3363, 2546, 5119, 2471, 1723, 3221, 17694, 50000
#endif
#else
- /* DC TM VE HE LD RD VR VL HD HU */
- 43891, 17694, 10036, 3920, 3363, 2546, 5119, 3221, 2471, 1723
+ /* DC V H D45 D135 D117 D153 D27 D63 TM */
+ 43891, 10036, 3920, 3363, 2546, 5119, 2471, 1723, 3221, 17694
#endif
};
const vp9_tree_index vp9_kf_bmode_tree[VP9_KF_BINTRAMODES * 2 - 2] = {
-B_DC_PRED, 2, /* 0 = DC_NODE */
-B_TM_PRED, 4, /* 1 = TM_NODE */
- -B_VE_PRED, 6, /* 2 = VE_NODE */
+ -B_V_PRED, 6, /* 2 = V_NODE */
8, 12, /* 3 = COM_NODE */
- -B_HE_PRED, 10, /* 4 = HE_NODE */
- -B_RD_PRED, -B_VR_PRED, /* 5 = RD_NODE */
- -B_LD_PRED, 14, /* 6 = LD_NODE */
- -B_VL_PRED, 16, /* 7 = VL_NODE */
- -B_HD_PRED, -B_HU_PRED /* 8 = HD_NODE */
+ -B_H_PRED, 10, /* 4 = H_NODE */
+ -B_D135_PRED, -B_D117_PRED, /* 5 = D135_NODE */
+ -B_D45_PRED, 14, /* 6 = D45_NODE */
+ -B_D63_PRED, 16, /* 7 = D63_NODE */
+ -B_D153_PRED, -B_D27_PRED /* 8 = D153_NODE */
};
const vp9_tree_index vp9_bmode_tree[VP9_NKF_BINTRAMODES * 2 - 2] = {
-B_DC_PRED, 2,
-B_TM_PRED, 4,
6, -(B_CONTEXT_PRED - CONTEXT_PRED_REPLACEMENTS),
- -B_VE_PRED, -B_HE_PRED
+ -B_V_PRED, -B_H_PRED
#elif CONTEXT_PRED_REPLACEMENTS == 4
-B_DC_PRED, 2,
-B_TM_PRED, 4,
6, 8,
- -B_VE_PRED, -B_HE_PRED,
+ -B_V_PRED, -B_H_PRED,
10, -(B_CONTEXT_PRED - CONTEXT_PRED_REPLACEMENTS),
- -B_RD_PRED, -B_LD_PRED,
+ -B_D135_PRED, -B_D45_PRED,
#elif CONTEXT_PRED_REPLACEMENTS == 0
-B_DC_PRED, 2, /* 0 = DC_NODE */
-B_TM_PRED, 4, /* 1 = TM_NODE */
- -B_VE_PRED, 6, /* 2 = VE_NODE */
+ -B_V_PRED, 6, /* 2 = V_NODE */
8, 12, /* 3 = COM_NODE */
- -B_HE_PRED, 10, /* 4 = HE_NODE */
- -B_RD_PRED, -B_VR_PRED, /* 5 = RD_NODE */
- -B_LD_PRED, 14, /* 6 = LD_NODE */
- -B_VL_PRED, 16, /* 7 = VL_NODE */
- -B_HD_PRED, 18,
- -B_HU_PRED, -B_CONTEXT_PRED
+ -B_H_PRED, 10, /* 4 = H_NODE */
+ -B_D135_PRED, -B_D117_PRED, /* 5 = D135_NODE */
+ -B_D45_PRED, 14, /* 6 = D45_NODE */
+ -B_D63_PRED, 16, /* 7 = D63_NODE */
+ -B_D153_PRED, 18, /* 8 = D153_NODE */
+ -B_D27_PRED, -B_CONTEXT_PRED /* 9 = D27_NODE */
#endif
#else
-B_DC_PRED, 2, /* 0 = DC_NODE */
-B_TM_PRED, 4, /* 1 = TM_NODE */
- -B_VE_PRED, 6, /* 2 = VE_NODE */
+ -B_V_PRED, 6, /* 2 = V_NODE */
8, 12, /* 3 = COM_NODE */
- -B_HE_PRED, 10, /* 4 = HE_NODE */
- -B_RD_PRED, -B_VR_PRED, /* 5 = RD_NODE */
- -B_LD_PRED, 14, /* 6 = LD_NODE */
- -B_VL_PRED, 16, /* 7 = VL_NODE */
- -B_HD_PRED, -B_HU_PRED /* 8 = HD_NODE */
+ -B_H_PRED, 10, /* 4 = H_NODE */
+ -B_D135_PRED, -B_D117_PRED, /* 5 = D135_NODE */
+ -B_D45_PRED, 14, /* 6 = D45_NODE */
+ -B_D63_PRED, 16, /* 7 = D63_NODE */
+ -B_D153_PRED, -B_D27_PRED /* 8 = D153_NODE */
#endif
};