1
0
mirror of https://github.com/facebook/zstd.git synced 2025-07-04 14:48:45 +02:00
Commit Graph

225 Commits

Author SHA1 Message Date
b6cb2ed8cb Move dictMode to cctxParams 2017-08-18 11:43:31 -07:00
c0221124d5 Add function to set opaque parameters 2017-08-17 19:30:22 -07:00
699f11b4f7 Create opaque parameter structure 2017-08-17 17:33:46 -07:00
565e925eb7 [libzstd] Fix FORCE_INLINE macro 2017-08-14 21:12:05 -07:00
7a28b9e4a3 [libzstd] Pull optimal parser state out of seqStore_t 2017-07-17 15:29:11 -07:00
e198230645 [libzstd] Remove ZSTD_CCtx* argument of ZSTD_compressSequences() 2017-07-17 12:27:24 -07:00
830ef4152a [libzstd] Increase granularity of FSECTable repeat mode 2017-07-13 12:45:39 -07:00
de0414b736 [libzstd] Pull CTables into sub-structure 2017-07-12 19:49:19 -07:00
f04deff4fc fixed #718, reported by @GregSlazinski, solution suggested by @mcmilk 2017-07-06 01:42:46 -07:00
5a77361595 fixed wrong function name in comment 2017-07-03 15:21:24 -07:00
d5c046c609 implemented shortcut for zstd_compress_generic() in MT mode
added ZSTDMT_compress_advanced() API
2017-06-30 14:51:01 -07:00
a3d9926c40 compression optimization opportunity
switch to single-pass mode directly into output buffer
when outputSize >= ZSTD_compressBound(inputSize).
Speed gains observed with fullbench (~+15% on level 1)
2017-06-29 14:44:49 -07:00
33a6639039 fixed ZSTD_refPrefix with Multithread-enabled CCtx 2017-06-28 11:09:43 -07:00
7d3816183f exposed ZSTD_MAGIC_DICTIONARY in zstd.h
makes it easier to explain ZSTD_dictMode
2017-06-27 13:50:34 -07:00
7bd1a2900e added ZSTD_dictMode_e to control dictionary loading mode 2017-06-21 11:50:33 -07:00
c3bce24ef4 fixed potential dangling pointer, detected by @terrelln 2017-06-20 16:09:11 -07:00
c59162e053 minor fix for -Wdocumentation 2017-06-05 00:12:13 -07:00
8bcbf42617 fixed g++ prototype mismatch 2017-06-04 23:52:00 -07:00
8c910d2097 updated ZSTDMT streaming API
ZSTDMT streaming API is now similar
and has same capabilites as single-thread streaming API.
It makes it easier to blend them together.
2017-06-03 01:15:02 -07:00
58e8d793e1 made debug definitions common within zstd_internal.h 2017-06-02 18:20:48 -07:00
9a691e0f55 fixed visual warnings 2017-05-31 01:17:44 -07:00
ae728a43b8 removed defaultCustomMem
now ZSTD_customCMem is promoted as new default.

Advantages : ZSTD_customCMem = { NULL, NULL, NULL},
so it's natural default after a memset.

ZSTD_customCMem is public constant
(defaultCustomMem was private only).

Also : makes it possible to introduce ZSTD_calloc(),
which can now default to stdlib's calloc()
when it detects system default.

