diff options
Diffstat (limited to 'vp8/common/blockd.h')
-rw-r--r-- | vp8/common/blockd.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vp8/common/blockd.h b/vp8/common/blockd.h index 3c60b10ae..758977d6d 100644 --- a/vp8/common/blockd.h +++ b/vp8/common/blockd.h @@ -124,12 +124,25 @@ typedef enum { } TX_SIZE; +#if CONFIG_HYBRIDTRANSFORM +typedef enum { + DCT_DCT = 0, // DCT in both horizontal and vertical + ADST_DCT = 1, // ADST in horizontal, DCT in vertical + DCT_ADST = 2, // DCT in horizontal, ADST in vertical + ADST_ADST = 3 // ADST in both directions +} TX_TYPE; +#endif + #define VP8_YMODES (B_PRED + 1) #define VP8_UV_MODES (TM_PRED + 1) #define VP8_I8X8_MODES (TM_PRED + 1) #define VP8_MVREFS (1 + SPLITMV - NEARESTMV) +#if CONFIG_HYBRIDTRANSFORM +#define ACTIVE_HT 110 // quantization stepsize threshold +#endif + typedef enum { B_DC_PRED, /* average of above and left pixels */ B_TM_PRED, @@ -163,6 +176,11 @@ typedef enum { union b_mode_info { struct { B_PREDICTION_MODE first; +#if CONFIG_HYBRIDTRANSFORM + B_PREDICTION_MODE test; + TX_TYPE tx_type; +#endif + #if CONFIG_COMP_INTRA_PRED B_PREDICTION_MODE second; #endif @@ -183,6 +201,10 @@ typedef enum { typedef struct { MB_PREDICTION_MODE mode, uv_mode; +#if CONFIG_HYBRIDTRANSFORM + MB_PREDICTION_MODE mode_rdopt; +#endif + #if CONFIG_COMP_INTRA_PRED MB_PREDICTION_MODE second_mode, second_uv_mode; #endif @@ -345,6 +367,10 @@ typedef struct MacroBlockD { int mb_index; // Index of the MB in the SB (0..3) +#if CONFIG_HYBRIDTRANSFORM + int q_index; +#endif + } MACROBLOCKD; |