OpenJPEG  2.4.0
Data Structures | Typedefs
TGT - Implementation of a tag-tree coder

Data Structures

struct  opj_tgt_node
 Tag node. More...
 
struct  opj_tgt_tree
 Tag tree. More...
 

Typedefs

typedef struct opj_tgt_node opj_tgt_node_t
 Tag node. More...
 
typedef struct opj_tgt_tree opj_tgt_tree_t
 Tag tree. More...
 

Exported functions

opj_tgt_tree_topj_tgt_create (OPJ_UINT32 numleafsh, OPJ_UINT32 numleafsv, opj_event_mgr_t *p_manager)
 Create a tag-tree. More...
 
opj_tgt_tree_topj_tgt_init (opj_tgt_tree_t *p_tree, OPJ_UINT32 p_num_leafs_h, OPJ_UINT32 p_num_leafs_v, opj_event_mgr_t *p_manager)
 Reinitialises a tag-tree from an exixting one. More...
 
void opj_tgt_destroy (opj_tgt_tree_t *tree)
 Destroy a tag-tree, liberating memory. More...
 
void opj_tgt_reset (opj_tgt_tree_t *tree)
 Reset a tag-tree (set all leaves to 0) More...
 
void opj_tgt_setvalue (opj_tgt_tree_t *tree, OPJ_UINT32 leafno, OPJ_INT32 value)
 Set the value of a leaf of a tag-tree. More...
 
void opj_tgt_encode (opj_bio_t *bio, opj_tgt_tree_t *tree, OPJ_UINT32 leafno, OPJ_INT32 threshold)
 Encode the value of a leaf of the tag-tree up to a given threshold. More...
 
OPJ_UINT32 opj_tgt_decode (opj_bio_t *bio, opj_tgt_tree_t *tree, OPJ_UINT32 leafno, OPJ_INT32 threshold)
 Decode the value of a leaf of the tag-tree up to a given threshold. More...
 

Detailed Description

Typedef Documentation

typedef struct opj_tgt_node opj_tgt_node_t

Tag node.

typedef struct opj_tgt_tree opj_tgt_tree_t

Tag tree.

Function Documentation

opj_tgt_tree_t* opj_tgt_create ( OPJ_UINT32  numleafsh,
OPJ_UINT32  numleafsv,
opj_event_mgr_t p_manager 
)

Create a tag-tree.

Parameters
numleafshWidth of the array of leafs of the tree
numleafsvHeight of the array of leafs of the tree
p_managerthe event manager
Returns
Returns a new tag-tree if successful, returns NULL otherwise

References EVT_ERROR, opj_tgt_tree::nodes, opj_tgt_tree::nodes_size, opj_tgt_tree::numleafsh, opj_tgt_tree::numleafsv, opj_tgt_tree::numnodes, opj_calloc(), opj_event_msg(), opj_free(), opj_tgt_reset(), and opj_tgt_node::parent.

Referenced by opj_tcd_init_tile().

OPJ_UINT32 opj_tgt_decode ( opj_bio_t bio,
opj_tgt_tree_t tree,
OPJ_UINT32  leafno,
OPJ_INT32  threshold 
)

Decode the value of a leaf of the tag-tree up to a given threshold.

Parameters
bioPointer to a BIO handle
treeTag-tree to decode
leafnoNumber that identifies the leaf to decode
thresholdThreshold to use when decoding value of the leaf
Returns
Returns 1 if the node's value < threshold, returns 0 otherwise

References opj_tgt_node::low, opj_tgt_tree::nodes, opj_bio_read(), opj_tgt_node::parent, and opj_tgt_node::value.

Referenced by opj_t2_read_packet_header().

void opj_tgt_destroy ( opj_tgt_tree_t tree)

Destroy a tag-tree, liberating memory.

Parameters
treeTag-tree to destroy

References opj_tgt_tree::nodes, and opj_free().

Referenced by opj_tcd_free_tile(), and opj_tgt_init().

void opj_tgt_encode ( opj_bio_t bio,
opj_tgt_tree_t tree,
OPJ_UINT32  leafno,
OPJ_INT32  threshold 
)

Encode the value of a leaf of the tag-tree up to a given threshold.

Parameters
bioPointer to a BIO handle
treeTag-tree to modify
leafnoNumber that identifies the leaf to encode
thresholdThreshold to use when encoding value of the leaf

References opj_tgt_node::known, opj_tgt_node::low, opj_tgt_tree::nodes, opj_bio_write(), opj_tgt_node::parent, and opj_tgt_node::value.

Referenced by opj_t2_encode_packet().

opj_tgt_tree_t* opj_tgt_init ( opj_tgt_tree_t p_tree,
OPJ_UINT32  p_num_leafs_h,
OPJ_UINT32  p_num_leafs_v,
opj_event_mgr_t p_manager 
)

Reinitialises a tag-tree from an exixting one.

Parameters
p_treethe tree to reinitialize.
p_num_leafs_hthe width of the array of leafs of the tree
p_num_leafs_vthe height of the array of leafs of the tree
p_managerthe event manager
Returns
a new tag-tree if successful, NULL otherwise

Reinitialises a tag-tree from an exixting one.

Parameters
p_treethe tree to reinitialize.
p_num_leafs_hthe width of the array of leafs of the tree
p_num_leafs_vthe height of the array of leafs of the tree
Returns
a new tag-tree if successful, NULL otherwise

References EVT_ERROR, opj_tgt_tree::nodes, opj_tgt_tree::nodes_size, opj_tgt_tree::numleafsh, opj_tgt_tree::numleafsv, opj_tgt_tree::numnodes, opj_event_msg(), opj_realloc(), opj_tgt_destroy(), opj_tgt_reset(), and opj_tgt_node::parent.

Referenced by opj_tcd_init_tile().

void opj_tgt_reset ( opj_tgt_tree_t tree)

Reset a tag-tree (set all leaves to 0)

Parameters
treeTag-tree to reset

References opj_tgt_node::known, opj_tgt_node::low, opj_tgt_tree::nodes, opj_tgt_tree::numnodes, and opj_tgt_node::value.

Referenced by opj_t2_encode_packet(), opj_t2_read_packet_header(), opj_tgt_create(), and opj_tgt_init().

void opj_tgt_setvalue ( opj_tgt_tree_t tree,
OPJ_UINT32  leafno,
OPJ_INT32  value 
)

Set the value of a leaf of a tag-tree.

Parameters
treeTag-tree to modify
leafnoNumber that identifies the leaf to modify
valueNew value of the leaf

References opj_tgt_tree::nodes, opj_tgt_node::parent, and opj_tgt_node::value.

Referenced by opj_t2_encode_packet().