[trunk] Remove bool.h, use opj_bool instead

Fix remaining opj_calloc/malloc/free issues
This commit is contained in:
Mathieu Malaterre 2012-10-29 16:24:39 +00:00
parent 1a5791750b
commit 82d29d4c2a
28 changed files with 289 additions and 350 deletions

View File

@ -53,7 +53,7 @@ static int jpip_to_jp2(int argc,char *argv[])
return -1; return -1;
} }
dec = init_jpipdecoder( true); dec = init_jpipdecoder( OPJ_TRUE);
if(!( fread_jpip( argv[1], dec))) if(!( fread_jpip( argv[1], dec)))
return -1; return -1;
@ -63,7 +63,7 @@ static int jpip_to_jp2(int argc,char *argv[])
if(!(fwrite_jp2k( argv[2], dec))) if(!(fwrite_jp2k( argv[2], dec)))
return -1; return -1;
output_log( true, false, true, dec); output_log( OPJ_TRUE, OPJ_FALSE, OPJ_TRUE, dec);
destroy_jpipdecoder( &dec); destroy_jpipdecoder( &dec);
@ -92,7 +92,7 @@ static int jpip_to_j2k(int argc,char *argv[])
return -1; return -1;
} }
dec = init_jpipdecoder( false); dec = init_jpipdecoder( OPJ_FALSE);
if(!( fread_jpip( argv[1], dec))) if(!( fread_jpip( argv[1], dec)))
return -1; return -1;
@ -102,7 +102,7 @@ static int jpip_to_j2k(int argc,char *argv[])
if(!( fwrite_jp2k( argv[2], dec))) if(!( fwrite_jp2k( argv[2], dec)))
return -1; return -1;
/* output_log( true, false, false, dec); */ /* output_log( OPJ_TRUE, OPJ_FALSE, OPJ_FALSE, dec); */
destroy_jpipdecoder( &dec); destroy_jpipdecoder( &dec);

View File

@ -84,7 +84,7 @@ int main(void)
#endif #endif
{ {
QR_t *qr; QR_t *qr;
bool parse_status; opj_bool parse_status;
#ifdef SERVER #ifdef SERVER
query_string = getenv("QUERY_STRING"); query_string = getenv("QUERY_STRING");
@ -98,7 +98,7 @@ int main(void)
parse_status = process_JPIPrequest( server_record, qr); parse_status = process_JPIPrequest( server_record, qr);
#ifndef SERVER #ifndef SERVER
local_log( true, true, parse_status, false, qr, server_record); local_log( OPJ_TRUE, OPJ_TRUE, parse_status, OPJ_FALSE, qr, server_record);
#endif #endif
if( parse_status) if( parse_status)

View File

@ -90,7 +90,7 @@ typedef struct aux_response_param{
#endif #endif
} aux_response_param_t; } aux_response_param_t;
aux_response_param_t * gene_auxresponse( bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame); aux_response_param_t * gene_auxresponse( opj_bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame);
void delete_auxresponse( aux_response_param_t **auxresponse); void delete_auxresponse( aux_response_param_t **auxresponse);
@ -101,7 +101,7 @@ unsigned __stdcall aux_streaming( void *arg);
void * aux_streaming( void *arg); void * aux_streaming( void *arg);
#endif #endif
void send_responsedata_on_aux( bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame) void send_responsedata_on_aux( opj_bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame)
{ {
aux_response_param_t *auxresponse; aux_response_param_t *auxresponse;
#ifdef _WIN32 #ifdef _WIN32
@ -133,11 +133,11 @@ void send_responsedata_on_aux( bool istcp, auxtrans_param_t auxtrans, const char
fprintf( FCGI_stderr, "Error: error in send_responsedata_on_aux(), udp not implemented\n"); fprintf( FCGI_stderr, "Error: error in send_responsedata_on_aux(), udp not implemented\n");
} }
aux_response_param_t * gene_auxresponse( bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame) aux_response_param_t * gene_auxresponse( opj_bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame)
{ {
aux_response_param_t *auxresponse; aux_response_param_t *auxresponse;
auxresponse = (aux_response_param_t *)malloc( sizeof(aux_response_param_t)); auxresponse = (aux_response_param_t *)opj_malloc( sizeof(aux_response_param_t));
auxresponse->cid = strdup( cid); auxresponse->cid = strdup( cid);
auxresponse->data = data; auxresponse->data = data;
@ -150,9 +150,9 @@ aux_response_param_t * gene_auxresponse( bool istcp, auxtrans_param_t auxtrans,
void delete_auxresponse( aux_response_param_t **auxresponse) void delete_auxresponse( aux_response_param_t **auxresponse)
{ {
free( (*auxresponse)->cid); opj_free( (*auxresponse)->cid);
free( (*auxresponse)->data); opj_free( (*auxresponse)->data);
free( *auxresponse); opj_free( *auxresponse);
} }
/** /**
@ -163,9 +163,9 @@ void delete_auxresponse( aux_response_param_t **auxresponse)
* @param [in] fp file pointer for log of aux stream * @param [in] fp file pointer for log of aux stream
* @return true if identified, false otherwise * @return true if identified, false otherwise
*/ */
bool identify_cid( SOCKET connected_socket, char refcid[], FILE *fp); opj_bool identify_cid( SOCKET connected_socket, char refcid[], FILE *fp);
bool recv_ack( SOCKET connected_socket, void *data); opj_bool recv_ack( SOCKET connected_socket, void *data);
#ifdef _WIN32 #ifdef _WIN32
unsigned __stdcall aux_streaming( void *arg) unsigned __stdcall aux_streaming( void *arg)
@ -186,7 +186,7 @@ void * aux_streaming( void *arg)
pthread_detach( pthread_self()); pthread_detach( pthread_self());
#endif #endif
chunk = (unsigned char *)malloc( auxresponse->maxlenPerFrame); chunk = (unsigned char *)opj_malloc( auxresponse->maxlenPerFrame);
maxLenOfBody = auxresponse->maxlenPerFrame - headlen; maxLenOfBody = auxresponse->maxlenPerFrame - headlen;
remlen = auxresponse->datalen; remlen = auxresponse->datalen;
@ -216,7 +216,7 @@ void * aux_streaming( void *arg)
break; break;
} }
} }
free( chunk); opj_free( chunk);
delete_auxresponse( &auxresponse); delete_auxresponse( &auxresponse);
@ -230,38 +230,38 @@ void * aux_streaming( void *arg)
} }
bool identify_cid( SOCKET connected_socket, char refcid[], FILE *fp) opj_bool identify_cid( SOCKET connected_socket, char refcid[], FILE *fp)
{ {
char *cid; char *cid;
bool succeed; opj_bool succeed;
if(!(cid = receive_string( connected_socket))){ if(!(cid = receive_string( connected_socket))){
fprintf( fp, "Error: error in identify_cid(), while receiving cid from client\n"); fprintf( fp, "Error: error in identify_cid(), while receiving cid from client\n");
return false; return OPJ_FALSE;
} }
succeed = false; succeed = OPJ_FALSE;
if( strncmp( refcid, cid, strlen( refcid)) == 0) if( strncmp( refcid, cid, strlen( refcid)) == 0)
succeed = true; succeed = OPJ_TRUE;
free( cid); opj_free( cid);
return succeed; return succeed;
} }
bool recv_ack( SOCKET connected_socket, void *data) opj_bool recv_ack( SOCKET connected_socket, void *data)
{ {
char *header; char *header;
bool succeed; opj_bool succeed;
header = receive_stream( connected_socket, 8); header = receive_stream( connected_socket, 8);
if( memcmp( header, data, 8) != 0) if( memcmp( header, data, 8) != 0)
succeed = false; succeed = OPJ_FALSE;
else else
succeed = true; succeed = OPJ_TRUE;
free( header); opj_free( header);
return succeed; return succeed;
} }

View File

