summaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* Update lz4_Block_format.mdFrank Wessels2021-10-251-1/+1
| | | Mini typo
* Merge pull request #1022 from lz4/unameYann Collet2021-09-202-5/+5
|\ | | | | make UNAME externally definable
| * make UNAME externally definableYann Collet2021-08-162-5/+5
| | | | | | | | | | | | | | on top of providing a central definition place, which eases maintenance, it might also help for #1021. Also : updated doc
* | fix spellinga13460542021-08-211-4/+4
|/
* updated license & header datesYann Collet2020-11-252-2/+3
|
* update docYann Collet2020-11-151-2/+2
|
* update obsolete section documentationYann Collet2020-11-082-26/+43
| | | | | and update manuals. fix #712
* bump version numberYann Collet2020-09-292-25/+47
| | | | to v1.9.3
* clarify endMark definitionYann Collet2020-08-141-4/+4
|
* Clarifies and fix EndMarkYann Collet2020-08-131-18/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* bumped version number to v1.9.2Yann Collet2019-07-012-4/+4
| | | | to reduce risks that future bug reports in `dev` branch report `v1.9.1` as the failing version.
* precise again that LZ4 decoder needs metadataYann Collet2019-06-061-20/+31
| | | | and that such metadata must be provided / sent / saved by the application.
* added more details for in-place documentationYann Collet2019-05-311-12/+13
|
* updated API manualYann Collet2019-05-301-1/+1
|
* add more doc on in-place (de)compressionYann Collet2019-05-301-5/+25
|
* added comments and macros for in-place (de)compressionYann Collet2019-05-291-2/+36
|
* bumped version numberYann Collet2019-04-192-4/+4
| | | | to v1.9.1
* address a few minor Visual warningsYann Collet2019-04-181-16/+13
| | | | and created target cxx17build
* updated doc to underline difference between block and frameYann Collet2019-04-121-7/+11
| | | | as this is a very frequent source of confusion for new users.
* improved documentation for LZ4 dictionary compressionYann Collet2019-04-112-4/+9
|
* introduce LZ4_DISTANCE_MAX build macroYann Collet2019-04-112-14/+48
| | | | | | | | | | make it possible to generate LZ4-compressed block with a controlled maximum offset (necessarily <= 65535). This could be useful for compatibility with decoders using a very limited memory budget (<64 KB). Answer #154
* updated block format with more details on MF_LIMITYann Collet2019-04-111-12/+23
| | | | aka distance from end of block for the last match.
* modified LZ4_initStreamHC() to look like LZ4_initStream()Yann Collet2019-04-091-12/+19
| | | | | it is now a pure initializer, for statically allocated states. It can initialize any memory area, and because of this, requires size.
* created LZ4_initStream()Yann Collet2019-04-051-44/+43
| | | | | | | | | | - promoted LZ4_resetStream_fast() to stable - moved LZ4_resetStream() into deprecate, but without triggering a compiler warning - update all sources to no longer rely on LZ4_resetStream() note : LZ4_initStream() proposal is slightly different : it's able to initialize any buffer, provided that it's large enough. To this end, it accepts a void*, and returns an LZ4_stream_t*.
* make `_fast*()` decoder generate a deprecation warningYann Collet2019-04-042-28/+41
| | | | updated modification
* fixed docYann Collet2019-04-031-9/+12
| | | | and bumped version number fo v1.9.0
* moved _destSize() into "stable API" statusYann Collet2019-04-031-7/+14
| | | | as requested in #642
* updated frame formatYann Collet2019-01-021-7/+10
| | | | | re-wording non-full blocks, for clarity.
* updated LZ4 block formatYann Collet2019-01-021-36/+33
| | | | | rewording the end of block conditions for clarity and answering related questions.
* Merge remote-tracking branch 'upstream/master' into bootcampBing Xu2018-11-261-1/+1
|\
| * lz4_Frame_format.md: Fix typo HexaBytes -> ExabytesNiklas Hambüchen2018-11-241-1/+1
| |
* | updated code documentationYann Collet2018-10-152-18/+29
| | | | | | | | to clarify #589
* | changed LZ4_streamDecode member orderYann Collet2018-09-251-10/+10
| | | | | | | | to reduce memory usage on 128-bits systems
* | Merge pull request #575 from lz4/apiDocYann Collet2018-09-181-65/+60
|\ \ | | | | | | unpublish static-only functions
| * | unpublish static-only functionYann Collet2018-09-132-74/+71
| | | | | | | | | | | | | | | | | | | | | these functions are now unpublished in dll by default. One needs to opt-in, using macro LZ4_PUBLISH_STATIC_FUNCTIONS. used this opportunity to update a bunch of api comments in lz4.h
* | | avoid final trailing comma for enum listsYann Collet2018-09-132-10/+13
|/ / | | | | | | | | | | | | as detected in #485 by @JoachimSchneider. Refactored the c_standards tests so that these issues get automatically detected in CI tests.
* | removed image from repositoryYann Collet2018-09-121-0/+0
|/ | | | used for v1.8.2 announcement
* updated function interface documentationYann Collet2018-09-071-38/+67
|
* updated documentation regarding dictionary compressionYann Collet2018-09-052-5/+5
| | | | | | following suggestion from @stbrumme (#558) Also : bumped version number, regenerated man page and html doc
* fixed spelling mistake in lz4_manualJack Luo2018-07-291-1/+1
|
* Added CDict speed graph to be used for release statementYann Collet2018-05-031-0/+0
|
* updated API documentationYann Collet2018-05-031-6/+20
|
* random lz4f clarificationsYann Collet2018-05-021-16/+38
| | | | | | | | | | | | | | 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.
* Merge pull request #519 from lz4/fdParserYann Collet2018-04-272-9/+66
|\ | | | | Faster decoding speed
| * ensure favorDecSpeed is properly initializedYann Collet2018-04-272-9/+66
| | | | | | | | | | | | | | also : - fix a potential malloc error - proper use of ALLOC macro inside lz4hc - update html API doc
* | minor edit of block formatCyan49732018-04-251-28/+32
| | | | | | | | clarifying parsing restrictions near end of block.
* | lz4_Block_format.md: clarify on short inputs and restrictionsAlexey Tourbin2018-04-241-3/+12
|/ | | | | | | | | | | | | | | | | | | | | | 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).
* minor length reduction of several large linesYann Collet2018-04-181-21/+29
|
* compatibility with gcc-4.4 string.h versionCyan49732018-04-131-22/+72
| | | | | | | 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
* updated LZ4F_compressBound() documentationYann Collet2018-02-281-3/+6
| | | | to clarify it includes potentially buffered data.