diff options
-rw-r--r-- | vp8/common/blockd.h | 10 | ||||
-rw-r--r-- | vp8/common/seg_common.c | 2 | ||||
-rw-r--r-- | vp8/encoder/onyx_if.c | 10 |
3 files changed, 21 insertions, 1 deletions
diff --git a/vp8/common/blockd.h b/vp8/common/blockd.h index fdac08adf..690e0f8c8 100644 --- a/vp8/common/blockd.h +++ b/vp8/common/blockd.h @@ -113,6 +113,16 @@ typedef enum } SEG_LVL_FEATURES; +// Segment level features. +typedef enum +{ + TX_4X4 = 0, // 4x4 dct transform + TX_8X8 = 1, // 8x8 dct transform + + TX_SIZE_MAX = 2 // Number of differnt transforms avaialble + +} TX_SIZE; + #define VP8_YMODES (B_PRED + 1) #define VP8_UV_MODES (TM_PRED + 1) #define VP8_I8X8_MODES (TM_PRED + 1) diff --git a/vp8/common/seg_common.c b/vp8/common/seg_common.c index 42dcadaad..bd16c3407 100644 --- a/vp8/common/seg_common.c +++ b/vp8/common/seg_common.c @@ -12,7 +12,7 @@ //#if CONFIG_SEGFEATURES const int segfeaturedata_signed[SEG_LVL_MAX] = {1, 1, 0, 0, 0, 0}; -const int vp8_seg_feature_data_bits[SEG_LVL_MAX] = {7, 6, 4, 4, 4, 2}; +const int vp8_seg_feature_data_bits[SEG_LVL_MAX] = {7, 6, 4, 4, 6, 2}; // These functions provide access to new segment level features. // Eventually these function may be "optimized out" but for the moment, diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 1902c7ca1..94ba5484b 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -481,6 +481,16 @@ static void init_seg_features(VP8_COMP *cpi) (cpi->cq_target_quality > 16 ) ) || (cpi->ni_av_qi > 32); +#if CONFIG_T8X8 + // TODO + // For now 8x8TX mode just set segments up for 8x8 and 4x4 modes and exit. + //enable_segfeature(xd, 0, SEG_LVL_TRANSFORM); + //set_segdata( xd, 0, SEG_LVL_TRANSFORM, TX_4X4 ); + //enable_segfeature(xd, 1, SEG_LVL_TRANSFORM); + //set_segdata( xd, 1, SEG_LVL_TRANSFORM, TX_8X8 ); + return; +#endif + // For now at least dont enable seg features alongside cyclic refresh. if ( cpi->cyclic_refresh_mode_enabled || (cpi->pass != 2) ) |