@ -32,6 +32,7 @@
# define AUXTRANS_MANAGER_H_ # define AUXTRANS_MANAGER_H_
#include "sock_manager.h" #include "sock_manager.h"
#include "opj_includes.h"
/** auxiliary transport setting parameters*/ /** auxiliary transport setting parameters*/
typedef struct auxtrans_param{ typedef struct auxtrans_param{
@ -67,6 +68,6 @@ void close_aux_transport( auxtrans_param_t auxtrans);
* @param[in] length length of data * @param[in] length length of data
* @param[in] maxlenPerFrame maximum data length to send per frame * @param[in] maxlenPerFrame maximum data length to send per frame
*/ */
void send_responsedata_on_aux( bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T length, OPJ_SIZE_T maxlenPerFrame); void send_responsedata_on_aux( opj_bool istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T length, OPJ_SIZE_T maxlenPerFrame);
#endif /* !AUXTRANS_MANAGER_H_ */ #endif /* !AUXTRANS_MANAGER_H_ */

View File

@ -1,52 +0,0 @@
/*
* $Id$
*
* Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
* Copyright (c) 2002-2011, Professor Benoit Macq
* Copyright (c) 2010-2011, Kaori Hagihara
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef BOOL_H_
# define BOOL_H_
#ifndef false
#define false 0
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef true
#define true (!false)
#endif
#ifndef TRUE
#define TRUE (!FALSE)
#endif
typedef char bool;
#endif /* !BOOL_H_ */

View File

@ -56,7 +56,7 @@ cachemodellist_param_t * gene_cachemodellist(void)
return cachemodellist; return cachemodellist;
} }
cachemodel_param_t * gene_cachemodel( cachemodellist_param_t *cachemodellist, target_param_t *target, bool reqJPP) cachemodel_param_t * gene_cachemodel( cachemodellist_param_t *cachemodellist, target_param_t *target, opj_bool reqJPP)
{ {
cachemodel_param_t *cachemodel; cachemodel_param_t *cachemodel;
faixbox_param_t *tilepart; faixbox_param_t *tilepart;
@ -71,27 +71,27 @@ cachemodel_param_t * gene_cachemodel( cachemodellist_param_t *cachemodellist, ta
if( reqJPP){ if( reqJPP){
if( target->jppstream) if( target->jppstream)
cachemodel->jppstream = true; cachemodel->jppstream = OPJ_TRUE;
else else
cachemodel->jppstream = false; cachemodel->jppstream = OPJ_FALSE;
} else{ /* reqJPT */ } else{ /* reqJPT */
if( target->jptstream) if( target->jptstream)
cachemodel->jppstream = false; cachemodel->jppstream = OPJ_FALSE;
else else
cachemodel->jppstream = true; cachemodel->jppstream = OPJ_TRUE;
} }
cachemodel->mhead_model = false; cachemodel->mhead_model = OPJ_FALSE;
tilepart = target->codeidx->tilepart; tilepart = target->codeidx->tilepart;
numOftiles = get_m( tilepart); numOftiles = get_m( tilepart);
numOfelem = get_nmax( tilepart)*numOftiles; numOfelem = get_nmax( tilepart)*numOftiles;
cachemodel->tp_model = (bool *)opj_calloc( 1, numOfelem*sizeof(bool)); cachemodel->tp_model = (opj_bool *)opj_calloc( 1, numOfelem*sizeof(opj_bool));
cachemodel->th_model = (bool *)opj_calloc( 1, numOftiles*sizeof(bool)); cachemodel->th_model = (opj_bool *)opj_calloc( 1, numOftiles*sizeof(opj_bool));
cachemodel->pp_model = (bool **)opj_malloc( target->codeidx->SIZ.Csiz*sizeof(bool *)); cachemodel->pp_model = (opj_bool **)opj_malloc( target->codeidx->SIZ.Csiz*sizeof(opj_bool *));
for( i=0; i<target->codeidx->SIZ.Csiz; i++){ for( i=0; i<target->codeidx->SIZ.Csiz; i++){
precpacket = target->codeidx->precpacket[i]; precpacket = target->codeidx->precpacket[i];
cachemodel->pp_model[i] = (bool *)opj_calloc( 1, get_nmax(precpacket)*get_m(precpacket)*sizeof(bool)); cachemodel->pp_model[i] = (opj_bool *)opj_calloc( 1, get_nmax(precpacket)*get_m(precpacket)*sizeof(opj_bool));
} }
cachemodel->next = NULL; cachemodel->next = NULL;
@ -196,7 +196,7 @@ void delete_cachemodel( cachemodel_param_t **cachemodel)
opj_free( *cachemodel); opj_free( *cachemodel);
} }
bool is_allsent( cachemodel_param_t cachemodel) opj_bool is_allsent( cachemodel_param_t cachemodel)
{ {
target_param_t *target; target_param_t *target;
Byte8_t TPnum; /* num of tile parts in each tile */ Byte8_t TPnum; /* num of tile parts in each tile */
@ -207,30 +207,30 @@ bool is_allsent( cachemodel_param_t cachemodel)
target = cachemodel.target; target = cachemodel.target;
if( !cachemodel.mhead_model) if( !cachemodel.mhead_model)
return false; return OPJ_FALSE;
TPnum = get_nmax( target->codeidx->tilepart); TPnum = get_nmax( target->codeidx->tilepart);
if( cachemodel.jppstream){ if( cachemodel.jppstream){
for( i=0; i<target->codeidx->SIZ.XTnum*target->codeidx->SIZ.YTnum; i++){ for( i=0; i<target->codeidx->SIZ.XTnum*target->codeidx->SIZ.YTnum; i++){
if( !cachemodel.th_model[i]) if( !cachemodel.th_model[i])
return false; return OPJ_FALSE;
for( j=0; j<target->codeidx->SIZ.Csiz; j++){ for( j=0; j<target->codeidx->SIZ.Csiz; j++){
Pmax = get_nmax( target->codeidx->precpacket[j]); Pmax = get_nmax( target->codeidx->precpacket[j]);
for( k=0; k<Pmax; k++) for( k=0; k<Pmax; k++)
if( !cachemodel.pp_model[j][i*Pmax+k]) if( !cachemodel.pp_model[j][i*Pmax+k])
return false; return OPJ_FALSE;
} }
} }
return true; return OPJ_TRUE;
} }
else{ else{
for( i=0, n=0; i<target->codeidx->SIZ.YTnum; i++) for( i=0, n=0; i<target->codeidx->SIZ.YTnum; i++)
for( j=0; j<target->codeidx->SIZ.XTnum; j++) for( j=0; j<target->codeidx->SIZ.XTnum; j++)
for( k=0; k<TPnum; k++) for( k=0; k<TPnum; k++)
if( !cachemodel.tp_model[n++]) if( !cachemodel.tp_model[n++])
return false; return OPJ_FALSE;
return true; return OPJ_TRUE;
} }
} }

View File

@ -31,17 +31,16 @@
#ifndef CACHEMODEL_MANAGER_H_ #ifndef CACHEMODEL_MANAGER_H_
# define CACHEMODEL_MANAGER_H_ # define CACHEMODEL_MANAGER_H_
#include "bool.h"
#include "target_manager.h" #include "target_manager.h"
/** Cache model parameters*/ /** Cache model parameters*/
typedef struct cachemodel_param{ typedef struct cachemodel_param{
target_param_t *target; /**< reference pointer to the target*/ target_param_t *target; /**< reference pointer to the target*/
bool jppstream; /**< return type, true: JPP-stream, false: JPT-stream*/ opj_bool jppstream; /**< return type, true: JPP-stream, false: JPT-stream*/
bool mhead_model; /**< main header model, if sent, 1, else 0*/ opj_bool mhead_model; /**< main header model, if sent, 1, else 0*/
bool *tp_model; /**< dynamic array pointer of tile part model, if sent, 1, else 0*/ opj_bool *tp_model; /**< dynamic array pointer of tile part model, if sent, 1, else 0*/
bool *th_model; /**< dynamic array pointer of tile header model*/ opj_bool *th_model; /**< dynamic array pointer of tile header model*/
bool **pp_model; /**< dynamic array pointer of precint packet model*/ opj_bool **pp_model; /**< dynamic array pointer of precint packet model*/
struct cachemodel_param *next; /**< pointer to the next cache model*/ struct cachemodel_param *next; /**< pointer to the next cache model*/
} cachemodel_param_t; } cachemodel_param_t;
@ -67,7 +66,7 @@ cachemodellist_param_t * gene_cachemodellist(void);
* @param[in] reqJPP if JPP-stream is desired true, JPT-stream false * @param[in] reqJPP if JPP-stream is desired true, JPT-stream false
* @return pointer to the generated cache model * @return pointer to the generated cache model
*/ */
cachemodel_param_t * gene_cachemodel( cachemodellist_param_t *cachemodellist, target_param_t *target, bool reqJPP); cachemodel_param_t * gene_cachemodel( cachemodellist_param_t *cachemodellist, target_param_t *target, opj_bool reqJPP);
/** /**
@ -94,7 +93,7 @@ cachemodel_param_t * search_cachemodel( target_param_t *target, cachemodellist_p
* @param[in] cachemodel cache model * @param[in] cachemodel cache model
* @return true if sent all, false otherwise * @return true if sent all, false otherwise
*/ */
bool is_allsent( cachemodel_param_t cachemodel); opj_bool is_allsent( cachemodel_param_t cachemodel);
/** /**

View File

@ -86,7 +86,7 @@ void handle_JPIPstreamMSG( SOCKET connected_socket, cachelist_param_t *cachelist
if( tid) opj_free( tid); if( tid) opj_free( tid);
if( cid) opj_free( cid); if( cid) opj_free( cid);
response_signal( connected_socket, true); response_signal( connected_socket, OPJ_TRUE);
} }
void handle_PNMreqMSG( SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist) void handle_PNMreqMSG( SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist)
@ -192,7 +192,7 @@ void handle_dstCIDreqMSG( SOCKET connected_socket, cachelist_param_t *cachelist)
cid = receive_string( connected_socket); cid = receive_string( connected_socket);
remove_cachecid( cid, cachelist); remove_cachecid( cid, cachelist);
response_signal( connected_socket, true); response_signal( connected_socket, OPJ_TRUE);
opj_free( cid); opj_free( cid);
} }

View File

@ -196,7 +196,7 @@ void send_SIZstream( SOCKET connected_socket, unsigned int width, unsigned int h
send_stream( connected_socket, responce, 9); send_stream( connected_socket, responce, 9);
} }
void response_signal( SOCKET connected_socket, bool succeed) void response_signal( SOCKET connected_socket, opj_bool succeed)
{ {
Byte_t code; Byte_t code;

View File

@ -31,9 +31,9 @@
#ifndef IMGSOCK_MANAGER_H_ #ifndef IMGSOCK_MANAGER_H_
# define IMGSOCK_MANAGER_H_ # define IMGSOCK_MANAGER_H_
#include "bool.h"
#include "byte_manager.h" #include "byte_manager.h"
#include "sock_manager.h" #include "sock_manager.h"
#include "opj_includes.h"
#define NUM_OF_MSGTYPES 9 #define NUM_OF_MSGTYPES 9
typedef enum eMSGTYPE{ JPIPSTREAM, PNMREQ, XMLREQ, TIDREQ, CIDREQ, CIDDST, SIZREQ, JP2SAVE, QUIT, MSGERROR} msgtype_t; typedef enum eMSGTYPE{ JPIPSTREAM, PNMREQ, XMLREQ, TIDREQ, CIDREQ, CIDDST, SIZREQ, JP2SAVE, QUIT, MSGERROR} msgtype_t;
@ -112,7 +112,7 @@ void send_SIZstream( SOCKET connected_socket, unsigned int width, unsigned int h
* @param [in] connected_socket file descriptor of the connected socket * @param [in] connected_socket file descriptor of the connected socket
* @param [in] succeed whether if the requested process succeeded * @param [in] succeed whether if the requested process succeeded
*/ */
void response_signal( SOCKET connected_socket, bool succeed); void response_signal( SOCKET connected_socket, opj_bool succeed);
#endif /* !IMGSOCK_MANAGER_H_ */ #endif /* !IMGSOCK_MANAGER_H_ */

View File

@ -33,7 +33,6 @@
#include <math.h> #include <math.h>
#include <string.h> #include <string.h>
#include "bool.h"
#include "opj_inttypes.h" #include "opj_inttypes.h"
#include "index_manager.h" #include "index_manager.h"
#include "box_manager.h" #include "box_manager.h"
@ -59,7 +58,7 @@
* @param[in] toplev_boxlist top level box list * @param[in] toplev_boxlist top level box list
* @return if correct (true) or wrong (false) * @return if correct (true) or wrong (false)
*/ */
bool check_JP2boxidx( boxlist_param_t *toplev_boxlist); opj_bool check_JP2boxidx( boxlist_param_t *toplev_boxlist);
/** /**
* set code index parameters (parse cidx box) * set code index parameters (parse cidx box)
@ -69,7 +68,7 @@ bool check_JP2boxidx( boxlist_param_t *toplev_boxlist);
* @param[out] codeidx pointer to index parameters * @param[out] codeidx pointer to index parameters
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_cidxdata( box_param_t *cidx_box, index_param_t *codeidx); opj_bool set_cidxdata( box_param_t *cidx_box, index_param_t *codeidx);
index_param_t * parse_jp2file( int fd) index_param_t * parse_jp2file( int fd)
{ {
@ -205,7 +204,7 @@ void delete_COD( CODmarker_param_t COD)
if( COD.YPsiz) opj_free( COD.YPsiz); if( COD.YPsiz) opj_free( COD.YPsiz);
} }
bool check_JP2boxidx( boxlist_param_t *toplev_boxlist) opj_bool check_JP2boxidx( boxlist_param_t *toplev_boxlist)
{ {
box_param_t *iptr, *fidx, *prxy; box_param_t *iptr, *fidx, *prxy;
box_param_t *cidx, *jp2c; box_param_t *cidx, *jp2c;
@ -247,7 +246,7 @@ bool check_JP2boxidx( boxlist_param_t *toplev_boxlist)
ni = fetch_DBox1byte( prxy, pos); ni = fetch_DBox1byte( prxy, pos);
if( ni != 1){ if( ni != 1){
fprintf( FCGI_stderr, "Multiple indexes not supported\n"); fprintf( FCGI_stderr, "Multiple indexes not supported\n");
return false; return OPJ_FALSE;
} }
pos += 1; pos += 1;
@ -264,7 +263,7 @@ bool check_JP2boxidx( boxlist_param_t *toplev_boxlist)
opj_free(prxy); opj_free(prxy);
return true; return OPJ_TRUE;
} }
/** /**
@ -275,7 +274,7 @@ bool check_JP2boxidx( boxlist_param_t *toplev_boxlist)
* @param[out] jp2idx pointer to index parameters * @param[out] jp2idx pointer to index parameters
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx); opj_bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx);
/** /**
* set code index parameters from mhix box for main header * set code index parameters from mhix box for main header
@ -286,7 +285,7 @@ bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx);
* @param[out] jp2idx pointer to index parameters * @param[out] jp2idx pointer to index parameters
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_mainmhixdata( box_param_t *cidx_box, codestream_param_t codestream, index_param_t *jp2idx); opj_bool set_mainmhixdata( box_param_t *cidx_box, codestream_param_t codestream, index_param_t *jp2idx);
/** /**
* set code index parameters from tpix box * set code index parameters from tpix box
@ -296,7 +295,7 @@ bool set_mainmhixdata( box_param_t *cidx_box, codestream_param_t codestream, ind
* @param[out] jp2idx pointer to index parameters * @param[out] jp2idx pointer to index parameters
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_tpixdata( box_param_t *cidx_box, index_param_t *jp2idx); opj_bool set_tpixdata( box_param_t *cidx_box, index_param_t *jp2idx);
/** /**
* set code index parameters from thix box * set code index parameters from thix box
@ -306,7 +305,7 @@ bool set_tpixdata( box_param_t *cidx_box, index_param_t *jp2idx);
* @param[out] jp2idx pointer to index parameters * @param[out] jp2idx pointer to index parameters
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx); opj_bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx);
/** /**
* set code index parameters from ppix box * set code index parameters from ppix box
@ -316,9 +315,9 @@ bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx);
* @param[out] jp2idx pointer to index parameters * @param[out] jp2idx pointer to index parameters
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_ppixdata( box_param_t *cidx_box, index_param_t *jp2idx); opj_bool set_ppixdata( box_param_t *cidx_box, index_param_t *jp2idx);
bool set_cidxdata( box_param_t *cidx_box, index_param_t *jp2idx) opj_bool set_cidxdata( box_param_t *cidx_box, index_param_t *jp2idx)
{ {
box_param_t *manf_box; box_param_t *manf_box;
manfbox_param_t *manf; manfbox_param_t *manf;
@ -334,51 +333,51 @@ bool set_cidxdata( box_param_t *cidx_box, index_param_t *jp2idx)
if( !search_boxheader( "mhix", manf)){ if( !search_boxheader( "mhix", manf)){
fprintf( FCGI_stderr, "Error: mhix box not present in manfbox\n"); fprintf( FCGI_stderr, "Error: mhix box not present in manfbox\n");
opj_free(jp2idx); opj_free(jp2idx);
return false; return OPJ_FALSE;
} }
set_mainmhixdata( cidx_box, codestream, jp2idx); set_mainmhixdata( cidx_box, codestream, jp2idx);
if( !search_boxheader( "tpix", manf)){ if( !search_boxheader( "tpix", manf)){
fprintf( FCGI_stderr, "Error: tpix box not present in manfbox\n"); fprintf( FCGI_stderr, "Error: tpix box not present in manfbox\n");
opj_free(jp2idx); opj_free(jp2idx);
return false; return OPJ_FALSE;
} }
set_tpixdata( cidx_box, jp2idx); set_tpixdata( cidx_box, jp2idx);
if( !search_boxheader( "thix", manf)){ if( !search_boxheader( "thix", manf)){
fprintf( FCGI_stderr, "Error: thix box not present in manfbox\n"); fprintf( FCGI_stderr, "Error: thix box not present in manfbox\n");
opj_free(jp2idx); opj_free(jp2idx);
return false; return OPJ_FALSE;
} }
set_thixdata( cidx_box, jp2idx); set_thixdata( cidx_box, jp2idx);
if( !search_boxheader( "ppix", manf)){ if( !search_boxheader( "ppix", manf)){
fprintf( FCGI_stderr, "Error: ppix box not present in manfbox\n"); fprintf( FCGI_stderr, "Error: ppix box not present in manfbox\n");
opj_free(jp2idx); opj_free(jp2idx);
return false; return OPJ_FALSE;
} }
set_ppixdata( cidx_box, jp2idx); set_ppixdata( cidx_box, jp2idx);
delete_manfbox( &manf); delete_manfbox( &manf);
opj_free( manf_box); opj_free( manf_box);
return true; return OPJ_TRUE;
} }
bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx) opj_bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx)
{ {
box_param_t *box; /**< cptr box*/ box_param_t *box; /**< cptr box*/
Byte2_t dr, cont; Byte2_t dr, cont;
if( !(box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "cptr"))) if( !(box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "cptr")))
return false; return OPJ_FALSE;
/* DR: Data Reference. */ /* DR: Data Reference. */
/* If 0, the codestream or its Fragment Table box exists in the current file*/ /* If 0, the codestream or its Fragment Table box exists in the current file*/
if(( dr = fetch_DBox2bytebigendian( box, 0))){ if(( dr = fetch_DBox2bytebigendian( box, 0))){
fprintf( FCGI_stderr, "Error: Codestream not present in current file\n"); fprintf( FCGI_stderr, "Error: Codestream not present in current file\n");
opj_free( box); opj_free( box);
return false; return OPJ_FALSE;
} }
/* CONT: Container Type*/ /* CONT: Container Type*/
@ -387,7 +386,7 @@ bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx)
if(( cont = fetch_DBox2bytebigendian( box, 2))){ if(( cont = fetch_DBox2bytebigendian( box, 2))){
fprintf( FCGI_stderr, "Error: Can't cope with fragmented codestreams yet\n"); fprintf( FCGI_stderr, "Error: Can't cope with fragmented codestreams yet\n");
opj_free( box); opj_free( box);
return false; return OPJ_FALSE;
} }
jp2idx->offset = (OPJ_OFF_T)fetch_DBox8bytebigendian( box, 4); jp2idx->offset = (OPJ_OFF_T)fetch_DBox8bytebigendian( box, 4);
@ -395,7 +394,7 @@ bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx)
opj_free( box); opj_free( box);
return true; return OPJ_TRUE;
} }
@ -409,7 +408,7 @@ bool set_cptrdata( box_param_t *cidx_box, index_param_t *jp2idx)
* @param[out] SIZ SIZ marker parameters pointer * @param[out] SIZ SIZ marker parameters pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_SIZmkrdata( markeridx_param_t *sizmkidx, codestream_param_t codestream, SIZmarker_param_t *SIZ); opj_bool set_SIZmkrdata( markeridx_param_t *sizmkidx, codestream_param_t codestream, SIZmarker_param_t *SIZ);
/** /**
* set code index parameters from COD marker in codestream * set code index parameters from COD marker in codestream
@ -421,9 +420,9 @@ bool set_SIZmkrdata( markeridx_param_t *sizmkidx, codestream_param_t codestream,
* @param[out] COD COD marker parameters pointer * @param[out] COD COD marker parameters pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool set_CODmkrdata( markeridx_param_t *codmkidx, codestream_param_t codestream, CODmarker_param_t *COD); opj_bool set_CODmkrdata( markeridx_param_t *codmkidx, codestream_param_t codestream, CODmarker_param_t *COD);
bool set_mainmhixdata( box_param_t *cidx_box, codestream_param_t codestream, index_param_t *jp2idx) opj_bool set_mainmhixdata( box_param_t *cidx_box, codestream_param_t codestream, index_param_t *jp2idx)
{ {
box_param_t *mhix_box; box_param_t *mhix_box;
mhixbox_param_t *mhix; mhixbox_param_t *mhix;
@ -431,7 +430,7 @@ bool set_mainmhixdata( box_param_t *cidx_box, codestream_param_t codestream, ind
markeridx_param_t *codmkidx; markeridx_param_t *codmkidx;
if( !(mhix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "mhix"))) if( !(mhix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "mhix")))
return false; return OPJ_FALSE;
jp2idx->mhead_length = fetch_DBox8bytebigendian( mhix_box, 0); jp2idx->mhead_length = fetch_DBox8bytebigendian( mhix_box, 0);
@ -446,22 +445,22 @@ bool set_mainmhixdata( box_param_t *cidx_box, codestream_param_t codestream, ind
delete_mhixbox( &mhix); delete_mhixbox( &mhix);
return true; return OPJ_TRUE;
} }
bool set_tpixdata( box_param_t *cidx_box, index_param_t *jp2idx) opj_bool set_tpixdata( box_param_t *cidx_box, index_param_t *jp2idx)
{ {
box_param_t *tpix_box; /**< tpix box*/ box_param_t *tpix_box; /**< tpix box*/
box_param_t *faix_box; /**< faix box*/ box_param_t *faix_box; /**< faix box*/
if( !(tpix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "tpix"))){ if( !(tpix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "tpix"))){
fprintf( FCGI_stderr, "Error: tpix box not present in cidx box\n"); fprintf( FCGI_stderr, "Error: tpix box not present in cidx box\n");
return false; return OPJ_FALSE;
} }
if( !(faix_box = gene_boxbyType( tpix_box->fd, get_DBoxoff( tpix_box), get_DBoxlen( tpix_box), "faix"))){ if( !(faix_box = gene_boxbyType( tpix_box->fd, get_DBoxoff( tpix_box), get_DBoxlen( tpix_box), "faix"))){
fprintf( FCGI_stderr, "Error: faix box not present in tpix box\n"); fprintf( FCGI_stderr, "Error: faix box not present in tpix box\n");
return false; return OPJ_FALSE;
} }
jp2idx->tilepart = gene_faixbox( faix_box); jp2idx->tilepart = gene_faixbox( faix_box);
@ -469,10 +468,10 @@ bool set_tpixdata( box_param_t *cidx_box, index_param_t *jp2idx)
opj_free( tpix_box); opj_free( tpix_box);
opj_free( faix_box); opj_free( faix_box);
return true; return OPJ_TRUE;
} }
bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx) opj_bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx)
{ {
box_param_t *thix_box, *manf_box, *mhix_box; box_param_t *thix_box, *manf_box, *mhix_box;
manfbox_param_t *manf; manfbox_param_t *manf;
@ -484,13 +483,13 @@ bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx)
if( !(thix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "thix"))){ if( !(thix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "thix"))){
fprintf( FCGI_stderr, "Error: thix box not present in cidx box\n"); fprintf( FCGI_stderr, "Error: thix box not present in cidx box\n");
return false; return OPJ_FALSE;
} }
if( !(manf_box = gene_boxbyType( thix_box->fd, get_DBoxoff( thix_box), get_DBoxlen( thix_box), "manf"))){ if( !(manf_box = gene_boxbyType( thix_box->fd, get_DBoxoff( thix_box), get_DBoxlen( thix_box), "manf"))){
fprintf( FCGI_stderr, "Error: manf box not present in thix box\n"); fprintf( FCGI_stderr, "Error: manf box not present in thix box\n");
opj_free( thix_box); opj_free( thix_box);
return false; return OPJ_FALSE;
} }
manf = gene_manfbox( manf_box); manf = gene_manfbox( manf_box);
@ -506,7 +505,7 @@ bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx)
delete_manfbox( &manf); delete_manfbox( &manf);
opj_free( manf_box); opj_free( manf_box);
opj_free( thix_box); opj_free( thix_box);
return false; return OPJ_FALSE;
} }
mhix = gene_mhixbox( mhix_box); mhix = gene_mhixbox( mhix_box);
@ -521,10 +520,10 @@ bool set_thixdata( box_param_t *cidx_box, index_param_t *jp2idx)
opj_free( manf_box); opj_free( manf_box);
opj_free( thix_box); opj_free( thix_box);
return true; return OPJ_TRUE;
} }
bool set_ppixdata( box_param_t *cidx_box, index_param_t *jp2idx) opj_bool set_ppixdata( box_param_t *cidx_box, index_param_t *jp2idx)
{ {
box_param_t *ppix_box, *faix_box, *manf_box; box_param_t *ppix_box, *faix_box, *manf_box;
manfbox_param_t *manf; /**< manf*/ manfbox_param_t *manf; /**< manf*/
@ -535,14 +534,14 @@ bool set_ppixdata( box_param_t *cidx_box, index_param_t *jp2idx)
if( !(ppix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "ppix"))){ if( !(ppix_box = gene_boxbyType( cidx_box->fd, get_DBoxoff( cidx_box), get_DBoxlen( cidx_box), "ppix"))){
fprintf( FCGI_stderr, "Error: ppix box not present in cidx box\n"); fprintf( FCGI_stderr, "Error: ppix box not present in cidx box\n");
return false; return OPJ_FALSE;
} }
inbox_offset = get_DBoxoff( ppix_box); inbox_offset = get_DBoxoff( ppix_box);
if( !(manf_box = gene_boxbyType( ppix_box->fd, inbox_offset, get_DBoxlen( ppix_box), "manf"))){ if( !(manf_box = gene_boxbyType( ppix_box->fd, inbox_offset, get_DBoxlen( ppix_box), "manf"))){
fprintf( FCGI_stderr, "Error: manf box not present in ppix box\n"); fprintf( FCGI_stderr, "Error: manf box not present in ppix box\n");
opj_free( ppix_box); opj_free( ppix_box);
return false; return OPJ_FALSE;
} }
opj_free( ppix_box); opj_free( ppix_box);
@ -558,12 +557,12 @@ bool set_ppixdata( box_param_t *cidx_box, index_param_t *jp2idx)
for( comp_idx=0; bh!=NULL; bh=bh->next, comp_idx++){ for( comp_idx=0; bh!=NULL; bh=bh->next, comp_idx++){
if( jp2idx->SIZ.Csiz <= comp_idx ){ if( jp2idx->SIZ.Csiz <= comp_idx ){
fprintf( FCGI_stderr, "Error: num of faix boxes is not identical to num of components in ppix box\n"); fprintf( FCGI_stderr, "Error: num of faix boxes is not identical to num of components in ppix box\n");
return false; return OPJ_FALSE;
} }
if( !(faix_box = gene_boxbyOffset( cidx_box->fd, inbox_offset))){ if( !(faix_box = gene_boxbyOffset( cidx_box->fd, inbox_offset))){
fprintf( FCGI_stderr, "Error: faix box not present in ppix box\n"); fprintf( FCGI_stderr, "Error: faix box not present in ppix box\n");
return false; return OPJ_FALSE;
} }
faix = gene_faixbox( faix_box); faix = gene_faixbox( faix_box);
@ -575,10 +574,10 @@ bool set_ppixdata( box_param_t *cidx_box, index_param_t *jp2idx)
delete_manfbox( &manf); delete_manfbox( &manf);
return true; return OPJ_TRUE;
} }
bool set_SIZmkrdata( markeridx_param_t *sizmkidx, codestream_param_t codestream, SIZmarker_param_t *SIZ) opj_bool set_SIZmkrdata( markeridx_param_t *sizmkidx, codestream_param_t codestream, SIZmarker_param_t *SIZ)
{ {
marker_param_t sizmkr; marker_param_t sizmkr;
int i; int i;
@ -589,7 +588,7 @@ bool set_SIZmkrdata( markeridx_param_t *sizmkidx, codestream_param_t codestream,
if( sizmkidx->length != SIZ->Lsiz){ if( sizmkidx->length != SIZ->Lsiz){
fprintf( FCGI_stderr, "Error: marker %#x index is not correct\n", sizmkidx->code); fprintf( FCGI_stderr, "Error: marker %#x index is not correct\n", sizmkidx->code);
return false; return OPJ_FALSE;
} }
SIZ->Rsiz = fetch_marker2bytebigendian( sizmkr, 2); SIZ->Rsiz = fetch_marker2bytebigendian( sizmkr, 2);
@ -611,10 +610,10 @@ bool set_SIZmkrdata( markeridx_param_t *sizmkidx, codestream_param_t codestream,
SIZ->XRsiz[i] = fetch_marker1byte( sizmkr, 39+i*3); SIZ->XRsiz[i] = fetch_marker1byte( sizmkr, 39+i*3);
SIZ->YRsiz[i] = fetch_marker1byte( sizmkr, 40+i*3); SIZ->YRsiz[i] = fetch_marker1byte( sizmkr, 40+i*3);
} }
return true; return OPJ_TRUE;
} }
bool set_CODmkrdata( markeridx_param_t *codmkidx, codestream_param_t codestream, CODmarker_param_t *COD) opj_bool set_CODmkrdata( markeridx_param_t *codmkidx, codestream_param_t codestream, CODmarker_param_t *COD)
{ {
marker_param_t codmkr; marker_param_t codmkr;
int i; int i;
@ -625,7 +624,7 @@ bool set_CODmkrdata( markeridx_param_t *codmkidx, codestream_param_t codestream,
if( codmkidx->length != COD->Lcod){ if( codmkidx->length != COD->Lcod){
fprintf( FCGI_stderr, "Error: marker %#x index is not correct\n", codmkidx->code); fprintf( FCGI_stderr, "Error: marker %#x index is not correct\n", codmkidx->code);
return false; return OPJ_FALSE;
} }
COD->Scod = fetch_marker1byte( codmkr, 2); COD->Scod = fetch_marker1byte( codmkr, 2);
@ -649,7 +648,7 @@ bool set_CODmkrdata( markeridx_param_t *codmkidx, codestream_param_t codestream,
COD->XPsiz[0] = COD->YPsiz[0] = pow(2,15); COD->XPsiz[0] = COD->YPsiz[0] = pow(2,15);
} }
return true; return OPJ_TRUE;
} }
@ -723,10 +722,10 @@ Byte4_t min( Byte4_t n1, Byte4_t n2)
return n2; return n2;
} }
bool isJPTfeasible( index_param_t index) opj_bool isJPTfeasible( index_param_t index)
{ {
if( 1 < get_nmax( index.tilepart)) if( 1 < get_nmax( index.tilepart))
return true; return OPJ_TRUE;
else else
return false; return OPJ_FALSE;
} }

