1*f6dc9357SAndroid Build Coastguard Worker // PpmdZip.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_COMPRESS_PPMD_ZIP_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_COMPRESS_PPMD_ZIP_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../C/Alloc.h" 7*f6dc9357SAndroid Build Coastguard Worker #include "../../../C/Ppmd8.h" 8*f6dc9357SAndroid Build Coastguard Worker 9*f6dc9357SAndroid Build Coastguard Worker #include "../../Common/MyCom.h" 10*f6dc9357SAndroid Build Coastguard Worker 11*f6dc9357SAndroid Build Coastguard Worker #include "../ICoder.h" 12*f6dc9357SAndroid Build Coastguard Worker 13*f6dc9357SAndroid Build Coastguard Worker #include "../Common/CWrappers.h" 14*f6dc9357SAndroid Build Coastguard Worker 15*f6dc9357SAndroid Build Coastguard Worker namespace NCompress { 16*f6dc9357SAndroid Build Coastguard Worker namespace NPpmdZip { 17*f6dc9357SAndroid Build Coastguard Worker 18*f6dc9357SAndroid Build Coastguard Worker struct CBuf 19*f6dc9357SAndroid Build Coastguard Worker { 20*f6dc9357SAndroid Build Coastguard Worker Byte *Buf; 21*f6dc9357SAndroid Build Coastguard Worker CBufCBuf22*f6dc9357SAndroid Build Coastguard Worker CBuf(): Buf(NULL) {} ~CBufCBuf23*f6dc9357SAndroid Build Coastguard Worker ~CBuf() { ::MidFree(Buf); } 24*f6dc9357SAndroid Build Coastguard Worker bool Alloc(); 25*f6dc9357SAndroid Build Coastguard Worker }; 26*f6dc9357SAndroid Build Coastguard Worker 27*f6dc9357SAndroid Build Coastguard Worker 28*f6dc9357SAndroid Build Coastguard Worker Z7_CLASS_IMP_NOQIB_3( 29*f6dc9357SAndroid Build Coastguard Worker CDecoder 30*f6dc9357SAndroid Build Coastguard Worker , ICompressCoder 31*f6dc9357SAndroid Build Coastguard Worker , ICompressSetFinishMode 32*f6dc9357SAndroid Build Coastguard Worker , ICompressGetInStreamProcessedSize 33*f6dc9357SAndroid Build Coastguard Worker ) 34*f6dc9357SAndroid Build Coastguard Worker bool _fullFileMode; 35*f6dc9357SAndroid Build Coastguard Worker CByteInBufWrap _inStream; 36*f6dc9357SAndroid Build Coastguard Worker CBuf _outStream; 37*f6dc9357SAndroid Build Coastguard Worker CPpmd8 _ppmd; 38*f6dc9357SAndroid Build Coastguard Worker public: 39*f6dc9357SAndroid Build Coastguard Worker CDecoder(bool fullFileMode = true); 40*f6dc9357SAndroid Build Coastguard Worker ~CDecoder(); 41*f6dc9357SAndroid Build Coastguard Worker }; 42*f6dc9357SAndroid Build Coastguard Worker 43*f6dc9357SAndroid Build Coastguard Worker 44*f6dc9357SAndroid Build Coastguard Worker struct CEncProps 45*f6dc9357SAndroid Build Coastguard Worker { 46*f6dc9357SAndroid Build Coastguard Worker UInt32 MemSizeMB; 47*f6dc9357SAndroid Build Coastguard Worker UInt32 ReduceSize; 48*f6dc9357SAndroid Build Coastguard Worker int Order; 49*f6dc9357SAndroid Build Coastguard Worker int Restor; 50*f6dc9357SAndroid Build Coastguard Worker CEncPropsCEncProps51*f6dc9357SAndroid Build Coastguard Worker CEncProps() 52*f6dc9357SAndroid Build Coastguard Worker { 53*f6dc9357SAndroid Build Coastguard Worker MemSizeMB = (UInt32)(Int32)-1; 54*f6dc9357SAndroid Build Coastguard Worker ReduceSize = (UInt32)(Int32)-1; 55*f6dc9357SAndroid Build Coastguard Worker Order = -1; 56*f6dc9357SAndroid Build Coastguard Worker Restor = -1; 57*f6dc9357SAndroid Build Coastguard Worker } 58*f6dc9357SAndroid Build Coastguard Worker void Normalize(int level); 59*f6dc9357SAndroid Build Coastguard Worker }; 60*f6dc9357SAndroid Build Coastguard Worker 61*f6dc9357SAndroid Build Coastguard Worker 62*f6dc9357SAndroid Build Coastguard Worker Z7_CLASS_IMP_NOQIB_2( 63*f6dc9357SAndroid Build Coastguard Worker CEncoder 64*f6dc9357SAndroid Build Coastguard Worker , ICompressCoder 65*f6dc9357SAndroid Build Coastguard Worker , ICompressSetCoderProperties 66*f6dc9357SAndroid Build Coastguard Worker ) 67*f6dc9357SAndroid Build Coastguard Worker CByteOutBufWrap _outStream; 68*f6dc9357SAndroid Build Coastguard Worker CBuf _inStream; 69*f6dc9357SAndroid Build Coastguard Worker CPpmd8 _ppmd; 70*f6dc9357SAndroid Build Coastguard Worker CEncProps _props; 71*f6dc9357SAndroid Build Coastguard Worker public: 72*f6dc9357SAndroid Build Coastguard Worker CEncoder(); 73*f6dc9357SAndroid Build Coastguard Worker ~CEncoder(); 74*f6dc9357SAndroid Build Coastguard Worker }; 75*f6dc9357SAndroid Build Coastguard Worker 76*f6dc9357SAndroid Build Coastguard Worker }} 77*f6dc9357SAndroid Build Coastguard Worker 78*f6dc9357SAndroid Build Coastguard Worker #endif 79