xref: /aosp_15_r20/external/lzma/CPP/7zip/Compress/PpmdEncoder.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1 // PpmdEncoder.h
2 
3 #ifndef ZIP7_INC_COMPRESS_PPMD_ENCODER_H
4 #define ZIP7_INC_COMPRESS_PPMD_ENCODER_H
5 
6 #include "../../../C/Ppmd7.h"
7 
8 #include "../../Common/MyCom.h"
9 
10 #include "../ICoder.h"
11 
12 #include "../Common/CWrappers.h"
13 
14 namespace NCompress {
15 namespace NPpmd {
16 
17 struct CEncProps
18 {
19   UInt32 MemSize;
20   UInt32 ReduceSize;
21   int Order;
22 
CEncPropsCEncProps23   CEncProps()
24   {
25     MemSize = (UInt32)(Int32)-1;
26     ReduceSize = (UInt32)(Int32)-1;
27     Order = -1;
28   }
29   void Normalize(int level);
30 };
31 
32 Z7_CLASS_IMP_COM_3(
33   CEncoder
34   , ICompressCoder
35   , ICompressSetCoderProperties
36   , ICompressWriteCoderProperties
37 )
38   Byte *_inBuf;
39   CByteOutBufWrap _outStream;
40   CPpmd7 _ppmd;
41   CEncProps _props;
42 public:
43   CEncoder();
44   ~CEncoder();
45 };
46 
47 }}
48 
49 #endif
50