Reduce parameter set of get_ext_tx_set_type Drop the unneeded block size from the input parameter set. Change-Id: I15757d4b25022c427604bd57f932201287caa8c5
diff --git a/av1/common/blockd.h b/av1/common/blockd.h index b7cfc37..383bdea 100644 --- a/av1/common/blockd.h +++ b/av1/common/blockd.h
@@ -685,11 +685,11 @@ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }; -static INLINE TxSetType get_ext_tx_set_type(TX_SIZE tx_size, BLOCK_SIZE bs, - int is_inter, int use_reduced_set) { +static INLINE TxSetType get_ext_tx_set_type(TX_SIZE tx_size, int is_inter, + int use_reduced_set) { const TX_SIZE tx_size_sqr_up = txsize_sqr_up_map[tx_size]; const TX_SIZE tx_size_sqr = txsize_sqr_map[tx_size]; - (void)bs; + if (tx_size_sqr_up > TX_32X32) return EXT_TX_SET_DCTONLY; if (tx_size_sqr_up == TX_32X32) return is_inter ? EXT_TX_SET_DCT_IDTX : EXT_TX_SET_DCTONLY; @@ -714,15 +714,16 @@ static INLINE int get_ext_tx_set(TX_SIZE tx_size, BLOCK_SIZE bs, int is_inter, int use_reduced_set) { + (void)bs; const TxSetType set_type = - get_ext_tx_set_type(tx_size, bs, is_inter, use_reduced_set); + get_ext_tx_set_type(tx_size, is_inter, use_reduced_set); return ext_tx_set_index[is_inter][set_type]; } static INLINE int get_ext_tx_types(TX_SIZE tx_size, BLOCK_SIZE bs, int is_inter, int use_reduced_set) { - const int set_type = - get_ext_tx_set_type(tx_size, bs, is_inter, use_reduced_set); + (void)bs; + const int set_type = get_ext_tx_set_type(tx_size, is_inter, use_reduced_set); return av1_num_ext_tx_set[set_type]; } @@ -847,9 +848,8 @@ const MODE_INFO *const mi = xd->mi[0]; const MB_MODE_INFO *const mbmi = &mi->mbmi; const struct macroblockd_plane *const pd = &xd->plane[plane_type]; - const BLOCK_SIZE plane_bsize = get_plane_block_size(mbmi->sb_type, pd); - const TxSetType tx_set_type = get_ext_tx_set_type( - tx_size, plane_bsize, is_inter_block(mbmi), reduced_tx_set); + const TxSetType tx_set_type = + get_ext_tx_set_type(tx_size, is_inter_block(mbmi), reduced_tx_set); TX_TYPE tx_type; if (xd->lossless[mbmi->segment_id] || txsize_sqr_up_map[tx_size] > TX_32X32) {
diff --git a/av1/common/idct.c b/av1/common/idct.c index 59bb0ed..264fa0f 100644 --- a/av1/common/idct.c +++ b/av1/common/idct.c
@@ -466,18 +466,15 @@ 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) { + (void)plane; txfm_param->tx_type = tx_type; txfm_param->tx_size = tx_size; txfm_param->eob = eob; txfm_param->lossless = xd->lossless[xd->mi[0]->mbmi.segment_id]; txfm_param->bd = xd->bd; txfm_param->is_hbd = get_bitdepth_data_path_index(xd); - const struct macroblockd_plane *const pd = &xd->plane[plane]; - const BLOCK_SIZE plane_bsize = - get_plane_block_size(xd->mi[0]->mbmi.sb_type, pd); - txfm_param->tx_set_type = - get_ext_tx_set_type(txfm_param->tx_size, plane_bsize, - is_inter_block(&xd->mi[0]->mbmi), reduced_tx_set); + txfm_param->tx_set_type = get_ext_tx_set_type( + txfm_param->tx_size, is_inter_block(&xd->mi[0]->mbmi), reduced_tx_set); } static void highbd_inv_txfm_add(const tran_low_t *input, uint8_t *dest,
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c index cf09814..4db2308 100644 --- a/av1/decoder/decodemv.c +++ b/av1/decoder/decodemv.c
@@ -651,8 +651,8 @@ (cm->seg.enabled && xd->qindex[mbmi->segment_id] > 0)) && !mbmi->skip && !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) { - const TxSetType tx_set_type = get_ext_tx_set_type( - tx_size, mbmi->sb_type, inter_block, cm->reduced_tx_set_used); + const TxSetType tx_set_type = + get_ext_tx_set_type(tx_size, inter_block, cm->reduced_tx_set_used); const int eset = get_ext_tx_set(tx_size, mbmi->sb_type, inter_block, cm->reduced_tx_set_used); // eset == 0 should correspond to a set with only DCT_DCT and
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 0afc735..d85cad2 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -835,7 +835,7 @@ !mbmi->skip && !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) { const TxSetType tx_set_type = - get_ext_tx_set_type(tx_size, bsize, is_inter, cm->reduced_tx_set_used); + get_ext_tx_set_type(tx_size, is_inter, cm->reduced_tx_set_used); const int eset = get_ext_tx_set(tx_size, bsize, is_inter, cm->reduced_tx_set_used); // eset == 0 should correspond to a set with only DCT_DCT and there
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c index 0442786..678cebf 100644 --- a/av1/encoder/encodeframe.c +++ b/av1/encoder/encodeframe.c
@@ -4665,8 +4665,8 @@ const int eset = get_ext_tx_set(tx_size, bsize, is_inter, cm->reduced_tx_set_used); if (eset > 0) { - const TxSetType tx_set_type = get_ext_tx_set_type( - tx_size, bsize, is_inter, cm->reduced_tx_set_used); + const TxSetType tx_set_type = + get_ext_tx_set_type(tx_size, is_inter, cm->reduced_tx_set_used); if (is_inter) { if (allow_update_cdf) { update_cdf(fc->inter_ext_tx_cdf[eset][txsize_sqr_map[tx_size]],
diff --git a/av1/encoder/encodemb.c b/av1/encoder/encodemb.c index bc41c2b..93761db 100644 --- a/av1/encoder/encodemb.c +++ b/av1/encoder/encodemb.c
@@ -173,9 +173,8 @@ txfm_param.tx_type = tx_type; txfm_param.tx_size = tx_size; txfm_param.lossless = xd->lossless[mbmi->segment_id]; - txfm_param.tx_set_type = - get_ext_tx_set_type(txfm_param.tx_size, plane_bsize, is_inter_block(mbmi), - cm->reduced_tx_set_used); + txfm_param.tx_set_type = get_ext_tx_set_type( + txfm_param.tx_size, is_inter_block(mbmi), cm->reduced_tx_set_used); txfm_param.bd = xd->bd; txfm_param.is_hbd = get_bitdepth_data_path_index(xd); @@ -370,7 +369,7 @@ txfm_param.eob = p->eobs[block]; txfm_param.lossless = xd->lossless[xd->mi[0]->mbmi.segment_id]; txfm_param.tx_set_type = get_ext_tx_set_type( - txfm_param.tx_size, plane_bsize, is_inter_block(&xd->mi[0]->mbmi), + txfm_param.tx_size, is_inter_block(&xd->mi[0]->mbmi), cm->reduced_tx_set_used); if (txfm_param.is_hbd) { av1_highbd_inv_txfm_add_4x4(dqcoeff, dst, pd->dst.stride, &txfm_param);
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index bbf1a5c..24cf93d 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -1927,8 +1927,8 @@ if (plane == 0) txk_end = DCT_DCT; uint8_t best_txb_ctx = 0; - const TxSetType tx_set_type = get_ext_tx_set_type( - tx_size, plane_bsize, is_inter, cm->reduced_tx_set_used); + const TxSetType tx_set_type = + get_ext_tx_set_type(tx_size, is_inter, cm->reduced_tx_set_used); int prune = 0; const int do_prune = plane == 0 && !fast_tx_search && txk_end != DCT_DCT && !(!is_inter && x->use_default_intra_tx_type) && @@ -2379,6 +2379,7 @@ const MACROBLOCKD *const xd = &x->e_mbd; const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi; const int is_inter = is_inter_block(mbmi); + (void)bs; if (x->cb_partition_scan && tx_type != DCT_DCT) return 1; @@ -2391,7 +2392,7 @@ return 1; const AV1_COMMON *const cm = &cpi->common; const TxSetType tx_set_type = - get_ext_tx_set_type(tx_size, bs, is_inter, cm->reduced_tx_set_used); + get_ext_tx_set_type(tx_size, is_inter, cm->reduced_tx_set_used); if (!av1_ext_tx_used[tx_set_type][tx_type]) return 1; if (is_inter) { if (cpi->sf.tx_type_search.prune_mode > NO_PRUNE) { @@ -2427,7 +2428,7 @@ const int is_inter = is_inter_block(mbmi); mbmi->tx_size = tx_size_from_tx_mode(bs, cm->tx_mode); const TxSetType tx_set_type = - get_ext_tx_set_type(mbmi->tx_size, bs, is_inter, cm->reduced_tx_set_used); + get_ext_tx_set_type(mbmi->tx_size, is_inter, cm->reduced_tx_set_used); prune_tx(cpi, bs, x, xd, tx_set_type, 0); txfm_rd_in_plane(x, cpi, rd_stats, ref_best_rd, AOM_PLANE_Y, bs, mbmi->tx_size, cpi->sf.use_fast_coef_costing); @@ -4302,12 +4303,8 @@ param.bd = xd->bd; param.is_hbd = get_bitdepth_data_path_index(xd); param.lossless = 0; - const struct macroblockd_plane *const pd = &xd->plane[0]; - const BLOCK_SIZE plane_bsize = - get_plane_block_size(xd->mi[0]->mbmi.sb_type, pd); - param.tx_set_type = - get_ext_tx_set_type(param.tx_size, plane_bsize, - is_inter_block(&xd->mi[0]->mbmi), reduced_tx_set); + param.tx_set_type = get_ext_tx_set_type( + param.tx_size, is_inter_block(&xd->mi[0]->mbmi), reduced_tx_set); const uint32_t ac_q = (uint32_t)av1_ac_quant_QTX(x->qindex, 0, xd->bd); uint32_t max_quantized_coef = 0; const int bd_idx = (xd->bd == 8) ? 0 : ((xd->bd == 10) ? 1 : 2); @@ -4383,8 +4380,8 @@ const int n4 = bsize_to_num_blk(bsize); // Get the tx_size 1 level down const TX_SIZE min_tx_size = sub_tx_size_map[1][max_txsize_rect_lookup[bsize]]; - const TxSetType tx_set_type = get_ext_tx_set_type( - min_tx_size, bsize, is_inter, cm->reduced_tx_set_used); + const TxSetType tx_set_type = + get_ext_tx_set_type(min_tx_size, is_inter, cm->reduced_tx_set_used); const int within_border = mi_row >= xd->tile.mi_row_start && (mi_row + mi_size_high[bsize] < xd->tile.mi_row_end) &&