diff options
Diffstat (limited to 'vp9/common')
-rw-r--r-- | vp9/common/vp9_blockd.h | 3 | ||||
-rw-r--r-- | vp9/common/vp9_entropymode.c | 24 | ||||
-rw-r--r-- | vp9/common/vp9_entropymode.h | 7 | ||||
-rw-r--r-- | vp9/common/vp9_onyxc_int.h | 9 | ||||
-rw-r--r-- | vp9/common/vp9_reconinter.c | 14 | ||||
-rw-r--r-- | vp9/common/vp9_reconintra.c | 180 | ||||
-rw-r--r-- | vp9/common/vp9_reconintra.h | 21 |
7 files changed, 0 insertions, 258 deletions
diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h index a21993598..da40b3fc1 100644 --- a/vp9/common/vp9_blockd.h +++ b/vp9/common/vp9_blockd.h @@ -234,9 +234,6 @@ static INLINE int mi_height_log2(BLOCK_SIZE_TYPE sb_type) { typedef struct { MB_PREDICTION_MODE mode, uv_mode; -#if CONFIG_COMP_INTERINTRA_PRED - MB_PREDICTION_MODE interintra_mode, interintra_uv_mode; -#endif MV_REFERENCE_FRAME ref_frame, second_ref_frame; TX_SIZE txfm_size; int_mv mv[2]; // for each reference frame used diff --git a/vp9/common/vp9_entropymode.c b/vp9/common/vp9_entropymode.c index 503ad9598..dcee62f41 100644 --- a/vp9/common/vp9_entropymode.c +++ b/vp9/common/vp9_entropymode.c @@ -256,9 +256,6 @@ void vp9_init_mbmode_probs(VP9_COMMON *x) { vpx_memcpy(x->fc.partition_prob, vp9_partition_probs, sizeof(vp9_partition_probs)); -#if CONFIG_COMP_INTERINTRA_PRED - x->fc.interintra_prob = VP9_DEF_INTERINTRA_PROB; -#endif x->ref_pred_probs[0] = DEFAULT_PRED_PROB_0; x->ref_pred_probs[1] = DEFAULT_PRED_PROB_1; x->ref_pred_probs[2] = DEFAULT_PRED_PROB_2; @@ -493,13 +490,6 @@ void vp9_adapt_mode_probs(VP9_COMMON *cm) { for (t = 0; t < VP9_NUMMBSPLITS; ++t) printf("%d, ", fc->mbsplit_counts[t]); printf("};\n"); -#if CONFIG_COMP_INTERINTRA_PRED - printf("static const unsigned int\ninterintra_counts" - "[2] = {\n"); - for (t = 0; t < 2; ++t) - printf("%d, ", fc->interintra_counts[t]); - printf("};\n"); -#endif #endif update_mode_probs(VP9_YMODES, vp9_ymode_tree, @@ -523,20 +513,6 @@ void vp9_adapt_mode_probs(VP9_COMMON *cm) { vp9_sub_mv_ref_tree, fc->sub_mv_ref_counts[i], fc->pre_sub_mv_ref_prob[i], fc->sub_mv_ref_prob[i], LEFT4X4); - -#if CONFIG_COMP_INTERINTRA_PRED - if (cm->use_interintra) { - int factor, interintra_prob, count; - - interintra_prob = get_binary_prob(fc->interintra_counts[0], - fc->interintra_counts[1]); - count = fc->interintra_counts[0] + fc->interintra_counts[1]; - count = count > MODE_COUNT_SAT ? MODE_COUNT_SAT : count; - factor = (MODE_MAX_UPDATE_FACTOR * count / MODE_COUNT_SAT); - fc->interintra_prob = weighted_prob(fc->pre_interintra_prob, - interintra_prob, factor); - } -#endif for (i = 0; i < NUM_PARTITION_CONTEXTS; i++) update_mode_probs(PARTITION_TYPES, vp9_partition_tree, fc->partition_counts[i], fc->pre_partition_prob[i], diff --git a/vp9/common/vp9_entropymode.h b/vp9/common/vp9_entropymode.h index f49bb3b42..4c3fc0677 100644 --- a/vp9/common/vp9_entropymode.h +++ b/vp9/common/vp9_entropymode.h @@ -16,13 +16,6 @@ #define SUBMVREF_COUNT 5 -#if CONFIG_COMP_INTERINTRA_PRED -#define VP9_DEF_INTERINTRA_PROB 248 -#define VP9_UPD_INTERINTRA_PROB 192 -// whether to use a separate uv mode (1) or use the same as the y mode (0) -#define SEPARATE_INTERINTRA_UV 0 -#endif - extern int vp9_mv_cont(const int_mv *l, const int_mv *a); extern const vp9_prob vp9_sub_mv_ref_prob2[SUBMVREF_COUNT][VP9_SUBMVREFS - 1]; diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h index fe6e14ab5..f7f4c06b3 100644 --- a/vp9/common/vp9_onyxc_int.h +++ b/vp9/common/vp9_onyxc_int.h @@ -112,11 +112,6 @@ typedef struct frame_contexts { nmv_context_counts NMVcount; vp9_prob switchable_interp_prob[VP9_SWITCHABLE_FILTERS + 1] [VP9_SWITCHABLE_FILTERS - 1]; -#if CONFIG_COMP_INTERINTRA_PRED - unsigned int interintra_counts[2]; - vp9_prob interintra_prob; - vp9_prob pre_interintra_prob; -#endif int vp9_mode_contexts[INTER_MODE_CONTEXTS][4]; unsigned int mv_ref_ct[INTER_MODE_CONTEXTS][4][2]; @@ -292,10 +287,6 @@ typedef struct VP9Common { struct postproc_state postproc_state; #endif -#if CONFIG_COMP_INTERINTRA_PRED - int use_interintra; -#endif - int error_resilient_mode; int frame_parallel_decoding_mode; diff --git a/vp9/common/vp9_reconinter.c b/vp9/common/vp9_reconinter.c index 14642f20c..65a909335 100644 --- a/vp9/common/vp9_reconinter.c +++ b/vp9/common/vp9_reconinter.c @@ -416,23 +416,9 @@ void vp9_build_inter_predictors_sbuv(MACROBLOCKD *xd, void vp9_build_inter_predictors_sb(MACROBLOCKD *xd, int mi_row, int mi_col, BLOCK_SIZE_TYPE bsize) { -#if CONFIG_COMP_INTERINTRA_PRED - uint8_t *const y = xd->plane[0].dst.buf; - uint8_t *const u = xd->plane[1].dst.buf; - uint8_t *const v = xd->plane[2].dst.buf; - const int y_stride = xd->plane[0].dst.stride; - const int uv_stride = xd->plane[1].dst.stride; -#endif vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize); vp9_build_inter_predictors_sbuv(xd, mi_row, mi_col, bsize); - -#if CONFIG_COMP_INTERINTRA_PRED - if (xd->mode_info_context->mbmi.second_ref_frame == INTRA_FRAME) - vp9_build_interintra_predictors(xd, y, u, v, - y_stride, uv_stride, - bsize); -#endif } /*encoder only*/ diff --git a/vp9/common/vp9_reconintra.c b/vp9/common/vp9_reconintra.c index dad5be761..9e580c7f6 100644 --- a/vp9/common/vp9_reconintra.c +++ b/vp9/common/vp9_reconintra.c @@ -363,186 +363,6 @@ void vp9_build_intra_predictors(uint8_t *src, int src_stride, } } -#if CONFIG_COMP_INTERINTRA_PRED -static void combine_interintra(MB_PREDICTION_MODE mode, - uint8_t *interpred, - int interstride, - uint8_t *intrapred, - int intrastride, - int bw, int bh) { - // TODO(debargha): Explore different ways of combining predictors - // or designing the tables below - static const int scale_bits = 8; - static const int scale_max = 256; // 1 << scale_bits; - static const int scale_round = 127; // (1 << (scale_bits - 1)); - // This table is a function A + B*exp(-kx), where x is hor. index - static const int weights1d[64] = { - 128, 125, 122, 119, 116, 114, 111, 109, - 107, 105, 103, 101, 99, 97, 96, 94, - 93, 91, 90, 89, 88, 86, 85, 84, - 83, 82, 81, 81, 80, 79, 78, 78, - 77, 76, 76, 75, 75, 74, 74, 73, - 73, 72, 72, 71, 71, 71, 70, 70, - 70, 70, 69, 69, 69, 69, 68, 68, - 68, 68, 68, 67, 67, 67, 67, 67, - }; - - int size = MAX(bw, bh); - int size_scale = (size >= 64 ? 1: - size == 32 ? 2 : - size == 16 ? 4 : - size == 8 ? 8 : 16); - int i, j; - switch (mode) { - case V_PRED: - for (i = 0; i < bh; ++i) { - for (j = 0; j < bw; ++j) { - int k = i * interstride + j; - int scale = weights1d[i * size_scale]; - interpred[k] = - ((scale_max - scale) * interpred[k] + - scale * intrapred[i * intrastride + j] + scale_round) - >> scale_bits; - } - } - break; - - case H_PRED: - for (i = 0; i < bh; ++i) { - for (j = 0; j < bw; ++j) { - int k = i * interstride + j; - int scale = weights1d[j * size_scale]; - interpred[k] = - ((scale_max - scale) * interpred[k] + - scale * intrapred[i * intrastride + j] + scale_round) - >> scale_bits; - } - } - break; - - case D63_PRED: - case D117_PRED: - for (i = 0; i < bh; ++i) { - for (j = 0; j < bw; ++j) { - int k = i * interstride + j; - int scale = (weights1d[i * size_scale] * 3 + - weights1d[j * size_scale]) >> 2; - interpred[k] = - ((scale_max - scale) * interpred[k] + - scale * intrapred[i * intrastride + j] + scale_round) - >> scale_bits; - } - } - break; - - case D27_PRED: - case D153_PRED: - for (i = 0; i < bh; ++i) { - for (j = 0; j < bw; ++j) { - int k = i * interstride + j; - int scale = (weights1d[j * size_scale] * 3 + - weights1d[i * size_scale]) >> 2; - interpred[k] = - ((scale_max - scale) * interpred[k] + - scale * intrapred[i * intrastride + j] + scale_round) - >> scale_bits; - } - } - break; - - case D135_PRED: - for (i = 0; i < bh; ++i) { - for (j = 0; j < bw; ++j) { - int k = i * interstride + j; - int scale = weights1d[(i < j ? i : j) * size_scale]; - interpred[k] = - ((scale_max - scale) * interpred[k] + - scale * intrapred[i * intrastride + j] + scale_round) - >> scale_bits; - } - } - break; - - case D45_PRED: - for (i = 0; i < bh; ++i) { - for (j = 0; j < bw; ++j) { - int k = i * interstride + j; - int scale = (weights1d[i * size_scale] + - weights1d[j * size_scale]) >> 1; - interpred[k] = - ((scale_max - scale) * interpred[k] + - scale * intrapred[i * intrastride + j] + scale_round) - >> scale_bits; - } - } - break; - - case TM_PRED: - case DC_PRED: - default: - // simple average - for (i = 0; i < bh; ++i) { - for (j = 0; j < bw; ++j) { - int k = i * interstride + j; - interpred[k] = (interpred[k] + intrapred[i * intrastride + j]) >> 1; - } - } - break; - } -} - -void vp9_build_interintra_predictors(MACROBLOCKD *xd, - uint8_t *ypred, - uint8_t *upred, - uint8_t *vpred, - int ystride, int uvstride, - BLOCK_SIZE_TYPE bsize) { - vp9_build_interintra_predictors_sby(xd, ypred, ystride, bsize); - vp9_build_interintra_predictors_sbuv(xd, upred, vpred, uvstride, bsize); -} - -void vp9_build_interintra_predictors_sby(MACROBLOCKD *xd, - uint8_t *ypred, - int ystride, - BLOCK_SIZE_TYPE bsize) { - int bwl = mi_width_log2(bsize), bw = MI_SIZE << bwl; - int bhl = mi_height_log2(bsize), bh = MI_SIZE << bhl; - uint8_t intrapredictor[4096]; - vp9_build_intra_predictors( - xd->plane[0].dst.buf, xd->plane[0].dst.stride, - intrapredictor, bw, - xd->mode_info_context->mbmi.interintra_mode, bw, bh, - xd->up_available, xd->left_available, xd->right_available); - combine_interintra(xd->mode_info_context->mbmi.interintra_mode, - ypred, ystride, intrapredictor, bw, bw, bh); -} - -void vp9_build_interintra_predictors_sbuv(MACROBLOCKD *xd, - uint8_t *upred, - uint8_t *vpred, - int uvstride, - BLOCK_SIZE_TYPE bsize) { - int bwl = mi_width_log2(bsize), bw = MI_UV_SIZE << bwl; - int bhl = mi_height_log2(bsize), bh = MI_UV_SIZE << bhl; - uint8_t uintrapredictor[1024]; - uint8_t vintrapredictor[1024]; - vp9_build_intra_predictors( - xd->plane[1].dst.buf, xd->plane[1].dst.stride, - uintrapredictor, bw, - xd->mode_info_context->mbmi.interintra_uv_mode, bw, bh, - xd->up_available, xd->left_available, xd->right_available); - vp9_build_intra_predictors( - xd->plane[2].dst.buf, xd->plane[1].dst.stride, - vintrapredictor, bw, - xd->mode_info_context->mbmi.interintra_uv_mode, bw, bh, - xd->up_available, xd->left_available, xd->right_available); - combine_interintra(xd->mode_info_context->mbmi.interintra_uv_mode, - upred, uvstride, uintrapredictor, bw, bw, bh); - combine_interintra(xd->mode_info_context->mbmi.interintra_uv_mode, - vpred, uvstride, vintrapredictor, bw, bw, bh); -} -#endif // CONFIG_COMP_INTERINTRA_PRED - void vp9_build_intra_predictors_sby_s(MACROBLOCKD *xd, BLOCK_SIZE_TYPE bsize) { const int bwl = b_width_log2(bsize), bw = 4 << bwl; diff --git a/vp9/common/vp9_reconintra.h b/vp9/common/vp9_reconintra.h index 21cd7abbe..1a715c3ee 100644 --- a/vp9/common/vp9_reconintra.h +++ b/vp9/common/vp9_reconintra.h @@ -21,25 +21,4 @@ B_PREDICTION_MODE vp9_find_dominant_direction(uint8_t *ptr, B_PREDICTION_MODE vp9_find_bpred_context(MACROBLOCKD *xd, int block, uint8_t *ptr, int stride); -#if CONFIG_COMP_INTERINTRA_PRED -void vp9_build_interintra_predictors(MACROBLOCKD *xd, - uint8_t *ypred, - uint8_t *upred, - uint8_t *vpred, - int ystride, - int uvstride, - BLOCK_SIZE_TYPE bsize); - -void vp9_build_interintra_predictors_sby(MACROBLOCKD *xd, - uint8_t *ypred, - int ystride, - BLOCK_SIZE_TYPE bsize); - -void vp9_build_interintra_predictors_sbuv(MACROBLOCKD *xd, - uint8_t *upred, - uint8_t *vpred, - int uvstride, - BLOCK_SIZE_TYPE bsize); -#endif // CONFIG_COMP_INTERINTRA_PRED - #endif // VP9_COMMON_VP9_RECONINTRA_H_ |