OpenJPEG  1.5.1
pi.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
3  * Copyright (c) 2002-2007, Professor Benoit Macq
4  * Copyright (c) 2001-2003, David Janssens
5  * Copyright (c) 2002-2003, Yannick Verschueren
6  * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
7  * Copyright (c) 2005, Herve Drolon, FreeImage Team
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in the
17  * documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 #ifndef __PI_H
33 #define __PI_H
34 
45 
49 typedef struct opj_pi_resolution {
50  int pdx, pdy;
51  int pw, ph;
53 
57 typedef struct opj_pi_comp {
58  int dx, dy;
63 
67 typedef struct opj_pi_iterator {
69  char tp_on;
71  short int *include;
73  int step_l;
75  int step_r;
77  int step_c;
79  int step_p;
81  int compno;
83  int resno;
85  int precno;
87  int layno;
89  int first;
93  int numcomps;
96  int tx0, ty0, tx1, ty1;
97  int x, y, dx, dy;
99 
102 /* ----------------------------------------------------------------------- */
112 opj_pi_iterator_t *pi_initialise_encode(opj_image_t *image, opj_cp_t *cp, int tileno,J2K_T2_MODE t2_mode);
125 opj_bool pi_create_encode(opj_pi_iterator_t *pi, opj_cp_t *cp,int tileno, int pino,int tpnum, int tppos, J2K_T2_MODE t2_mode,int cur_totnum_tp);
134 opj_pi_iterator_t *pi_create_decode(opj_image_t * image, opj_cp_t * cp, int tileno);
135 
143 void pi_destroy(opj_pi_iterator_t *pi, opj_cp_t *cp, int tileno);
144 
151 /* ----------------------------------------------------------------------- */
155 
156 #endif /* __PI_H */
int ty0
Definition: pi.h:96
void pi_destroy(opj_pi_iterator_t *pi, opj_cp_t *cp, int tileno)
Destroy a packet iterator.
Definition: pi.c:688
opj_pi_comp_t * comps
Components.
Definition: pi.h:95
int tx0
Definition: pi.h:96
int dx
Definition: pi.h:58
char tp_on
Enabling Tile part generation.
Definition: pi.h:69
int pdy
Definition: pi.h:50
Progression order changes.
Definition: openjpeg.h:202
int layno
layer that identify the packet
Definition: pi.h:87
int numcomps
number of components in the image
Definition: pi.h:93
FIXME: documentation.
Definition: pi.h:57
opj_pi_iterator_t * pi_create_decode(opj_image_t *image, opj_cp_t *cp, int tileno)
Create a packet iterator for Decoder.
Definition: pi.c:410
struct opj_pi_resolution opj_pi_resolution_t
FIXME: documentation.
int ty1
Definition: pi.h:96
Packet iterator.
Definition: pi.h:67
struct opj_pi_comp opj_pi_comp_t
FIXME: documentation.
int dy
Definition: pi.h:97
Defines image data and characteristics.
Definition: openjpeg.h:533
opj_bool pi_next(opj_pi_iterator_t *pi)
Modify the packet iterator to point to the next packet.
Definition: pi.c:710
enum T2_MODE J2K_T2_MODE
T2 encoding mode.
FIXME: documentation.
Definition: pi.h:49
int step_l
layer step used to localize the packet in the include vector
Definition: pi.h:73
opj_pi_resolution_t * resolutions
Definition: pi.h:61
int pdx
Definition: pi.h:50
int dy
Definition: pi.h:58
int compno
component that identify the packet
Definition: pi.h:81
opj_poc_t poc
progression order change information
Definition: pi.h:91
int x
Definition: pi.h:97
Coding parameters.
Definition: j2k.h:204
int tx1
Definition: pi.h:96
int resno
resolution that identify the packet
Definition: pi.h:83
short int * include
precise if the packet has been already used (usefull for progression order change) ...
Definition: pi.h:71
struct opj_pi_iterator opj_pi_iterator_t
Packet iterator.
int precno
precinct that identify the packet
Definition: pi.h:85
int ph
Definition: pi.h:51
int opj_bool
Definition: openjpeg.h:63
int numresolutions
number of resolution levels
Definition: pi.h:60
int dx
Definition: pi.h:97
int first
0 if the first packet
Definition: pi.h:89
opj_bool pi_create_encode(opj_pi_iterator_t *pi, opj_cp_t *cp, int tileno, int pino, int tpnum, int tppos, J2K_T2_MODE t2_mode, int cur_totnum_tp)
Modify the packet iterator for enabling tile part generation.
Definition: pi.c:729
int step_c
component step used to localize the packet in the include vector
Definition: pi.h:77
int step_p
precinct step used to localize the packet in the include vector
Definition: pi.h:79
int y
Definition: pi.h:97
opj_pi_iterator_t * pi_initialise_encode(opj_image_t *image, opj_cp_t *cp, int tileno, J2K_T2_MODE t2_mode)
Create a packet iterator for Encoder.
Definition: pi.c:543
int step_r
resolution step used to localize the packet in the include vector
Definition: pi.h:75
int pw
Definition: pi.h:51