Yann Collet [Fri, 11 Aug 2017 17:49:25 +0000 (10:49 -0700)]
Merge pull request #378 from deymo/dev
Allow to predefine FORCE_INLINE macro.
Yann Collet [Tue, 8 Aug 2017 18:59:57 +0000 (11:59 -0700)]
updated Frame specification
Restored DictID field in Frame header
Bumped specification version to v1.6.0
Alex Deymo [Fri, 28 Jul 2017 14:33:43 +0000 (16:33 +0200)]
Allow to predefine FORCE_INLINE macro.
FORCE_INLINE macro is defined based on the compiler used. When using
gcc, it will include "__attribute__((always_inline))" forcing gcc to
always inline all the functions marked as FORCE_INLINE. However, this
can cause a performance degradation of about 15%.
This patch allows to set the FORCE_INLINE macro from the compiler
command line to either "static" or "static inline" giving allowing it
to inline functions as needed when performing optimizations.
Yann Collet [Mon, 7 Aug 2017 04:06:14 +0000 (21:06 -0700)]
Merge branch 'dev' of github.com:Cyan4973/lz4 into dev
Yann Collet [Mon, 7 Aug 2017 04:05:57 +0000 (21:05 -0700)]
Merge pull request #376 from ido/patch-1
Fix typos preventing installation of static lib.
Yann Collet [Mon, 7 Aug 2017 04:04:54 +0000 (21:04 -0700)]
Merge branch 'dev' of github.com:Cyan4973/lz4 into dev
Yann Collet [Mon, 7 Aug 2017 04:04:46 +0000 (21:04 -0700)]
updated man page
Ido Rosen [Tue, 1 Aug 2017 04:48:58 +0000 (00:48 -0400)]
Fix typos preventing installation of static lib.
Yann Collet [Sun, 9 Jul 2017 06:01:22 +0000 (23:01 -0700)]
Merge pull request #374 from ferdnyc/patch-2
Generate updated man page from Markdown source
FeRD (Frank Dana) [Sat, 8 Jul 2017 15:56:55 +0000 (11:56 -0400)]
Generate updated man page from Markdown source
Yann Collet [Sat, 8 Jul 2017 11:48:32 +0000 (04:48 -0700)]
Merge pull request #373 from ferdnyc/patch-2
Fix formatting of concatenation example
FeRD (Frank Dana) [Sat, 8 Jul 2017 11:43:51 +0000 (07:43 -0400)]
Fix formatting of concatenation example
The "Concatenation of .lz4 files" section contains example commands
that are run together on one line, making them invalid. Wrap them
in a code block and clean up surrounding formatting.
Yann Collet [Mon, 26 Jun 2017 18:29:05 +0000 (11:29 -0700)]
fix #369
The bug would make the bt search read one byte in an invalid memory region,
and make a branch decision based on its value.
Impact was small (missed compression opportunity).
It only happens in -BD mode, with extDict-prefix overlapping matches.
The bt match search is supposed to work also in extDict mode.
In which case, the match ptr can point into Dict.
When the match was overlapping Dict<->Prefix,
match[matchLength] would end up outside of Dict, in an invalid memory area.
The correction ensures that in such a case,
match[matchLength] ends up at intended location, inside prefix.
Yann Collet [Mon, 26 Jun 2017 12:14:26 +0000 (05:14 -0700)]
Merge pull request #371 from jku/tests-LIBDIR
tests/Makefile: don't use LIBDIR as variable
Jussi Kukkonen [Mon, 26 Jun 2017 09:07:09 +0000 (12:07 +0300)]
tests/Makefile: don't use LIBDIR as variable
LIBDIR may be overriden with a environment variable: In this case make
clean breaks in tests/. Use another variable name.
Yann Collet [Mon, 19 Jun 2017 06:55:45 +0000 (23:55 -0700)]
Merge pull request #367 from Chocobo1/fallthrough
Fix gcc7 Wimplicit-fallthrough warnings
Yann Collet [Mon, 19 Jun 2017 06:53:58 +0000 (23:53 -0700)]
Merge pull request #368 from Chocobo1/readme
Update README.md
Chocobo1 [Mon, 19 Jun 2017 06:14:52 +0000 (14:14 +0800)]
Update README.md
Update appveyor badge URL
Remove empty line
Chocobo1 [Mon, 19 Jun 2017 05:09:36 +0000 (13:09 +0800)]
Fix gcc7 Wimplicit-fallthrough warnings
For the default Wimplicit-fallthrough=3 level,
the comment should start with "fall*"
Yann Collet [Wed, 14 Jun 2017 00:25:29 +0000 (17:25 -0700)]
made level 10 a bit faster
at the expense of a little bit of compression ratio.
Now speed is intermediate on calgary corpus :
25 - 12 - 8 - 3
Yann Collet [Tue, 13 Jun 2017 21:45:48 +0000 (14:45 -0700)]
-g compilation flag not by default for lz4 cli
Yann Collet [Tue, 13 Jun 2017 19:35:00 +0000 (12:35 -0700)]
clarified lz4frame api comment (#350)
Yann Collet [Mon, 12 Jun 2017 22:47:43 +0000 (15:47 -0700)]
report where decompression ends (#313)
suggested by @ehem
note : only works for files < 2 GB
Yann Collet [Mon, 12 Jun 2017 17:54:59 +0000 (10:54 -0700)]
updated NEWS
Yann Collet [Thu, 8 Jun 2017 22:04:55 +0000 (15:04 -0700)]
fixed minor scan-build warning
Yann Collet [Thu, 8 Jun 2017 19:51:56 +0000 (12:51 -0700)]
refactored simple_buffer.c example (#363)
Yann Collet [Tue, 6 Jun 2017 18:20:36 +0000 (11:20 -0700)]
added a paragraph on overlap matches
Yann Collet [Fri, 26 May 2017 21:38:47 +0000 (14:38 -0700)]
cli accept block sizes with KB / MB prefixes
Yann Collet [Thu, 25 May 2017 17:55:47 +0000 (19:55 +0200)]
Merge pull request #360 from Chocobo1/md
[Doc] Fix markdown
Chocobo1 [Thu, 25 May 2017 17:03:05 +0000 (01:03 +0800)]
[Doc] Fix markdown
Yann Collet [Tue, 23 May 2017 17:37:24 +0000 (19:37 +0200)]
Merge pull request #359 from PierreNav/dev
Add DLL files to the INSTALL target
PierreNav [Tue, 23 May 2017 09:16:15 +0000 (11:16 +0200)]
Add DLL files to the INSTALL target
Yann Collet [Thu, 11 May 2017 21:54:00 +0000 (14:54 -0700)]
Merge pull request #352 from lz4/resetDCtx
Reset decompression context
Yann Collet [Thu, 11 May 2017 00:06:31 +0000 (17:06 -0700)]
fix (minor) g++ compatibility for frametest
Yann Collet [Wed, 10 May 2017 23:28:36 +0000 (16:28 -0700)]
added test for LZ4F_resetDecompressionContext()
Yann Collet [Wed, 10 May 2017 21:51:09 +0000 (14:51 -0700)]
fixed c_standards tests
and added entry "make list"
Yann Collet [Wed, 10 May 2017 20:27:18 +0000 (13:27 -0700)]
bumped version number to 1.8.0
due to addition of prototype
LZ4F_resetDecompressionContext()
Yann Collet [Wed, 10 May 2017 20:26:04 +0000 (13:26 -0700)]
updated Makefile
to automatically build manual files with
make all
Yann Collet [Wed, 10 May 2017 19:25:05 +0000 (12:25 -0700)]
expose LZ4F_resetDecompressionContext()
Yann Collet [Tue, 2 May 2017 19:01:13 +0000 (12:01 -0700)]
minor readability changes
Yann Collet [Tue, 2 May 2017 05:32:21 +0000 (22:32 -0700)]
changed macro HEAPMODE into LZ4_HEAPMODE
This macro is susceptible to be triggered from user side
typically through compiler flag (-DLZ4_HEAPMODE=1).
In which case, it makes sense to prefix the macro
since we want to reduce potential side-effect on namespace.
Yann Collet [Sun, 30 Apr 2017 05:33:39 +0000 (22:33 -0700)]
Merge pull request #349 from svpv/master
clamp hc levels > 12 + minor fixes in comments
Alexey Tourbin [Sat, 29 Apr 2017 12:52:51 +0000 (15:52 +0300)]
lz4hc.c: clamp compression levels > 12
I noticed that, while 'lz4 -12' works fine, 'lz4 -13' does not compress
at all.
$ cat </etc/passwd |wc -c
2565
$ lz4 -12 </etc/passwd |wc -c
1456
$ lz4 -13 </etc/passwd |wc -c
2584
Perhaps the best way to fix this is to clamp the compression level
in the LZ4HC_compress_generic routine.
Alexey Tourbin [Sat, 29 Apr 2017 12:16:51 +0000 (15:16 +0300)]
lz4cli.c: fix a comment: LZ4HC_DEFAULT_CLEVEL -> LZ4HC_CLEVEL_MAX
Actually the program only mentions LZ4HC_CLEVEL_MAX.
Alexey Tourbin [Sat, 29 Apr 2017 12:00:47 +0000 (15:00 +0300)]
liz4hc.h: fix a comment: LZ4HC_MAX_CLEVEL -> LZ4HC_CLEVEL_MAX
Yann Collet [Wed, 26 Apr 2017 20:13:42 +0000 (13:13 -0700)]
Merge pull request #348 from terrelln/deprecate
[LZ4F] Allow users to disable LZ4F_DEPRECATE
Nick Terrell [Wed, 26 Apr 2017 17:03:23 +0000 (10:03 -0700)]
[LZ4F] Allow users to disable LZ4F_DEPRECATE
Yann Collet [Tue, 11 Apr 2017 21:43:11 +0000 (14:43 -0700)]
Merge pull request #347 from lz4/negativeCLevels
Negative Compression levels
Yann Collet [Sun, 9 Apr 2017 08:41:36 +0000 (01:41 -0700)]
lz4frame : Added negative compression levels
Yann Collet [Sun, 9 Apr 2017 08:11:39 +0000 (01:11 -0700)]
ensure lz4f_cctx internal buffer size remain valid in case of malloc error
Yann Collet [Sun, 9 Apr 2017 01:27:31 +0000 (18:27 -0700)]
lz4frame : control lz4 context creation success
Yann Collet [Thu, 30 Mar 2017 19:22:17 +0000 (12:22 -0700)]
make __packed memory access default for gcc
It's always as good or better then memcpy()
but depends on gcc-specific extension.
solves https://github.com/facebook/zstd/issues/620
Yann Collet [Thu, 30 Mar 2017 19:08:43 +0000 (12:08 -0700)]
Merge pull request #344 from lz4/LZ4F_getFrameInfo
LZ4F_getFrameInfo and LZ4F_resetDecompressionContext
Yann Collet [Wed, 29 Mar 2017 21:18:10 +0000 (14:18 -0700)]
fixed minor Visual warning
Yann Collet [Wed, 29 Mar 2017 19:51:08 +0000 (12:51 -0700)]
Improved comments on LZ4F_getFrameInfo()
and added LZ4F_resetCompressionContext()
Yann Collet [Wed, 29 Mar 2017 00:36:12 +0000 (17:36 -0700)]
added LZ4F_resetDecompressionContext()
Yann Collet [Wed, 29 Mar 2017 00:10:01 +0000 (17:10 -0700)]
Safer LZ4_getFrameInfo()
LZ4_getFrameInfo() is now guaranteed to keep dctx state clean,
even in case of failure.
Yann Collet [Mon, 27 Mar 2017 20:32:51 +0000 (13:32 -0700)]
Merge pull request #342 from iburinoc/isatty
Fix IS_CONSOLE returning 1 for NUL on windows
Sean Purcell [Mon, 27 Mar 2017 19:26:04 +0000 (12:26 -0700)]
Fix inline compile errors
Sean Purcell [Mon, 27 Mar 2017 19:10:10 +0000 (12:10 -0700)]
Fix IS_CONSOLE returning 1 for NUL on windows
Yann Collet [Sat, 25 Mar 2017 03:42:27 +0000 (20:42 -0700)]
Merge pull request #341 from iburinoc/exematch
Ignore extensions in exe name matching
Yann Collet [Sat, 25 Mar 2017 00:10:45 +0000 (17:10 -0700)]
Merge pull request #340 from lz4/optlz4opt
lz4opt
Sean Purcell [Fri, 24 Mar 2017 23:33:14 +0000 (16:33 -0700)]
Ignore extensions in exe name matching
Yann Collet [Fri, 24 Mar 2017 19:03:32 +0000 (12:03 -0700)]
Merge pull request #338 from ldv-alt/dev
Export deprecated symbols declared in lz4hc.h
Yann Collet [Fri, 24 Mar 2017 18:29:35 +0000 (11:29 -0700)]
improved level 10 speed for degenerated cases
Yann Collet [Fri, 24 Mar 2017 18:00:40 +0000 (11:00 -0700)]
Merge branch 'dev' into optlz4opt
Yann Collet [Fri, 24 Mar 2017 17:34:18 +0000 (10:34 -0700)]
fixed API comment for LZ4F_createCompressionContext()
as reported by @nh2
Dmitry V. Levin [Fri, 24 Mar 2017 03:12:48 +0000 (03:12 +0000)]
Export deprecated symbols declared in lz4hc.h
Commit
25b243588585b06a2d947372284cbfe00da930e9 exported deprecated
symbols declared in lz4.h by marking all LZ4_DEPRECATED functions with
LZ4LIB_API attribute. This change does the same with functions declared
in lz4hc.h file, thus extending the export to lz4hc.h.
As result, the following 17 deprecated functions are exported again:
LZ4_compressHC
LZ4_compressHC2
LZ4_compressHC2_continue
LZ4_compressHC2_limitedOutput
LZ4_compressHC2_limitedOutput_continue
LZ4_compressHC2_limitedOutput_withStateHC
LZ4_compressHC2_withStateHC
LZ4_compressHC_continue
LZ4_compressHC_limitedOutput
LZ4_compressHC_limitedOutput_continue
LZ4_compressHC_limitedOutput_withStateHC
LZ4_compressHC_withStateHC
LZ4_createHC
LZ4_freeHC
LZ4_resetStreamStateHC
LZ4_sizeofStreamStateHC
LZ4_slideInputBufferHC
Yann Collet [Thu, 23 Mar 2017 05:00:07 +0000 (22:00 -0700)]
Merge pull request #337 from ldv-alt/dev
cli: add GNU separator -- specifying that all following arguments are files
Dmitry V. Levin [Thu, 23 Mar 2017 03:48:51 +0000 (03:48 +0000)]
cli: add GNU separator -- specifying that all following arguments are files
This option is supported by other compressors with compatible cli,
so add it to lz4 as well for better compatibility.
Yann Collet [Mon, 20 Mar 2017 16:58:00 +0000 (09:58 -0700)]
Merge branch 'optlz4opt' of github.com:Cyan4973/lz4 into optlz4opt
Yann Collet [Mon, 20 Mar 2017 09:57:41 +0000 (02:57 -0700)]
minor refactor
Yann Collet [Sat, 18 Mar 2017 01:07:53 +0000 (18:07 -0700)]
slight btopt speed improvement
removing a useless test
Yann Collet [Sat, 18 Mar 2017 01:07:53 +0000 (18:07 -0700)]
slight btopt speed improvement
removing a useless test
Yann Collet [Sat, 18 Mar 2017 00:42:47 +0000 (17:42 -0700)]
made SET_PRICE macro more usable
previous version would use argument to also change target member.
Now, only values are transferred
Yann Collet [Fri, 17 Mar 2017 23:53:35 +0000 (16:53 -0700)]
improved lz4opt speed (~4%)
Yann Collet [Fri, 17 Mar 2017 22:51:08 +0000 (15:51 -0700)]
minor price function optimization
Yann Collet [Fri, 17 Mar 2017 22:11:09 +0000 (15:11 -0700)]
added `extern C` for lz4.h static section
should make the file more compatible with C++ compiler, such as Visual or g++
Yann Collet [Thu, 16 Mar 2017 22:41:30 +0000 (15:41 -0700)]
LZ4_compress_HC_continue_destSize() works as intended up to level 10
It's incompatible with btopt though,
so cLevel >= 11 feature much reduced performance (degraded mode)
Yann Collet [Thu, 16 Mar 2017 22:10:38 +0000 (15:10 -0700)]
LZ4_compress_HC_destSize() uses LZ4HC_compress_generic() code path
Limits compression level to 10,
to remain compatible with Hash Chain.
Yann Collet [Thu, 16 Mar 2017 09:24:46 +0000 (02:24 -0700)]
updated lz4 version number
Yann Collet [Thu, 16 Mar 2017 09:16:24 +0000 (02:16 -0700)]
created LZ4_HC_STATIC_LINKING_ONLY section
where are exposed new prototypes *_destSize()
Yann Collet [Thu, 16 Mar 2017 01:59:26 +0000 (18:59 -0700)]
fixed Visual compilation error
static const must be a "constant", like a macro
even if it can be determined at compile time ...
Yann Collet [Thu, 16 Mar 2017 00:20:22 +0000 (17:20 -0700)]
fix #332 : do not modify /dev/null permissions
Yann Collet [Wed, 15 Mar 2017 04:21:54 +0000 (21:21 -0700)]
fix #333 : expose obsolete decoding functions
with deprecation warning.
notified by Chen Yufei
Yann Collet [Sun, 12 Mar 2017 10:18:34 +0000 (03:18 -0700)]
added Oleg @remittor contribution
Yann Collet [Sun, 12 Mar 2017 10:16:23 +0000 (03:16 -0700)]
Merge pull request #331 from ldv-alt/dev
Export only those symbols that are part of public API
Yann Collet [Sun, 12 Mar 2017 10:15:10 +0000 (03:15 -0700)]
Merge pull request #329 from remittor/dev-hc2
lz4hc: Add LZ4_compressHC_destSize
Dmitry V. Levin [Fri, 10 Mar 2017 23:35:30 +0000 (23:35 +0000)]
Export only those symbols that are part of public API
Specify -fvisibility=hidden parameter when linking the shared library
using -fPIC, assuming that gcc >= 4 is used.
This change results to unexporting of the following 42 functions:
LZ4F_getErrorCode
LZ4_XXH32
LZ4_XXH32_canonicalFromHash
LZ4_XXH32_copyState
LZ4_XXH32_createState
LZ4_XXH32_digest
LZ4_XXH32_freeState
LZ4_XXH32_hashFromCanonical
LZ4_XXH32_reset
LZ4_XXH32_update
LZ4_XXH64
LZ4_XXH64_canonicalFromHash
LZ4_XXH64_copyState
LZ4_XXH64_createState
LZ4_XXH64_digest
LZ4_XXH64_freeState
LZ4_XXH64_hashFromCanonical
LZ4_XXH64_reset
LZ4_XXH64_update
LZ4_XXH_versionNumber
LZ4_compressHC
LZ4_compressHC2
LZ4_compressHC2_continue
LZ4_compressHC2_limitedOutput
LZ4_compressHC2_limitedOutput_continue
LZ4_compressHC2_limitedOutput_withStateHC
LZ4_compressHC2_withStateHC
LZ4_compressHC_continue
LZ4_compressHC_limitedOutput
LZ4_compressHC_limitedOutput_continue
LZ4_compressHC_limitedOutput_withStateHC
LZ4_compressHC_withStateHC
LZ4_compress_fast_force
LZ4_compress_forceExtDict
LZ4_createHC
LZ4_decompress_safe_forceExtDict
LZ4_freeHC
LZ4_resetStreamStateHC
LZ4_sizeofStreamStateHC
LZ4_slideInputBufferHC
LZ4_uncompress
LZ4_uncompress_unknownOutputSize
Dmitry V. Levin [Fri, 10 Mar 2017 23:35:30 +0000 (23:35 +0000)]
Export deprecated symbols
Deprecated symbols are still a part of ABI and have to be exported,
so mark them with LZ4LIB_API attribute.
Dmitry V. Levin [Fri, 10 Mar 2017 23:35:30 +0000 (23:35 +0000)]
Explicitly set visibility of public API functions when gcc is used
Windows builds already limit exporting of functions to those marked
with LZ4LIB_API tag. The same behaviour could be achieved on other
platforms when a relatively fresh gcc is used.
This change assigns public visibility to all symbols marked with
LZ4LIB_API tag. When the library is built in -fvisibility=hidden
mode, only these marked symbols will be exported.
Yann Collet [Fri, 10 Mar 2017 22:47:16 +0000 (14:47 -0800)]
Merge pull request #330 from inikep/dev
fix bench
Przemyslaw Skibinski [Fri, 10 Mar 2017 19:49:25 +0000 (20:49 +0100)]
bench.c: respect LZ4_MAX_INPUT_SIZE limit
Przemyslaw Skibinski [Fri, 10 Mar 2017 19:43:53 +0000 (20:43 +0100)]
Merge remote-tracking branch 'refs/remotes/lz4/dev' into dev
remittor [Thu, 9 Mar 2017 09:19:24 +0000 (12:19 +0300)]
lz4hc: Fix LZ4HC_compress_hashChain for backward compatibility
remittor [Wed, 8 Mar 2017 15:49:55 +0000 (18:49 +0300)]
lz4hc: Fix LZ4HC_compress_hashChain for full support destSize variant
remittor [Wed, 8 Mar 2017 08:13:28 +0000 (11:13 +0300)]
tests: fuzzer: Add test for LZ4_compressHC_destSize
remittor [Wed, 8 Mar 2017 08:11:15 +0000 (11:11 +0300)]
lz4hc: Add LZ4_compressHC_destSize and LZ4_compress_HC_continue_destSize
remittor [Tue, 7 Mar 2017 21:30:54 +0000 (00:30 +0300)]
lz4hc: Cleanup function LZ4HC_encodeSequence
remittor [Tue, 7 Mar 2017 14:11:48 +0000 (17:11 +0300)]
lz4hc: Cleanup function LZ4HC_compress_hashChain