2 * Copyright (c) 2001-2002, David Janssens
3 * Copyright (c) 2002-2003, Yannick Verschueren
4 * Copyright (c) 2002-2003, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
53 double disto; /* add for index (Cfr. Marcela) */
66 unsigned char data[8192];
67 int numpassesinlayers;
68 tcd_layer_t layers[100];
70 tcd_pass_t passes[100];
84 tcd_precinct_t *precincts;
91 int previous_x0, previous_y0, previous_x1, previous_y1; /* usefull for the DWT */
92 int cas_col, cas_row; /* usefull for the DWT */
93 int pw, ph; /* , old_pw,old_ph, old_pw_max,old_ph_max; */
100 int previous_row, previous_col; /* usefull for the DWT */
102 tcd_resolution_t *resolutions;
111 tcd_tilecomp_t *comps;
120 * Initialize the tile coder/decoder
122 * cp: coding parameters
123 * info_IM: creation of index file
125 void tcd_init_encode(j2k_image_t * img, j2k_cp_t * cp, int curtileno);
127 void tcd_malloc_encode(j2k_image_t * img, j2k_cp_t * cp, int curtileno);
129 void tcd_init(j2k_image_t * img, j2k_cp_t * cp);
131 void tcd_free_encode(j2k_image_t * img, j2k_cp_t * cp, int curtileno);
134 * Encode a tile from the raw image into a buffer, format pnm, pgm or ppm
135 * tileno: number that identifies one of the tiles to be encoded
136 * dest: destination buffer
137 * len: length of destination buffer
139 int tcd_encode_tile_pxm(int tileno, unsigned char *dest, int len,
140 info_image * info_IM);
143 * Encode a tile from the raw image into a buffer, format pgx
144 * tileno: number that identifies one of the tiles to be encoded
145 * dest: destination buffer
146 * len: length of destination buffer
148 int tcd_encode_tile_pgx(int tileno, unsigned char *dest, int len,
149 info_image * info_IM);
152 * Decode a tile from a buffer into a raw image
154 * len: length of the source buffer
155 * tileno: number that identifies the tile that will be decoded
157 int tcd_decode_tile(unsigned char *src, int len, int tileno);