Fixed zlibwrapper which depended on defaultCustomMem.
2017-05-30 17:11:39 -07:00
44e45e8423 added ZSTDMT_createCCtx_advanced()
make it possible to use custom allocators
2017-05-30 16:12:06 -07:00
d3694e6c70 removed C4204 2017-04-27 14:29:35 -07:00
69a54d138a fixed compilation warning : declaration-after-statement 2017-04-27 01:11:26 -07:00
e42afbc6fa Comply with suggested comments by @terrelln
created FSE_CTABLE_SIZE() and FSE_DTABLE_SIZE()
2017-04-26 11:39:35 -07:00
4f818182b8 clarified frame parameters for ZSTD_compress*_usingCDict()
created ZSTD_compressBegin_usingCDict_internal(),
which gives direct control to frame Parameters.
ZSTD_resetCStream_internal() now points into it.
2017-04-17 18:29:06 -07:00
4bcc69b761 solves warnings when compiling with global XXH_STATIC_LINKING_ONLY
XXH_STATIC_LINKING_ONLY protection macro is intended to be triggered just before the include.
The main idea is to keep this setting local :
user module shall explicitly understand and accept the static linking restriction
which becomes transparent when triggering the macro at project level.
Global definition also triggers redefinition warnings for user modules which do locally define the macro.

This new version compiles lib and cli without warning when the macro is set globally.
That's not a scenario to be recommended, since it trades a local effect for a global one,
but it was easy enough to provide from zstd side.
2017-03-01 11:33:25 -08:00
32dfae6f98 fixed Multi-threaded compression
MT compression generates a single frame.
Multi-threading operates by breaking the frames into independent sections.
But from a decoder perspective, there is no difference :
it's just a suite of blocks.

Problem is, decoder preserves repCodes from previous block to start decoding next block.
This is also valid between sections, since they are no different than changing block.

Previous version would incorrectly initialize repcodes to their default value at the beginning of each section.
When using them, there was a mismatch between encoder (default values) and decoder (values from previous block).

This change ensures that repcodes won't be used at the beginning of a new section.
It works by setting them to 0.
This only works with regular (single segment) variants : extDict variants will fail !
Fortunately, sections beyond the 1st one belong to this category.

To be checked : btopt strategy.
This change was only validated from fast to btlazy2 strategies.
2017-01-19 10:32:55 -08:00
064a143520 Fix execSequence wildcopy undefined behavior
execSequence relied on pointer overflow to handle cases where
`sequence.matchLength < 8`.  Instead of passing an `size_t` to
wildcopy, pass a `ptrdiff_t`.
2016-12-12 19:01:23 -08:00
9ca65af810 zstd_opt.h: improved price function 2016-11-23 17:22:54 +01:00
179555c1d1 working fullbench-dll 2016-11-15 18:05:46 +01:00
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
51f4d566c2 small decompression speed boost for very small data 2016-09-22 15:57:28 +02:00
95d07d7447 introduced CHECK_E 2016-09-06 16:38:51 +02:00
3e21ec5b01 introduced CHECK_F 2016-09-06 15:36:19 +02:00
5c956d593c FORCE_INLINE common definition 2016-09-06 15:05:19 +02:00
4ded9e591c added boilerplate 2016-08-30 11:06:28 -07:00
23b6e05d8e ZSTD_malloc() and ZSTD_free(), to simplify customMem 2016-08-28 21:05:43 -07:00
e416e30019 remove unnecessary comments 2016-08-24 17:32:09 +02:00
4e90f6c1e0 removed ZSTD_LOG_ENCODE and ZSTD_LOG_BLOCK 2016-08-24 17:24:11 +02:00
83388e109f removed ZSTD_LOG_PARSER 2016-08-24 17:22:20 +02:00
8a36f8527c removed stats in debug mode 2016-08-24 17:19:12 +02:00
5f49eba512 added usage of rep[0]-1 for the optimal parser 2016-08-10 15:01:53 +02:00
280f9a8754 minor comment 2016-08-08 00:44:00 +02:00
8cebfd1d26 fix attempt on test-zstd-speed 2016-07-31 01:59:23 +02:00
c0ce4f1211 slightly improved compression speed 2016-07-30 00:55:13 +02:00
ed57d8530a new seqStore 2016-07-29 21:22:17 +02:00
c00d30fbe4 Merge pull request #264 from inikep/dev08
Dev08
2016-07-29 17:42:30 +02:00
c991cc1828 new frame end, 32-bits checksums 2016-07-28 00:55:43 +02:00