mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-14 02:11:40 -06:00
4.20
This commit is contained in:
committed by
Kornel Lesiński
parent
8c1b5c7b7e
commit
3c510ba80b
@@ -1,7 +1,5 @@
|
||||
// Archive/Cab/LZXDecoder.h
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __ARCHIVE_CAB_LZXDECODER_H
|
||||
#define __ARCHIVE_CAB_LZXDECODER_H
|
||||
|
||||
@@ -14,14 +12,13 @@
|
||||
#include "LZXBitDecoder.h"
|
||||
|
||||
#include "LZXi86Converter.h"
|
||||
|
||||
// #include "../../../Projects/CompressInterface/CompressInterface.h"
|
||||
#include "LZXConst.h"
|
||||
|
||||
namespace NArchive {
|
||||
namespace NCab {
|
||||
namespace NLZX {
|
||||
|
||||
typedef NCompress::NHuffman::CDecoder<kNumHuffmanBits> CMSBFHuffmanDecoder;
|
||||
const int kMainTableSize = 256 + kNumPosSlotLenSlotSymbols;
|
||||
|
||||
class CDecoder :
|
||||
public ICompressCoder,
|
||||
@@ -30,36 +27,36 @@ class CDecoder :
|
||||
CLZOutWindow m_OutWindowStream;
|
||||
NBitStream::CDecoder m_InBitStream;
|
||||
|
||||
CMSBFHuffmanDecoder m_MainDecoder;
|
||||
CMSBFHuffmanDecoder m_LenDecoder; // for matches with repeated offsets
|
||||
CMSBFHuffmanDecoder m_AlignDecoder; // for matches with repeated offsets
|
||||
CMSBFHuffmanDecoder m_LevelDecoder; // table for decoding other tables;
|
||||
NCompress::NHuffman::CDecoder<kNumHuffmanBits, kMainTableSize> m_MainDecoder;
|
||||
NCompress::NHuffman::CDecoder<kNumHuffmanBits, kNumLenSymbols> m_LenDecoder;
|
||||
NCompress::NHuffman::CDecoder<kNumHuffmanBits, kAlignTableSize> m_AlignDecoder;
|
||||
NCompress::NHuffman::CDecoder<kNumHuffmanBits, kLevelTableSize> m_LevelDecoder;
|
||||
|
||||
UINT32 m_RepDistances[kNumRepDistances];
|
||||
UInt32 m_RepDistances[kNumRepDistances];
|
||||
|
||||
BYTE m_LastByteLevels[256];
|
||||
BYTE m_LastPosLenLevels[kNumPosSlotLenSlotSymbols];
|
||||
BYTE m_LastLenLevels[kNumLenSymbols];
|
||||
Byte m_LastByteLevels[256];
|
||||
Byte m_LastPosLenLevels[kNumPosSlotLenSlotSymbols];
|
||||
Byte m_LastLenLevels[kNumLenSymbols];
|
||||
|
||||
UINT32 m_DictionarySizePowerOf2;
|
||||
UINT32 m_NumPosSlots;
|
||||
UINT32 m_NumPosLenSlots;
|
||||
UInt32 m_DictionarySizePowerOf2;
|
||||
UInt32 m_NumPosSlots;
|
||||
UInt32 m_NumPosLenSlots;
|
||||
|
||||
// bool m_i86PreprocessingUsed;
|
||||
// UINT32 m_i86TranslationSize;
|
||||
// UInt32 m_i86TranslationSize;
|
||||
|
||||
bool m_UncompressedBlock;
|
||||
bool m_AlignIsUsed;
|
||||
|
||||
UINT32 m_UnCompressedBlockSize;
|
||||
UInt32 m_UnCompressedBlockSize;
|
||||
|
||||
Ci86TranslationOutStream *m_i86TranslationOutStreamSpec;
|
||||
CMyComPtr<ISequentialOutStream> m_i86TranslationOutStream;
|
||||
|
||||
BYTE m_ReservedSize;
|
||||
UINT32 m_NumInDataBlocks;
|
||||
Byte m_ReservedSize;
|
||||
UInt32 m_NumInDataBlocks;
|
||||
|
||||
void ReadTable(BYTE *lastLevels, BYTE *newLevels, UINT32 numSymbols);
|
||||
void ReadTable(Byte *lastLevels, Byte *newLevels, UInt32 numSymbols);
|
||||
void ReadTables();
|
||||
void ClearPrevLeveles();
|
||||
|
||||
@@ -74,11 +71,11 @@ public:
|
||||
// ICompressCoder interface
|
||||
STDMETHOD(Code)(ISequentialInStream *inStream,
|
||||
ISequentialOutStream *outStream,
|
||||
const UINT64 *inSize, const UINT64 *outSize,
|
||||
const UInt64 *inSize, const UInt64 *outSize,
|
||||
ICompressProgressInfo *progress);
|
||||
|
||||
void SetParams(BYTE reservedSize, UINT32 numInDataBlocks,
|
||||
UINT32 dictionarySizePowerOf2)
|
||||
void SetParams(Byte reservedSize, UInt32 numInDataBlocks,
|
||||
UInt32 dictionarySizePowerOf2)
|
||||
{
|
||||
m_ReservedSize = reservedSize;
|
||||
m_NumInDataBlocks = numInDataBlocks;
|
||||
|
||||
Reference in New Issue
Block a user