Commit Graph

70 Commits

Author SHA1 Message Date
Yann Collet
2d98faf238 Improved decoding speed 2014-11-27 22:44:36 +01:00
Yann Collet
2ad37dbe58 Corrected lz4io 2014-11-23 01:14:04 +01:00
Yann Collet
b3b207c4db New endian & alignment code 2014-11-23 00:46:15 +01:00
Yann Collet
4befab0fcc lz4.h : updated library version number to 1.4.0 2014-11-04 20:04:43 +01:00
Yann Collet
61289dea1d Optimized LZ4_saveDictHC() 2014-11-02 22:32:12 +01:00
Yann Collet
7a677a77a6 LZ4 HC streaming integrated within lz4frame 2014-10-28 00:39:06 +01:00
Yann Collet
2b421e97d4 HC streaming : support small ringbuffer scenarios 2014-10-25 20:52:10 +01:00
Yann Collet
d239a23337 updated LZ4HC API 2014-10-18 11:18:14 +01:00
Yann Collet
0400451ac2 Fix : streaming mode bug (re-using context & buffers) 2014-09-10 13:00:39 +01:00
Yann Collet
eac83cd850 Added : streaming mode 2014-09-09 23:54:22 +01:00
Yann Collet
e619cfe852 Completed first version of lz4frame decompress
Added a first decompression test
2014-09-03 19:49:59 +01:00
Yann Collet
18392cd5e1 minor comment clarification about LZ4_compressBound() 2014-08-26 13:48:13 +01:00
Yann Collet
c380474232 minor API comment clarifications 2014-08-21 17:23:51 +01:00
Yann Collet
19d3c36f1c Revert "Introduced "Continuous Block Mode" (CBM) naming"
This reverts commit 53f1fbe062.
2014-08-09 23:14:26 +02:00
Yann Collet
53f1fbe062 Introduced "Continuous Block Mode" (CBM) naming
to better differentiate with future lz4s.c library
2014-08-08 13:08:11 +01:00
Yann Collet
64547df2de Added : LZ4_versionNumber(), thanks to Takayuki Matsuoka 2014-07-21 19:42:12 +01:00
Yann Collet
1870d48fc8 Restored : lz4 compression function using externally allocated memory for state 2014-07-20 13:34:14 +01:00
Yann Collet
fbe14d128e Modified : lz4 streaming API, strong types 2014-07-14 23:04:10 +01:00
Yann Collet
d3c43d3251 Modified : streaming API (fast compression) 2014-07-05 16:48:49 +01:00
Yann Collet
da5373197e Fixed : issue 52 (reported by Ludwig Strigeus) 2014-06-22 11:25:04 +01:00
Yann Collet
6e1179a1e3 bugfix : streaming tiny messages from within very small ringbuffer (Takayuki's streaming example 2) 2014-06-19 22:54:16 +01:00
Yann Collet
d517d609d9 Fixed : streaming compression using small (<64KB) dictionary buffers 2014-06-17 21:41:59 +01:00
Yann Collet
2f0a717a35 LZ4 Streaming : check overlapping input/dictionary 2014-06-14 16:56:24 +01:00
Yann Collet
135f11b54e Obsolete "external allocation" functions
(convergence towards LZ4_compress_continue() )
2014-06-09 16:46:03 +01:00
Yann Collet
598bde9a69 converge towards LZ4_compress_continue() 2014-06-09 02:42:39 +01:00
Yann Collet
a79180f51d New : valgrind memtest 2014-06-09 01:01:04 +01:00
Yann Collet
b636779b0e unified structure model 2014-06-02 07:07:19 +01:00
Yann Collet
8c38ddd7e6 Introduce : LZ4_compress_limitedOutput_usingDict() 2014-05-20 23:26:03 +01:00
Yann Collet
4db6b03fce First version of Block Streaming API : LZ4_compress_usingDict() 2014-05-20 00:40:29 +01:00
Yann Collet
7bcb3b2e9f changed naming convention to *_usingDict() 2014-05-04 13:26:05 +01:00
Yann Collet
200d87c684 Added : *_withDict to fullbench 2014-05-03 19:56:08 +01:00
Yann Collet
03b9c5fcae Introduce "External Dictionary" de/compression API 2014-04-28 21:45:35 +01:00
Yann Collet
374d6ac35c Fixed issue 127 & 128 2014-04-15 15:03:17 +02: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
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
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
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
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
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
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
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
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