Lines Matching defs:tree
36 Tag-tree coder interface
46 opj_tgt_tree_t *tree = NULL;
51 tree = (opj_tgt_tree_t *) opj_malloc(sizeof(opj_tgt_tree_t));
52 if(!tree) return NULL;
53 tree->numleafsh = numleafsh;
54 tree->numleafsv = numleafsv;
59 tree->numnodes = 0;
64 tree->numnodes += n;
69 if (tree->numnodes == 0) {
70 opj_free(tree);
74 tree->nodes = (opj_tgt_node_t*) opj_calloc(tree->numnodes, sizeof(opj_tgt_node_t));
75 if(!tree->nodes) {
76 opj_free(tree);
80 node = tree->nodes;
81 parentnode = &tree->nodes[tree->numleafsh * tree->numleafsv];
106 tgt_reset(tree);
108 return tree;
111 void tgt_destroy(opj_tgt_tree_t *tree) {
112 opj_free(tree->nodes);
113 opj_free(tree);
116 void tgt_reset(opj_tgt_tree_t *tree) {
119 if (NULL == tree)
122 for (i = 0; i < tree->numnodes; i++) {
123 tree->nodes[i].value = 999;
124 tree->nodes[i].low = 0;
125 tree->nodes[i].known = 0;
129 void tgt_setvalue(opj_tgt_tree_t *tree, int leafno, int value) {
131 node = &tree->nodes[leafno];
138 void tgt_encode(opj_bio_t *bio, opj_tgt_tree_t *tree, int leafno, int threshold) {
145 node = &tree->nodes[leafno];
178 int tgt_decode(opj_bio_t *bio, opj_tgt_tree_t *tree, int leafno, int threshold) {
185 node = &tree->nodes[leafno];