diff --git a/vp8/encoder/tokenize.c b/vp8/encoder/tokenize.c index 50dabf4a5..e4da83379 100644 --- a/vp8/encoder/tokenize.c +++ b/vp8/encoder/tokenize.c @@ -131,6 +131,9 @@ static void tokenize2nd_order_b t->Token = x; t->context_tree = cpi->common.fc.coef_probs [type] [band] [pt]; + + t->section = frametype * BLOCK_TYPES * 2 + 2 * type + (c == 0); + t->skip_eob_node = pt == 0 && ((band > 0 && type > 0) || (band > 1 && type == 0)); ++cpi->coef_counts [type] [band] [pt] [x]; @@ -181,6 +184,8 @@ static void tokenize1st_order_b t->Token = x; t->context_tree = cpi->common.fc.coef_probs [type] [band] [pt]; + + t->section = frametype * BLOCK_TYPES * 2 + 2 * type + (c == 0); t->skip_eob_node = pt == 0 && ((band > 0 && type > 0) || (band > 1 && type == 0)); ++cpi->coef_counts [type] [band] [pt] [x]; @@ -429,6 +434,7 @@ static __inline void stuff2nd_order_b t->Token = DCT_EOB_TOKEN; t->context_tree = cpi->common.fc.coef_probs [1] [0] [pt]; + t->section = 11; t->skip_eob_node = 0; ++cpi->coef_counts [1] [0] [pt] [DCT_EOB_TOKEN]; ++t; @@ -459,6 +465,7 @@ static __inline void stuff1st_order_b t->Token = DCT_EOB_TOKEN; t->context_tree = cpi->common.fc.coef_probs [0] [1] [pt]; + t->section = 8; t->skip_eob_node = 0; ++cpi->coef_counts [0] [1] [pt] [DCT_EOB_TOKEN]; ++t; @@ -488,6 +495,7 @@ void stuff1st_order_buv t->Token = DCT_EOB_TOKEN; t->context_tree = cpi->common.fc.coef_probs [2] [0] [pt]; + t->section = 13; t->skip_eob_node = 0; ++cpi->coef_counts[2] [0] [pt] [DCT_EOB_TOKEN]; ++t; diff --git a/vp8/encoder/tokenize.h b/vp8/encoder/tokenize.h index cb5b15405..01e8ec6d7 100644 --- a/vp8/encoder/tokenize.h +++ b/vp8/encoder/tokenize.h @@ -25,10 +25,11 @@ typedef struct typedef struct { + int Token; + int Extra; const vp8_prob *context_tree; - char skip_eob_node; - char Token; - short Extra; + int skip_eob_node; + int section; } TOKENEXTRA; int rd_cost_mby(MACROBLOCKD *);