Commit Graph

42 Commits

Author SHA1 Message Date
Yann Collet
d358e33faa Added CDict speed graph to be used for release statement 2018-05-03 16:01:24 -07:00
Yann Collet
e00ba49cde updated API documentation 2018-05-03 15:40:01 -07:00
Yann Collet
c25eb16666 random lz4f clarifications
the initial intention was to update lz4f ring buffer strategy,
but lz4f doesn't use ring buffer.
Instead, it uses the destination buffer as much as possible,
and merely copies just what's required to preserve history
into its own buffer, at the end.
Pretty efficient.

This patch just clarifies a few comments and add some assert().
It's built on top of #528.

It also updates doc.
2018-05-02 16:05:42 -07:00
Yann Collet
47d70e755e
Merge pull request #519 from lz4/fdParser
Faster decoding speed
2018-04-27 11:46:29 -07:00
Yann Collet
d294dd7fc6 ensure favorDecSpeed is properly initialized
also :
- fix a potential malloc error
- proper use of ALLOC macro inside lz4hc
- update html API doc
2018-04-27 09:04:09 -07:00
Cyan4973
bd92689798 minor edit of block format
clarifying parsing restrictions near end of block.
2018-04-25 06:42:57 -07:00
Alexey Tourbin
ff9b4cf826 lz4_Block_format.md: clarify on short inputs and restrictions
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).
2018-04-25 02:39:28 +03:00
Yann Collet
4785bd6a35 minor length reduction of several large lines 2018-04-18 16:49:27 -07:00
Cyan4973
57afa36795 compatibility with gcc-4.4 string.h version
Someone found it would be a great idea to define there a global variable under the very generic name "index".
Cause problem with shadow warnings, so no variable can be named "index" now ...

Also : automatically update API manual
2018-04-13 01:01:54 -07:00
Yann Collet
b5233d3726 updated LZ4F_compressBound() documentation
to clarify it includes potentially buffered data.
2018-02-27 23:23:27 -08:00
Yann Collet
39fda9a447 bumped version number to v1.8.2
updated NEWS was current progresses
2018-02-26 13:50:04 -08:00
Yann Collet
ba115386fa update code comment on LZ4 streaming interface
notably regarding LZ4_saveDict() speed advantage,
answering #477.
2018-02-26 13:31:18 -08:00
Yann Collet
d74f079748 update API doc regarding double-buffer strategy
answering question #473
2018-02-18 11:00:33 -08:00
Yann Collet
ea25250c99 fixed code comment as detected in #466
Also clarified a few API code comments
and updated associated html documentation
2018-02-07 02:21:25 -08:00
Yann Collet
99a81c89f0
Merge pull request #458 from lz4/ff161
Minor change to LZ4 Frame format specification
2018-02-01 10:55:02 -08:00
Yann Collet
87fb7a1d03 refactored frameCompress example
to better reflect LZ4F API usage.
2018-01-31 14:33:16 -08: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
e8ee6e5965 nicer console message for make clean 2018-01-13 18:51:33 -08:00
Yann Collet
da8bed4b01 API : changed a few variables' names for clarity
updated relevant doc.
This patch has no impact on ABI/API, nor on binary generation.
2017-11-20 10:27:05 -08:00
Yann Collet
3d260f3522 complementary information for #394 2017-08-30 16:09:10 -07:00
Yann Collet
e3c71584ff clarified documentation of streaming decompression functions
(synchronous bufferless mode)
answering questions by @jtbandes (#394)
2017-08-30 15:42:04 -07:00
Yann Collet
c4d6884cd8 build: source files sorted in a FS independent manner
to be more compatible with reproducible builds.
patch inspired by @bmwiedemann
2017-08-26 12:22:51 -07:00
Yann Collet
77f99d2922 restored block checksum capability at lz4frame API level 2017-08-11 17:46:52 -07:00
Yann Collet
757497ae3d implemented lz4frame decompression API 2017-08-10 16:53:57 -07:00
Yann Collet
4531637ecd support dictionary compression with independent blocks 2017-08-10 12:12:53 -07:00
Yann Collet
8d597d62d5 fixed gcc prototype warning 2017-08-10 10:28:52 -07:00
Yann Collet
d8aafe2c52 dictionary compression correctly uses compression level
Not obvious : copying the state was copying cdict's compression level
2017-08-10 00:48:19 -07:00
Yann Collet
31f2cdf4d2 implemented dictionary compression in lz4frame
note : only compression API is implemented and tested
still to do : decompression API
2017-08-09 16:51:19 -07:00
Yann Collet
1d1737aaf2 fixed frameCompress example 2017-08-09 12:29:38 -07: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
Yann Collet
7e15e240ab added a paragraph on overlap matches 2017-06-06 11:20:36 -07:00
Chocobo1
1c9d4091da [Doc] Fix markdown 2017-05-26 01:03:05 +08:00
Yann Collet
e60cbb5cac added test for LZ4F_resetDecompressionContext() 2017-05-10 16:28:36 -07:00
Yann Collet
a902127613 bumped version number to 1.8.0
due to addition of prototype
LZ4F_resetDecompressionContext()
2017-05-10 13:27:18 -07:00
Yann Collet
b8575f2d2b updated Makefile
to automatically build manual files with
make all
2017-05-10 13:26:04 -07:00
Przemyslaw Skibinski
f54c7e0e77 added lz4frame_manual.html 2017-01-23 16:31:42 +01:00
Przemyslaw Skibinski
6a5633e99c lz4 manual updated to v1.7.5 2017-01-23 16:03:40 +01:00
Nick Terrell
85aeb0e4bb Expose internal types to remove strict aliasing 2016-11-11 13:00:02 -08:00
Przemyslaw Skibinski
93e2477ca4 added lz4_manual.html 2016-11-10 17:22:26 +01:00
Przemyslaw Skibinski
88cef262ec documentation moved to doc/ 2016-11-03 13:25:20 +01:00