Files
easy7zip/CPP/7zip/Compress/Lzx.h
Igor Pavlov 3a524e5ba2 4.63
2016-05-28 00:15:58 +01:00

62 lines
1.5 KiB
C++
Executable File

// Lzx.h
#ifndef __COMPRESS_LZX_H
#define __COMPRESS_LZX_H
namespace NCompress {
namespace NLzx {
const int kNumHuffmanBits = 16;
const UInt32 kNumRepDistances = 3;
const UInt32 kNumLenSlots = 8;
const UInt32 kMatchMinLen = 2;
const UInt32 kNumLenSymbols = 249;
const UInt32 kMatchMaxLen = kMatchMinLen + (kNumLenSlots - 1) + kNumLenSymbols - 1;
const int kNumAlignBits = 3;
const UInt32 kAlignTableSize = 1 << kNumAlignBits;
const UInt32 kNumPosSlots = 50;
const UInt32 kNumPosLenSlots = kNumPosSlots * kNumLenSlots;
const UInt32 kMainTableSize = 256 + kNumPosLenSlots;
const UInt32 kLevelTableSize = 20;
const UInt32 kMaxTableSize = kMainTableSize;
const int kNumBlockTypeBits = 3;
const int kBlockTypeVerbatim = 1;
const int kBlockTypeAligned = 2;
const int kBlockTypeUncompressed = 3;
const int kUncompressedBlockSizeNumBits = 24;
const int kNumBitsForPreTreeLevel = 4;
const int kLevelSymbolZeros = 17;
const int kLevelSymbolZerosBig = 18;
const int kLevelSymbolSame = 19;
const int kLevelSymbolZerosStartValue = 4;
const int kLevelSymbolZerosNumBits = 4;
const int kLevelSymbolZerosBigStartValue = kLevelSymbolZerosStartValue +
(1 << kLevelSymbolZerosNumBits);
const int kLevelSymbolZerosBigNumBits = 5;
const int kLevelSymbolSameNumBits = 1;
const int kLevelSymbolSameStartValue = 4;
const int kNumBitsForAlignLevel = 3;
const int kNumDictionaryBitsMin = 15;
const int kNumDictionaryBitsMax = 21;
const UInt32 kDictionarySizeMax = (1 << kNumDictionaryBitsMax);
const int kNumLinearPosSlotBits = 17;
const UInt32 kNumPowerPosSlots = 0x26;
}}
#endif