"L. Spiro Engine"
|
00001 /* 00002 * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium 00003 * Copyright (c) 2002-2007, Professor Benoit Macq 00004 * Copyright (c) 2002-2003, Yannick Verschueren 00005 * Copyright (c) 2005, Herve Drolon, FreeImage Team 00006 * All rights reserved. 00007 * 00008 * Redistribution and use in source and binary forms, with or without 00009 * modification, are permitted provided that the following conditions 00010 * are met: 00011 * 1. Redistributions of source code must retain the above copyright 00012 * notice, this list of conditions and the following disclaimer. 00013 * 2. Redistributions in binary form must reproduce the above copyright 00014 * notice, this list of conditions and the following disclaimer in the 00015 * documentation and/or other materials provided with the distribution. 00016 * 00017 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' 00018 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00019 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00020 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00021 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00022 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00023 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00024 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00025 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00026 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00027 * POSSIBILITY OF SUCH DAMAGE. 00028 */ 00029 00030 00031 #ifndef __LSI_JPT_H__ 00032 #define __LSI_JPT_H__ 00033 00034 #include "../LSIImageLib.h" 00035 #include "LSICio.h" 00036 #include "LSIJpegCommonStructs.h" 00037 00038 namespace lsi { 00039 00046 class CJpt { 00047 public : 00048 // == Types. 00052 typedef struct opj_jpt_msg_header_t { 00054 LSUINT32 Id; 00056 LSUINT32 last_byte; 00058 LSUINT32 Class_Id; 00060 LSUINT32 CSn_Id; 00062 LSUINT32 Msg_offset; 00064 LSUINT32 Msg_length; 00066 LSUINT32 Layer_nb; 00067 } * LPopj_jpt_msg_header_t, * const LPCopj_jpt_msg_header_t; 00068 00069 00070 // == Functions. 00076 static LSVOID LSE_CALL jpt_init_msg_header( opj_jpt_msg_header_t * _pjmhHeader ); 00077 00085 static LSVOID LSE_CALL jpt_read_msg_header( CJpegCommonStructs::opj_common_ptr _cpInfo, CCio::opj_cio_t * _pcCio, opj_jpt_msg_header_t * _pjmhHeader ); 00086 00087 00088 protected : 00089 // == Functions. 00097 static LSUINT32 LSE_CALL ReadVbasInfo( CCio::opj_cio_t * _pcCio, LSUINT32 _ui32Value ); 00098 00105 static LSVOID LSE_CALL ReInitMsgHeader( opj_jpt_msg_header_t * _pjmhHeader ); 00106 00107 }; 00108 00109 } // namespace lsi 00110 00111 #endif // __LSI_JPT_H__