Commit 6934c786 authored by Sebastien Alaiwan's avatar Sebastien Alaiwan

Merge txmg & drop support of non-scaled transforms

This allows dropping the code for non-scaled (VP9) transforms,
who don't have highbitdepth implementations anymore anyway.

Change-Id: I00071e1ca05f642eeba071849bb85b9b8b61c50f
parent fbfa4322
......@@ -2498,8 +2498,6 @@ void av1_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride,
#endif
}
#if CONFIG_TXMG
void av1_inv_txfm_add_txmg(const tran_low_t *dqcoeff, uint8_t *dst, int stride,
TxfmParam *txfm_param) {
const TX_SIZE tx_size = txfm_param->tx_size;
......@@ -2523,8 +2521,6 @@ void av1_inv_txfm_add_txmg(const tran_low_t *dqcoeff, uint8_t *dst, int stride,
}
}
#endif
static void init_txfm_param(const MACROBLOCKD *xd, int plane, TX_SIZE tx_size,
TX_TYPE tx_type, int eob, int reduced_tx_set,
TxfmParam *txfm_param) {
......@@ -2546,12 +2542,7 @@ typedef void (*InvTxfmFunc)(const tran_low_t *dqcoeff, uint8_t *dst, int stride,
TxfmParam *txfm_param);
static InvTxfmFunc inv_txfm_func[2] = {
#if CONFIG_TXMG
av1_inv_txfm_add_txmg,
#else
av1_inv_txfm_add,
#endif
av1_highbd_inv_txfm_add,
av1_inv_txfm_add_txmg, av1_highbd_inv_txfm_add,
};
void av1_inverse_transform_block(const MACROBLOCKD *xd,
......
......@@ -464,17 +464,6 @@ static AV1_QUANT_FACADE
{ NULL, NULL }
};
typedef void (*fwdTxfmFunc)(const int16_t *diff, tran_low_t *coeff, int stride,
TxfmParam *txfm_param);
static const fwdTxfmFunc fwd_txfm_func[2] = {
#if CONFIG_TXMG
av1_highbd_fwd_txfm,
#else
av1_fwd_txfm,
#endif
av1_highbd_fwd_txfm,
};
void av1_xform_quant(const AV1_COMMON *cm, MACROBLOCK *x, int plane, int block,
int blk_row, int blk_col, BLOCK_SIZE plane_bsize,
TX_SIZE tx_size, AV1_XFORM_QUANT xform_quant_idx) {
......@@ -537,7 +526,7 @@ void av1_xform_quant(const AV1_COMMON *cm, MACROBLOCK *x, int plane, int block,
txfm_param.bd = xd->bd;
txfm_param.is_hbd = get_bitdepth_data_path_index(xd);
fwd_txfm_func[txfm_param.is_hbd](src_diff, coeff, diff_stride, &txfm_param);
av1_highbd_fwd_txfm(src_diff, coeff, diff_stride, &txfm_param);
if (xform_quant_idx != AV1_XFORM_QUANT_SKIP_QUANT) {
const int n_coeffs = av1_get_max_eob(tx_size);
......
......@@ -4537,14 +4537,7 @@ static int predict_skip_flag(MACROBLOCK *x, BLOCK_SIZE bsize, int64_t *dist) {
const int16_t *src_diff = x->plane[0].src_diff;
for (int row = 0; row < bh; row += tx_h) {
for (int col = 0; col < bw; col += tx_w) {
#if CONFIG_TXMG
av1_highbd_fwd_txfm(src_diff + col, DCT_coefs, bw, &param);
#else // CONFIG_TXMG
if (param.is_hbd)
av1_highbd_fwd_txfm(src_diff + col, DCT_coefs, bw, &param);
else
av1_fwd_txfm(src_diff + col, DCT_coefs, bw, &param);
#endif // CONFIG_TXMG
// Operating on TX domain, not pixels; we want the QTX quantizers
for (int i = 0; i < tx_w * tx_h; ++i) {
......
......@@ -184,5 +184,4 @@ set(CONFIG_TILE_INFO_FIRST 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_TMV 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_TX64X64 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_TXK_SEL 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_TXMG 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_XIPHRC 0 CACHE NUMBER "AV1 experiment flag.")
......@@ -56,8 +56,8 @@ if (NOT ENABLE_ADOPTED_EXPERIMENTS)
unset(var_helpstring)
get_property(var_helpstring CACHE ${var} PROPERTY HELPSTRING)
if ("${var_helpstring}" STREQUAL "AV1 experiment flag.")
if ("${var}" MATCHES "CONFIG_TMV\|CONFIG_TXMG")
# TXMG and TMV are required for configure compatibility.
if ("${var}" MATCHES "CONFIG_TMV")
# TMV are required for configure compatibility.
else ()
set(${var} 0)
endif ()
......
......@@ -303,7 +303,6 @@ EXPERIMENT_LIST="
simplify_tx_mode
loopfilter_level
no_frame_context_signaling
txmg
max_tile
hash_me
colorspace_headers
......@@ -524,9 +523,6 @@ post_process_cmdline() {
# Enable low-bitdepth pixel pipeline by default
soft_enable lowbitdepth
# Enable LBD/HBD txfm consistency tool
soft_enable txmg
# Enable using 8x8 TMV to realize the decoder speedup.
soft_enable tmv
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment