"L. Spiro Engine"
|
00001 00016 #ifndef __LSC_LZWDECODER_H__ 00017 #define __LSC_LZWDECODER_H__ 00018 00019 #include "../LSCCompressionLib.h" 00020 #include "../BitStream/LSCBitStream.h" 00021 #include "LSCLzwDecodingDict.h" 00022 00023 namespace lsc { 00024 00031 class CLzwDecoder { 00032 public : 00033 // == Various constructors. 00034 LSE_CALLCTOR CLzwDecoder(); 00035 00036 00037 // == Functions. 00043 LSVOID LSE_CALL SetAllocator( CStdAllocator * _psaAllocator ); 00044 00059 LSUINT32 LSE_CALL Decode( const CBitStream &_bsStream, 00060 LSUINT32 _ui32DictionaryStartingSize, LSUINT32 _ui32MaxBits, 00061 lsstd::IStream &_sStream, LSBOOL _bResetDictionary = false ); 00062 00063 00064 protected : 00065 // == Members. 00069 CLzwDecodingDict m_lddDict; 00070 00071 }; 00072 00073 00074 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00075 // DEFINITIONS 00076 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00077 00078 00079 } // namespace lsc 00080 00081 #endif // __LSC_LZWDECODER_H__