Commit d3d4159f authored by Yaowu Xu's avatar Yaowu Xu Committed by Urvang Joshi

Remove CONFIG_TX64X64

The experiment is fully adopted.

Change-Id: I6cc80a2acf0c93c13b0e36e6f4a2378fe5ce33c3
parent 1fc3df55
...@@ -64,11 +64,7 @@ if (aom_config("CONFIG_EXT_PARTITION_TYPES") eq "yes") { ...@@ -64,11 +64,7 @@ if (aom_config("CONFIG_EXT_PARTITION_TYPES") eq "yes") {
} }
} }
@tx_dims = (2, 4, 8, 16, 32); @tx_dims = (2, 4, 8, 16, 32, 64);
if (aom_config("CONFIG_TX64X64") eq "yes") {
push @tx_dims, '64';
}
@tx_sizes = (); @tx_sizes = ();
foreach $w (@tx_dims) { foreach $w (@tx_dims) {
push @tx_sizes, [$w, $w]; push @tx_sizes, [$w, $w];
......
...@@ -99,7 +99,6 @@ static INLINE void d135_predictor(uint8_t *dst, ptrdiff_t stride, int bw, ...@@ -99,7 +99,6 @@ static INLINE void d135_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
int bh, const uint8_t *above, int bh, const uint8_t *above,
const uint8_t *left) { const uint8_t *left) {
int i; int i;
#if CONFIG_TX64X64
#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 7 #if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 7
// silence a spurious -Warray-bounds warning, possibly related to: // silence a spurious -Warray-bounds warning, possibly related to:
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273 // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273
...@@ -107,15 +106,6 @@ static INLINE void d135_predictor(uint8_t *dst, ptrdiff_t stride, int bw, ...@@ -107,15 +106,6 @@ static INLINE void d135_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
#else #else
uint8_t border[64 + 64 - 1]; // outer border from bottom-left to top-right uint8_t border[64 + 64 - 1]; // outer border from bottom-left to top-right
#endif #endif
#else
#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 7
// silence a spurious -Warray-bounds warning, possibly related to:
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273
uint8_t border[69];
#else
uint8_t border[32 + 32 - 1]; // outer border from bottom-left to top-right
#endif
#endif // CONFIG_TX64X64
// dst(bh, bh - 2)[0], i.e., border starting at bottom-left // dst(bh, bh - 2)[0], i.e., border starting at bottom-left
for (i = 0; i < bh - 2; ++i) { for (i = 0; i < bh - 2; ++i) {
...@@ -446,7 +436,6 @@ void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride, ...@@ -446,7 +436,6 @@ void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t stride,
dc_predictor_rect(dst, stride, 32, 16, above, left, DC_MULTIPLIER_1X2, 13); dc_predictor_rect(dst, stride, 32, 16, above, left, DC_MULTIPLIER_1X2, 13);
} }
#if CONFIG_TX64X64
void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride, void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) { const uint8_t *above, const uint8_t *left) {
dc_predictor_rect(dst, stride, 16, 64, above, left, DC_MULTIPLIER_1X4, 14); dc_predictor_rect(dst, stride, 16, 64, above, left, DC_MULTIPLIER_1X4, 14);
...@@ -466,7 +455,6 @@ void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride, ...@@ -466,7 +455,6 @@ void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) { const uint8_t *above, const uint8_t *left) {
dc_predictor_rect(dst, stride, 64, 32, above, left, DC_MULTIPLIER_1X2, 14); dc_predictor_rect(dst, stride, 64, 32, above, left, DC_MULTIPLIER_1X2, 14);
} }
#endif // CONFIG_TX64X64
void aom_d45e_predictor_2x2_c(uint8_t *dst, ptrdiff_t stride, void aom_d45e_predictor_2x2_c(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) { const uint8_t *above, const uint8_t *left) {
...@@ -1108,7 +1096,6 @@ void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride, ...@@ -1108,7 +1096,6 @@ void aom_highbd_dc_predictor_32x16_c(uint16_t *dst, ptrdiff_t stride,
DC_MULTIPLIER_1X2, 13); DC_MULTIPLIER_1X2, 13);
} }
#if CONFIG_TX64X64
void aom_highbd_dc_predictor_16x64_c(uint16_t *dst, ptrdiff_t stride, void aom_highbd_dc_predictor_16x64_c(uint16_t *dst, ptrdiff_t stride,
const uint16_t *above, const uint16_t *above,
const uint16_t *left, int bd) { const uint16_t *left, int bd) {
...@@ -1136,7 +1123,6 @@ void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride, ...@@ -1136,7 +1123,6 @@ void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd, highbd_dc_predictor_rect(dst, stride, 64, 32, above, left, bd,
DC_MULTIPLIER_1X2, 14); DC_MULTIPLIER_1X2, 14);
} }
#endif // CONFIG_TX64X64
// This serves as a wrapper function, so that all the prediction functions // This serves as a wrapper function, so that all the prediction functions
// can be unified and accessed as a pointer array. Note that the boundary // can be unified and accessed as a pointer array. Note that the boundary
...@@ -1156,7 +1142,6 @@ void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride, ...@@ -1156,7 +1142,6 @@ void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
} }
/* clang-format off */ /* clang-format off */
#if CONFIG_TX64X64
#define intra_pred_rectangular(type) \ #define intra_pred_rectangular(type) \
intra_pred_sized(type, 4, 8) \ intra_pred_sized(type, 4, 8) \
intra_pred_sized(type, 8, 4) \ intra_pred_sized(type, 8, 4) \
...@@ -1215,54 +1200,6 @@ void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride, ...@@ -1215,54 +1200,6 @@ void aom_highbd_dc_predictor_64x32_c(uint16_t *dst, ptrdiff_t stride,
intra_pred_highbd_sized(type, 16, 16) \ intra_pred_highbd_sized(type, 16, 16) \
intra_pred_highbd_sized(type, 32, 32) \ intra_pred_highbd_sized(type, 32, 32) \
intra_pred_highbd_sized(type, 64, 64) intra_pred_highbd_sized(type, 64, 64)
#else // CONFIG_TX64X64
#define intra_pred_rectangular(type) \
intra_pred_sized(type, 4, 8) \
intra_pred_sized(type, 8, 4) \
intra_pred_sized(type, 8, 16) \
intra_pred_sized(type, 16, 8) \
intra_pred_sized(type, 16, 32) \
intra_pred_sized(type, 32, 16) \
intra_pred_sized(type, 4, 16) \
intra_pred_sized(type, 16, 4) \
intra_pred_sized(type, 8, 32) \
intra_pred_sized(type, 32, 8) \
intra_pred_highbd_sized(type, 4, 8) \
intra_pred_highbd_sized(type, 8, 4) \
intra_pred_highbd_sized(type, 8, 16) \
intra_pred_highbd_sized(type, 16, 8) \
intra_pred_highbd_sized(type, 16, 32) \
intra_pred_highbd_sized(type, 32, 16) \
intra_pred_highbd_sized(type, 4, 16) \
intra_pred_highbd_sized(type, 16, 4) \
intra_pred_highbd_sized(type, 8, 32) \
intra_pred_highbd_sized(type, 32, 8)
#define intra_pred_above_4x4(type) \
intra_pred_sized(type, 8, 8) \
intra_pred_sized(type, 16, 16) \
intra_pred_sized(type, 32, 32) \
intra_pred_highbd_sized(type, 4, 4) \
intra_pred_highbd_sized(type, 8, 8) \
intra_pred_highbd_sized(type, 16, 16) \
intra_pred_highbd_sized(type, 32, 32) \
intra_pred_rectangular(type)
#define intra_pred_allsizes(type) \
intra_pred_sized(type, 2, 2) \
intra_pred_sized(type, 4, 4) \
intra_pred_highbd_sized(type, 2, 2) \
intra_pred_above_4x4(type)
#define intra_pred_square(type) \
intra_pred_sized(type, 2, 2) \
intra_pred_sized(type, 4, 4) \
intra_pred_sized(type, 8, 8) \
intra_pred_sized(type, 16, 16) \
intra_pred_sized(type, 32, 32) \
intra_pred_highbd_sized(type, 2, 2) \
intra_pred_highbd_sized(type, 4, 4) \
intra_pred_highbd_sized(type, 8, 8) \
intra_pred_highbd_sized(type, 16, 16) \
intra_pred_highbd_sized(type, 32, 32)
#endif // CONFIG_TX64X64
intra_pred_allsizes(d207e) intra_pred_allsizes(d207e)
intra_pred_allsizes(d63e) intra_pred_allsizes(d63e)
......
...@@ -18,12 +18,8 @@ ...@@ -18,12 +18,8 @@
// 2^sm_weight_log2_scale. // 2^sm_weight_log2_scale.
static const int sm_weight_log2_scale = 8; static const int sm_weight_log2_scale = 8;
#if CONFIG_TX64X64
// max(block_size_wide[BLOCK_LARGEST], block_size_high[BLOCK_LARGEST]) // max(block_size_wide[BLOCK_LARGEST], block_size_high[BLOCK_LARGEST])
#define MAX_BLOCK_DIM 64 #define MAX_BLOCK_DIM 64
#else
#define MAX_BLOCK_DIM 32
#endif // CONFIG_TX64X64
/* clang-format off */ /* clang-format off */
static const uint8_t sm_weight_arrays[2 * MAX_BLOCK_DIM] = { static const uint8_t sm_weight_arrays[2 * MAX_BLOCK_DIM] = {
...@@ -40,13 +36,11 @@ static const uint8_t sm_weight_arrays[2 * MAX_BLOCK_DIM] = { ...@@ -40,13 +36,11 @@ static const uint8_t sm_weight_arrays[2 * MAX_BLOCK_DIM] = {
// bs = 32 // bs = 32
255, 240, 225, 210, 196, 182, 169, 157, 145, 133, 122, 111, 101, 92, 83, 74, 255, 240, 225, 210, 196, 182, 169, 157, 145, 133, 122, 111, 101, 92, 83, 74,
66, 59, 52, 45, 39, 34, 29, 25, 21, 17, 14, 12, 10, 9, 8, 8, 66, 59, 52, 45, 39, 34, 29, 25, 21, 17, 14, 12, 10, 9, 8, 8,
#if CONFIG_TX64X64
// bs = 64 // bs = 64
255, 248, 240, 233, 225, 218, 210, 203, 196, 189, 182, 176, 169, 163, 156, 255, 248, 240, 233, 225, 218, 210, 203, 196, 189, 182, 176, 169, 163, 156,
150, 144, 138, 133, 127, 121, 116, 111, 106, 101, 96, 91, 86, 82, 77, 73, 69, 150, 144, 138, 133, 127, 121, 116, 111, 106, 101, 96, 91, 86, 82, 77, 73, 69,
65, 61, 57, 54, 50, 47, 44, 41, 38, 35, 32, 29, 27, 25, 22, 20, 18, 16, 15, 65, 61, 57, 54, 50, 47, 44, 41, 38, 35, 32, 29, 27, 25, 22, 20, 18, 16, 15,
13, 12, 10, 9, 8, 7, 6, 6, 5, 5, 4, 4, 4, 13, 12, 10, 9, 8, 7, 6, 6, 5, 5, 4, 4, 4,
#endif // CONFIG_TX64X64
}; };
/* clang-format on */ /* clang-format on */
......
...@@ -87,11 +87,7 @@ void highbd_quantize_b_helper_c( ...@@ -87,11 +87,7 @@ void highbd_quantize_b_helper_c(
ROUND_POWER_OF_TWO(zbin_ptr[1], log_scale) }; ROUND_POWER_OF_TWO(zbin_ptr[1], log_scale) };
const int nzbins[2] = { zbins[0] * -1, zbins[1] * -1 }; const int nzbins[2] = { zbins[0] * -1, zbins[1] * -1 };
int dequant; int dequant;
#if CONFIG_TX64X64
int idx_arr[4096]; int idx_arr[4096];
#else
int idx_arr[1024];
#endif
(void)iscan; (void)iscan;
int idx = 0; int idx = 0;
...@@ -195,7 +191,6 @@ void aom_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, ...@@ -195,7 +191,6 @@ void aom_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
dequant_ptr, eob_ptr, scan, iscan, NULL, NULL, 1); dequant_ptr, eob_ptr, scan, iscan, NULL, NULL, 1);
} }
#if CONFIG_TX64X64
void aom_quantize_b_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, void aom_quantize_b_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
int skip_block, const int16_t *zbin_ptr, int skip_block, const int16_t *zbin_ptr,
const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *round_ptr, const int16_t *quant_ptr,
...@@ -207,7 +202,6 @@ void aom_quantize_b_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, ...@@ -207,7 +202,6 @@ void aom_quantize_b_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
quant_ptr, quant_shift_ptr, qcoeff_ptr, dqcoeff_ptr, quant_ptr, quant_shift_ptr, qcoeff_ptr, dqcoeff_ptr,
dequant_ptr, eob_ptr, scan, iscan, NULL, NULL, 2); dequant_ptr, eob_ptr, scan, iscan, NULL, NULL, 2);
} }
#endif // CONFIG_TX64X64
void aom_quantize_dc(const tran_low_t *coeff_ptr, int n_coeffs, int skip_block, void aom_quantize_dc(const tran_low_t *coeff_ptr, int n_coeffs, int skip_block,
const int16_t *round_ptr, const int16_t quant, const int16_t *round_ptr, const int16_t quant,
...@@ -226,7 +220,6 @@ void aom_quantize_dc_32x32(const tran_low_t *coeff_ptr, int skip_block, ...@@ -226,7 +220,6 @@ void aom_quantize_dc_32x32(const tran_low_t *coeff_ptr, int skip_block,
dqcoeff_ptr, dequant_ptr, eob_ptr, NULL, NULL, 1); dqcoeff_ptr, dequant_ptr, eob_ptr, NULL, NULL, 1);
} }
#if CONFIG_TX64X64
void aom_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block, void aom_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block,
const int16_t *round_ptr, const int16_t quant, const int16_t *round_ptr, const int16_t quant,
tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
...@@ -234,7 +227,6 @@ void aom_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block, ...@@ -234,7 +227,6 @@ void aom_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block,
quantize_dc_helper(coeff_ptr, 4096, skip_block, round_ptr, quant, qcoeff_ptr, quantize_dc_helper(coeff_ptr, 4096, skip_block, round_ptr, quant, qcoeff_ptr,
dqcoeff_ptr, dequant_ptr, eob_ptr, NULL, NULL, 2); dqcoeff_ptr, dequant_ptr, eob_ptr, NULL, NULL, 2);
} }
#endif // CONFIG_TX64X64
void aom_highbd_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, void aom_highbd_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
int skip_block, const int16_t *zbin_ptr, int skip_block, const int16_t *zbin_ptr,
...@@ -261,7 +253,6 @@ void aom_highbd_quantize_b_32x32_c( ...@@ -261,7 +253,6 @@ void aom_highbd_quantize_b_32x32_c(
NULL, NULL, 1); NULL, NULL, 1);
} }
#if CONFIG_TX64X64
void aom_highbd_quantize_b_64x64_c( void aom_highbd_quantize_b_64x64_c(
const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block,
const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr,
...@@ -273,4 +264,3 @@ void aom_highbd_quantize_b_64x64_c( ...@@ -273,4 +264,3 @@ void aom_highbd_quantize_b_64x64_c(
dqcoeff_ptr, dequant_ptr, eob_ptr, scan, iscan, dqcoeff_ptr, dequant_ptr, eob_ptr, scan, iscan,
NULL, NULL, 2); NULL, NULL, 2);
} }
#endif // CONFIG_TX64X64
...@@ -60,12 +60,10 @@ void aom_quantize_dc_32x32(const tran_low_t *coeff_ptr, int skip_block, ...@@ -60,12 +60,10 @@ void aom_quantize_dc_32x32(const tran_low_t *coeff_ptr, int skip_block,
const int16_t *round_ptr, const int16_t quant_ptr, const int16_t *round_ptr, const int16_t quant_ptr,
tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
const int16_t dequant_ptr, uint16_t *eob_ptr); const int16_t dequant_ptr, uint16_t *eob_ptr);
#if CONFIG_TX64X64
void aom_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block, void aom_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block,
const int16_t *round_ptr, const int16_t quant_ptr, const int16_t *round_ptr, const int16_t quant_ptr,
tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
const int16_t dequant_ptr, uint16_t *eob_ptr); const int16_t dequant_ptr, uint16_t *eob_ptr);
#endif // CONFIG_TX64X64
#if CONFIG_AOM_QM #if CONFIG_AOM_QM
void aom_highbd_quantize_dc(const tran_low_t *coeff_ptr, int n_coeffs, void aom_highbd_quantize_dc(const tran_low_t *coeff_ptr, int n_coeffs,
...@@ -79,15 +77,13 @@ void aom_highbd_quantize_dc_32x32( ...@@ -79,15 +77,13 @@ void aom_highbd_quantize_dc_32x32(
const int16_t quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
const int16_t dequant_ptr, uint16_t *eob_ptr, const qm_val_t *qm_ptr, const int16_t dequant_ptr, uint16_t *eob_ptr, const qm_val_t *qm_ptr,
const qm_val_t *iqm_ptr); const qm_val_t *iqm_ptr);
#if CONFIG_TX64X64
void aom_highbd_quantize_dc_64x64( void aom_highbd_quantize_dc_64x64(
const tran_low_t *coeff_ptr, int skip_block, const int16_t *round_ptr, const tran_low_t *coeff_ptr, int skip_block, const int16_t *round_ptr,
const int16_t quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
const int16_t dequant_ptr, uint16_t *eob_ptr, const qm_val_t *qm_ptr, const int16_t dequant_ptr, uint16_t *eob_ptr, const qm_val_t *qm_ptr,
const qm_val_t *iqm_ptr); const qm_val_t *iqm_ptr);
#endif // CONFIG_TX64X64
#else // CONFIG_AOM_QM #else // CONFIG_AOM_QM
void aom_highbd_quantize_dc(const tran_low_t *coeff_ptr, int n_coeffs, void aom_highbd_quantize_dc(const tran_low_t *coeff_ptr, int n_coeffs,
int skip_block, const int16_t *round_ptr, int skip_block, const int16_t *round_ptr,
...@@ -100,14 +96,12 @@ void aom_highbd_quantize_dc_32x32(const tran_low_t *coeff_ptr, int skip_block, ...@@ -100,14 +96,12 @@ void aom_highbd_quantize_dc_32x32(const tran_low_t *coeff_ptr, int skip_block,
tran_low_t *qcoeff_ptr, tran_low_t *qcoeff_ptr,
tran_low_t *dqcoeff_ptr, tran_low_t *dqcoeff_ptr,
const int16_t dequant_ptr, uint16_t *eob_ptr); const int16_t dequant_ptr, uint16_t *eob_ptr);
#if CONFIG_TX64X64
void aom_highbd_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block, void aom_highbd_quantize_dc_64x64(const tran_low_t *coeff_ptr, int skip_block,
const int16_t *round_ptr, const int16_t *round_ptr,
const int16_t quant_ptr, const int16_t quant_ptr,
tran_low_t *qcoeff_ptr, tran_low_t *qcoeff_ptr,
tran_low_t *dqcoeff_ptr, tran_low_t *dqcoeff_ptr,
const int16_t dequant_ptr, uint16_t *eob_ptr); const int16_t dequant_ptr, uint16_t *eob_ptr);
#endif // CONFIG_TX64X64
#endif // CONFIG_AOM_QM #endif // CONFIG_AOM_QM
#ifdef __cplusplus #ifdef __cplusplus
......
...@@ -1606,7 +1606,6 @@ void av1_iidentity32_c(const int32_t *input, int32_t *output, int8_t cos_bit, ...@@ -1606,7 +1606,6 @@ void av1_iidentity32_c(const int32_t *input, int32_t *output, int8_t cos_bit,
apply_range(0, input, output, 32, stage_range[0]); apply_range(0, input, output, 32, stage_range[0]);
} }
#if CONFIG_TX64X64
void av1_iidentity64_c(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_iidentity64_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) { const int8_t *stage_range) {
(void)cos_bit; (void)cos_bit;
...@@ -1615,9 +1614,7 @@ void av1_iidentity64_c(const int32_t *input, int32_t *output, int8_t cos_bit, ...@@ -1615,9 +1614,7 @@ void av1_iidentity64_c(const int32_t *input, int32_t *output, int8_t cos_bit,
assert(stage_range[0] + NewSqrt2Bits <= 32); assert(stage_range[0] + NewSqrt2Bits <= 32);
apply_range(0, input, output, 64, stage_range[0]); apply_range(0, input, output, 64, stage_range[0]);
} }
#endif // CONFIG_TX64X64
#if CONFIG_TX64X64
void av1_idct64_new(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_idct64_new(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) { const int8_t *stage_range) {
const int32_t size = 64; const int32_t size = 64;
...@@ -2409,4 +2406,3 @@ void av1_idct64_new(const int32_t *input, int32_t *output, int8_t cos_bit, ...@@ -2409,4 +2406,3 @@ void av1_idct64_new(const int32_t *input, int32_t *output, int8_t cos_bit,
bf1[63] = bf0[0] - bf0[63]; bf1[63] = bf0[0] - bf0[63];
apply_range(stage, input, bf1, size, stage_range[stage]); apply_range(stage, input, bf1, size, stage_range[stage]);
} }
#endif // CONFIG_TX64X64
...@@ -26,11 +26,8 @@ void av1_idct16_new(const int32_t *input, int32_t *output, int8_t cos_bit, ...@@ -26,11 +26,8 @@ void av1_idct16_new(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range); const int8_t *stage_range);
void av1_idct32_new(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_idct32_new(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range); const int8_t *stage_range);
#if CONFIG_TX64X64
void av1_idct64_new(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_idct64_new(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range); const int8_t *stage_range);
#endif // CONFIG_TX64X64
void av1_iadst4_new(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_iadst4_new(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range); const int8_t *stage_range);
void av1_iadst8_new(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_iadst8_new(const int32_t *input, int32_t *output, int8_t cos_bit,
...@@ -47,10 +44,8 @@ void av1_iidentity16_c(const int32_t *input, int32_t *output, int8_t cos_bit, ...@@ -47,10 +44,8 @@ void av1_iidentity16_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range); const int8_t *stage_range);
void av1_iidentity32_c(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_iidentity32_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range); const int8_t *stage_range);
#if CONFIG_TX64X64
void av1_iidentity64_c(const int32_t *input, int32_t *output, int8_t cos_bit, void av1_iidentity64_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range); const int8_t *stage_range);
#endif // CONFIG_TX64X64
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -19,27 +19,21 @@ static const int8_t inv_start_range[TX_SIZES_ALL] = { ...@@ -19,27 +19,21 @@ static const int8_t inv_start_range[TX_SIZES_ALL] = {
6, // 8x8 transform 6, // 8x8 transform
7, // 16x16 transform 7, // 16x16 transform
7, // 32x32 transform 7, // 32x32 transform
#if CONFIG_TX64X64 7, // 64x64 transform
7, // 64x64 transform 5, // 4x8 transform
#endif // CONFIG_TX64X64 5, // 8x4 transform
5, // 4x8 transform 6, // 8x16 transform
5, // 8x4 transform 6, // 16x8 transform
6, // 8x16 transform 6, // 16x32 transform
6, // 16x8 transform 6, // 32x16 transform
6, // 16x32 transform 6, // 32x64 transform
6, // 32x16 transform 6, // 64x32 transform
#if CONFIG_TX64X64 6, // 4x16 transform
6, // 32x64 transform 6, // 16x4 transform
6, // 64x32 transform 7, // 8x32 transform
#endif // CONFIG_TX64X64 7, // 32x8 transform
6, // 4x16 transform
6, // 16x4 transform
7, // 8x32 transform
7, // 32x8 transform
#if CONFIG_TX64X64
7, // 16x64 transform 7, // 16x64 transform
7, // 64x16 transform 7, // 64x16 transform
#endif
}; };
extern const int8_t *inv_txfm_shift_ls[TX_SIZES_ALL]; extern const int8_t *inv_txfm_shift_ls[TX_SIZES_ALL];
......
...@@ -33,9 +33,7 @@ static INLINE TxfmFunc inv_txfm_type_to_func(TXFM_TYPE txfm_type) { ...@@ -33,9 +33,7 @@ static INLINE TxfmFunc inv_txfm_type_to_func(TXFM_TYPE txfm_type) {
case TXFM_TYPE_DCT8: return av1_idct8_new; case TXFM_TYPE_DCT8: return av1_idct8_new;
case TXFM_TYPE_DCT16: return av1_idct16_new; case TXFM_TYPE_DCT16: return av1_idct16_new;
case TXFM_TYPE_DCT32: return av1_idct32_new; case TXFM_TYPE_DCT32: return av1_idct32_new;
#if CONFIG_TX64X64
case TXFM_TYPE_DCT64: return av1_idct64_new; case TXFM_TYPE_DCT64: return av1_idct64_new;
#endif // CONFIG_TX64X64
case TXFM_TYPE_ADST4: return av1_iadst4_new; case TXFM_TYPE_ADST4: return av1_iadst4_new;
case TXFM_TYPE_ADST8: return av1_iadst8_new; case TXFM_TYPE_ADST8: return av1_iadst8_new;
case TXFM_TYPE_ADST16: return av1_iadst16_new; case TXFM_TYPE_ADST16: return av1_iadst16_new;
...@@ -44,9 +42,7 @@ static INLINE TxfmFunc inv_txfm_type_to_func(TXFM_TYPE txfm_type) { ...@@ -44,9 +42,7 @@ static INLINE TxfmFunc inv_txfm_type_to_func(TXFM_TYPE txfm_type) {
case TXFM_TYPE_IDENTITY8: return av1_iidentity8_c; case TXFM_TYPE_IDENTITY8: return av1_iidentity8_c;
case TXFM_TYPE_IDENTITY16: return av1_iidentity16_c; case TXFM_TYPE_IDENTITY16: return av1_iidentity16_c;
case TXFM_TYPE_IDENTITY32: return av1_iidentity32_c; case TXFM_TYPE_IDENTITY32: return av1_iidentity32_c;
#if CONFIG_TX64X64
case TXFM_TYPE_IDENTITY64: return av1_iidentity64_c; case TXFM_TYPE_IDENTITY64: return av1_iidentity64_c;
#endif // CONFIG_TX64X64
default: assert(0); return NULL; default: assert(0); return NULL;
} }
} }
...@@ -55,42 +51,28 @@ static const int8_t inv_shift_4x4[2] = { 0, -4 }; ...@@ -55,42 +51,28 @@ static const int8_t inv_shift_4x4[2] = { 0, -4 };
static const int8_t inv_shift_8x8[2] = { -1, -4 }; static const int8_t inv_shift_8x8[2] = { -1, -4 };
static const int8_t inv_shift_16x16[2] = { -2, -4 }; static const int8_t inv_shift_16x16[2] = { -2, -4 };
static const int8_t inv_shift_32x32[2] = { -2, -4 }; static const int8_t inv_shift_32x32[2] = { -2, -4 };
#if CONFIG_TX64X64
static const int8_t inv_shift_64x64[2] = { -2, -4 }; static const int8_t inv_shift_64x64[2] = { -2, -4 };
#endif
static const int8_t inv_shift_4x8[2] = { 0, -4 }; static const int8_t inv_shift_4x8[2] = { 0, -4 };
static const int8_t inv_shift_8x4[2] = { 0, -4 }; static const int8_t inv_shift_8x4[2] = { 0, -4 };
static const int8_t inv_shift_8x16[2] = { -1, -4 }; static const int8_t inv_shift_8x16[2] = { -1, -4 };
static const int8_t inv_shift_16x8[2] = { -1, -4 }; static const int8_t inv_shift_16x8[2] = { -1, -4 };
static const int8_t inv_shift_16x32[2] = { -1, -4 }; static const int8_t inv_shift_16x32[2] = { -1, -4 };
static const int8_t inv_shift_32x16[2] = { -1, -4 }; static const int8_t inv_shift_32x16[2] = { -1, -4 };
#if CONFIG_TX64X64
static const int8_t inv_shift_32x64[2] = { -1, -4 }; static const int8_t inv_shift_32x64[2] = { -1, -4 };
static const int8_t inv_shift_64x32[2] = { -1, -4 }; static const int8_t inv_shift_64x32[2] = { -1, -4 };
#endif
static const int8_t inv_shift_4x16[2] = { -1, -4 }; static const int8_t inv_shift_4x16[2] = { -1, -4 };
static const int8_t inv_shift_16x4[2] = { -1, -4 }; static const int8_t inv_shift_16x4[2] = { -1, -4 };
static const int8_t inv_shift_8x32[2] = { -2, -4 }; static const int8_t inv_shift_8x32[2] = { -2, -4 };
static const int8_t inv_shift_32x8[2] = { -2, -4 }; static const int8_t inv_shift_32x8[2] = { -2, -4 };
#if CONFIG_TX64X64
static const int8_t inv_shift_16x64[2] = { -2, -4 }; static const int8_t inv_shift_16x64[2] = { -2, -4 };
static const int8_t inv_shift_64x16[2] = { -2, -4 }; static const int8_t inv_shift_64x16[2] = { -2, -4 };
#endif // CONFIG_TX64X64
const int8_t *inv_txfm_shift_ls[TX_SIZES_ALL] = { const int8_t *inv_txfm_shift_ls[TX_SIZES_ALL] = {
inv_shift_4x4, inv_shift_8x8, inv_shift_16x16, inv_shift_32x32, inv_shift_4x4, inv_shift_8x8, inv_shift_16x16, inv_shift_32x32,
#if CONFIG_TX64X64 inv_shift_64x64, inv_shift_4x8, inv_shift_8x4, inv_shift_8x16,
inv_shift_64x64, inv_shift_16x8, inv_shift_16x32, inv_shift_32x16, inv_shift_32x64,
#endif // CONFIG_TX64X64 inv_shift_64x32, inv_shift_4x16, inv_shift_16x4, inv_shift_8x32,
inv_shift_4x8, inv_shift_8x4, inv_shift_8x16, inv_shift_16x8, inv_shift_32x8, inv_shift_16x64, inv_shift_64x16,
inv_shift_16x32, inv_shift_32x16,
#if CONFIG_TX64X64
inv_shift_32x64, inv_shift_64x32,
#endif // CONFIG_TX64X64
inv_shift_4x16, inv_shift_16x4, inv_shift_8x32, inv_shift_32x8,
#if CONFIG_TX64X64
inv_shift_16x64, inv_shift_64x16,
#endif // CONFIG_TX64X64
}; };
/* clang-format off */ /* clang-format off */
...@@ -357,7 +339,6 @@ void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, ...@@ -357,7 +339,6 @@ void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output,
inv_txfm2d_add_facade(input, output, stride, txfm_buf, tx_type, TX_32X32, bd); inv_txfm2d_add_facade(input, output, stride, txfm_buf, tx_type, TX_32X32, bd);
} }
#if CONFIG_TX64X64
void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output,
int stride, TX_TYPE tx_type, int bd) { int stride, TX_TYPE tx_type, int bd) {
// TODO(urvang): Can the same array be reused, instead of using a new array? // TODO(urvang): Can the same array be reused, instead of using a new array?
...@@ -462,7 +443,6 @@ void av1_inv_txfm2d_add_64x16_c(const int32_t *input, uint16_t *output, ...@@ -462,7 +443,6 @@ void av1_inv_txfm2d_add_64x16_c(const int32_t *input, uint16_t *output,
transpose_uint16(output, stride, routput, rw, rw, rh); transpose_uint16(output, stride, routput, rw, rw, rh);
#endif // NO_INV_TRANSPOSE #endif // NO_INV_TRANSPOSE
} }
#endif // CONFIG_TX64X64
void av1_inv_txfm2d_add_4x16_c(const int32_t *input, uint16_t *output, void av1_inv_txfm2d_add_4x16_c(const int32_t *input, uint16_t *output,