aboutsummaryrefslogtreecommitdiff
path: root/doc/lz4_Block_format.md
AgeCommit message (Collapse)Author
2019-04-11updated block format with more details on MF_LIMITYann Collet
aka distance from end of block for the last match.
2019-01-02updated LZ4 block formatYann Collet
rewording the end of block conditions for clarity and answering related questions.
2018-04-25minor edit of block formatCyan4973
clarifying parsing restrictions near end of block.
2018-04-25lz4_Block_format.md: clarify on short inputs and restrictionsAlexey Tourbin
It occurred to me that the formula "The last 5 bytes are always literals", on the list of "assumptions made by the decoder", is remarkably ambiguous. Suppose the decoder is presented with 5 bytes. Are they literals? It may seem that the decoder degenerates to memcpy on short inputs. But of course the answer is no, so the formula needs some clarification. Parsing restrictions should be explained as well, otherwise they look like arbitrary numbers. The 5-byte restriction has been mentioned recently in connection with the shortcut in LZ4_decompress_generic, so I add that. The second restriction is left to be explained by the author. I also took the liberty to explain that empty inputs "are either unrepresentable or can be represented with a null byte". This wording may actually have some merit: it leaves for the implementation, as opposed to the spec, to decide whether the encoder can compress empty inputs, and whether the decoder can produce an empty output (which the implementation should further clarify).
2017-06-06added a paragraph on overlap matchesYann Collet
2016-11-03documentation moved to doc/Przemyslaw Skibinski