namespace SabreTools.Models.Compression.LZX { public static class Constants { /* some constants defined by the LZX specification */ public const int LZX_MIN_MATCH = 2; public const int LZX_MAX_MATCH = 257; public const int LZX_NUM_CHARS = 256; public const int LZX_PRETREE_NUM_ELEMENTS = 20; /// /// aligned offset tree #elements /// public const int LZX_ALIGNED_NUM_ELEMENTS = 8; /// /// this one missing from spec! /// public const int LZX_NUM_PRIMARY_LENGTHS = 7; /// /// length tree #elements /// public const int LZX_NUM_SECONDARY_LENGTHS = 249; /* LZX huffman defines: tweak tablebits as desired */ public const int LZX_PRETREE_MAXSYMBOLS = LZX_PRETREE_NUM_ELEMENTS; public const int LZX_PRETREE_TABLEBITS = 6; public const int LZX_MAINTREE_MAXSYMBOLS = LZX_NUM_CHARS + 50 * 8; public const int LZX_MAINTREE_TABLEBITS = 12; public const int LZX_LENGTH_MAXSYMBOLS = LZX_NUM_SECONDARY_LENGTHS + 1; public const int LZX_LENGTH_TABLEBITS = 12; public const int LZX_ALIGNED_MAXSYMBOLS = LZX_ALIGNED_NUM_ELEMENTS; public const int LZX_ALIGNED_TABLEBITS = 7; public const int LZX_LENTABLE_SAFETY = 64; /* we allow length table decoding overruns */ } }