• 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 #ifndef VPX_VP8_ENCODER_TOKENIZE_H_
12 #define VPX_VP8_ENCODER_TOKENIZE_H_
13 
14 #include "vp8/common/entropy.h"
15 #include "block.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 void vp8_tokenize_initialize();
22 
23 typedef struct {
24   short Token;
25   short Extra;
26 } TOKENVALUE;
27 
28 typedef struct {
29   const vp8_prob *context_tree;
30   short Extra;
31   unsigned char Token;
32   unsigned char skip_eob_node;
33 } TOKENEXTRA;
34 
35 int rd_cost_mby(MACROBLOCKD *);
36 
37 extern const short *const vp8_dct_value_cost_ptr;
38 /* TODO: The Token field should be broken out into a separate char array to
39  *  improve cache locality, since it's needed for costing when the rest of the
40  *  fields are not.
41  */
42 extern const TOKENVALUE *const vp8_dct_value_tokens_ptr;
43 
44 #ifdef __cplusplus
45 }  // extern "C"
46 #endif
47 
48 #endif  // VPX_VP8_ENCODER_TOKENIZE_H_
49