Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #487 from felixhandte/better-obsoletion-comment | Yann Collet | 2018-03-21 | 1 | -6/+10 |
|\ | | | | | Better Describe Functionality of Obsolete Streaming Functions | ||||
| * | Also Fix a Comment | W. Felix Handte | 2018-03-21 | 1 | -1/+1 |
| | | |||||
| * | Better Describe Functionality of Obsolete Streaming Functions | W. Felix Handte | 2018-03-21 | 1 | -6/+10 |
| | | |||||
* | | fix comment style | Yann Collet | 2018-03-21 | 2 | -3/+3 |
|/ | |||||
* | Move LZ4_compress_fast_extState_noReset Declaration to Unstable Section | W. Felix Handte | 2018-03-14 | 1 | -8/+23 |
| | |||||
* | Restore the Other Old Streaming Functions in a Degraded Fashion | W. Felix Handte | 2018-03-14 | 2 | -2/+28 |
| | |||||
* | Switch ALLOC() to ALLOC_AND_ZERO() to Paper Over Existing Uninitialized Read | W. Felix Handte | 2018-03-13 | 1 | -1/+1 |
| | |||||
* | Split lz4CtxLevel into Two Fields | W. Felix Handte | 2018-03-13 | 1 | -17/+10 |
| | |||||
* | Another Allocation Fail Check | W. Felix Handte | 2018-03-13 | 1 | -1/+2 |
| | |||||
* | Restore LZ4_sizeofStreamState, We Didn't Actually Need to Delete It | W. Felix Handte | 2018-03-13 | 2 | -0/+6 |
| | |||||
* | Rename Enums and Add Comment | W. Felix Handte | 2018-03-13 | 1 | -19/+40 |
| | |||||
* | Whitespace Fixes | W. Felix Handte | 2018-03-13 | 1 | -45/+44 |
| | |||||
* | Add NULL Checks | W. Felix Handte | 2018-03-12 | 1 | -0/+3 |
| | |||||
* | Simpler Ternary Statements | W. Felix Handte | 2018-03-12 | 1 | -2/+2 |
| | |||||
* | Renames and Comment Fixes | W. Felix Handte | 2018-03-12 | 3 | -18/+30 |
| | |||||
* | Hoist LZ4F Dictionary Setup into Helper LZ4F_applyCDict() | W. Felix Handte | 2018-03-12 | 1 | -47/+25 |
| | |||||
* | Minor Style Fixes | W. Felix Handte | 2018-03-12 | 1 | -9/+9 |
| | |||||
* | Preserve currentOffset==0 When Possible | W. Felix Handte | 2018-03-12 | 1 | -2/+6 |
| | |||||
* | Specialize _extState() for Clean Ctx Rather Than Calling _safeExtState() | W. Felix Handte | 2018-03-12 | 1 | -5/+19 |
| | |||||
* | Remove Switch In Favor of Ternary Statement | W. Felix Handte | 2018-03-12 | 1 | -17/+1 |
| | |||||
* | Further Avoid a dictionary==NULL Check | W. Felix Handte | 2018-03-12 | 1 | -1/+1 |
| | |||||
* | Optimize Dict Check Condition | W. Felix Handte | 2018-03-12 | 1 | -1/+1 |
| | |||||
* | Move to 4KB Cut-Off | W. Felix Handte | 2018-03-12 | 1 | -2/+2 |
| | |||||
* | Reset Table on Inputs Larger than 2KB | W. Felix Handte | 2018-03-12 | 1 | -1/+2 |
| | |||||
* | Avoid DictSmall Checks By Strategically Bumping CurrentOffset | W. Felix Handte | 2018-03-12 | 1 | -22/+23 |
| | |||||
* | Restore DictIssue Check | W. Felix Handte | 2018-03-12 | 1 | -10/+27 |
| | |||||
* | Avoid dictionary == NULL Check | W. Felix Handte | 2018-03-12 | 1 | -7/+11 |
| | |||||
* | Replace calloc() Calls With malloc() Where Possible | W. Felix Handte | 2018-03-12 | 3 | -22/+23 |
| | |||||
* | Copy the Dict Table Into the Context for Large Compressions | W. Felix Handte | 2018-03-12 | 1 | -8/+13 |
| | |||||
* | Make LZ4F_compressFrame_usingCDict Take a Compression Context | W. Felix Handte | 2018-03-12 | 2 | -22/+55 |
| | |||||
* | Switch Current Offset to 1 Only When in External Dictionary Context Mode | W. Felix Handte | 2018-03-12 | 1 | -9/+15 |
| | |||||
* | Hoist Table Reset One Level Up | W. Felix Handte | 2018-03-12 | 1 | -33/+53 |
| | |||||
* | Set Dictionary Context Pointer Rather than Copying the Context In | W. Felix Handte | 2018-03-12 | 2 | -10/+42 |
| | |||||
* | Lookup Matches in Separate Dictionary Context | W. Felix Handte | 2018-03-12 | 2 | -19/+65 |
| | |||||
* | Initialize Current Offset to 1 | W. Felix Handte | 2018-03-12 | 1 | -4/+4 |
| | |||||
* | Only Re-Alloc / Reset When Needed When Switching Between Regular and High ↵ | W. Felix Handte | 2018-03-12 | 1 | -13/+27 |
| | | | | Compression Modes | ||||
* | Avoid Resetting the Context When Possible | W. Felix Handte | 2018-03-12 | 2 | -20/+62 |
| | |||||
* | Const-ify Table Arg to LZ4_getPosition(OnHash) | W. Felix Handte | 2018-03-12 | 1 | -5/+5 |
| | |||||
* | Add LZ4_compress_fast_safeExtState Function | W. Felix Handte | 2018-03-12 | 2 | -1/+17 |
| | |||||
* | Add a Table Type Field to LZ4_stream_t | W. Felix Handte | 2018-03-12 | 2 | -8/+22 |
| | |||||
* | Remove Obsolete Stream Functions to Free Space in LZ4_stream_t | W. Felix Handte | 2018-03-12 | 2 | -37/+0 |
| | |||||
* | Allow Empty Dictionaries | W. Felix Handte | 2018-03-12 | 1 | -6/+4 |
| | |||||
* | updated LZ4F_compressBound() documentation | Yann Collet | 2018-02-28 | 1 | -3/+6 |
| | | | | to clarify it includes potentially buffered data. | ||||
* | Merge pull request #478 from lz4/mergeOpt | Yann Collet | 2018-02-26 | 3 | -361/+328 |
|\ | | | | | merge lz4opt.h into lz4hc.c | ||||
| * | merge lz4opt.h into lz4hc.c | Yann Collet | 2018-02-25 | 3 | -361/+328 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having a dedicated file for optimal parser made sense during its creation, it allowed Przemyslaw to work more freely on lz4opt, with less dependency on lz4hc, moreover, the optimal parser was more complex, with its own search functions. Since the optimal was rewritten last year, it's now a lot lighter. It makes more sense now to integrate it directly inside lz4hc.c, making it easier to edit (editors are a bit "lost" inside a `*.h` dependent on its #include position), it also reduces the number of files in the project, which fits pretty well with lz4 objectives. (adding lz4hc requires "just" lz4hc.h and lz4hc.c). | ||||
* | | bumped version number to v1.8.2 | Yann Collet | 2018-02-26 | 1 | -1/+1 |
| | | | | | | | | updated NEWS was current progresses | ||||
* | | update code comment on LZ4 streaming interface | Yann Collet | 2018-02-26 | 1 | -11/+12 |
|/ | | | | | notably regarding LZ4_saveDict() speed advantage, answering #477. | ||||
* | edge case : compress up to end-mflimit (12 bytes) | Yann Collet | 2018-02-24 | 3 | -9/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LZ4 block format specification states that the last match must start at a minimum distance of 12 bytes from the end of the block. However, out of an abundance of caution, the reference implementation would actually stop searching matches at 13 bytes from the end of the block. This patch fixes this small detail. The new version is now able to properly compress a limit case such as `aaaaaaaabaaa\n` as reported by Gao Xiang (@hsiangkao). Obviously, it doesn't change a lot of things. This is just one additional match candidate per block, with a maximum match length of 7 (since last 5 bytes must remain literals). With default policy, blocks are 4 MB long, so it doesn't happen too often Compressing silesia.tar at default level 1 saves 5 bytes (100930101 -> 100930096). At max level 12, it saves a grand 16 bytes (77389871 -> 77389855). The impact is a bit more visible when blocks are smaller, hence more numerous. For example, compressing silesia with blocks of 64 KB (using -12 -B4D) saves 543 bytes (77304583 -> 77304040). So the smaller the packet size, the more visible the impact. And it happens we have a ton of scenarios with little blocks using LZ4 compression ... And a useless "hooray" sidenote : the patch improves the LZ4 compression record of silesia (using -12 -B7D --no-frame-crc) by 16 bytes (77270672 -> 77270656) and the record on enwik9 by 44 bytes (371680396 -> 371680352) (previously claimed by [smallz4](http://create.stephan-brumme.com/smallz4/) ). | ||||
* | Merge pull request #471 from lz4/fasterHC | Yann Collet | 2018-02-21 | 1 | -25/+18 |
|\ | | | | | Faster HC | ||||
| * | added one assert() | Yann Collet | 2018-02-20 | 1 | -3/+7 |
| | | | | | | | | suggested by @terrelln |