3 /* LZX uses what it calls 'position slots' to represent match offsets.
4 * What this means is that a small 'position slot' number and a small
5 * offset from that slot are encoded instead of one large offset for
7 * - lzx_position_base is an index to the position slot bases
8 * - lzx_extra_bits states how many bits of offset-from-base data is needed.
10 const u8 lzx_extra_bits[LZX_NUM_POSITION_SLOTS] = {
17 /*14, 14, 15, 15, 16,*/
18 /*16, 17, 17, 17, 17,*/
19 /*17, 17, 17, 17, 17,*/
20 /*17, 17, 17, 17, 17,*/
24 const u32 lzx_position_base[LZX_NUM_POSITION_SLOTS] = {
26 6 , 8 , 12 , 16 , 24 ,
27 32 , 48 , 64 , 96 , 128 ,
28 192 , 256 , 384 , 512 , 768 ,
29 1024 , 1536 , 2048 , 3072 , 4096 ,
30 6144 , 8192 , 12288 , 16384 , 24576 ,
31 /*32768 , 49152 , 65536 , 98304 , 131072 ,*/
32 /*196608 , 262144 , 393216 , 524288 , 655360 ,*/
33 /*786432 , 917504 , 1048576, 1179648, 1310720,*/
34 /*1441792, 1572864, 1703936, 1835008, 1966080,*/