From fed8a1837fd6b1e4e36495be8210bd63bfb2bb8f Mon Sep 17 00:00:00 2001 From: Daniel Kang Date: Thu, 2 Aug 2012 17:03:14 -0700 Subject: 16x16 DCT blocks. Set on all 16x16 intra/inter modes Features: - Butterfly fDCT/iDCT - Loop filter does not filter internal edges with 16x16 - Optimize coefficient function - Update coefficient probability function - RD - Entropy stats - 16x16 is a config option Have not tested with experiments. hd: 2.60% std-hd: 2.43% yt: 1.32% derf: 0.60% Change-Id: I96fb090517c30c5da84bad4fae602c3ec0c58b1c --- vp8/common/onyxc_int.h | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'vp8/common/onyxc_int.h') diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h index ccecc4963..89d437ba5 100644 --- a/vp8/common/onyxc_int.h +++ b/vp8/common/onyxc_int.h @@ -52,6 +52,9 @@ typedef struct frame_contexts { vp8_prob mbsplit_prob [VP8_NUMMBSPLITS - 1]; vp8_prob coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; vp8_prob coef_probs_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; +#if CONFIG_TX16X16 + vp8_prob coef_probs_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; +#endif MV_CONTEXT mvc[2]; #if CONFIG_HIGH_PRECISION_MV MV_CONTEXT_HP mvc_hp[2]; @@ -73,12 +76,22 @@ typedef struct frame_contexts { unsigned int sub_mv_ref_counts [SUBMVREF_COUNT][VP8_SUBMVREFS]; unsigned int mbsplit_counts [VP8_NUMMBSPLITS]; - vp8_prob pre_coef_probs [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; - vp8_prob pre_coef_probs_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; + vp8_prob pre_coef_probs [BLOCK_TYPES] [COEF_BANDS] + [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; + vp8_prob pre_coef_probs_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] + [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; +#if CONFIG_TX16X16 + vp8_prob pre_coef_probs_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] + [PREV_COEF_CONTEXTS] [ENTROPY_NODES]; +#endif unsigned int coef_counts [BLOCK_TYPES] [COEF_BANDS] - [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; + [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; unsigned int coef_counts_8x8 [BLOCK_TYPES_8X8] [COEF_BANDS] - [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; + [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; +#if CONFIG_TX16X16 + unsigned int coef_counts_16x16 [BLOCK_TYPES_16X16] [COEF_BANDS] + [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; +#endif unsigned int MVcount [2] [MVvals]; #if CONFIG_HIGH_PRECISION_MV unsigned int MVcount_hp [2] [MVvals_hp]; -- cgit v1.2.3