OpenJPEG
2.0.0
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
home
makerpm
rpmbuild
BUILD
openjp2-2.0.0.2354
src
lib
openjpip
index_manager.h
Go to the documentation of this file.
1
/*
2
* $Id: index_manager.h 2209 2012-11-15 14:43:50Z savmickael $
3
*
4
* Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
5
* Copyright (c) 2002-2011, Professor Benoit Macq
6
* Copyright (c) 2010-2011, Kaori Hagihara
7
* All rights reserved.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
* 1. Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* 2. Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
19
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
* POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
#ifndef INDEX_MANAGER_H_
32
# define INDEX_MANAGER_H_
33
34
#include "opj_config.h"
35
#include "
opj_includes.h
"
36
37
#include "
byte_manager.h
"
38
#include "
faixbox_manager.h
"
39
#include "
metadata_manager.h
"
40
#include "
mhixbox_manager.h
"
41
43
#if 0
44
typedef
enum
porder {
45
PROG_UNKNOWN = -1,
46
LRCP = 0,
47
RLCP = 1,
48
RPCL = 2,
49
PCRL = 3,
50
CPRL = 4
51
} porder_t;
52
#endif
53
55
typedef
struct
SIZmarker_param
{
56
Byte2_t
Lsiz
;
57
Byte2_t
Rsiz
;
58
Byte4_t
Xsiz
;
59
Byte4_t
Ysiz
;
60
Byte4_t
XOsiz
;
61
Byte4_t
YOsiz
;
62
Byte4_t
XTsiz
;
63
Byte4_t
YTsiz
;
64
Byte4_t
XTOsiz
;
65
Byte4_t
YTOsiz
;
66
Byte4_t
XTnum
;
67
Byte4_t
YTnum
;
68
Byte2_t
Csiz
;
69
Byte_t
Ssiz
[3];
70
Byte_t
XRsiz
[3];
71
Byte_t
YRsiz
[3];
72
}
SIZmarker_param_t
;
73
75
typedef
struct
CODmarker_param
{
76
Byte2_t
Lcod
;
77
Byte_t
Scod
;
78
OPJ_PROG_ORDER
prog_order
;
79
Byte2_t
numOflayers
;
80
Byte_t
numOfdecomp
;
81
Byte4_t
*
XPsiz
;
82
Byte4_t
*
YPsiz
;
83
}
CODmarker_param_t
;
84
86
typedef
struct
index_param
{
87
metadatalist_param_t
*
metadatalist
;
88
OPJ_OFF_T
offset
;
89
Byte8_t
length
;
90
Byte8_t
mhead_length
;
91
SIZmarker_param_t
SIZ
;
92
CODmarker_param_t
COD
;
93
faixbox_param_t
*
tilepart
;
94
mhixbox_param_t
**
tileheader
;
95
faixbox_param_t
**
precpacket
;
96
}
index_param_t
;
97
98
106
index_param_t
*
parse_jp2file
(
int
fd);
107
113
void
print_index
(
index_param_t
index);
114
120
void
print_SIZ
(
SIZmarker_param_t
SIZ);
121
127
void
print_COD
(
CODmarker_param_t
COD);
128
134
void
delete_index
(
index_param_t
**index);
135
141
void
delete_COD
(
CODmarker_param_t
COD);
142
143
145
typedef
struct
range_param
{
146
Byte4_t
minvalue
;
147
Byte4_t
maxvalue
;
148
}
range_param_t
;
149
158
range_param_t
get_tile_Xrange
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
int
level);
159
168
range_param_t
get_tile_Yrange
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
int
level);
169
170
179
Byte4_t
get_tile_XSiz
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
int
level);
180
Byte4_t
get_tile_YSiz
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
int
level);
181
182
189
OPJ_BOOL
isJPTfeasible
(
index_param_t
index);
190
191
#endif
/* !INDEX_MANAGER_H_ */
Generated by
1.8.3.1