Yann Collet
0a5a5fb7fd
Fix #418 : printing selected segments in zdict debug mode can segfault with certain pathological patterns
2016-11-02 13:57:55 -07:00
Yann Collet
31e660e7aa
more accurate default maximum window size
2016-10-29 03:56:45 -07:00
Yann Collet
2115724c22
Merge pull request #430 from terrelln/exec-sequences
...
ZSTD_execSequence() accepts match in last 7 bytes
2016-10-28 10:45:05 -07:00
Nick Terrell
10bfd0c0d5
Fix ZSTD_execSequence() performance regression
...
Commit ae1cb3b3d0
caused the regression.
It is an instruction alignment issue, because if it is `U64 i` instead
of `U32 i`, the regression returns. This patch fixes the regression
in gcc, but only gets some of the clang performance back.
Benchmarks:
Run on `silesia.tar`. I only show levels 1-5 because the performance
regression was uniform across all levels. I did one run on levels
1-19 and it looked good.
| Build | Level | Before | While | After |
|-------|-------|-------:|------:|------:|
| gcc | 1 | 931.4 | 904.4 | 932.8 |
| gcc | 2 | 849.1 | 822.6 | 851.2 |
| gcc | 3 | 815.6 | 790.6 | 818.9 |
| gcc | 4 | 794.1 | 770.7 | 798.0 |
| gcc | 5 | 785.7 | 760.7 | 788.8 |
| clang | 1 | 705.5 | 683.2 | 693.8 |
| clang | 2 | 670.0 | 649.2 | 660.7 |
| clang | 3 | 659.6 | 639.8 | 651.4 |
| clang | 4 | 652.5 | 634.7 | 645.9 |
| clang | 5 | 646.9 | 625.5 | 637.7 |
2016-10-27 16:19:57 -07:00
Yann Collet
ee5b725823
ZSTD_initCStream() optimization : do not allocate a CDict when no dictionary used
2016-10-27 14:20:55 -07:00
Nick Terrell
eb7873a048
ZSTD_execSequence() accepts match in last 7 bytes
...
The zstd reference compressor will not emit a match in the last 7
bytes of a block. The decompressor will also not accept a match
in the last 7 bytes. This patch makes the decompressor accept a
match in the last 7 bytes.
2016-10-25 21:24:15 -07:00
Yann Collet
335ad5d4d4
added ZSTD_initDStream_usingDDict() .
...
slightly optimized ZSTD_initDStream() when no dictionary .
fixed ZSTD_sizeof_CStream() .
2016-10-25 17:47:02 -07:00
Yann Collet
9516234e67
first sketch for ZSTD_initCStream_usingCDict()
2016-10-25 16:19:52 -07:00
Yann Collet
62d9a7ddfd
Merge pull request #429 from inikep/btopt2
...
Btopt2
2016-10-25 14:48:43 -07:00
Przemyslaw Skibinski
5c5f01f3da
added ZSTD_btopt2 strategy
2016-10-25 12:25:07 +02:00
Yann Collet
7b5948cca7
Merge pull request #426 from terrelln/fixes
...
Fix various {A, M}SAN bugs
2016-10-24 23:42:26 -07:00
Yann Collet
37d130031d
updated comments on context re-use
2016-10-24 17:22:12 -07:00
Nick Terrell
b2c39a22b0
Fix compiler narrowing warning
2016-10-24 14:50:13 -07:00
Nick Terrell
f698ad6deb
Merge remote-tracking branch 'upstream/dev' into fixes
...
* upstream/dev:
added doc\zstd_manual.html
added contrib\gen_html
zstd_compression_format.md moved to doc/
Fix small bug in ZSTD_execSequence()
improved ZSTD_compressBlock_opt_extDict_generic
protect ZSTD_decodeFrameHeader() from invalid usage, as suggested by @spaskob
zstd_opt.h: small improvement in compression ratio
improved dicitonary segment merge
use implicit rules to compile zstd_decompress.c
detect early impossible decompression scenario in legacy decoder v0.5
no repeat mode in legacy v0.5
fixed invalid invocation of dictionary in legacy decoder v0.5
fix edge case
fix command line interpretation
fixed minor corner case
zstd.h: added the Introduction section
fixed clang 3.5 warnings
zstd.h: updated comments
2016-10-24 13:10:13 -07:00
Yann Collet
4239a207dd
Merge pull request #425 from inikep/dev11
...
Doc
2016-10-24 11:11:40 -07:00
Nick Terrell
f9c9af3c2e
Reject dictionaries with incomplete entropy tables
...
If a dictionary specifies that a symbol has probability zero in its
`matchLength`, `literalLength`, or `offset` FSE table, but the symbol
appears when compressing input, the compressor fails.
Ensure that dictionaries support all `matchLength`, and `literalLength`
codes. They must also support all of the `offset` codes required to
represent every possible offset that can appear in the first block.
2016-10-24 10:42:44 -07:00
Przemyslaw Skibinski
984b66cd72
added contrib\gen_html
2016-10-24 15:59:51 +02:00
Przemyslaw Skibinski
3ee94a7600
zstd_compression_format.md moved to doc/
2016-10-24 15:58:07 +02:00
Yann Collet
97611611a3
Merge pull request #423 from terrelln/exec-seq-patch
...
Fix small bug in ZSTD_execSequence()
2016-10-21 17:02:06 -07:00
Nick Terrell
ae1cb3b3d0
Fix small bug in ZSTD_execSequence()
...
`memmove(op, match, sequence.matchLength)` is not the desired behavior.
Overlap is allowed, and handled as if we did `*op++ = *match++`, which
is not how `memmove()` handles overlap.
Only triggered if both of the following conditions are met:
* The match spans extDict & currentPrefixSegment
* `oLitEnd <= oend_w < oLitEnd + length1 < oMatchEnd <= oend`.
These two conditions imply that the block is less than 15 bytes long.
This bug isn't triggered by the streaming API, because it allocates
enough space for the window size + the block size, so there cannot be
a match that is within 8 bytes of the end and overlaps with itself.
It cannot be triggered by the block decompression API because all of
the decompressed data is in the currentPrefixSegment.
Introduced by commit 7158584399
2016-10-21 12:13:44 -07:00
Przemyslaw Skibinski
4732074a71
improved ZSTD_compressBlock_opt_extDict_generic
2016-10-21 11:19:00 +02:00
Yann Collet
da3bd8b6de
protect ZSTD_decodeFrameHeader() from invalid usage, as suggested by @spaskob
2016-10-20 20:11:00 -07:00
Przemyslaw Skibinski
d365ae3497
zstd_opt.h: small improvement in compression ratio
2016-10-20 11:49:02 +02:00
Przemyslaw Skibinski
575ab00db7
Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev11
2016-10-20 11:01:52 +02:00
Nick Terrell
d760529a05
Fix stack buffer overrun when weightTotal == 0
...
If `weightTotal == 0`, then `BIT_highbit32(weightTotal)` is
undefined behavior in the case that it calls `__builtin_clz()`.
If `tableLog == HUF_TABLELOG_ABSOLUTEMAX` then we will access one
byte beyond the end of the buffer.
2016-10-19 11:39:11 -07:00
Nick Terrell
bb68062c59
Unitialized memory read in ZSTD_decodeSeqHeaders()
...
Caused by two things:
1. Not checking that `ip` is in range except for the first byte.
2. `ZSTDv0{5,6}_decodeLiteralsBlock()` could return a value larger than `srcSize`.
2016-10-18 16:41:33 -07:00
Yann Collet
52c1bf93fe
improved dicitonary segment merge
2016-10-18 16:34:58 -07:00
Nick Terrell
7b06ad7a05
Backport fix from commit 125d817
...
This fixes a read of unitialized memory.
Full commit hash: 125d81774f
.
2016-10-18 14:52:34 -07:00
Nick Terrell
f45b157d95
Backport fix from commit 9e8b09a
...
Fixes uninitialized memory reads.
Full commit hash: 9e8b09a7bd
2016-10-18 14:22:49 -07:00
Yann Collet
f7906d5955
detect early impossible decompression scenario in legacy decoder v0.5
2016-10-18 13:48:32 -07:00
Yann Collet
9313c8d953
no repeat mode in legacy v0.5
2016-10-18 13:36:15 -07:00
Yann Collet
83d7bdee4b
fixed invalid invocation of dictionary in legacy decoder v0.5
2016-10-18 12:25:43 -07:00
Yann Collet
197a55ee7b
fix edge case
2016-10-18 11:27:52 -07:00
Nick Terrell
fd98087047
Fix stack buffer overflow in HUF_readCTable()
...
If `w ==0` on line 153, then `CTable[n].nbBits == tableLog + 1`.
Then `nbPerRank[CTable[n].nbBits]` and `valPerRank[CTable[n].nbBits]`
are stack buffer overflows.
2016-10-17 18:16:59 -07:00
Yann Collet
06573e17be
fixed minor corner case
2016-10-17 17:28:28 -07:00
Nick Terrell
bfd943ace5
Fix buffer overrun in ZSTD_loadDictEntropyStats()
...
The table log set by `FSE_readNCount()` was not checked in
`ZSTD_loadDictEntropyStats()`. This caused `FSE_buildCTable()`
to stack/heap overflow in a few places.
The benchmarks look good, there is no obvious compression performance regression:
> ./zstds/zstd.opt.0 -i10 -b1 -e10 ~/bench/silesia.tar
1#silesia.tar : 211988480 -> 73656930 (2.878), 271.6 MB/s , 716.8 MB/s
2#silesia.tar : 211988480 -> 70162842 (3.021), 204.8 MB/s , 671.1 MB/s
3#silesia.tar : 211988480 -> 66997986 (3.164), 156.8 MB/s , 658.6 MB/s
4#silesia.tar : 211988480 -> 66002591 (3.212), 136.4 MB/s , 665.3 MB/s
5#silesia.tar : 211988480 -> 65008480 (3.261), 98.9 MB/s , 647.0 MB/s
6#silesia.tar : 211988480 -> 62979643 (3.366), 65.2 MB/s , 670.4 MB/s
7#silesia.tar : 211988480 -> 61974560 (3.421), 44.9 MB/s , 688.2 MB/s
8#silesia.tar : 211988480 -> 61028308 (3.474), 32.4 MB/s , 711.9 MB/s
9#silesia.tar : 211988480 -> 60416751 (3.509), 21.1 MB/s , 718.1 MB/s
10#silesia.tar : 211988480 -> 60174239 (3.523), 22.2 MB/s , 721.8 MB/s
> ./compress_zstds/zstd.opt.1 -i10 -b1 -e10 ~/bench/silesia.tar
1#silesia.tar : 211988480 -> 73656930 (2.878), 273.8 MB/s , 722.0 MB/s
2#silesia.tar : 211988480 -> 70162842 (3.021), 203.2 MB/s , 666.6 MB/s
3#silesia.tar : 211988480 -> 66997986 (3.164), 157.4 MB/s , 666.5 MB/s
4#silesia.tar : 211988480 -> 66002591 (3.212), 132.1 MB/s , 661.9 MB/s
5#silesia.tar : 211988480 -> 65008480 (3.261), 96.8 MB/s , 641.6 MB/s
6#silesia.tar : 211988480 -> 62979643 (3.366), 63.1 MB/s , 677.0 MB/s
7#silesia.tar : 211988480 -> 61974560 (3.421), 44.3 MB/s , 678.2 MB/s
8#silesia.tar : 211988480 -> 61028308 (3.474), 33.1 MB/s , 708.9 MB/s
9#silesia.tar : 211988480 -> 60416751 (3.509), 21.5 MB/s , 710.1 MB/s
10#silesia.tar : 211988480 -> 60174239 (3.523), 21.9 MB/s , 723.9 MB/s
2016-10-17 16:55:52 -07:00
Nick Terrell
4db751668f
Fix buffer overrun in ZSTD_loadEntropy()
...
The table log set by `FSE_readNCount()` was not checked in
`ZSTD_loadEntropy()`. This caused `FSE_buildDTable(dctx->MLTable, ...)`
to overwrite the beginning of `dctx->hufTable`.
The benchmarks look good, there is no obvious performance regression:
> ./zstds/zstd.opt.0 -i10 -b1 -e5 ~/bench/silesia.tar
1#silesia.tar : 211988480 -> 73656930 (2.878), 268.2 MB/s , 701.0 MB/s
2#silesia.tar : 211988480 -> 70162842 (3.021), 199.5 MB/s , 666.9 MB/s
3#silesia.tar : 211988480 -> 66997986 (3.164), 154.9 MB/s , 655.6 MB/s
4#silesia.tar : 211988480 -> 66002591 (3.212), 128.9 MB/s , 648.4 MB/s
5#silesia.tar : 211988480 -> 65008480 (3.261), 98.4 MB/s , 633.4 MB/s
> ./zstds/zstd.opt.2 -i10 -b1 -e5 ~/bench/silesia.tar
1#silesia.tar : 211988480 -> 73656930 (2.878), 266.1 MB/s , 703.7 MB/s
2#silesia.tar : 211988480 -> 70162842 (3.021), 199.0 MB/s , 666.6 MB/s
3#silesia.tar : 211988480 -> 66997986 (3.164), 156.2 MB/s , 656.2 MB/s
4#silesia.tar : 211988480 -> 66002591 (3.212), 133.2 MB/s , 647.4 MB/s
5#silesia.tar : 211988480 -> 65008480 (3.261), 96.3 MB/s , 633.3 MB/s
2016-10-17 15:51:15 -07:00
Nick Terrell
ccfcc643da
Check if dict is empty before reading first byte
2016-10-17 11:46:03 -07:00
Yann Collet
2b361cf2f1
minor opt
2016-10-14 16:09:07 -07:00
Yann Collet
7933434fdf
Merge branch 'dev' of github.com:facebook/zstd into dev
2016-10-14 13:32:35 -07:00
Yann Collet
d4cda27b63
new command -M#, to limit memory usage during decompression ( #403 )
2016-10-14 13:32:20 -07:00
Nick Terrell
3b9cdf9220
Fix ubsan failures (pass NULL to memcpy)
2016-10-12 20:54:42 -07:00
Yann Collet
5d919e7ac3
added ZSTD_error_frameParameter_windowTooLarge ( #403 )
2016-10-12 17:29:24 -07:00
Yann Collet
e19111c42f
make creates libzstd binaries ( #415 )
2016-10-12 11:09:36 -07:00
Yann Collet
8b70d012f0
fix cmake
2016-10-12 10:23:53 -07:00
Yann Collet
38fb0dc4cf
Merge pull request #416 from terrelln/exec-sequence
...
Fix ZSTD_execSequence() edge case
2016-10-12 10:17:53 -07:00
Nick Terrell
7158584399
Fix ZSTD_execSequence() edge case
2016-10-12 10:05:26 -07:00
Yann Collet
f52cd03e73
bumped version number
2016-10-11 17:29:27 -07:00
Yann Collet
ef2357d0d3
created error_private.c, so that a single list of error strings get included
2016-10-11 17:24:50 -07:00
Yann Collet
14efab827b
added zstd_errors.h to include installation
2016-10-11 16:51:29 -07:00
Yann Collet
a17fd7312a
changed error_public.h into zstd_errors.h
2016-10-11 16:41:09 -07:00
Yann Collet
18b51b99c0
sync fse
2016-10-11 08:21:09 -07:00
inikep
2d2613399a
zstd.h: added the Introduction section
2016-10-06 16:28:21 +02:00
inikep
ba1db376ac
fixed clang 3.5 warnings
2016-10-06 14:22:48 +02:00
inikep
82057aa7ec
zstd.h: updated comments
2016-10-06 13:23:52 +02:00
Yann Collet
df6797447f
update dictionary builder warning comments
2016-09-27 15:14:32 +02:00
Yann Collet
47094ea66b
added comment on filePos
2016-09-26 18:03:33 +02:00
Yann Collet
cf409a7e2a
fixed : init*_advanced() followed by reset() with different pledgedSrcSiz
2016-09-26 16:41:05 +02:00
Yann Collet
2f2639438a
zstreamtest can fuzztest pledgedSrcSize
2016-09-26 14:06:08 +02:00
Christophe Chevalier
dc245e91cb
Changed to use ZSTDLIBv06_API and ZSTDLIBv07_API for DLL exports to fix warning
...
- changed name to prevent collision with ZSTDLIB_API used by non-legacy dll exports
2016-09-23 17:09:36 +02:00
Yann Collet
21412bb3f6
Merge branch 'dev' of github.com:Cyan4973/zstd into dev
2016-09-22 15:57:56 +02:00
Yann Collet
51f4d566c2
small decompression speed boost for very small data
2016-09-22 15:57:28 +02:00
Yann Collet
97b378a6f8
Streaming : dictionary compression on multiple files / segments can correctly provide srcSize into header (when provided) using pledgedSrcSize.
2016-09-21 17:20:19 +02:00
Yann Collet
993060e0f2
cli : better adaptation to small files
2016-09-21 16:46:08 +02:00
Yann Collet
1eb2fdc74f
bumped version number
2016-09-18 12:21:47 +02:00
Yann Collet
a6bdf55759
fixed memory leak
2016-09-15 17:02:06 +02:00
Yann Collet
644a8da88a
fixed minor conversion warning
2016-09-15 16:16:21 +02:00
Yann Collet
4cb212938c
introduced ZSTD_resetCStream()
2016-09-15 14:54:07 +02:00
Yann Collet
fa0c09760c
variable renaming
2016-09-15 14:11:01 +02:00
Yann Collet
d7c6589df8
support ZSTD_sizeof_*() on NULL
...
added ZSTD_sizeof_CDict()
2016-09-15 02:57:27 +02:00
Yann Collet
e91c4b4cef
introduced ZSTD_resetDStream() .
...
added : ZSTD_sizeof_DDict()
2016-09-14 16:55:44 +02:00
Yann Collet
d092d77cfc
minor variable renaming
2016-09-14 16:14:57 +02:00
Yann Collet
64deef3bee
Fixed srcSize=1
2016-09-14 00:16:07 +02:00
Yann Collet
26ec254066
new strategy for faster DDict decompression
2016-09-13 16:52:16 +02:00
Yann Collet
ac175d46d4
updated comments
2016-09-13 00:51:47 +02:00
Yann Collet
a3481d6de0
make uninstall
2016-09-12 05:04:26 +02:00
Yann Collet
b3060f7a9e
changed streaming decoder behavior : now, when all compressed frame is consumed, it means decompression is completed, with regenerated data fully flushed.
2016-09-09 16:44:16 +02:00
Yann Collet
01c199226a
updated decompression streaming example
2016-09-08 19:29:04 +02:00
Yann Collet
5c6d244973
Merge branch 'dev' of github.com:facebook/zstd into dev
2016-09-07 14:54:54 +02:00
Yann Collet
ac8bace6b1
support large skippable frames
2016-09-07 14:54:23 +02:00
Yann Collet
0e07bf3f60
added comments on searchLength min / max ( #337 )
2016-09-07 06:33:02 +02:00
Yann Collet
95d07d7447
introduced CHECK_E
2016-09-06 16:38:51 +02:00
Yann Collet
3e21ec5b01
introduced CHECK_F
2016-09-06 15:36:19 +02:00
Yann Collet
5c956d593c
FORCE_INLINE common definition
2016-09-06 15:05:19 +02:00
Yann Collet
edbcd9f5b2
fixed zbufftest
2016-09-06 14:30:57 +02:00
Yann Collet
b624922b14
fixed checksum
2016-09-06 11:16:57 +02:00
Yann Collet
a7737f6a60
improved compression on small files when using same parameters
2016-09-06 09:44:59 +02:00
Yann Collet
7ae67bb18a
small compression speed gains with using_CDict
2016-09-06 06:28:05 +02:00
Yann Collet
1d4208c029
clarified streaming decompression inlined doc
2016-09-06 05:16:40 +02:00
Yann Collet
7c83dfd5c2
ZSTD_frameHeaderSize_prefix ( #340 ), as result of ZSTD_initStream
2016-09-05 19:47:43 +02:00
Yann Collet
fa72f6bdce
clarified inline doc for streaming
2016-09-05 17:39:56 +02:00
Yann Collet
c73a8109bb
Merge pull request #344 from inikep/dev10
...
unified error codes for legacy decoders
2016-09-05 07:46:33 -07:00
inikep
45db83f98d
ZSTD_decodeLiteralsBlock renamed to ZSTDv01_decodeLiteralsBlock
2016-09-05 14:46:24 +02:00
inikep
476964f6a1
ZSTD_decodeSeqHeaders renamed to ZSTDv01_decodeSeqHeaders
2016-09-05 13:34:57 +02:00
inikep
c13faa1b0f
legacy decoders: restored #include <intrin.h> for VC++
2016-09-05 13:25:07 +02:00
inikep
8161e7321a
unified error codes for legacy decoders
2016-09-05 12:29:51 +02:00
Thomas Klausner
b85cdabd50
Enable install targets for NetBSD.
2016-09-04 14:37:57 +02:00
Yann Collet
33a0465a51
fixed a few links
2016-09-02 22:11:49 -07:00
Yann Collet
d56dbc02d3
removed g_displayLevel
2016-09-02 17:28:41 -07:00
Yann Collet
855766d73d
clarified dictionary in format description
2016-09-02 17:04:49 -07:00
Yann Collet
d725427a3c
g_time => local displayTime
2016-09-02 15:32:39 -07:00
Yann Collet
1563bfeabc
fixing FORCE_INLINE for older compilers ( #330 )
2016-09-02 11:44:21 -07:00
Yann Collet
7304eb7c09
bumped version number
2016-09-01 15:49:26 -07:00
Yann Collet
901e85fe26
version bump
2016-08-31 07:51:25 -07:00
Yann Collet
1c59c20903
removed redundant files
2016-08-31 07:15:44 -07:00
Yann Collet
599c69d917
minor Makefile updates
2016-08-30 13:33:20 -07:00
David Lam
e10f7f3dcb
merge
2016-08-30 12:03:36 -07:00
Yann Collet
4ded9e591c
added boilerplate
2016-08-30 11:06:28 -07:00
Yann Collet
3b15f1f10f
minor refactor
2016-08-30 09:58:50 -07:00
Yann Collet
240795bef7
Merge branch 'dev' of github.com:Cyan4973/zstd into dev
2016-08-30 06:51:55 -07:00
Yann Collet
14200a20f0
Fixed issue #304 , reported by @borzunov
2016-08-30 06:51:00 -07:00
David Lam
da9d3b7057
Cleanup some errors in typedef comments and remove duplicated HOWTO from zbuff_decompress.c
2016-08-29 17:31:51 -07:00
Yann Collet
09c3c8e885
Merge pull request #307 from inikep/dev08
...
updated README.md
2016-08-29 16:32:33 -07:00
inikep
6416b0d705
updated README.md
2016-08-29 13:04:26 +02:00
Yann Collet
23b6e05d8e
ZSTD_malloc() and ZSTD_free(), to simplify customMem
2016-08-28 21:05:43 -07:00
Yann Collet
5f53b0335e
fixed continuation context
2016-08-28 10:00:49 -07:00
Yann Collet
767d8f66fa
legacy contexts can be re-used
2016-08-28 08:19:47 -07:00
Yann Collet
4bf317dd00
first version supporting legacy streams (transparent decoding)
2016-08-28 07:43:34 -07:00
Yann Collet
e19a9ef05d
update compression level table
2016-08-26 20:02:49 +02:00
Yann Collet
9a021c1aae
fixed some minor clang warnings
2016-08-26 09:05:06 +02:00
Yann Collet
cb5a320705
made -Wdocumentation a clang only flag
2016-08-26 08:06:36 +02:00
Yann Collet
87c18b2ebd
fixed multiple minor warnings for XCode
2016-08-26 01:43:47 +02:00
Yann Collet
0d59a6f73a
removed debug strings
2016-08-25 22:42:46 +02:00
Yann Collet
5a02b69215
reinforced fix for huge files
2016-08-25 22:24:59 +02:00
Yann Collet
96bdd87de4
fixed : compression bug on very large files
2016-08-25 14:34:42 +02:00
inikep
a3a47ec4d0
Merge remote-tracking branch 'refs/remotes/Cyan4973/dev' into Other
2016-08-24 21:25:49 +02:00
Yann Collet
a2cdffe556
fixed wrong parameter issue
2016-08-24 19:42:15 +02:00
inikep
e416e30019
remove unnecessary comments
2016-08-24 17:32:09 +02:00
inikep
4e90f6c1e0
removed ZSTD_LOG_ENCODE and ZSTD_LOG_BLOCK
2016-08-24 17:24:11 +02:00
inikep
83388e109f
removed ZSTD_LOG_PARSER
2016-08-24 17:22:20 +02:00
inikep
8a36f8527c
removed stats in debug mode
2016-08-24 17:19:12 +02:00
inikep
57ef4b1a0d
zstd_v07.c: removed unused macros
2016-08-24 17:16:56 +02:00
Yann Collet
24b68a5b23
update cLevel table for 256KB
2016-08-24 14:22:26 +02:00
Yann Collet
c54692faeb
improved level 3
2016-08-24 01:45:46 +02:00
Yann Collet
17e482efdd
added ZSTD_setDStreamParameter()
2016-08-23 16:58:10 +02:00
Yann Collet
3071c3e303
STREAM_WINDOW_MAX : protect streaming from unreasonable memory requirements
2016-08-23 01:34:34 +02:00
Yann Collet
70e3b31306
fixed playtests on os-x
2016-08-23 01:18:06 +02:00
Yann Collet
cb3276329a
added sizeof CStream and DStream
2016-08-23 00:31:59 +02:00
Yann Collet
d1733f7417
fixed crc bug in rare timing conditions within bench.c
2016-08-21 01:04:46 +02:00
Yann Collet
8baf78a291
minor coding style
2016-08-20 13:04:20 +02:00
Yann Collet
1bee2d5e08
slight decompression speed improvement
2016-08-20 02:59:04 +02:00
Yann Collet
0cfe2ec2fd
sync fse version
2016-08-20 00:26:26 +02:00
Yann Collet
af1960396b
sync huff0
2016-08-19 19:38:19 +02:00
Yann Collet
7be46bf8f2
promoted streaming API to stable
...
(except _advanced() variants)
2016-08-19 18:39:36 +02:00
Yann Collet
fdba57d513
update version number
2016-08-19 18:32:30 +02:00
Yann Collet
da3fbcb302
Added ZDICT_getDictID()
2016-08-19 14:23:58 +02:00
Yann Collet
a5dbf9f629
Merge pull request #297 from borzunov/dev
...
Export functions related to dictionary compression from DLL
2016-08-18 15:05:01 +02:00
Yann Collet
49d105cfcf
better warning and error messages in case of dictionary training failure ( #292 )
2016-08-18 15:02:11 +02:00
Alexander Borzunov
0f6f17a14f
Rename ZSTDLIB_API to ZDICTLIB_API in zdict.h
2016-08-18 16:47:06 +05:00
Alexander Borzunov
1f48382b1a
Export functions related to dictionary compression from DLL
2016-08-18 16:12:49 +05:00
Yann Collet
e80d15304a
Merge pull request #296 from inikep/Other
...
Other
2016-08-18 11:48:48 +02:00
inikep
a7bb322a93
removed never referenced functions
2016-08-18 10:30:21 +02:00
Yann Collet
18442c1482
minor refactoring
2016-08-18 01:40:32 +02:00
Yann Collet
c411902230
fixed g++ conversion warning
2016-08-17 01:50:54 +02:00
Yann Collet
53e17fbd5e
updated streaming API
2016-08-17 01:39:22 +02:00
Yann Collet
655393cc72
updated doc for streaming API
2016-08-16 15:11:28 +02:00
Yann Collet
104e5b072d
added : streaming decompression API
2016-08-16 15:11:28 +02:00
Yann Collet
5a0c8e2439
new streaming API (compression)
2016-08-16 15:11:27 +02:00
Yann Collet
ba92046031
Merge branch 'dev' of github.com:Cyan4973/zstd into dev
2016-08-11 22:10:04 +02:00
Yann Collet
e9b414d825
fixed msan warning ( #281 )
2016-08-11 22:09:09 +02:00
inikep
5f49eba512
added usage of rep[0]-1 for the optimal parser
2016-08-10 15:01:53 +02:00
inikep
98e08cbe34
fixed: tree not updated after finding very long rep matches
2016-08-10 15:00:30 +02:00
inikep
038d1497c9
fixed compilation with Visual Studio 2005
2016-08-10 14:30:10 +02:00
inikep
48849f86f0
fixed compilation with Intel Compiler with Windows
2016-08-10 14:26:35 +02:00
Yann Collet
1ea5622a32
updated xxhash
2016-08-10 09:40:08 +02:00
Yann Collet
666398e7ed
added : xxhash namespace enforced from xxhash.h.
...
added : xxhash namespace test.
removed : -DXXH_NAMESPACE
2016-08-10 08:16:51 +02:00
Yann Collet
8ded0b84aa
update xxhash to v0.6.2
2016-08-10 07:40:40 +02:00
Yann Collet
280f9a8754
minor comment
2016-08-08 00:44:00 +02:00
Yann Collet
e0b4a2d40f
fixed dictionary generation, reported by Bartosz Taudul
2016-08-03 03:36:03 +02:00
Yann Collet
ae40b18d55
bumped library number
2016-08-03 01:59:21 +02:00
Yann Collet
0763905f44
ZSTD_compress_usingCDict() correctly provides original size by default in frame header
...
Fixed dictionary examples
2016-08-03 01:57:57 +02:00
Yann Collet
bf2bc112bb
bench : controlled display update when loading lot of files
2016-08-02 23:48:13 +02:00
Yann Collet
346efccc35
fixed doc typo
2016-08-02 14:26:00 +02:00
Yann Collet
f116e87f59
fixed analyzer warning
2016-08-01 19:15:18 +02:00
Yann Collet
9ba929f1d4
Merge branch 'dev' of github.com:Cyan4973/zstd into dev
2016-08-01 02:26:59 +02:00
Yann Collet
3ca750372d
updated doc ( #269 )
2016-08-01 02:26:20 +02:00
Yann Collet
c55eb18c11
Merge pull request #267 from inikep/dev08
...
fixed ZSTD_compressBlock_opt_extDict_generic
2016-07-31 22:00:16 +02:00
inikep
056df510aa
fixed ZSTD_compressBlock_opt_extDict_generic
2016-07-31 20:08:53 +02:00
Yann Collet
917fe188f1
Implemented repOffset "minus 1" on ll==0
2016-07-31 04:01:57 +02:00
Yann Collet
2a2ba3691c
Merge pull request #266 from jrmarino/master
...
Enable build on FreeBSD ports (includes DragonFly BSD) [dev branch]
2016-07-31 02:21:26 +02:00
jrmarino
0d07ec0c0c
Enable build on FreeBSD ports (includes DragonFly BSD)
...
Zstd has been introduced to FreeBSD ports
(http://www.freshports.org/archivers/zstd/ ) which DragonFly BSD also
uses. FreeBSD and DragonFly use the install targets (albeit modified in
some cases) so they must be added to the associated Makefile filters.
2016-07-30 19:11:15 -05:00
Yann Collet
8cebfd1d26
fix attempt on test-zstd-speed
2016-07-31 01:59:23 +02:00
Yann Collet
66f69e58d2
restore decompression speed on fizzle
2016-07-30 15:32:47 +02:00
Yann Collet
3b2bd1d11c
zstd_opt uses same tables as zstd_compress
2016-07-30 13:21:41 +02:00
Yann Collet
f714f59c16
fixed visual warning
2016-07-30 12:05:28 +02:00
Yann Collet
761f8dbbd2
back to normal table cell copy
2016-07-30 11:43:53 +02:00
Yann Collet
3c6b808870
minor decompression speed gains
2016-07-30 03:20:47 +02:00
Yann Collet
70a9ff4af3
fixed too large selectivity level, reported by Ilona Papava
2016-07-30 01:09:14 +02:00
Yann Collet
c0ce4f1211
slightly improved compression speed
2016-07-30 00:55:13 +02:00
Yann Collet
ed57d8530a
new seqStore
2016-07-29 21:22:17 +02:00
Yann Collet
6b615d32cd
Updated API comments, following suggestions by Bryan O'Sullivan
2016-07-29 19:40:37 +02:00
Yann Collet
c00d30fbe4
Merge pull request #264 from inikep/dev08
...
Dev08
2016-07-29 17:42:30 +02:00
inikep
6b68ba2079
zstd_opt.h: fixed checking of rep codes (2)
2016-07-29 16:45:39 +02:00
inikep
59b86fc141
zstd_opt.h: fixed checking of rep codes
2016-07-29 11:00:33 +02:00
Yann Collet
6a82f0f8bf
minor comments
2016-07-29 00:55:45 +02:00
Yann Collet
ffa7d0ac1e
clarified comment
2016-07-28 21:01:17 +02:00
Yann Collet
4c5bbf64f9
fixed : frame concatenation without checksum
2016-07-28 20:30:25 +02:00
Yann Collet
60ba31c570
zbuff uses ZSTD_compressEnd()
2016-07-28 19:55:09 +02:00
Yann Collet
16e73033ad
introduced stage zbf_end
2016-07-28 16:32:34 +02:00
Yann Collet
62470b4bab
Changed ZSTD_compressEnd()
2016-07-28 15:29:08 +02:00
Yann Collet
e7bf9156d1
Clarified API comments, from suggestions by Bryan O'Sullivan
2016-07-28 05:00:57 +02:00
Yann Collet
d469a98c01
Clarified API comments, from suggestions by Bryan O'Sullivan
2016-07-28 04:55:03 +02:00
Yann Collet
19c1002e46
applied ZSTD_compressContinueThenEnd()
2016-07-28 01:25:46 +02:00
Yann Collet
5b56739b63
created ZSTD_compressContinueThenEnd()
2016-07-28 01:17:22 +02:00
Yann Collet
c991cc1828
new frame end, 32-bits checksums
2016-07-28 00:55:43 +02:00
Yann Collet
d4180cad9c
minor code refactoring
2016-07-27 21:21:36 +02:00
Yann Collet
731ef16fc1
minor code style refactoring
2016-07-27 21:05:12 +02:00
Yann Collet
4b9ca0a6b5
minor example variation
2016-07-27 19:53:19 +02:00
Yann Collet
4110534886
ZSTD_maxCLevel() is promoted to "stable" API ( #254 , by @FrancescAlted)
2016-07-27 15:09:11 +02:00
Yann Collet
55a8bea0b5
fixed dictionary generation
2016-07-27 14:48:47 +02:00
Yann Collet
c154d9d6a2
better support for large dictionaries (> 128 KB)
2016-07-27 14:37:00 +02:00
Yann Collet
07626dfa51
improved dictbuilder notifications on selectivity
2016-07-27 13:28:46 +02:00
Yann Collet
f796f7ab45
removed fastscan mode
2016-07-27 12:53:54 +02:00
Yann Collet
dd25a27702
added tutorial warning messages for dictBuilder
2016-07-27 12:43:09 +02:00
inikep
003c7a8568
optimal parser: removed ZSTD_REP_INIT
2016-07-27 11:07:13 +02:00
Yann Collet
04cdd8660d
Merge pull request #262 from ebiggers/misc_updates
...
Miscellaneous updates
2016-07-27 01:25:45 +02:00
Eric Biggers
0a55e7a0bb
ZSTD_decompressFrame(): use remainingSize instead of iend - ip
...
Same behavior, but no need to have redundant variables.
2016-07-26 13:22:27 -07:00
Eric Biggers
aa6c70bf60
ZSTD_decompressFrame(): pass up error code from ZSTD_decodeFrameHeader()
2016-07-26 13:22:27 -07:00
Eric Biggers
e4d0265ea9
Replace remaining references to "direct mode" with "single segment mode"
2016-07-26 13:22:27 -07:00
Yann Collet
d50f9db3ea
Improved speed on clang and gcc -O2, thanks to @ebiggers ! ( #263 )
2016-07-26 21:30:35 +02:00
Yann Collet
7adc2328a3
fixed --test on zero-length files, reported by @amnilsson
2016-07-26 15:49:24 +02:00
inikep
4178f5c289
fixed gcc warning: always_inline function might not be inlinable
2016-07-25 21:17:45 +02:00
inikep
fca90f8f60
legacy decoder for v0.7 format
2016-07-25 17:49:08 +02:00
Yann Collet
cbc5e9dc19
fixes oob read
2016-07-24 18:02:04 +02:00
Yann Collet
38b75ddeb2
removed special case all-1 huffman distribution
2016-07-24 15:35:59 +02:00
Yann Collet
7ed5e33b89
minor comment changes
2016-07-24 14:26:11 +02:00
Yann Collet
10b9c13d07
fixed doc on cLevel default, reported by Oliver Lange
2016-07-24 01:21:53 +02:00
Yann Collet
f8e7b5363f
unified encoding types
2016-07-23 16:31:49 +02:00
Yann Collet
571a59034a
changed enccoding type order : raw, rle, compressed, repeat-stats
2016-07-23 15:52:05 +02:00
Yann Collet
c2e1a68d81
changed streamNb order to 1-4-4-4
2016-07-22 17:30:52 +02:00
Yann Collet
772d912c2f
more complete support for literals repeat mode
2016-07-22 15:04:25 +02:00
Yann Collet
9f2d82d4a4
fixed : big-endian decoding
2016-07-22 14:37:10 +02:00
Yann Collet
32faf6c8e7
fixed conversion warnings
2016-07-22 14:37:09 +02:00
Yann Collet
5e45a5fbb3
force loop-align to 32 for zstd_decompress
2016-07-22 14:37:09 +02:00
Yann Collet
5288ac0cb7
changed filed order
2016-07-22 14:37:09 +02:00
Yann Collet
198e6aac44
Literals header fields use little endian convention
2016-07-22 14:37:09 +02:00
Yann Collet
6fa05a2371
cBlockSize uses little-endian convention
2016-07-22 14:37:09 +02:00
Yann Collet
7bf72bbf5e
update header to v0.8
2016-07-22 14:37:09 +02:00
Yann Collet
5894ea8d01
updated cLevels
2016-07-22 14:36:46 +02:00
Yann Collet
d5c5a77990
minor comments clarifications
2016-07-20 13:35:14 +02:00
Yann Collet
572b817be3
Merge pull request #253 from gymdis/heapmode_off_legacy_fix
...
Fix compile issue with ZSTD_LEGACY_SUPPORT=1 and ZSTD_HEAPMODE=0
2016-07-19 13:52:03 +02:00
Christopher Bergqvist
780a9fa857
Fix compile issue with ZSTD_LEGACY_SUPPORT=1 and ZSTD_HEAPMODE=0
2016-07-19 13:25:38 +02:00
Yann Collet
cf05b9d477
ZSTD_getBlockSizeMax()
2016-07-18 16:52:10 +02:00
Yann Collet
16aa38b0e0
minor doc clarifications
2016-07-18 03:52:47 +02:00
Yann Collet
85f3919960
moved zstd.h
to /lib
2016-07-17 20:42:21 +02:00
Yann Collet
9375590462
update version to v0.7.5
2016-07-17 16:44:18 +02:00
Yann Collet
e557fd5e92
minor compression level corrections
2016-07-17 16:21:37 +02:00
Yann Collet
d54b2d23b4
minor static assert for 32/64 bits system. Suggested by @ebiggers
2016-07-17 15:53:18 +02:00
Yann Collet
972e5806ee
fixed : premature frame end on zero-sized raw block - reported by @ebiggers
2016-07-17 15:39:24 +02:00
luben karavelov
10f999f856
Add legacy support for the low-level streaming API
2016-07-17 01:03:26 +02:00