Some refactoring of EXT_TX
Change-Id: I61359787fdacdeb245e2798031a6e06e4afb83e0
This commit is contained in:
Родитель
9fc691efbe
Коммит
ab3042ba3b
|
@ -94,15 +94,14 @@ typedef enum {
|
|||
ADST_DCT = 1, // ADST in vertical, DCT in horizontal
|
||||
DCT_ADST = 2, // DCT in vertical, ADST in horizontal
|
||||
ADST_ADST = 3, // ADST in both directions
|
||||
TX_TYPES,
|
||||
#if CONFIG_EXT_TX
|
||||
FLIPADST_DCT = 4,
|
||||
DCT_FLIPADST = 5,
|
||||
FLIPADST_FLIPADST = 6,
|
||||
ADST_FLIPADST = 7,
|
||||
FLIPADST_ADST = 8,
|
||||
TOTAL_TX_TYPES,
|
||||
#endif // CONFIG_EXT_TX
|
||||
TX_TYPES,
|
||||
} TX_TYPE;
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
|
|
|
@ -695,13 +695,98 @@ DECLARE_ALIGNED(16, static const int16_t, vp10_default_iscan_32x32[1024]) = {
|
|||
1023,
|
||||
};
|
||||
|
||||
const scan_order vp10_default_scan_orders[TX_SIZES] = {
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
#if CONFIG_EXT_TX
|
||||
|
||||
const scan_order vp10_intra_scan_orders[TX_SIZES][TX_TYPES] = {
|
||||
{ // TX_4X4
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{row_scan_4x4, vp10_row_iscan_4x4, row_scan_4x4_neighbors},
|
||||
{col_scan_4x4, vp10_col_iscan_4x4, col_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
}, { // TX_8X8
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{row_scan_8x8, vp10_row_iscan_8x8, row_scan_8x8_neighbors},
|
||||
{col_scan_8x8, vp10_col_iscan_8x8, col_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
}, { // TX_16X16
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{row_scan_16x16, vp10_row_iscan_16x16, row_scan_16x16_neighbors},
|
||||
{col_scan_16x16, vp10_col_iscan_16x16, col_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
}, { // TX_32X32
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
}
|
||||
};
|
||||
|
||||
const scan_order vp10_inter_scan_orders[TX_SIZES][TX_TYPES] = {
|
||||
{ // TX_4X4
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
}, { // TX_8X8
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
}, { // TX_16X16
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
}, { // TX_32X32
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
}
|
||||
};
|
||||
|
||||
#else // CONFIG_EXT_TX
|
||||
|
||||
const scan_order vp10_intra_scan_orders[TX_SIZES][TX_TYPES] = {
|
||||
{ // TX_4X4
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
|
@ -726,48 +811,4 @@ const scan_order vp10_intra_scan_orders[TX_SIZES][TX_TYPES] = {
|
|||
}
|
||||
};
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
const scan_order vp10_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES] = {
|
||||
{ // TX_4X4
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
{default_scan_4x4, vp10_default_iscan_4x4, default_scan_4x4_neighbors},
|
||||
}, { // TX_8X8
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
{default_scan_8x8, vp10_default_iscan_8x8, default_scan_8x8_neighbors},
|
||||
}, { // TX_16X16
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
{default_scan_16x16, vp10_default_iscan_16x16, default_scan_16x16_neighbors},
|
||||
}, { // TX_32X32
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
{default_scan_32x32, vp10_default_iscan_32x32, default_scan_32x32_neighbors},
|
||||
}
|
||||
};
|
||||
#endif // CONFIG_EXT_TX
|
||||
|
|
|
@ -29,7 +29,6 @@ typedef struct {
|
|||
const int16_t *neighbors;
|
||||
} scan_order;
|
||||
|
||||
extern const scan_order vp10_default_scan_orders[TX_SIZES];
|
||||
extern const scan_order vp10_intra_scan_orders[TX_SIZES][TX_TYPES];
|
||||
|
||||
static INLINE int get_coef_context(const int16_t *neighbors,
|
||||
|
@ -44,7 +43,7 @@ static INLINE const scan_order *get_intra_scan(TX_SIZE tx_size,
|
|||
}
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
extern const scan_order vp10_inter_scan_orders[TX_SIZES][TOTAL_TX_TYPES];
|
||||
extern const scan_order vp10_inter_scan_orders[TX_SIZES][TX_TYPES];
|
||||
|
||||
static INLINE const scan_order *get_inter_scan(TX_SIZE tx_size,
|
||||
TX_TYPE tx_type) {
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
#define NEW_MV_DISCOUNT_FACTOR 8
|
||||
|
||||
#if CONFIG_EXT_TX
|
||||
const double ext_tx_th = 0.98;
|
||||
const double ext_tx_th = 0.99;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
|
|
Загрузка…
Ссылка в новой задаче