1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#include "CSource.h"
/****************************************************************************
* This file is part of PPMd project *
* Written and distributed to public domain by Dmitry Shkarin 1997, *
* 1999-2001 *
* Contents: interface to encoding/decoding routines *
* Comments: this file can be used as an interface to PPMd module *
* (consisting of Model.cpp) from external program *
****************************************************************************/
#if !defined(_PPMD_H_)
#define _PPMD_H_
#include "PPMdType.h"
#ifdef __cplusplus
extern "C" {
#endif
BOOL _STDCALL StartSubAllocator(UINT SubAllocatorSize);
void _STDCALL StopSubAllocator(); /* it can be called once */
DWORD _STDCALL GetUsedMemory(); /* for information only */
/****************************************************************************
* Method of model restoration at memory insufficiency: *
* MRM_RESTART - restart model from scratch (default) *
* MRM_CUT_OFF - cut off model (nearly twice slower) *
* MRM_FREEZE - freeze context tree (dangerous) */
enum MR_METHOD { MRM_RESTART, MRM_CUT_OFF, MRM_FREEZE };
/****************************************************************************
* (MaxOrder == 1) parameter value has special meaning, it does not restart *
* model and can be used for solid mode archives; *
* Call sequence: *
* StartSubAllocator(SubAllocatorSize); *
* EncodeFile(SolidArcFile,File1,MaxOrder,MRM_RESTART); *
* EncodeFile(SolidArcFile,File2, 1,MRM_RESTART); *
* ... *
* EncodeFile(SolidArcFile,FileN, 1,MRM_RESTART); *
* StopSubAllocator(); *
****************************************************************************/
void _STDCALL EncodeFile(CSink* EncodedFile,CSource* DecodedFile,
int MaxOrder,MR_METHOD MRMethod=MRM_RESTART);
void _STDCALL DecodeFile(CSink* DecodedFile,CSource* EncodedFile,
int MaxOrder,MR_METHOD MRMethod=MRM_RESTART);
/* imported function */
void _STDCALL PrintInfo(CInfo* DecodedFile, CInfo* EncodedFile);
#ifdef __cplusplus
}
#endif
#endif /* !defined(_PPMD_H_) */
|