(no commit message)
[openjpeg.git] / libopenjpeg / jpt.h
index 0e96fb1ca665029185eb883258335069800d56ad..22af2c2a0adb905350435e2a5907b894451464ab 100644 (file)
@@ -1,6 +1,9 @@
 /*
- * Copyright (c) 2004, Yannick Verschueren
- * Copyright (c) 2004,  Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
+ * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
+ * Copyright (c) 2002-2007, Professor Benoit Macq
+ * Copyright (c) 2002-2003, Yannick Verschueren
+ * Copyright (c) 2005, Herve Drolon, FreeImage Team
+ * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
-/*
- * Message Header JPT_stream Structure 
- *
- */
-typedef struct {
-    unsigned int Id;           /* In-class Identifier    */
-    unsigned int last_byte;    /* Last byte information  */
-    unsigned int Class_Id;     /* Class Identifier       */
-    unsigned int CSn_Id;       /* CSn : index identifier */
-    unsigned int Msg_offset;   /* Message offset         */
-    unsigned int Msg_length;   /* Message length         */
-    unsigned int Layer_nb;     /* Auxiliary for JPP case */
-} jpt_msg_header_struct_t;
+#ifndef __JPT_H
+#define __JPT_H
+/**
+@file jpt.h
+@brief JPT-stream reader (JPEG 2000, JPIP)
 
-/*
- * Initialize the value of the message header structure 
- *
- * header : Message header structure
- *
- */
-void jpt_init_Msg_Header(jpt_msg_header_struct_t * header);
+JPT-stream functions are implemented in J2K.C. 
+*/
+#include "openjpeg.h"
+struct opj_stream_private;
+struct opj_event_mgr;
+/**
+Message Header JPT stream structure
+*/
+typedef struct opj_jpt_msg_header 
+{
+       /** In-class Identifier */
+       OPJ_UINT32 Id;
+       /** Last byte information */
+       OPJ_UINT32 last_byte;   
+       /** Class Identifier */
+       OPJ_UINT32 Class_Id;    
+       /** CSn : index identifier */
+       OPJ_UINT32 CSn_Id;
+       /** Message offset */
+       OPJ_UINT32 Msg_offset;
+       /** Message length */
+       OPJ_UINT32 Msg_length;
+       /** Auxiliary for JPP case */
+       OPJ_UINT32 Layer_nb;
+} opj_jpt_msg_header_t;
 
-/*
+/* ----------------------------------------------------------------------- */
+
+/**
+Initialize the value of the message header structure 
+@param header Message header structure
+*/
+void jpt_init_msg_header(opj_jpt_msg_header_t * header);
+
+/**
  * Read the message header for a JPP/JPT - stream
- *
- * header : Message header structure
- *
- */
-void jpt_read_Msg_Header(jpt_msg_header_struct_t * header);
+ * @param      p_cio           stream handle
+ * @param      header          JPT Message header structure
+ * @param      p_manager       user event manager to display nice messages.
+*/
+bool jpt_read_msg_header(
+               struct opj_stream_private * p_cio, 
+               opj_jpt_msg_header_t * p_header, 
+               OPJ_UINT32 * p_nb_bytes_read,
+               struct opj_event_mgr * p_manager);
+
+#endif