aboutsummaryrefslogtreecommitdiff
path: root/lib/lz4frame.c
AgeCommit message (Collapse)Author
2018-06-27Fixed bugs about incorrect acceleration calculation and benchmarking ↵Jennifer Liu
negative compresion level
2018-05-05small extDict : fixed side-effectYann Collet
don't fix dictionaries of size 0. setting dictEnd == source triggers prefix mode, thus removing possibility to use CDict.
2018-05-05fixed frametest errorYann Collet
The error can be reproduced using following command : ./frametest -v -i100000000 -s1659 -t31096808 It's actually a bug in the stream LZ4 API, when starting a new stream and providing a first chunk to complete with size < MINMATCH. In which case, the chunk becomes a dictionary. No hash was generated and stored, but the chunk is accessible as default position 0 points to dictStart, and position 0 is still within MAX_DISTANCE. Then, next attempt to read 32-bits from position 0 fails. The issue would have been mitigated by starting from index 64 KB, effectively eliminating position 0 as too far away. The proper fix is to eliminate such "dictionary" as too small. Which is what this patch does.
2018-05-03Merge pull request #529 from felixhandte/lz4f-fast-reset-for-streaming-onlyYann Collet
LZ4F: Only Reset the LZ4_stream_t when Init'ing a Streaming Block
2018-05-03Only Reset the LZ4 Stream when Init'ing a Streaming BlockW. Felix Handte
2018-05-02random lz4f clarificationsYann Collet
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-04-27Merge pull request #520 from felixhandte/frame-dict-nitsYann Collet
Minor Fixes to Dictionary Preparation in LZ4 Frame
2018-04-27Merge pull request #519 from lz4/fdParserYann Collet
Faster decoding speed
2018-04-27Avoid Possibly Redundant Table Clears When Loading HC DictW. Felix Handte
2018-04-27Remove Redundant LZ4_resetStream() CallW. Felix Handte
2018-04-27Rename LZ4F_applyCDict() -> LZ4F_initStream()W. Felix Handte
2018-04-26fixed a number of minor cast warningsYann Collet
2018-04-26fasterDecSpeed can be triggered from cli with --favor-decSpeedYann Collet
2018-04-26favorDecSpeed feature can be triggered from lz4frameYann Collet
and lz4hc.
2018-04-26Limit Dictionary Size During LZ4F DecompressionW. Felix Handte
Fixes lz4/lz4#517.
2018-04-24Change Over Includes in the ProjectW. Felix Handte
2018-04-24Remove Debug Log StatementsW. Felix Handte
2018-04-20Add API for Attaching DictionariesW. Felix Handte
2018-04-19Use Fast Reset in LZ4F AgainW. Felix Handte
2018-04-19Use Fast Reset API in LZ4FW. Felix Handte
2018-04-19Call LZ4F_applyCDict Even on NULL CDictW. Felix Handte
2018-04-19Set dictCtx Rather than memcpy'ing CtxW. Felix Handte
2018-04-19Add Debug Log Statements to HCW. Felix Handte
2018-04-11Minor FixesW. Felix Handte
2018-04-11Add a LZ4_STATIC_LINKING_ONLY Macro to Guard Experimental APIsW. Felix Handte
2018-04-11Expose dictCtx Functionality in LZ4W. Felix Handte
2018-04-11Rename _extState_noReset -> _extState_fastReset and Edit CommentsW. Felix Handte
2018-04-10Expose a Faster Stream Reset FunctionW. Felix Handte
2018-03-21fix comment styleYann Collet
2018-03-13Switch ALLOC() to ALLOC_AND_ZERO() to Paper Over Existing Uninitialized ReadW. Felix Handte
2018-03-13Split lz4CtxLevel into Two FieldsW. Felix Handte
2018-03-13Another Allocation Fail CheckW. Felix Handte
2018-03-12Renames and Comment FixesW. Felix Handte
2018-03-12Hoist LZ4F Dictionary Setup into Helper LZ4F_applyCDict()W. Felix Handte
2018-03-12Minor Style FixesW. Felix Handte
2018-03-12Replace calloc() Calls With malloc() Where PossibleW. Felix Handte
2018-03-12Make LZ4F_compressFrame_usingCDict Take a Compression ContextW. Felix Handte
2018-03-12Set Dictionary Context Pointer Rather than Copying the Context InW. Felix Handte
2018-03-12Only Re-Alloc / Reset When Needed When Switching Between Regular and High ↵W. Felix Handte
Compression Modes
2018-03-12Avoid Resetting the Context When PossibleW. Felix Handte
2018-01-31refactored frameCompress exampleYann Collet
to better reflect LZ4F API usage.
2018-01-14lz4frame : removed some intermediate stage from LZ4F_decompress()Yann Collet
ensure some strange jump cases are not possible (they were already not possible, but static analyzer couldn't understand it).
2018-01-13ensure a ptr is non-nullYann Collet
with an assert() to help static analyzer understanding this condition.
2018-01-13modified formulation for LZ4F_compressBound()Yann Collet
previous version used an intentional overflow, which is defined since it uses unsigned type, but static analyzer complain about it.
2018-01-05[lz4f] Skip memcpy() on empty dictionaryNick Terrell
2017-11-03minor comment editYann Collet
2017-10-04fixed decoding block checksum in lz4frameYann Collet
2017-09-23minor lz4frame code refactorYann Collet
try to improve code readability. minor optimization on condition to preserve history.
2017-09-22Fix Segfault When Copying DictW. Felix Handte
dctx must have been initialized before we can copy the dictionary in.
2017-08-17fix : asan error in dctx, due to increased maximum frame header size, ↵Yann Collet
reported by Craig Young