From 54cf1d9ad3fe7ee3d0ce843b2a640f3fcf361887 Mon Sep 17 00:00:00 2001 From: Yaowu Xu Date: Wed, 2 May 2012 13:53:15 -0700 Subject: a number of fixes to entropy stats collection 1. block types There are only three types of blocks for 8x8 transformed MBs, i.e. Y block with DC does not exist for 8x8 transformed MBs as all MB using 8x8 transform have 2nd order haar transform. This commit introduced a new macro BLOCK_TYPES_8X8 to reflect such fact. 2. context counters This commit also fixed the mixed of context_counters between 4x4 and 8x8 transformed MBs. The mixed use of the counters leads me to think the existing the context probabilities were not properly generated from 8x8 transformed MBs. 3. redundant collecting in recoding The commit also corrected the code that accumulates entropy stats by making sure stats only collected for final packing, not during the recode loop Change-Id: I029f09f8f60bd0c3240cc392ff5c6d05435e322c --- vp8/encoder/block.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vp8/encoder/block.h') diff --git a/vp8/encoder/block.h b/vp8/encoder/block.h index cca32f31f..2b21fa2b2 100644 --- a/vp8/encoder/block.h +++ b/vp8/encoder/block.h @@ -149,7 +149,7 @@ typedef struct unsigned int token_costs[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS][MAX_ENTROPY_TOKENS]; - unsigned int token_costs_8x8[BLOCK_TYPES] [COEF_BANDS] + unsigned int token_costs_8x8[BLOCK_TYPES_8X8] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; int optimize; -- cgit v1.2.3