Remove dst1 config option and merge with ext-tx
Change-Id: I0152ed352ae2a0a725a508b5c209ef2c1dc2302d
This commit is contained in:
parent
a542190830
commit
3a45a1edfd
1
configure
vendored
1
configure
vendored
@ -305,7 +305,6 @@ EXPERIMENT_LIST="
|
||||
wavelets
|
||||
ext_partition
|
||||
qctx_tprobs
|
||||
dst1
|
||||
sr_mode
|
||||
multi_ref
|
||||
last4_ref
|
||||
|
@ -559,7 +559,6 @@ static TX_TYPE ext_tx_to_txtype[EXT_TX_TYPES] = {
|
||||
FLIPADST_FLIPADST,
|
||||
ADST_FLIPADST,
|
||||
FLIPADST_ADST,
|
||||
#if CONFIG_DST1
|
||||
DST_DST,
|
||||
DST_DCT,
|
||||
DCT_DST,
|
||||
@ -567,17 +566,14 @@ static TX_TYPE ext_tx_to_txtype[EXT_TX_TYPES] = {
|
||||
ADST_DST,
|
||||
DST_FLIPADST,
|
||||
FLIPADST_DST,
|
||||
#endif // CONFIG_DST1
|
||||
};
|
||||
|
||||
#if CONFIG_DST1
|
||||
static INLINE int is_dst_used(TX_TYPE tx_type) {
|
||||
return (tx_type == DST_DST ||
|
||||
tx_type == DST_DCT || tx_type == DCT_DST ||
|
||||
tx_type == DST_ADST || tx_type == ADST_DST ||
|
||||
tx_type == DST_FLIPADST || tx_type == FLIPADST_DST);
|
||||
}
|
||||
#endif // CONFIG_DST1
|
||||
|
||||
#if CONFIG_WAVELETS
|
||||
static TX_TYPE ext_tx_to_txtype_large[EXT_TX_TYPES_LARGE] = {
|
||||
|
@ -531,7 +531,6 @@ static const struct tx_probs default_tx_probs = {
|
||||
};
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
const vp9_tree_index vp9_ext_tx_tree[TREE_SIZE(EXT_TX_TYPES)] = {
|
||||
-NORM, 2,
|
||||
-ALT9, 4,
|
||||
@ -568,38 +567,6 @@ static const vp9_prob default_ext_tx_prob[3][EXT_TX_TYPES - 1] = {
|
||||
};
|
||||
#endif // CONFIG_WAVELETS
|
||||
|
||||
#else // CONFIG_DST1
|
||||
|
||||
const vp9_tree_index vp9_ext_tx_tree[TREE_SIZE(EXT_TX_TYPES)] = {
|
||||
-NORM, 2,
|
||||
4, 10,
|
||||
6, 8,
|
||||
-ALT1, -ALT2,
|
||||
-ALT3, -ALT4,
|
||||
12, 14,
|
||||
-ALT5, -ALT6,
|
||||
-ALT7, -ALT8,
|
||||
};
|
||||
|
||||
#if CONFIG_WAVELETS
|
||||
static const vp9_prob default_ext_tx_prob[TX_SIZES][EXT_TX_TYPES - 1] = {
|
||||
{ 240, 128, 128, 128, 128, 128, 128, 128 },
|
||||
{ 208, 128, 128, 128, 128, 128, 128, 128 },
|
||||
{ 176, 128, 128, 128, 128, 128, 128, 128 },
|
||||
{ 168, 128, 128, 128, 128, 128, 128, 128 },
|
||||
#if CONFIG_TX64X64
|
||||
{ 160, 128, 128, 128, 128, 128, 128, 128 },
|
||||
#endif // CONFIG_TX64X64
|
||||
};
|
||||
#else // CONFIG_WAVELETS
|
||||
static const vp9_prob default_ext_tx_prob[3][EXT_TX_TYPES - 1] = {
|
||||
{ 240, 128, 128, 128, 128, 128, 128, 128 },
|
||||
{ 208, 128, 128, 128, 128, 128, 128, 128 },
|
||||
{ 176, 128, 128, 128, 128, 128, 128, 128 },
|
||||
};
|
||||
#endif // CONFIG_WAVELETS
|
||||
#endif // CONFIG_DST1
|
||||
|
||||
#if CONFIG_WAVELETS
|
||||
const vp9_tree_index vp9_ext_tx_large_tree[TREE_SIZE(EXT_TX_TYPES_LARGE)] = {
|
||||
-NORM, -ALT1,
|
||||
|
@ -148,7 +148,6 @@ typedef enum {
|
||||
FLIPADST_FLIPADST = 6,
|
||||
ADST_FLIPADST = 7,
|
||||
FLIPADST_ADST = 8,
|
||||
#if CONFIG_DST1
|
||||
DST_DST = 9,
|
||||
DST_DCT = 10,
|
||||
DCT_DST = 11,
|
||||
@ -156,7 +155,6 @@ typedef enum {
|
||||
ADST_DST = 13,
|
||||
DST_FLIPADST = 14,
|
||||
FLIPADST_DST = 15,
|
||||
#endif // CONFIG_DST1
|
||||
#if CONFIG_WAVELETS
|
||||
WAVELET1_DCT_DCT,
|
||||
#endif // CONFIG_WAVELETS
|
||||
@ -178,7 +176,6 @@ typedef enum {
|
||||
ALT6 = 6,
|
||||
ALT7 = 7,
|
||||
ALT8 = 8,
|
||||
#if CONFIG_DST1
|
||||
ALT9 = 9,
|
||||
ALT10 = 10,
|
||||
ALT11 = 11,
|
||||
@ -186,7 +183,6 @@ typedef enum {
|
||||
ALT13 = 13,
|
||||
ALT14 = 14,
|
||||
ALT15 = 15,
|
||||
#endif // CONFIG_DST1
|
||||
EXT_TX_TYPES
|
||||
} EXT_TX_TYPE;
|
||||
#endif // CONFIG_EXT_TX
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "vp9/common/vp9_idct.h"
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
void idst4(const tran_low_t *input, tran_low_t *output) {
|
||||
// {sin(pi/5), sin(pi*2/5)} * sqrt(2/5) * sqrt(2)
|
||||
static const int32_t sinvalue_lookup[] = {
|
||||
@ -191,6 +190,7 @@ void highbd_idst4(const tran_low_t *input, tran_low_t *output, int bd) {
|
||||
int64_t d03 = (input[0] - input[3]);
|
||||
int64_t s12 = (input[1] + input[2]);
|
||||
int64_t d12 = (input[1] - input[2]);
|
||||
(void) bd;
|
||||
|
||||
sum = s03 * sinvalue_lookup[0] + s12 * sinvalue_lookup[1];
|
||||
output[0] = WRAPLOW(ROUND_POWER_OF_TWO(sum, (2 * DCT_CONST_BITS)), bd);
|
||||
@ -216,6 +216,7 @@ void highbd_idst8(const tran_low_t *input, tran_low_t *output, int bd) {
|
||||
int64_t d25 = (input[2] - input[5]);
|
||||
int64_t s34 = (input[3] + input[4]);
|
||||
int64_t d34 = (input[3] - input[4]);
|
||||
(void) bd;
|
||||
|
||||
sum = s07 * sinvalue_lookup[0] + s16 * sinvalue_lookup[1] +
|
||||
s25 * sinvalue_lookup[2] + s34 * sinvalue_lookup[3];
|
||||
@ -264,6 +265,8 @@ void highbd_idst16(const tran_low_t *input, tran_low_t *output, int bd) {
|
||||
int64_t d69 = (input[6] - input[9]);
|
||||
int64_t s78 = (input[7] + input[8]);
|
||||
int64_t d78 = (input[7] - input[8]);
|
||||
(void) bd;
|
||||
|
||||
sum = s015 * sinvalue_lookup[0] + s114 * sinvalue_lookup[1] +
|
||||
s213 * sinvalue_lookup[2] + s312 * sinvalue_lookup[3] +
|
||||
s411 * sinvalue_lookup[4] + s510 * sinvalue_lookup[5] +
|
||||
@ -346,7 +349,6 @@ void highbd_idst16(const tran_low_t *input, tran_low_t *output, int bd) {
|
||||
output[15] = WRAPLOW(ROUND_POWER_OF_TWO(sum, (2 * DCT_CONST_BITS)), bd);
|
||||
}
|
||||
#endif // CONFIG_VP9_HIGHBITDEPTH
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
|
||||
void vp9_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride) {
|
||||
@ -622,7 +624,6 @@ void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride,
|
||||
{ iadst4, iadst4 }, // FLIPADST_FLIPADST = 6
|
||||
{ iadst4, iadst4 }, // ADST_FLIPADST = 7
|
||||
{ iadst4, iadst4 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ idst4, idst4 }, // DST_DST = 9
|
||||
{ idst4, idct4 }, // DST_DCT = 10
|
||||
{ idct4, idst4 }, // DCT_DST = 11
|
||||
@ -630,7 +631,6 @@ void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride,
|
||||
{ iadst4, idst4 }, // ADST_DST = 13
|
||||
{ idst4, iadst4 }, // DST_FLIPADST = 14
|
||||
{ iadst4, idst4 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -746,7 +746,6 @@ static const transform_2d IHT_8[] = {
|
||||
{ iadst8, iadst8 }, // FLIPADST_FLIPADST = 6
|
||||
{ iadst8, iadst8 }, // ADST_FLIPADST = 7
|
||||
{ iadst8, iadst8 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ idst8, idst8 }, // DST_DST = 9
|
||||
{ idst8, idct8 }, // DST_DCT = 10
|
||||
{ idct8, idst8 }, // DCT_DST = 11
|
||||
@ -754,7 +753,6 @@ static const transform_2d IHT_8[] = {
|
||||
{ iadst8, idst8 }, // ADST_DST = 13
|
||||
{ idst8, iadst8 }, // DST_FLIPADST = 14
|
||||
{ iadst8, idst8 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -1280,7 +1278,6 @@ static const transform_2d IHT_16[] = {
|
||||
{ iadst16, iadst16 }, // FLIPADST_FLIPADST = 6
|
||||
{ iadst16, iadst16 }, // ADST_FLIPADST = 7
|
||||
{ iadst16, iadst16 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ idst16, idst16 }, // DST_DST = 9
|
||||
{ idst16, idct16 }, // DST_DCT = 10
|
||||
{ idct16, idst16 }, // DCT_DST = 11
|
||||
@ -1288,7 +1285,6 @@ static const transform_2d IHT_16[] = {
|
||||
{ iadst16, idst16 }, // ADST_DST = 13
|
||||
{ idst16, iadst16 }, // DST_FLIPADST = 14
|
||||
{ iadst16, idst16 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -1913,10 +1909,8 @@ void vp9_iht4x4_add(TX_TYPE tx_type, const tran_low_t *input, uint8_t *dest,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_idct4x4_add(input, dest, stride, eob);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_iht4x4_16_add_c(input, dest, stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud(dest, stride, 4);
|
||||
vp9_iht4x4_16_add(input, dest, stride, ADST_DCT);
|
||||
@ -1948,10 +1942,8 @@ void vp9_iht8x8_add(TX_TYPE tx_type, const tran_low_t *input, uint8_t *dest,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_idct8x8_add(input, dest, stride, eob);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_iht8x8_64_add_c(input, dest, stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud(dest, stride, 8);
|
||||
vp9_iht8x8_64_add(input, dest, stride, ADST_DCT);
|
||||
@ -1983,10 +1975,8 @@ void vp9_iht16x16_add(TX_TYPE tx_type, const tran_low_t *input, uint8_t *dest,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_idct16x16_add(input, dest, stride, eob);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_iht16x16_256_add_c(input, dest, stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud(dest, stride, 16);
|
||||
vp9_iht16x16_256_add(input, dest, stride, ADST_DCT);
|
||||
@ -2796,7 +2786,6 @@ void vp9_highbd_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest8,
|
||||
{ highbd_iadst4, highbd_iadst4 }, // FLIPADST_FLIPADST = 6
|
||||
{ highbd_iadst4, highbd_iadst4 }, // ADST_FLIPADST = 7
|
||||
{ highbd_iadst4, highbd_iadst4 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ highbd_idst4, highbd_idst4 }, // DST_DST = 9
|
||||
{ highbd_idst4, vp9_highbd_idct4 }, // DST_DCT = 10
|
||||
{ vp9_highbd_idct4, highbd_idst4 }, // DCT_DST = 11
|
||||
@ -2804,7 +2793,6 @@ void vp9_highbd_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest8,
|
||||
{ highbd_iadst4, highbd_idst4 }, // ADST_DST = 13
|
||||
{ highbd_idst4, highbd_iadst4 }, // DST_FLIPADST = 14
|
||||
{ highbd_iadst4, highbd_idst4 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
uint16_t *dest = CONVERT_TO_SHORTPTR(dest8);
|
||||
@ -2921,7 +2909,6 @@ static const highbd_transform_2d HIGH_IHT_8[] = {
|
||||
{ highbd_iadst8, highbd_iadst8 }, // FLIPADST_FLIPADST = 6
|
||||
{ highbd_iadst8, highbd_iadst8 }, // ADST_FLIPADST = 7
|
||||
{ highbd_iadst8, highbd_iadst8 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ highbd_idst8, highbd_idst8 }, // DST_DST = 9
|
||||
{ highbd_idst8, vp9_highbd_idct8 }, // DST_DCT = 10
|
||||
{ vp9_highbd_idct8, highbd_idst8 }, // DCT_DST = 11
|
||||
@ -2929,7 +2916,6 @@ static const highbd_transform_2d HIGH_IHT_8[] = {
|
||||
{ highbd_iadst8, highbd_idst8 }, // ADST_DST = 13
|
||||
{ highbd_idst8, highbd_iadst8 }, // DST_FLIPADST = 14
|
||||
{ highbd_iadst8, highbd_idst8 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -3363,7 +3349,6 @@ static const highbd_transform_2d HIGH_IHT_16[] = {
|
||||
{ highbd_iadst16, highbd_iadst16 }, // FLIPADST_FLIPADST = 6
|
||||
{ highbd_iadst16, highbd_iadst16 }, // ADST_FLIPADST = 7
|
||||
{ highbd_iadst16, highbd_iadst16 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ highbd_idst16, highbd_idst16 }, // DST_DST = 9
|
||||
{ highbd_idst16, vp9_highbd_idct16 }, // DST_DCT = 10
|
||||
{ vp9_highbd_idct16, highbd_idst16 }, // DCT_DST = 11
|
||||
@ -3371,7 +3356,6 @@ static const highbd_transform_2d HIGH_IHT_16[] = {
|
||||
{ highbd_iadst16, highbd_idst16 }, // ADST_DST = 13
|
||||
{ highbd_idst16, highbd_iadst16 }, // DST_FLIPADST = 14
|
||||
{ highbd_iadst16, highbd_idst16 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -3968,10 +3952,8 @@ void vp9_highbd_iht4x4_add(TX_TYPE tx_type, const tran_low_t *input,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_highbd_idct4x4_add(input, dest, stride, eob, bd);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_highbd_iht4x4_16_add_c(input, dest, stride, tx_type, bd);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud16(CONVERT_TO_SHORTPTR(dest), stride, 4);
|
||||
vp9_highbd_iht4x4_16_add(input, dest, stride, ADST_DCT, bd);
|
||||
@ -4003,10 +3985,8 @@ void vp9_highbd_iht8x8_add(TX_TYPE tx_type, const tran_low_t *input,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_highbd_idct8x8_add(input, dest, stride, eob, bd);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_highbd_iht8x8_64_add_c(input, dest, stride, tx_type, bd);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud16(CONVERT_TO_SHORTPTR(dest), stride, 8);
|
||||
vp9_highbd_iht8x8_64_add(input, dest, stride, ADST_DCT, bd);
|
||||
@ -4038,10 +4018,8 @@ void vp9_highbd_iht16x16_add(TX_TYPE tx_type, const tran_low_t *input,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_highbd_idct16x16_add(input, dest, stride, eob, bd);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_highbd_iht16x16_256_add_c(input, dest, stride, tx_type, bd);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud16(CONVERT_TO_SHORTPTR(dest), stride, 16);
|
||||
vp9_highbd_iht16x16_256_add(input, dest, stride, ADST_DCT, bd);
|
||||
@ -4283,7 +4261,6 @@ void vp9_iht4x4_16_c(const tran_low_t *input, int16_t *dest, int stride,
|
||||
{ iadst4, iadst4 }, // FLIPADST_FLIPADST = 6
|
||||
{ iadst4, iadst4 }, // ADST_FLIPADST = 7
|
||||
{ iadst4, iadst4 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ idst4, idst4 }, // DST_DST = 9
|
||||
{ idst4, idct4 }, // DST_DCT = 10
|
||||
{ idct4, idst4 }, // DCT_DST = 11
|
||||
@ -4291,7 +4268,6 @@ void vp9_iht4x4_16_c(const tran_low_t *input, int16_t *dest, int stride,
|
||||
{ iadst4, idst4 }, // ADST_DST = 13
|
||||
{ idst4, iadst4 }, // DST_FLIPADST = 14
|
||||
{ iadst4, idst4 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -4604,10 +4580,8 @@ void vp9_iht4x4(TX_TYPE tx_type, const tran_low_t *input, int16_t *dest,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_idct4x4(input, dest, stride, eob);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_iht4x4_16_c(input, dest, stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud(dest, stride, 4);
|
||||
vp9_iht4x4_16(input, dest, stride, ADST_DCT);
|
||||
@ -4639,10 +4613,8 @@ void vp9_iht8x8(TX_TYPE tx_type, const tran_low_t *input, int16_t *dest,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_idct8x8(input, dest, stride, eob);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_iht8x8_64_c(input, dest, stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud(dest, stride, 8);
|
||||
vp9_iht8x8_64(input, dest, stride, ADST_DCT);
|
||||
@ -4674,10 +4646,8 @@ void vp9_iht16x16(TX_TYPE tx_type, const tran_low_t *input, int16_t *dest,
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_idct16x16(input, dest, stride, eob);
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_iht16x16_256_c(input, dest, stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else if (tx_type == FLIPADST_DCT) {
|
||||
flipud(dest, stride, 16);
|
||||
vp9_iht16x16_256(input, dest, stride, ADST_DCT);
|
||||
|
@ -83,7 +83,6 @@ static const tran_high_t sinpi_3_9 = 13377;
|
||||
static const tran_high_t sinpi_4_9 = 15212;
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
static const int32_t dst_lookup4[] = {
|
||||
// {sin(pi/5), sin(pi*2/5)} * sqrt(2/5) * sqrt(2)
|
||||
// at precision of 2 * DCT_CONST_BITS bits
|
||||
@ -102,7 +101,6 @@ static const int32_t dst_lookup16[] = {
|
||||
47852167, 94074787, 137093803, 175444254,
|
||||
207820161, 233119001, 250479254, 259309736
|
||||
};
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
|
||||
static INLINE tran_low_t check_range(tran_high_t input) {
|
||||
@ -238,12 +236,10 @@ void vp9_highbd_tx_identity_add(const tran_low_t *input, uint8_t *dest,
|
||||
#endif // CONFIG_VP9_HIGHBITDEPTH
|
||||
#endif // CONFIG_TX_SKIP
|
||||
|
||||
#if CONFIG_DST1
|
||||
void vp9_dst1d_type1(int64_t *in, int64_t *out, int N);
|
||||
void vp9_idst4x4_add(const tran_low_t *input, uint8_t *dest, int stride);
|
||||
void vp9_idst8x8_add(const tran_low_t *input, uint8_t *dest, int stride);
|
||||
void vp9_idst16x16_add(const tran_low_t *input, uint8_t *dest, int stride);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
@ -4676,7 +4676,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
#if CONFIG_DST1
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
@ -4684,7 +4683,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
#endif // CONFIG_DST1
|
||||
#if CONFIG_WAVELETS
|
||||
{default_scan_4x4, vp9_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
#endif // CONFIG_WAVELETS
|
||||
@ -4698,7 +4696,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
#if CONFIG_DST1
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
@ -4706,7 +4703,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
#endif // CONFIG_DST1
|
||||
#if CONFIG_WAVELETS
|
||||
{default_scan_8x8, vp9_default_iscan_8x8, default_scan_8x8_neighbors}
|
||||
#endif // CONFIG_WAVELETS
|
||||
@ -4720,7 +4716,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
#if CONFIG_DST1
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
@ -4728,7 +4723,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
#endif // CONFIG_DST1
|
||||
#if CONFIG_WAVELETS
|
||||
{default_scan_16x16, vp9_default_iscan_16x16, default_scan_16x16_neighbors}
|
||||
#endif // CONFIG_WAVELETS
|
||||
@ -4742,7 +4736,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
#if CONFIG_DST1
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
@ -4750,7 +4743,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp9_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
#endif // CONFIG_DST1
|
||||
#if CONFIG_WAVELETS
|
||||
{dwtdct_scan_32x32, vp9_dwtdct_iscan_32x32, dwtdct_scan_32x32_neighbors},
|
||||
#endif // CONFIG_WAVELETS
|
||||
@ -4765,7 +4757,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
#if CONFIG_DST1
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
@ -4773,7 +4764,6 @@ const scan_order vp9_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
{default_scan_64x64, vp9_default_iscan_64x64, default_scan_64x64_neighbors},
|
||||
#endif // CONFIG_DST1
|
||||
#if CONFIG_WAVELETS
|
||||
{dwtdct_scan_64x64, vp9_dwtdct_iscan_64x64, dwtdct_scan_64x64_neighbors},
|
||||
#endif // CONFIG_WAVELETS
|
||||
|
@ -28,7 +28,6 @@ static INLINE tran_high_t fdct_round_shift(tran_high_t input) {
|
||||
}
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
void vp9_fdst4(const tran_low_t *input, tran_low_t *output) {
|
||||
// {sin(pi/5), sin(pi*2/5)} * sqrt(2/5) * sqrt(2)
|
||||
static const int32_t sinvalue_lookup[] = {
|
||||
@ -191,7 +190,6 @@ void vp9_fdst16(const tran_low_t *input, tran_low_t *output) {
|
||||
d69 * sinvalue_lookup[6] - d78 * sinvalue_lookup[7];
|
||||
output[15] = ROUND_POWER_OF_TWO(sum, (2 * DCT_CONST_BITS));
|
||||
}
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
|
||||
void vp9_fdct4(const tran_low_t *input, tran_low_t *output) {
|
||||
@ -417,7 +415,6 @@ static void maybe_flip_input(const int16_t **src, int *src_stride, int l,
|
||||
*src = buff;
|
||||
*src_stride = l;
|
||||
break;
|
||||
#if CONFIG_DST1
|
||||
case DST_DST:
|
||||
case DCT_DST:
|
||||
case DST_DCT:
|
||||
@ -434,7 +431,6 @@ static void maybe_flip_input(const int16_t **src, int *src_stride, int l,
|
||||
*src = buff;
|
||||
*src_stride = l;
|
||||
break;
|
||||
#endif // CONFIG_DST1
|
||||
default:
|
||||
assert(0);
|
||||
break;
|
||||
|
@ -34,11 +34,9 @@ void vp9_fadst16(const tran_low_t *input, tran_low_t *output);
|
||||
void vp9_fdct32(const tran_high_t *input, tran_high_t *output, int round);
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
#if CONFIG_DST1
|
||||
void vp9_fdst4(const tran_low_t *input, tran_low_t *output);
|
||||
void vp9_fdst8(const tran_low_t *input, tran_low_t *output);
|
||||
void vp9_fdst16(const tran_low_t *input, tran_low_t *output);
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
|
||||
static const transform_2d FHT_4[] = {
|
||||
@ -52,7 +50,6 @@ static const transform_2d FHT_4[] = {
|
||||
{ vp9_fadst4, vp9_fadst4 }, // FLIPADST_FLIPADST = 6
|
||||
{ vp9_fadst4, vp9_fadst4 }, // ADST_FLIPADST = 7
|
||||
{ vp9_fadst4, vp9_fadst4 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ vp9_fdst4, vp9_fdst4 }, // DST_DST = 9
|
||||
{ vp9_fdst4, vp9_fdct4 }, // DST_DCT = 10
|
||||
{ vp9_fdct4, vp9_fdst4 }, // DCT_DST = 11
|
||||
@ -60,7 +57,6 @@ static const transform_2d FHT_4[] = {
|
||||
{ vp9_fadst4, vp9_fdst4 }, // ADST_DST = 13
|
||||
{ vp9_fdst4, vp9_fadst4 }, // DST_FLIPADST = 14
|
||||
{ vp9_fadst4, vp9_fdst4 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -75,7 +71,6 @@ static const transform_2d FHT_8[] = {
|
||||
{ vp9_fadst8, vp9_fadst8 }, // FLIPADST_FLIPADST = 6
|
||||
{ vp9_fadst8, vp9_fadst8 }, // ADST_FLIPADST = 7
|
||||
{ vp9_fadst8, vp9_fadst8 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ vp9_fdst8, vp9_fdst8 }, // DST_DST = 9
|
||||
{ vp9_fdst8, vp9_fdct8 }, // DST_DCT = 10
|
||||
{ vp9_fdct8, vp9_fdst8 }, // DCT_DST = 11
|
||||
@ -83,7 +78,6 @@ static const transform_2d FHT_8[] = {
|
||||
{ vp9_fadst8, vp9_fdst8 }, // ADST_DST = 13
|
||||
{ vp9_fdst8, vp9_fadst8 }, // DST_FLIPADST = 14
|
||||
{ vp9_fadst8, vp9_fdst8 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
@ -98,7 +92,6 @@ static const transform_2d FHT_16[] = {
|
||||
{ vp9_fadst16, vp9_fadst16 }, // FLIPADST_FLIPADST = 6
|
||||
{ vp9_fadst16, vp9_fadst16 }, // ADST_FLIPADST = 7
|
||||
{ vp9_fadst16, vp9_fadst16 }, // FLIPADST_ADST = 8
|
||||
#if CONFIG_DST1
|
||||
{ vp9_fdst16, vp9_fdst16 }, // DST_DST = 9
|
||||
{ vp9_fdst16, vp9_fdct16 }, // DST_DCT = 10
|
||||
{ vp9_fdct16, vp9_fdst16 }, // DCT_DST = 11
|
||||
@ -106,7 +99,6 @@ static const transform_2d FHT_16[] = {
|
||||
{ vp9_fadst16, vp9_fdst16 }, // ADST_DST = 13
|
||||
{ vp9_fdst16, vp9_fadst16 }, // DST_FLIPADST = 14
|
||||
{ vp9_fadst16, vp9_fdst16 }, // FLIPADST_DST = 15
|
||||
#endif // CONFIG_DST1
|
||||
#endif // CONFIG_EXT_TX
|
||||
};
|
||||
|
||||
|
@ -592,10 +592,8 @@ static void forw_tx16x16(MACROBLOCK *x, int plane,
|
||||
TX_TYPE tx_type = get_tx_type(plane, xd);
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_fdct16x16(src_diff, coeff, diff_stride);
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_fht16x16_c(src_diff, coeff, diff_stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else {
|
||||
vp9_fht16x16(src_diff, coeff, diff_stride, tx_type);
|
||||
}
|
||||
@ -608,10 +606,8 @@ static void forw_tx8x8(MACROBLOCK *x, int plane,
|
||||
TX_TYPE tx_type = get_tx_type(plane, xd);
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_fdct8x8(src_diff, coeff, diff_stride);
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_fht8x8_c(src_diff, coeff, diff_stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else {
|
||||
vp9_fht8x8(src_diff, coeff, diff_stride, tx_type);
|
||||
}
|
||||
@ -624,10 +620,8 @@ static void forw_tx4x4(MACROBLOCK *x, int plane, int block,
|
||||
TX_TYPE tx_type = get_tx_type_4x4(plane, xd, block);
|
||||
if (tx_type == DCT_DCT) {
|
||||
x->fwd_txm4x4(src_diff, coeff, diff_stride);
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_fht4x4_c(src_diff, coeff, diff_stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else {
|
||||
vp9_fht4x4(src_diff, coeff, diff_stride, tx_type);
|
||||
}
|
||||
@ -641,10 +635,8 @@ static void highbd_forw_tx16x16(MACROBLOCK *x, int plane,
|
||||
TX_TYPE tx_type = get_tx_type(plane, xd);
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_highbd_fdct16x16(src_diff, coeff, diff_stride);
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_highbd_fht16x16_c(src_diff, coeff, diff_stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else {
|
||||
vp9_highbd_fht16x16(src_diff, coeff, diff_stride, tx_type);
|
||||
}
|
||||
@ -657,10 +649,8 @@ static void highbd_forw_tx8x8(MACROBLOCK *x, int plane,
|
||||
TX_TYPE tx_type = get_tx_type(plane, xd);
|
||||
if (tx_type == DCT_DCT) {
|
||||
vp9_highbd_fdct8x8(src_diff, coeff, diff_stride);
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_highbd_fht8x8_c(src_diff, coeff, diff_stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else {
|
||||
vp9_highbd_fht8x8(src_diff, coeff, diff_stride, tx_type);
|
||||
}
|
||||
@ -673,10 +663,8 @@ static void highbd_forw_tx4x4(MACROBLOCK *x, int plane, int block,
|
||||
TX_TYPE tx_type = get_tx_type_4x4(plane, xd, block);
|
||||
if (tx_type == DCT_DCT) {
|
||||
x->fwd_txm4x4(src_diff, coeff, diff_stride);
|
||||
#if CONFIG_DST1
|
||||
} else if (is_dst_used(tx_type)) {
|
||||
vp9_highbd_fht4x4_c(src_diff, coeff, diff_stride, tx_type);
|
||||
#endif // CONFIG_DST1
|
||||
} else {
|
||||
vp9_highbd_fht4x4(src_diff, coeff, diff_stride, tx_type);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user