Commit Graph

13 Commits

Author SHA1 Message Date
a1346054
eb23590d13 fix spelling 2021-08-21 20:50:38 +00:00
Yann Collet
87a80acbe7 updated license & header dates 2020-11-25 14:45:14 -08:00
Yann Collet
0760724577 update doc 2020-11-15 01:31:09 -08:00
Yann Collet
5ab7d22fa5 clarify endMark definition 2020-08-14 15:03:03 -07:00
Yann Collet
e9cfa49d0d Clarifies and fix EndMark
EndMark, the 4-bytes value indicating the end of frame,
must be `0x00000000`.

Previously, it was just mentioned as a `0-size` block.
But such definition could encompass uncompressed blocks of size 0,
with a header of value `0x80000000`.

But the intention was to also support uncompressed empty blocks.
They could be used as a keep-alive signal.
Note that compressed empty blocks are already supported,
it's just that they have a size 1 instead of 0 (for the `0` token).

Unfortunately, the decoder implementation was also wrong,
and would also interpret a `0x80000000` block header as an endMark.

This issue evaded detection so far simply because
this situation never happens, as LZ4Frame always issues
a clean 0x00000000 value as a endMark.
It also does not flush empty blocks.

This is fixed in this PR.
The decoder can now deal with empty uncompressed blocks,
and do not confuse them with EndMark.
The specification is also clarified.
Finally, FrameTest is updated to randomly insert empty blocks during fuzzing.
2020-08-12 17:27:33 -07:00
Yann Collet
ec735ac53e updated frame format
re-wording non-full blocks,
for clarity.
2019-01-02 15:02:22 -08:00
Niklas Hambüchen
ca45db8d4f
lz4_Frame_format.md: Fix typo HexaBytes -> Exabytes 2018-11-24 22:13:10 +01:00
Yann Collet
d03224b633 fix typos as suggested by @psteinb 2018-01-31 09:54:30 -08:00
Yann Collet
fd0c125ff1 proposed a minor change to LZ4 Frame format specification
add new terms "LZ4 Frame Header" and "LZ4 Frame Footer"
2018-01-30 17:56:03 -08:00
Yann Collet
a82dadfbae added dictID inside LZ4F_frameInfo_t
Compressor can set dictID on LZ4F_compressBegin()
Decompressor can retrieve it using LZ4F_getFrameInfo()
2017-08-08 17:43:11 -07:00
Yann Collet
e98a528576 updated Frame specification
Restored DictID field in Frame header
Bumped specification version to v1.6.0
2017-08-08 11:59:57 -07:00
Chocobo1
1c9d4091da [Doc] Fix markdown 2017-05-26 01:03:05 +08:00
Przemyslaw Skibinski
88cef262ec documentation moved to doc/ 2016-11-03 13:25:20 +01:00