Commit Graph

568 Commits

Author SHA1 Message Date
Yann Collet
f878c08b76 better correctness on big-endian 64-bits platforms 2016-11-04 07:24:21 -07:00
Yann Collet
26dec498cf small compression speed improvement on 64-bits systems 2016-11-04 07:18:03 -07:00
Yann Collet
4c6610709e minor code refactoring 2016-11-03 20:32:51 -07:00
Yann Collet
eda8c4eb1c fix #198 : no longer requires to restart streaming decompression from where it stopped.
It permits relocating remaining data into another memory space.
Still, the same content must be presented.
2016-11-03 18:46:07 -07:00
Yann Collet
4791cda04a fixed strict warnings 2016-11-03 17:31:41 -07:00
Yann Collet
258a5e7fa4 updated comments 2016-11-03 17:14:25 -07:00
Przemyslaw Skibinski
84cedb4632 updated links to LZ4 repository 2016-11-03 15:12:57 +01:00
Przemyslaw Skibinski
88cef262ec documentation moved to doc/ 2016-11-03 13:25:20 +01:00
Yann Collet
67500142c1 Clarified license (#115, #244) 2016-11-01 19:14:04 -07:00
Yann Collet
7e112cfa5c fixes static compilation under Windows (#246) 2016-10-21 09:49:30 -07:00
Yann Collet
52cdb4a5f4 Merge pull request #241 from vapier/dev
add a flag to disable static libs
2016-09-23 15:59:39 +02:00
Mike Frysinger
43b631223b add a flag to disable static libs 2016-09-22 23:59:02 -04:00
Kouhei Sutou
59771f41cd Use different prefix for each file to avoid conflict 2016-09-23 10:38:44 +09:00
Kouhei Sutou
012c66536c Add LZ4LIB_API
It's based on Zstandard's ZSTDLIB_API.

See also: https://github.com/Cyan4973/lz4/issues/216#issuecomment-226245432

Deprecated functions aren't LZ4LIB_API targets. Because we don't need to
export deprecated functions from now.

There are same LZ4LIB_API definitions in each header files instead of
including a common header file because LZ4_DEPRECATED is defined so.
2016-09-23 00:39:45 +09:00
Yann Collet
3b9439ccd0 updated uninstall 2016-09-17 11:59:13 +02:00
Yann Collet
8eae1320c2 Merge pull request #236 from inikep/dev
fix bug #232 at https://github.com/Cyan4973/lz4/issues/232
2016-09-06 16:49:34 +02:00
Yann Collet
33993542af removed test artefacts 2016-09-06 16:46:52 +02:00
inikep
3eb143fffa fix bug #232 at https://github.com/Cyan4973/lz4/issues/232 2016-09-06 10:36:16 +02:00
Yann Collet
28f98647e3 lz4 version source from lz4.h 2016-09-02 22:04:16 -07:00
Yann Collet
64f556e610 lz4cli version number from lz4.h 2016-09-02 19:32:06 -07:00
Yann Collet
5871585b6a coding style change 2016-09-02 19:06:01 -07:00
inikep
2cf32ef0f1 -b# and -e# options from zstd 2016-09-02 22:59:18 +02:00
Georg Sauthoff
681d5010d5 use gnu c99 to get both c99 and POSIX
when compiling with gcc

fixes fileno() implicitly defined on Linx and compile error on Solaris 10
2016-08-27 15:24:50 +02:00
Yann Collet
5bd3eaa481 minor comments 2016-08-21 00:08:38 +02:00
Yann Collet
9578ff539d minor refactor 2016-08-20 23:59:45 +02:00
Yann Collet
a7672dc4f9 minor decompression speed gains 2016-08-20 23:52:20 +02:00
Yann Collet
63d22e7a19 minor comments clarifications 2016-08-20 23:22:29 +02:00
Yann Collet
74e6afc5dc minor comments clarification 2016-08-11 18:55:42 +02:00
Yann Collet
2ac9ecec68 Fixed #157 : LZ4F_getFrameInfo() fails on valid null-content frame 2016-08-11 14:55:39 +02:00
Ben Wiederhake
d3e2d80266 Use https wherever possible 2016-07-08 00:46:02 +02:00
Ben Wiederhake
6540030033 Use correct 'repository' hostname 2016-07-08 00:45:18 +02:00
Yann Collet
91cce757f5 Updated xxhash library to v0.6.1 2016-06-29 21:48:27 +02:00
Yann Collet
5540f4f93e stronger compilation flags 2016-06-29 20:25:10 +02:00
Yann Collet
19e585cc46 modified : some more deprecated functions from lz4hc.h generate warnings 2016-06-29 18:18:34 +02:00
Yann Collet
6b1600f41e changed : default benchmark LZ4_decompress_safe() 2016-06-29 17:48:28 +02:00
Yann Collet
6923f3e230 Minor refactoring (code style) 2016-06-29 17:12:24 +02:00
Yann Collet
410ec81543 Fixed : alignment warning 2016-06-29 17:02:09 +02:00
Yann Collet
bc342ab94c minor refactoring 2016-06-29 16:01:24 +02:00
Yann Collet
c8a573d32c very minor decompression speed gain 2016-06-29 15:04:19 +02:00
Yann Collet
e27e7316dd minor code refactoring 2016-06-29 14:54:07 +02:00
Yann Collet
8938e10742 minor compression speed improvement 2016-06-29 14:07:54 +02:00
Yann Collet
c77c0c1086 minor refactoring 2016-06-29 13:21:23 +02:00
Yann Collet
3c03326004 minor refactoring (coding style) 2016-06-29 12:54:23 +02:00
Martin Waschbüsch
7bfbccb972 Add FreeBSD to install targets
Add FreeBSD to install targets
2016-05-17 07:47:03 +02:00
Irwan Djajadi
bc70a4b72e fixed non-C99 compilers 2016-04-19 15:06:15 -05:00
Irwan Djajadi
10e3eecc56 fixed non-C99 compiler 2016-04-19 15:01:35 -05:00
Irwan Djajadi
973baa2c19 Merge branch 'heapmode_alloc_failure_fix' into dev 2016-04-19 08:22:56 -05:00
Irwan Djajadi
3e5bb67537 alloc failure fix 2016-04-18 15:51:32 -05:00
John Zhuge
cf6652f9b9 lz4cli: print library version 2016-04-01 07:07:25 -07:00
Julius Werner
dc868cd5b1 Allow for safe in-place decoding
Add a check to allow safe "in-place" decoding (meaning that the
beginning of the source buffer partially overlaps the end of the
destination buffer). This is usually possible as long as the output
stops at least 15 bytes before the end of the input buffer (7 to account
for the extra spill from LZ4_wildCopy, 4 for a possible block checksum,
and 4 for the terminating block header), but in some pathological edge
cases it could be possible for the output stream to overwrite a byte in
the input stream before it gets decoded. With this patch the decoder
will reliably detect those cases and return a decoding error.

Signed-off-by: Julius Werner <jwerner@chromium.org>
2016-02-12 22:52:51 -08:00
Julius Werner
4fcb2e17fb Remove whitespace from ends of lines
I'm trying to import LZ4 code into a project with strict linting
requirements. This will make that easier.

Signed-off-by: Julius Werner <jwerner@chromium.org>
2016-02-12 22:49:52 -08:00
Yann Collet
2c80138121 heapmode macro option for lz4hc 2015-10-21 15:00:48 +01:00
Yann Collet
ff3324b8d5 Fix : compiler-independent macro to remove deprecation warnings 2015-10-21 12:58:06 +01:00
Yann Collet
cd18ed3086 create link to dynamic library without using cp -a (#147) 2015-09-01 16:55:55 +01:00
Yann Collet
fb6fece770 Updated Makefile and .travis 2015-09-01 15:59:24 +01:00
Yann Collet
9aa5504f0c New unalign access method 2015-08-19 18:16:17 +01:00
Yann Collet
e5aee601ef updated xxhash 2015-08-19 17:54:19 +01:00
Yann Collet
d15ac1f1a7 Slightly improved compression speed on ARMv6 2015-08-16 02:33:57 +01:00
Yann Collet
0f2bf0c54e Improved performance on ARMv6 2015-08-16 01:54:55 +01:00
Yann Collet
4b4384772a Updated xxhash to r41 2015-08-16 00:55:32 +01:00
Yann Collet
60119e2585 Makefile : generates *.o for faster processing 2015-08-15 17:21:45 +01:00
Yann Collet
9517bd9234 minor simplification lz4_readarch() 2015-08-06 03:49:29 +01:00
Yann Collet
00eedb37d1 minor refactor 2015-07-16 09:38:10 +01:00
Yann Collet
3e579afa6d Slightly improved decompression speed
Slightly decreased decompression stack usage in 64-bits mode
2015-07-16 09:03:55 +01:00
Yann Collet
795a2cdb1b sligthly improved decompression speed 2015-07-16 08:55:48 +01:00
Yann Collet
a3c6daba6e liblz4 : Moved XXH_NAMESPACE to CPPFLAGS 2015-07-02 10:29:24 -08:00
Yann Collet
dfabec2d18 Fixed a few minor visual analyzer warnings 2015-06-29 00:31:41 -08:00
Yann Collet
aa1350e139 lz4hc : added one malloc test 2015-06-28 19:51:11 -08:00
Yann Collet
0cc38f9ebc Updated lib readme 2015-06-27 14:15:45 -08:00
Yann Collet
192ee724a3 Added namespace ability to xxhash 2015-06-27 12:43:28 -08:00
Yann Collet
c04df7e1b5 Changed : static library is no longer compiled with -fPIC by default (this option can still be added on the command line) See #53 2015-06-27 01:30:31 -08:00
Yann Collet
b17d3220d2 Minor lib readme update 2015-06-18 06:38:19 -08:00
Yann Collet
91c1b9a682 Performance fix : big compression speed boost for clang (+30%) 2015-05-21 01:17:56 +01:00
Yann Collet
05c3f66bb8 Updated a few comments 2015-05-12 10:10:20 +01:00
Yann Collet
672bfdebd0 Updated comments 2015-05-06 20:23:06 +01:00
Yann Collet
b4ef93a837 Fixed typo 2015-05-06 10:26:59 +01:00
Yann Collet
efbebd2a99 Added : LZ4_compress_destSize() 2015-05-06 02:29:04 +01:00
Yann Collet
1c3e633c48 Added compilation flag -Wcast-qual 2015-05-06 01:58:24 +01:00
Yann Collet
e05088d0eb Updated lz4hc API 2015-05-03 20:57:21 +01:00
Yann Collet
b4348a4718 Fixed minor Visual warning 2015-05-03 18:06:01 +01:00
Yann Collet
1b17bf2ab8 New lz4 API, using LZ4_compress_fast() 2015-05-03 17:57:46 +01:00
Yann Collet
791512cfdd Fixed bug 9318 2015-05-02 19:10:28 +01:00
Yann Collet
2a974d73c3 refactored lz4hc 2015-05-02 15:44:43 +01:00
Yann Collet
ad2dd6df3f moved lz4frame context types to incomplete typedef 2015-04-27 02:31:56 +01:00
Yann Collet
c9cbb8fc06 Increased aligment requirement for lz4frame context pointer 2015-04-24 14:28:06 +01:00
Yann Collet
ef55dfb000 Modified lz4frame context typedef, to enforce stricter alignment condition 2015-04-24 13:26:53 +01:00
Yann Collet
d6dc0a410d streaming API : Improved ring buffer management 2015-04-24 10:15:12 +01:00
Yann Collet
9c6fb8b160 Added LZ4_compress_fast_extState() 2015-04-23 07:46:35 +01:00
Yann Collet
b05d3d71a6 Frame content size disabled by default when using LZ4F_compressFrame(), to be in better coherence with the advanced API LZ4F_compress_update() 2015-04-22 00:57:39 +01:00
Yann Collet
b805d581b9 Removed obsolete functions from lz4 cli 2015-04-21 19:07:31 +01:00
Yann Collet
f11afafe23 Removed LZ4_compress() (obsolete) from lz4 2015-04-21 18:31:35 +01:00
Yann Collet
72e679438f Updated LZ4F_freeDecompressionContext(), to provide stage hint as result 2015-04-20 12:23:33 +01:00
Yann Collet
a01e10dbdc Changed LZ4F compressionLevel from unsigned to signed, in anticipation for LZ4_compress_fast() integration. 2015-04-20 12:12:02 +01:00
Yann Collet
409f816267 Updated LZ4F_getFrameInfo() behavior, related to uncomplete frame header decoding attempts 2015-04-19 15:23:53 +01:00
Yann Collet
2cf8a19e9d minor header refactoring 2015-04-16 09:57:46 +01:00
Takayuki MATSUOKA
d153aaa1c2 Add LZ4F_OBSOLETE_ENUM() to describe obsolete enums
- Add LZ4F_OBSOLETE_ENUM() to describe obsolete enums
 - Add compatible typedefs for obsolete enum types
 - Remove constant macros
2015-04-16 12:42:26 +09:00
Yann Collet
4e574e7395 Updated lz4frame error names 2015-04-15 10:34:08 +01:00
Yann Collet
d37926b0b5 Merge pull request #95 from t-mat/issue/90
Modified lz4frame enum, by @t-mat
2015-04-15 10:39:38 +02:00
Takayuki MATSUOKA
3d46d4b144 Fix LZ4_DEPRECATED() in lz4hc.h 2015-04-15 14:19:17 +09:00
Takayuki MATSUOKA
585bab8121 Issue#90 : Change old enum to macro to maximize compatibility 2015-04-15 06:45:25 +09:00
Takayuki MATSUOKA
081bcca33b Issue#90 : Add LZ4F_ prefix
- Add LZ4F_ prefix to LZ4 frame related enums.
 - Also add conditional macro LZ4F_DISABLE_OLD_ENUMS for testing and users who prefer strict prefixes.
2015-04-15 06:45:24 +09:00
Takayuki MATSUOKA
e1283c7991 Fix LZ4_DEPRECATED() for older/non-gcc/clang/MSVC compilers 2015-04-15 06:39:05 +09:00
Takayuki MATSUOKA
d7298d2059 Replace GCC_VERSION with LZ4_GCC_VERSION 2015-04-15 06:39:04 +09:00
Charles Allen
b664a72145 Revert "Revert "Add more descriptive frame errors""
This reverts commit 5a66527084.
2015-04-14 13:33:43 -07:00
Yann Collet
05a46fc59a Changes LZ4F_compressBound() definition using NULL prefsPtr to cover worst case instead of default. 2015-04-14 18:51:36 +01:00
Yann Collet
2852b9e439 Fixed issue #84 2015-04-12 15:17:10 +01:00
Yann Collet
138673df5e fixed minor g++ warning 2015-04-12 09:37:34 +01:00
Yann Collet
cc8d617ed0 Merge pull request #82 from t-mat/add-lz4-prefix
Add LZ4 prefix to deprecation macros
2015-04-12 10:34:44 +02:00
Yann Collet
81fdd9df23 Fixed a few Valgrind warnings 2015-04-12 09:29:52 +01:00
Takayuki MATSUOKA
ad86910b1b Add LZ4 prefix to deprecation macros
Replace the following macros:

 - "_DEPRECATE_WARNING_DEFBLOCK" to "LZ4_DEPRECATE_WARNING_DEFBLOCK"
 - "DEPRECATED" to "LZ4_DEPRECATED"
2015-04-12 17:28:53 +09:00
Yann Collet
62ed153195 Fixed : a few minor coverity warnings 2015-04-12 08:21:35 +01:00
Yann Collet
9443f3d924 Extended obsolete warning messages to lz4hc 2015-04-11 19:12:03 +01:00
Yann Collet
973e385fa3 Implemented obsolete warning message 2015-04-11 18:59:22 +01:00
Yann Collet
be9d248851 Update lz4hc API : LZ4_compressHC_safe() 2015-04-11 12:28:09 +01:00
Yann Collet
a07db74d24 Clarified lz4frame.h inline doc 2015-04-11 10:46:16 +01:00
Yann Collet
f344fbd3ca Fixed a few warnings from -fsanitize=undefined 2015-04-09 22:59:07 +01:00
Yann Collet
2f8a4c32f9 New LZ4_compress_safe() API 2015-04-09 13:34:38 +01:00
Yann Collet
78d2dfd427 fullbench : tests of _limitedOutput variants intentionnally provides less memory space than safe (LZ4_compressBound()) 2015-04-01 18:21:03 +01:00
Yann Collet
ef7cd83271 Fixed issue 160, reported by Eric Berge 2015-04-01 17:30:36 +01:00
Yann Collet
28e237e954 simplified LZ4_compress_limitedOutput() 2015-04-01 15:53:08 +01:00
Yann Collet
76a03c1035 simplified LZ4_compress_withState() 2015-04-01 14:59:42 +01:00
Yann Collet
6625068902 simplified LZ4_compress() 2015-04-01 14:48:24 +01:00
Yann Collet
a761546b1b Fix : minor warning under Visual 2015-03-31 18:52:52 +01:00
Yann Collet
3bba55c741 Fixed : Windows compilation
Added : Appveyor badge
2015-03-31 14:47:23 +01:00
Yann Collet
5b9fb69715 minor tweak 2015-03-30 22:39:08 +01:00
Yann Collet
4c227a487e Added LZ4_compress_fast() 2015-03-30 21:32:25 +01:00
Yann Collet
6c69dc176c faster compression in 64 bits mode 2015-03-30 18:34:15 +01:00
Yann Collet
eeb8bea34c Updated comments on LZ4F_getFrameInfo() 2015-03-30 16:36:57 +01:00
Yann Collet
002ec60f0f restored lz4hc compression ratio 2015-03-30 15:57:26 +01:00
Yann Collet
8cb06d5b99 lz4frame validates contentSize during decompression 2015-03-29 13:28:32 +01:00
Yann Collet
d5da787c1b Changed struct member to contentSize 2015-03-29 11:20:09 +01:00
Yann Collet
a357f434f0 Fixed cast-align warnings on 32-bits 2015-03-25 18:06:40 +01:00
Yann Collet
7cf4e5c941 Updates tests & Man pages 2015-03-22 13:42:00 +01:00
Yann Collet
86715b2541 Some more tests related to frame content size 2015-03-19 01:05:59 +01:00
Yann Collet
7ee725645b frame content size support 2015-03-18 21:38:27 +01:00
Yann Collet
7d87d43e61 Updated lz4io sparse file support (alignment properties) 2015-03-17 18:02:01 +01:00
Yann Collet
b54d256f56 minor lz4frame optimisation (no more malloc() on using LZ4F_compressFrame() in fast mode) 2015-03-16 23:22:59 +01:00
Yann Collet
da9402c6f5 minor lz4frame refactoring 2015-03-16 22:35:02 +01:00
Yann Collet
8edb7f1406 Added : Readme into lib directory, to explain what does each file 2015-03-16 21:48:40 +01:00
Yann Collet
2a02455fdf minor refactoring 2015-03-16 19:19:39 +01:00
Yann Collet
3a6832497b skippable frames support 2015-03-16 17:52:14 +01:00
Yann Collet
2b55752a5c changed "make install" default install directory to /usr/local 2015-03-15 20:40:38 +01:00
Yann Collet
bbcfe2144d Added : clang test 2015-03-15 14:19:47 +01:00
Yann Collet
45b0642bf5 scan-build tests 2015-03-15 01:42:27 +01:00
Yann Collet
45a357fd17 Improved sparse file support 2015-03-13 02:24:08 +01:00
Yann Collet
e38c268b5a Fixed minor g++ warnings 2015-03-11 20:11:14 +01:00
Yann Collet
e3f33d2579 Fixed minor warnings 2015-03-11 18:38:44 +01:00
Yann Collet
ceec6fa849 g++ compatibility 2015-03-10 16:57:42 +01:00
Yann Collet
e1d9b593e1 Fixed : static library (x64 binary) 2015-03-08 12:50:40 +01:00
Yann Collet
32a85fc76d NetBSD compatibility (#48) 2015-03-07 19:30:45 +01:00
Yann Collet
8f4e201a06 Fix : lz4frame.h within uninstaller 2015-01-21 18:03:17 +01:00
Yann Collet
f68eead36c Added : -pedantic compilation option 2014-12-17 12:32:49 +01:00
Yann Collet
0569a68edd C90 compatibility 2014-12-17 12:20:17 +01:00
Yann Collet
8a9fb8cf32 Fixed : older compiler don't like nameless unions, reported by Cheyi Lin 2014-12-16 22:03:16 +01:00
Yann Collet
95cc6cef64 Fixed : bug within LZ4 HC streaming mode, reported by James Boyle 2014-12-16 02:13:19 +01:00
Yann Collet
7a8cd69960 Fixed : GCC 4.9 bug on highest performance settings, reported by Greg Slazinski 2014-12-14 14:29:15 +01:00
Yann Collet
12adbcaebc Updated comments 2014-12-13 17:08:51 +01:00
Yann Collet
daa320f3f7 New : lz4frame integrated into liblz4 (v1.5.0) 2014-12-13 15:05:46 +01:00
Yann Collet
e68d7dcf22 Fixed : LZ4_compress_limitedOutput() bug, as reported by Christopher Speller 2014-12-10 17:58:15 +01:00
Yann Collet
3477cbac73 stronger tests for LZ4_compress_limitedOutput() 2014-12-10 09:05:44 +01:00
Yann Collet
fc4a6153b0 fixed : pkg version 2014-12-09 09:47:54 +01:00
Yann Collet
c5decf7562 minor refactoring 2014-12-06 17:10:54 +01:00
Yann Collet
b827ecf728 Clarified a few comments 2014-12-03 23:19:11 +01:00
Yann Collet
65ee6b09c4 Fixed : deprecated function LZ4_slideInputBufferHC() 2014-12-03 19:17:10 +01:00
Yann Collet
118296aeb0 variable ref renamed 2014-12-02 23:57:15 +01:00
Yann Collet
67c25a5c1b lz4frame.h : clarified a few comments 2014-12-01 22:00:07 +01:00
Yann Collet
bf79270ced 2014-11-30 23:34:29 +01:00
Yann Collet
d008c87151 New directory structure : library source files into /lib directory 2014-11-30 23:32:12 +01:00