OpenJPEG 2.5.0
msgqueue_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 * Copyright (c) 2011, Lucian Corlaciu, GSoC
8 * All rights reserved.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef MSGQUEUE_MANAGER_H_
33# define MSGQUEUE_MANAGER_H_
34
35#include "byte_manager.h"
36#include "cachemodel_manager.h"
37#include "placeholder_manager.h"
38
39#define PRECINCT_MSG 0
40#define EXT_PRECINCT_MSG 1
41#define TILE_HEADER_MSG 2
42#define TILE_MSG 4
43#define EXT_TILE_MSG 5
44#define MAINHEADER_MSG 6
45#define METADATA_MSG 8
46
61
69
78 cachemodel_param_t *cachemodel);
79
85void delete_msgqueue(msgqueue_param_t **msgqueue);
86
94 msgqueue_param_t *msgqueue);
95
101void print_msgqueue(msgqueue_param_t *msgqueue);
102
103
110
117void enqueue_tileheader(int tile_id, msgqueue_param_t *msgqueue);
118
126void enqueue_tile(Byte4_t tile_id, int level, msgqueue_param_t *msgqueue);
127
137void enqueue_precinct(int seq_id, int tile_id, int comp_id, int layers,
138 msgqueue_param_t *msgqueue);
139
140
147void enqueue_metadata(Byte8_t meta_id, msgqueue_param_t *msgqueue);
148
149
156void recons_stream_from_msgqueue(msgqueue_param_t *msgqueue, int tmpfd);
157
158
167void parse_JPIPstream(Byte_t *JPIPstream, Byte8_t streamlen, OPJ_OFF_T offset,
168 msgqueue_param_t *msgqueue);
169
178void parse_metamsg(msgqueue_param_t *msgqueue, Byte_t *stream,
179 Byte8_t streamlen, metadatalist_param_t *metadatalist);
180
191Byte8_t comp_precinct_id(int t, int c, int s, int num_components,
192 int num_tiles);
193
194#endif /* !MSGQUEUE_MANAGER_H_ */
uint64_t Byte8_t
Definition byte_manager.h:40
uint32_t Byte4_t
Definition byte_manager.h:39
uint8_t Byte_t
Definition byte_manager.h:37
void enqueue_mainheader(msgqueue_param_t *msgqueue)
enqueue main header data-bin into message queue
Definition msgqueue_manager.c:135
void enqueue_tileheader(int tile_id, msgqueue_param_t *msgqueue)
enqueue tile headers data-bin into message queue
Definition msgqueue_manager.c:165
Byte8_t comp_precinct_id(int t, int c, int s, int num_components, int num_tiles)
compute precinct ID A.3.2.1
Definition msgqueue_manager.c:311
void enqueue_tile(Byte4_t tile_id, int level, msgqueue_param_t *msgqueue)
enqueue tile data-bin into message queue
Definition msgqueue_manager.c:198
struct message_param message_param_t
message parameters
void parse_JPIPstream(Byte_t *JPIPstream, Byte8_t streamlen, OPJ_OFF_T offset, msgqueue_param_t *msgqueue)
parse JPT- JPP- stream to message queue
Definition msgqueue_manager.c:631
msgqueue_param_t * gene_msgqueue(OPJ_BOOL stateless, cachemodel_param_t *cachemodel)
generate message queue
Definition msgqueue_manager.c:59
void parse_metamsg(msgqueue_param_t *msgqueue, Byte_t *stream, Byte8_t streamlen, metadatalist_param_t *metadatalist)
parse JPT- JPP- stream to message queue
Definition msgqueue_manager.c:687
void enqueue_metadata(Byte8_t meta_id, msgqueue_param_t *msgqueue)
enqueue Metadata-bin into message queue
Definition msgqueue_manager.c:323
void print_msgqueue(msgqueue_param_t *msgqueue)
print message queue
Definition msgqueue_manager.c:97
struct msgqueue_param msgqueue_param_t
message queue parameters
void recons_stream_from_msgqueue(msgqueue_param_t *msgqueue, int tmpfd)
reconstruct JPT/JPP-stream from message queue
Definition msgqueue_manager.c:443
void delete_message_in_msgqueue(message_param_t **message, msgqueue_param_t *msgqueue)
delete a message in msgqueue
Definition msgqueue_manager.c:795
void enqueue_precinct(int seq_id, int tile_id, int comp_id, int layers, msgqueue_param_t *msgqueue)
enqueue precinct data-bin into message queue
Definition msgqueue_manager.c:256
void delete_msgqueue(msgqueue_param_t **msgqueue)
delete message queue
Definition msgqueue_manager.c:75
int64_t OPJ_OFF_T
Definition openjpeg.h:136
int OPJ_BOOL
Definition openjpeg.h:116
Cache model parameters.
Definition cachemodel_manager.h:37
message parameters
Definition msgqueue_manager.h:48
Byte8_t class_id
class identifiers
Definition msgqueue_manager.h:52
Byte8_t in_class_id
in-class identifier A.2.3
Definition msgqueue_manager.h:51
Byte8_t csn
index of the codestream
Definition msgqueue_manager.h:53
placeholder_param_t * phld
placeholder pointer in index
Definition msgqueue_manager.h:58
Byte8_t length
message byte length
Definition msgqueue_manager.h:55
OPJ_BOOL last_byte
if message contains the last byte of the data-bin
Definition msgqueue_manager.h:50
Byte8_t bin_offset
offset of the data in this message from the start of the data-bin
Definition msgqueue_manager.h:54
OPJ_OFF_T res_offset
offset in the resource
Definition msgqueue_manager.h:57
Byte8_t aux
Definition msgqueue_manager.h:56
struct message_param * next
pointer to the next message
Definition msgqueue_manager.h:59
metadata-bin list parameters
Definition metadata_manager.h:54
message queue parameters
Definition msgqueue_manager.h:63
cachemodel_param_t * cachemodel
reference cachemodel pointer
Definition msgqueue_manager.h:67
message_param_t * last
last message pointer of the list
Definition msgqueue_manager.h:65
message_param_t * first
first message pointer of the list
Definition msgqueue_manager.h:64
OPJ_BOOL stateless
if this is a stateless message queue
Definition msgqueue_manager.h:66
A.3.6.3 Placeholder box format.
Definition placeholder_manager.h:39