Commit Graph

1301 Commits

Author SHA1 Message Date
tcpan
f423d016cf FIX: added prefix to FORCE_INLINE to prevent redefinition error during compilation when used with other libraries that define FORCE_INLINE 2017-08-24 10:14:20 -04:00
Yann Collet
c10863b98e fix : asan error in dctx, due to increased maximum frame header size, reported by Craig Young 2017-08-17 10:55:30 -07:00
Yann Collet
1e92bb0af0 Merge pull request #382 from lz4/installVars
better respect GNU standard Makefile conventions
2017-08-16 00:43:32 -07:00
Yann Collet
edb4343659 updated lz4frame manual 2017-08-15 16:58:12 -07:00
Yann Collet
a1f3a27e9b Merge branch 'dev' into installVars and fixed conflicts 2017-08-15 16:57:00 -07:00
Yann Collet
af9d72b7f6 Merge pull request #383 from lz4/blockChecksum
Block checksum
2017-08-15 16:50:04 -07:00
Yann Collet
8593ba8831 Merge pull request #380 from lz4/dictID
Frame Dictionary API
2017-08-15 14:12:04 -07:00
Yann Collet
01cdbfb5fe lz4c legacy commands are now enabled at runtime based on link/binary name "lz4c"
instead of selected at compilation time depending on a macro.
This design makes it possible to have a single binary which supports both modes.

An advantageous side effect is that when doing `make; make install`
no additional binary is created during `make install`
(it used to create `lz4c`, because `make` would only build `lz4`)
2017-08-14 16:56:05 -07:00
Yann Collet
731cff1208 fix minor markdown display issues 2017-08-14 15:18:47 -07:00
Yann Collet
aea7d521ae better respect GNU standard Makefile conventions
supports lowercase directory variables
add an "Installation" section in README.md
added an INSTALL file
2017-08-14 15:13:23 -07:00
Yann Collet
930a692110 cli : restored command -BX to enable block checksum (#322) 2017-08-11 17:58:46 -07:00
Yann Collet
77f99d2922 restored block checksum capability at lz4frame API level 2017-08-11 17:46:52 -07:00
Yann Collet
228e26ee63 Merge pull request #378 from deymo/dev
Allow to predefine FORCE_INLINE macro.
2017-08-11 10:49:25 -07:00
Yann Collet
757497ae3d implemented lz4frame decompression API 2017-08-10 16:53:57 -07:00
Yann Collet
4531637ecd support dictionary compression with independent blocks 2017-08-10 12:12:53 -07:00
Yann Collet
8d597d62d5 fixed gcc prototype warning 2017-08-10 10:28:52 -07:00
Yann Collet
d8aafe2c52 dictionary compression correctly uses compression level
Not obvious : copying the state was copying cdict's compression level
2017-08-10 00:48:19 -07:00
Yann Collet
ca2fb166ab fixed C++ conversion warnings 2017-08-09 18:22:26 -07:00
Yann Collet
bf8daa2fd5 fixed uninitialization error in lz4frame 2017-08-09 18:00:48 -07:00
Yann Collet
31f2cdf4d2 implemented dictionary compression in lz4frame
note : only compression API is implemented and tested
still to do : decompression API
2017-08-09 16:51:19 -07:00
Yann Collet
1d1737aaf2 fixed frameCompress example 2017-08-09 12:29:38 -07:00
Yann Collet
a82dadfbae added dictID inside LZ4F_frameInfo_t
Compressor can set dictID on LZ4F_compressBegin()
Decompressor can retrieve it using LZ4F_getFrameInfo()
2017-08-08 17:43:11 -07:00
Yann Collet
e98a528576 updated Frame specification
Restored DictID field in Frame header
Bumped specification version to v1.6.0
2017-08-08 11:59:57 -07:00
Alex Deymo
76ef6d0ab0 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.
2017-08-07 10:34:33 +02:00
Yann Collet
9a967030d7 Merge branch 'dev' of github.com:Cyan4973/lz4 into dev 2017-08-06 21:06:14 -07:00
Yann Collet
c5a015bc3f Merge pull request #376 from ido/patch-1
Fix typos preventing installation of static lib.
2017-08-06 21:05:57 -07:00
Yann Collet
4891f909e1 Merge branch 'dev' of github.com:Cyan4973/lz4 into dev 2017-08-06 21:04:54 -07:00
Yann Collet
dba4d70a1d updated man page 2017-08-06 21:04:46 -07:00
Ido Rosen
8aeaf6bb3a Fix typos preventing installation of static lib. 2017-08-01 00:48:58 -04:00
Yann Collet
ac5ed8e4bb Merge pull request #374 from ferdnyc/patch-2
Generate updated man page from Markdown source
2017-07-08 23:01:22 -07:00
FeRD (Frank Dana)
63d5005681 Generate updated man page from Markdown source 2017-07-08 11:56:55 -04:00
Yann Collet
ef06555100 Merge pull request #373 from ferdnyc/patch-2
Fix formatting of concatenation example
2017-07-08 04:48:32 -07:00
FeRD (Frank Dana)
872f767fec 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.
2017-07-08 07:43:51 -04:00
Yann Collet
6ad3a983db 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.
2017-06-26 11:29:05 -07:00
Yann Collet
2ef4afeebe Merge pull request #371 from jku/tests-LIBDIR
tests/Makefile: don't use LIBDIR as variable
2017-06-26 05:14:26 -07:00
Jussi Kukkonen
e14b4c5a3e 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.
2017-06-26 13:32:40 +03:00
Yann Collet
1525fd1f52 Merge pull request #367 from Chocobo1/fallthrough
Fix gcc7 Wimplicit-fallthrough warnings
2017-06-18 23:55:45 -07:00
Yann Collet
7982a905e2 Merge pull request #368 from Chocobo1/readme
Update README.md
2017-06-18 23:53:58 -07:00
Chocobo1
9d453a1885 Update README.md
Update appveyor badge URL
Remove empty line
2017-06-19 14:17:24 +08:00
Chocobo1
a4ec7fa7b7 Fix gcc7 Wimplicit-fallthrough warnings
For the default Wimplicit-fallthrough=3 level,
the comment should start with "fall*"
2017-06-19 13:57:35 +08:00
Yann Collet
89b9f026c9 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
2017-06-13 17:25:29 -07:00
Yann Collet
a6fd0f9d0b -g compilation flag not by default for lz4 cli 2017-06-13 14:45:48 -07:00
Yann Collet
bfc1806605 clarified lz4frame api comment (#350) 2017-06-13 12:35:00 -07:00
Yann Collet
d18084c655 report where decompression ends (#313)
suggested by @ehem
note : only works for files < 2 GB
2017-06-12 15:47:43 -07:00
Yann Collet
139a387d17 updated NEWS 2017-06-12 10:54:59 -07:00
Yann Collet
0beaa356f2 fixed minor scan-build warning 2017-06-08 15:04:55 -07:00
Yann Collet
775e63ee01 refactored simple_buffer.c example (#363) 2017-06-08 12:51:56 -07:00
Yann Collet
7e15e240ab added a paragraph on overlap matches 2017-06-06 11:20:36 -07:00
Yann Collet
03d8586fca cli accept block sizes with KB / MB prefixes 2017-05-26 14:38:47 -07:00
Yann Collet
8c355d17fb Merge pull request #360 from Chocobo1/md
[Doc] Fix markdown
2017-05-25 19:55:47 +02:00