Commit Graph

2281 Commits

Author SHA1 Message Date
Yann Collet
c75f73a2c0 fixed : allocation within fuzzer
new command line options for fuzzer (see -h)
2014-04-29 21:39:08 +01:00
Yann Collet
ff0db1dfb9 modified : rand generator 2014-04-28 23:49:31 +01:00
Yann Collet
b4e85853c6 fixed : read error into fuzzer 2014-04-28 23:17:49 +01:00
Yann Collet
03b9c5fcae Introduce "External Dictionary" de/compression API 2014-04-28 21:45:35 +01:00
Yann Collet
c4a99c817a fuzzer title shows 32/64 bits mode 2014-04-24 10:12:58 +01:00
Yann Collet
f6beaa779d re-order travis tests
fix : remove man pages on uninstall
2014-04-23 00:54:32 +01:00
Cyan4973
dac2a0946d Merge pull request #3 from Cyan4973/beta
Beta
2014-04-23 00:45:28 +02:00
Yann Collet
30a41b5b91 updated NEWS 2014-04-23 00:38:39 +02:00
Cyan4973
5f4a8e4158 Merge pull request #2 from t-mat/travis-ci
Add automated testing by Travis CI
2014-04-17 01:43:08 +02:00
Takayuki MATSUOKA
a41790a759 Add build target 'test' 2014-04-16 23:26:15 +09:00
Takayuki MATSUOKA
0390c7dd9d Add command-line switch to support Travis-CI
Add command-line switch '--no-prompt' to fullbench and fuzzer.
'--no-prompt' enables :

 - Throtting stdout to satisfy Travis-CI's stdout limit (10MB).
 - Prevent Travis-CI's build timeouts and ignore pause by getchar().
   http://docs.travis-ci.com/user/build-configuration/#Build-Timeouts
2014-04-16 23:25:56 +09:00
Takayuki MATSUOKA
a674c55bd9 Add .travis.yml
.travis.yml in this commit means

 (1) Language is C.
 (2) Compiler is 'gcc'
 (3) Before testing, Travis-CI VM install 'gcc-multilib' for 32bit executables.
 (4) Travis-CI invokes 'make test'.

See also :

  Getting started
  http://docs.travis-ci.com/user/getting-started/

  Configuring your build
  http://docs.travis-ci.com/user/build-configuration/

  Building a C Project
  http://docs.travis-ci.com/user/build-configuration/
2014-04-16 22:25:18 +09:00
Yann Collet
e63b1478b8 Added README.md to the list of packaged files 2014-04-15 20:43:39 +02:00
Yann Collet
5b91330ce2 Added lz4c & lz4cat man pages 2014-04-15 16:47:48 +02:00
Yann Collet
374d6ac35c Fixed issue 127 & 128 2014-04-15 15:03:17 +02:00
yann.collet.73@gmail.com
37be46701a quickfix (issue 124 & 125)
git-svn-id: https://lz4.googlecode.com/svn/trunk@116 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2014-03-24 20:59:20 +00:00
yann.collet.73@gmail.com
848fdf3c15 Added : lz4cat utility for posx systems
OS-X compatible dynamic library, thanks to Jan Stepien
corrected : relative symbolic link for versioned library

git-svn-id: https://lz4.googlecode.com/svn/trunk@115 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2014-03-23 11:15:37 +00:00
yann.collet.73@gmail.com
a9d8640c1f Makefile : library correctly compiled with -O3 switch (issue 114)
Makefile : library compilation compatible with clang
Makefile : library is versioned and linked (issue 119)
lz4.h : no more static inline prototypes (issue 116)
man : improved header/footer (issue 111)
Makefile : Use system default $(CC) & $(MAKE) variables (issue 112)
xxhash : updated to r34

git-svn-id: https://lz4.googlecode.com/svn/trunk@114 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2014-03-12 14:51:59 +00:00
yann.collet.73@gmail.com
69dc85b8ab Large decompression speed improvement for GCC 32-bits. Thanks to Valery Croizier !
LZ4HC : Compression Level is now a programmable parameter (CLI from 4 to 9)
Separated IO routines from command line (lz4io.c)
Version number into lz4.h (suggested by Francesc Alted)


git-svn-id: https://lz4.googlecode.com/svn/trunk@113 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2014-02-04 14:11:10 +00:00
yann.collet.73@gmail.com
96a60a52eb quickfix (issue 107 & issue 103)
git-svn-id: https://lz4.googlecode.com/svn/trunk@112 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2014-01-08 18:50:11 +00:00
yann.collet.73@gmail.com
648678788c Makefile : added capability to install libraries
Modified Directory tree, to better separate libraries from programs.


git-svn-id: https://lz4.googlecode.com/svn/trunk@111 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2014-01-07 18:47:50 +00:00
yann.collet.73@gmail.com
fb38ddaacb lz4 & lz4hc : added capability to allocate state & stream state with custom allocator (issue 99)
fuzzer & fullbench : updated to test new functions
man : documented -l command (Legacy format, for Linux kernel compression) (issue 102)
cmake : improved version by Mika Attila, building programs and libraries (issue 100)
xxHash : updated to r33
Makefile : clean also delete local package .tar.gz


git-svn-id: https://lz4.googlecode.com/svn/trunk@110 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-12-30 17:16:52 +00:00
yann.collet.73@gmail.com
8ac549f10a lz4.c : corrected issue 98 within LZ4_compress_limitedOutput()
Makefile : can specify version number

git-svn-id: https://lz4.googlecode.com/svn/trunk@109 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-12-03 15:50:46 +00:00
yann.collet.73@gmail.com
7a863abfc2 lz4.c : corrected compression efficiency issue 97 in 64-bits chained mode (-BD) for streams > 4 GB (thanks Roman Strashkin for reporting)
git-svn-id: https://lz4.googlecode.com/svn/trunk@108 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2013-11-02 12:11:04 +00:00
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