summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* FAST_DEC_LOOP: only did offset check in specific condition.Chenxi Mao2019-05-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | When I did FAST_DEC_LOOP performance test, I found the offset check is much more than v1.8.3 You will see the condition check difference via lzbench with dickens test case. v1.8.3 34959 v.1.9.x 1055885 After investigate the code, we could see the difference. v.1.8.3 SKIP the condition check if if condition is true in: https://github.com/lz4/lz4/blob/v1.8.3/lib/lz4.c#L1463 AND below condition is true https://github.com/lz4/lz4/blob/v1.8.3/lib/lz4.c#L1478\ The offset check should be invoked. v1.9.3 The offset check code will be invoked in every loop which lead to downgrade. So the fix would be move this check to specific condition to avoid useless condition check. After this change, the call number is same as v1.8.3
* fix temporary buffer use when input size hint is respectedNiko Dzhus2019-05-241-1/+1
|
* Merge pull request #708 from gabrielstedman/listYann Collet2019-05-162-2/+11
|\ | | | | Add multiframe report to --list command
| * Add multiframe report to --list commandgstedman2019-05-152-2/+11
| |
* | enable LZ4_FAST_DEC_LOOP build macro on aarch64/GCC by defaultGeorge Prekas2019-05-071-0/+5
|/
* Include block checksum in worst case scenario calculation of dstCapacityBrenden Eng2019-04-261-0/+1
|
* several minor style changes recommended by clang-tidyYann Collet2019-04-242-66/+75
|
* Merge pull request #697 from ldv-alt/fixes/test-amalgamationYann Collet2019-04-241-3/+1
|\ | | | | Fix test-amalgamation
| * test-amalgamation: use a single cat commandDmitry V. Levin2019-04-231-3/+1
| | | | | | | | | | | | | | | | | | | | Use the list of prerequisites instead of listing those files manually, this way they will never fall out of sync. Also update the amalgamation example to use a single cat command. Fixes: a7e8d394 ("[amalgamation] add test") Fixes: b192c86b ("[amalgamation] lz4frame.c")
* | lib/Makefile: Fix detection of `Darwin`.Chongyu Zhu2019-04-231-3/+2
|/
* More build imrpvementsJPeterMugaas2019-04-232-36/+74
| | | | | | Moved a few other tests to Makefiles.inc. Other things might need to go there. Made a test for symlink appropriateness. Windows can NOT handle them the same way Unix-like operating systems do (if at all). This is mostly the same as the Visual C projects. embed version info into .dll and .exes that are redistributed.
* Merge pull request #689 from JPeterMugaas/jpm-makefileYann Collet2019-04-221-15/+11
|\ | | | | Jpm makefile - as described in https://github.com/lz4/lz4/issues/688
| * Fix a test for mingwJPeterMugaas2019-04-221-1/+1
| |
| * Try to put some tests I made in ONE place. I also moved a test for ↵JPeterMugaas2019-04-221-26/+2
| | | | | | | | "install" in one place to try to isolate it.
| * Initial commits from diff I submitted earlierJPeterMugaas2019-04-221-11/+31
| |
* | bumped version numberYann Collet2019-04-191-1/+1
| | | | | | | | to v1.9.1
* | lz4frame: initializers compatibility with C++Yann Collet2019-04-192-5/+7
| | | | | | | | fix #679, reported by @degski
* | fixed read-after input in LZ4_decompress_safe()Yann Collet2019-04-192-29/+30
| |
* | address a few minor Visual warningsYann Collet2019-04-182-3/+6
| | | | | | | | and created target cxx17build
* | re-enable FORCE_INLINEYann Collet2019-04-171-3/+0
| | | | | | | | was disabled for tests
* | fix out-of-bound read within LZ4_decompress_fast()Yann Collet2019-04-172-11/+23
| | | | | | | | | | | | | | | | | | | | | | and deprecate LZ4_decompress_fast(), with deprecation warnings enabled by default. Note that, as a consequence of the fix, LZ4_decompress_fast is now __slower__ than LZ4_decompress_safe(). That's because, since it doesn't know the input buffer size, it must progress more cautiously into the input buffer to ensure to out-of-bound read.
* | Fix AIX errors/warningsNorm Green2019-04-171-0/+6
|/
* ensure consistent definition and usage of FREEMEMYann Collet2019-04-162-6/+6
| | | | as suggested by @sloutsky in #671
* simplified output_directiveYann Collet2019-04-151-15/+17
|
* fix comma for pedanticYann Collet2019-04-151-1/+1
|
* unified limitedOutput_directiveYann Collet2019-04-152-35/+27
| | | | | | | | | | | between lz4.c and lz4hc.c . was left in a strange state after the "amalgamation" patch. Now only 3 directives remain, same name across both implementations, single definition place. Might allow some light simplification due to reduced nb of states possible.
* decompress*_fast() function do not generate deprecation warningsYann Collet2019-04-151-13/+14
| | | | | | | | | they are classified as deprecated in the API documentation (lz4.h) but do not yet trigger a warning, to give time to existing applications to move away. Also, the _fast() variants are still ~5% faster than the _safe() ones after Dave's patch.
* fixed lz4frame with linked blocksYann Collet2019-04-151-11/+9
| | | | | | | when one block was not compressible, it would tag the context as `dirty`, resulting in compression automatically bailing out of all future blocks, making the rest of the frame uncompressible.
* Merge branch 'dev' of github.com:Cyan4973/lz4 into devYann Collet2019-04-133-16/+16
|\
| * fix minor visual warningYann Collet2019-04-121-2/+2
| | | | | | | | | | | | yet some overly cautious overflow risk flag, while it's actually impossible, due to previous test just one line above. Changing the cast position, just to be please the thing.
| * fixed minor Visual warningsYann Collet2019-04-122-14/+14
| | | | | | | | | | | | | | | | since Visual 2017, worries about potential overflow, which are actually impossible. Replaced (c * a) by (c ? a : 0). Will likely replaced a * by a cmov. Probably harmless for performance.
* | fixed incorrect assertion conditionYann Collet2019-04-131-1/+1
|/ | | | output can use the full length of output buffer
* updated doc to underline difference between block and frameYann Collet2019-04-123-16/+24
| | | | as this is a very frequent source of confusion for new users.
* improved documentation for LZ4 dictionary compressionYann Collet2019-04-112-4/+27
|
* introduce LZ4_DISTANCE_MAX build macroYann Collet2019-04-113-23/+35
| | | | | | | | | | 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
* Merge pull request #663 from lz4/headerSizeYann Collet2019-04-102-57/+99
|\ | | | | made LZ4F_getHeaderSize() public
| * made LZ4F_getHeaderSize() publicYann Collet2019-04-102-57/+99
| |
* | added versions in commentsYann Collet2019-04-102-2/+7
|/
* fixed loadDictHCYann Collet2019-04-091-10/+18
| | | | | by making a full initialization instead of a fast reset.
* re-enable LZ4_resetStreamHC()Yann Collet2019-04-091-1/+1
| | | | towards deprecation, but still available and fully supported
* modified LZ4_initStreamHC() to look like LZ4_initStream()Yann Collet2019-04-094-40/+79
| | | | | it is now a pure initializer, for statically allocated states. It can initialize any memory area, and because of this, requires size.
* check some more initialization resultYann Collet2019-04-081-1/+5
| | | | ensure it's not NULL.
* removed LZ4_stream_t alignment test on VisualYann Collet2019-04-081-0/+8
| | | | | | | it fails on x86 32-bit mode : Visual reports an alignment of 8-bytes (even with alignof()) but actually only align LZ4_stream_t on 4 bytes. The alignment check then fails, resulting in missed initialization.
* LZ4_initStream() checks alignment restrictionYann Collet2019-04-082-7/+17
| | | | updated associated documentation
* added comment on initStream + _extState_Yann Collet2019-04-051-4/+8
| | | | as suggested by @felixhandte
* created LZ4_initStream()Yann Collet2019-04-054-53/+60
| | | | | | | | | | - 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*.
* fixed strict iso C90Yann Collet2019-04-051-1/+1
|
* created LZ4_initStreamHC()Yann Collet2019-04-053-143/+190
| | | | | | | | - promoted LZ4_resetStreamHC_fast() to stable - moved LZ4_resetStreamHC() to deprecated (but do not generate a warning yet) - Updated doc, to highlight difference between init and reset - switched all invocations of LZ4_resetStreamHC() onto LZ4_initStreamHC() - misc: ensure `make all` also builds /tests
* make `_fast*()` decoder generate a deprecation warningYann Collet2019-04-042-9/+25
| | | | updated modification
* moved LZ4_decompress_fast*() into deprecated sectionYann Collet2019-04-042-24/+30
|