Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: source/libvpx/vpx_mem/memory_manager/include/cavl_if.h

Issue 11555023: libvpx: Add VP9 decoder. (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 14 matching lines...) Expand all
25 #undef L_ 25 #undef L_
26 #undef L_EST_LONG_BIT 26 #undef L_EST_LONG_BIT
27 #undef L_SIZE 27 #undef L_SIZE
28 #undef L_SC 28 #undef L_SC
29 #undef L_LONG_BIT 29 #undef L_LONG_BIT
30 #undef L_BIT_ARR_DEFN 30 #undef L_BIT_ARR_DEFN
31 31
32 #ifndef AVL_SEARCH_TYPE_DEFINED_ 32 #ifndef AVL_SEARCH_TYPE_DEFINED_
33 #define AVL_SEARCH_TYPE_DEFINED_ 33 #define AVL_SEARCH_TYPE_DEFINED_
34 34
35 typedef enum 35 typedef enum {
36 { 36 AVL_EQUAL = 1,
37 AVL_EQUAL = 1, 37 AVL_LESS = 2,
38 AVL_LESS = 2, 38 AVL_GREATER = 4,
39 AVL_GREATER = 4, 39 AVL_LESS_EQUAL = AVL_EQUAL | AVL_LESS,
40 AVL_LESS_EQUAL = AVL_EQUAL | AVL_LESS, 40 AVL_GREATER_EQUAL = AVL_EQUAL | AVL_GREATER
41 AVL_GREATER_EQUAL = AVL_EQUAL | AVL_GREATER
42 } 41 }
43 avl_search_type; 42 avl_search_type;
44 43
45 #endif 44 #endif
46 45
47 #ifdef AVL_UNIQUE 46 #ifdef AVL_UNIQUE
48 47
49 #define L_ AVL_UNIQUE 48 #define L_ AVL_UNIQUE
50 49
51 #else 50 #else
(...skipping 16 matching lines...) Expand all
68 #ifdef AVL_SIZE 67 #ifdef AVL_SIZE
69 68
70 #define L_SIZE AVL_SIZE 69 #define L_SIZE AVL_SIZE
71 70
72 #else 71 #else
73 72
74 #define L_SIZE unsigned long 73 #define L_SIZE unsigned long
75 74
76 #endif 75 #endif
77 76
78 typedef struct 77 typedef struct {
79 {
80 #ifdef AVL_INSIDE_STRUCT 78 #ifdef AVL_INSIDE_STRUCT
81 79
82 AVL_INSIDE_STRUCT 80 AVL_INSIDE_STRUCT
83 81
84 #endif 82 #endif
85 83
86 AVL_HANDLE root; 84 AVL_HANDLE root;
87 } 85 }
88 L_(avl); 86 L_(avl);
89 87
90 /* Function prototypes. */ 88 /* Function prototypes. */
91 89
92 L_SC void L_(init)(L_(avl) *tree); 90 L_SC void L_(init)(L_(avl) *tree);
93 91
94 L_SC int L_(is_empty)(L_(avl) *tree); 92 L_SC int L_(is_empty)(L_(avl) *tree);
95 93
96 L_SC AVL_HANDLE L_(insert)(L_(avl) *tree, AVL_HANDLE h); 94 L_SC AVL_HANDLE L_(insert)(L_(avl) *tree, AVL_HANDLE h);
97 95
98 L_SC AVL_HANDLE L_(search)(L_(avl) *tree, AVL_KEY k, avl_search_type st); 96 L_SC AVL_HANDLE L_(search)(L_(avl) *tree, AVL_KEY k, avl_search_type st);
99 97
100 L_SC AVL_HANDLE L_(search_least)(L_(avl) *tree); 98 L_SC AVL_HANDLE L_(search_least)(L_(avl) *tree);
101 99
102 L_SC AVL_HANDLE L_(search_greatest)(L_(avl) *tree); 100 L_SC AVL_HANDLE L_(search_greatest)(L_(avl) *tree);
103 101
104 L_SC AVL_HANDLE L_(remove)(L_(avl) *tree, AVL_KEY k); 102 L_SC AVL_HANDLE L_(remove)(L_(avl) *tree, AVL_KEY k);
105 103
106 L_SC AVL_HANDLE L_(subst)(L_(avl) *tree, AVL_HANDLE new_node); 104 L_SC AVL_HANDLE L_(subst)(L_(avl) *tree, AVL_HANDLE new_node);
107 105
108 #ifdef AVL_BUILD_ITER_TYPE 106 #ifdef AVL_BUILD_ITER_TYPE
109 107
110 L_SC int L_(build)( 108 L_SC int L_(build)(
111 L_(avl) *tree, AVL_BUILD_ITER_TYPE p, L_SIZE num_nodes); 109 L_(avl) *tree, AVL_BUILD_ITER_TYPE p, L_SIZE num_nodes);
112 110
113 #endif 111 #endif
114 112
115 /* ANSI C/ISO C++ require that a long have at least 32 bits. Set 113 /* ANSI C/ISO C++ require that a long have at least 32 bits. Set
116 ** L_EST_LONG_BIT to be the greatest multiple of 8 in the range 114 ** L_EST_LONG_BIT to be the greatest multiple of 8 in the range
117 ** 32 - 64 (inclusive) that is less than or equal to the number of 115 ** 32 - 64 (inclusive) that is less than or equal to the number of
118 ** bits in a long. 116 ** bits in a long.
119 */ 117 */
120 118
121 #if (((LONG_MAX >> 31) >> 7) == 0) 119 #if (((LONG_MAX >> 31) >> 7) == 0)
(...skipping 24 matching lines...) Expand all
146 /* The macro L_BIT_ARR_DEFN defines a bit array whose index is a (0-based) 144 /* The macro L_BIT_ARR_DEFN defines a bit array whose index is a (0-based)
147 ** node depth. The definition depends on whether the maximum depth is more 145 ** node depth. The definition depends on whether the maximum depth is more
148 ** or less than the number of bits in a single long. 146 ** or less than the number of bits in a single long.
149 */ 147 */
150 148
151 #if ((AVL_MAX_DEPTH) > L_EST_LONG_BIT) 149 #if ((AVL_MAX_DEPTH) > L_EST_LONG_BIT)
152 150
153 /* Maximum depth may be more than number of bits in a long. */ 151 /* Maximum depth may be more than number of bits in a long. */
154 152
155 #define L_BIT_ARR_DEFN(NAME) \ 153 #define L_BIT_ARR_DEFN(NAME) \
156 unsigned long NAME[((AVL_MAX_DEPTH) + L_LONG_BIT - 1) / L_LONG_BIT]; 154 unsigned long NAME[((AVL_MAX_DEPTH) + L_LONG_BIT - 1) / L_LONG_BIT];
157 155
158 #else 156 #else
159 157
160 /* Maximum depth is definitely less than number of bits in a long. */ 158 /* Maximum depth is definitely less than number of bits in a long. */
161 159
162 #define L_BIT_ARR_DEFN(NAME) unsigned long NAME; 160 #define L_BIT_ARR_DEFN(NAME) unsigned long NAME;
163 161
164 #endif 162 #endif
165 163
166 /* Iterator structure. */ 164 /* Iterator structure. */
167 typedef struct 165 typedef struct {
168 { 166 /* Tree being iterated over. */
169 /* Tree being iterated over. */ 167 L_(avl) *tree_;
170 L_(avl) *tree_;
171 168
172 /* Records a path into the tree. If bit n is true, indicates 169 /* Records a path into the tree. If bit n is true, indicates
173 ** take greater branch from the nth node in the path, otherwise 170 ** take greater branch from the nth node in the path, otherwise
174 ** take the less branch. bit 0 gives branch from root, and 171 ** take the less branch. bit 0 gives branch from root, and
175 ** so on. */ 172 ** so on. */
176 L_BIT_ARR_DEFN(branch) 173 L_BIT_ARR_DEFN(branch)
177 174
178 /* Zero-based depth of path into tree. */ 175 /* Zero-based depth of path into tree. */
179 unsigned depth; 176 unsigned depth;
180 177
181 /* Handles of nodes in path from root to current node (returned by *). */ 178 /* Handles of nodes in path from root to current node (returned by *). */
182 AVL_HANDLE path_h[(AVL_MAX_DEPTH) - 1]; 179 AVL_HANDLE path_h[(AVL_MAX_DEPTH) - 1];
183 } 180 }
184 L_(iter); 181 L_(iter);
185 182
186 /* Iterator function prototypes. */ 183 /* Iterator function prototypes. */
187 184
188 L_SC void L_(start_iter)( 185 L_SC void L_(start_iter)(
189 L_(avl) *tree, L_(iter) *iter, AVL_KEY k, avl_search_type st); 186 L_(avl) *tree, L_(iter) *iter, AVL_KEY k, avl_search_type st);
190 187
191 L_SC void L_(start_iter_least)(L_(avl) *tree, L_(iter) *iter); 188 L_SC void L_(start_iter_least)(L_(avl) *tree, L_(iter) *iter);
192 189
193 L_SC void L_(start_iter_greatest)(L_(avl) *tree, L_(iter) *iter); 190 L_SC void L_(start_iter_greatest)(L_(avl) *tree, L_(iter) *iter);
194 191
195 L_SC AVL_HANDLE L_(get_iter)(L_(iter) *iter); 192 L_SC AVL_HANDLE L_(get_iter)(L_(iter) *iter);
196 193
197 L_SC void L_(incr_iter)(L_(iter) *iter); 194 L_SC void L_(incr_iter)(L_(iter) *iter);
198 195
199 L_SC void L_(decr_iter)(L_(iter) *iter); 196 L_SC void L_(decr_iter)(L_(iter) *iter);
(...skipping 18 matching lines...) Expand all
218 #define AVL_IMPL_SUBST (1 << 15) 215 #define AVL_IMPL_SUBST (1 << 15)
219 216
220 #define AVL_IMPL_ALL (~0) 217 #define AVL_IMPL_ALL (~0)
221 218
222 #undef L_ 219 #undef L_
223 #undef L_EST_LONG_BIT 220 #undef L_EST_LONG_BIT
224 #undef L_SIZE 221 #undef L_SIZE
225 #undef L_SC 222 #undef L_SC
226 #undef L_LONG_BIT 223 #undef L_LONG_BIT
227 #undef L_BIT_ARR_DEFN 224 #undef L_BIT_ARR_DEFN
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698