]> granicus.if.org Git - libvpx/commitdiff
Add adst_dct config to vp10_inv_txfm2d_cfg
authorAngie Chiang <angiebird@google.com>
Fri, 6 Nov 2015 19:06:04 +0000 (11:06 -0800)
committerAngie Chiang <angiebird@google.com>
Thu, 12 Nov 2015 02:02:42 +0000 (18:02 -0800)
Change-Id: Ifafbd4974be44685ab2550ed159dbf0411b6f031

vp10/common/vp10_inv_txfm2d_cfg.h

index c1ce66504e3bd0a72f1d5797e00f0e727b3cfce7..8cd76b520414dd6edaf64a07468b9056b701c3ee 100644 (file)
@@ -286,4 +286,92 @@ static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_adst_32 = {
     .txfm_func_col = vp10_iadst32_new,
     .txfm_func_row = vp10_iadst32_new};
 
+//  ---------------- config inv_adst_dct_4 ----------------
+static const int8_t inv_shift_adst_dct_4[2] = {1, -5};
+static const int8_t inv_stage_range_col_adst_dct_4[6] = {17, 17, 17, 17, 16, 16};
+static const int8_t inv_stage_range_row_adst_dct_4[4] = {16, 16, 16, 16};
+static const int8_t inv_cos_bit_col_adst_dct_4[6] = {15, 15, 15, 15, 15, 15};
+static const int8_t inv_cos_bit_row_adst_dct_4[4] = {15, 15, 15, 15};
+
+static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_4 = {
+    .txfm_size = 4,
+    .stage_num_col = 6,
+    .stage_num_row = 4,
+
+    .shift = inv_shift_adst_dct_4,
+    .stage_range_col = inv_stage_range_col_adst_dct_4,
+    .stage_range_row = inv_stage_range_row_adst_dct_4,
+    .cos_bit_col = inv_cos_bit_col_adst_dct_4,
+    .cos_bit_row = inv_cos_bit_row_adst_dct_4,
+    .txfm_func_col = vp10_iadst4_new,
+    .txfm_func_row = vp10_idct4_new};
+
+//  ---------------- config inv_adst_dct_8 ----------------
+static const int8_t inv_shift_adst_dct_8[2] = {-1, -4};
+static const int8_t inv_stage_range_col_adst_dct_8[8] = {16, 16, 16, 16,
+                                                   16, 16, 15, 15};
+static const int8_t inv_stage_range_row_adst_dct_8[6] = {17, 17, 17, 17, 17, 17};
+static const int8_t inv_cos_bit_col_adst_dct_8[8] = {15, 15, 15, 15, 15, 15, 15, 15};
+static const int8_t inv_cos_bit_row_adst_dct_8[6] = {15, 15, 15, 15, 15, 15};
+
+static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_8 = {
+    .txfm_size = 8,
+    .stage_num_col = 8,
+    .stage_num_row = 6,
+
+    .shift = inv_shift_adst_dct_8,
+    .stage_range_col = inv_stage_range_col_adst_dct_8,
+    .stage_range_row = inv_stage_range_row_adst_dct_8,
+    .cos_bit_col = inv_cos_bit_col_adst_dct_8,
+    .cos_bit_row = inv_cos_bit_row_adst_dct_8,
+    .txfm_func_col = vp10_iadst8_new,
+    .txfm_func_row = vp10_idct8_new};
+
+//  ---------------- config inv_adst_dct_16 ----------------
+static const int8_t inv_shift_adst_dct_16[2] = {-1, -5};
+static const int8_t inv_stage_range_col_adst_dct_16[10] = {17, 17, 17, 17, 17,
+                                                     17, 17, 17, 16, 16};
+static const int8_t inv_stage_range_row_adst_dct_16[8] = {18, 18, 18, 18,
+                                                    18, 18, 18, 18};
+static const int8_t inv_cos_bit_col_adst_dct_16[10] = {15, 15, 15, 15, 15,
+                                                 15, 15, 15, 15, 15};
+static const int8_t inv_cos_bit_row_adst_dct_16[8] = {14, 14, 14, 14, 14, 14, 14, 14};
+
+static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_16 = {
+    .txfm_size = 16,
+    .stage_num_col = 10,
+    .stage_num_row = 8,
+
+    .shift = inv_shift_adst_dct_16,
+    .stage_range_col = inv_stage_range_col_adst_dct_16,
+    .stage_range_row = inv_stage_range_row_adst_dct_16,
+    .cos_bit_col = inv_cos_bit_col_adst_dct_16,
+    .cos_bit_row = inv_cos_bit_row_adst_dct_16,
+    .txfm_func_col = vp10_iadst16_new,
+    .txfm_func_row = vp10_idct16_new};
+
+//  ---------------- config inv_adst_dct_32 ----------------
+static const int8_t inv_shift_adst_dct_32[2] = {-1, -6};
+static const int8_t inv_stage_range_col_adst_dct_32[12] = {18, 18, 18, 18, 18, 18,
+                                                     18, 18, 18, 18, 17, 17};
+static const int8_t inv_stage_range_row_adst_dct_32[10] = {19, 19, 19, 19, 19,
+                                                     19, 19, 19, 19, 19};
+static const int8_t inv_cos_bit_col_adst_dct_32[12] = {14, 14, 14, 14, 14, 14,
+                                                 14, 14, 14, 14, 14, 15};
+static const int8_t inv_cos_bit_row_adst_dct_32[10] = {13, 13, 13, 13, 13,
+                                                 13, 13, 13, 13, 13};
+
+static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_32 = {
+    .txfm_size = 32,
+    .stage_num_col = 12,
+    .stage_num_row = 10,
+
+    .shift = inv_shift_adst_dct_32,
+    .stage_range_col = inv_stage_range_col_adst_dct_32,
+    .stage_range_row = inv_stage_range_row_adst_dct_32,
+    .cos_bit_col = inv_cos_bit_col_adst_dct_32,
+    .cos_bit_row = inv_cos_bit_row_adst_dct_32,
+    .txfm_func_col = vp10_iadst32_new,
+    .txfm_func_row = vp10_idct32_new};
+
 #endif  // VP10_INV_TXFM2D_CFG_H_