diff options
Diffstat (limited to 'indexer_JPIP/j2k.h')
| -rw-r--r-- | indexer_JPIP/j2k.h | 289 |
1 files changed, 0 insertions, 289 deletions
diff --git a/indexer_JPIP/j2k.h b/indexer_JPIP/j2k.h deleted file mode 100644 index e87da5db..00000000 --- a/indexer_JPIP/j2k.h +++ /dev/null @@ -1,289 +0,0 @@ -/* - * Copyright (c) 2001-2002, David Janssens - * Copyright (c) 2003-2004, Yannick Verschueren - * Copyright (c) 2003-2004, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium - * 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. - */ - -#define VERSION "0.0.8" - -#ifdef WIN32 -#ifdef LIBJ2K_EXPORTS -#define LIBJ2K_API __declspec(dllexport) -#else -#define LIBJ2K_API __declspec(dllimport) -#endif -#else -#define LIBJ2K_API -#endif - -#ifndef __J2K_H -#define __J2K_H - -#define J2K_MAXRLVLS 33 -#define J2K_MAXBANDS (3*J2K_MAXRLVLS+1) - -#define J2K_CP_CSTY_PRT 0x01 -#define J2K_CP_CSTY_SOP 0x02 -#define J2K_CP_CSTY_EPH 0x04 -#define J2K_CCP_CSTY_PRT 0x01 -#define J2K_CCP_CBLKSTY_LAZY 0x01 -#define J2K_CCP_CBLKSTY_RESET 0x02 -#define J2K_CCP_CBLKSTY_TERMALL 0x04 -#define J2K_CCP_CBLKSTY_VSC 0x08 -#define J2K_CCP_CBLKSTY_PTERM 0x10 -#define J2K_CCP_CBLKSTY_SEGSYM 0x20 -#define J2K_CCP_QNTSTY_NOQNT 0 -#define J2K_CCP_QNTSTY_SIQNT 1 -#define J2K_CCP_QNTSTY_SEQNT 2 - -typedef struct -{ - int dx, dy; /* XRsiz, YRsiz */ - int prec; /* precision */ - int bpp; /* deapth of image in bits */ - int sgnd; /* signed */ - int *data; /* image-component data */ -} j2k_comp_t; - -typedef struct { - int version; - int x0, y0; /* XOsiz, YOsiz */ - int x1, y1; /* Xsiz, Ysiz */ - int numcomps; /* number of components */ - int index_on; /* 0 = no index || 1 = index */ - j2k_comp_t *comps; /* image-components */ -} j2k_image_t; - -typedef struct { - int expn; /* exponent */ - int mant; /* mantissa */ -} j2k_stepsize_t; - -typedef struct { - int csty; /* coding style */ - int numresolutions; /* number of resolutions */ - int cblkw; /* width of code-blocks */ - int cblkh; /* height of code-blocks */ - int cblksty; /* code-block coding style */ - int qmfbid; /* discrete wavelet transform identifier */ - int qntsty; /* quantisation style */ - j2k_stepsize_t stepsizes[J2K_MAXBANDS]; /* stepsizes used for quantisation */ - int numgbits; /* number of guard bits */ - int roishift; /* Region of Interest shift */ - int prcw[J2K_MAXRLVLS]; /* Precinct width */ - int prch[J2K_MAXRLVLS]; /* Precinct height */ -} j2k_tccp_t; - -typedef struct { - int resno0, compno0; - int layno1, resno1, compno1; - int prg; - int tile; - char progorder[4]; -} j2k_poc_t; - -typedef struct { - //int first; - int csty; /* coding style */ - int prg; /* progression order */ - int numlayers; /* number of layers */ - int mct; /* multi-component transform identifier */ - int rates[100]; /* rates of layers */ - int numpocs; /* number of progression order changes */ - int POC; /* Precise if a POC marker has been used O:NO, 1:YES */ - j2k_poc_t pocs[32]; /* progression order changes */ - unsigned char *ppt_data; /* packet header store there for futur use in t2_decode_packet */ - int ppt; /* If ppt == 1 --> there was a PPT marker for the present tile */ - int ppt_store; /* Use in case of multiple marker PPT (number of info already store) */ - j2k_tccp_t *tccps; /* tile-component coding parameters */ -} j2k_tcp_t; - -typedef struct { - int tx0, ty0; /* XTOsiz, YTOsiz */ - int tdx, tdy; /* XTsiz, YTsiz */ - int tw, th; - unsigned char *ppm_data; /* packet header store there for futur use in t2_decode_packet */ - int ppm; /* If ppm == 1 --> there was a PPM marker for the present tile */ - int ppm_store; /* Use in case of multiple marker PPM (number of info already store) */ - int ppm_previous; /* Use in case of multiple marker PPM (case on non-finished previous info) */ - j2k_tcp_t *tcps; /* tile coding parameters */ -} j2k_cp_t; - - - - - -/* Packet information : Layer level */ -typedef struct { - int len; /* Length of the body of the packet */ - int len_header; /* Length of the header of the packet */ - int offset; /* Offset of the body of the packet */ - int offset_header; /* Offset of the header of the packet */ -} info_layer_t; - - -/* Access to packet information : precinct level */ -typedef struct { - info_layer_t *layer; -} info_prec_t; - - -/* Access to packet information : resolution level */ -typedef struct { - info_prec_t *prec; -} info_reso_t; - - -/* Access to packet information : component level */ -typedef struct { - info_reso_t *reso; -} info_compo_t; - - -/* Information about the marker */ -typedef struct { - int type; /* type of marker [SIZ, QCD, POC, PPM, CRG, COD] appearing only once */ - int start_pos; /* Start position of the marker */ - int len; /* Length of the marker */ -} info_marker_t; - - -/* Multiple marker in tile header */ -typedef struct{ - info_marker_t *COC; /* COC markers */ - int num_COC; /* Number of COC marker */ - int CzCOC; /* Current size of the vector COC */ - - info_marker_t *RGN; /* RGN markers */ - int num_RGN; /* Number of RGN marker */ - int CzRGN; /* Current size of the vector RGN */ - - info_marker_t *QCC; /* QCC markers */ - int num_QCC; /* Number of QCC marker */ - int CzQCC; /* Current size of the vector QCC */ - - info_marker_t *PLT; /* PLT markers */ - int num_PLT; /* Number of PLT marker */ - int CzPLT; /* Current size of the vector PLT */ - - info_marker_t *PPT; /* PPT markers */ - int num_PPT; /* Number of PPT marker */ - int CzPPT; /* Current size of the vector PPT */ - - info_marker_t *COM; /* COM markers */ - int num_COM; /* Number of COM marker */ - int CzCOM; /* Current size of the vector COC */ -} info_marker_mul_tile_t; - - -/* Information about each tile_part for a particulary tile */ -typedef struct{ - int start_pos; /* Start position of the tile_part */ - int length; /* Length of the tile_part header + body */ - int length_header; /* Length of the header */ - int end_pos; /* End position of the tile part */ - int end_header; /* End position of the tile part header */ - - int num_reso_AUX; /* Number of resolution level completed */ -} info_tile_part_t; - - -/* Information about each tile */ -typedef struct { - int num_tile; /* Number of Tile */ - int pw, ph; /* number of precinct by tile */ - int num_packet; /* number of packet in the tile */ - info_compo_t *compo; /* component [packet] */ - - info_marker_t *marker; /* information concerning markers inside image [only one apparition] */ - info_marker_mul_tile_t marker_mul; /* information concerning markers inside image [multiple apparition] */ - int num_marker; /* number of marker */ - - int numparts; /* number of tile_part for this tile */ - info_tile_part_t *tile_parts; /* Information about each tile_part */ - int Cztile_parts; /* Current size of the tile_parts vector */ -} info_tile_t; /* index struct */ - - -/* Multiple marker in main header */ -typedef struct{ - info_marker_t *COC; /* COC markers */ - int num_COC; /* Number of COC marker */ - int CzCOC; /* Current size of the vector COC */ - - info_marker_t *RGN; /* RGN markers */ - int num_RGN; /* Number of RGN marker */ - int CzRGN; /* Current size of the vector RGN */ - - info_marker_t *QCC; /* QCC markers */ - int num_QCC; /* Number of QCC marker */ - int CzQCC; /* Current size of the vector QCC */ - - info_marker_t *TLM; /* TLM markers */ - int num_TLM; /* Number of TLM marker */ - int CzTLM; /* Current size of the vector TLM */ - - info_marker_t *PLM; /* PLM markers */ - int num_PLM; /* Number of PLM marker */ - int CzPLM; /* Current size of the vector PLM */ - - info_marker_t *PPM; /* PPM markers */ - int num_PPM; /* Number of PPM marker */ - int CzPPM; /* Current size of the vector PPM */ - - info_marker_t *COM; /* COM markers */ - int num_COM; /* Number of COM marker */ - int CzCOM; /* Current size of the vector COM */ -} info_marker_mul_t; /* index struct */ - - -/* Information about image */ -typedef struct { - int Im_w, Im_h; /* Image width and Height */ - int Tile_x, Tile_y; /* Number of Tile in X and Y */ - int tw, th; - int pw, ph; /* nombre precinct in X and Y */ - int pdx, pdy; /* size of precinct in X and Y */ - - int Prog; /* progression order */ - int Comp; /* Component numbers */ - int Layer; /* number of layer */ - int Decomposition; /* number of decomposition */ - - int Main_head_end; /* Main header position */ - int codestream_size; /* codestream's size */ - - info_marker_t *marker; /* information concerning markers inside image [only one apparition] */ - info_marker_mul_t marker_mul; /* information concerning markers inside image [multiple apparition] */ - int num_marker; /* number of marker */ - - int num_packet_max; /* Maximum number of packet */ - - int num_max_tile_parts; /* Maximum number of tile-part */ - info_tile_t *tile; /* information concerning tiles inside image */ -} info_image_t; /* index struct */ - - -#endif |
