OpenJPEG
2.3.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
home
abuild
rpmbuild
BUILD
openjpeg-2.3.1
src
lib
openjp2
tgt.h
Go to the documentation of this file.
1
/*
2
* The copyright in this software is being made available under the 2-clauses
3
* BSD License, included below. This software may be subject to other third
4
* party and contributor rights, including patent rights, and no such rights
5
* are granted under this license.
6
*
7
* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
8
* Copyright (c) 2002-2014, Professor Benoit Macq
9
* Copyright (c) 2001-2003, David Janssens
10
* Copyright (c) 2002-2003, Yannick Verschueren
11
* Copyright (c) 2003-2007, Francois-Olivier Devaux
12
* Copyright (c) 2003-2014, Antonin Descampe
13
* Copyright (c) 2005, Herve Drolon, FreeImage Team
14
* Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
15
* Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France
16
* Copyright (c) 2012, CS Systemes d'Information, France
17
* All rights reserved.
18
*
19
* Redistribution and use in source and binary forms, with or without
20
* modification, are permitted provided that the following conditions
21
* are met:
22
* 1. Redistributions of source code must retain the above copyright
23
* notice, this list of conditions and the following disclaimer.
24
* 2. Redistributions in binary form must reproduce the above copyright
25
* notice, this list of conditions and the following disclaimer in the
26
* documentation and/or other materials provided with the distribution.
27
*
28
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
29
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38
* POSSIBILITY OF SUCH DAMAGE.
39
*/
40
41
#ifndef OPJ_TGT_H
42
#define OPJ_TGT_H
43
53
57
typedef
struct
opj_tgt_node
{
58
struct
opj_tgt_node
*
parent
;
59
OPJ_INT32
value
;
60
OPJ_INT32
low
;
61
OPJ_UINT32
known
;
62
}
opj_tgt_node_t
;
63
67
typedef
struct
opj_tgt_tree
{
68
OPJ_UINT32
numleafsh
;
69
OPJ_UINT32
numleafsv
;
70
OPJ_UINT32
numnodes
;
71
opj_tgt_node_t
*
nodes
;
72
OPJ_UINT32
nodes_size
;
/* maximum size taken by nodes */
73
}
opj_tgt_tree_t
;
74
75
78
/* ----------------------------------------------------------------------- */
86
opj_tgt_tree_t
*
opj_tgt_create
(
OPJ_UINT32
numleafsh,
OPJ_UINT32
numleafsv,
87
opj_event_mgr_t
*p_manager);
88
98
opj_tgt_tree_t
*
opj_tgt_init
(
opj_tgt_tree_t
* p_tree,
99
OPJ_UINT32
p_num_leafs_h,
100
OPJ_UINT32
p_num_leafs_v,
opj_event_mgr_t
*p_manager);
105
void
opj_tgt_destroy
(
opj_tgt_tree_t
*tree);
110
void
opj_tgt_reset
(
opj_tgt_tree_t
*tree);
117
void
opj_tgt_setvalue
(
opj_tgt_tree_t
*tree,
118
OPJ_UINT32
leafno,
119
OPJ_INT32
value);
127
void
opj_tgt_encode
(
opj_bio_t
*bio,
128
opj_tgt_tree_t
*tree,
129
OPJ_UINT32
leafno,
130
OPJ_INT32
threshold);
139
OPJ_UINT32
opj_tgt_decode
(
opj_bio_t
*bio,
140
opj_tgt_tree_t
*tree,
141
OPJ_UINT32
leafno,
142
OPJ_INT32
threshold);
143
/* ----------------------------------------------------------------------- */
147
148
#endif
/* OPJ_TGT_H */
Generated by
1.8.1