From de6dfa6bb0cd680ca446a15b52b2a026859eb1e6 Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Wed, 29 Aug 2012 11:25:38 -0700 Subject: hybrid transform of 16x16 dimension Enable ADST/DCT of dimension 16x16 for I16X16 modes. This change provides benefits mostly for hd sequences. Set up the framework for selectable transform dimension. Also allowing quantization parameter threshold to control the use of hybrid transform (This is currently disabled by setting threshold always above the quantization parameter. Adaptive thresholding can be built upon this, which will further improve the coding performance.) The coding performance gains (with respect to the codec that has all other configuration settings turned on) are derf: 0.013 yt: 0.086 hd: 0.198 std-hd: 0.501 Change-Id: Ibb4263a61fc74e0b3c345f54d73e8c73552bf926 --- vp8/common/entropy.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'vp8/common/entropy.h') diff --git a/vp8/common/entropy.h b/vp8/common/entropy.h index a435448e6..f82df9681 100644 --- a/vp8/common/entropy.h +++ b/vp8/common/entropy.h @@ -67,6 +67,7 @@ extern vp8_extra_bit_struct vp8_extra_bits[12]; /* indexed by token value */ #else #define BLOCK_TYPES_8X8 3 #endif + #define BLOCK_TYPES_16X16 4 /* Middle dimension is a coarsening of the coefficient's @@ -75,7 +76,7 @@ extern vp8_extra_bit_struct vp8_extra_bits[12]; /* indexed by token value */ #define COEF_BANDS 8 extern DECLARE_ALIGNED(16, const int, vp8_coef_bands[16]); extern DECLARE_ALIGNED(64, const int, vp8_coef_bands_8x8[64]); -#if CONFIG_TX16X16 +#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 extern DECLARE_ALIGNED(16, const int, vp8_coef_bands_16x16[256]); #endif @@ -118,7 +119,7 @@ extern short vp8_default_zig_zag_mask[16]; extern DECLARE_ALIGNED(64, const int, vp8_default_zig_zag1d_8x8[64]); void vp8_coef_tree_initialize(void); -#if CONFIG_TX16X16 +#if CONFIG_TX16X16 || CONFIG_HYBRIDTRANSFORM16X16 extern DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d_16x16[256]); #endif void vp8_adapt_coef_probs(struct VP8Common *); -- cgit v1.2.3