"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSImageLib/Src/Jpeg/LSIRaw.h

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) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
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_RAW_H__
00032 #define __LSI_RAW_H__
00033 
00034 #include "../LSIImageLib.h"
00035 
00036 namespace lsi {
00037 
00044         class CRaw {
00045         public :
00046                 // == Types.
00050                 typedef struct opj_raw {
00052                         LSUINT8                                                         c;
00054                         LSUINT32                                                        ct;
00056                         LSUINT32                                                        lenmax;
00058                         LSUINT32                                                        len;
00060                         LSUINT8 *                                                       bp;
00062                         LSUINT8 *                                                       start;
00064                         LSUINT8 *                                                       end;
00065                 } opj_raw_t;
00066 
00067 
00068                 // == Functions.
00074                 static opj_raw_t * LSE_CALL                             raw_create();
00075                 
00081                 static LSVOID LSE_CALL                                  raw_destroy( opj_raw_t * _prRaw );
00082                 
00089                 static LSINT32 LSE_CALL                                 raw_numbytes( opj_raw_t * _prRaw );
00090                 
00098                 static LSVOID LSE_CALL                                  raw_init_dec( opj_raw_t * _prRaw, LSUINT8 * _pui8Buffer, LSINT32 _i32Len );
00099                 
00106                 static LSINT32 LSE_CALL                                 raw_decode( opj_raw_t * _prRaw );
00107 
00108 
00109                 // == Members.
00110         };
00111 
00112 }       // namespace lsi
00113 
00114 #endif  // __LSI_RAW_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator