summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* lz4opt: added hash chain searchYann Collet2017-10-213-24/+63
|
* switched many types to intYann Collet2017-10-201-38/+37
|
* removed SET_PRICE macroYann Collet2017-10-201-17/+14
|
* removed one macro usageYann Collet2017-10-201-4/+11
|
* minor refactorYann Collet2017-10-201-28/+35
| | | | | reduce variable scope remove one macro usage
* lz4opt: refactor sequence reverse traversalYann Collet2017-10-201-10/+20
|
* refactor variable matchnumYann Collet2017-10-201-14/+14
| | | | | separate initial and iterative search renamed nb_matches
* simplified initial cost conditionsYann Collet2017-10-201-10/+15
| | | | llen integrated in opt[]
* added assertYann Collet2017-10-192-1/+9
|
* renamed last_pos into last_match_posYann Collet2017-10-191-15/+15
|
* simplified early exit when single solutionYann Collet2017-10-191-5/+5
|
* fused getLongerMatch and getWiderMatchYann Collet2017-10-091-1/+1
|
* re-inserted last byte test in widerMatchYann Collet2017-10-091-19/+22
|
* early out is not betterYann Collet2017-10-092-2/+1
|
* optional fuseYann Collet2017-10-091-68/+53
|
* improved search of rep-1 patternsYann Collet2017-10-091-27/+131
|
* insertAndFindBestMatch defers to insertAndGetWiderMatchYann Collet2017-10-091-3/+13
|
* fixed decoding block checksum in lz4frameYann Collet2017-10-041-4/+3
|
* fix #404Yann Collet2017-09-301-2/+5
| | | | | | | | | | | | | | | | static analyzer `cppcheck` complains about a shift-by-32 on a 32 bits value, which is an undefined behavior. However, the flagged code path is never triggered in 32-bits mode, (actually, it's not even generated if DCE kicks in), the shift-by-32 is necessarily performed on a 64-bits value. While it doesn't change anything regarding lz4 code generation, for both 32 and 64 bits mode, (can be checked by md5sum on the generated binary), the shift has been rewritten in a way which should please this static analyzer, since it now pretends to shift by 16 on 32-bits cpu (note : it doesn't matter since the code will not even be generated in this case). Note : this is a blind fix, the new code has not been tested with cppcheck, because cppcheck only works on Windows. Other static analyzer, such as scan-build, do not trigger this false positive.
* minor lz4frame code refactorYann Collet2017-09-231-50/+54
| | | | | try to improve code readability. minor optimization on condition to preserve history.
* Fix Segfault When Copying DictW. Felix Handte2017-09-221-0/+1
| | | | dctx must have been initialized before we can copy the dictionary in.
* fixed a bunch of -Wcomma warningsYann Collet2017-09-101-1/+5
| | | | reported by @rvandermeulen (#398)
* fix #397 : decompression failed when using a combination of extDict + low ↵Yann Collet2017-09-071-2/+1
| | | | | | | | memory address Reported and fixed by @jscheid Note : we are missing a test case to include it in the CI
* bench : made decompression speed evaluation same time as compressionYann Collet2017-09-071-17/+16
| | | | minor : slightly modified an example do avoid disabling a gcc warning through #pragma
* minor Makefile fixesYann Collet2017-09-071-1/+2
|
* updated lib/READMEYann Collet2017-09-061-28/+28
| | | | clarifications, improved wording
* complementary information for #394Yann Collet2017-08-301-8/+14
|
* clarified documentation of streaming decompression functionsYann Collet2017-08-301-9/+13
| | | | | (synchronous bufferless mode) answering questions by @jtbandes (#394)
* fixed FS-independent file order in /libYann Collet2017-08-291-2/+2
| | | | identified by @bmwiedemann
* build: source files sorted in a FS independent mannerYann Collet2017-08-261-2/+3
| | | | | to be more compatible with reproducible builds. patch inspired by @bmwiedemann
* Don't use C++11 deprecation attribute with clangNick Terrell2017-08-241-2/+4
| | | | | Clang doesn't accept a C++11 attribute following `LZ4LIB_API`. Use the GNU attribute instead.
* FIX: added prefix to FORCE_INLINE to prevent redefinition error during ↵tcpan2017-08-244-37/+37
| | | | compilation when used with other libraries that define FORCE_INLINE
* fix : asan error in dctx, due to increased maximum frame header size, ↵v1.8.0Yann Collet2017-08-171-3/+3
| | | | reported by Craig Young
* Merge branch 'dev' into installVars and fixed conflictsYann Collet2017-08-157-526/+817
|\
| * Merge pull request #383 from lz4/blockChecksumYann Collet2017-08-153-326/+400
| |\ | | | | | | Block checksum
| | * restored block checksum capability at lz4frame API levelYann Collet2017-08-123-326/+400
| | |
| * | Merge pull request #380 from lz4/dictIDYann Collet2017-08-157-239/+456
| |\ \ | | |/ | | | Frame Dictionary API
| | * implemented lz4frame decompression APIYann Collet2017-08-103-64/+72
| | |
| | * support dictionary compression with independent blocksYann Collet2017-08-102-62/+83
| | |
| | * fixed gcc prototype warningYann Collet2017-08-101-1/+1
| | |
| | * dictionary compression correctly uses compression levelYann Collet2017-08-105-36/+62
| | | | | | | | | | | | Not obvious : copying the state was copying cdict's compression level
| | * fixed C++ conversion warningsYann Collet2017-08-101-2/+2
| | |
| | * fixed uninitialization error in lz4frameYann Collet2017-08-101-4/+5
| | |
| | * implemented dictionary compression in lz4frameYann Collet2017-08-096-93/+238
| | | | | | | | | | | | | | | note : only compression API is implemented and tested still to do : decompression API
| | * added dictID inside LZ4F_frameInfo_tYann Collet2017-08-092-15/+31
| | | | | | | | | | | | | | | Compressor can set dictID on LZ4F_compressBegin() Decompressor can retrieve it using LZ4F_getFrameInfo()
* | | better respect GNU standard Makefile conventionsYann Collet2017-08-141-17/+23
|/ / | | | | | | | | | | supports lowercase directory variables add an "Installation" section in README.md added an INSTALL file
* | Allow to predefine FORCE_INLINE macro.Alex Deymo2017-08-072-20/+32
|/ | | | | | | | | | | FORCE_INLINE macro is defined based on the compiler used. When using gcc, it will include "__attribute__((always_inline))" forcing gcc to always inline all the functions marked as FORCE_INLINE. However, this can cause a performance degradation of about 15%. This patch allows to set the FORCE_INLINE macro from the compiler command line to either "static" or "static inline" giving allowing it to inline functions as needed when performing optimizations.
* Fix typos preventing installation of static lib.Ido Rosen2017-08-011-1/+2
|
* fix #369Yann Collet2017-06-262-1/+18
| | | | | | | | | | | | | | The bug would make the bt search read one byte in an invalid memory region, and make a branch decision based on its value. Impact was small (missed compression opportunity). It only happens in -BD mode, with extDict-prefix overlapping matches. The bt match search is supposed to work also in extDict mode. In which case, the match ptr can point into Dict. When the match was overlapping Dict<->Prefix, match[matchLength] would end up outside of Dict, in an invalid memory area. The correction ensures that in such a case, match[matchLength] ends up at intended location, inside prefix.
* Fix gcc7 Wimplicit-fallthrough warningsChocobo12017-06-192-4/+4
| | | | | For the default Wimplicit-fallthrough=3 level, the comment should start with "fall*"