Commit Graph

107 Commits

Author SHA1 Message Date
yann.collet.73@gmail.com
a78db582d3 Makefile : support DESTDIR for staged installs. Thanks Jorge Aparicio.
Makefile : make install installs both lz4 and lz4c (Jorge Aparicio)
Makefile : removed -Wno-implicit-declaration compilation switch
lz4cli.c : include <stduni.h> for isatty() (Luca Barbato)
lz4.h : introduced LZ4_MAX_INPUT_SIZE constant (Shay Green)
lz4.h : LZ4_compressBound() : unified macro and inline definitions (Shay Green)
lz4.h : LZ4_decompressSafe_partial() : clarify comments (Shay Green)
lz4.c : LZ4_compress() verify input size condition (Shay Green)
bench.c : corrected a bug in free memory size evaluation
cmake : install into bin/ directory (Richard Yao)
cmake : check for just C compiler (Elan Ruusamae)


git-svn-id: https://lz4.googlecode.com/svn/trunk@107 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-10-21 08:03:40 +00:00
yann.collet.73@gmail.com
82bf5be9b0 git-svn-id: https://lz4.googlecode.com/svn/trunk@106 650e7d94-2a16-8b24-b05c-7c0b3f6821cd 2013-10-01 20:32:43 +00:00
yann.collet.73@gmail.com
c63f81c105 Makefile : New install script and man page, contributed by Prasad Pandit
lz4cli.c : Minor modifications, for easier extensibility
COPYING : added license file
LZ4_Streaming_Format.odt : modified file name to remove white space characters
exe : .exe suffix now properly added only for Windows target

git-svn-id: https://lz4.googlecode.com/svn/trunk@105 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-09-25 09:00:37 +00:00
yann.collet.73@gmail.com
a12ed25c1c quickfix : removed #include "lz4stream.h" from lz4cli.c
git-svn-id: https://lz4.googlecode.com/svn/trunk@104 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-09-09 11:47:55 +00:00
yann.collet.73@gmail.com
3e65c1e0c6 New command line utility, lz4 (notice the missing final 'c'), with gzip-style arguments (issue 83)
lz4c still there, supports additional gzip arguments, but also keep compatibility with legacy commands
lz4 (& lz4c) display version number
Fix : Sun Studio : compatible #pragma directive (issue 81)
Fix : compatible with Objective-C (iOS) (issue 79)
Fix : minor warnings using Visual Studio x64 (issue 80)
Changed : source file lz4c.c renamed lz4cli.c

git-svn-id: https://lz4.googlecode.com/svn/trunk@103 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-09-09 09:06:21 +00:00
yann.collet.73@gmail.com
02c5579ff0 LZ4 compression supports block dependency (argument -BD within lz4c command line)
fullbench : added bench of LZ4_compress_continue(), LZ4_compress_limitedOutput_continue(), LZ4_compressHC_continue() and LZ4_compressHC_limitedOutput_continue()


git-svn-id: https://lz4.googlecode.com/svn/trunk@102 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-08-16 10:46:08 +00:00
yann.collet.73@gmail.com
27efcd4d45 Removed dependency to "lz4_encoder.h" and "lz4hc_encoder.h"
Improved speed of LZ4_decompress_fast() with GCC
Improved speed of LZ4_decompress_safe() for 32-bits
Made the fast LZ4 compression compatible with low-memory systems (buffer address < 64K). Thanks Francois Gretief for report and suggestion.
Makefile : added fuzzer32
Makefile : added fullbench32
fullbench : added ability to select one specific function to benchmark
lz4.c : copy macros follow memcpy() arguments convention
Small coding style modifications, hinted by cppCheck. 

git-svn-id: https://lz4.googlecode.com/svn/trunk@101 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-08-12 08:35:52 +00:00
yann.collet.73@gmail.com
dd06f54386 Bugfix release
Corrected a bug into the compact XXH32() function, which affects Block Checksum results. Update is recommended if you use Block Checksum with lz4c. (Note : block checksum is disabled by default). Thanks Adrien Grand for detailed bug tracking and fixing.
Corrected a bug affected Heapmode version of LZ4_compress() (Note : heapmode is disabled by default)

git-svn-id: https://lz4.googlecode.com/svn/trunk@100 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-08-07 17:14:03 +00:00
yann.collet.73@gmail.com
13e966d968 lz4c : made display and arguments more compatible with gzip, for easier integration with tar (patch by Yaakov Selkowitz)
Correction : large files support on 32-bits unix (reported by Karthik Rajeswaran)
lz4c : reduce the amount of displayed information in default mode; introduce a verbose mode
lz4c : changed help message
Updated xxHash to r31
Made bench.c compatible with tcc
Corrected : a few minor warnings found by CppCheck, as suggested by Brian White
lz4.c : Pushed BIG_ENDIAN_NATIVE_BUT_INCOMPATIBLE farther in the code, since it is reported as providing little benefit
Corrected : minor 64K input condition, detected by Mat Hostetter

