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