summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #487 from felixhandte/better-obsoletion-commentYann Collet2018-03-211-6/+10
|\ | | | | Better Describe Functionality of Obsolete Streaming Functions
| * Also Fix a CommentW. Felix Handte2018-03-211-1/+1
| |
| * Better Describe Functionality of Obsolete Streaming FunctionsW. Felix Handte2018-03-211-6/+10
| |
* | fix comment styleYann Collet2018-03-212-3/+3
|/
* Move LZ4_compress_fast_extState_noReset Declaration to Unstable SectionW. Felix Handte2018-03-141-8/+23
|
* Restore the Other Old Streaming Functions in a Degraded FashionW. Felix Handte2018-03-142-2/+28
|
* Switch ALLOC() to ALLOC_AND_ZERO() to Paper Over Existing Uninitialized ReadW. Felix Handte2018-03-131-1/+1
|
* Split lz4CtxLevel into Two FieldsW. Felix Handte2018-03-131-17/+10
|
* Another Allocation Fail CheckW. Felix Handte2018-03-131-1/+2
|
* Restore LZ4_sizeofStreamState, We Didn't Actually Need to Delete ItW. Felix Handte2018-03-132-0/+6
|
* Rename Enums and Add CommentW. Felix Handte2018-03-131-19/+40
|
* Whitespace FixesW. Felix Handte2018-03-131-45/+44
|
* Add NULL ChecksW. Felix Handte2018-03-121-0/+3
|
* Simpler Ternary StatementsW. Felix Handte2018-03-121-2/+2
|
* Renames and Comment FixesW. Felix Handte2018-03-123-18/+30
|
* Hoist LZ4F Dictionary Setup into Helper LZ4F_applyCDict()W. Felix Handte2018-03-121-47/+25
|
* Minor Style FixesW. Felix Handte2018-03-121-9/+9
|
* Preserve currentOffset==0 When PossibleW. Felix Handte2018-03-121-2/+6
|
* Specialize _extState() for Clean Ctx Rather Than Calling _safeExtState()W. Felix Handte2018-03-121-5/+19
|
* Remove Switch In Favor of Ternary StatementW. Felix Handte2018-03-121-17/+1
|
* Further Avoid a dictionary==NULL CheckW. Felix Handte2018-03-121-1/+1
|
* Optimize Dict Check ConditionW. Felix Handte2018-03-121-1/+1
|
* Move to 4KB Cut-OffW. Felix Handte2018-03-121-2/+2
|
* Reset Table on Inputs Larger than 2KBW. Felix Handte2018-03-121-1/+2
|
* Avoid DictSmall Checks By Strategically Bumping CurrentOffsetW. Felix Handte2018-03-121-22/+23
|
* Restore DictIssue CheckW. Felix Handte2018-03-121-10/+27
|
* Avoid dictionary == NULL CheckW. Felix Handte2018-03-121-7/+11
|
* Replace calloc() Calls With malloc() Where PossibleW. Felix Handte2018-03-123-22/+23
|
* Copy the Dict Table Into the Context for Large CompressionsW. Felix Handte2018-03-121-8/+13
|
* Make LZ4F_compressFrame_usingCDict Take a Compression ContextW. Felix Handte2018-03-122-22/+55
|
* Switch Current Offset to 1 Only When in External Dictionary Context ModeW. Felix Handte2018-03-121-9/+15
|
* Hoist Table Reset One Level UpW. Felix Handte2018-03-121-33/+53
|
* Set Dictionary Context Pointer Rather than Copying the Context InW. Felix Handte2018-03-122-10/+42
|
* Lookup Matches in Separate Dictionary ContextW. Felix Handte2018-03-122-19/+65
|
* Initialize Current Offset to 1W. Felix Handte2018-03-121-4/+4
|
* Only Re-Alloc / Reset When Needed When Switching Between Regular and High ↵W. Felix Handte2018-03-121-13/+27
| | | | Compression Modes
* Avoid Resetting the Context When PossibleW. Felix Handte2018-03-122-20/+62
|
* Const-ify Table Arg to LZ4_getPosition(OnHash)W. Felix Handte2018-03-121-5/+5
|
* Add LZ4_compress_fast_safeExtState FunctionW. Felix Handte2018-03-122-1/+17
|
* Add a Table Type Field to LZ4_stream_tW. Felix Handte2018-03-122-8/+22
|
* Remove Obsolete Stream Functions to Free Space in LZ4_stream_tW. Felix Handte2018-03-122-37/+0
|
* Allow Empty DictionariesW. Felix Handte2018-03-121-6/+4
|
* updated LZ4F_compressBound() documentationYann Collet2018-02-281-3/+6
| | | | to clarify it includes potentially buffered data.
* Merge pull request #478 from lz4/mergeOptYann Collet2018-02-263-361/+328
|\ | | | | merge lz4opt.h into lz4hc.c
| * merge lz4opt.h into lz4hc.cYann Collet2018-02-253-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.2Yann Collet2018-02-261-1/+1
| | | | | | | | updated NEWS was current progresses
* | update code comment on LZ4 streaming interfaceYann Collet2018-02-261-11/+12
|/ | | | | notably regarding LZ4_saveDict() speed advantage, answering #477.
* edge case : compress up to end-mflimit (12 bytes)Yann Collet2018-02-243-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/fasterHCYann Collet2018-02-211-25/+18
|\ | | | | Faster HC
| * added one assert()Yann Collet2018-02-201-3/+7
| | | | | | | | suggested by @terrelln