git-svn-id: https://lz4.googlecode.com/svn/trunk@99 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-07-27 11:19:31 +00:00
yann.collet.73@gmail.com
002a93473d Corrected issue 70, 'pack' instruction on IBM AIX
Added : fullbench : can select compression tests or decompression tests
Removed extern inline, for compatibility with GNU89, as reported by Maciej Adamczyk
lz4.c : made forceinline more explicit
Decompression : corrected corner case behaviors (inputSize == 0 and outputSize == 0), thanks Adrien for detailed suggestions
Makefile : Removed -march=native parameter, due to incompatibility with some GCC versions 

git-svn-id: https://lz4.googlecode.com/svn/trunk@98 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-07-01 07:50:40 +00:00
yann.collet.73@gmail.com
16c0942822 lz4.c no longer depends on lz4_decoder.h (removed)
Decompression speed improved under GCC
Improved speed of LZ4_decompress_safe_partial()
Added new utility : fullbench 
Modified x64 detection macro, as suggested by David Karner
Improved Fuzzer tool
Updated xxHash to r30

git-svn-id: https://lz4.googlecode.com/svn/trunk@97 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-06-10 17:29:13 +00:00
yann.collet.73@gmail.com
cd3bcd0043 New experimental mode : compress blocks using data from previous blocks (option -BD) (limitation : -hc mode only)
Changed deprecated function names to "static", in order to avoid duplicate definition. Thanks Maciej Adamczyk for reporting.
Changed a few command line options
Prettify help text


git-svn-id: https://lz4.googlecode.com/svn/trunk@96 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-05-27 13:37:48 +00:00
yann.collet.73@gmail.com
e185b252f0 lz4c : automatic output name when decoding a *.lz4 file, as requested by Peter Humphreys
Cleaner C99 detection, thanks to Elad
Modified Basic Types, as recommended by Wayne Scott
Simplified compression function
Corrected : warning on missing #undef in lz4hc, thanks Arseny Kapoulkine
Modified length loops as suggested by Wouter Vermaelen
Modified pragma pack directive for older versions of GCC, as reported by Peter Costello
Updated xxHash to r29
Indent lz4hc.c with spaces 

git-svn-id: https://lz4.googlecode.com/svn/trunk@95 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-05-17 18:41:32 +00:00
yann.collet.73@gmail.com
40ae7043df - New naming : LZ4_decompress_safe() and LZ4_decompress_fast()
- New function : LZ4_decompress_safe_partial(), to decompress just enough data within a compressed block, saving CPU cycles
- New source files : lz4_decoder.h, lz4_encoder.h, lz4hc_encoder.h
- Improved speed of LZ4_decompress_fast()
- Improved speed for compression of small blocks < 64KB
- Improved speed for HC compression

git-svn-id: https://lz4.googlecode.com/svn/trunk@94 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-04-26 14:37:46 +00:00
yann.collet.73@gmail.com
a2e93db805 Added : function LZ4_compressHC_limitedOutput()
Updated : LZ4 Streaming Format.odt, to version 1.4
New : LZ4c now supports Stream Checksum (default) and Skippable chunks
Updated : Fuzzer, testing LZ4_compressHC_limitedOutput()

git-svn-id: https://lz4.googlecode.com/svn/trunk@93 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-04-18 08:53:13 +00:00
yann.collet.73@gmail.com
cbfd031d30 Added : LZ4 Streaming Format specification (v1.3)
Added : LZ4c command-line utility, supporting the new streaming format
Added : xxhash library
Removed : lz4demo is now replaced by lz4.c
Removed : a few level 4 warnings (issue 64)
Updated : makefiles

git-svn-id: https://lz4.googlecode.com/svn/trunk@92 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-04-13 09:31:22 +00:00
yann.collet.73@gmail.com
647baabcef Updated : cmake/CMakeLists.txt, by Nobuhiro Iwamatsu
Updated : cmake/pack/CMakeLists.txt, by Dmitry Cherepanov
lz4demo : CLI accept aggregated commands
lz4demo : detect overwrite output
lz4demo : new commands options (-hc, -y)

git-svn-id: https://lz4.googlecode.com/svn/trunk@91 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-03-30 21:11:40 +00:00
yann.collet.73@gmail.com
633c51904e - New cmake file, by Nobuhiro Iwamatsu, which can also produce shared and static libraries.
- Improved decoding speed, even more for 64-bits, and "safe" version
- Slight speed increase for LZ4-HC
- Pushed a useless parameter down the list in lz4.c

