media/libvpx/vp9/encoder/vp9_tokenize.h

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:ccdc0af1c85f
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 VP9_ENCODER_VP9_TOKENIZE_H_
12 #define VP9_ENCODER_VP9_TOKENIZE_H_
13
14 #include "vp9/common/vp9_entropy.h"
15 #include "vp9/encoder/vp9_block.h"
16
17 void vp9_tokenize_initialize();
18
19 typedef struct {
20 int16_t token;
21 int16_t extra;
22 } TOKENVALUE;
23
24 typedef struct {
25 const vp9_prob *context_tree;
26 int16_t extra;
27 uint8_t token;
28 uint8_t skip_eob_node;
29 } TOKENEXTRA;
30
31 int vp9_sb_is_skippable(MACROBLOCKD *xd, BLOCK_SIZE bsize);
32 int vp9_is_skippable_in_plane(MACROBLOCKD *xd, BLOCK_SIZE bsize,
33 int plane);
34 struct VP9_COMP;
35
36 void vp9_tokenize_sb(struct VP9_COMP *cpi, TOKENEXTRA **t, int dry_run,
37 BLOCK_SIZE bsize);
38
39 extern const int *vp9_dct_value_cost_ptr;
40 /* TODO: The Token field should be broken out into a separate char array to
41 * improve cache locality, since it's needed for costing when the rest of the
42 * fields are not.
43 */
44 extern const TOKENVALUE *vp9_dct_value_tokens_ptr;
45
46 #endif // VP9_ENCODER_VP9_TOKENIZE_H_

mercurial