Add 1D tx set that corresponds to reduced ext tx inter sets

This is the set of 1D transforms that are used in each
ext_tx_used_inter set. The 1D sets will help speed up
the ext tx pruning functions.

Change-Id: Ib46ad26be2df60b3bfcd2f22d96e7f38ae286df5
This commit is contained in:
Sarah Parker 2016-05-04 11:34:45 -07:00
Родитель e536a1cc07
Коммит 3da61efe3b
3 изменённых файлов: 18 добавлений и 8 удалений

Просмотреть файл

@ -484,6 +484,15 @@ static const int ext_tx_used_inter[EXT_TX_SETS_INTER][TX_TYPES] = {
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
};
// 1D Transforms used in inter set, this needs to be changed if
// ext_tx_used_inter is changed
static const int ext_tx_used_inter_1D[EXT_TX_SETS_INTER][TX_TYPES_1D] = {
{1, 0, 0, 0},
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 0, 0, 1},
};
static INLINE int get_ext_tx_types(TX_SIZE tx_size, BLOCK_SIZE bs,
int is_inter) {
const int set = get_ext_tx_set(tx_size, bs, is_inter);

Просмотреть файл

@ -156,6 +156,15 @@ typedef enum {
TX_MODES = 5,
} TX_MODE;
// 1D tx types
typedef enum {
DCT_1D = 0,
ADST_1D = 1,
FLIPADST_1D = 2,
IDTX_1D = 3,
TX_TYPES_1D = 4,
} TX_TYPE_1D;
typedef enum {
DCT_DCT = 0, // DCT in both horizontal and vertical
ADST_DCT = 1, // ADST in vertical, DCT in horizontal

Просмотреть файл

@ -363,14 +363,6 @@ static void swap_block_ptr(MACROBLOCK *x, PICK_MODE_CONTEXT *ctx,
#define FAST_EXT_TX_CORR_MARGIN 0.3
#define FAST_EXT_TX_EDST_MARGIN 0.5
typedef enum {
DCT_1D = 0,
ADST_1D = 1,
FLIPADST_1D = 2,
IDTX_1D = 3,
TX_TYPES_1D = 4,
} TX_TYPE_1D;
static void get_energy_distribution_fine(const VP10_COMP *cpi,
BLOCK_SIZE bsize,
uint8_t *src, int src_stride,