/*
- * 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