git-svn-id: https://lz4.googlecode.com/svn/trunk@90 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-03-02 23:34:21 +00:00
yann.collet.73@gmail.com
e898c9a79a Corrected issue 59 in lz4hc.c, reported by Masafumi Kiribayashi
Corrected issue 60 in lz4.h, reported by Takayuki Matsuoka
Added : a cmake/pack installer, by Dmitry Cherepanov

git-svn-id: https://lz4.googlecode.com/svn/trunk@89 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-02-19 20:52:50 +00:00
yann.collet.73@gmail.com
c1d7e4f675 LZ4HC : compression speed improved under Visual
Bench mode : option to pause at the end

git-svn-id: https://lz4.googlecode.com/svn/trunk@88 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-01-08 07:23:07 +00:00
yann.collet.73@gmail.com
77417fc4c2 LZ4_HC is now compatible with CPU requiring aligned memory accesses
git-svn-id: https://lz4.googlecode.com/svn/trunk@87 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-12-22 17:56:05 +00:00
yann.collet.73@gmail.com
26b82f35d8 Improved endianess detection
git-svn-id: https://lz4.googlecode.com/svn/trunk@86 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-12-21 16:49:17 +00:00
yann.collet.73@gmail.com
024f83c1e5 Improved decoding speed, thanks to several contributions from Ludvig Strigeus (issues 49, 50 & 54)
Removed unnecessary assignment within LZ4_uncompress_unknownSize() (reported by Shivram)

git-svn-id: https://lz4.googlecode.com/svn/trunk@85 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-12-11 01:38:32 +00:00
yann.collet.73@gmail.com
ffb27d4eca LZ4 HC : extended detection window. Thanks to Adrien Grand.
Fuzzer : more tests cases
lz4demo : detect write errors. Thanks to Dima Tisnek
bench.c : compatibility with Solaris 64. Thanks to Thorbjørn Willoch
LZ4_compressBound() : now both in inline function and macro format. Thanks to Jacob Gorm Hansen

git-svn-id: https://lz4.googlecode.com/svn/trunk@84 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-11-30 13:23:36 +00:00
yann.collet.73@gmail.com
43a03b41b2 Corrected a bug into LZ4_uncompress_unknownOutputSize() introduced in r82
git-svn-id: https://lz4.googlecode.com/svn/trunk@83 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-11-05 16:55:52 +00:00
yann.collet.73@gmail.com
5cc3efc2a5 Corrected issue 38 : bench.c compilation for Sun Solaris 32 bits
Corrected issue 40 : Detect early ending of compressed stream. Thanks Adrian Grand.
Corrected issue 41 : minor comment editing on lz4.h

git-svn-id: https://lz4.googlecode.com/svn/trunk@82 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-11-03 21:04:19 +00:00
yann.collet.73@gmail.com
206f5f48cf Corrected issue 39 : bench.c for NetBSD. Thanks to Thomas Klausner.
git-svn-id: https://lz4.googlecode.com/svn/trunk@81 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-10-27 18:26:58 +00:00
yann.collet.73@gmail.com
7185dc04a6 Corrected Issue 34 (restrict)
minor macro renaming (fuzzer.c)

git-svn-id: https://lz4.googlecode.com/svn/trunk@80 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-10-26 12:35:31 +00:00
yann.collet.73@gmail.com
b1e707f772 - Corrected issue 31 : LZ4 correctly accepts compressing data when the output buffer has exactly the required size (it was a bit over-cautious in previous version).
- Added : a fuzzer tool
Thanks to Andrew Mahone, for contribution on both points


git-svn-id: https://lz4.googlecode.com/svn/trunk@79 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-10-24 12:59:19 +00:00
yann.collet.73@gmail.com
66be4025df Correct issue 36 on LZ4_uncompress_unknownOutputSize(). Thanks to Clayton Stangeland and Maciej Adamczyk for notifying.
Converted tabs to space

