xref: /aosp_15_r20/external/lzma/CPP/7zip/Compress/PpmdZip.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
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