Commit 3bac9928 authored by Sebastien Alaiwan's avatar Sebastien Alaiwan

Remove experimental flag of EXT_TX

This experiment has been adopted, we can simplify the code
by dropping the associated preprocessor conditionals.

Change-Id: I02ed47186bbc32400ee9bfadda17659d859c0ef7
parent 1dbe92d6
......@@ -28,9 +28,7 @@ typedef struct txfm_param {
TX_SIZE tx_size;
int lossless;
int bd;
#if CONFIG_EXT_TX
TxSetType tx_set_type;
#endif // CONFIG_EXT_TX
#if CONFIG_MRC_TX || CONFIG_LGT
int is_inter;
#endif // CONFIG_MRC_TX || CONFIG_LGT
......
......@@ -35,7 +35,6 @@ static INLINE __m128i mm_reverse_epi16(const __m128i x) {
return _mm_shuffle_epi32(b, 0x4e);
}
#if CONFIG_EXT_TX
// Identity transform (both forward and inverse).
static INLINE void idtx16_8col(__m128i *in) {
const __m128i k__zero_epi16 = _mm_set1_epi16((int16_t)0);
......@@ -226,7 +225,6 @@ static INLINE void idtx16_8col(__m128i *in) {
in[14] = _mm_packs_epi32(u6, y6);
in[15] = _mm_packs_epi32(u7, y7);
}
#endif // CONFIG_EXT_TX
static INLINE void scale_sqrt2_8x4(__m128i *in) {
// Implements ROUND_POWER_OF_TWO(input * Sqrt2, DCT_CONST_BITS), for 32
......
......@@ -160,8 +160,6 @@ AV1_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/temporal_filter_msa.c
AV1_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/corner_match_sse4.c
ifeq ($(CONFIG_EXT_TX),yes)
AV1_CX_SRCS-yes += encoder/tx_prune_model_weights.h
endif
AV1_CX_SRCS-yes := $(filter-out $(AV1_CX_SRCS_REMOVE-yes),$(AV1_CX_SRCS-yes))
......@@ -1517,7 +1517,6 @@ void av1_fadst32_new(const int32_t *input, int32_t *output,
range_check(stage, input, bf1, size, stage_range[stage]);
}
#if CONFIG_EXT_TX
void av1_fidentity4_c(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range) {
(void)cos_bit;
......@@ -1557,7 +1556,6 @@ void av1_fidentity64_c(const int32_t *input, int32_t *output,
range_check(0, input, output, 64, stage_range[0]);
}
#endif // CONFIG_TX64X64
#endif // CONFIG_EXT_TX
#if CONFIG_TX64X64
void av1_fdct64_new(const int32_t *input, int32_t *output,
......
......@@ -39,7 +39,6 @@ void av1_fadst16_new(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
void av1_fadst32_new(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
#if CONFIG_EXT_TX
void av1_fidentity4_c(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
void av1_fidentity8_c(const int32_t *input, int32_t *output,
......@@ -52,7 +51,6 @@ void av1_fidentity32_c(const int32_t *input, int32_t *output,
void av1_fidentity64_c(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
#endif // CONFIG_TX64X64
#endif // CONFIG_EXT_TX
#ifdef __cplusplus
}
......
......@@ -314,7 +314,6 @@ static const TXFM_1D_CFG fwd_txfm_1d_col_cfg_adst_32 = {
TXFM_TYPE_ADST32, // .txfm_type
};
#if CONFIG_EXT_TX
// identity does not need to differentiate between row and col
// ---------------- row/col config fwd_identity_4 ----------
static const TXFM_1D_CFG fwd_txfm_1d_cfg_identity_4 = {
......@@ -359,5 +358,4 @@ static const TXFM_1D_CFG fwd_txfm_1d_cfg_identity_32 = {
NULL, // .cos_bit
TXFM_TYPE_IDENTITY32, // .txfm_type
};
#endif // CONFIG_EXT_TX
#endif // AV1_FWD_TXFM2D_CFG_H_
......@@ -31,7 +31,6 @@ static INLINE TxfmFunc fwd_txfm_type_to_func(TXFM_TYPE txfm_type) {
case TXFM_TYPE_ADST8: return av1_fadst8_new;
case TXFM_TYPE_ADST16: return av1_fadst16_new;
case TXFM_TYPE_ADST32: return av1_fadst32_new;
#if CONFIG_EXT_TX
case TXFM_TYPE_IDENTITY4: return av1_fidentity4_c;
case TXFM_TYPE_IDENTITY8: return av1_fidentity8_c;
case TXFM_TYPE_IDENTITY16: return av1_fidentity16_c;
......@@ -39,7 +38,6 @@ static INLINE TxfmFunc fwd_txfm_type_to_func(TXFM_TYPE txfm_type) {
#if CONFIG_TX64X64
case TXFM_TYPE_IDENTITY64: return av1_fidentity64_c;
#endif // CONFIG_TX64X64
#endif // CONFIG_EXT_TX
default: assert(0); return NULL;
}
}
......@@ -305,14 +303,12 @@ static const TXFM_1D_CFG *fwd_txfm_col_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
// ADST
{ &fwd_txfm_1d_col_cfg_adst_4, &fwd_txfm_1d_col_cfg_adst_8,
&fwd_txfm_1d_col_cfg_adst_16, &fwd_txfm_1d_col_cfg_adst_32 },
#if CONFIG_EXT_TX
// FLIPADST
{ &fwd_txfm_1d_col_cfg_adst_4, &fwd_txfm_1d_col_cfg_adst_8,
&fwd_txfm_1d_col_cfg_adst_16, &fwd_txfm_1d_col_cfg_adst_32 },
// IDENTITY
{ &fwd_txfm_1d_cfg_identity_4, &fwd_txfm_1d_cfg_identity_8,
&fwd_txfm_1d_cfg_identity_16, &fwd_txfm_1d_cfg_identity_32 },
#endif // CONFIG_EXT_TX
};
static const TXFM_1D_CFG *fwd_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
......@@ -322,14 +318,12 @@ static const TXFM_1D_CFG *fwd_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
// ADST
{ &fwd_txfm_1d_row_cfg_adst_4, &fwd_txfm_1d_row_cfg_adst_8,
&fwd_txfm_1d_row_cfg_adst_16, &fwd_txfm_1d_row_cfg_adst_32 },
#if CONFIG_EXT_TX
// FLIPADST
{ &fwd_txfm_1d_row_cfg_adst_4, &fwd_txfm_1d_row_cfg_adst_8,
&fwd_txfm_1d_row_cfg_adst_16, &fwd_txfm_1d_row_cfg_adst_32 },
// IDENTITY
{ &fwd_txfm_1d_cfg_identity_4, &fwd_txfm_1d_cfg_identity_8,
&fwd_txfm_1d_cfg_identity_16, &fwd_txfm_1d_cfg_identity_32 },
#endif // CONFIG_EXT_TX
};
TXFM_2D_FLIP_CFG av1_get_fwd_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size) {
......
......@@ -1563,7 +1563,6 @@ void av1_iadst32_new(const int32_t *input, int32_t *output,
range_check(stage, input, bf1, size, stage_range[stage]);
}
#if CONFIG_EXT_TX
void av1_iidentity4_c(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range) {
(void)cos_bit;
......@@ -1603,7 +1602,6 @@ void av1_iidentity64_c(const int32_t *input, int32_t *output,
range_check(0, input, output, 64, stage_range[0]);
}
#endif // CONFIG_TX64X64
#endif // CONFIG_EXT_TX
#if CONFIG_TX64X64
void av1_idct64_new(const int32_t *input, int32_t *output,
......
......@@ -39,7 +39,6 @@ void av1_iadst16_new(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
void av1_iadst32_new(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
#if CONFIG_EXT_TX
void av1_iidentity4_c(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
void av1_iidentity8_c(const int32_t *input, int32_t *output,
......@@ -52,7 +51,6 @@ void av1_iidentity32_c(const int32_t *input, int32_t *output,
void av1_iidentity64_c(const int32_t *input, int32_t *output,
const int8_t *cos_bit, const int8_t *stage_range);
#endif // CONFIG_TX64X64
#endif // CONFIG_EXT_TX
#ifdef __cplusplus
}
......
......@@ -306,7 +306,6 @@ static const TXFM_1D_CFG inv_txfm_1d_col_cfg_adst_32 = {
TXFM_TYPE_ADST32, // .txfm_type
};
#if CONFIG_EXT_TX
// identity does not need to differentiate between row and col
// ---------------- row/col config inv_identity_4 ----------
static const TXFM_1D_CFG inv_txfm_1d_cfg_identity_4 = {
......@@ -359,5 +358,4 @@ static const TXFM_1D_CFG inv_txfm_1d_cfg_identity_64 = {
TXFM_TYPE_IDENTITY64, // .txfm_type
};
#endif // CONFIG_TX64X64
#endif // CONFIG_EXT_TX
#endif // AV1_INV_TXFM2D_CFG_H_
......@@ -29,7 +29,6 @@ static INLINE TxfmFunc inv_txfm_type_to_func(TXFM_TYPE txfm_type) {
case TXFM_TYPE_ADST8: return av1_iadst8_new;
case TXFM_TYPE_ADST16: return av1_iadst16_new;
case TXFM_TYPE_ADST32: return av1_iadst32_new;
#if CONFIG_EXT_TX
case TXFM_TYPE_IDENTITY4: return av1_iidentity4_c;
case TXFM_TYPE_IDENTITY8: return av1_iidentity8_c;
case TXFM_TYPE_IDENTITY16: return av1_iidentity16_c;
......@@ -37,7 +36,6 @@ static INLINE TxfmFunc inv_txfm_type_to_func(TXFM_TYPE txfm_type) {
#if CONFIG_TX64X64
case TXFM_TYPE_IDENTITY64: return av1_iidentity64_c;
#endif // CONFIG_TX64X64
#endif // CONFIG_EXT_TX
default: assert(0); return NULL;
}
}
......@@ -57,7 +55,6 @@ static const TXFM_1D_CFG *inv_txfm_col_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
NULL
#endif // CONFIG_TX64X64
},
#if CONFIG_EXT_TX
// FLIPADST
{ &inv_txfm_1d_col_cfg_adst_4, &inv_txfm_1d_col_cfg_adst_8,
&inv_txfm_1d_col_cfg_adst_16, &inv_txfm_1d_col_cfg_adst_32,
......@@ -72,7 +69,6 @@ static const TXFM_1D_CFG *inv_txfm_col_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
&inv_txfm_1d_cfg_identity_64
#endif // CONFIG_TX64X64
},
#endif // CONFIG_EXT_TX
};
static const TXFM_1D_CFG *inv_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
......@@ -91,7 +87,6 @@ static const TXFM_1D_CFG *inv_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
NULL
#endif // CONFIG_TX64X64
},
#if CONFIG_EXT_TX
// FLIPADST
{ &inv_txfm_1d_row_cfg_adst_4, &inv_txfm_1d_row_cfg_adst_8,
&inv_txfm_1d_row_cfg_adst_16, &inv_txfm_1d_row_cfg_adst_32,
......@@ -106,7 +101,6 @@ static const TXFM_1D_CFG *inv_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
&inv_txfm_1d_cfg_identity_64
#endif // CONFIG_TX64X64
},
#endif // CONFIG_EXT_TX
};
TXFM_2D_FLIP_CFG av1_get_inv_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size) {
......
......@@ -125,17 +125,6 @@ if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
add_proto qw/void av1_iht32x32_1024_add/, "const tran_low_t *input, uint8_t *output, int pitch, const struct txfm_param *param";
if (aom_config("CONFIG_HIGHBITDEPTH") ne "yes") {
if (aom_config("CONFIG_EXT_TX") ne "yes") {
if (aom_config("CONFIG_DAALA_TX4") ne "yes") {
specialize qw/av1_iht4x4_16_add msa/;
}
if (aom_config("CONFIG_DAALA_TX8") ne "yes") {
specialize qw/av1_iht8x8_64_add msa/;
}
if (aom_config("CONFIG_DAALA_TX16") ne "yes") {
specialize qw/av1_iht16x16_256_add msa/;
}
}
}
add_proto qw/void av1_iht32x32_1024_add/, "const tran_low_t *input, uint8_t *output, int pitch, const struct txfm_param *param";
......@@ -364,19 +353,6 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/void av1_fht32x8/, "const int16_t *input, tran_low_t *output, int stride, struct txfm_param *param";
if (aom_config("CONFIG_HIGHBITDEPTH") ne "yes") {
if (aom_config("CONFIG_EXT_TX") ne "yes") {
if (aom_config("CONFIG_DAALA_TX4") ne "yes") {
specialize qw/av1_fht4x4 msa/;
}
if (aom_config("CONFIG_DAALA_TX8") ne "yes") {
specialize qw/av1_fht8x8 msa/;
}
if (aom_config("CONFIG_DAALA_TX16") ne "yes") {
specialize qw/av1_fht16x16 msa/;
}
}
}
add_proto qw/void av1_fwd_idtx/, "const int16_t *src_diff, tran_low_t *coeff, int stride, int bsx, int bsy, TX_TYPE tx_type";
......
......@@ -153,7 +153,6 @@ static INLINE void set_flip_cfg(TX_TYPE tx_type, TXFM_2D_FLIP_CFG *cfg) {
cfg->ud_flip = 0;
cfg->lr_flip = 0;
break;
#if CONFIG_EXT_TX
case IDTX:
case V_DCT:
case H_DCT:
......@@ -178,7 +177,6 @@ static INLINE void set_flip_cfg(TX_TYPE tx_type, TXFM_2D_FLIP_CFG *cfg) {
cfg->ud_flip = 1;
cfg->lr_flip = 1;
break;
#endif // CONFIG_EXT_TX
default:
cfg->ud_flip = 0;
cfg->lr_flip = 0;
......@@ -218,7 +216,6 @@ static INLINE TX_TYPE av1_rotate_tx_type(TX_TYPE tx_type) {
case ADST_DCT: return DCT_ADST;
case DCT_ADST: return ADST_DCT;
case ADST_ADST: return ADST_ADST;
#if CONFIG_EXT_TX
case FLIPADST_DCT: return DCT_FLIPADST;
case DCT_FLIPADST: return FLIPADST_DCT;
case FLIPADST_FLIPADST: return FLIPADST_FLIPADST;
......@@ -231,7 +228,6 @@ static INLINE TX_TYPE av1_rotate_tx_type(TX_TYPE tx_type) {
case H_ADST: return V_ADST;
case V_FLIPADST: return H_FLIPADST;
case H_FLIPADST: return V_FLIPADST;
#endif // CONFIG_EXT_TX
#if CONFIG_MRC_TX
case MRC_DCT: return MRC_DCT;
#endif // CONFIG_MRC_TX
......
......@@ -803,7 +803,6 @@ static INLINE int block_signals_txsize(BLOCK_SIZE bsize) {
#define SIGNAL_ANY_MRC_MASK (SIGNAL_MRC_MASK_INTRA || SIGNAL_MRC_MASK_INTER)
#endif // CONFIG_MRC_TX
#if CONFIG_EXT_TX
#define ALLOW_INTRA_EXT_TX 1
// Number of transform types in each set type
......@@ -1031,7 +1030,6 @@ static INLINE int is_rect_tx_allowed(const MACROBLOCKD *xd,
return is_rect_tx_allowed_bsize(mbmi->sb_type) &&
!xd->lossless[mbmi->segment_id];
}
#endif // CONFIG_EXT_TX
#if CONFIG_RECT_TX_EXT
static INLINE int is_quarter_tx_allowed_bsize(BLOCK_SIZE bsize) {
......@@ -1156,12 +1154,11 @@ static INLINE TX_TYPE av1_get_tx_type(PLANE_TYPE plane_type,
const MB_MODE_INFO *const mbmi = &mi->mbmi;
(void)blk_row;
(void)blk_col;
#if CONFIG_INTRABC && (!CONFIG_EXT_TX || CONFIG_TXK_SEL)
#if CONFIG_INTRABC && (CONFIG_TXK_SEL)
// TODO(aconverse@google.com): Handle INTRABC + EXT_TX + TXK_SEL
if (is_intrabc_block(mbmi)) return DCT_DCT;
#endif // CONFIG_INTRABC && (!CONFIG_EXT_TX || CONFIG_TXK_SEL)
#endif // CONFIG_INTRABC && (CONFIG_TXK_SEL)
#if CONFIG_EXT_TX
const struct macroblockd_plane *const pd = &xd->plane[plane_type];
const BLOCK_SIZE plane_bsize = get_plane_block_size(mbmi->sb_type, pd);
// TODO(sarahparker) This assumes reduced_tx_set_used == 0. I will do a
......@@ -1171,7 +1168,6 @@ static INLINE TX_TYPE av1_get_tx_type(PLANE_TYPE plane_type,
get_ext_tx_set_type(tx_size, plane_bsize, is_inter_block(mbmi), 0);
if (is_inter_block(mbmi) && !av1_ext_tx_used[tx_set_type][mbmi->tx_type])
return DCT_DCT;
#endif // CONFIG_EXT_TX
#if CONFIG_TXK_SEL
TX_TYPE tx_type;
......@@ -1186,10 +1182,8 @@ static INLINE TX_TYPE av1_get_tx_type(PLANE_TYPE plane_type,
tx_type = intra_mode_to_tx_type_context[mbmi->uv_mode];
}
assert(tx_type >= DCT_DCT && tx_type < TX_TYPES);
#if CONFIG_EXT_TX
if (is_inter_block(mbmi) && !av1_ext_tx_used[tx_set_type][tx_type])
return DCT_DCT;
#endif // CONFIG_EXT_TX
return tx_type;
#endif // CONFIG_TXK_SEL
......@@ -1198,7 +1192,6 @@ static INLINE TX_TYPE av1_get_tx_type(PLANE_TYPE plane_type,
return get_default_tx_type(plane_type, xd, block_raster_idx, tx_size);
#endif // FIXED_TX_TYPE
#if CONFIG_EXT_TX
#if CONFIG_MRC_TX
if (mbmi->tx_type == MRC_DCT) {
assert(((is_inter_block(mbmi) && USE_MRC_INTER) ||
......@@ -1238,22 +1231,6 @@ static INLINE TX_TYPE av1_get_tx_type(PLANE_TYPE plane_type,
intra_mode_to_tx_type_context[get_uv_mode(mbmi->uv_mode)];
if (!av1_ext_tx_used[tx_set_type][intra_type]) return DCT_DCT;
return intra_type;
#else // CONFIG_EXT_TX
(void)block;
#if CONFIG_MRC_TX
if (mbmi->tx_type == MRC_DCT) {
if (plane_type == PLANE_TYPE_Y && !xd->lossless[mbmi->segment_id]) {
assert(tx_size == TX_32X32);
return mbmi->tx_type;
}
return DCT_DCT;
}
#endif // CONFIG_MRC_TX
if (plane_type != PLANE_TYPE_Y || xd->lossless[mbmi->segment_id] ||
txsize_sqr_map[tx_size] >= TX_32X32)
return DCT_DCT;
return mbmi->tx_type;
#endif // CONFIG_EXT_TX
}
void av1_setup_block_planes(MACROBLOCKD *xd, int ss_x, int ss_y);
......
......@@ -777,18 +777,14 @@ static const TX_SIZE quarter_txsize_lookup[BLOCK_SIZES_ALL] = {
static const TX_TYPE_1D vtx_tab[TX_TYPES] = {
DCT_1D, ADST_1D, DCT_1D, ADST_1D,
#if CONFIG_EXT_TX
FLIPADST_1D, DCT_1D, FLIPADST_1D, ADST_1D, FLIPADST_1D, IDTX_1D,
DCT_1D, IDTX_1D, ADST_1D, IDTX_1D, FLIPADST_1D, IDTX_1D,
#endif // CONFIG_EXT_TX
};
static const TX_TYPE_1D htx_tab[TX_TYPES] = {
DCT_1D, DCT_1D, ADST_1D, ADST_1D,
#if CONFIG_EXT_TX
DCT_1D, FLIPADST_1D, FLIPADST_1D, FLIPADST_1D, ADST_1D, IDTX_1D,
IDTX_1D, DCT_1D, IDTX_1D, ADST_1D, IDTX_1D, FLIPADST_1D,
#endif // CONFIG_EXT_TX
};
// Same as "max_txsize_lookup[bsize] - TX_8X8", except for rectangular
......
......@@ -72,7 +72,6 @@ extern "C" {
#define USE_CAUSAL_BASE_CTX 0
#if CONFIG_EXT_TX
#define SIG_COEF_CONTEXTS_2D 26
#define SIG_COEF_CONTEXTS_1D 16
#if USE_CAUSAL_BASE_CTX
......@@ -81,10 +80,6 @@ extern "C" {
#define SIG_COEF_CONTEXTS \
(SIG_COEF_CONTEXTS_2D + SIG_COEF_CONTEXTS_1D + SIG_COEF_CONTEXTS_1D)
#endif // USE_CAUSAL_BASE_CTX
#else // CONFIG_EXT_TX
#define SIG_COEF_CONTEXTS_2D 16
#define SIG_COEF_CONTEXTS 16
#endif // CONFIG_EXT_TX
#if USE_CAUSAL_BASE_CTX
#define COEFF_BASE_CONTEXTS (SIG_COEF_CONTEXTS)
......
......@@ -2662,7 +2662,6 @@ static const aom_cdf_prob
};
#endif
#if CONFIG_EXT_TX
static const aom_cdf_prob default_intra_ext_tx_cdf
[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
{
......@@ -3112,85 +3111,6 @@ static const aom_cdf_prob
{ AOM_ICDF(19072), AOM_ICDF(26776), AOM_ICDF(32768), 0 } },
#endif // CONFIG_MRC_TX
};
#else
#if CONFIG_MRC_TX
static const aom_cdf_prob
default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
{ { AOM_ICDF(30720), AOM_ICDF(31104), AOM_ICDF(31400), AOM_ICDF(32084),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(31764),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(512), AOM_ICDF(582), AOM_ICDF(638), AOM_ICDF(1642),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(512), AOM_ICDF(1280), AOM_ICDF(31760), AOM_ICDF(32264),
AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(31232), AOM_ICDF(31488), AOM_ICDF(31742), AOM_ICDF(32255),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(1024), AOM_ICDF(1152), AOM_ICDF(1272), AOM_ICDF(31784),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(1024), AOM_ICDF(1152), AOM_ICDF(1272), AOM_ICDF(2256),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(1024), AOM_ICDF(1052), AOM_ICDF(1272), AOM_ICDF(2256),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(1024), AOM_ICDF(1792), AOM_ICDF(31776), AOM_ICDF(32272),
AOM_ICDF(32768), 0 } },
{ { AOM_ICDF(31744), AOM_ICDF(31940), AOM_ICDF(32084), AOM_ICDF(32426),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(31823),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(3473),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(2048), AOM_ICDF(2176), AOM_ICDF(2528), AOM_ICDF(3473),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(2048), AOM_ICDF(28160), AOM_ICDF(31808), AOM_ICDF(32288),
AOM_ICDF(32768), 0 } },
};
static const aom_cdf_prob
default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
{ AOM_ICDF(20480), AOM_ICDF(23040), AOM_ICDF(24560), AOM_ICDF(28664),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(22528), AOM_ICDF(24320), AOM_ICDF(25928), AOM_ICDF(29348),
AOM_ICDF(32768), 0 },
{ AOM_ICDF(24576), AOM_ICDF(25600), AOM_ICDF(27296), AOM_ICDF(30032),
AOM_ICDF(32768), 0 },
};
#else // CONFIG_MRC_TX
static const aom_cdf_prob
default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
{ { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
0 },
{ AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
{ AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(1642), AOM_ICDF(32768), 0 },
{ AOM_ICDF(512), AOM_ICDF(31760), AOM_ICDF(32264), AOM_ICDF(32768),
0 } },
{ { AOM_ICDF(31232), AOM_ICDF(31742), AOM_ICDF(32255), AOM_ICDF(32768),
0 },
{ AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(31784), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1024), AOM_ICDF(1272), AOM_ICDF(2256), AOM_ICDF(32768), 0 },
{ AOM_ICDF(1024), AOM_ICDF(31776), AOM_ICDF(32272), AOM_ICDF(32768),
0 } },
{ { AOM_ICDF(31744), AOM_ICDF(32084), AOM_ICDF(32426), AOM_ICDF(32768),
0 },
{ AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(31823), AOM_ICDF(32768), 0 },
{ AOM_ICDF(2048), AOM_ICDF(2528), AOM_ICDF(3473), AOM_ICDF(32768), 0 },
{ AOM_ICDF(2048), AOM_ICDF(31808), AOM_ICDF(32288), AOM_ICDF(32768),
0 } },
};
static const aom_cdf_prob
default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
{ AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
{ AOM_ICDF(22528), AOM_ICDF(25928), AOM_ICDF(29348), AOM_ICDF(32768), 0 },
{ AOM_ICDF(24576), AOM_ICDF(27296), AOM_ICDF(30032), AOM_ICDF(32768), 0 },
};
#endif // CONFIG_MRC_TX
#endif // !CONFIG_EXT_TX
#if CONFIG_CFL
static const aom_cdf_prob default_cfl_sign_cdf[CDF_SIZE(CFL_JOINT_SIGNS)] = {
......
......@@ -351,15 +351,10 @@ typedef struct frame_contexts {
#endif // CONFIG_LOOPFILTER_LEVEL
aom_cdf_prob delta_lf_cdf[CDF_SIZE(DELTA_LF_PROBS + 1)];
#endif
#if CONFIG_EXT_TX
aom_cdf_prob intra_ext_tx_cdf[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES]
[CDF_SIZE(TX_TYPES)];
aom_cdf_prob inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES]
[CDF_SIZE(TX_TYPES)];
#else
aom_cdf_prob intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)];
aom_cdf_prob inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)];
#endif // CONFIG_EXT_TX
#if CONFIG_LGT_FROM_PRED
aom_prob intra_lgt_prob[LGT_SIZES][INTRA_MODES];
aom_prob inter_lgt_prob[LGT_SIZES];
......@@ -500,18 +495,11 @@ typedef struct FRAME_COUNTS {
#endif // CONFIG_LOOPFILTER_LEVEL
unsigned int delta_lf[DELTA_LF_PROBS][2];
#endif
#if CONFIG_EXT_TX
unsigned int tx_size_implied[TX_SIZES][TX_SIZES];
#endif // CONFIG_EXT_TX
#if CONFIG_ENTROPY_STATS
#if CONFIG_EXT_TX
unsigned int inter_ext_tx[EXT_TX_SETS_INTER][EXT_TX_SIZES][TX_TYPES];
unsigned int intra_ext_tx[EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES]
[TX_TYPES];
#else
unsigned int intra_ext_tx[EXT_TX_SIZES][TX_TYPES][TX_TYPES];
unsigned int inter_ext_tx[EXT_TX_SIZES][TX_TYPES];
#endif // CONFIG_EXT_TX
#endif // CONFIG_ENTROPY_STATS
struct seg_counts seg;
#if CONFIG_FILTER_INTRA
......@@ -539,7 +527,6 @@ extern const aom_prob av1_default_palette_y_mode_prob[PALETTE_BLOCK_SIZES]
extern const aom_prob
av1_default_palette_uv_mode_prob[PALETTE_UV_MODE_CONTEXTS];
#if CONFIG_EXT_TX
static const int av1_ext_tx_ind[EXT_TX_SET_TYPES][TX_TYPES] = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
......@@ -597,23 +584,6 @@ static const int av1_ext_tx_inv[EXT_TX_SET_TYPES][TX_TYPES] = {
9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 4, 5, 3, 6, 7, 8,
},
};
#else
#if CONFIG_MRC_TX
static const int av1_ext_tx_ind[TX_TYPES] = {
0, 3, 4, 2, 1,
};
static const int av1_ext_tx_inv[TX_TYPES] = {
0, 4, 3, 1, 2,
};
#else
static const int av1_ext_tx_ind[TX_TYPES] = {
0, 2, 3, 1,
};
static const int av1_ext_tx_inv[TX_TYPES] = {
0, 3, 1, 2,
};
#endif // CONFIG_MRC_TX
#endif // CONFIG_EXT_TX
extern const aom_tree_index
av1_interintra_mode_tree[TREE_SIZE(INTERINTRA_MODES)];
......@@ -631,12 +601,8 @@ extern const aom_tree_index
#endif
extern const aom_tree_index
av1_palette_color_index_tree[PALETTE_SIZES][TREE_SIZE(PALETTE_COLORS)];
#if CONFIG_EXT_TX
extern const aom_tree_index av1_ext_tx_tree[EXT_TX_SET_TYPES]
[TREE_SIZE(TX_TYPES)];
#else
extern const aom_tree_index av1_ext_tx_tree[TREE_SIZE(TX_TYPES)];
#endif // CONFIG_EXT_TX
extern const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)];
#if CONFIG_NCOBMC_ADAPT_WEIGHT
extern const aom_tree_index av1_ncobmc_mode_tree[TREE_SIZE(MAX_NCOBMC_MODES)];
......
......@@ -309,7 +309,6 @@ typedef enum ATTRIBUTE_PACKED {
ADST_DCT, // ADST in vertical, DCT in horizontal
DCT_ADST, // DCT in vertical, ADST in horizontal
ADST_ADST, // ADST in both directions
#if CONFIG_EXT_TX
FLIPADST_DCT,
DCT_FLIPADST,
FLIPADST_FLIPADST,
......@@ -322,7 +321,6 @@ typedef enum ATTRIBUTE_PACKED {
H_ADST,
V_FLIPADST,
H_FLIPADST,
#endif // CONFIG_EXT_TX
#if CONFIG_MRC_TX
MRC_DCT, // DCT in both directions with mrc based bitmask
#endif // CONFIG_MRC_TX
......@@ -343,7 +341,6 @@ typedef enum {
} DUAL_FILTER_TYPE;
#endif
#if CONFIG_EXT_TX
typedef enum ATTRIBUTE_PACKED {
// DCT only
EXT_TX_SET_DCTONLY,
......@@ -367,9 +364,6 @@ typedef enum ATTRIBUTE_PACKED {
} TxSetType;
#define IS_2D_TRANSFORM(tx_type) (tx_type < IDTX)
#else
#define IS_2D_TRANSFORM(tx_type) 1
#endif
typedef enum ATTRIBUTE_PACKED {
TILE_LEFT_BOUNDARY = 1,
......@@ -382,7 +376,6 @@ typedef enum ATTRIBUTE_PACKED {
FRAME_BOTTOM_BOUNDARY = 128,
} BOUNDARY_TYPE;
#if CONFIG_EXT_TX
#define EXT_TX_SIZES 4 // number of sizes that use extended transforms
#if CONFIG_MRC_TX
#define EXT_TX_SETS_INTER 5 // Sets of transform selections for INTER
......@@ -391,9 +384,6 @@ typedef enum ATTRIBUTE_PACKED {
#define EXT_TX_SETS_INTER 4 // Sets of transform selections for INTER
#define EXT_TX_SETS_INTRA 3 // Sets of transform selections for INTRA
#endif // CONFIG_MRC_TX
#else
#define EXT_TX_SIZES 3 // number of sizes that use extended transforms
#endif // CONFIG_EXT_TX
typedef enum ATTRIBUTE_PACKED {
AOM_LAST_FLAG = 1 << 0,
......
This diff is collapsed.
......@@ -74,11 +74,8 @@ void av1_inverse_transform_block(const MACROBLOCKD *xd,
#if CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
uint8_t *mrc_mask,
#endif // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK
#if CONFIG_EXT_TX
int plane,
#endif // CONFIG_EXT_TX
TX_TYPE tx_type, TX_SIZE tx_size, uint8_t *dst,
int stride, int eob);
int plane, TX_TYPE tx_type, TX_SIZE tx_size,
uint8_t *dst, int stride, int eob);
void av1_inverse_transform_block_facade(MACROBLOCKD *xd, int plane, int block,
int blk_row, int blk_col, int eob);
......
......@@ -384,9 +384,7 @@ typedef struct AV1Common {
int all_lossless;
int frame_parallel_decode; // frame-based threading.
#if CONFIG_EXT_TX
int reduced_tx_set_used;
#endif // CONFIG_EXT_TX
// Context probabilities for reference frame prediction
MV_REFERENCE_FRAME comp_fwd_ref[FWD_REFS];
......
This diff is collapsed.
......@@ -88,13 +88,8 @@ static INLINE const SCAN_ORDER *get_default_scan(TX_SIZE tx_size,
static INLINE int do_adapt_scan(TX_SIZE tx_size, TX_TYPE tx_type) {
(void)tx_size;
#if CONFIG_EXT_TX
if (tx_size_2d[tx_size] >= 1024 && tx_type != DCT_DCT) return 0;
return tx_type < IDTX;
#else
(void)tx_type;
return 1;
#endif
}
static INLINE const SCAN_ORDER *get_scan(const AV1_COMMON *cm, TX_SIZE tx_size,
......@@ -111,11 +106,9 @@ static INLINE const SCAN_ORDER *get_scan(const AV1_COMMON *cm, TX_SIZE tx_size,
#if CONFIG_ADAPT_SCAN
(void)mbmi;
(void)is_inter;
#if CONFIG_EXT_TX
if (!do_adapt_scan(tx_size, tx_type))
return get_default_scan(tx_size, tx_type, is_inter);
else
#endif // CONFIG_EXT_TX
return &cm->fc->sc[tx_size][tx_type];
#else // CONFIG_ADAPT_SCAN
(void)cm;
......
......@@ -399,14 +399,12 @@ static INLINE int get_nz_count(const tran_low_t *tcoeffs, int bwl, int height,
static INLINE TX_CLASS get_tx_class(TX_TYPE tx_type) {
switch (tx_type) {
#if CONFIG_EXT_TX
case V_DCT:
case V_ADST:
case V_FLIPADST: return TX_CLASS_VERT;
case H_DCT:
case H_ADST:
case H_FLIPADST: return TX_CLASS_HORIZ;
#endif
default: return TX_CLASS_2D;
}
}
......@@ -426,7 +424,6 @@ static INLINE int get_nz_map_ctx_from_count(int count,
const int width = 1 << bwl;
int ctx = 0;
#if CONFIG_EXT_TX
int tx_class = get_tx_class(tx_type);
int offset;
if (tx_class == TX_CLASS_2D)
......@@ -439,9 +436,6 @@ static INLINE int get_nz_map_ctx_from_count(int count,
#else
offset = SIG_COEF_CONTEXTS_2D + SIG_COEF_CONTEXTS_1D;
#endif
#else
int