summaryrefslogtreecommitdiff
path: root/vp9/common
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/common')
-rw-r--r--vp9/common/vp9_blockd.h3
-rw-r--r--vp9/common/vp9_entropymode.c24
-rw-r--r--vp9/common/vp9_entropymode.h7
-rw-r--r--vp9/common/vp9_onyxc_int.h9
-rw-r--r--vp9/common/vp9_reconinter.c14
-rw-r--r--vp9/common/vp9_reconintra.c180
-rw-r--r--vp9/common/vp9_reconintra.h21
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_