Remove speed feature use_lp32x32fdct
Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index a2ae3b3..488a8a1 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -432,7 +432,6 @@
fwd_txfm_param.tx_type = tx_type;
fwd_txfm_param.tx_size = tx_size;
fwd_txfm_param.fwd_txfm_opt = FWD_TXFM_OPT_NORMAL;
- fwd_txfm_param.rd_transform = 0;
fwd_txfm_param.lossless = xd->lossless[seg_id];
fwd_txfm(pred, pvq_ref_coeff, diff_stride, &fwd_txfm_param);
diff --git a/av1/encoder/block.h b/av1/encoder/block.h
index c1c6b5b..436a000 100644
--- a/av1/encoder/block.h
+++ b/av1/encoder/block.h
@@ -171,9 +171,6 @@
int optimize;
- // indicate if it is in the rd search loop or encoding process
- int use_lp32x32fdct;
-
// Used to store sub partition's choices.
MV pred_mv[TOTAL_REFS_PER_FRAME];
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index beb9126..8acece4 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -1688,9 +1688,6 @@
aom_clear_system_state();
- // Use the lower precision, but faster, 32x32 fdct for mode selection.
- x->use_lp32x32fdct = 1;
-
#if CONFIG_PVQ
x->pvq_speed = 1;
x->pvq_coded = 0;
@@ -2320,8 +2317,6 @@
if (!x->skip) {
int this_rate = 0;
- x->use_lp32x32fdct = cpi->sf.use_lp32x32fdct;
-
av1_encode_sb_supertx((AV1_COMMON *)cm, x, bsize);
av1_tokenize_sb_supertx(cpi, td, tp, dry_run, bsize, rate);
if (rate) *rate += this_rate;
@@ -5352,8 +5347,6 @@
const BLOCK_SIZE block_size = AOMMAX(bsize, BLOCK_8X8);
#endif
- x->use_lp32x32fdct = cpi->sf.use_lp32x32fdct;
-
#if CONFIG_PVQ
x->pvq_speed = 0;
x->pvq_coded = (dry_run == OUTPUT_ENABLED) ? 1 : 0;
diff --git a/av1/encoder/encodemb.c b/av1/encoder/encodemb.c
index 3a52303..63be199 100644
--- a/av1/encoder/encodemb.c
+++ b/av1/encoder/encodemb.c
@@ -566,7 +566,6 @@
fwd_txfm_param.tx_type = tx_type;
fwd_txfm_param.tx_size = tx_size;
fwd_txfm_param.fwd_txfm_opt = fwd_txfm_opt_list[xform_quant_idx];
- fwd_txfm_param.rd_transform = x->use_lp32x32fdct;
fwd_txfm_param.lossless = xd->lossless[xd->mi[0]->mbmi.segment_id];
#if CONFIG_AOM_HIGHBITDEPTH
@@ -596,7 +595,6 @@
}
}
#else // #if !CONFIG_PVQ
- fwd_txfm_param.rd_transform = 0;
fwd_txfm(src_int16, coeff, diff_stride, &fwd_txfm_param);
fwd_txfm(pred, ref_coeff, diff_stride, &fwd_txfm_param);
diff --git a/av1/encoder/hybrid_fwd_txfm.c b/av1/encoder/hybrid_fwd_txfm.c
index b0f217c..596d7d1 100644
--- a/av1/encoder/hybrid_fwd_txfm.c
+++ b/av1/encoder/hybrid_fwd_txfm.c
@@ -16,14 +16,6 @@
#include "av1/common/idct.h"
#include "av1/encoder/hybrid_fwd_txfm.h"
-static INLINE void fdct32x32(int rd_transform, const int16_t *src,
- tran_low_t *dst, int src_stride) {
- if (rd_transform)
- aom_fdct32x32_rd(src, dst, src_stride);
- else
- av1_fht32x32(src, dst, src_stride, DCT_DCT);
-}
-
#if CONFIG_TX64X64
static INLINE void fdct64x64(const int16_t *src, tran_low_t *dst,
int src_stride) {
@@ -205,13 +197,13 @@
}
}
-static void fwd_txfm_32x32(int rd_transform, const int16_t *src_diff,
- tran_low_t *coeff, int diff_stride, TX_TYPE tx_type,
+static void fwd_txfm_32x32(const int16_t *src_diff, tran_low_t *coeff,
+ int diff_stride, TX_TYPE tx_type,
FWD_TXFM_OPT fwd_txfm_opt) {
switch (tx_type) {
case DCT_DCT:
if (fwd_txfm_opt == FWD_TXFM_OPT_NORMAL)
- fdct32x32(rd_transform, src_diff, coeff, diff_stride);
+ av1_fht32x32(src_diff, coeff, diff_stride, tx_type);
else // FWD_TXFM_OPT_DC
aom_fdct32x32_1(src_diff, coeff, diff_stride);
break;
@@ -458,11 +450,9 @@
}
}
-static void highbd_fwd_txfm_32x32(int rd_transform, const int16_t *src_diff,
- tran_low_t *coeff, int diff_stride,
- TX_TYPE tx_type, FWD_TXFM_OPT fwd_txfm_opt,
- const int bd) {
- (void)rd_transform;
+static void highbd_fwd_txfm_32x32(const int16_t *src_diff, tran_low_t *coeff,
+ int diff_stride, TX_TYPE tx_type,
+ FWD_TXFM_OPT fwd_txfm_opt, const int bd) {
(void)fwd_txfm_opt;
switch (tx_type) {
case DCT_DCT:
@@ -531,7 +521,6 @@
const int fwd_txfm_opt = fwd_txfm_param->fwd_txfm_opt;
const TX_TYPE tx_type = fwd_txfm_param->tx_type;
const TX_SIZE tx_size = fwd_txfm_param->tx_size;
- const int rd_transform = fwd_txfm_param->rd_transform;
const int lossless = fwd_txfm_param->lossless;
switch (tx_size) {
#if CONFIG_TX64X64
@@ -540,8 +529,7 @@
break;
#endif // CONFIG_TX64X64
case TX_32X32:
- fwd_txfm_32x32(rd_transform, src_diff, coeff, diff_stride, tx_type,
- fwd_txfm_opt);
+ fwd_txfm_32x32(src_diff, coeff, diff_stride, tx_type, fwd_txfm_opt);
break;
case TX_16X16:
fwd_txfm_16x16(src_diff, coeff, diff_stride, tx_type, fwd_txfm_opt);
@@ -585,7 +573,6 @@
const int fwd_txfm_opt = fwd_txfm_param->fwd_txfm_opt;
const TX_TYPE tx_type = fwd_txfm_param->tx_type;
const TX_SIZE tx_size = fwd_txfm_param->tx_size;
- const int rd_transform = fwd_txfm_param->rd_transform;
const int lossless = fwd_txfm_param->lossless;
const int bd = fwd_txfm_param->bd;
switch (tx_size) {
@@ -596,8 +583,8 @@
break;
#endif // CONFIG_TX64X64
case TX_32X32:
- highbd_fwd_txfm_32x32(rd_transform, src_diff, coeff, diff_stride, tx_type,
- fwd_txfm_opt, bd);
+ highbd_fwd_txfm_32x32(src_diff, coeff, diff_stride, tx_type, fwd_txfm_opt,
+ bd);
break;
case TX_16X16:
highbd_fwd_txfm_16x16(src_diff, coeff, diff_stride, tx_type, fwd_txfm_opt,
diff --git a/av1/encoder/hybrid_fwd_txfm.h b/av1/encoder/hybrid_fwd_txfm.h
index 2a5959e..4b48f1b 100644
--- a/av1/encoder/hybrid_fwd_txfm.h
+++ b/av1/encoder/hybrid_fwd_txfm.h
@@ -20,7 +20,6 @@
TX_TYPE tx_type;
TX_SIZE tx_size;
FWD_TXFM_OPT fwd_txfm_opt;
- int rd_transform;
int lossless;
#if CONFIG_AOM_HIGHBITDEPTH
int bd;
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 20ea5e9..6404fcc 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -228,7 +228,6 @@
if (cm->frame_type != KEY_FRAME)
sf->mode_search_skip_flags |= FLAG_EARLY_TERMINATE;
sf->disable_filter_search_var_thresh = 200;
- sf->use_lp32x32fdct = 1;
sf->use_fast_coef_updates = ONE_LOOP_REDUCED;
sf->use_fast_coef_costing = 1;
sf->partition_search_breakout_rate_thr = 300;
@@ -334,7 +333,6 @@
sf->lf_motion_threshold = LOW_MOTION_THRESHOLD;
sf->adjust_partitioning_from_last_frame = 1;
sf->last_partitioning_redo_frequency = 3;
- sf->use_lp32x32fdct = 1;
sf->mode_skip_start = 11;
sf->intra_y_mode_mask[TX_16X16] = INTRA_DC_H_V;
}
@@ -500,7 +498,6 @@
sf->comp_inter_joint_search_thresh = BLOCK_4X4;
sf->adaptive_rd_thresh = 0;
sf->tx_size_search_method = USE_FULL_RD;
- sf->use_lp32x32fdct = 0;
sf->adaptive_motion_search = 0;
sf->adaptive_pred_interp_filter = 0;
sf->adaptive_mode_search = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index c59fce8..8195fa4 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -293,10 +293,6 @@
// for intra and model coefs for the rest.
TX_SIZE_SEARCH_METHOD tx_size_search_method;
- // Low precision 32x32 fdct keeps everything in 16 bits and thus is less
- // precise but significantly faster than the non lp version.
- int use_lp32x32fdct;
-
// After looking at the first set of modes (set by index here), skip
// checking modes for reference frames that don't match the reference frame
// of the best so far.