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
box_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 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,
101
const
char
TBox[]);
102
112
box_param_t
*
gene_boxbyTypeinStream
(
Byte_t
*stream,
OPJ_OFF_T
offset,
113
OPJ_SIZE_T
length,
const
char
TBox[]);
114
122
box_param_t
*
gene_childboxbyOffset
(
box_param_t
*superbox,
OPJ_OFF_T
offset);
123
132
box_param_t
*
gene_childboxbyType
(
box_param_t
*superbox,
OPJ_OFF_T
offset,
133
const
char
TBox[]);
134
141
OPJ_OFF_T
get_DBoxoff
(
box_param_t
*box);
142
143
150
OPJ_SIZE_T
get_DBoxlen
(
box_param_t
*box);
151
152
159
Byte_t
*
fetch_headbytes
(
box_param_t
*box);
160
161
170
Byte_t
*
fetch_DBoxbytes
(
box_param_t
*box,
OPJ_OFF_T
offset,
OPJ_SIZE_T
size);
171
179
Byte_t
fetch_DBox1byte
(
box_param_t
*box,
OPJ_OFF_T
offset);
180
188
Byte2_t
fetch_DBox2bytebigendian
(
box_param_t
*box,
OPJ_OFF_T
offset);
189
197
Byte4_t
fetch_DBox4bytebigendian
(
box_param_t
*box,
OPJ_OFF_T
offset);
198
206
Byte8_t
fetch_DBox8bytebigendian
(
box_param_t
*box,
OPJ_OFF_T
offset);
207
208
216
box_param_t
*
search_box
(
const
char
type[],
boxlist_param_t
*boxlist);
217
223
void
print_box
(
box_param_t
*box);
224
225
231
void
print_allbox
(
boxlist_param_t
*boxlist);
232
239
void
delete_box_in_list
(
box_param_t
**box,
boxlist_param_t
*boxlist);
240
241
248
void
delete_box_in_list_by_type
(
const
char
type[],
boxlist_param_t
*boxlist);
249
250
256
void
delete_boxlist
(
boxlist_param_t
**boxlist);
257
258
265
void
insert_box_into_list
(
box_param_t
*box,
boxlist_param_t
*boxlist);
266
267
#endif
/* !BOX_MANAGER_H_ */
Generated by
1.8.1