86#define JPC_TAGTREE_MAXDEPTH 32
96typedef struct jpc_tagtreenode_ {
99 struct jpc_tagtreenode_ *parent_;
128 jpc_tagtreenode_t *nodes_;
137jpc_tagtree_t *jpc_tagtree_create(
int numleafsh,
int numleafsv);
140void jpc_tagtree_destroy(jpc_tagtree_t *tree);
143void jpc_tagtree_copy(jpc_tagtree_t *dsttree,
const jpc_tagtree_t *srctree);
146void jpc_tagtree_reset(jpc_tagtree_t *tree);
149void 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(
const jpc_tagtree_t *tree, FILE *out);