View File

@ -38,7 +38,6 @@
#include "faixbox_manager.h" #include "faixbox_manager.h"
#include "metadata_manager.h" #include "metadata_manager.h"
#include "mhixbox_manager.h" #include "mhixbox_manager.h"
#include "bool.h"
/** progression order */ /** progression order */
#if 0 #if 0
@ -187,6 +186,6 @@ Byte4_t get_tile_YSiz( SIZmarker_param_t SIZ, Byte4_t tile_id, int level);
* @param[in] index index parameters * @param[in] index index parameters
* @return true if JPT-stream is feasible * @return true if JPT-stream is feasible
*/ */
bool isJPTfeasible( index_param_t index); opj_bool isJPTfeasible( index_param_t index);
#endif /* !INDEX_MANAGER_H_ */ #endif /* !INDEX_MANAGER_H_ */

View File

@ -49,17 +49,17 @@
SIZmarker_param_t get_SIZmkrdata_from_j2kstream( Byte_t *SIZstream); SIZmarker_param_t get_SIZmkrdata_from_j2kstream( Byte_t *SIZstream);
CODmarker_param_t get_CODmkrdata_from_j2kstream( Byte_t *CODstream); CODmarker_param_t get_CODmkrdata_from_j2kstream( Byte_t *CODstream);
bool get_mainheader_from_j2kstream( Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD) opj_bool get_mainheader_from_j2kstream( Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD)
{ {
if( *j2kstream++ != 0xff || *j2kstream++ != 0x4f){ if( *j2kstream++ != 0xff || *j2kstream++ != 0x4f){
fprintf( FCGI_stderr, "Error, j2kstream is not starting with SOC marker\n"); fprintf( FCGI_stderr, "Error, j2kstream is not starting with SOC marker\n");
return false; return OPJ_FALSE;
} }
if( SIZ){ if( SIZ){
*SIZ = get_SIZmkrdata_from_j2kstream( j2kstream); *SIZ = get_SIZmkrdata_from_j2kstream( j2kstream);
if( SIZ->Lsiz == 0) if( SIZ->Lsiz == 0)
return false; return OPJ_FALSE;
j2kstream += (SIZ->Lsiz+2); j2kstream += (SIZ->Lsiz+2);
} }
@ -70,9 +70,9 @@ bool get_mainheader_from_j2kstream( Byte_t *j2kstream, SIZmarker_param_t *SIZ, C
*COD = get_CODmkrdata_from_j2kstream( j2kstream); *COD = get_CODmkrdata_from_j2kstream( j2kstream);
if( COD->Lcod == 0) if( COD->Lcod == 0)
return false; return OPJ_FALSE;
} }
return true; return OPJ_TRUE;
} }
SIZmarker_param_t get_SIZmkrdata_from_j2kstream( Byte_t *SIZstream) SIZmarker_param_t get_SIZmkrdata_from_j2kstream( Byte_t *SIZstream)
@ -145,38 +145,38 @@ CODmarker_param_t get_CODmkrdata_from_j2kstream( Byte_t *CODstream)
} }
bool modify_SIZmkrstream( SIZmarker_param_t SIZ, int difOfdecomplev, Byte_t *SIZstream); opj_bool modify_SIZmkrstream( SIZmarker_param_t SIZ, int difOfdecomplev, Byte_t *SIZstream);
Byte2_t modify_CODmkrstream( CODmarker_param_t COD, int numOfdecomp, Byte_t *CODstream); Byte2_t modify_CODmkrstream( CODmarker_param_t COD, int numOfdecomp, Byte_t *CODstream);
bool modify_mainheader( Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen) opj_bool modify_mainheader( Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen)
{ {
Byte2_t newLcod; Byte2_t newLcod;
if( *j2kstream++ != 0xff || *j2kstream++ != 0x4f){ if( *j2kstream++ != 0xff || *j2kstream++ != 0x4f){
fprintf( FCGI_stderr, "Error, j2kstream is not starting with SOC marker\n"); fprintf( FCGI_stderr, "Error, j2kstream is not starting with SOC marker\n");
return false; return OPJ_FALSE;
} }
if(!modify_SIZmkrstream( SIZ, COD.numOfdecomp-numOfdecomp, j2kstream)) if(!modify_SIZmkrstream( SIZ, COD.numOfdecomp-numOfdecomp, j2kstream))
return false; return OPJ_FALSE;
j2kstream += SIZ.Lsiz+2; j2kstream += SIZ.Lsiz+2;
if( !(newLcod = modify_CODmkrstream( COD, numOfdecomp, j2kstream))) if( !(newLcod = modify_CODmkrstream( COD, numOfdecomp, j2kstream)))
return false; return OPJ_FALSE;
memmove( j2kstream+2+newLcod, j2kstream+2+COD.Lcod, *j2klen - (Byte8_t)(SIZ.Lsiz+COD.Lcod+6)); memmove( j2kstream+2+newLcod, j2kstream+2+COD.Lcod, *j2klen - (Byte8_t)(SIZ.Lsiz+COD.Lcod+6));
*j2klen -= (Byte8_t)( COD.Lcod - newLcod); *j2klen -= (Byte8_t)( COD.Lcod - newLcod);
return true; return OPJ_TRUE;
} }
bool modify_SIZmkrstream( SIZmarker_param_t SIZ, int difOfdecomplev, Byte_t *SIZstream) opj_bool modify_SIZmkrstream( SIZmarker_param_t SIZ, int difOfdecomplev, Byte_t *SIZstream)
{ {
int i; int i;
if( *SIZstream++ != 0xff || *SIZstream++ != 0x51){ if( *SIZstream++ != 0xff || *SIZstream++ != 0x51){
fprintf( FCGI_stderr, "Error, SIZ marker not found in the reconstructed j2kstream\n"); fprintf( FCGI_stderr, "Error, SIZ marker not found in the reconstructed j2kstream\n");
return false; return OPJ_FALSE;
} }
for( i=0; i<difOfdecomplev; i++){ for( i=0; i<difOfdecomplev; i++){
@ -201,7 +201,7 @@ bool modify_SIZmkrstream( SIZmarker_param_t SIZ, int difOfdecomplev, Byte_t *SIZ
modify_4Bytecode( SIZ.XTOsiz, SIZstream+24); modify_4Bytecode( SIZ.XTOsiz, SIZstream+24);
modify_4Bytecode( SIZ.YTOsiz, SIZstream+28); modify_4Bytecode( SIZ.YTOsiz, SIZstream+28);
return true; return OPJ_TRUE;
} }
Byte2_t modify_CODmkrstream( CODmarker_param_t COD, int numOfdecomp, Byte_t *CODstream) Byte2_t modify_CODmkrstream( CODmarker_param_t COD, int numOfdecomp, Byte_t *CODstream)
@ -233,9 +233,9 @@ Byte2_t modify_CODmkrstream( CODmarker_param_t COD, int numOfdecomp, Byte_t *COD
return newLcod; return newLcod;
} }
bool modify_COCmkrstream( int numOfdecomp, Byte_t *COCstream, Byte2_t Csiz, Byte2_t *oldLcoc, Byte2_t *newLcoc); opj_bool modify_COCmkrstream( int numOfdecomp, Byte_t *COCstream, Byte2_t Csiz, Byte2_t *oldLcoc, Byte2_t *newLcoc);
bool modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen) opj_bool modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen)
{ {
Byte4_t Psot; /* tile part length ref A.4.2 Start of tile-part SOT */ Byte4_t Psot; /* tile part length ref A.4.2 Start of tile-part SOT */
Byte_t *thstream, *SOTstream, *Psot_stream; Byte_t *thstream, *SOTstream, *Psot_stream;
@ -245,7 +245,7 @@ bool modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, B
if( *SOTstream++ != 0xff || *SOTstream++ != 0x90){ if( *SOTstream++ != 0xff || *SOTstream++ != 0x90){
fprintf( FCGI_stderr, "Error, thstream is not starting with SOT marker\n"); fprintf( FCGI_stderr, "Error, thstream is not starting with SOT marker\n");
return false; return OPJ_FALSE;
} }
SOTstream += 4; /* skip Lsot & Isot */ SOTstream += 4; /* skip Lsot & Isot */
@ -257,7 +257,7 @@ bool modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, B
while( !( *thstream == 0xff && *(thstream+1) == 0x93)){ /* search SOD */ while( !( *thstream == 0xff && *(thstream+1) == 0x93)){ /* search SOD */
if( numOfdecomp != -1 && *thstream == 0xff && *(thstream+1) == 0x53){ /* COC */ if( numOfdecomp != -1 && *thstream == 0xff && *(thstream+1) == 0x53){ /* COC */
if( !modify_COCmkrstream( numOfdecomp, thstream, Csiz, &oldLcoc, &newLcoc)) if( !modify_COCmkrstream( numOfdecomp, thstream, Csiz, &oldLcoc, &newLcoc))
return false; return OPJ_FALSE;
memmove( thstream+newLcoc+2, thstream+oldLcoc+2, *j2klen - (Byte8_t)(thstream-j2kstream+oldLcoc+2)); memmove( thstream+newLcoc+2, thstream+oldLcoc+2, *j2klen - (Byte8_t)(thstream-j2kstream+oldLcoc+2));
*j2klen -= (Byte8_t)( oldLcoc - newLcoc); *j2klen -= (Byte8_t)( oldLcoc - newLcoc);
@ -270,15 +270,15 @@ bool modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, B
Psot = (Byte4_t)((*j2klen)-SOToffset); Psot = (Byte4_t)((*j2klen)-SOToffset);
modify_4Bytecode( Psot, Psot_stream); modify_4Bytecode( Psot, Psot_stream);
} }
return true; return OPJ_TRUE;
} }
bool modify_COCmkrstream( int numOfdecomp, Byte_t *COCstream, Byte2_t Csiz, Byte2_t *oldLcoc, Byte2_t *newLcoc) opj_bool modify_COCmkrstream( int numOfdecomp, Byte_t *COCstream, Byte2_t Csiz, Byte2_t *oldLcoc, Byte2_t *newLcoc)
{ {
if( numOfdecomp < 0 || numOfdecomp > 255 ) return false; if( numOfdecomp < 0 || numOfdecomp > 255 ) return OPJ_FALSE;
if( *COCstream++ != 0xff || *COCstream++ != 0x53){ if( *COCstream++ != 0xff || *COCstream++ != 0x53){
fprintf( FCGI_stderr, "Error, COC marker not found in the reconstructed j2kstream\n"); fprintf( FCGI_stderr, "Error, COC marker not found in the reconstructed j2kstream\n");
return false; return OPJ_FALSE;
} }
*oldLcoc = big2( COCstream); *oldLcoc = big2( COCstream);
@ -291,5 +291,5 @@ bool modify_COCmkrstream( int numOfdecomp, Byte_t *COCstream, Byte2_t Csiz, Byte
*COCstream = (Byte_t)numOfdecomp; *COCstream = (Byte_t)numOfdecomp;
return true; return OPJ_TRUE;
} }

View File

@ -32,7 +32,6 @@
#ifndef J2KHEADER_MANAGER_H_ #ifndef J2KHEADER_MANAGER_H_
# define J2KHEADER_MANAGER_H_ # define J2KHEADER_MANAGER_H_
#include "bool.h"
#include "byte_manager.h" #include "byte_manager.h"
#include "index_manager.h" #include "index_manager.h"
@ -44,7 +43,7 @@
* @param[out] COD COD marker pointer * @param[out] COD COD marker pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool get_mainheader_from_j2kstream( Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD); opj_bool get_mainheader_from_j2kstream( Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD);
/** /**
* modify main header in j2k codestream to fit with the new number of decompositions * modify main header in j2k codestream to fit with the new number of decompositions
@ -56,7 +55,7 @@ bool get_mainheader_from_j2kstream( Byte_t *j2kstream, SIZmarker_param_t *SIZ, C
* @param[out] j2klen pointer to the length of j2k code stream * @param[out] j2klen pointer to the length of j2k code stream
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool modify_mainheader( Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen); opj_bool modify_mainheader( Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen);
/** /**
* modify tile header in j2k codestream to fit with the tile part length, and new number of decompositions for multi-componet images * modify tile header in j2k codestream to fit with the tile part length, and new number of decompositions for multi-componet images
@ -68,6 +67,6 @@ bool modify_mainheader( Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SI
* @param[out] j2klen pointer to the length of j2k code stream * @param[out] j2klen pointer to the length of j2k code stream
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen); opj_bool modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen);
#endif /* !J2KHEADER_MANAGER_H_ */ #endif /* !J2KHEADER_MANAGER_H_ */

View File

@ -127,7 +127,7 @@ Byte_t * recons_jp2( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn
return jp2stream; return jp2stream;
} }
bool isJPPstream( Byte8_t csn, msgqueue_param_t *msgqueue); opj_bool isJPPstream( Byte8_t csn, msgqueue_param_t *msgqueue);
Byte_t * recons_codestream_from_JPTstream( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen); Byte_t * recons_codestream_from_JPTstream( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen);
Byte_t * recons_codestream_from_JPPstream( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen); Byte_t * recons_codestream_from_JPPstream( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen);
@ -142,7 +142,7 @@ Byte_t * recons_codestream( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte
return recons_codestream_from_JPTstream( msgqueue, jpipstream, csn, fw, fh, codelen); return recons_codestream_from_JPTstream( msgqueue, jpipstream, csn, fw, fh, codelen);
} }
bool isJPPstream( Byte8_t csn, msgqueue_param_t *msgqueue) opj_bool isJPPstream( Byte8_t csn, msgqueue_param_t *msgqueue)
{ {
message_param_t *msg; message_param_t *msg;
@ -150,28 +150,28 @@ bool isJPPstream( Byte8_t csn, msgqueue_param_t *msgqueue)
while( msg){ while( msg){
if( msg->csn == csn){ if( msg->csn == csn){
if( msg->class_id <= 2) if( msg->class_id <= 2)
return true; return OPJ_TRUE;
else else
if( msg->class_id == 4 || msg->class_id == 5) if( msg->class_id == 4 || msg->class_id == 5)
return false; return OPJ_FALSE;
} }
msg = msg->next; msg = msg->next;
} }
fprintf( FCGI_stderr, "Error, message of csn %" PRId64 " not found\n", csn); fprintf( FCGI_stderr, "Error, message of csn %" PRId64 " not found\n", csn);
return false; return OPJ_FALSE;
} }
Byte_t * add_mainhead_msgstream( msgqueue_param_t *msgqueue, Byte_t *origstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t *j2klen); Byte_t * add_mainhead_msgstream( msgqueue_param_t *msgqueue, Byte_t *origstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t *j2klen);
Byte8_t get_last_tileID( msgqueue_param_t *msgqueue, Byte8_t csn, bool isJPPstream); Byte8_t get_last_tileID( msgqueue_param_t *msgqueue, Byte8_t csn, opj_bool isJPPstream);
Byte_t * add_emptytilestream( const Byte8_t tileID, Byte_t *j2kstream, Byte8_t *j2klen); Byte_t * add_emptytilestream( const Byte8_t tileID, Byte_t *j2kstream, Byte8_t *j2klen);
Byte_t * recons_codestream_from_JPTstream( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen) Byte_t * recons_codestream_from_JPTstream( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen)
{ {
Byte_t *j2kstream = NULL; Byte_t *j2kstream = NULL;
Byte8_t last_tileID, tileID; Byte8_t last_tileID, tileID;
bool found; opj_bool found;
Byte8_t binOffset; Byte8_t binOffset;
message_param_t *ptr; message_param_t *ptr;
SIZmarker_param_t SIZ; SIZmarker_param_t SIZ;
@ -188,16 +188,16 @@ Byte_t * recons_codestream_from_JPTstream( msgqueue_param_t *msgqueue, Byte_t *j
else else
mindeclev = (OPJ_SIZE_T)comp_decomplev( fw, fh, (int)SIZ.Xsiz, (int)SIZ.Ysiz); mindeclev = (OPJ_SIZE_T)comp_decomplev( fw, fh, (int)SIZ.Xsiz, (int)SIZ.Ysiz);
last_tileID = get_last_tileID( msgqueue, csn, false); last_tileID = get_last_tileID( msgqueue, csn, OPJ_FALSE);
for( tileID=0; tileID <= last_tileID; tileID++){ for( tileID=0; tileID <= last_tileID; tileID++){
found = false; found = OPJ_FALSE;
binOffset = 0; binOffset = 0;
ptr = msgqueue->first; ptr = msgqueue->first;
while(( ptr = search_message( TILE_MSG, tileID, csn, ptr))!=NULL){ while(( ptr = search_message( TILE_MSG, tileID, csn, ptr))!=NULL){
if( ptr->bin_offset == binOffset){ if( ptr->bin_offset == binOffset){
found = true; found = OPJ_TRUE;
j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen); j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen);
binOffset += ptr->length; binOffset += ptr->length;
} }
@ -207,7 +207,7 @@ Byte_t * recons_codestream_from_JPTstream( msgqueue_param_t *msgqueue, Byte_t *j
while(( ptr = search_message( EXT_TILE_MSG, tileID, csn, ptr))!=NULL){ while(( ptr = search_message( EXT_TILE_MSG, tileID, csn, ptr))!=NULL){
if( ptr->aux > mindeclev){ /* FIXME: pointer comparison ? */ if( ptr->aux > mindeclev){ /* FIXME: pointer comparison ? */
if( ptr->bin_offset == binOffset){ if( ptr->bin_offset == binOffset){
found = true; found = OPJ_TRUE;
j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen); j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen);
binOffset += ptr->length; binOffset += ptr->length;
} }
@ -234,7 +234,7 @@ Byte_t * recons_codestream_from_JPPstream( msgqueue_param_t *msgqueue, Byte_t *j
Byte_t *j2kstream = NULL; Byte_t *j2kstream = NULL;
Byte8_t tileID, last_tileID; Byte8_t tileID, last_tileID;
Byte8_t SOToffset; Byte8_t SOToffset;
bool foundTH; opj_bool foundTH;
Byte8_t binOffset; Byte8_t binOffset;
message_param_t *ptr; message_param_t *ptr;
SIZmarker_param_t SIZ; SIZmarker_param_t SIZ;
@ -253,19 +253,19 @@ Byte_t * recons_codestream_from_JPPstream( msgqueue_param_t *msgqueue, Byte_t *j
mindeclev = comp_decomplev( fw, fh, (int)SIZ.Xsiz, (int)SIZ.Ysiz); mindeclev = comp_decomplev( fw, fh, (int)SIZ.Xsiz, (int)SIZ.Ysiz);
max_reslev = -1; max_reslev = -1;
last_tileID = get_last_tileID( msgqueue, csn, true); last_tileID = get_last_tileID( msgqueue, csn, OPJ_TRUE);
for( tileID=0; tileID <= last_tileID; tileID++){ for( tileID=0; tileID <= last_tileID; tileID++){
ptr = msgqueue->first; ptr = msgqueue->first;
binOffset = 0; binOffset = 0;
foundTH = false; foundTH = OPJ_FALSE;
SOToffset = *j2klen; SOToffset = *j2klen;
while(( ptr = search_message( TILE_HEADER_MSG, tileID, csn, ptr))!=NULL){ while(( ptr = search_message( TILE_HEADER_MSG, tileID, csn, ptr))!=NULL){
if( ptr->bin_offset == binOffset){ if( ptr->bin_offset == binOffset){
j2kstream = add_SOTmkr( j2kstream, j2klen); j2kstream = add_SOTmkr( j2kstream, j2klen);
j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen); j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen);
foundTH = true; foundTH = OPJ_TRUE;
binOffset += ptr->length; binOffset += ptr->length;
} }
ptr = ptr->next; ptr = ptr->next;
@ -526,7 +526,7 @@ Byte_t * recons_packet( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *
{ {
Byte8_t seqID, precID, binOffset; Byte8_t seqID, precID, binOffset;
message_param_t *ptr; message_param_t *ptr;
bool foundPrec; opj_bool foundPrec;
int l; int l;
seqID = comp_seqID( tileID, SIZ, COD, res_idx, prct_idx); seqID = comp_seqID( tileID, SIZ, COD, res_idx, prct_idx);
@ -534,14 +534,14 @@ Byte_t * recons_packet( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *
ptr = msgqueue->first; ptr = msgqueue->first;
binOffset = 0; binOffset = 0;
foundPrec = false; foundPrec = OPJ_FALSE;
l = 0; l = 0;
while(( ptr = search_message( PRECINCT_MSG, precID, csn, ptr))!=NULL){ while(( ptr = search_message( PRECINCT_MSG, precID, csn, ptr))!=NULL){
if( ptr->bin_offset == binOffset){ if( ptr->bin_offset == binOffset){
if( lay_idx == l){ if( lay_idx == l){
j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen); j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen);
foundPrec = true; foundPrec = OPJ_TRUE;
if( *max_reslev < res_idx) if( *max_reslev < res_idx)
*max_reslev = res_idx; *max_reslev = res_idx;
@ -565,19 +565,19 @@ Byte_t * recons_precinct( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t
{ {
Byte8_t precID, binOffset; Byte8_t precID, binOffset;
message_param_t *ptr; message_param_t *ptr;
bool foundPrec; opj_bool foundPrec;
precID = comp_precinct_id( (int)tileID, comp_idx, (int)seqID, (int)SIZ.Csiz, (int)SIZ.XTnum*(int)SIZ.YTnum); precID = comp_precinct_id( (int)tileID, comp_idx, (int)seqID, (int)SIZ.Csiz, (int)SIZ.XTnum*(int)SIZ.YTnum);
ptr = msgqueue->first; ptr = msgqueue->first;
binOffset = 0; binOffset = 0;
foundPrec = false; foundPrec = OPJ_FALSE;
while(( ptr = search_message( PRECINCT_MSG, precID, csn, ptr))!=NULL){ while(( ptr = search_message( PRECINCT_MSG, precID, csn, ptr))!=NULL){
if( ptr->bin_offset == binOffset){ if( ptr->bin_offset == binOffset){
j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen); j2kstream = add_msgstream( ptr, jpipstream, j2kstream, j2klen);
foundPrec = true; foundPrec = OPJ_TRUE;
binOffset += ptr->length; binOffset += ptr->length;
if( *max_reslev < res_idx) if( *max_reslev < res_idx)
*max_reslev = res_idx; *max_reslev = res_idx;
@ -608,7 +608,7 @@ Byte8_t comp_seqID( Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD
return seqID; return seqID;
} }
Byte8_t get_last_tileID( msgqueue_param_t *msgqueue, Byte8_t csn, bool isJPPstream) Byte8_t get_last_tileID( msgqueue_param_t *msgqueue, Byte8_t csn, opj_bool isJPPstream)
{ {
Byte8_t last_tileID = 0; Byte8_t last_tileID = 0;
message_param_t *msg; message_param_t *msg;

View File

@ -46,37 +46,37 @@
#endif /*SERVER*/ #endif /*SERVER*/
bool identify_target( query_param_t query_param, targetlist_param_t *targetlist, target_param_t **target) opj_bool identify_target( query_param_t query_param, targetlist_param_t *targetlist, target_param_t **target)
{ {
if( query_param.tid){ if( query_param.tid){
if( strcmp( query_param.tid, "0") != 0 ){ if( strcmp( query_param.tid, "0") != 0 ){
if( query_param.cid[0] != '\0'){ if( query_param.cid[0] != '\0'){
fprintf( FCGI_stdout, "Reason: Target can not be specified both through tid and cid\r\n"); fprintf( FCGI_stdout, "Reason: Target can not be specified both through tid and cid\r\n");
fprintf( FCGI_stdout, "Status: 400\r\n"); fprintf( FCGI_stdout, "Status: 400\r\n");
return false; return OPJ_FALSE;
} }
if( ( *target = search_targetBytid( query_param.tid, targetlist))) if( ( *target = search_targetBytid( query_param.tid, targetlist)))
return true; return OPJ_TRUE;
} }
} }
if( query_param.target) if( query_param.target)
if( !( *target = search_target( query_param.target, targetlist))) if( !( *target = search_target( query_param.target, targetlist)))
if(!( *target = gene_target( targetlist, query_param.target))) if(!( *target = gene_target( targetlist, query_param.target)))
return false; return OPJ_FALSE;
if( *target){ if( *target){
fprintf( FCGI_stdout, "JPIP-tid: %s\r\n", (*target)->tid); fprintf( FCGI_stdout, "JPIP-tid: %s\r\n", (*target)->tid);
return true; return OPJ_TRUE;
} }
else{ else{
fprintf( FCGI_stdout, "Reason: target not found\r\n"); fprintf( FCGI_stdout, "Reason: target not found\r\n");
fprintf( FCGI_stdout, "Status: 400\r\n"); fprintf( FCGI_stdout, "Status: 400\r\n");
return false; return OPJ_FALSE;
} }
} }
bool associate_channel( query_param_t query_param, opj_bool associate_channel( query_param_t query_param,
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
session_param_t **cursession, session_param_t **cursession,
channel_param_t **curchannel) channel_param_t **curchannel)
@ -88,12 +88,12 @@ bool associate_channel( query_param_t query_param,
} }
else{ else{
fprintf( FCGI_stderr, "Error: process canceled\n"); fprintf( FCGI_stderr, "Error: process canceled\n");
return false; return OPJ_FALSE;
} }
return true; return OPJ_TRUE;
} }
bool open_channel( query_param_t query_param, opj_bool open_channel( query_param_t query_param,
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
auxtrans_param_t auxtrans, auxtrans_param_t auxtrans,
target_param_t *target, target_param_t *target,
@ -107,7 +107,7 @@ bool open_channel( query_param_t query_param,
*cursession = gene_session( sessionlist); *cursession = gene_session( sessionlist);
if( !( cachemodel = search_cachemodel( target, (*cursession)->cachemodellist))) if( !( cachemodel = search_cachemodel( target, (*cursession)->cachemodellist)))
if( !(cachemodel = gene_cachemodel( (*cursession)->cachemodellist, target, query_param.return_type==JPPstream))) if( !(cachemodel = gene_cachemodel( (*cursession)->cachemodellist, target, query_param.return_type==JPPstream)))
return false; return OPJ_FALSE;
} }
else else
if( *curchannel) if( *curchannel)
@ -115,12 +115,12 @@ bool open_channel( query_param_t query_param,
*curchannel = gene_channel( query_param, auxtrans, cachemodel, (*cursession)->channellist); *curchannel = gene_channel( query_param, auxtrans, cachemodel, (*cursession)->channellist);
if( *curchannel == NULL) if( *curchannel == NULL)
return false; return OPJ_FALSE;
return true; return OPJ_TRUE;
} }
bool close_channel( query_param_t query_param, opj_bool close_channel( query_param_t query_param,
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
session_param_t **cursession, session_param_t **cursession,
channel_param_t **curchannel) channel_param_t **curchannel)
@ -134,7 +134,7 @@ bool close_channel( query_param_t query_param,
#endif #endif
/* all channels associatd with the session will be closed */ /* all channels associatd with the session will be closed */
if( !delete_session( cursession, sessionlist)) if( !delete_session( cursession, sessionlist))
return false; return OPJ_FALSE;
} }
else{ else{
/* check if all entry belonging to the same session */ /* check if all entry belonging to the same session */
@ -144,12 +144,12 @@ bool close_channel( query_param_t query_param,
/* In case of the first entry of close cid */ /* In case of the first entry of close cid */
if( *cursession == NULL){ if( *cursession == NULL){
if( !search_session_and_channel( cclose, sessionlist, cursession, curchannel)) if( !search_session_and_channel( cclose, sessionlist, cursession, curchannel))
return false; return OPJ_FALSE;
} }
else /* second or more entry of close cid */ else /* second or more entry of close cid */
if( !(*curchannel=search_channel( cclose, (*cursession)->channellist))){ if( !(*curchannel=search_channel( cclose, (*cursession)->channellist))){
fprintf( FCGI_stdout, "Reason: Cclose id %s is from another session\r\n", cclose); fprintf( FCGI_stdout, "Reason: Cclose id %s is from another session\r\n", cclose);
return false; return OPJ_FALSE;
} }
} }
@ -163,7 +163,7 @@ bool close_channel( query_param_t query_param,
/* In case of empty session */ /* In case of empty session */
delete_session( cursession, sessionlist); delete_session( cursession, sessionlist);
} }
return true; return OPJ_TRUE;
} }
@ -183,10 +183,10 @@ void enqueue_imagedata( query_param_t query_param, msgqueue_param_t *msgqueue);
* @param[in,out] msgqueue message queue pointer * @param[in,out] msgqueue message queue pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool enqueue_metabins( query_param_t query_param, metadatalist_param_t *metadatalist, msgqueue_param_t *msgqueue); opj_bool enqueue_metabins( query_param_t query_param, metadatalist_param_t *metadatalist, msgqueue_param_t *msgqueue);
bool gene_JPIPstream( query_param_t query_param, opj_bool gene_JPIPstream( query_param_t query_param,
target_param_t *target, target_param_t *target,
session_param_t *cursession, session_param_t *cursession,
channel_param_t *curchannel, channel_param_t *curchannel,
@ -197,15 +197,15 @@ bool gene_JPIPstream( query_param_t query_param,
if( !cursession || !curchannel){ /* stateless */ if( !cursession || !curchannel){ /* stateless */
if( !target) if( !target)
return false; return OPJ_FALSE;
if( !(cachemodel = gene_cachemodel( NULL, target, query_param.return_type==JPPstream))) if( !(cachemodel = gene_cachemodel( NULL, target, query_param.return_type==JPPstream)))
return false; return OPJ_FALSE;
*msgqueue = gene_msgqueue( true, cachemodel); *msgqueue = gene_msgqueue( OPJ_TRUE, cachemodel);
} }
else{ /* session */ else{ /* session */
cachemodel = curchannel->cachemodel; cachemodel = curchannel->cachemodel;
target = cachemodel->target; target = cachemodel->target;
*msgqueue = gene_msgqueue( false, cachemodel); *msgqueue = gene_msgqueue( OPJ_FALSE, cachemodel);
} }
codeidx = target->codeidx; codeidx = target->codeidx;
@ -225,10 +225,10 @@ bool gene_JPIPstream( query_param_t query_param,
/*meta*/ /*meta*/
if( query_param.box_type[0][0] != 0 && query_param.len != 0) if( query_param.box_type[0][0] != 0 && query_param.len != 0)
if( !enqueue_metabins( query_param, codeidx->metadatalist, *msgqueue)) if( !enqueue_metabins( query_param, codeidx->metadatalist, *msgqueue))
return false; return OPJ_FALSE;
if( query_param.metadata_only) if( query_param.metadata_only)
return true; return OPJ_TRUE;
/* main header */ /* main header */
if( !cachemodel->mhead_model && query_param.len != 0) if( !cachemodel->mhead_model && query_param.len != 0)
@ -238,7 +238,7 @@ bool gene_JPIPstream( query_param_t query_param,
if( (query_param.fx > 0 && query_param.fy > 0)) if( (query_param.fx > 0 && query_param.fy > 0))
enqueue_imagedata( query_param, *msgqueue); enqueue_imagedata( query_param, *msgqueue);
return true; return OPJ_TRUE;
} }
@ -257,7 +257,7 @@ bool gene_JPIPstream( query_param_t query_param,
* @param[in] msgqueue message queue * @param[in] msgqueue message queue
* @return * @return
*/ */
void enqueue_precincts( int xmin, int xmax, int ymin, int ymax, int tile_id, int level, int lastcomp, bool *comps, int layers, msgqueue_param_t *msgqueue); void enqueue_precincts( int xmin, int xmax, int ymin, int ymax, int tile_id, int level, int lastcomp, opj_bool *comps, int layers, msgqueue_param_t *msgqueue);
/** /**
* enqueue all precincts inside a tile into the queue * enqueue all precincts inside a tile into the queue
@ -270,7 +270,7 @@ void enqueue_precincts( int xmin, int xmax, int ymin, int ymax, int tile_id, int
* @param[in] msgqueue message queue * @param[in] msgqueue message queue
* @return * @return
*/ */
void enqueue_allprecincts( int tile_id, int level, int lastcomp, bool *comps, int layers, msgqueue_param_t *msgqueue); void enqueue_allprecincts( int tile_id, int level, int lastcomp, opj_bool *comps, int layers, msgqueue_param_t *msgqueue);
void enqueue_imagedata( query_param_t query_param, msgqueue_param_t *msgqueue) void enqueue_imagedata( query_param_t query_param, msgqueue_param_t *msgqueue)
{ {
@ -347,7 +347,7 @@ void enqueue_imagedata( query_param_t query_param, msgqueue_param_t *msgqueue)
} }
void enqueue_precincts( int xmin, int xmax, int ymin, int ymax, int tile_id, int level, int lastcomp, bool *comps, int layers, msgqueue_param_t *msgqueue) void enqueue_precincts( int xmin, int xmax, int ymin, int ymax, int tile_id, int level, int lastcomp, opj_bool *comps, int layers, msgqueue_param_t *msgqueue)
{ {
index_param_t *codeidx; index_param_t *codeidx;
int c, u, v, res_lev, dec_lev; int c, u, v, res_lev, dec_lev;
@ -406,7 +406,7 @@ void enqueue_precincts( int xmin, int xmax, int ymin, int ymax, int tile_id, int
} }
} }
void enqueue_allprecincts( int tile_id, int level, int lastcomp, bool *comps, int layers, msgqueue_param_t *msgqueue) void enqueue_allprecincts( int tile_id, int level, int lastcomp, opj_bool *comps, int layers, msgqueue_param_t *msgqueue)
{ {
index_param_t *codeidx; index_param_t *codeidx;
int c, i, res_lev, dec_lev; int c, i, res_lev, dec_lev;
@ -435,14 +435,14 @@ void enqueue_allprecincts( int tile_id, int level, int lastcomp, bool *comps, in
} }
} }
bool enqueue_metabins( query_param_t query_param, metadatalist_param_t *metadatalist, msgqueue_param_t *msgqueue) opj_bool enqueue_metabins( query_param_t query_param, metadatalist_param_t *metadatalist, msgqueue_param_t *msgqueue)
{ {
int i; int i;
for( i=0; query_param.box_type[i][0]!=0 && i<MAX_NUMOFBOX; i++){ for( i=0; query_param.box_type[i][0]!=0 && i<MAX_NUMOFBOX; i++){
if( query_param.box_type[i][0] == '*'){ if( query_param.box_type[i][0] == '*'){
fprintf( FCGI_stdout, "Status: 501\r\n"); fprintf( FCGI_stdout, "Status: 501\r\n");
fprintf( FCGI_stdout, "Reason: metareq with all box-property * not implemented\r\n"); fprintf( FCGI_stdout, "Reason: metareq with all box-property * not implemented\r\n");
return false; return OPJ_FALSE;
} }
else{ else{
Byte8_t idx = search_metadataidx( query_param.box_type[i], metadatalist); Byte8_t idx = search_metadataidx( query_param.box_type[i], metadatalist);
@ -452,9 +452,9 @@ bool enqueue_metabins( query_param_t query_param, metadatalist_param_t *metadata
else{ else{
fprintf( FCGI_stdout, "Status: 400\r\n"); fprintf( FCGI_stdout, "Status: 400\r\n");
fprintf( FCGI_stdout, "Reason: box-type %.4s not found\r\n", query_param.box_type[i]); fprintf( FCGI_stdout, "Reason: box-type %.4s not found\r\n", query_param.box_type[i]);
return false; return OPJ_FALSE;
} }
} }
} }
return true; return OPJ_TRUE;
} }

View File

@ -32,7 +32,6 @@
#ifndef JPIP_PARSER_H_ #ifndef JPIP_PARSER_H_
# define JPIP_PARSER_H_ # define JPIP_PARSER_H_
#include "bool.h"
#include "query_parser.h" #include "query_parser.h"
#include "session_manager.h" #include "session_manager.h"
#include "target_manager.h" #include "target_manager.h"
@ -47,7 +46,7 @@
* @param[out] target address of target pointer * @param[out] target address of target pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool identify_target( query_param_t query_param, targetlist_param_t *targetlist, target_param_t **target); opj_bool identify_target( query_param_t query_param, targetlist_param_t *targetlist, target_param_t **target);
/** /**
* REQUEST: channel association * REQUEST: channel association
@ -59,7 +58,7 @@ bool identify_target( query_param_t query_param, targetlist_param_t *targetlist,
* @param[out] curchannel address of the associated channel pointer * @param[out] curchannel address of the associated channel pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool associate_channel( query_param_t query_param, opj_bool associate_channel( query_param_t query_param,
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
session_param_t **cursession, session_param_t **cursession,
channel_param_t **curchannel); channel_param_t **curchannel);
@ -74,7 +73,7 @@ bool associate_channel( query_param_t query_param,
* @param[in,out] curchannel address of the associated/opened channel pointer * @param[in,out] curchannel address of the associated/opened channel pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool open_channel( query_param_t query_param, opj_bool open_channel( query_param_t query_param,
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
auxtrans_param_t auxtrans, auxtrans_param_t auxtrans,
target_param_t *target, target_param_t *target,
@ -90,7 +89,7 @@ bool open_channel( query_param_t query_param,
* @param[in,out] curchannel address of the deleting channel pointer * @param[in,out] curchannel address of the deleting channel pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool close_channel( query_param_t query_param, opj_bool close_channel( query_param_t query_param,
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
session_param_t **cursession, session_param_t **cursession,
channel_param_t **curchannel); channel_param_t **curchannel);
@ -105,7 +104,7 @@ bool close_channel( query_param_t query_param,
* @param[out] msgqueue address of the message queue pointer * @param[out] msgqueue address of the message queue pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool gene_JPIPstream( query_param_t query_param, opj_bool gene_JPIPstream( query_param_t query_param,
target_param_t *target, target_param_t *target,
session_param_t *cursession, session_param_t *cursession,
channel_param_t *curchannel, channel_param_t *curchannel,

View File

@ -56,7 +56,7 @@
#define logstream stderr #define logstream stderr
#endif /*SERVER*/ #endif /*SERVER*/
msgqueue_param_t * gene_msgqueue( bool stateless, cachemodel_param_t *cachemodel) msgqueue_param_t * gene_msgqueue( opj_bool stateless, cachemodel_param_t *cachemodel)
{ {
msgqueue_param_t *msgqueue; msgqueue_param_t *msgqueue;
@ -137,7 +137,7 @@ void enqueue_mainheader( msgqueue_param_t *msgqueue)
msg = (message_param_t *)opj_malloc( sizeof(message_param_t)); msg = (message_param_t *)opj_malloc( sizeof(message_param_t));
msg->last_byte = true; msg->last_byte = OPJ_TRUE;
msg->in_class_id = 0; msg->in_class_id = 0;
msg->class_id = MAINHEADER_MSG; msg->class_id = MAINHEADER_MSG;
assert( target->csn >= 0 ); assert( target->csn >= 0 );
@ -151,7 +151,7 @@ void enqueue_mainheader( msgqueue_param_t *msgqueue)
enqueue_message( msg, msgqueue); enqueue_message( msg, msgqueue);
cachemodel->mhead_model = true; cachemodel->mhead_model = OPJ_TRUE;
} }
void enqueue_tileheader( int tile_id, msgqueue_param_t *msgqueue) void enqueue_tileheader( int tile_id, msgqueue_param_t *msgqueue)
@ -167,7 +167,7 @@ void enqueue_tileheader( int tile_id, msgqueue_param_t *msgqueue)
if( !cachemodel->th_model[ tile_id]){ if( !cachemodel->th_model[ tile_id]){
msg = (message_param_t *)opj_malloc( sizeof(message_param_t)); msg = (message_param_t *)opj_malloc( sizeof(message_param_t));
msg->last_byte = true; msg->last_byte = OPJ_TRUE;
assert( tile_id >= 0 ); assert( tile_id >= 0 );
msg->in_class_id = (Byte8_t)tile_id; msg->in_class_id = (Byte8_t)tile_id;
msg->class_id = TILE_HEADER_MSG; msg->class_id = TILE_HEADER_MSG;
@ -181,7 +181,7 @@ void enqueue_tileheader( int tile_id, msgqueue_param_t *msgqueue)
msg->next = NULL; msg->next = NULL;
enqueue_message( msg, msgqueue); enqueue_message( msg, msgqueue);
cachemodel->th_model[ tile_id] = true; cachemodel->th_model[ tile_id] = OPJ_TRUE;
} }
} }
@ -189,7 +189,7 @@ void enqueue_tile( Byte4_t tile_id, int level, msgqueue_param_t *msgqueue)
{ {
cachemodel_param_t *cachemodel; cachemodel_param_t *cachemodel;
target_param_t *target; target_param_t *target;
bool *tp_model; opj_bool *tp_model;
Byte8_t numOftparts; /* num of tile parts par tile*/ Byte8_t numOftparts; /* num of tile parts par tile*/
Byte8_t numOftiles; Byte8_t numOftiles;
index_param_t *codeidx; index_param_t *codeidx;
@ -236,7 +236,7 @@ void enqueue_tile( Byte4_t tile_id, int level, msgqueue_param_t *msgqueue)
enqueue_message( msg, msgqueue); enqueue_message( msg, msgqueue);
tp_model[i] = true; tp_model[i] = OPJ_TRUE;
} }
binOffset += binLength; binOffset += binLength;
} }
@ -283,7 +283,7 @@ void enqueue_precinct( int seq_id, int tile_id, int comp_id, int layers, msgqueu
enqueue_message( msg, msgqueue); enqueue_message( msg, msgqueue);
cachemodel->pp_model[comp_id][tile_id*(int)nmax+seq_id*numOflayers+layer_id] = true; cachemodel->pp_model[comp_id][tile_id*(int)nmax+seq_id*numOflayers+layer_id] = OPJ_TRUE;
} }
binOffset += binLength; binOffset += binLength;
} }
@ -323,7 +323,7 @@ void enqueue_metadata( Byte8_t meta_id, msgqueue_param_t *msgqueue)
if( metadata->boxcontents) if( metadata->boxcontents)
enqueue_boxcontents( meta_id, metadata->boxcontents, msgqueue, &binOffset); enqueue_boxcontents( meta_id, metadata->boxcontents, msgqueue, &binOffset);
msgqueue->last->last_byte = true; msgqueue->last->last_byte = OPJ_TRUE;
} }
message_param_t * gene_metamsg( Byte8_t meta_id, Byte8_t binoffset, Byte8_t length, OPJ_OFF_T res_offset, placeholder_param_t *phld, Byte8_t csn); message_param_t * gene_metamsg( Byte8_t meta_id, Byte8_t binoffset, Byte8_t length, OPJ_OFF_T res_offset, placeholder_param_t *phld, Byte8_t csn);
@ -378,7 +378,7 @@ message_param_t * gene_metamsg( Byte8_t meta_id, Byte8_t binOffset, Byte8_t leng
msg = (message_param_t *)opj_malloc( sizeof(message_param_t)); msg = (message_param_t *)opj_malloc( sizeof(message_param_t));
msg->last_byte = false; msg->last_byte = OPJ_FALSE;
msg->in_class_id = meta_id; msg->in_class_id = meta_id;
msg->class_id = METADATA_MSG; msg->class_id = METADATA_MSG;
msg->csn = csn; msg->csn = csn;
@ -600,7 +600,7 @@ void parse_JPIPstream( Byte_t *JPIPstream, Byte8_t streamlen, OPJ_OFF_T offset,
ptr = parse_bin_id_vbas( ptr, &bb, &c, &msg->in_class_id); ptr = parse_bin_id_vbas( ptr, &bb, &c, &msg->in_class_id);
msg->last_byte = c == 1 ? true : false; msg->last_byte = c == 1 ? OPJ_TRUE : OPJ_FALSE;
if( bb >= 2) if( bb >= 2)
ptr = parse_vbas( ptr, &class_id); ptr = parse_vbas( ptr, &class_id);

View File

@ -32,7 +32,6 @@
#ifndef MSGQUEUE_MANAGER_H_ #ifndef MSGQUEUE_MANAGER_H_
# define MSGQUEUE_MANAGER_H_ # define MSGQUEUE_MANAGER_H_
#include "bool.h"
#include "byte_manager.h" #include "byte_manager.h"
#include "cachemodel_manager.h" #include "cachemodel_manager.h"
#include "placeholder_manager.h" #include "placeholder_manager.h"
@ -47,7 +46,7 @@
/** message parameters */ /** message parameters */
typedef struct message_param{ typedef struct message_param{
bool last_byte; /**< if message contains the last byte of the data-bin*/ opj_bool last_byte; /**< if message contains the last byte of the data-bin*/
Byte8_t in_class_id; /**< in-class identifier A.2.3*/ Byte8_t in_class_id; /**< in-class identifier A.2.3*/
Byte8_t class_id; /**< class identifiers */ Byte8_t class_id; /**< class identifiers */
Byte8_t csn; /**< index of the codestream*/ Byte8_t csn; /**< index of the codestream*/
@ -63,7 +62,7 @@ typedef struct message_param{
typedef struct msgqueue_param{ typedef struct msgqueue_param{
message_param_t *first; /**< first message pointer of the list*/ message_param_t *first; /**< first message pointer of the list*/
message_param_t *last; /**< last message pointer of the list*/ message_param_t *last; /**< last message pointer of the list*/
bool stateless; /**< if this is a stateless message queue*/ opj_bool stateless; /**< if this is a stateless message queue*/
cachemodel_param_t *cachemodel; /**< reference cachemodel pointer*/ cachemodel_param_t *cachemodel; /**< reference cachemodel pointer*/
} msgqueue_param_t; } msgqueue_param_t;
@ -74,7 +73,7 @@ typedef struct msgqueue_param{
* @param[in] cachemodel cachemodel pointer * @param[in] cachemodel cachemodel pointer
* @return generated message queue pointer * @return generated message queue pointer
*/ */
msgqueue_param_t * gene_msgqueue( bool stateless, cachemodel_param_t *cachemodel); msgqueue_param_t * gene_msgqueue( opj_bool stateless, cachemodel_param_t *cachemodel);
/** /**
* delete message queue * delete message queue

View File

@ -88,7 +88,7 @@ QR_t * parse_querystring( const char *query_string)
return qr; return qr;
} }
bool process_JPIPrequest( server_record_t *rec, QR_t *qr) opj_bool process_JPIPrequest( server_record_t *rec, QR_t *qr)
{ {
target_param_t *target = NULL; target_param_t *target = NULL;
session_param_t *cursession = NULL; session_param_t *cursession = NULL;
@ -96,30 +96,30 @@ bool process_JPIPrequest( server_record_t *rec, QR_t *qr)
if( qr->query->target || qr->query->tid){ if( qr->query->target || qr->query->tid){
if( !identify_target( *(qr->query), rec->targetlist, &target)) if( !identify_target( *(qr->query), rec->targetlist, &target))
return false; return OPJ_FALSE;
} }
if( qr->query->cid){ if( qr->query->cid){
if( !associate_channel( *(qr->query), rec->sessionlist, &cursession, &curchannel)) if( !associate_channel( *(qr->query), rec->sessionlist, &cursession, &curchannel))
return false; return OPJ_FALSE;
qr->channel = curchannel; qr->channel = curchannel;
} }
if( qr->query->cnew != non){ if( qr->query->cnew != non){
if( !open_channel( *(qr->query), rec->sessionlist, rec->auxtrans, target, &cursession, &curchannel)) if( !open_channel( *(qr->query), rec->sessionlist, rec->auxtrans, target, &cursession, &curchannel))
return false; return OPJ_FALSE;
qr->channel = curchannel; qr->channel = curchannel;
} }
if( qr->query->cclose) if( qr->query->cclose)
if( !close_channel( *(qr->query), rec->sessionlist, &cursession, &curchannel)) if( !close_channel( *(qr->query), rec->sessionlist, &cursession, &curchannel))
return false; return OPJ_FALSE;
if( (qr->query->fx > 0 && qr->query->fy > 0) || qr->query->box_type[0][0] != 0 || qr->query->len > 0) if( (qr->query->fx > 0 && qr->query->fy > 0) || qr->query->box_type[0][0] != 0 || qr->query->len > 0)
if( !gene_JPIPstream( *(qr->query), target, cursession, curchannel, &qr->msgqueue)) if( !gene_JPIPstream( *(qr->query), target, cursession, curchannel, &qr->msgqueue))
return false; return OPJ_FALSE;
return true; return OPJ_TRUE;
} }
void add_EORmsg( int fd, QR_t *qr); void add_EORmsg( int fd, QR_t *qr);
@ -190,7 +190,7 @@ void end_QRprocess( server_record_t *rec, QR_t **qr)
} }
void local_log( bool query, bool messages, bool sessions, bool targets, QR_t *qr, server_record_t *rec) void local_log( opj_bool query, opj_bool messages, opj_bool sessions, opj_bool targets, QR_t *qr, server_record_t *rec)
{ {
if( query) if( query)
print_queryparam( *qr->query); print_queryparam( *qr->query);
@ -216,7 +216,7 @@ dec_server_record_t * OPJ_CALLCONV init_dec_server( int port)
record->cachelist = gene_cachelist(); record->cachelist = gene_cachelist();
record->jpipstream = NULL; record->jpipstream = NULL;
record->jpipstreamlen = 0; record->jpipstreamlen = 0;
record->msgqueue = gene_msgqueue( true, NULL); record->msgqueue = gene_msgqueue( OPJ_TRUE, NULL);
record->listening_socket = open_listeningsocket( (uint16_t)port); record->listening_socket = open_listeningsocket( (uint16_t)port);
return record; return record;
@ -247,9 +247,9 @@ client_t OPJ_CALLCONV accept_connection( dec_server_record_t *rec)
return client; return client;
} }
bool OPJ_CALLCONV handle_clientreq( client_t client, dec_server_record_t *rec) opj_bool OPJ_CALLCONV handle_clientreq( client_t client, dec_server_record_t *rec)
{ {
bool quit = false; opj_bool quit = OPJ_FALSE;
msgtype_t msgtype = identify_clientmsg( client); msgtype_t msgtype = identify_clientmsg( client);
switch( msgtype){ switch( msgtype){
@ -286,7 +286,7 @@ bool OPJ_CALLCONV handle_clientreq( client_t client, dec_server_record_t *rec)
break; break;
case QUIT: case QUIT:
quit = true; quit = OPJ_TRUE;
save_codestream( rec->jpipstream, rec->jpipstreamlen, "jpt"); save_codestream( rec->jpipstream, rec->jpipstreamlen, "jpt");
break; break;
case MSGERROR: case MSGERROR:
@ -296,23 +296,23 @@ bool OPJ_CALLCONV handle_clientreq( client_t client, dec_server_record_t *rec)
fprintf( stderr, "\t end of the connection\n\n"); fprintf( stderr, "\t end of the connection\n\n");
if( close_socket(client) != 0){ if( close_socket(client) != 0){
perror("close"); perror("close");
return false; return OPJ_FALSE;
} }
if( quit) if( quit)
return false; return OPJ_FALSE;
return true; return OPJ_TRUE;
} }
jpip_dec_param_t * OPJ_CALLCONV init_jpipdecoder( bool jp2) jpip_dec_param_t * OPJ_CALLCONV init_jpipdecoder( opj_bool jp2)
{ {
jpip_dec_param_t *dec; jpip_dec_param_t *dec;
dec = (jpip_dec_param_t *)opj_calloc( 1, sizeof(jpip_dec_param_t)); dec = (jpip_dec_param_t *)opj_calloc( 1, sizeof(jpip_dec_param_t));
dec->msgqueue = gene_msgqueue( true, NULL); dec->msgqueue = gene_msgqueue( OPJ_TRUE, NULL);
if( jp2) if( jp2)
dec->metadatalist = gene_metadatalist(); dec->metadatalist = gene_metadatalist();
@ -321,29 +321,29 @@ jpip_dec_param_t * OPJ_CALLCONV init_jpipdecoder( bool jp2)
} }
bool OPJ_CALLCONV fread_jpip( const char fname[], jpip_dec_param_t *dec) opj_bool OPJ_CALLCONV fread_jpip( const char fname[], jpip_dec_param_t *dec)
{ {
int infd; int infd;
if(( infd = open( fname, O_RDONLY)) == -1){ if(( infd = open( fname, O_RDONLY)) == -1){
fprintf( stderr, "file %s not exist\n", fname); fprintf( stderr, "file %s not exist\n", fname);
return false; return OPJ_FALSE;
} }
if(!(dec->jpiplen = (Byte8_t)get_filesize(infd))) if(!(dec->jpiplen = (Byte8_t)get_filesize(infd)))
return false; return OPJ_FALSE;
dec->jpipstream = (Byte_t *)opj_malloc( dec->jpiplen); dec->jpipstream = (Byte_t *)opj_malloc( dec->jpiplen);
if( read( infd, dec->jpipstream, dec->jpiplen) != (int)dec->jpiplen){ if( read( infd, dec->jpipstream, dec->jpiplen) != (int)dec->jpiplen){
fprintf( stderr, "file reading error\n"); fprintf( stderr, "file reading error\n");
opj_free( dec->jpipstream); opj_free( dec->jpipstream);
return false; return OPJ_FALSE;
} }
close(infd); close(infd);
return true; return OPJ_TRUE;
} }
void OPJ_CALLCONV decode_jpip( jpip_dec_param_t *dec) void OPJ_CALLCONV decode_jpip( jpip_dec_param_t *dec)
@ -361,7 +361,7 @@ void OPJ_CALLCONV decode_jpip( jpip_dec_param_t *dec)
dec->jp2kstream = recons_j2k( dec->msgqueue, dec->jpipstream, dec->msgqueue->first->csn, 0, 0, &dec->jp2klen); dec->jp2kstream = recons_j2k( dec->msgqueue, dec->jpipstream, dec->msgqueue->first->csn, 0, 0, &dec->jp2klen);
} }
bool OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec) opj_bool OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec)
{ {
int outfd; int outfd;
@ -371,7 +371,7 @@ bool OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec)
if(( outfd = open( fname, O_WRONLY|O_CREAT, S_IRWXU|S_IRWXG)) == -1){ if(( outfd = open( fname, O_WRONLY|O_CREAT, S_IRWXU|S_IRWXG)) == -1){
#endif #endif
fprintf( stderr, "file %s open error\n", fname); fprintf( stderr, "file %s open error\n", fname);
return false; return OPJ_FALSE;
} }
if( write( outfd, dec->jp2kstream, dec->jp2klen) != (int)dec->jp2klen) if( write( outfd, dec->jp2kstream, dec->jp2klen) != (int)dec->jp2klen)
@ -379,10 +379,10 @@ bool OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec)
close(outfd); close(outfd);
return true; return OPJ_TRUE;
} }
void OPJ_CALLCONV output_log( bool messages, bool metadata, bool ihdrbox, jpip_dec_param_t *dec) void OPJ_CALLCONV output_log( opj_bool messages, opj_bool metadata, opj_bool ihdrbox, jpip_dec_param_t *dec)
{ {
if( messages) if( messages)
print_msgqueue( dec->msgqueue); print_msgqueue( dec->msgqueue);

View File

@ -35,7 +35,6 @@
#include "target_manager.h" #include "target_manager.h"
#include "query_parser.h" #include "query_parser.h"
#include "msgqueue_manager.h" #include "msgqueue_manager.h"
#include "bool.h"
#include "sock_manager.h" #include "sock_manager.h"
#include "auxtrans_manager.h" #include "auxtrans_manager.h"
@ -113,7 +112,7 @@ QR_t * parse_querystring( const char *query_string);
* @param[in] qr query/response data pointer * @param[in] qr query/response data pointer
* @return true if succeed, otherwise false * @return true if succeed, otherwise false
*/ */
bool process_JPIPrequest( server_record_t *rec, QR_t *qr); opj_bool process_JPIPrequest( server_record_t *rec, QR_t *qr);
/** /**
* 3rd process; send response data JPT/JPP-stream * 3rd process; send response data JPT/JPP-stream
@ -141,7 +140,7 @@ void end_QRprocess( server_record_t *rec, QR_t **qr);
* @param[in] qr query/response data pointer * @param[in] qr query/response data pointer
* @param[in] rec server static record pinter * @param[in] rec server static record pinter
*/ */
void local_log( bool query, bool messages, bool sessions, bool targets, QR_t *qr, server_record_t *rec); void local_log( opj_bool query, opj_bool messages, opj_bool sessions, opj_bool targets, QR_t *qr, server_record_t *rec);
#endif /*SERVER*/ #endif /*SERVER*/
@ -196,7 +195,7 @@ OPJ_API client_t OPJ_CALLCONV accept_connection( dec_server_record_t *rec);
* @param[in] rec decoding server static record pointer * @param[in] rec decoding server static record pointer
* @return true if succeed * @return true if succeed
*/ */
OPJ_API bool OPJ_CALLCONV handle_clientreq( client_t client, dec_server_record_t *rec); OPJ_API opj_bool OPJ_CALLCONV handle_clientreq( client_t client, dec_server_record_t *rec);
#endif /*SERVER*/ #endif /*SERVER*/
@ -229,7 +228,7 @@ typedef struct jpip_dec_param{
* @param[in] jp2 true in case of jp2 file encoding, else j2k file encoding * @param[in] jp2 true in case of jp2 file encoding, else j2k file encoding
* @return JPIP decoding parameters pointer * @return JPIP decoding parameters pointer
*/ */
OPJ_API jpip_dec_param_t * OPJ_CALLCONV init_jpipdecoder( bool jp2); OPJ_API jpip_dec_param_t * OPJ_CALLCONV init_jpipdecoder( opj_bool jp2);
/** /**
* Destroy jpip decoding parameters * Destroy jpip decoding parameters
@ -245,7 +244,7 @@ OPJ_API void OPJ_CALLCONV destroy_jpipdecoder( jpip_dec_param_t **dec);
* @param[in] dec JPIP decoding parameters pointer * @param[in] dec JPIP decoding parameters pointer
* @return true if succeed * @return true if succeed
*/ */
OPJ_API bool OPJ_CALLCONV fread_jpip( const char fname[], jpip_dec_param_t *dec); OPJ_API opj_bool OPJ_CALLCONV fread_jpip( const char fname[], jpip_dec_param_t *dec);
/** /**
* Decode jpip codestream * Decode jpip codestream
@ -261,7 +260,7 @@ OPJ_API void OPJ_CALLCONV decode_jpip( jpip_dec_param_t *dec);
* @param[in] dec JPIP decoding parameters pointer * @param[in] dec JPIP decoding parameters pointer
* @return true if succeed * @return true if succeed
*/ */
OPJ_API bool OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec); OPJ_API opj_bool OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec);
/** /**
* Option; print out parameter values to stderr * Option; print out parameter values to stderr
@ -271,7 +270,7 @@ OPJ_API bool OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec
* @param[in] ihdrbox true if image header data is to be printed out * @param[in] ihdrbox true if image header data is to be printed out
* @param[in] dec JPIP decoding parameters pointer * @param[in] dec JPIP decoding parameters pointer
*/ */
OPJ_API void OPJ_CALLCONV output_log( bool messages, bool metadata, bool ihdrbox, jpip_dec_param_t *dec); OPJ_API void OPJ_CALLCONV output_log( opj_bool messages, opj_bool metadata, opj_bool ihdrbox, jpip_dec_param_t *dec);
/* /*
* test the format of index (cidx) box in JP2 file * test the format of index (cidx) box in JP2 file

View File

@ -159,7 +159,7 @@ query_param_t * get_initquery(void)
query_param_t *query; query_param_t *query;
int i; int i;
query = (query_param_t *)malloc( sizeof(query_param_t)); query = (query_param_t *)opj_malloc( sizeof(query_param_t));
query->target = NULL; query->target = NULL;
query->tid = NULL; query->tid = NULL;
@ -179,15 +179,15 @@ query_param_t * get_initquery(void)
memset( query->box_type, 0, MAX_NUMOFBOX*4); memset( query->box_type, 0, MAX_NUMOFBOX*4);
memset( query->limit, 0, MAX_NUMOFBOX*sizeof(int)); memset( query->limit, 0, MAX_NUMOFBOX*sizeof(int));
for( i=0; i<MAX_NUMOFBOX; i++){ for( i=0; i<MAX_NUMOFBOX; i++){
query->w[i] = false; query->w[i] = OPJ_FALSE;
query->s[i] = false; query->s[i] = OPJ_FALSE;
query->g[i] = false; query->g[i] = OPJ_FALSE;
query->a[i] = false; query->a[i] = OPJ_FALSE;
query->priority[i] = false; query->priority[i] = OPJ_FALSE;
} }
query->root_bin = 0; query->root_bin = 0;
query->max_depth = -1; query->max_depth = -1;
query->metadata_only = false; query->metadata_only = OPJ_FALSE;
query->return_type = UNKNOWN; query->return_type = UNKNOWN;
query->len = -1; query->len = -1;
@ -329,7 +329,7 @@ void parse_metareq( char *field, query_param_t *query_param)
sscanf( ptr+1, "%d", &(query_param->max_depth)); sscanf( ptr+1, "%d", &(query_param->max_depth));
if(( ptr = strstr( field, "!!"))) if(( ptr = strstr( field, "!!")))
query_param->metadata_only = true; query_param->metadata_only = OPJ_TRUE;
} }
void parse_req_box_prop( char *req_box_prop, int idx, query_param_t *query_param) void parse_req_box_prop( char *req_box_prop, int idx, query_param_t *query_param)
@ -352,22 +352,22 @@ void parse_req_box_prop( char *req_box_prop, int idx, query_param_t *query_param
ptr++; ptr++;
while( *ptr=='w' || *ptr=='s' || *ptr=='g' || *ptr=='a'){ while( *ptr=='w' || *ptr=='s' || *ptr=='g' || *ptr=='a'){
switch( *ptr){ switch( *ptr){
case 'w': query_param->w[idx] = true; break; case 'w': query_param->w[idx] = OPJ_TRUE; break;
case 's': query_param->s[idx] = true; break; case 's': query_param->s[idx] = OPJ_TRUE; break;
case 'g': query_param->g[idx] = true; break; case 'g': query_param->g[idx] = OPJ_TRUE; break;
case 'a': query_param->a[idx] = true; break; case 'a': query_param->a[idx] = OPJ_TRUE; break;
} }
ptr++; ptr++;
} }
} }
else{ else{
query_param->g[idx] = true; query_param->g[idx] = OPJ_TRUE;
query_param->s[idx] = true; query_param->s[idx] = OPJ_TRUE;
query_param->w[idx] = true; query_param->w[idx] = OPJ_TRUE;
} }
if((ptr = strchr( req_box_prop, '!'))) if((ptr = strchr( req_box_prop, '!')))
query_param->priority[idx] = true; query_param->priority[idx] = OPJ_TRUE;
idx++; idx++;
} }
@ -399,31 +399,31 @@ void parse_comps( char *field, query_param_t *query_param)
} }
query_param->lastcomp = stop > aux ? stop : aux; query_param->lastcomp = stop > aux ? stop : aux;
query_param->comps = (bool *)calloc( 1, (OPJ_SIZE_T)(query_param->lastcomp+1)*sizeof(bool)); query_param->comps = (opj_bool *)opj_calloc( 1, (OPJ_SIZE_T)(query_param->lastcomp+1)*sizeof(opj_bool));
for( i=start; i<=stop; i++) for( i=start; i<=stop; i++)
query_param->comps[i]=true; query_param->comps[i]=OPJ_TRUE;
if(aux!=-1) if(aux!=-1)
query_param->comps[aux] = true; query_param->comps[aux] = OPJ_TRUE;
} }
void delete_query( query_param_t **query) void delete_query( query_param_t **query)
{ {
if( (*query)->target) if( (*query)->target)
free( (*query)->target); opj_free( (*query)->target);
if( (*query)->tid) if( (*query)->tid)
free( (*query)->tid); opj_free( (*query)->tid);
if( (*query)->comps) if( (*query)->comps)
free((*query)->comps); opj_free((*query)->comps);
if( (*query)->cid) if( (*query)->cid)
free( (*query)->cid); opj_free( (*query)->cid);
if( (*query)->cclose) if( (*query)->cclose)
free( (*query)->cclose); opj_free( (*query)->cclose);
free( *query); opj_free( *query);
} }

View File

@ -32,7 +32,7 @@
#ifndef QUERY_PARSER_H_ #ifndef QUERY_PARSER_H_
# define QUERY_PARSER_H_ # define QUERY_PARSER_H_
#include "bool.h" #include "opj_includes.h"
/** maximum number of meta request box */ /** maximum number of meta request box */
#define MAX_NUMOFBOX 10 #define MAX_NUMOFBOX 10
@ -51,21 +51,21 @@ typedef struct query_param{
int rx, ry, rw, rh; /**< roi region */ int rx, ry, rw, rh; /**< roi region */
int layers; /**< quality layers */ int layers; /**< quality layers */
int lastcomp; /**< last component number */ int lastcomp; /**< last component number */
bool *comps; /**< components (dynamic array) for jpp-stream, null means all components */ opj_bool *comps; /**< components (dynamic array) for jpp-stream, null means all components */
char *cid; /**< channel identifier */ char *cid; /**< channel identifier */
cnew_transport_t cnew; /**< transport name if there is new channel request, else non */ cnew_transport_t cnew; /**< transport name if there is new channel request, else non */
char *cclose; /**< list of closing channel identifiers, separated by '\\0' */ char *cclose; /**< list of closing channel identifiers, separated by '\\0' */
int numOfcclose; /**< number of closing channels */ int numOfcclose; /**< number of closing channels */
char box_type[MAX_NUMOFBOX][4]; /**< interested box-types */ char box_type[MAX_NUMOFBOX][4]; /**< interested box-types */
int limit[MAX_NUMOFBOX]; /**< limit value, -1: skeleton request "r", 0: entire contents */ int limit[MAX_NUMOFBOX]; /**< limit value, -1: skeleton request "r", 0: entire contents */
bool w[MAX_NUMOFBOX]; /**< Metadata request qualifier flags */ opj_bool w[MAX_NUMOFBOX]; /**< Metadata request qualifier flags */
bool s[MAX_NUMOFBOX]; opj_bool s[MAX_NUMOFBOX];
bool g[MAX_NUMOFBOX]; opj_bool g[MAX_NUMOFBOX];
bool a[MAX_NUMOFBOX]; opj_bool a[MAX_NUMOFBOX];
bool priority[MAX_NUMOFBOX]; /**< priority flag */ opj_bool priority[MAX_NUMOFBOX]; /**< priority flag */
int root_bin; /**< root-bin */ int root_bin; /**< root-bin */
int max_depth; /**< max-depth */ int max_depth; /**< max-depth */
bool metadata_only; /**< metadata-only request */ opj_bool metadata_only; /**< metadata-only request */
image_return_t return_type; /**< image return type */ image_return_t return_type; /**< image return type */
int len; /**< maximum response length */ int len; /**< maximum response length */
} query_param_t; } query_param_t;

View File

@ -76,7 +76,7 @@ session_param_t * gene_session( sessionlist_param_t *sessionlist)
return session; return session;
} }
bool search_session_and_channel( char cid[], opj_bool search_session_and_channel( char cid[],
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
session_param_t **foundsession, session_param_t **foundsession,
channel_param_t **foundchannel) channel_param_t **foundchannel)
@ -90,7 +90,7 @@ bool search_session_and_channel( char cid[],
while( *foundchannel != NULL){ while( *foundchannel != NULL){
if( strcmp( cid, (*foundchannel)->cid) == 0) if( strcmp( cid, (*foundchannel)->cid) == 0)
return true; return OPJ_TRUE;
*foundchannel = (*foundchannel)->next; *foundchannel = (*foundchannel)->next;
} }
@ -100,7 +100,7 @@ bool search_session_and_channel( char cid[],
fprintf( FCGI_stdout, "Status: 503\r\n"); fprintf( FCGI_stdout, "Status: 503\r\n");
fprintf( FCGI_stdout, "Reason: Channel %s not found\r\n", cid); fprintf( FCGI_stdout, "Reason: Channel %s not found\r\n", cid);
return false; return OPJ_FALSE;
} }
void insert_cachemodel_into_session( session_param_t *session, cachemodel_param_t *cachemodel) void insert_cachemodel_into_session( session_param_t *session, cachemodel_param_t *cachemodel)
@ -118,12 +118,12 @@ void insert_cachemodel_into_session( session_param_t *session, cachemodel_param_
session->cachemodellist->last = cachemodel; session->cachemodellist->last = cachemodel;
} }
bool delete_session( session_param_t **session, sessionlist_param_t *sessionlist) opj_bool delete_session( session_param_t **session, sessionlist_param_t *sessionlist)
{ {
session_param_t *ptr; session_param_t *ptr;
if( *session == NULL) if( *session == NULL)
return false; return OPJ_FALSE;
if( *session == sessionlist->first) if( *session == sessionlist->first)
@ -146,7 +146,7 @@ bool delete_session( session_param_t **session, sessionlist_param_t *sessionlist
#endif #endif
opj_free( *session); opj_free( *session);
return true; return OPJ_TRUE;
} }
void delete_sessionlist( sessionlist_param_t **sessionlist) void delete_sessionlist( sessionlist_param_t **sessionlist)

View File

@ -31,7 +31,6 @@
#ifndef SESSION_MANAGER_H_ #ifndef SESSION_MANAGER_H_
# define SESSION_MANAGER_H_ # define SESSION_MANAGER_H_
#include "bool.h"
#include "channel_manager.h" #include "channel_manager.h"
#include "cachemodel_manager.h" #include "cachemodel_manager.h"
@ -74,7 +73,7 @@ session_param_t * gene_session( sessionlist_param_t *sessionlist);
* @param[in,out] foundchannel address of the found channel pointer * @param[in,out] foundchannel address of the found channel pointer
* @return if the channel is found (true) or not (false) * @return if the channel is found (true) or not (false)
*/ */
bool search_session_and_channel( char cid[], opj_bool search_session_and_channel( char cid[],
sessionlist_param_t *sessionlist, sessionlist_param_t *sessionlist,
session_param_t **foundsession, session_param_t **foundsession,
channel_param_t **foundchannel); channel_param_t **foundchannel);
@ -95,7 +94,7 @@ void insert_cachemodel_into_session( session_param_t *session, cachemodel_param_
* @param[in] sessionlist session list pointer * @param[in] sessionlist session list pointer
* @return if succeeded (true) or failed (false) * @return if succeeded (true) or failed (false)
*/ */
bool delete_session( session_param_t **session, sessionlist_param_t *sessionlist); opj_bool delete_session( session_param_t **session, sessionlist_param_t *sessionlist);
/** /**

View File

@ -31,7 +31,6 @@
#ifndef SOCK_MANAGER_H_ #ifndef SOCK_MANAGER_H_
# define SOCK_MANAGER_H_ # define SOCK_MANAGER_H_
#include "bool.h"
#include "byte_manager.h" #include "byte_manager.h"
#include "opj_stdint.h" #include "opj_stdint.h"

View File

@ -112,7 +112,7 @@ target_param_t * gene_target( targetlist_param_t *targetlist, char *targetpath)
target->csn = last_csn++; target->csn = last_csn++;
target->codeidx = jp2idx; target->codeidx = jp2idx;
target->num_of_use = 0; target->num_of_use = 0;
target->jppstream = true; target->jppstream = OPJ_TRUE;
target->jptstream = isJPTfeasible( *jp2idx); target->jptstream = isJPTfeasible( *jp2idx);
target->next=NULL; target->next=NULL;

View File

@ -31,7 +31,6 @@
#ifndef TARGET_MANAGER_H_ #ifndef TARGET_MANAGER_H_
# define TARGET_MANAGER_H_ # define TARGET_MANAGER_H_
#include "bool.h"
#include "index_manager.h" #include "index_manager.h"
/** maximum length of target identifier*/ /** maximum length of target identifier*/
@ -48,8 +47,8 @@ typedef struct target_param{
int csn; /**< codestream number */ int csn; /**< codestream number */
index_param_t *codeidx; /**< index information of codestream */ index_param_t *codeidx; /**< index information of codestream */
int num_of_use; /**< numbers of sessions refering to this target */ int num_of_use; /**< numbers of sessions refering to this target */
bool jppstream; /**< if this target can return JPP-stream */ opj_bool jppstream; /**< if this target can return JPP-stream */
bool jptstream; /**< if this target can return JPP-stream */ opj_bool jptstream; /**< if this target can return JPP-stream */
struct target_param *next; /**< pointer to the next target */ struct target_param *next; /**< pointer to the next target */
} target_param_t; } target_param_t;