Yann Collet
5997e139f5
added more details for in-place documentation
2019-05-31 11:56:59 -07:00
Yann Collet
33cb8518ac
decompress: changed final memcpy() into memmove()
...
for compatibility with in-place decompression scenarios.
2019-05-31 11:44:37 -07:00
Yann Collet
4eec64e4d8
Makefile removed CFLAGS modifier
...
which was removing `-O3` as a side effect
2019-05-31 11:31:48 -07:00
Chenxi Mao
64b5917736
FAST_DEC_LOOP: only did offset check in specific condition.
...
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
2019-05-31 08:36:13 +08:00
Yann Collet
89c97d5ea6
fullbench: added test scenario LZ4F_decompress_followHint
...
This emulates a streaming scenario,
where the caller follows rigorously the srcSize hints
provided as return value of LZ4F_decompress().
This is useful to show the issue in #714 ,
where data is uselessly copied in a tmp buffer first.
2019-05-30 17:29:51 -07:00
Yann Collet
b77c9c062d
Merge pull request #714 from dreambottle/fix-lz4f-input-buf-use
...
Fix src temporary buffer use in lz4frame
2019-05-30 17:28:59 -07:00
Yann Collet
2f9d1736fb
updated API manual
2019-05-30 16:23:53 -07:00
Yann Collet
676d46df27
updated LZ4_DECOMPRESS_INPLACE_MARGIN
...
to pass worst case scenario.
Now adds margin proportional to input size to counter local expansion.
2019-05-30 16:19:30 -07:00
Yann Collet
6c69ae6bd6
added test case for in-place decompression
...
worst case, designed to make the decoder overwrite into input
2019-05-30 16:17:47 -07:00
Yann Collet
22adbb176a
add more doc on in-place (de)compression
2019-05-30 09:45:21 -07:00
Yann Collet
b2ba857a4f
fuzzer: changed internal buffer size
...
to ensure no overflow during unit tests
2019-05-29 13:33:55 -07:00
Yann Collet
45eba5b030
one more conversion warning
2019-05-29 13:17:45 -07:00
Yann Collet
76116495bf
some more minor conversion warnings fixes
2019-05-29 13:14:52 -07:00
Yann Collet
c5bcb4d68b
fixed minor conversion warning
2019-05-29 12:56:27 -07:00
Yann Collet
444550defa
ensure lz4.h can be included with or without LZ4_STATIC_LINKING_ONLY in any order
...
ensure correct propagation of LZ4_DISTANCE_MAX
2019-05-29 12:21:14 -07:00
Yann Collet
b17f578a91
added comments and macros for in-place (de)compression
2019-05-29 12:06:13 -07:00
Yann Collet
4fc6b48550
added test case for in-place compression
2019-05-29 11:19:10 -07:00
Yann Collet
ab2248b90a
Merge pull request #715 from gabrielstedman/ret
...
Handle file not existing case #704
2019-05-27 11:59:23 -07:00
gabrielstedman
729eef61a1
Handle file not existing case #704
2019-05-26 15:04:45 +01:00
Niko Dzhus
2be2fe43a8
fix temporary buffer use when input size hint is respected
2019-05-24 22:08:44 +03:00
Yann Collet
2037af1346
Merge pull request #709 from lz4/circle
...
updated tests for CircleCI
2019-05-17 12:22:39 -07:00
Yann Collet
e2527ad725
updated tests
...
- only play listTest with `make test`, not `make all` which is limited to build
- update `clangtest`, so that it's possible to disable O3 optimization, for faster processing
2019-05-16 16:46:16 -07:00
Yann Collet
a7151324af
Merge pull request #708 from gabrielstedman/list
...
Add multiframe report to --list command
2019-05-16 15:56:42 -07:00
gstedman
81081f9b2d
List mode improvements.
...
Improve formatting
Include static assert
Use UTIL_fseek to handle potential fseek limitation
Be explicit when refusing to read from stdin
Properly free dctx after use
Include valgrind tests
2019-05-16 20:53:29 +01:00
gstedman
98a86c8ef6
Add multiframe report to --list command
2019-05-15 21:13:19 +01:00
Yann Collet
df2451479c
Merge pull request #707 from prekageo/dev
...
enable LZ4_FAST_DEC_LOOP build macro on aarch64 by default
2019-05-13 20:35:10 -07:00
George Prekas
605d811e6c
enable LZ4_FAST_DEC_LOOP build macro on aarch64/GCC by default
2019-05-07 08:36:06 -05:00
Yann Collet
0291430018
Merge pull request #700 from lzutao/meson-non-failures
...
contrib: Make Meson build non optional
2019-04-29 23:40:42 -07:00
Lzu Tao
cb1be75c84
meson: Rely only on extracted version in lz4.h
...
So now instead of warning when failing to extract version number
from lz4.h, we error and stop the build instead.
2019-04-30 12:25:40 +07:00
Lzu Tao
dd54ea01a2
contrib: Make Meson build non optional
...
* Update ninja version to 1.9 in CI.
* Update default project version in meson script.
2019-04-27 01:41:03 +07:00
Yann Collet
ce55e7eef9
Merge pull request #699 from brendene/compressBound
...
Include block checksum in worst case scenario calculation of dstCapacity
2019-04-25 20:26:04 -07:00
Brenden Eng
9e056bc032
Include block checksum in worst case scenario calculation of dstCapacity
2019-04-25 22:37:39 -04:00
Yann Collet
8453e071f1
Merge pull request #698 from lz4/tidy
...
several minor style changes recommended by clang-tidy
2019-04-24 11:50:50 -07:00
Yann Collet
ba99eac4d0
several minor style changes recommended by clang-tidy
2019-04-24 10:03:02 -07:00
Yann Collet
f9781a6643
Merge pull request #697 from ldv-alt/fixes/test-amalgamation
...
Fix test-amalgamation
2019-04-23 17:20:03 -07:00
Yann Collet
49c20c498b
Merge pull request #696 from lz4/mactest
...
Fix dynamic library compilation on Mac OS-X
2019-04-23 15:08:46 -07:00
Dmitry V. Levin
0d3f85df65
test-amalgamation: split the rule
...
Change test-amalgamation to follow each-rule-makes-a-single-target idiom.
Fixes: a7e8d394
("[amalgamation] add test")
2019-04-23 21:18:11 +00:00
Dmitry V. Levin
8069d2ae6f
test-amalgamation: fix compilation options
...
Use the same compilation options to compile lz4_all.c and other object files.
Fixes: a7e8d394
("[amalgamation] add test")
2019-04-23 21:18:11 +00:00
Dmitry V. Levin
10726d4c56
test-amalgamation: use a single cat command
...
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")
2019-04-23 21:18:11 +00:00
Dmitry V. Levin
7937e86255
test-amalgamation: fix the list of prerequisites
...
Add $(LZ4DIR)/lz4frame.c to the list of prerequisites as the rule uses
that file.
Fixes: b192c86b
("[amalgamation] lz4frame.c")
2019-04-23 21:18:11 +00:00
Yann Collet
8c2ab8607e
Merge pull request #695 from lembacon/makefile-os
...
lib/Makefile: Fix detection of `Darwin`.
2019-04-23 14:09:40 -07:00
Yann Collet
2b68501ece
added library build test on Mac OS-X
2019-04-23 12:29:39 -07:00
Chongyu Zhu
024216ef73
lib/Makefile: Fix detection of Darwin
.
2019-04-24 03:13:19 +08:00
Yann Collet
398e36c756
Merge pull request #692 from lz4/dev
...
v1.9.1
2019-04-23 10:18:40 -07:00
Yann Collet
f665291e6c
Merge pull request #693 from JPeterMugaas/master
...
More build imrpvements
2019-04-23 09:20:41 -07:00
JPeterMugaas
7136489d33
More build imrpvements
...
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.
2019-04-23 07:44:00 -04:00
Yann Collet
229b016f50
Merge branch 'dev' of github.com:Cyan4973/lz4 into dev
2019-04-22 17:45:40 -07:00
Yann Collet
1e700b6f85
updated NEWS for v1.9.1
2019-04-22 17:45:24 -07:00
Yann Collet
291b3d8b7e
Merge pull request #691 from lz4/list
...
--list
2019-04-22 17:43:01 -07:00
Yann Collet
35b83a921f
fix: no leak when LZ4F_dctx creation fails
...
strange, because it previous implementation, it would `exit()`,
so it should not matter ...
2019-04-22 16:06:22 -07:00