2.5 LZNT1 Algorithm Details
The LZNT1 algorithm employs a grammar common to LZ77 variants, making use of LZ77 [UASDC] literals and matches and using the characteristic processing. The LZNT1 algorithm is comparable to the Plain LZ77 variant, which implements the features of LZ77 through a specialized buffer format as specified in section 2.3 and section 2.4. Key differences between the "plain" and LZNT1 variants include the following:
LZNT1 uses a less complex process to encode lengths.
LZNT1 varies the number of bits used to encode length and distance, whereas the sizes of the Plain LZ77-encoded fields are fixed.
LZNT1 groups flags in bytes; Plain LZ77 groups them in 4-byte DWORDs.
The LZNT1 buffer is structured as a series of chunks that can be independently decompressed.