msgqueue_manager.h File Reference
`#include "byte_manager.h"`
`#include "cachemodel_manager.h"`
`#include "placeholder_manager.h"`

Go to the source code of this file.

## Data Structures

struct | message_param
| message parameters More...
struct | msgqueue_param
| message queue parameters More...

## Macros

#define | PRECINCT_MSG 0
#define | EXT_PRECINCT_MSG 1
#define | TILE_HEADER_MSG 2
#define | TILE_MSG 4
#define | EXT_TILE_MSG 5
#define | MAINHEADER_MSG 6
#define | METADATA_MSG 8

## Typedefs

typedef struct message_param | message_param_t
| message parameters
typedef struct msgqueue_param | msgqueue_param_t
| message queue parameters

## Functions

msgqueue_param_t * | gene_msgqueue (OPJ_BOOL stateless, cachemodel_param_t *cachemodel)
| generate message queue
void | delete_msgqueue (msgqueue_param_t **msgqueue)
| delete message queue
void | delete_message_in_msgqueue (message_param_t **message, msgqueue_param_t *msgqueue)
| delete a message in msgqueue
void | print_msgqueue (msgqueue_param_t *msgqueue)
| print message queue
void | enqueue_mainheader (msgqueue_param_t *msgqueue)
| enqueue main header data-bin into message queue
void | enqueue_tileheader (int tile_id, msgqueue_param_t *msgqueue)
| enqueue tile headers data-bin into message queue
void | enqueue_tile (Byte4_t tile_id, int level, msgqueue_param_t *msgqueue)
| enqueue tile data-bin into message queue
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
void | enqueue_metadata (Byte8_t meta_id, msgqueue_param_t *msgqueue)
| enqueue Metadata-bin into message queue
void | recons_stream_from_msgqueue (msgqueue_param_t *msgqueue, int tmpfd)
| reconstruct JPT/JPP-stream from message queue
void | parse_JPIPstream (Byte_t *JPIPstream, Byte8_t streamlen, OPJ_OFF_T offset, msgqueue_param_t *msgqueue)
| parse JPT- JPP- stream to message queue
void | parse_metamsg (msgqueue_param_t *msgqueue, Byte_t *stream, Byte8_t streamlen, metadatalist_param_t *metadatalist)
| parse JPT- JPP- stream to message queue
Byte8_t | comp_precinct_id (int t, int c, int s, int num_components, int num_tiles)
| compute precinct ID A.3.2.1

## Macro Definition Documentation

## EXT_PRECINCT_MSG

#define EXT_PRECINCT_MSG 1

## EXT_TILE_MSG

#define EXT_TILE_MSG 5

Referenced by enqueue_tile(), get_last_tileID(), and recons_codestream_from_JPTstream().

## MAINHEADER_MSG

#define MAINHEADER_MSG 6

Referenced by add_mainhead_msgstream(), and enqueue_mainheader().

## METADATA_MSG

#define METADATA_MSG 8

Referenced by gene_metamsg(), parse_metamsg(), and recons_jp2().

## PRECINCT_MSG

#define PRECINCT_MSG 0

Referenced by enqueue_precinct(), recons_packet(), and recons_precinct().

## TILE_HEADER_MSG

#define TILE_HEADER_MSG 2

Referenced by enqueue_tileheader(), get_last_tileID(), and recons_codestream_from_JPPstream().

## TILE_MSG

#define TILE_MSG 4

Referenced by enqueue_tile(), get_last_tileID(), and recons_codestream_from_JPTstream().

## Typedef Documentation

## message_param_t

typedef struct message_param message_param_t

message parameters

## msgqueue_param_t

typedef struct msgqueue_param msgqueue_param_t

message queue parameters

## Function Documentation

## comp_precinct_id()

Byte8_t comp_precinct_id | ( | int | t,
|  | int | c,
|  | int | s,
|  | int | num_components,
|  | int | num_tiles )

compute precinct ID A.3.2.1

Parameters

  [in] | t | tile index
  [in] | c | component index
  [in] | s | sequence number
  [in] | num_components | total number of components
  [in] | num_tiles | total number of tiles

Returns
  precicnt id

Referenced by enqueue_precinct(), recons_packet(), and recons_precinct().

## delete_message_in_msgqueue()