git-svn-id: https://lz4.googlecode.com/svn/trunk@78 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-10-16 21:50:15 +00:00
yann.collet.73@gmail.com
9577c977a9 Correction : LZ4_compress_limitedOutput() write too far error
git-svn-id: https://lz4.googlecode.com/svn/trunk@77 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-08-22 15:59:39 +00:00
yann.collet.73@gmail.com
f4e48fe61d changed some macro names in lz4hc to avoid duplicate definition on NetBSD
git-svn-id: https://lz4.googlecode.com/svn/trunk@76 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-08-14 16:27:47 +00:00
yann.collet.73@gmail.com
6078c33f8c Fixed Visual 2005 issues (warning/linking)
git-svn-id: https://lz4.googlecode.com/svn/trunk@75 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-08-13 07:30:58 +00:00
yann.collet.73@gmail.com
4e11dc62ba LZ4.c : changed inline to "static inline" to comply with limitations from GCC/LLVM combination under OS-X.
git-svn-id: https://lz4.googlecode.com/svn/trunk@74 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-08-08 13:02:45 +00:00
yann.collet.73@gmail.com
19a078b132 Improved speed under Visual
git-svn-id: https://lz4.googlecode.com/svn/trunk@73 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-08-03 14:33:12 +00:00
yann.collet.73@gmail.com
89921dd39e Fixed : small compression speed hit on GCC v4.5 introduced by r71
git-svn-id: https://lz4.googlecode.com/svn/trunk@72 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-08-01 23:51:55 +00:00
yann.collet.73@gmail.com
84004b9015 Added : function LZ4_compress_limitedOutput()
Removed : functions with explicit *ctx management (LZ4_compressCtx & LZ4_compress64kCtx). Functions are still present in the .c
Changed : LZ4_compressBound() now a macro

git-svn-id: https://lz4.googlecode.com/svn/trunk@71 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-07-28 13:32:30 +00:00
yann.collet.73@gmail.com
cfbace25d7 lz4.c : changed a tuning parameter name to MEMORY_USAGE, to better reflect its impact
Makefile : default produces native binary, all produce native & 32-bits binaries


git-svn-id: https://lz4.googlecode.com/svn/trunk@70 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-07-24 17:12:23 +00:00
yann.collet.73@gmail.com
d9ef5117f6 Changed Makefile default setting to generate only native binary.
The 32-bits version can still be generated (on 64-bits systems) using :
make lz4demo32


git-svn-id: https://lz4.googlecode.com/svn/trunk@69 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-07-18 19:46:57 +00:00
yann.collet.73@gmail.com
b33dcade4e git-svn-id: https://lz4.googlecode.com/svn/trunk@68 650e7d94-2a16-8b24-b05c-7c0b3f6821cd 2012-06-16 00:04:09 +00:00
yann.collet.73@gmail.com
ebc041cb51 Update CMake file to handle lz4hc. Thanks to Mark Wotton for notification and correction
git-svn-id: https://lz4.googlecode.com/svn/trunk@67 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-06-08 09:36:33 +00:00
yann.collet.73@gmail.com
8dfb9d6159 Added : LZ4 HC : Now integrated into main trunk.
LZ4_HC license moved to BSD

git-svn-id: https://lz4.googlecode.com/svn/trunk@66 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-05-13 17:59:10 +00:00
yann.collet.73@gmail.com
3bc3a6afc3 Added : LZ4Demo : can handle appended compressed streams.
git-svn-id: https://lz4.googlecode.com/svn/trunk@65 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-05-12 19:14:43 +00:00
yann.collet.73@gmail.com
d8184bf7ef minor : Force Software-bit-count for WinCE environment under Visual. Thanks Bayang for Reporting.
git-svn-id: https://lz4.googlecode.com/svn/trunk@64 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-05-09 23:49:41 +00:00
yann.collet.73@gmail.com
ae9eead4ae Corrected : linking stage of Visual 2005 in Debug mode (issue 16)
Minor changes in comments

git-svn-id: https://lz4.googlecode.com/svn/trunk@63 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-05-07 23:10:02 +00:00
yann.collet.73@gmail.com
6cedd1f252 Added : cmake configuration file, from Dmitry Cherepanov
git-svn-id: https://lz4.googlecode.com/svn/trunk@62 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-04-08 15:18:12 +00:00
yann.collet.73@gmail.com
ee1c281947 Corrected : minor : changed a macro name to avoid duplicate within NetBSD. Thanks Gray for reporting (Issue 15)
git-svn-id: https://lz4.googlecode.com/svn/trunk@61 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-04-03 19:34:15 +00:00
yann.collet.73@gmail.com
fd281f8e5d Added : lz4demo : software swap32 backend for compilers which do not support hardware ones. Thanks Dmitry Cherepanov for contribution
git-svn-id: https://lz4.googlecode.com/svn/trunk@60 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-03-16 19:50:58 +00:00
yann.collet.73@gmail.com
ad59ba1cfa minor code refactoring, mostly around __builtin_expect
git-svn-id: https://lz4.googlecode.com/svn/trunk@59 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-03-09 21:46:59 +00:00
yann.collet.73@gmail.com
89767cc280 Small speed improvement (compression & decompression), Thanks Maciej Adamczyk for suggestion
Fixed : LZ4_uncompress_unknownOutputSize(), now protected against a malicious attack type, where a crafted input deliberately attempts to make it read outside of input buffer. Thanks Steinar H. Gunderson for report.

git-svn-id: https://lz4.googlecode.com/svn/trunk@58 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2012-03-01 15:19:08 +00:00