]> Creatis software - gdcm.git/blob - src/gdcmopenjpeg/libopenjpeg/jpt.h
ENH: Huge update to openjpeg 1.0 (actually more CVS)...
[gdcm.git] / src / gdcmopenjpeg / libopenjpeg / jpt.h
1 /*\r
2  * Copyright (c) 2004, Yannick Verschueren\r
3  * Copyright (c) 2005, HervĂ© Drolon, FreeImage Team\r
4  * Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium\r
5  * All rights reserved.\r
6  *\r
7  * Redistribution and use in source and binary forms, with or without\r
8  * modification, are permitted provided that the following conditions\r
9  * are met:\r
10  * 1. Redistributions of source code must retain the above copyright\r
11  *    notice, this list of conditions and the following disclaimer.\r
12  * 2. Redistributions in binary form must reproduce the above copyright\r
13  *    notice, this list of conditions and the following disclaimer in the\r
14  *    documentation and/or other materials provided with the distribution.\r
15  *\r
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'\r
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\r
20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
26  * POSSIBILITY OF SUCH DAMAGE.\r
27  */\r
28 \r
29 #ifndef __JPT_H\r
30 #define __JPT_H\r
31 /**\r
32 @file jpt.h\r
33 @brief JPT-stream reader (JPEG 2000, JPIP)\r
34 \r
35 JPT-stream functions are implemented in J2K.C. \r
36 */\r
37 \r
38 /**\r
39 Message Header JPT stream structure\r
40 */\r
41 typedef struct opj_jpt_msg_header {\r
42   /** In-class Identifier */\r
43   unsigned int Id;\r
44   /** Last byte information */\r
45   unsigned int last_byte;  \r
46   /** Class Identifier */\r
47   unsigned int Class_Id;  \r
48   /** CSn : index identifier */\r
49   unsigned int CSn_Id;\r
50   /** Message offset */\r
51   unsigned int Msg_offset;\r
52   /** Message length */\r
53   unsigned int Msg_length;\r
54   /** Auxiliary for JPP case */\r
55   unsigned int Layer_nb;\r
56 } opj_jpt_msg_header_t;\r
57 \r
58 /* ----------------------------------------------------------------------- */\r
59 \r
60 /**\r
61 Initialize the value of the message header structure \r
62 @param header Message header structure\r
63 */\r
64 void jpt_init_msg_header(opj_jpt_msg_header_t * header);\r
65 \r
66 /**\r
67 Read the message header for a JPP/JPT - stream\r
68 @param cinfo Codec context info\r
69 @param cio CIO handle\r
70 @param header Message header structure\r
71 */\r
72 void jpt_read_msg_header(opj_common_ptr cinfo, opj_cio_t *cio, opj_jpt_msg_header_t *header);\r
73 \r
74 #endif\r