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
openjpip
index_manager.h
Go to the documentation of this file.
1
/*
2
* $Id$
3
*
4
* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
5
* Copyright (c) 2002-2014, 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
95
**
tileheader
;
96
faixbox_param_t
97
**
precpacket
;
98
}
index_param_t
;
99
100
108
index_param_t
*
parse_jp2file
(
int
fd);
109
115
void
print_index
(
index_param_t
index);
116
122
void
print_SIZ
(
SIZmarker_param_t
SIZ);
123
129
void
print_COD
(
CODmarker_param_t
COD);
130
136
void
delete_index
(
index_param_t
**index);
137
143
void
delete_COD
(
CODmarker_param_t
COD);
144
145
147
typedef
struct
range_param
{
148
Byte4_t
minvalue
;
149
Byte4_t
maxvalue
;
150
}
range_param_t
;
151
160
range_param_t
get_tile_Xrange
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
161
int
level);
162
171
range_param_t
get_tile_Yrange
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
172
int
level);
173
174
183
Byte4_t
get_tile_XSiz
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
int
level);
184
Byte4_t
get_tile_YSiz
(
SIZmarker_param_t
SIZ,
Byte4_t
tile_id,
int
level);
185
186
193
OPJ_BOOL
isJPTfeasible
(
index_param_t
index);
194
195
#endif
/* !INDEX_MANAGER_H_ */
Generated by
1.8.1