Commit 0cf54d40 authored by Sebastien Alaiwan's avatar Sebastien Alaiwan
Browse files

Remove abandonned SUPERTX experiment

Change-Id: I9d3f0380865790d8adcb85f03305b193bc1949d7
parent 365e644a
......@@ -640,15 +640,7 @@ static uint8_t get_filter_level(const AV1_COMMON *cm,
return cm->mi[mi_row * cm->mi_stride + mi_col].mbmi.filt_lvl;
#endif
#if CONFIG_SUPERTX
const int segment_id = AOMMIN(mbmi->segment_id, mbmi->segment_id_supertx);
assert(
IMPLIES(supertx_enabled(mbmi), mbmi->segment_id_supertx != MAX_SEGMENTS));
assert(IMPLIES(supertx_enabled(mbmi),
mbmi->segment_id_supertx <= mbmi->segment_id));
#else
const int segment_id = mbmi->segment_id;
#endif // CONFIG_SUPERTX
if (cm->delta_lf_present_flag) {
#if CONFIG_LOOPFILTER_LEVEL
int delta_lf;
......@@ -706,15 +698,7 @@ static uint8_t get_filter_level(const loop_filter_info_n *lfi_n,
return mbmi->filt_lvl;
#endif
#if CONFIG_SUPERTX
const int segment_id = AOMMIN(mbmi->segment_id, mbmi->segment_id_supertx);
assert(
IMPLIES(supertx_enabled(mbmi), mbmi->segment_id_supertx != MAX_SEGMENTS));
assert(IMPLIES(supertx_enabled(mbmi),
mbmi->segment_id_supertx <= mbmi->segment_id));
#else
const int segment_id = mbmi->segment_id;
#endif // CONFIG_SUPERTX
return lfi_n->lvl[segment_id][mbmi->ref_frame[0]][mode_lf_lut[mbmi->mode]];
}
#endif
......@@ -1619,20 +1603,12 @@ static void build_masks(AV1_COMMON *const cm,
static void build_y_mask(AV1_COMMON *const cm,
const loop_filter_info_n *const lfi_n,
const MODE_INFO *mi, const int shift_y,
#if CONFIG_SUPERTX
int supertx_enabled,
#endif // CONFIG_SUPERTX
LOOP_FILTER_MASK *lfm) {
const MB_MODE_INFO *mbmi = &mi->mbmi;
const TX_SIZE tx_size_y = txsize_sqr_map[mbmi->tx_size];
const TX_SIZE tx_size_y_left = txsize_horz_map[mbmi->tx_size];
const TX_SIZE tx_size_y_above = txsize_vert_map[mbmi->tx_size];
#if CONFIG_SUPERTX
const BLOCK_SIZE block_size =
supertx_enabled ? (BLOCK_SIZE)(3 * tx_size_y) : mbmi->sb_type;
#else
const BLOCK_SIZE block_size = mbmi->sb_type;
#endif
#if CONFIG_EXT_DELTA_Q
#if CONFIG_LOOPFILTER_LEVEL
const int filter_level = get_filter_level(cm, lfi_n, 0, 0, mbmi);
......@@ -1751,28 +1727,19 @@ void av1_setup_mask(AV1_COMMON *const cm, const int mi_row, const int mi_col,
// through the recursive loop structure multiple times.
switch (mip[0]->mbmi.sb_type) {
case BLOCK_64X64: build_masks(cm, lfi_n, mip[0], 0, 0, lfm); break;
case BLOCK_64X32: build_masks(cm, lfi_n, mip[0], 0, 0, lfm);
#if CONFIG_SUPERTX && CONFIG_TX64X64
if (supertx_enabled(&mip[0]->mbmi)) break;
#endif // CONFIG_SUPERTX && CONFIG_TX64X64
case BLOCK_64X32:
build_masks(cm, lfi_n, mip[0], 0, 0, lfm);
mip2 = mip + mode_info_stride * 4;
if (4 >= max_rows) break;
build_masks(cm, lfi_n, mip2[0], 32, 8, lfm);
break;
case BLOCK_32X64: build_masks(cm, lfi_n, mip[0], 0, 0, lfm);
#if CONFIG_SUPERTX && CONFIG_TX64X64
if (supertx_enabled(&mip[0]->mbmi)) break;
#endif // CONFIG_SUPERTX && CONFIG_TX64X64
case BLOCK_32X64:
build_masks(cm, lfi_n, mip[0], 0, 0, lfm);
mip2 = mip + 4;
if (4 >= max_cols) break;
build_masks(cm, lfi_n, mip2[0], 4, 2, lfm);
break;
default:
#if CONFIG_SUPERTX && CONFIG_TX64X64
if (mip[0]->mbmi.tx_size == TX_64X64) {
build_masks(cm, lfi_n, mip[0], 0, 0, lfm);
} else {
#endif // CONFIG_SUPERTX && CONFIG_TX64X64
for (idx_32 = 0; idx_32 < 4; mip += offset_32[idx_32], ++idx_32) {
const int shift_y_32 = shift_32_y[idx_32];
const int shift_uv_32 = shift_32_uv[idx_32];
......@@ -1786,9 +1753,6 @@ void av1_setup_mask(AV1_COMMON *const cm, const int mi_row, const int mi_col,
break;
case BLOCK_32X16:
build_masks(cm, lfi_n, mip[0], shift_y_32, shift_uv_32, lfm);
#if CONFIG_SUPERTX
if (supertx_enabled(&mip[0]->mbmi)) break;
#endif
if (mi_32_row_offset + 2 >= max_rows) continue;
mip2 = mip + mode_info_stride * 2;
build_masks(cm, lfi_n, mip2[0], shift_y_32 + 16, shift_uv_32 + 4,
......@@ -1796,21 +1760,12 @@ void av1_setup_mask(AV1_COMMON *const cm, const int mi_row, const int mi_col,
break;
case BLOCK_16X32:
build_masks(cm, lfi_n, mip[0], shift_y_32, shift_uv_32, lfm);
#if CONFIG_SUPERTX
if (supertx_enabled(&mip[0]->mbmi)) break;
#endif
if (mi_32_col_offset + 2 >= max_cols) continue;
mip2 = mip + 2;
build_masks(cm, lfi_n, mip2[0], shift_y_32 + 2, shift_uv_32 + 1,
lfm);
break;
default:
#if CONFIG_SUPERTX
if (mip[0]->mbmi.tx_size == TX_32X32) {
build_masks(cm, lfi_n, mip[0], shift_y_32, shift_uv_32, lfm);
break;
}
#endif
for (idx_16 = 0; idx_16 < 4; mip += offset_16[idx_16], ++idx_16) {
const int shift_y_32_16 = shift_y_32 + shift_16_y[idx_16];
const int shift_uv_32_16 = shift_uv_32 + shift_16_uv[idx_16];
......@@ -1819,53 +1774,30 @@ void av1_setup_mask(AV1_COMMON *const cm, const int mi_row, const int mi_col,
const int mi_16_row_offset =
mi_32_row_offset + ((idx_16 >> 1) << 1);
if (mi_16_col_offset >= max_cols ||
mi_16_row_offset >= max_rows)
if (mi_16_col_offset >= max_cols || mi_16_row_offset >= max_rows)
continue;
switch (mip[0]->mbmi.sb_type) {
case BLOCK_16X16:
build_masks(cm, lfi_n, mip[0], shift_y_32_16,
shift_uv_32_16, lfm);
build_masks(cm, lfi_n, mip[0], shift_y_32_16, shift_uv_32_16,
lfm);
break;
case BLOCK_16X8:
#if CONFIG_SUPERTX
if (supertx_enabled(&mip[0]->mbmi)) break;
#endif
build_masks(cm, lfi_n, mip[0], shift_y_32_16,
shift_uv_32_16, lfm);
build_masks(cm, lfi_n, mip[0], shift_y_32_16, shift_uv_32_16,
lfm);
if (mi_16_row_offset + 1 >= max_rows) continue;
mip2 = mip + mode_info_stride;
build_y_mask(cm, lfi_n, mip2[0], shift_y_32_16 + 8,
#if CONFIG_SUPERTX
0,
#endif
lfm);
build_y_mask(cm, lfi_n, mip2[0], shift_y_32_16 + 8, lfm);
break;
case BLOCK_8X16:
#if CONFIG_SUPERTX
if (supertx_enabled(&mip[0]->mbmi)) break;
#endif
build_masks(cm, lfi_n, mip[0], shift_y_32_16,
shift_uv_32_16, lfm);
build_masks(cm, lfi_n, mip[0], shift_y_32_16, shift_uv_32_16,
lfm);
if (mi_16_col_offset + 1 >= max_cols) continue;
mip2 = mip + 1;
build_y_mask(cm, lfi_n, mip2[0], shift_y_32_16 + 1,
#if CONFIG_SUPERTX
0,
#endif
lfm);
build_y_mask(cm, lfi_n, mip2[0], shift_y_32_16 + 1, lfm);
break;
default: {
const int shift_y_32_16_8_zero =
shift_y_32_16 + shift_8_y[0];
#if CONFIG_SUPERTX
if (mip[0]->mbmi.tx_size == TX_16X16) {
build_masks(cm, lfi_n, mip[0], shift_y_32_16_8_zero,
shift_uv_32_16, lfm);
break;
}
#endif
const int shift_y_32_16_8_zero = shift_y_32_16 + shift_8_y[0];
build_masks(cm, lfi_n, mip[0], shift_y_32_16_8_zero,
shift_uv_32_16, lfm);
mip += offset[0];
......@@ -1880,11 +1812,7 @@ void av1_setup_mask(AV1_COMMON *const cm, const int mi_row, const int mi_col,
if (mi_8_col_offset >= max_cols ||
mi_8_row_offset >= max_rows)
continue;
build_y_mask(cm, lfi_n, mip[0], shift_y_32_16_8,
#if CONFIG_SUPERTX
supertx_enabled(&mip[0]->mbmi),
#endif
lfm);
build_y_mask(cm, lfi_n, mip[0], shift_y_32_16_8, lfm);
}
break;
}
......@@ -1893,9 +1821,6 @@ void av1_setup_mask(AV1_COMMON *const cm, const int mi_row, const int mi_col,
break;
}
}
#if CONFIG_SUPERTX && CONFIG_TX64X64
}
#endif // CONFIG_SUPERTX && CONFIG_TX64X64
break;
}
// The largest loopfilter we have is 16x16 so we use the 16x16 mask
......
......@@ -360,10 +360,6 @@ typedef struct MB_MODE_INFO {
#endif
int8_t skip;
int8_t segment_id;
#if CONFIG_SUPERTX
// Minimum of all segment IDs under the current supertx block.
int8_t segment_id_supertx;
#endif // CONFIG_SUPERTX
int8_t seg_id_predicted; // valid only when temporal_update is enabled
#if CONFIG_MRC_TX
......@@ -759,9 +755,6 @@ typedef struct macroblockd {
TXFM_CONTEXT left_txfm_context_buffer[2 * MAX_MIB_SIZE];
TX_SIZE max_tx_size;
#if CONFIG_SUPERTX
TX_SIZE supertx_size;
#endif
#endif
#if CONFIG_LOOP_RESTORATION
......@@ -877,14 +870,6 @@ static const TX_TYPE intra_mode_to_tx_type_context[INTRA_MODES] = {
ADST_ADST, // PAETH
};
#if CONFIG_SUPERTX
static INLINE int supertx_enabled(const MB_MODE_INFO *mbmi) {
TX_SIZE max_tx_size = txsize_sqr_map[mbmi->tx_size];
return tx_size_wide[max_tx_size] >
AOMMIN(block_size_wide[mbmi->sb_type], block_size_high[mbmi->sb_type]);
}
#endif // CONFIG_SUPERTX
#define USE_TXTYPE_SEARCH_FOR_SUB8X8_IN_CB4X4 1
#if CONFIG_RECT_TX
......@@ -1387,12 +1372,6 @@ static INLINE TX_SIZE av1_get_uv_tx_size(const MB_MODE_INFO *mbmi,
assert(mbmi->tx_size > TX_2X2);
#endif // CONFIG_CHROMA_2X2
#if CONFIG_SUPERTX
if (supertx_enabled(mbmi))
return uvsupertx_size_lookup[txsize_sqr_map[mbmi->tx_size]]
[pd->subsampling_x][pd->subsampling_y];
#endif // CONFIG_SUPERTX
const TX_SIZE uv_txsize =
uv_txsize_lookup[mbmi->sb_type][mbmi->tx_size][pd->subsampling_x]
[pd->subsampling_y];
......
......@@ -2119,33 +2119,6 @@ static const int intra_mode_context[INTRA_MODES] = {
};
#endif
#if CONFIG_SUPERTX
static const TX_SIZE uvsupertx_size_lookup[TX_SIZES][2][2] = {
// ss_x == 0 ss_x == 0 ss_x == 1 ss_x == 1
// ss_y == 0 ss_y == 1 ss_y == 0 ss_y == 1
#if CONFIG_CHROMA_2X2
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
#endif
{ { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_8X8, TX_4X4 }, { TX_4X4, TX_4X4 } },
{ { TX_16X16, TX_8X8 }, { TX_8X8, TX_8X8 } },
{ { TX_32X32, TX_16X16 }, { TX_16X16, TX_16X16 } },
#if CONFIG_TX64X64
{ { TX_64X64, TX_32X32 }, { TX_32X32, TX_32X32 } },
#endif // CONFIG_TX64X64
};
#if CONFIG_EXT_PARTITION_TYPES
static const int partition_supertx_context_lookup[EXT_PARTITION_TYPES] = {
-1, 0, 0, 1, 0, 0, 0, 0, 0, 0
};
#else
static const int partition_supertx_context_lookup[PARTITION_TYPES] = { -1, 0, 0,
1 };
#endif // CONFIG_EXT_PARTITION_TYPES
#endif // CONFIG_SUPERTX
#if CONFIG_NCOBMC_ADAPT_WEIGHT
// NCOBMC_ADAPT_INTRPL only supports block size >= BLOCK_8X8 and <= BLOCK_64X64
static const ADAPT_OVERLAP_BLOCK adapt_overlap_block_lookup[BLOCK_SIZES_ALL] = {
......
......@@ -2654,25 +2654,6 @@ static const aom_cdf_prob
};
#endif // CONFIG_FILTER_INTRA
#if CONFIG_SUPERTX
static const aom_prob
default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
#if CONFIG_CHROMA_2X2
#if CONFIG_TX64X64
{ 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
#else
{ 1, 1, 160, 160, 170 }, { 1, 1, 200, 200, 210 },
#endif // CONFIG_TX64X64
#else
#if CONFIG_TX64X64
{ 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
#else
{ 1, 160, 160, 170 }, { 1, 200, 200, 210 },
#endif // CONFIG_TX64X64
#endif // CONFIG_CHROMA_2X2
};
#endif // CONFIG_SUPERTX
// FIXME(someone) need real defaults here
static const aom_prob default_segment_tree_probs[SEG_TREE_PROBS] = {
128, 128, 128, 128, 128, 128, 128
......@@ -6565,9 +6546,6 @@ static void init_mode_probs(FRAME_CONTEXT *fc) {
av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob);
av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf);
#endif // CONFIG_INTERINTRA
#if CONFIG_SUPERTX
av1_copy(fc->supertx_prob, default_supertx_prob);
#endif // CONFIG_SUPERTX
av1_copy(fc->seg.tree_probs, default_segment_tree_probs);
av1_copy(fc->seg.pred_probs, default_segment_pred_probs);
#if CONFIG_NEW_MULTISYMBOL
......@@ -6704,15 +6682,6 @@ void av1_adapt_inter_frame_probs(AV1_COMMON *cm) {
#endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
#if CONFIG_SUPERTX
for (i = 0; i < PARTITION_SUPERTX_CONTEXTS; ++i) {
for (j = TX_8X8; j < TX_SIZES; ++j) {
fc->supertx_prob[i][j] = av1_mode_mv_merge_probs(
pre_fc->supertx_prob[i][j], counts->supertx[i][j]);
}
}
#endif // CONFIG_SUPERTX
for (i = 0; i < INTER_MODE_CONTEXTS; i++)
aom_tree_merge_probs(
av1_inter_compound_mode_tree, pre_fc->inter_compound_mode_probs[i],
......
......@@ -326,9 +326,6 @@ typedef struct frame_contexts {
aom_cdf_prob intrabc_cdf[CDF_SIZE(2)];
#endif
int initialized;
#if CONFIG_SUPERTX
aom_prob supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES];
#endif // CONFIG_SUPERTX
struct segmentation_probs seg;
#if CONFIG_FILTER_INTRA
aom_prob filter_intra_probs[PLANE_TYPES];
......@@ -541,10 +538,6 @@ typedef struct FRAME_COUNTS {
unsigned int inter_ext_tx[EXT_TX_SIZES][TX_TYPES];
#endif // CONFIG_EXT_TX
#endif // CONFIG_ENTROPY_STATS
#if CONFIG_SUPERTX
unsigned int supertx[PARTITION_SUPERTX_CONTEXTS][TX_SIZES][2];
unsigned int supertx_size[TX_SIZES];
#endif // CONFIG_SUPERTX
struct seg_counts seg;
#if CONFIG_FILTER_INTRA
unsigned int filter_intra[PLANE_TYPES][2];
......
......@@ -712,11 +712,6 @@ typedef enum {
#define MODE_CTX_REF_FRAMES (TOTAL_REFS_PER_FRAME + COMP_REFS)
#if CONFIG_SUPERTX
#define PARTITION_SUPERTX_CONTEXTS 2
#define MAX_SUPERTX_BLOCK_SIZE BLOCK_32X32
#endif // CONFIG_SUPERTX
#if CONFIG_LOOP_RESTORATION
typedef enum {
RESTORE_NONE,
......
......@@ -914,20 +914,6 @@ static INLINE int is_chroma_reference(int mi_row, int mi_col, BLOCK_SIZE bsize,
#endif
}
#if CONFIG_SUPERTX
static INLINE int need_handle_chroma_sub8x8(BLOCK_SIZE bsize, int subsampling_x,
int subsampling_y) {
const int bw = mi_size_wide[bsize];
const int bh = mi_size_high[bsize];
if (bsize >= BLOCK_8X8 ||
((!(bh & 0x01) || !subsampling_y) && (!(bw & 0x01) || !subsampling_x)))
return 0;
else
return 1;
}
#endif
static INLINE BLOCK_SIZE scale_chroma_bsize(BLOCK_SIZE bsize, int subsampling_x,
int subsampling_y) {
BLOCK_SIZE bs = bsize;
......
......@@ -834,64 +834,6 @@ void av1_init_wedge_masks() {
init_wedge_masks();
}
#if CONFIG_SUPERTX
static void build_masked_compound_wedge_extend(
uint8_t *dst, int dst_stride, const uint8_t *src0, int src0_stride,
const uint8_t *src1, int src1_stride,
const INTERINTER_COMPOUND_DATA *const comp_data, BLOCK_SIZE sb_type,
int wedge_offset_x, int wedge_offset_y, int h, int w) {
const int subh = (2 << b_height_log2_lookup[sb_type]) == h;
const int subw = (2 << b_width_log2_lookup[sb_type]) == w;
const uint8_t *mask;
size_t mask_stride;
switch (comp_data->interinter_compound_type) {
case COMPOUND_WEDGE:
mask = av1_get_soft_mask(comp_data->wedge_index, comp_data->wedge_sign,
sb_type, wedge_offset_x, wedge_offset_y);
mask_stride = MASK_MASTER_STRIDE;
break;
#if CONFIG_COMPOUND_SEGMENT
case COMPOUND_SEG:
mask = comp_data->seg_mask;
mask_stride = block_size_wide[sb_type];
break;
#endif
default: assert(0); return;
}
aom_blend_a64_mask(dst, dst_stride, src0, src0_stride, src1, src1_stride,
mask, (int)mask_stride, h, w, subh, subw);
}
#if CONFIG_HIGHBITDEPTH
static void build_masked_compound_wedge_extend_highbd(
uint8_t *dst_8, int dst_stride, const uint8_t *src0_8, int src0_stride,
const uint8_t *src1_8, int src1_stride,
const INTERINTER_COMPOUND_DATA *const comp_data, BLOCK_SIZE sb_type,
int wedge_offset_x, int wedge_offset_y, int h, int w, int bd) {
const int subh = (2 << b_height_log2_lookup[sb_type]) == h;
const int subw = (2 << b_width_log2_lookup[sb_type]) == w;
const uint8_t *mask;
size_t mask_stride;
switch (comp_data->interinter_compound_type) {
case COMPOUND_WEDGE:
mask = av1_get_soft_mask(comp_data->wedge_index, comp_data->wedge_sign,
sb_type, wedge_offset_x, wedge_offset_y);
mask_stride = MASK_MASTER_STRIDE;
break;
#if CONFIG_COMPOUND_SEGMENT
case COMPOUND_SEG:
mask = comp_data->seg_mask;
mask_stride = block_size_wide[sb_type];
break;
#endif
default: assert(0); return;
}
aom_highbd_blend_a64_mask(dst_8, dst_stride, src0_8, src0_stride, src1_8,
src1_stride, mask, (int)mask_stride, h, w, subh,
subw, bd);
}
#endif // CONFIG_HIGHBITDEPTH
#else
#if CONFIG_CONVOLVE_ROUND
static void build_masked_compound_no_round(
CONV_BUF_TYPE *dst, int dst_stride, const CONV_BUF_TYPE *src0,
......@@ -939,16 +881,12 @@ static void build_masked_compound_highbd(
subh, subw, bd);
}
#endif // CONFIG_HIGHBITDEPTH
#endif // CONFIG_SUPERTX
void av1_make_masked_inter_predictor(
const uint8_t *pre, int pre_stride, uint8_t *dst, int dst_stride,
const int subpel_x, const int subpel_y, const struct scale_factors *sf,
int w, int h, ConvolveParams *conv_params, InterpFilters interp_filters,
int xs, int ys,
#if CONFIG_SUPERTX
int wedge_offset_x, int wedge_offset_y,
#endif // CONFIG_SUPERTX
#if CONFIG_GLOBAL_MOTION || CONFIG_WARPED_MOTION || CONFIG_COMPOUND_SEGMENT
int plane,
#endif
......@@ -1050,18 +988,6 @@ void av1_make_masked_inter_predictor(
}
#endif // CONFIG_COMPOUND_SEGMENT
#if CONFIG_SUPERTX
#if CONFIG_HIGHBITDEPTH
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH)
build_masked_compound_wedge_extend_highbd(
dst, dst_stride, dst, dst_stride, tmp_dst, MAX_SB_SIZE, &comp_data,
mi->mbmi.sb_type, wedge_offset_x, wedge_offset_y, h, w, xd->bd);
else
#endif // CONFIG_HIGHBITDEPTH
build_masked_compound_wedge_extend(
dst, dst_stride, dst, dst_stride, tmp_dst, MAX_SB_SIZE, &comp_data,
mi->mbmi.sb_type, wedge_offset_x, wedge_offset_y, h, w);
#else
#if CONFIG_CONVOLVE_ROUND
if (is_conv_no_round) {
build_masked_compound_no_round(org_dst, org_dst_stride, org_dst,
......@@ -1095,7 +1021,6 @@ void av1_make_masked_inter_predictor(
#if CONFIG_CONVOLVE_ROUND
}
#endif // CONFIG_CONVOLVE_ROUND
#endif // CONFIG_SUPERTX
}
// TODO(sarahparker) av1_highbd_build_inter_predictor and
......@@ -1182,11 +1107,7 @@ static INLINE void build_inter_predictors(
#if CONFIG_MOTION_VAR
const MODE_INFO *mi, int build_for_obmc,
#endif // CONFIG_MOTION_VAR
int block, int bw, int bh, int x, int y, int w, int h,
#if CONFIG_SUPERTX
int wedge_offset_x, int wedge_offset_y,
#endif // CONFIG_SUPERTX
int mi_x, int mi_y) {
int block, int bw, int bh, int x, int y, int w, int h, int mi_x, int mi_y) {
struct macroblockd_plane *const pd = &xd->plane[plane];
#if !CONFIG_MOTION_VAR
const MODE_INFO *mi = xd->mi[0];
......@@ -1365,19 +1286,11 @@ static INLINE void build_inter_predictors(
if (is_masked_compound_type(mi->mbmi.interinter_compound_type)) {
// masked compound type has its own average mechanism
conv_params.do_average = 0;
#if CONFIG_CONVOLVE_ROUND && CONFIG_COMPOUND_SEGMENT && CONFIG_SUPERTX
// TODO(angiebird): convolve_round does not support compound_segment
// when supertx is on
conv_params = get_conv_params(ref, 0, plane);
#endif
}
if (ref && is_masked_compound_type(mi->mbmi.interinter_compound_type))
av1_make_masked_inter_predictor(
pre, pre_buf->stride, dst, dst_buf->stride, subpel_x, subpel_y,
sf, b4_w, b4_h, &conv_params, mi->mbmi.interp_filters, xs, ys,
#if CONFIG_SUPERTX
wedge_offset_x, wedge_offset_y,
#endif // CONFIG_SUPERTX
#if CONFIG_GLOBAL_MOTION || CONFIG_WARPED_MOTION || CONFIG_COMPOUND_SEGMENT
plane,
#endif
......@@ -1559,11 +1472,6 @@ static INLINE void build_inter_predictors(
if (is_masked_compound_type(mi->mbmi.interinter_compound_type)) {
// masked compound type has its own average mechanism
conv_params.do_average = 0;
#if CONFIG_CONVOLVE_ROUND && CONFIG_COMPOUND_SEGMENT && CONFIG_SUPERTX
// TODO(angiebird): convolve_round does not support compound_segment
// when supertx is on
conv_params = get_conv_params(ref, 0, plane);
#endif
}
if (ref && is_masked_compound_type(mi->mbmi.interinter_compound_type))
......@@ -1572,9 +1480,6 @@ static INLINE void build_inter_predictors(
subpel_params[ref].subpel_x, subpel_params[ref].subpel_y, sf, w, h,
&conv_params, mi->mbmi.interp_filters, subpel_params[ref].xs,
subpel_params[ref].ys,
#if CONFIG_SUPERTX
wedge_offset_x, wedge_offset_y,
#endif // CONFIG_SUPERTX
#if CONFIG_GLOBAL_MOTION || CONFIG_WARPED_MOTION || CONFIG_COMPOUND_SEGMENT
plane,
#endif
......@@ -1665,21 +1570,14 @@ static void build_inter_predictors_for_planes(const AV1_COMMON *cm,
#if CONFIG_MOTION_VAR
xd->mi[0], 0,
#endif // CONFIG_MOTION_VAR
y * 2 + x, bw, bh, 4 * x, 4 * y, pw, ph,
#if CONFIG_SUPERTX
0, 0,
#endif // CONFIG_SUPERTX
mi_x, mi_y);
y * 2 + x, bw, bh, 4 * x, 4 * y, pw, ph, mi_x,
mi_y);
} else {
build_inter_predictors(cm, xd, plane,
#if CONFIG_MOTION_VAR
xd->mi[0], 0,
#endif // CONFIG_MOTION_VAR
0, bw, bh, 0, 0, bw, bh,
#if CONFIG_SUPERTX
0, 0,
#endif // CONFIG_SUPERTX
mi_x, mi_y);
0, bw, bh, 0, 0, bw, bh, mi_x, mi_y);
}
}
}
......@@ -1770,193 +1668,6 @@ void av1_setup_pre_planes(MACROBLOCKD *xd, int idx,
}
}
#if CONFIG_SUPERTX
#if CONFIG_CB4X4
static const uint8_t mask_4[4] = { 64, 52, 12, 0 };
static const uint8_t mask_4_uv[4] = { 64, 52, 12, 0 };
#endif // CONFIG_CB4X4
static const uint8_t mask_8[8] = { 64, 64, 62, 52, 12, 2, 0, 0 };
static const uint8_t mask_16[16] = { 63, 62, 60, 58, 55, 50, 43, 36,
28, 21, 14, 9, 6, 4, 2, 1 };
static const uint8_t mask_32[32] = { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63,
61, 57, 52, 45, 36, 28, 19, 12, 7, 3, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
static const uint8_t mask_8_uv[8] = { 64, 64, 62, 52, 12, 2, 0, 0 };
static const uint8_t mask_16_uv[16] = { 64, 64, 64, 64, 61, 53, 45, 36,
28, 19, 11, 3, 0, 0, 0, 0 };
static const uint8_t mask_32_uv[32] = { 64, 64, 64, 64, 64, 64, 64, 64,