Source code
Revision control
Copy as Markdown
Other Tools
// PpmdEncoder.h↩
↩
#ifndef __COMPRESS_PPMD_ENCODER_H↩
#define __COMPRESS_PPMD_ENCODER_H↩
↩
#include "../../../C/Ppmd7.h"↩
↩
#include "../../Common/MyCom.h"↩
↩
#include "../ICoder.h"↩
↩
#include "../Common/CWrappers.h"↩
↩
namespace NCompress {↩
namespace NPpmd {↩
↩
struct CEncProps↩
{↩
UInt32 MemSize;↩
UInt32 ReduceSize;↩
int Order;↩
↩
CEncProps()↩
{↩
MemSize = (UInt32)(Int32)-1;↩
ReduceSize = (UInt32)(Int32)-1;↩
Order = -1;↩
}↩
void Normalize(int level);↩
};↩
↩
class CEncoder :↩
public ICompressCoder,↩
public ICompressSetCoderProperties,↩
public ICompressWriteCoderProperties,↩
public CMyUnknownImp↩
{↩
Byte *_inBuf;↩
CByteOutBufWrap _outStream;↩
CPpmd7z_RangeEnc _rangeEnc;↩
CPpmd7 _ppmd;↩
CEncProps _props;↩
public:↩
MY_UNKNOWN_IMP3(↩
ICompressCoder,↩
ICompressSetCoderProperties,↩
ICompressWriteCoderProperties)↩
STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,↩
const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);↩
STDMETHOD(SetCoderProperties)(const PROPID *propIDs, const PROPVARIANT *props, UInt32 numProps);↩
STDMETHOD(WriteCoderProperties)(ISequentialOutStream *outStream);↩
CEncoder();↩
~CEncoder();↩
};↩
↩
}}↩
↩
#endif↩