Allow txk_sel to turn off optimize_b in rd loop This is for speeding up the testing process Change-Id: I90866fa239794f14e4801675d471dbf50b779d18
diff --git a/av1/encoder/encodetxb.c b/av1/encoder/encodetxb.c index a2b3c6d..599ba36 100644 --- a/av1/encoder/encodetxb.c +++ b/av1/encoder/encodetxb.c
@@ -2533,10 +2533,15 @@ RD_STATS this_rd_stats; av1_invalid_rd_stats(&this_rd_stats); +#if DISABLE_TRELLISQ_SEARCH + av1_xform_quant(cm, x, plane, block, blk_row, blk_col, plane_bsize, tx_size, + coeff_ctx, AV1_XFORM_QUANT_B); +#else av1_xform_quant(cm, x, plane, block, blk_row, blk_col, plane_bsize, tx_size, coeff_ctx, AV1_XFORM_QUANT_FP); av1_optimize_b(cm, x, plane, blk_row, blk_col, block, plane_bsize, tx_size, a, l, 1); +#endif av1_dist_block(cpi, x, plane, plane_bsize, block, blk_row, blk_col, tx_size, &this_rd_stats.dist, &this_rd_stats.sse, OUTPUT_HAS_PREDICTED_PIXELS); @@ -2563,12 +2568,17 @@ x->plane[plane].txb_entropy_ctx[block] = best_eob; if (!is_inter_block(mbmi)) { - // intra mode needs decoded result such that the next transform block - // can use it for prediction. +// intra mode needs decoded result such that the next transform block +// can use it for prediction. +#if DISABLE_TRELLISQ_SEARCH + av1_xform_quant(cm, x, plane, block, blk_row, blk_col, plane_bsize, tx_size, + coeff_ctx, AV1_XFORM_QUANT_B); +#else av1_xform_quant(cm, x, plane, block, blk_row, blk_col, plane_bsize, tx_size, coeff_ctx, AV1_XFORM_QUANT_FP); av1_optimize_b(cm, x, plane, blk_row, blk_col, block, plane_bsize, tx_size, a, l, 1); +#endif av1_inverse_transform_block_facade(xd, plane, block, blk_row, blk_col, x->plane[plane].eobs[block],
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index 1ec0cca..27806ab 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -122,13 +122,6 @@ #define FILTER_FAST_SEARCH 1 #endif // CONFIG_EXT_INTRA -// Setting this to 1 will disable trellis optimization within the -// transform search. Trellis optimization will still be applied -// in the final encode. -#ifndef DISABLE_TRELLISQ_SEARCH -#define DISABLE_TRELLISQ_SEARCH 0 -#endif - static const double ADST_FLIP_SVM[8] = { /* vertical */ -6.6623, -2.8062, -3.2531, 3.1671,
diff --git a/av1/encoder/rdopt.h b/av1/encoder/rdopt.h index 932ca65..47e02ac 100644 --- a/av1/encoder/rdopt.h +++ b/av1/encoder/rdopt.h
@@ -21,6 +21,13 @@ extern "C" { #endif +// Setting this to 1 will disable trellis optimization within the +// transform search. Trellis optimization will still be applied +// in the final encode. +#ifndef DISABLE_TRELLISQ_SEARCH +#define DISABLE_TRELLISQ_SEARCH 0 +#endif + struct TileInfo; struct AV1_COMP; struct macroblock;