87 #define JPC_TAGTREE_MAXDEPTH 32
97 typedef struct jpc_tagtreenode_ {
100 struct jpc_tagtreenode_ *parent_;
129 jpc_tagtreenode_t *nodes_;
138 jpc_tagtree_t *jpc_tagtree_create(
int numleafsh,
int numleafsv);
141 void jpc_tagtree_destroy(jpc_tagtree_t *tree);
144 void jpc_tagtree_copy(jpc_tagtree_t *dsttree, jpc_tagtree_t *srctree);
147 void jpc_tagtree_reset(jpc_tagtree_t *tree);
150 void jpc_tagtree_setvalue(jpc_tagtree_t *tree, jpc_tagtreenode_t *leaf,
154 jpc_tagtreenode_t *jpc_tagtree_getleaf(jpc_tagtree_t *tree,
int n);
157 int jpc_tagtree_decode(jpc_tagtree_t *tree, jpc_tagtreenode_t *leaf,
158 int threshold, jpc_bitstream_t *in);
161 int jpc_tagtree_encode(jpc_tagtree_t *tree, jpc_tagtreenode_t *leaf,
162 int threshold, jpc_bitstream_t *out);
165 void jpc_tagtree_dump(jpc_tagtree_t *tree, FILE *out);