Merge "Fit adst/dct's stage range into 32-bit in bd12" into nextgenv2
diff --git a/vp10/common/idct.c b/vp10/common/idct.c
index da50c03..b7da81b 100644
--- a/vp10/common/idct.c
+++ b/vp10/common/idct.c
@@ -1306,9 +1306,16 @@
&inv_txfm_2d_cfg_dct_dct_4, bd);
break;
case ADST_DCT:
+ vp10_inv_txfm2d_add_4x4(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_adst_dct_4, bd);
+ break;
case DCT_ADST:
+ vp10_inv_txfm2d_add_4x4(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_dct_adst_4, bd);
+ break;
case ADST_ADST:
- vp10_highbd_iht4x4_16_add(input, dest, stride, tx_type, bd);
+ vp10_inv_txfm2d_add_4x4(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_adst_adst_4, bd);
break;
#if CONFIG_EXT_TX
case FLIPADST_DCT:
@@ -1347,9 +1354,16 @@
&inv_txfm_2d_cfg_dct_dct_8, bd);
break;
case ADST_DCT:
+ vp10_inv_txfm2d_add_8x8(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_adst_dct_8, bd);
+ break;
case DCT_ADST:
+ vp10_inv_txfm2d_add_8x8(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_dct_adst_8, bd);
+ break;
case ADST_ADST:
- vp10_highbd_iht8x8_64_add(input, dest, stride, tx_type, bd);
+ vp10_inv_txfm2d_add_8x8(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_adst_adst_8, bd);
break;
#if CONFIG_EXT_TX
case FLIPADST_DCT:
@@ -1388,9 +1402,16 @@
&inv_txfm_2d_cfg_dct_dct_16, bd);
break;
case ADST_DCT:
+ vp10_inv_txfm2d_add_16x16(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_adst_dct_16, bd);
+ break;
case DCT_ADST:
+ vp10_inv_txfm2d_add_16x16(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_dct_adst_16, bd);
+ break;
case ADST_ADST:
- vp10_highbd_iht16x16_256_add(input, dest, stride, tx_type, bd);
+ vp10_inv_txfm2d_add_16x16(input, CONVERT_TO_SHORTPTR(dest), stride,
+ &inv_txfm_2d_cfg_adst_adst_16, bd);
break;
#if CONFIG_EXT_TX
case FLIPADST_DCT:
diff --git a/vp10/common/vp10_fwd_txfm2d_cfg.h b/vp10/common/vp10_fwd_txfm2d_cfg.h
index 10050b7..1b01322 100644
--- a/vp10/common/vp10_fwd_txfm2d_cfg.h
+++ b/vp10/common/vp10_fwd_txfm2d_cfg.h
@@ -123,17 +123,18 @@
TXFM_TYPE_DCT64}; // .txfm_type_row
// ---------------- config fwd_dct_adst_4 ----------------
-static const int8_t fwd_shift_dct_adst_4[3] = {5, -2, -1};
-static const int8_t fwd_stage_range_col_dct_adst_4[4] = {16, 17, 18, 18};
-static const int8_t fwd_stage_range_row_dct_adst_4[6] = {16, 16, 16,
- 17, 17, 17};
-static const int8_t fwd_cos_bit_col_dct_adst_4[4] = {15, 15, 14, 14};
-static const int8_t fwd_cos_bit_row_dct_adst_4[6] = {15, 15, 15, 15, 15, 15};
+static const int8_t fwd_shift_dct_adst_4[3] = {2, 0, 0};
+static const int8_t fwd_stage_range_col_dct_adst_4[4] = {15, 16, 17, 17};
+static const int8_t fwd_stage_range_row_dct_adst_4[6] = {17, 17, 17,
+ 18, 18, 18};
+static const int8_t fwd_cos_bit_col_dct_adst_4[4] = {13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_dct_adst_4[6] = {13, 13, 13, 13, 13, 13};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_dct_adst_4 = {
- 4, // .txfm_size
- 4, // .stage_num_col
- 6, // .stage_num_row
+ 4, // .txfm_size
+ 4, // .stage_num_col
+ 6, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_dct_adst_4, // .shift
fwd_stage_range_col_dct_adst_4, // .stage_range_col
fwd_stage_range_row_dct_adst_4, // .stage_range_row
@@ -143,19 +144,20 @@
TXFM_TYPE_ADST4}; // .txfm_type_row
// ---------------- config fwd_dct_adst_8 ----------------
-static const int8_t fwd_shift_dct_adst_8[3] = {7, -3, -3};
-static const int8_t fwd_stage_range_col_dct_adst_8[6] = {18, 19, 20,
- 21, 21, 21};
+static const int8_t fwd_shift_dct_adst_8[3] = {3, -1, -1};
+static const int8_t fwd_stage_range_col_dct_adst_8[6] = {16, 17, 18,
+ 19, 19, 19};
static const int8_t fwd_stage_range_row_dct_adst_8[8] = {18, 18, 18, 19,
19, 20, 20, 20};
-static const int8_t fwd_cos_bit_col_dct_adst_8[6] = {14, 13, 12, 11, 11, 11};
-static const int8_t fwd_cos_bit_row_dct_adst_8[8] = {14, 14, 14, 13,
+static const int8_t fwd_cos_bit_col_dct_adst_8[6] = {13, 13, 13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_dct_adst_8[8] = {13, 13, 13, 13,
13, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_dct_adst_8 = {
- 8, // .txfm_size
- 6, // .stage_num_col
- 8, // .stage_num_row
+ 8, // .txfm_size
+ 6, // .stage_num_col
+ 8, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_dct_adst_8, // .shift
fwd_stage_range_col_dct_adst_8, // .stage_range_col
fwd_stage_range_row_dct_adst_8, // .stage_range_row
@@ -165,20 +167,21 @@
TXFM_TYPE_ADST8}; // .txfm_type_row
// ---------------- config fwd_dct_adst_16 ----------------
-static const int8_t fwd_shift_dct_adst_16[3] = {4, -1, -3};
+static const int8_t fwd_shift_dct_adst_16[3] = {2, -2, 0};
static const int8_t fwd_stage_range_col_dct_adst_16[8] = {15, 16, 17, 18,
19, 19, 19, 19};
-static const int8_t fwd_stage_range_row_dct_adst_16[10] = {18, 18, 18, 19, 19,
- 20, 20, 21, 21, 21};
-static const int8_t fwd_cos_bit_col_dct_adst_16[8] = {15, 15, 15, 14,
+static const int8_t fwd_stage_range_row_dct_adst_16[10] = {17, 17, 17, 18, 18,
+ 19, 19, 20, 20, 20};
+static const int8_t fwd_cos_bit_col_dct_adst_16[8] = {13, 13, 13, 13,
13, 13, 13, 13};
-static const int8_t fwd_cos_bit_row_dct_adst_16[10] = {14, 14, 14, 13, 13,
- 12, 12, 11, 11, 11};
+static const int8_t fwd_cos_bit_row_dct_adst_16[10] = {13, 13, 13, 13, 13,
+ 13, 13, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_dct_adst_16 = {
- 16, // .txfm_size
- 8, // .stage_num_col
- 10, // .stage_num_row
+ 16, // .txfm_size
+ 8, // .stage_num_col
+ 10, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_dct_adst_16, // .shift
fwd_stage_range_col_dct_adst_16, // .stage_range_col
fwd_stage_range_row_dct_adst_16, // .stage_range_row
@@ -188,20 +191,21 @@
TXFM_TYPE_ADST16}; // .txfm_type_row
// ---------------- config fwd_dct_adst_32 ----------------
-static const int8_t fwd_shift_dct_adst_32[3] = {3, -1, -3};
-static const int8_t fwd_stage_range_col_dct_adst_32[10] = {14, 15, 16, 17, 18,
- 19, 19, 19, 19, 19};
+static const int8_t fwd_shift_dct_adst_32[3] = {2, -4, 0};
+static const int8_t fwd_stage_range_col_dct_adst_32[10] = {15, 16, 17, 18, 19,
+ 20, 20, 20, 20, 20};
static const int8_t fwd_stage_range_row_dct_adst_32[12] = {
- 18, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 22};
-static const int8_t fwd_cos_bit_col_dct_adst_32[10] = {15, 15, 15, 15, 14,
- 13, 13, 13, 13, 13};
-static const int8_t fwd_cos_bit_row_dct_adst_32[12] = {14, 14, 14, 13, 13, 12,
- 12, 11, 11, 10, 10, 10};
+ 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20};
+static const int8_t fwd_cos_bit_col_dct_adst_32[10] = {13, 13, 13, 13, 13,
+ 12, 12, 12, 12, 12};
+static const int8_t fwd_cos_bit_row_dct_adst_32[12] = {13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_dct_adst_32 = {
- 32, // .txfm_size
- 10, // .stage_num_col
- 12, // .stage_num_row
+ 32, // .txfm_size
+ 10, // .stage_num_col
+ 12, // .stage_num_row
+ // 1, // .log_scale
fwd_shift_dct_adst_32, // .shift
fwd_stage_range_col_dct_adst_32, // .stage_range_col
fwd_stage_range_row_dct_adst_32, // .stage_range_row
@@ -209,20 +213,20 @@
fwd_cos_bit_row_dct_adst_32, // .cos_bit_row
TXFM_TYPE_DCT32, // .txfm_type_col
TXFM_TYPE_ADST32}; // .txfm_type_row
-
// ---------------- config fwd_adst_adst_4 ----------------
-static const int8_t fwd_shift_adst_adst_4[3] = {6, 1, -5};
-static const int8_t fwd_stage_range_col_adst_adst_4[6] = {17, 17, 18,
- 19, 19, 19};
-static const int8_t fwd_stage_range_row_adst_adst_4[6] = {20, 20, 20,
- 21, 21, 21};
-static const int8_t fwd_cos_bit_col_adst_adst_4[6] = {15, 15, 14, 13, 13, 13};
-static const int8_t fwd_cos_bit_row_adst_adst_4[6] = {12, 12, 12, 11, 11, 11};
+static const int8_t fwd_shift_adst_adst_4[3] = {2, 0, 0};
+static const int8_t fwd_stage_range_col_adst_adst_4[6] = {15, 15, 16,
+ 17, 17, 17};
+static const int8_t fwd_stage_range_row_adst_adst_4[6] = {17, 17, 17,
+ 18, 18, 18};
+static const int8_t fwd_cos_bit_col_adst_adst_4[6] = {13, 13, 13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_adst_adst_4[6] = {13, 13, 13, 13, 13, 13};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_4 = {
- 4, // .txfm_size
- 6, // .stage_num_col
- 6, // .stage_num_row
+ 4, // .txfm_size
+ 6, // .stage_num_col
+ 6, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_adst_adst_4, // .shift
fwd_stage_range_col_adst_adst_4, // .stage_range_col
fwd_stage_range_row_adst_adst_4, // .stage_range_row
@@ -233,19 +237,20 @@
// ---------------- config fwd_adst_adst_8 ----------------
static const int8_t fwd_shift_adst_adst_8[3] = {3, -1, -1};
-static const int8_t fwd_stage_range_col_adst_adst_8[8] = {14, 14, 15, 16,
- 16, 17, 17, 17};
-static const int8_t fwd_stage_range_row_adst_adst_8[8] = {16, 16, 16, 17,
- 17, 18, 18, 18};
-static const int8_t fwd_cos_bit_col_adst_adst_8[8] = {15, 15, 15, 15,
- 15, 15, 15, 15};
-static const int8_t fwd_cos_bit_row_adst_adst_8[8] = {15, 15, 15, 15,
- 15, 14, 14, 14};
+static const int8_t fwd_stage_range_col_adst_adst_8[8] = {16, 16, 17, 18,
+ 18, 19, 19, 19};
+static const int8_t fwd_stage_range_row_adst_adst_8[8] = {18, 18, 18, 19,
+ 19, 20, 20, 20};
+static const int8_t fwd_cos_bit_col_adst_adst_8[8] = {13, 13, 13, 13,
+ 13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_adst_adst_8[8] = {13, 13, 13, 13,
+ 13, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_8 = {
- 8, // .txfm_size
- 8, // .stage_num_col
- 8, // .stage_num_row
+ 8, // .txfm_size
+ 8, // .stage_num_col
+ 8, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_adst_adst_8, // .shift
fwd_stage_range_col_adst_adst_8, // .stage_range_col
fwd_stage_range_row_adst_adst_8, // .stage_range_row
@@ -255,20 +260,21 @@
TXFM_TYPE_ADST8}; // .txfm_type_row
// ---------------- config fwd_adst_adst_16 ----------------
-static const int8_t fwd_shift_adst_adst_16[3] = {2, 0, -2};
-static const int8_t fwd_stage_range_col_adst_adst_16[10] = {13, 13, 14, 15, 15,
- 16, 16, 17, 17, 17};
+static const int8_t fwd_shift_adst_adst_16[3] = {2, -2, 0};
+static const int8_t fwd_stage_range_col_adst_adst_16[10] = {15, 15, 16, 17, 17,
+ 18, 18, 19, 19, 19};
static const int8_t fwd_stage_range_row_adst_adst_16[10] = {17, 17, 17, 18, 18,
19, 19, 20, 20, 20};
-static const int8_t fwd_cos_bit_col_adst_adst_16[10] = {15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15};
-static const int8_t fwd_cos_bit_row_adst_adst_16[10] = {15, 15, 15, 14, 14,
+static const int8_t fwd_cos_bit_col_adst_adst_16[10] = {13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_adst_adst_16[10] = {13, 13, 13, 13, 13,
13, 13, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_16 = {
- 16, // .txfm_size
- 10, // .stage_num_col
- 10, // .stage_num_row
+ 16, // .txfm_size
+ 10, // .stage_num_col
+ 10, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_adst_adst_16, // .shift
fwd_stage_range_col_adst_adst_16, // .stage_range_col
fwd_stage_range_row_adst_adst_16, // .stage_range_row
@@ -278,20 +284,21 @@
TXFM_TYPE_ADST16}; // .txfm_type_row
// ---------------- config fwd_adst_adst_32 ----------------
-static const int8_t fwd_shift_adst_adst_32[3] = {4, -2, -3};
+static const int8_t fwd_shift_adst_adst_32[3] = {2, -4, 0};
static const int8_t fwd_stage_range_col_adst_adst_32[12] = {
15, 15, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20};
static const int8_t fwd_stage_range_row_adst_adst_32[12] = {
- 18, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 22};
-static const int8_t fwd_cos_bit_col_adst_adst_32[12] = {15, 15, 15, 15, 15, 14,
- 14, 13, 13, 12, 12, 12};
-static const int8_t fwd_cos_bit_row_adst_adst_32[12] = {14, 14, 14, 13, 13, 12,
- 12, 11, 11, 10, 10, 10};
+ 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20};
+static const int8_t fwd_cos_bit_col_adst_adst_32[12] = {13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 12, 12, 12};
+static const int8_t fwd_cos_bit_row_adst_adst_32[12] = {13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_adst_32 = {
- 32, // .txfm_size
- 12, // .stage_num_col
- 12, // .stage_num_row
+ 32, // .txfm_size
+ 12, // .stage_num_col
+ 12, // .stage_num_row
+ // 1, // .log_scale
fwd_shift_adst_adst_32, // .shift
fwd_stage_range_col_adst_adst_32, // .stage_range_col
fwd_stage_range_row_adst_adst_32, // .stage_range_row
@@ -301,17 +308,18 @@
TXFM_TYPE_ADST32}; // .txfm_type_row
// ---------------- config fwd_adst_dct_4 ----------------
-static const int8_t fwd_shift_adst_dct_4[3] = {5, -4, 1};
-static const int8_t fwd_stage_range_col_adst_dct_4[6] = {16, 16, 17,
- 18, 18, 18};
-static const int8_t fwd_stage_range_row_adst_dct_4[4] = {14, 15, 15, 15};
-static const int8_t fwd_cos_bit_col_adst_dct_4[6] = {15, 15, 15, 14, 14, 14};
-static const int8_t fwd_cos_bit_row_adst_dct_4[4] = {15, 15, 15, 15};
+static const int8_t fwd_shift_adst_dct_4[3] = {2, 0, 0};
+static const int8_t fwd_stage_range_col_adst_dct_4[6] = {15, 15, 16,
+ 17, 17, 17};
+static const int8_t fwd_stage_range_row_adst_dct_4[4] = {17, 18, 18, 18};
+static const int8_t fwd_cos_bit_col_adst_dct_4[6] = {13, 13, 13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_adst_dct_4[4] = {13, 13, 13, 13};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_dct_4 = {
- 4, // .txfm_size
- 6, // .stage_num_col
- 4, // .stage_num_row
+ 4, // .txfm_size
+ 6, // .stage_num_col
+ 4, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_adst_dct_4, // .shift
fwd_stage_range_col_adst_dct_4, // .stage_range_col
fwd_stage_range_row_adst_dct_4, // .stage_range_row
@@ -321,19 +329,20 @@
TXFM_TYPE_DCT4}; // .txfm_type_row
// ---------------- config fwd_adst_dct_8 ----------------
-static const int8_t fwd_shift_adst_dct_8[3] = {5, 1, -5};
+static const int8_t fwd_shift_adst_dct_8[3] = {3, -1, -1};
static const int8_t fwd_stage_range_col_adst_dct_8[8] = {16, 16, 17, 18,
18, 19, 19, 19};
-static const int8_t fwd_stage_range_row_adst_dct_8[6] = {20, 21, 22,
- 22, 22, 22};
-static const int8_t fwd_cos_bit_col_adst_dct_8[8] = {15, 15, 15, 14,
- 14, 13, 13, 13};
-static const int8_t fwd_cos_bit_row_adst_dct_8[6] = {12, 11, 10, 10, 10, 10};
+static const int8_t fwd_stage_range_row_adst_dct_8[6] = {18, 19, 20,
+ 20, 20, 20};
+static const int8_t fwd_cos_bit_col_adst_dct_8[8] = {13, 13, 13, 13,
+ 13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_adst_dct_8[6] = {13, 13, 12, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_dct_8 = {
- 8, // .txfm_size
- 8, // .stage_num_col
- 6, // .stage_num_row
+ 8, // .txfm_size
+ 8, // .stage_num_col
+ 6, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_adst_dct_8, // .shift
fwd_stage_range_col_adst_dct_8, // .stage_range_col
fwd_stage_range_row_adst_dct_8, // .stage_range_row
@@ -343,20 +352,21 @@
TXFM_TYPE_DCT8}; // .txfm_type_row
// ---------------- config fwd_adst_dct_16 ----------------
-static const int8_t fwd_shift_adst_dct_16[3] = {4, -3, -1};
+static const int8_t fwd_shift_adst_dct_16[3] = {2, -2, 0};
static const int8_t fwd_stage_range_col_adst_dct_16[10] = {15, 15, 16, 17, 17,
18, 18, 19, 19, 19};
-static const int8_t fwd_stage_range_row_adst_dct_16[8] = {16, 17, 18, 19,
- 19, 19, 19, 19};
-static const int8_t fwd_cos_bit_col_adst_dct_16[10] = {15, 15, 15, 15, 15,
- 14, 14, 13, 13, 13};
-static const int8_t fwd_cos_bit_row_adst_dct_16[8] = {15, 15, 14, 13,
- 13, 13, 13, 13};
+static const int8_t fwd_stage_range_row_adst_dct_16[8] = {17, 18, 19, 20,
+ 20, 20, 20, 20};
+static const int8_t fwd_cos_bit_col_adst_dct_16[10] = {13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13};
+static const int8_t fwd_cos_bit_row_adst_dct_16[8] = {13, 13, 13, 12,
+ 12, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_dct_16 = {
- 16, // .txfm_size
- 10, // .stage_num_col
- 8, // .stage_num_row
+ 16, // .txfm_size
+ 10, // .stage_num_col
+ 8, // .stage_num_row
+ // 0, // .log_scale
fwd_shift_adst_dct_16, // .shift
fwd_stage_range_col_adst_dct_16, // .stage_range_col
fwd_stage_range_row_adst_dct_16, // .stage_range_row
@@ -366,20 +376,21 @@
TXFM_TYPE_DCT16}; // .txfm_type_row
// ---------------- config fwd_adst_dct_32 ----------------
-static const int8_t fwd_shift_adst_dct_32[3] = {5, -4, -2};
+static const int8_t fwd_shift_adst_dct_32[3] = {2, -4, 0};
static const int8_t fwd_stage_range_col_adst_dct_32[12] = {
- 16, 16, 17, 18, 18, 19, 19, 20, 20, 21, 21, 21};
-static const int8_t fwd_stage_range_row_adst_dct_32[10] = {17, 18, 19, 20, 21,
- 21, 21, 21, 21, 21};
-static const int8_t fwd_cos_bit_col_adst_dct_32[12] = {15, 15, 15, 14, 14, 13,
- 13, 12, 12, 11, 11, 11};
-static const int8_t fwd_cos_bit_row_adst_dct_32[10] = {15, 14, 13, 12, 11,
- 11, 11, 11, 11, 11};
+ 15, 15, 16, 17, 17, 18, 18, 19, 19, 20, 20, 20};
+static const int8_t fwd_stage_range_row_adst_dct_32[10] = {16, 17, 18, 19, 20,
+ 20, 20, 20, 20, 20};
+static const int8_t fwd_cos_bit_col_adst_dct_32[12] = {13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 12, 12, 12};
+static const int8_t fwd_cos_bit_row_adst_dct_32[10] = {13, 13, 13, 13, 12,
+ 12, 12, 12, 12, 12};
static const TXFM_2D_CFG fwd_txfm_2d_cfg_adst_dct_32 = {
- 32, // .txfm_size
- 12, // .stage_num_col
- 10, // .stage_num_row
+ 32, // .txfm_size
+ 12, // .stage_num_col
+ 10, // .stage_num_row
+ // 1, // .log_scale
fwd_shift_adst_dct_32, // .shift
fwd_stage_range_col_adst_dct_32, // .stage_range_col
fwd_stage_range_row_adst_dct_32, // .stage_range_row
diff --git a/vp10/common/vp10_inv_txfm2d_cfg.h b/vp10/common/vp10_inv_txfm2d_cfg.h
index f1bb2c7..983220f 100644
--- a/vp10/common/vp10_inv_txfm2d_cfg.h
+++ b/vp10/common/vp10_inv_txfm2d_cfg.h
@@ -123,17 +123,18 @@
TXFM_TYPE_DCT64}; // .txfm_type_row
// ---------------- config inv_dct_adst_4 ----------------
-static const int8_t inv_shift_dct_adst_4[2] = {1, -5};
-static const int8_t inv_stage_range_col_dct_adst_4[4] = {17, 17, 16, 16};
-static const int8_t inv_stage_range_row_dct_adst_4[6] = {16, 16, 16,
- 16, 16, 16};
-static const int8_t inv_cos_bit_col_dct_adst_4[4] = {15, 15, 15, 15};
-static const int8_t inv_cos_bit_row_dct_adst_4[6] = {15, 15, 15, 15, 15, 15};
+static const int8_t inv_shift_dct_adst_4[2] = {0, -4};
+static const int8_t inv_stage_range_col_dct_adst_4[4] = {18, 18, 17, 17};
+static const int8_t inv_stage_range_row_dct_adst_4[6] = {18, 18, 18,
+ 18, 18, 18};
+static const int8_t inv_cos_bit_col_dct_adst_4[4] = {13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_dct_adst_4[6] = {13, 13, 13, 13, 13, 13};
static const TXFM_2D_CFG inv_txfm_2d_cfg_dct_adst_4 = {
- 4, // .txfm_size
- 4, // .stage_num_col
- 6, // .stage_num_row
+ 4, // .txfm_size
+ 4, // .stage_num_col
+ 6, // .stage_num_row
+ // 0, // .log_scale
inv_shift_dct_adst_4, // .shift
inv_stage_range_col_dct_adst_4, // .stage_range_col
inv_stage_range_row_dct_adst_4, // .stage_range_row
@@ -143,19 +144,20 @@
TXFM_TYPE_ADST4}; // .txfm_type_row
// ---------------- config inv_dct_adst_8 ----------------
-static const int8_t inv_shift_dct_adst_8[2] = {-1, -4};
-static const int8_t inv_stage_range_col_dct_adst_8[6] = {16, 16, 16,
- 16, 15, 15};
-static const int8_t inv_stage_range_row_dct_adst_8[8] = {17, 17, 17, 17,
- 17, 17, 17, 17};
-static const int8_t inv_cos_bit_col_dct_adst_8[6] = {15, 15, 15, 15, 15, 15};
-static const int8_t inv_cos_bit_row_dct_adst_8[8] = {15, 15, 15, 15,
- 15, 15, 15, 15};
+static const int8_t inv_shift_dct_adst_8[2] = {1, -6};
+static const int8_t inv_stage_range_col_dct_adst_8[6] = {20, 20, 20,
+ 20, 19, 19};
+static const int8_t inv_stage_range_row_dct_adst_8[8] = {19, 19, 19, 19,
+ 19, 19, 19, 19};
+static const int8_t inv_cos_bit_col_dct_adst_8[6] = {12, 12, 12, 12, 12, 13};
+static const int8_t inv_cos_bit_row_dct_adst_8[8] = {13, 13, 13, 13,
+ 13, 13, 13, 13};
static const TXFM_2D_CFG inv_txfm_2d_cfg_dct_adst_8 = {
- 8, // .txfm_size
- 6, // .stage_num_col
- 8, // .stage_num_row
+ 8, // .txfm_size
+ 6, // .stage_num_col
+ 8, // .stage_num_row
+ // 0, // .log_scale
inv_shift_dct_adst_8, // .shift
inv_stage_range_col_dct_adst_8, // .stage_range_col
inv_stage_range_row_dct_adst_8, // .stage_range_row
@@ -165,20 +167,21 @@
TXFM_TYPE_ADST8}; // .txfm_type_row
// ---------------- config inv_dct_adst_16 ----------------
-static const int8_t inv_shift_dct_adst_16[2] = {1, -7};
+static const int8_t inv_shift_dct_adst_16[2] = {-1, -5};
static const int8_t inv_stage_range_col_dct_adst_16[8] = {19, 19, 19, 19,
19, 19, 18, 18};
-static const int8_t inv_stage_range_row_dct_adst_16[10] = {18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18};
+static const int8_t inv_stage_range_row_dct_adst_16[10] = {20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20};
static const int8_t inv_cos_bit_col_dct_adst_16[8] = {13, 13, 13, 13,
- 13, 13, 13, 14};
-static const int8_t inv_cos_bit_row_dct_adst_16[10] = {14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14};
+ 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_dct_adst_16[10] = {12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12};
static const TXFM_2D_CFG inv_txfm_2d_cfg_dct_adst_16 = {
- 16, // .txfm_size
- 8, // .stage_num_col
- 10, // .stage_num_row
+ 16, // .txfm_size
+ 8, // .stage_num_col
+ 10, // .stage_num_row
+ // 0, // .log_scale
inv_shift_dct_adst_16, // .shift
inv_stage_range_col_dct_adst_16, // .stage_range_col
inv_stage_range_row_dct_adst_16, // .stage_range_row
@@ -188,20 +191,21 @@
TXFM_TYPE_ADST16}; // .txfm_type_row
// ---------------- config inv_dct_adst_32 ----------------
-static const int8_t inv_shift_dct_adst_32[2] = {-1, -6};
-static const int8_t inv_stage_range_col_dct_adst_32[10] = {18, 18, 18, 18, 18,
- 18, 18, 18, 17, 17};
+static const int8_t inv_shift_dct_adst_32[2] = {-1, -5};
+static const int8_t inv_stage_range_col_dct_adst_32[10] = {19, 19, 19, 19, 19,
+ 19, 19, 19, 18, 18};
static const int8_t inv_stage_range_row_dct_adst_32[12] = {
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19};
-static const int8_t inv_cos_bit_col_dct_adst_32[10] = {14, 14, 14, 14, 14,
- 14, 14, 14, 14, 15};
-static const int8_t inv_cos_bit_row_dct_adst_32[12] = {13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13};
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20};
+static const int8_t inv_cos_bit_col_dct_adst_32[10] = {13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_dct_adst_32[12] = {12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12};
static const TXFM_2D_CFG inv_txfm_2d_cfg_dct_adst_32 = {
- 32, // .txfm_size
- 10, // .stage_num_col
- 12, // .stage_num_row
+ 32, // .txfm_size
+ 10, // .stage_num_col
+ 12, // .stage_num_row
+ // 1, // .log_scale
inv_shift_dct_adst_32, // .shift
inv_stage_range_col_dct_adst_32, // .stage_range_col
inv_stage_range_row_dct_adst_32, // .stage_range_row
@@ -212,17 +216,18 @@
// ---------------- config inv_adst_adst_4 ----------------
static const int8_t inv_shift_adst_adst_4[2] = {0, -4};
-static const int8_t inv_stage_range_col_adst_adst_4[6] = {16, 16, 16,
- 16, 15, 15};
-static const int8_t inv_stage_range_row_adst_adst_4[6] = {16, 16, 16,
- 16, 16, 16};
-static const int8_t inv_cos_bit_col_adst_adst_4[6] = {15, 15, 15, 15, 15, 15};
-static const int8_t inv_cos_bit_row_adst_adst_4[6] = {15, 15, 15, 15, 15, 15};
+static const int8_t inv_stage_range_col_adst_adst_4[6] = {18, 18, 18,
+ 18, 17, 17};
+static const int8_t inv_stage_range_row_adst_adst_4[6] = {18, 18, 18,
+ 18, 18, 18};
+static const int8_t inv_cos_bit_col_adst_adst_4[6] = {13, 13, 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_adst_adst_4[6] = {13, 13, 13, 13, 13, 13};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_adst_4 = {
- 4, // .txfm_size
- 6, // .stage_num_col
- 6, // .stage_num_row
+ 4, // .txfm_size
+ 6, // .stage_num_col
+ 6, // .stage_num_row
+ // 0, // .log_scale
inv_shift_adst_adst_4, // .shift
inv_stage_range_col_adst_adst_4, // .stage_range_col
inv_stage_range_row_adst_adst_4, // .stage_range_row
@@ -232,20 +237,21 @@
TXFM_TYPE_ADST4}; // .txfm_type_row
// ---------------- config inv_adst_adst_8 ----------------
-static const int8_t inv_shift_adst_adst_8[2] = {-1, -4};
-static const int8_t inv_stage_range_col_adst_adst_8[8] = {16, 16, 16, 16,
- 16, 16, 15, 15};
-static const int8_t inv_stage_range_row_adst_adst_8[8] = {17, 17, 17, 17,
- 17, 17, 17, 17};
-static const int8_t inv_cos_bit_col_adst_adst_8[8] = {15, 15, 15, 15,
- 15, 15, 15, 15};
-static const int8_t inv_cos_bit_row_adst_adst_8[8] = {15, 15, 15, 15,
- 15, 15, 15, 15};
+static const int8_t inv_shift_adst_adst_8[2] = {1, -6};
+static const int8_t inv_stage_range_col_adst_adst_8[8] = {20, 20, 20, 20,
+ 20, 20, 19, 19};
+static const int8_t inv_stage_range_row_adst_adst_8[8] = {19, 19, 19, 19,
+ 19, 19, 19, 19};
+static const int8_t inv_cos_bit_col_adst_adst_8[8] = {12, 12, 12, 12,
+ 12, 12, 12, 13};
+static const int8_t inv_cos_bit_row_adst_adst_8[8] = {13, 13, 13, 13,
+ 13, 13, 13, 13};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_adst_8 = {
- 8, // .txfm_size
- 8, // .stage_num_col
- 8, // .stage_num_row
+ 8, // .txfm_size
+ 8, // .stage_num_col
+ 8, // .stage_num_row
+ // 0, // .log_scale
inv_shift_adst_adst_8, // .shift
inv_stage_range_col_adst_adst_8, // .stage_range_col
inv_stage_range_row_adst_adst_8, // .stage_range_row
@@ -255,20 +261,21 @@
TXFM_TYPE_ADST8}; // .txfm_type_row
// ---------------- config inv_adst_adst_16 ----------------
-static const int8_t inv_shift_adst_adst_16[2] = {0, -6};
-static const int8_t inv_stage_range_col_adst_adst_16[10] = {18, 18, 18, 18, 18,
- 18, 18, 18, 17, 17};
-static const int8_t inv_stage_range_row_adst_adst_16[10] = {18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18};
-static const int8_t inv_cos_bit_col_adst_adst_16[10] = {14, 14, 14, 14, 14,
- 14, 14, 14, 14, 15};
-static const int8_t inv_cos_bit_row_adst_adst_16[10] = {14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14};
+static const int8_t inv_shift_adst_adst_16[2] = {-1, -5};
+static const int8_t inv_stage_range_col_adst_adst_16[10] = {19, 19, 19, 19, 19,
+ 19, 19, 19, 18, 18};
+static const int8_t inv_stage_range_row_adst_adst_16[10] = {20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20};
+static const int8_t inv_cos_bit_col_adst_adst_16[10] = {13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_adst_adst_16[10] = {12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_adst_16 = {
- 16, // .txfm_size
- 10, // .stage_num_col
- 10, // .stage_num_row
+ 16, // .txfm_size
+ 10, // .stage_num_col
+ 10, // .stage_num_row
+ // 0, // .log_scale
inv_shift_adst_adst_16, // .shift
inv_stage_range_col_adst_adst_16, // .stage_range_col
inv_stage_range_row_adst_adst_16, // .stage_range_row
@@ -278,20 +285,21 @@
TXFM_TYPE_ADST16}; // .txfm_type_row
// ---------------- config inv_adst_adst_32 ----------------
-static const int8_t inv_shift_adst_adst_32[2] = {-1, -6};
+static const int8_t inv_shift_adst_adst_32[2] = {-1, -5};
static const int8_t inv_stage_range_col_adst_adst_32[12] = {
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17};
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18};
static const int8_t inv_stage_range_row_adst_adst_32[12] = {
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19};
-static const int8_t inv_cos_bit_col_adst_adst_32[12] = {14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 15};
-static const int8_t inv_cos_bit_row_adst_adst_32[12] = {13, 13, 13, 13, 13, 13,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20};
+static const int8_t inv_cos_bit_col_adst_adst_32[12] = {13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_adst_adst_32[12] = {12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_adst_32 = {
- 32, // .txfm_size
- 12, // .stage_num_col
- 12, // .stage_num_row
+ 32, // .txfm_size
+ 12, // .stage_num_col
+ 12, // .stage_num_row
+ // 1, // .log_scale
inv_shift_adst_adst_32, // .shift
inv_stage_range_col_adst_adst_32, // .stage_range_col
inv_stage_range_row_adst_adst_32, // .stage_range_row
@@ -301,17 +309,18 @@
TXFM_TYPE_ADST32}; // .txfm_type_row
// ---------------- 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 int8_t inv_shift_adst_dct_4[2] = {0, -4};
+static const int8_t inv_stage_range_col_adst_dct_4[6] = {18, 18, 18,
+ 18, 17, 17};
+static const int8_t inv_stage_range_row_adst_dct_4[4] = {18, 18, 18, 18};
+static const int8_t inv_cos_bit_col_adst_dct_4[6] = {13, 13, 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_adst_dct_4[4] = {13, 13, 13, 13};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_4 = {
- 4, // .txfm_size
- 6, // .stage_num_col
- 4, // .stage_num_row
+ 4, // .txfm_size
+ 6, // .stage_num_col
+ 4, // .stage_num_row
+ // 0, // .log_scale
inv_shift_adst_dct_4, // .shift
inv_stage_range_col_adst_dct_4, // .stage_range_col
inv_stage_range_row_adst_dct_4, // .stage_range_row
@@ -321,19 +330,20 @@
TXFM_TYPE_DCT4}; // .txfm_type_row
// ---------------- 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 int8_t inv_shift_adst_dct_8[2] = {1, -6};
+static const int8_t inv_stage_range_col_adst_dct_8[8] = {20, 20, 20, 20,
+ 20, 20, 19, 19};
+static const int8_t inv_stage_range_row_adst_dct_8[6] = {19, 19, 19,
+ 19, 19, 19};
+static const int8_t inv_cos_bit_col_adst_dct_8[8] = {12, 12, 12, 12,
+ 12, 12, 12, 13};
+static const int8_t inv_cos_bit_row_adst_dct_8[6] = {13, 13, 13, 13, 13, 13};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_8 = {
- 8, // .txfm_size
- 8, // .stage_num_col
- 6, // .stage_num_row
+ 8, // .txfm_size
+ 8, // .stage_num_col
+ 6, // .stage_num_row
+ // 0, // .log_scale
inv_shift_adst_dct_8, // .shift
inv_stage_range_col_adst_dct_8, // .stage_range_col
inv_stage_range_row_adst_dct_8, // .stage_range_row
@@ -344,19 +354,20 @@
// ---------------- 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 int8_t inv_stage_range_col_adst_dct_16[10] = {19, 19, 19, 19, 19,
+ 19, 19, 19, 18, 18};
+static const int8_t inv_stage_range_row_adst_dct_16[8] = {20, 20, 20, 20,
+ 20, 20, 20, 20};
+static const int8_t inv_cos_bit_col_adst_dct_16[10] = {13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_adst_dct_16[8] = {12, 12, 12, 12,
+ 12, 12, 12, 12};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_16 = {
- 16, // .txfm_size
- 10, // .stage_num_col
- 8, // .stage_num_row
+ 16, // .txfm_size
+ 10, // .stage_num_col
+ 8, // .stage_num_row
+ // 0, // .log_scale
inv_shift_adst_dct_16, // .shift
inv_stage_range_col_adst_dct_16, // .stage_range_col
inv_stage_range_row_adst_dct_16, // .stage_range_row
@@ -366,20 +377,21 @@
TXFM_TYPE_DCT16}; // .txfm_type_row
// ---------------- config inv_adst_dct_32 ----------------
-static const int8_t inv_shift_adst_dct_32[2] = {-1, -6};
+static const int8_t inv_shift_adst_dct_32[2] = {-1, -5};
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};
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18};
+static const int8_t inv_stage_range_row_adst_dct_32[10] = {20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20};
+static const int8_t inv_cos_bit_col_adst_dct_32[12] = {13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13};
+static const int8_t inv_cos_bit_row_adst_dct_32[10] = {12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12};
static const TXFM_2D_CFG inv_txfm_2d_cfg_adst_dct_32 = {
- 32, // .txfm_size
- 12, // .stage_num_col
- 10, // .stage_num_row
+ 32, // .txfm_size
+ 12, // .stage_num_col
+ 10, // .stage_num_row
+ // 1, // .log_scale
inv_shift_adst_dct_32, // .shift
inv_stage_range_col_adst_dct_32, // .stage_range_col
inv_stage_range_row_adst_dct_32, // .stage_range_row
diff --git a/vp10/encoder/hybrid_fwd_txfm.c b/vp10/encoder/hybrid_fwd_txfm.c
index 07c6ba0..b192164 100644
--- a/vp10/encoder/hybrid_fwd_txfm.c
+++ b/vp10/encoder/hybrid_fwd_txfm.c
@@ -199,9 +199,16 @@
&fwd_txfm_2d_cfg_dct_dct_4, bd);
break;
case ADST_DCT:
+ vp10_fwd_txfm2d_4x4(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_adst_dct_4, bd);
+ break;
case DCT_ADST:
+ vp10_fwd_txfm2d_4x4(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_dct_adst_4, bd);
+ break;
case ADST_ADST:
- vp10_highbd_fht4x4_c(src_diff, coeff, diff_stride, tx_type);
+ vp10_fwd_txfm2d_4x4(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_adst_adst_4, bd);
break;
#if CONFIG_EXT_TX
case FLIPADST_DCT:
@@ -239,12 +246,16 @@
&fwd_txfm_2d_cfg_dct_dct_8, bd);
break;
case ADST_DCT:
+ vp10_fwd_txfm2d_8x8(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_adst_dct_8, bd);
+ break;
case DCT_ADST:
+ vp10_fwd_txfm2d_8x8(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_dct_adst_8, bd);
+ break;
case ADST_ADST:
- if (fwd_txfm_opt == FWD_TXFM_OPT_NORMAL)
- vp10_highbd_fht8x8(src_diff, coeff, diff_stride, tx_type);
- else // FWD_TXFM_OPT_DC
- vpx_highbd_fdct8x8_1(src_diff, coeff, diff_stride);
+ vp10_fwd_txfm2d_8x8(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_adst_adst_8, bd);
break;
#if CONFIG_EXT_TX
case FLIPADST_DCT:
@@ -283,12 +294,16 @@
&fwd_txfm_2d_cfg_dct_dct_16, bd);
break;
case ADST_DCT:
+ vp10_fwd_txfm2d_16x16(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_adst_dct_16, bd);
+ break;
case DCT_ADST:
+ vp10_fwd_txfm2d_16x16(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_dct_adst_16, bd);
+ break;
case ADST_ADST:
- if (fwd_txfm_opt == FWD_TXFM_OPT_NORMAL)
- vp10_highbd_fht16x16(src_diff, coeff, diff_stride, tx_type);
- else // FWD_TXFM_OPT_DC
- vpx_highbd_fdct16x16_1(src_diff, coeff, diff_stride);
+ vp10_fwd_txfm2d_16x16(src_diff, coeff, diff_stride,
+ &fwd_txfm_2d_cfg_adst_adst_16, bd);
break;
#if CONFIG_EXT_TX
case FLIPADST_DCT: