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:
parent
e536a1cc07
commit
3da61efe3b
@ -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},
|
{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,
|
static INLINE int get_ext_tx_types(TX_SIZE tx_size, BLOCK_SIZE bs,
|
||||||
int is_inter) {
|
int is_inter) {
|
||||||
const int set = get_ext_tx_set(tx_size, bs, is_inter);
|
const int set = get_ext_tx_set(tx_size, bs, is_inter);
|
||||||
|
@ -156,6 +156,15 @@ typedef enum {
|
|||||||
TX_MODES = 5,
|
TX_MODES = 5,
|
||||||
} TX_MODE;
|
} 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 {
|
typedef enum {
|
||||||
DCT_DCT = 0, // DCT in both horizontal and vertical
|
DCT_DCT = 0, // DCT in both horizontal and vertical
|
||||||
ADST_DCT = 1, // ADST in vertical, DCT in horizontal
|
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_CORR_MARGIN 0.3
|
||||||
#define FAST_EXT_TX_EDST_MARGIN 0.5
|
#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,
|
static void get_energy_distribution_fine(const VP10_COMP *cpi,
|
||||||
BLOCK_SIZE bsize,
|
BLOCK_SIZE bsize,
|
||||||
uint8_t *src, int src_stride,
|
uint8_t *src, int src_stride,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user