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