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
box_manager.h
Go to the documentation of this file.
1
/*
2
* $Id: box_manager.h 2008 2012-10-01 08:43:02Z mathieu.malaterre $
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 BOX_MANAGER_H_
32
# define BOX_MANAGER_H_
33
34
#include "
byte_manager.h
"
35
37
typedef
struct
box_param
{
38
int
fd
;
39
OPJ_OFF_T
offset
;
40
Byte_t
headlen
;
41
Byte8_t
length
;
42
char
type
[4];
43
struct
box_param
*
next
;
44
}
box_param_t
;
45
46
48
typedef
struct
boxlist_param
{
49
box_param_t
*
first
;
50
box_param_t
*
last
;
51
}
boxlist_param_t
;
52
53
59
boxlist_param_t
*
gene_boxlist
(
void
);
60
69
boxlist_param_t
*
get_boxstructure
(
int
fd,
OPJ_OFF_T
offset,
OPJ_SIZE_T
length);
70
71
79
box_param_t
*
gene_boxbyOffset
(
int
fd,
OPJ_OFF_T
offset);
80
81
89
box_param_t
*
gene_boxbyOffinStream
(
Byte_t
*stream,
OPJ_OFF_T
offset);
90
100
box_param_t
*
gene_boxbyType
(
int
fd,
OPJ_OFF_T
offset,
OPJ_SIZE_T
length,
const
char
TBox[]);
101
111
box_param_t
*
gene_boxbyTypeinStream
(
Byte_t
*stream,
OPJ_OFF_T
offset,
OPJ_SIZE_T
length,
const
char
TBox[]);
112
120
box_param_t
*
gene_childboxbyOffset
(
box_param_t
*superbox,
OPJ_OFF_T
offset);
121
130
box_param_t
*
gene_childboxbyType
(
box_param_t
*superbox,
OPJ_OFF_T
offset,
const
char
TBox[]);
131
138
OPJ_OFF_T
get_DBoxoff
(
box_param_t
*box);
139
140
147
OPJ_SIZE_T
get_DBoxlen
(
box_param_t
*box);
148
149
156
Byte_t
*
fetch_headbytes
(
box_param_t
*box);
157
158
167
Byte_t
*
fetch_DBoxbytes
(
box_param_t
*box,
OPJ_OFF_T
offset,
OPJ_SIZE_T
size);
168
176
Byte_t
fetch_DBox1byte
(
box_param_t
*box,
OPJ_OFF_T
offset);
177
185
Byte2_t
fetch_DBox2bytebigendian
(
box_param_t
*box,
OPJ_OFF_T
offset);
186
194
Byte4_t
fetch_DBox4bytebigendian
(
box_param_t
*box,
OPJ_OFF_T
offset);
195
203
Byte8_t
fetch_DBox8bytebigendian
(
box_param_t
*box,
OPJ_OFF_T
offset);
204
205
213
box_param_t
*
search_box
(
const
char
type[],
boxlist_param_t
*boxlist);
214
220
void
print_box
(
box_param_t
*box);
221
222
228
void
print_allbox
(
boxlist_param_t
*boxlist);
229
236
void
delete_box_in_list
(
box_param_t
**box,
boxlist_param_t
*boxlist);
237
238
245
void
delete_box_in_list_by_type
(
const
char
type[],
boxlist_param_t
*boxlist);
246
247
253
void
delete_boxlist
(
boxlist_param_t
**boxlist);
254
255
262
void
insert_box_into_list
(
box_param_t
*box,
boxlist_param_t
*boxlist);
263
264
#endif
/* !BOX_MANAGER_H_ */
Generated by
1.8.3.1