OpenJPEG 2.3.0

cachemodel_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 CACHEMODEL_MANAGER_H_
32 # define CACHEMODEL_MANAGER_H_
33
34 #include "target_manager.h"
35
37 typedef struct cachemodel_param {
38 target_param_t *target;
39 OPJ_BOOL jppstream;
40 OPJ_BOOL mhead_model;
41 OPJ_BOOL *tp_model;
42 OPJ_BOOL *th_model;
43 OPJ_BOOL **pp_model;
44 struct cachemodel_param *next;
45 } cachemodel_param_t;
46
48 typedef struct cachemodellist_param {
49 cachemodel_param_t *first;
50 cachemodel_param_t *last;
51 } cachemodellist_param_t;
52
53
59 cachemodellist_param_t * gene_cachemodellist(void);
60
69 cachemodel_param_t * gene_cachemodel(cachemodellist_param_t *cachemodellist,
70 target_param_t *target, OPJ_BOOL reqJPP);
71
72
78 void print_cachemodel(cachemodel_param_t cachemodel);
79
80
88 cachemodel_param_t * search_cachemodel(target_param_t *target,
89 cachemodellist_param_t *cachemodellist);
90
91
98 OPJ_BOOL is_allsent(cachemodel_param_t cachemodel);
99
100
106 void delete_cachemodel(cachemodel_param_t **cachemodel);
107
113 void delete_cachemodellist(cachemodellist_param_t **cachemodellist);
114
115
116 #endif /* !CACHEMODEL_MANAGER_H_ */
cachemodel_param::mhead_model
OPJ_BOOL mhead_model
main header model, if sent, 1, else 0
Definition: cachemodel_manager.h:40
print_cachemodel
void print_cachemodel(cachemodel_param_t cachemodel)
print cache model
Definition: cachemodel_manager.c:120
cachemodellist_param::first
cachemodel_param_t * first
first cache model pointer of the list
Definition: cachemodel_manager.h:49
cachemodel_param::jppstream
OPJ_BOOL jppstream
return type, true: JPP-stream, false: JPT-stream
Definition: cachemodel_manager.h:39
cachemodel_param::tp_model
OPJ_BOOL * tp_model
dynamic array pointer of tile part model, if sent, 1, else 0
Definition: cachemodel_manager.h:41
cachemodel_param::target
target_param_t * target
reference pointer to the target
Definition: cachemodel_manager.h:38
is_allsent
OPJ_BOOL is_allsent(cachemodel_param_t cachemodel)
check if all data has been sent
Definition: cachemodel_manager.c:211
cachemodellist_param_t
struct cachemodellist_param cachemodellist_param_t
Cache model list parameters.
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:110
cachemodel_param
Cache model parameters.
Definition: cachemodel_manager.h:37
gene_cachemodellist
cachemodellist_param_t * gene_cachemodellist(void)
generate a cache model list
Definition: cachemodel_manager.c:47
target_manager.h
gene_cachemodel
cachemodel_param_t * gene_cachemodel(cachemodellist_param_t *cachemodellist, target_param_t *target, OPJ_BOOL reqJPP)
generate a cache model under a list
Definition: cachemodel_manager.c:60
cachemodellist_param
Cache model list parameters.
Definition: cachemodel_manager.h:48
cachemodel_param::pp_model
OPJ_BOOL ** pp_model
dynamic array pointer of precint packet model
Definition: cachemodel_manager.h:43
search_cachemodel
cachemodel_param_t * search_cachemodel(target_param_t *target, cachemodellist_param_t *cachemodellist)
search a cache model of a target
Definition: cachemodel_manager.c:160
cachemodel_param::next
struct cachemodel_param * next
pointer to the next cache model
Definition: cachemodel_manager.h:44
target_param
target parameters
Definition: target_manager.h:40
cachemodel_param_t
struct cachemodel_param cachemodel_param_t
Cache model parameters.
delete_cachemodellist
void delete_cachemodellist(cachemodellist_param_t **cachemodellist)
delete cachemodel list
Definition: cachemodel_manager.c:178
cachemodellist_param::last
cachemodel_param_t * last
last cache model pointer of the list
Definition: cachemodel_manager.h:50
cachemodel_param::th_model
OPJ_BOOL * th_model
dynamic array pointer of tile header model
Definition: cachemodel_manager.h:42
delete_cachemodel
void delete_cachemodel(cachemodel_param_t **cachemodel)
delete a cache model
Definition: cachemodel_manager.c:191