void delete_message_in_msgqueue | ( | message_param_t ** | message,
|  | msgqueue_param_t * | msgqueue )

delete a message in msgqueue

Parameters

  [in] | message | address of the deleting message pointer
  [in] | msgqueue | message queue pointer

References msgqueue_param::first, msgqueue_param::last, message_param::next, and opj_free().

## delete_msgqueue()

void delete_msgqueue | ( | msgqueue_param_t ** | msgqueue | ) |

delete message queue

Parameters

  [in] | msgqueue | address of the message queue pointer

References delete_cachemodel(), message_param::next, and opj_free().

Referenced by destroy_jpipdecoder(), and terminate_dec_server().

## enqueue_mainheader()

void enqueue_mainheader | ( | msgqueue_param_t * | msgqueue | ) |

enqueue main header data-bin into message queue

Parameters

  [in,out] | msgqueue | message queue pointer

References message_param::aux, message_param::bin_offset, msgqueue_param::cachemodel, message_param::class_id, target_param::codeidx, message_param::csn, target_param::csn, enqueue_message(), message_param::in_class_id, message_param::last_byte, message_param::length, MAINHEADER_MSG, index_param::mhead_length, cachemodel_param::mhead_model, message_param::next, index_param::offset, opj_malloc(), OPJ_TRUE, message_param::phld, message_param::res_offset, and cachemodel_param::target.

Referenced by gene_JPIPstream().

## enqueue_metadata()

void enqueue_metadata | ( | Byte8_t | meta_id,
|  | msgqueue_param_t * | msgqueue )

enqueue Metadata-bin into message queue

Parameters

  [in] | meta_id | metadata-bin id
  [in,out] | msgqueue | message queue pointer

References metadata_param::boxcontents, metadata_param::boxlist, msgqueue_param::cachemodel, target_param::codeidx, enqueue_box(), enqueue_boxcontents(), enqueue_phld(), FCGI_stderr, msgqueue_param::last, message_param::last_byte, index_param::metadatalist, OPJ_TRUE, metadata_param::placeholderlist, search_metadata(), and cachemodel_param::target.

Referenced by enqueue_metabins().

## enqueue_precinct()

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

Parameters

  [in] | seq_id | precinct sequence number within its tile
  [in] | tile_id | tile index
  [in] | comp_id | component number
  [in] | layers | num of layers
  [in,out] | msgqueue | message queue

References message_param::aux, message_param::bin_offset, msgqueue_param::cachemodel, message_param::class_id, index_param::COD, target_param::codeidx, comp_precinct_id(), SIZmarker_param::Csiz, message_param::csn, target_param::csn, enqueue_message(), get_elemLen(), get_elemOff(), get_nmax(), message_param::in_class_id, message_param::last_byte, message_param::length, message_param::next, CODmarker_param::numOflayers, index_param::offset, opj_malloc(), OPJ_TRUE, message_param::phld, cachemodel_param::pp_model, PRECINCT_MSG, index_param::precpacket, message_param::res_offset, index_param::SIZ, cachemodel_param::target, SIZmarker_param::XTnum, and SIZmarker_param::YTnum.

Referenced by enqueue_allprecincts(), and enqueue_precincts().

## enqueue_tile()

void enqueue_tile | ( | Byte4_t | tile_id,
|  | int | level,
|  | msgqueue_param_t * | msgqueue )

enqueue tile data-bin into message queue

Parameters

  [in] | tile_id | tile id starting from 0
  [in] | level | decomposition level
  [in,out] | msgqueue | message queue pointer

References message_param::aux, message_param::bin_offset, msgqueue_param::cachemodel, message_param::class_id, target_param::codeidx, message_param::csn, target_param::csn, enqueue_message(), EXT_TILE_MSG, FCGI_stderr, get_elemLen(), get_elemOff(), get_m(), get_nmax(), message_param::in_class_id, message_param::last_byte, message_param::length, message_param::next, index_param::offset, opj_malloc(), OPJ_TRUE, message_param::phld, message_param::res_offset, cachemodel_param::target, TILE_MSG, index_param::tilepart, and cachemodel_param::tp_model.

Referenced by enqueue_imagedata().

## enqueue_tileheader()

void enqueue_tileheader | ( | int | tile_id,
|  | msgqueue_param_t * | msgqueue )

