Commit 147b125b authored by John Koleszar's avatar John Koleszar
Browse files

Reduce size of tokenizer tables

This patch reduces the size of the global tables maintained by the
tokenizer to 16k from 80k-96k. See issue #177.

Change-Id: If0275d5f28389af11ac83c5d929d1157cde90fbe
parent 746439ef
...@@ -26,8 +26,8 @@ _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [vp8_coef ...@@ -26,8 +26,8 @@ _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [vp8_coef
void vp8_stuff_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) ; void vp8_stuff_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) ;
void vp8_fix_contexts(MACROBLOCKD *x); void vp8_fix_contexts(MACROBLOCKD *x);
TOKENEXTRA vp8_dct_value_tokens[DCT_MAX_VALUE*2]; TOKENVALUE vp8_dct_value_tokens[DCT_MAX_VALUE*2];
const TOKENEXTRA *vp8_dct_value_tokens_ptr; const TOKENVALUE *vp8_dct_value_tokens_ptr;
int vp8_dct_value_cost[DCT_MAX_VALUE*2]; int vp8_dct_value_cost[DCT_MAX_VALUE*2];
const int *vp8_dct_value_cost_ptr; const int *vp8_dct_value_cost_ptr;
#if 0 #if 0
...@@ -37,7 +37,7 @@ int skip_false_count = 0; ...@@ -37,7 +37,7 @@ int skip_false_count = 0;
static void fill_value_tokens() static void fill_value_tokens()
{ {
TOKENEXTRA *const t = vp8_dct_value_tokens + DCT_MAX_VALUE; TOKENVALUE *const t = vp8_dct_value_tokens + DCT_MAX_VALUE;
vp8_extra_bit_struct *const e = vp8_extra_bits; vp8_extra_bit_struct *const e = vp8_extra_bits;
int i = -DCT_MAX_VALUE; int i = -DCT_MAX_VALUE;
......
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
void vp8_tokenize_initialize(); void vp8_tokenize_initialize();
typedef struct
{
short Token;
short Extra;
} TOKENVALUE;
typedef struct typedef struct
{ {
int Token; int Token;
...@@ -40,6 +46,6 @@ extern const int *vp8_dct_value_cost_ptr; ...@@ -40,6 +46,6 @@ extern const int *vp8_dct_value_cost_ptr;
* improve cache locality, since it's needed for costing when the rest of the * improve cache locality, since it's needed for costing when the rest of the
* fields are not. * fields are not.
*/ */
extern const TOKENEXTRA *vp8_dct_value_tokens_ptr; extern const TOKENVALUE *vp8_dct_value_tokens_ptr;
#endif /* tokenize_h */ #endif /* tokenize_h */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment