3 #include "../LZInWindow.h"
4 #include "../IMatchFinder.h"
6 namespace BT_NAMESPACE {
9 const UInt32 kMaxValForNormalize = (UInt32(1) << 31) - 1;
15 public IMatchFinderSetNumPasses
17 UInt32 _cyclicBufferPos;
18 UInt32 _cyclicBufferSize; // it must be historySize + 1
27 void FreeThisClassMemory();
32 STDMETHOD(SetStream)(ISequentialInStream *inStream);
33 STDMETHOD_(void, ReleaseStream)();
36 STDMETHOD_(Byte, GetIndexByte)(Int32 index);
37 STDMETHOD_(UInt32, GetMatchLen)(Int32 index, UInt32 back, UInt32 limit);
38 STDMETHOD_(UInt32, GetNumAvailableBytes)();
39 STDMETHOD_(const Byte *, GetPointerToCurrentPos)();
40 STDMETHOD_(Int32, NeedChangeBufferPos)(UInt32 numCheckBytes);
41 STDMETHOD_(void, ChangeBufferPos)();
43 STDMETHOD(Create)(UInt32 historySize, UInt32 keepAddBufferBefore,
44 UInt32 matchMaxLen, UInt32 keepAddBufferAfter);
45 STDMETHOD(GetMatches)(UInt32 *distances);
46 STDMETHOD(Skip)(UInt32 num);
50 virtual ~CMatchFinder();
51 virtual void SetNumPasses(UInt32 numPasses) { _cutValue = numPasses; }