• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 
12 #ifndef tokenize_h
13 #define tokenize_h
14 
15 #include "entropy.h"
16 #include "block.h"
17 
18 void vp8_tokenize_initialize();
19 
20 typedef struct
21 {
22     short Token;
23     short Extra;
24 } TOKENVALUE;
25 
26 typedef struct
27 {
28     int Token;
29     int Extra;
30     const vp8_prob *context_tree;
31     int skip_eob_node;
32     int section;
33 } TOKENEXTRA;
34 
35 int rd_cost_mby(MACROBLOCKD *);
36 
37 #ifdef ENTROPY_STATS
38 void init_context_counters();
39 void print_context_counters();
40 
41 extern _int64 context_counters[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [vp8_coef_tokens];
42 #endif
43 
44 extern const int *vp8_dct_value_cost_ptr;
45 /* TODO: The Token field should be broken out into a separate char array to
46  *  improve cache locality, since it's needed for costing when the rest of the
47  *  fields are not.
48  */
49 extern const TOKENVALUE *vp8_dct_value_tokens_ptr;
50 
51 #endif  /* tokenize_h */
52