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);