enqueue tile headers data-bin into message queue

Parameters

  [in] | tile_id | tile id starting from 0
  [in,out] | msgqueue | message queue pointer

References message_param::aux, message_param::bin_offset, msgqueue_param::cachemodel, message_param::class_id, target_param::codeidx, message_param::csn, target_param::csn, enqueue_message(), get_elemOff(), message_param::in_class_id, message_param::last_byte, message_param::length, message_param::next, index_param::offset, opj_malloc(), OPJ_TRUE, message_param::phld, message_param::res_offset, cachemodel_param::target, cachemodel_param::th_model, TILE_HEADER_MSG, index_param::tileheader, index_param::tilepart, and mhixbox_param::tlen.

Referenced by enqueue_imagedata().

## gene_msgqueue()

msgqueue_param_t * gene_msgqueue | ( | OPJ_BOOL | stateless,
|  | cachemodel_param_t * | cachemodel )

generate message queue

Parameters

  [in] | stateless | if this is a stateless message queue
  [in] | cachemodel | cachemodel pointer

Returns
  generated message queue pointer

References msgqueue_param::cachemodel, msgqueue_param::first, msgqueue_param::last, opj_malloc(), and msgqueue_param::stateless.

Referenced by gene_JPIPstream(), init_dec_server(), and init_jpipdecoder().

## parse_JPIPstream()

void parse_JPIPstream | ( | Byte_t * | JPIPstream,
|  | Byte8_t | streamlen,
|  | OPJ_OFF_T | offset,
|  | msgqueue_param_t * | msgqueue )

parse JPT- JPP- stream to message queue

Parameters

  [in] | JPIPstream | JPT- JPP- stream data pointer
  [in] | streamlen | JPIPstream length
  [in] | offset | offset of the stream from the whole beginning
  [in,out] | msgqueue | adding message queue pointer

References message_param::aux, message_param::bin_offset, message_param::class_id, message_param::csn, msgqueue_param::first, message_param::in_class_id, msgqueue_param::last, message_param::last_byte, message_param::length, message_param::next, OPJ_FALSE, opj_malloc(), OPJ_TRUE, parse_bin_id_vbas(), parse_vbas(), message_param::phld, and message_param::res_offset.

Referenced by decode_jpip(), and handle_JPIPstreamMSG().

## parse_metamsg()

void parse_metamsg | ( | msgqueue_param_t * | msgqueue,
|  | Byte_t * | stream,
|  | Byte8_t | streamlen,
|  | metadatalist_param_t * | metadatalist )

parse JPT- JPP- stream to message queue

Parameters

  [in] | msgqueue | reference message queue pointer
  [in] | stream | stream data pointer
  [in] | streamlen | stream length
  [in] | metadatalist | adding metadata list pointer

References message_param::class_id, msgqueue_param::first, gene_metadata(), message_param::in_class_id, insert_metadata_into_list(), METADATA_MSG, message_param::next, parse_metadata(), and message_param::res_offset.

Referenced by decode_jpip(), and handle_JPIPstreamMSG().

## print_msgqueue()

void print_msgqueue | ( | msgqueue_param_t * | msgqueue | ) |

print message queue

Parameters

  [in] | msgqueue | message queue pointer

References message_param::aux, message_param::bin_offset, message_param::class_id, message_param::csn, msgqueue_param::first, message_param::in_class_id, message_param::last_byte, message_param::length, logstream, message_param::next, message_param::phld, print_placeholder(), and message_param::res_offset.

Referenced by output_log().

## recons_stream_from_msgqueue()

void recons_stream_from_msgqueue | ( | msgqueue_param_t * | msgqueue,
|  | int | tmpfd )

reconstruct JPT/JPP-stream from message queue

Parameters

  [in] | msgqueue | message queue pointer
  [in] | tmpfd | file descriptor to write JPT/JPP-stream

References add_bin_id_vbas_stream(), add_body_stream(), add_placeholder_stream(), add_vbas_stream(), message_param::aux, message_param::bin_offset, msgqueue_param::cachemodel, message_param::class_id, message_param::csn, target_param::fd, msgqueue_param::first, message_param::in_class_id, message_param::last_byte, message_param::length, message_param::next, message_param::phld, and cachemodel_param::target.