From: Angie Chiang Date: Wed, 28 Oct 2015 20:02:39 +0000 (-0700) Subject: Add adst_adst config to vp10_fwd_txfm2d_cfg X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=786f1af8916daf4bc886f6bdcc1c965cb66f2399;p=libvpx Add adst_adst config to vp10_fwd_txfm2d_cfg Change-Id: I97189d6e917929c756a3f89fe0ab66077a0a5436 --- diff --git a/vp10/common/vp10_fwd_txfm2d_cfg.h b/vp10/common/vp10_fwd_txfm2d_cfg.h index ccd8c2a63..e09e67aeb 100644 --- a/vp10/common/vp10_fwd_txfm2d_cfg.h +++ b/vp10/common/vp10_fwd_txfm2d_cfg.h @@ -186,4 +186,94 @@ static const TXFM_2D_CFG fwd_txfm_2d_cfg_dct_adst_32 = { .txfm_func_col = vp10_fdct32_new, .txfm_func_row = vp10_fadst32_new}; +// ---------------- config fwd_adst_adst_4 ---------------- +static int8_t fwd_shift_adst_adst_4[3] = {6, 1, -5}; +static int8_t fwd_stage_range_col_adst_adst_4[6] = {17, 17, 18, 19, 19, 19}; +static int8_t fwd_stage_range_row_adst_adst_4[6] = {20, 20, 20, 21, 21, 21}; +static int8_t fwd_cos_bit_col_adst_adst_4[6] = {15, 15, 14, 13, 13, 13}; +static int8_t fwd_cos_bit_row_adst_adst_4[6] = {12, 12, 12, 11, 11, 11}; + +static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_4 = { + .txfm_size = 4, + .stage_num_col = 6, + .stage_num_row = 6, + + .shift = fwd_shift_adst_adst_4, + .stage_range_col = fwd_stage_range_col_adst_adst_4, + .stage_range_row = fwd_stage_range_row_adst_adst_4, + .cos_bit_col = fwd_cos_bit_col_adst_adst_4, + .cos_bit_row = fwd_cos_bit_row_adst_adst_4, + .txfm_func_col = vp10_fadst4_new, + .txfm_func_row = vp10_fadst4_new}; + +// ---------------- config fwd_adst_adst_8 ---------------- +static int8_t fwd_shift_adst_adst_8[3] = {3, -1, -1}; +static int8_t fwd_stage_range_col_adst_adst_8[8] = {14, 14, 15, 16, + 16, 17, 17, 17}; +static int8_t fwd_stage_range_row_adst_adst_8[8] = {16, 16, 16, 17, + 17, 18, 18, 18}; +static int8_t fwd_cos_bit_col_adst_adst_8[8] = {15, 15, 15, 15, 15, 15, 15, 15}; +static int8_t fwd_cos_bit_row_adst_adst_8[8] = {15, 15, 15, 15, 15, 14, 14, 14}; + +static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_8 = { + .txfm_size = 8, + .stage_num_col = 8, + .stage_num_row = 8, + + .shift = fwd_shift_adst_adst_8, + .stage_range_col = fwd_stage_range_col_adst_adst_8, + .stage_range_row = fwd_stage_range_row_adst_adst_8, + .cos_bit_col = fwd_cos_bit_col_adst_adst_8, + .cos_bit_row = fwd_cos_bit_row_adst_adst_8, + .txfm_func_col = vp10_fadst8_new, + .txfm_func_row = vp10_fadst8_new}; + +// ---------------- config fwd_adst_adst_16 ---------------- +static int8_t fwd_shift_adst_adst_16[3] = {2, 0, -2}; +static int8_t fwd_stage_range_col_adst_adst_16[10] = {13, 13, 14, 15, 15, + 16, 16, 17, 17, 17}; +static int8_t fwd_stage_range_row_adst_adst_16[10] = {17, 17, 17, 18, 18, + 19, 19, 20, 20, 20}; +static int8_t fwd_cos_bit_col_adst_adst_16[10] = {15, 15, 15, 15, 15, + 15, 15, 15, 15, 15}; +static int8_t fwd_cos_bit_row_adst_adst_16[10] = {15, 15, 15, 14, 14, + 13, 13, 12, 12, 12}; + +static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_16 = { + .txfm_size = 16, + .stage_num_col = 10, + .stage_num_row = 10, + + .shift = fwd_shift_adst_adst_16, + .stage_range_col = fwd_stage_range_col_adst_adst_16, + .stage_range_row = fwd_stage_range_row_adst_adst_16, + .cos_bit_col = fwd_cos_bit_col_adst_adst_16, + .cos_bit_row = fwd_cos_bit_row_adst_adst_16, + .txfm_func_col = vp10_fadst16_new, + .txfm_func_row = vp10_fadst16_new}; + +// ---------------- config fwd_adst_adst_32 ---------------- +static int8_t fwd_shift_adst_adst_32[3] = {4, -2, -3}; +static int8_t fwd_stage_range_col_adst_adst_32[12] = {15, 15, 16, 17, 17, 18, + 18, 19, 19, 20, 20, 20}; +static int8_t fwd_stage_range_row_adst_adst_32[12] = {18, 18, 18, 19, 19, 20, + 20, 21, 21, 22, 22, 22}; +static int8_t fwd_cos_bit_col_adst_adst_32[12] = {15, 15, 15, 15, 15, 14, + 14, 13, 13, 12, 12, 12}; +static int8_t fwd_cos_bit_row_adst_adst_32[12] = {14, 14, 14, 13, 13, 12, + 12, 11, 11, 10, 10, 10}; + +static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_32 = { + .txfm_size = 32, + .stage_num_col = 12, + .stage_num_row = 12, + + .shift = fwd_shift_adst_adst_32, + .stage_range_col = fwd_stage_range_col_adst_adst_32, + .stage_range_row = fwd_stage_range_row_adst_adst_32, + .cos_bit_col = fwd_cos_bit_col_adst_adst_32, + .cos_bit_row = fwd_cos_bit_row_adst_adst_32, + .txfm_func_col = vp10_fadst32_new, + .txfm_func_row = vp10_fadst32_new}; + #endif // VP10_FWD_TXFM2D_CFG_H_