aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2022-08-12Suppress warning from rc.exeTakayuki Matsuoka
Since rc.exe (the resource compiler) is legacy compiler, it truncates preprocessor symbol name length to 32 chars. And it reports the following warning lz4\build\VS2022\..\..\lib\lz4.h(314): warning RC4011: identifier truncated to 'LZ4_STATIC_LINKING_ONLY_DISABLE' lz4\build\VS2022\..\..\lib\lz4.h(401): warning RC4011: identifier truncated to 'LZ4_STATIC_LINKING_ONLY_DISABLE' This patch detects rc.exe and just skips long symbol.
2022-08-12Suppress false positive warning from MSVCTakayuki Matsuoka
MSVC (17.3 or earlier) reports the following warning lz4\lib\lz4.c(527): warning C6385: Reading invalid data from 'v'. Line 527 is : LZ4_memcpy(&v[4], v, 4); But, obviously v[0..3] is always filled with meaningful value. Therefore, this warning report is wrong. We must revisit this issue with future version of MSVC.
2022-08-11faster CLI decompression speed for frames with -BD4 settingYann Collet
lz4frame favors the faster prefix mode when decompressing a frame with linked blocks. This significantly improved CLI decompression on files compressed with -BD4 setting. On my laptop, decompressing `enwik9` went from 0.89s to 0.52s. This improvement is only for linked blocks. It's more visible for small block sizes.
2022-08-11updated documentation in anticipation for `v1.9.4` releaseYann Collet
2022-08-11Add short description of LZ4_FREESTANDING and _DISABLE_MEMORY_ALLOCATIONTakayuki Matsuoka
2022-08-11Fix document for LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION in lz4.cTakayuki Matsuoka
2022-08-10Merge pull request #1129 from t-mat/disable-memory-alloc-add-docYann Collet
Add document for LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION
2022-08-11Add short document of LZ4_FREESTANDING to lz4.hTakayuki Matsuoka
2022-08-07Fix: Disable LZ4HC correspond functions when ↵Takayuki Matsuoka
LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION is enabled
2022-08-07Add LZ4_FREESTANDINGTakayuki Matsuoka
2022-08-06Fix: Disable prototypes in header fileTakayuki Matsuoka
2022-08-06Add: Doxygen comment for LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATIONTakayuki Matsuoka
2022-08-05Merge pull request #1124 from t-mat/compile-time-purge-memalloc-funcYann Collet
Introduce LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION
2022-08-03simplify read_variable_length()Yann Collet
single sumtype return value
2022-08-02refactor read_variable_length()Yann Collet
updated documentation, more assert(), overflow detection in 32-bit mode
2022-08-02remove support of decompress_fast*() from decompress_generic()Yann Collet
since it's now supported by decompress_unsafe(). The goal is to improve maintenability of decompress_generic() by reducing its complexity.
2022-08-02introduce LZ4_decompress_unsafe_generic()Yann Collet
designed to support specifically LZ4_decompress_fast*() variants. The end goal is to offload this support from LZ4_decompress_generic to improve its maintenance.
2022-08-01Fix : Internal memory allocation macro namesTakayuki Matsuoka
2022-07-31fix: various typosDominique Pelle
2022-07-31Introduce LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATIONTakayuki Matsuoka
This changeset introduces new compile time switch macro LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION which removes the following functions when it's defined. ``` // lz4.c LZ4_createStream LZ4_freeStream LZ4_createStreamDecode LZ4_freeStreamDecode LZ4_create // legacy // lz4hc.c LZ4_createStreamHC(void) LZ4_freeStreamHC LZ4_createHC // legacy LZ4_freeHC // legacy ``` These functions uses dynamic memory allocation functions such as malloc() and free(). It'll be useful for freestanding environment which doesn't have these allocation functions. Since this change breaks API, this macro is only valid with lz4 as a static linked object.
2022-07-31New macro for memcpy, memmove and memsetTakayuki Matsuoka
This changeset introduces the following external macros. - Add new macro LZ4_memset() which enables to inject external function as memset(). - Similar macro LZ4_memmove() for memmove(). - In same manner, LZ4_memcpy() also can be overriden by external macro.
2022-07-29can select validation of CRC during benchmarkYann Collet
on command line, using existing long command --no-frame-crc. Note : it's effectively more than that, since _all_ checksums are disabled.
2022-07-29added ability to skip checksum calculation when decoding LZ4 FramesYann Collet
2022-07-29implement decoder-only benchmark modeYann Collet
requires an LZ4 Frame as input
2022-07-29minor refactorYann Collet
to prepare bench.c for multiple decoding functions.
2022-07-15Merge pull request #1115 from lz4/lz4f_customMemYann Collet
Support for Custom Memory managers
2022-07-15support skippable frames within pipeYann Collet
fix #977 fseek() doesn't work for pipe, switch to "read and forget" mode in such case.
2022-07-14implemented LZ4F_createCDict_advanced()Yann Collet
2022-07-13implemented LZ4F_createDecompressionContext_advanced()Yann Collet
2022-07-13Merge branch 'dev' into lz4f_customMemYann Collet
2022-07-13implemented first custom memory manager interfaceYann Collet
for compression context only for the time being, using LZ4F_createCompressionContext_advanced(). Added basic test in frametest.c
2022-07-13fix stricter enum type requirements for C++Yann Collet
2022-07-13minor : proper interface for LZ4F_getBlockSize()Yann Collet
and proper documentation. Also : updated manual
2022-07-13declare experimental prototype for LZ4F custom Memory managerYann Collet
2022-07-13removed ->dictBase from lz4hc stateYann Collet
replaced by ->dictStart
2022-07-13removed ->base from lz4hc stateYann Collet
replaced by ->prefixStart
2022-07-13Re-organize state's internal to be more compactYann Collet
produces less padding, notably on OS400 following #1070 by @jonrumsey
2022-07-12minor : specify min versions for library version identifiersYann Collet
2022-07-12clarify static sizes of states for static allocationYann Collet
2022-07-11Merge pull request #1104 from jonrumsey/os400-build-fixYann Collet
Change definitions of LZ4_xxxSIZE defines for OS400
2022-07-11minor refactor : simplify LZ4F_makeBlockYann Collet
one less argument
2022-07-11Change definitions of LZ4_STREAMSIZE, LZ4_STREAMDECODESIZE and ↵jonrumsey
LZ4_STREAMHCSIZE to factor in OS400 pointer length and structure alignment rules Update the length values on platforms where pointers are 16-bytes, factor in implicit compiler padding to ensure proper alignment of members and overall structure lengths
2022-07-05Merge pull request #1094 from alexmohr/add-uncompressed-apiYann Collet
frame-api: add function to insert uncomressed data
2022-07-05review: fix findingsAlexander Mohr
* replace assert with test for LZ4F_uncompressedUpdate * update documentation to incldue correct docstring * remove unecessary entry point * remove compress_linked_block_mode from fuzzing test Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
2022-07-05uncompressed-api: allow uncompressed_update only for independent blocksAlexander Mohr
Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
2022-07-04updated dll READMEYann Collet
2022-07-04silence a useless MSVC warningYann Collet
2022-07-04lz4frame: correct start and size after flushAlexander Mohr
when the block mode changes a flush is executed, to prevent mixing compressed and uncompressed data. Prior to this commit dstStart, dstPtr, dstCapacity where not updated to include the offset from bytesWritten. For inputs > blockSize this meant the flushed data was overwritten. Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
2022-06-12meson: fix meson buildAlexander Mohr
add static dependency to examples
2022-06-11dict-size: make lz4 context constAlexander Mohr
change the context to const to make clear that the context is not modified