]>
git.ipfire.org Git - thirdparty/zstd.git/log
Yann Collet [Thu, 20 Dec 2018 01:25:58 +0000 (17:25 -0800)]
added system error strings
to more failure cases in fileio.c
as requested by fbpkg
Yann Collet [Wed, 19 Dec 2018 23:00:15 +0000 (15:00 -0800)]
Merge pull request #1460 from facebook/btultra2.2
fixed: compression ratio discrepancy
Yann Collet [Wed, 19 Dec 2018 22:10:27 +0000 (14:10 -0800)]
added tests case
Yann Collet [Wed, 19 Dec 2018 18:43:27 +0000 (10:43 -0800)]
Merge pull request #1454 from lzutao/readme
README: Explain a little bit about Meson build
Yann Collet [Wed, 19 Dec 2018 18:11:06 +0000 (10:11 -0800)]
fixed: compression ratio discrepancy
depending on initialization,
the first byte of a new frame was invalidated or not.
As a consequence, one match opportunity was available or not,
resulting in slightly different compressed sizes
(on average, 1 or 2 bytes once every 20 frames).
It impacted ratio comparison between one-shot and streaming modes.
This fix makes the first byte of a new frame always a valid match.
Now compressed size is always the same.
It also improves compressed size by a negligible amount.
Lzu Tao [Sat, 15 Dec 2018 03:39:17 +0000 (10:39 +0700)]
README: Explain a bit more about Meson build [skip ci]
- Increase one heading level. Now headings is bigger and prettier.
Nick Terrell [Wed, 19 Dec 2018 01:03:54 +0000 (17:03 -0800)]
Merge pull request #1459 from terrelln/destroy
[zstdcli] Refuse to overwrite input file
Nick Terrell [Tue, 18 Dec 2018 23:40:27 +0000 (15:40 -0800)]
Also compare device thanks to @felixhandte
Nick Terrell [Tue, 18 Dec 2018 23:29:54 +0000 (15:29 -0800)]
[zstdcli] Refuse to overwrite input file
Compare the input and output files by their inode number and
refuse to open the output file if the input file is the same.
This doesn't work when (de)compressing multiple files to a single
file, but that is a very uncommon use case, mostly used for
benchmarking by me.
Fixes #1422.
Yann Collet [Tue, 18 Dec 2018 23:12:21 +0000 (15:12 -0800)]
Merge pull request #1458 from terrelln/estimate
[libzstd] Fix estimate with negative levels
Yann Collet [Tue, 18 Dec 2018 22:46:55 +0000 (14:46 -0800)]
Merge pull request #1457 from facebook/btultra2.1
btultra2 and very small input
Nick Terrell [Tue, 18 Dec 2018 22:24:49 +0000 (14:24 -0800)]
[libzstd] Fix estimate with negative levels
* Fix `ZSTD_estimateCCtxSize()` with negative levels.
* Fix `ZSTD_estimateCStreamSize()` with negative levels.
* Add a unit test to test for this error.
Yann Collet [Tue, 18 Dec 2018 21:40:07 +0000 (13:40 -0800)]
fix debug levels
as reported by @terrelln.
2 is reserved for temporary usage only.
Yann Collet [Tue, 18 Dec 2018 20:32:58 +0000 (12:32 -0800)]
btultra2 and very small srcSize
When srcSize is small,
the nb of symbols produced is likely too small to warrant dedicated probability tables.
In which case, predefined distribution tables will be used instead.
There is a cheap algorithm in btultra initialization :
it presumes default distribution will be used if srcSize <= 1024.
btultra2 now uses the same threshold to shut down probability estimation,
since measured frequencies won't be used at entropy stage,
and therefore relying on them to determine sequence cost is misleading,
resulting in worse compression ratios.
This fixes btultra2 performance issue on very small input.
Note that, a proper way should be
to determine which symbol is going to use predefined probaility
and which symbol is going to use dynamic ones.
But the current algorithm is unable to make a "per-symbol" decision.
So this will require significant modifications.
Yann Collet [Tue, 18 Dec 2018 17:45:53 +0000 (09:45 -0800)]
Merge pull request #1449 from facebook/ovlog_def
overlapLog default values
Yann Collet [Tue, 18 Dec 2018 17:24:18 +0000 (09:24 -0800)]
Merge pull request #1456 from yijinfb/example-ZSTD_compressCCtx
Add multiple_simple_compression.c (demonstrates the use of ZSTD_compressCCtx(...)) to examples directory.
Yi Jin [Tue, 18 Dec 2018 00:54:55 +0000 (16:54 -0800)]
break loadFile_orDie() into 2: loadFile_orDie() loads file into a pre-allocated memory buffer, mallocAndLoadFile_orDie() allocates memory first, then calls loadFile_orDie()
Yann Collet [Mon, 17 Dec 2018 23:48:34 +0000 (15:48 -0800)]
play around with rescale weights
Yi Jin [Mon, 17 Dec 2018 06:44:27 +0000 (22:44 -0800)]
bug fix in loadFile_orDie(): exit with error code if filesize is bigger than provided buffer
Yi Jin [Mon, 17 Dec 2018 05:27:52 +0000 (21:27 -0800)]
comment out printf() to make output terse
Yi Jin [Mon, 17 Dec 2018 05:09:21 +0000 (21:09 -0800)]
edit README.md and remove simple_compressionCCtx.c
Yi Jin [Mon, 17 Dec 2018 04:45:43 +0000 (20:45 -0800)]
add multiple_simple_compression.c
Yi Jin [Sun, 16 Dec 2018 23:36:28 +0000 (15:36 -0800)]
Factor out allocMemory_orDIe(...) in simple_compressionCCtx.c, and amend Makefile to account for dependency on utils.h
Yi Jin [Sat, 15 Dec 2018 06:10:31 +0000 (22:10 -0800)]
formatting
Yi Jin [Sat, 15 Dec 2018 02:12:05 +0000 (18:12 -0800)]
refactor utils.h and implement simple_compressionCCtx.c
Yann Collet [Sat, 15 Dec 2018 00:50:41 +0000 (16:50 -0800)]
Merge pull request #1452 from lzutao/meson_getversion
meson: Remove unused sys import
Nick Terrell [Fri, 14 Dec 2018 19:50:59 +0000 (11:50 -0800)]
Merge pull request #1450 from terrelln/no-progress
[zstdcli] Add --no-progress flag
Nick Terrell [Fri, 14 Dec 2018 01:17:32 +0000 (17:17 -0800)]
[zstdcli] Add --no-progress flag
The `--no-progress` flag disables zstd's progress bars, but leaves
the summary.
I've added simple tests to `playTests.sh` to make sure the parsing
works.
Yann Collet [Fri, 14 Dec 2018 17:18:37 +0000 (09:18 -0800)]
Merge pull request #1447 from lzutao/meson_symlink_soversion
meson: More accurate Windows build support
Yi Jin [Fri, 14 Dec 2018 06:51:35 +0000 (22:51 -0800)]
WIP
Lzu Tao [Fri, 14 Dec 2018 04:03:04 +0000 (11:03 +0700)]
meson: Remove unused sys import
Yann Collet [Fri, 14 Dec 2018 00:50:19 +0000 (16:50 -0800)]
fixed tests
with correct pointer type
Yann Collet [Fri, 14 Dec 2018 00:38:08 +0000 (16:38 -0800)]
fixed default job size
Nick Terrell [Fri, 14 Dec 2018 00:21:15 +0000 (16:21 -0800)]
Merge pull request #1446 from terrelln/overflow
[libzstd] Fix infinite loop in decompression
Yann Collet [Thu, 13 Dec 2018 23:47:34 +0000 (15:47 -0800)]
zstdmt parameter getter/setter use `int`
Yi Jin [Thu, 13 Dec 2018 23:42:55 +0000 (15:42 -0800)]
create simple_compressionCCtx.c out of simple_compression.c, to be worked on
Nick Terrell [Wed, 12 Dec 2018 23:26:35 +0000 (15:26 -0800)]
[libzstd] Fix infinite loop in decompression
When we switched `ZSTD_SKIPPABLEHEADERSIZE` to a macro, the places where we do:
MEM_readLE32(ptr) + ZSTD_SKIPPABLEHEADERSIZE
can now overflow `(unsigned)-8` to `0` and we infinite loop. We now check
the frame size and reject sizes that overflow a U32.
Note that this bug never made it into a release, and was only in the dev branch
for a few days.
Credit to OSS-Fuzz
Yann Collet [Thu, 13 Dec 2018 20:14:36 +0000 (12:14 -0800)]
fixed multiple conversions
from 64-bit to 32-bit
Yann Collet [Thu, 13 Dec 2018 20:04:10 +0000 (12:04 -0800)]
Merge pull request #1448 from lzutao/travis_reformat
travis: Use script instead of Cmd env
Lzu Tao [Thu, 13 Dec 2018 18:38:06 +0000 (01:38 +0700)]
travis: Use script instead of Cmd env
Lzu Tao [Thu, 13 Dec 2018 11:07:01 +0000 (18:07 +0700)]
Simplify logic by setting default value for MESON_INSTALL_DESTDIR_PREFIX
Lzu Tao [Thu, 13 Dec 2018 07:57:33 +0000 (14:57 +0700)]
meson: Update man1 extension on meson 0.49.0
Lzu Tao [Thu, 13 Dec 2018 07:57:08 +0000 (14:57 +0700)]
meson: Update meson symlink script usage
Lzu Tao [Tue, 4 Dec 2018 18:12:11 +0000 (01:12 +0700)]
meson: Correct support for building on Windows
Let soversion base on version if not set. For example, if version is 3.6.0
and soversion is not defined, it is set to 3.
Lzu Tao [Mon, 3 Dec 2018 15:13:29 +0000 (22:13 +0700)]
Replace many os.path methods with pathlib one's
Use MESON_INSTALL_DESTDIR_PREFIX variable instead of DESTDIR.
Yann Collet [Thu, 13 Dec 2018 05:09:14 +0000 (21:09 -0800)]
fixed ovlog tests
and updated man page
Yann Collet [Thu, 13 Dec 2018 05:09:01 +0000 (21:09 -0800)]
Merge pull request #1444 from facebook/btultra2
btultra2
Yann Collet [Thu, 13 Dec 2018 04:58:14 +0000 (20:58 -0800)]
Merge branch 'btultra2' into ovlog_def
Yann Collet [Thu, 13 Dec 2018 04:30:09 +0000 (20:30 -0800)]
updated compression results.csv
and fixed nit
Yann Collet [Thu, 13 Dec 2018 04:18:27 +0000 (20:18 -0800)]
Merge branch 'dev' into btultra2
Nick Terrell [Wed, 12 Dec 2018 19:16:54 +0000 (11:16 -0800)]
Merge pull request #1445 from terrelln/regression
[regression] add more methods
Yann Collet [Wed, 12 Dec 2018 02:13:06 +0000 (18:13 -0800)]
removed exception code for overlapLog level 22
CLI used to set overlapLog at value 9 when level == 22.
This is no longer necessary (handled internally within library)
Yann Collet [Wed, 12 Dec 2018 02:10:29 +0000 (18:10 -0800)]
new overlapLog default values
varies between 6 and 9, depending on strategy
Yann Collet [Wed, 12 Dec 2018 01:41:42 +0000 (17:41 -0800)]
continued: changed to overlapLog
in deeper code layer.
for consistency.
Yann Collet [Wed, 12 Dec 2018 00:55:33 +0000 (16:55 -0800)]
changed parameter name to ZSTD_c_overlapLog
from overlapSizeLog.
Reasoning :
`overlapLog` is already used everwhere, in the code, command line and documentation.
`ZSTD_c_overlapSizeLog` feels unnecessarily different.
Nick Terrell [Tue, 11 Dec 2018 23:57:56 +0000 (15:57 -0800)]
Reset the cctx for documentation/safety
Nick Terrell [Tue, 4 Dec 2018 04:06:26 +0000 (20:06 -0800)]
[regression] add more methods
Yann Collet [Tue, 11 Dec 2018 20:08:21 +0000 (12:08 -0800)]
add clarification for ZSTD_CCtx_setPledgedSrcSize()
as requested in #1391
Yann Collet [Tue, 11 Dec 2018 02:48:15 +0000 (18:48 -0800)]
Merge pull request #1417 from facebook/advancedAPI
Advanced API
Yann Collet [Tue, 11 Dec 2018 02:45:03 +0000 (18:45 -0800)]
fixed btultra2 usage with prefix
notably while using multi-threading
Yann Collet [Tue, 11 Dec 2018 01:42:35 +0000 (17:42 -0800)]
fix assert position within ZSTD_compress2()
Yann Collet [Tue, 11 Dec 2018 01:36:20 +0000 (17:36 -0800)]
clarified experimentalParam
Yann Collet [Tue, 11 Dec 2018 01:33:49 +0000 (17:33 -0800)]
fixed ZSTD_compress2()
as suggested by @terrelln
Yann Collet [Mon, 10 Dec 2018 07:20:51 +0000 (23:20 -0800)]
make test can accept DEBUGLEVEL argument
Yann Collet [Mon, 10 Dec 2018 06:38:05 +0000 (22:38 -0800)]
updated clevel table for large inputs
Yann Collet [Sun, 9 Dec 2018 05:40:08 +0000 (21:40 -0800)]
update clevel table for 256K
Yann Collet [Sat, 8 Dec 2018 18:42:55 +0000 (10:42 -0800)]
update clevel table for 128K
Yann Collet [Sat, 8 Dec 2018 04:12:43 +0000 (20:12 -0800)]
updated clevel table for 16K
to introduce btultra2
Yann Collet [Sat, 8 Dec 2018 00:02:24 +0000 (16:02 -0800)]
paramgrill: add status line
get information on which config is currently tested
so that console get animated during long tests.
Yann Collet [Fri, 7 Dec 2018 22:19:50 +0000 (14:19 -0800)]
added tests for strategy=9 (btultra2)
Yann Collet [Fri, 7 Dec 2018 22:07:54 +0000 (14:07 -0800)]
refactor paramgrill for clarity
restored ability to copy/paste the resulting compression level table into zstd_compress.c .
Yann Collet [Fri, 7 Dec 2018 04:56:19 +0000 (20:56 -0800)]
Merge pull request #1440 from hungptit/dev
Refactor examples to avoid code duplication.
Hung Dang [Fri, 7 Dec 2018 03:42:19 +0000 (22:42 -0500)]
Refactor examples to avoid code duplication.
Yann Collet [Fri, 7 Dec 2018 03:27:37 +0000 (19:27 -0800)]
linked btultra2 as strategy9
and ensure zstdbench detects out-of-bound parameters
Yann Collet [Fri, 7 Dec 2018 01:22:19 +0000 (17:22 -0800)]
updated documentation
introducing ZSTD_btultra2
Yann Collet [Fri, 7 Dec 2018 00:51:17 +0000 (16:51 -0800)]
minor bound refinements
Yann Collet [Fri, 7 Dec 2018 00:16:16 +0000 (16:16 -0800)]
introduced constants ZSTD_STRATEGY_MIN and ZSTD_STRATEGY_MAX
Yann Collet [Thu, 6 Dec 2018 23:57:55 +0000 (15:57 -0800)]
fixed c++ assignment to enum
Yann Collet [Thu, 6 Dec 2018 23:42:33 +0000 (15:42 -0800)]
Merge pull request #1439 from obelisk/buck_readme
Add buck build instructions to README.md
Yann Collet [Thu, 6 Dec 2018 23:00:52 +0000 (15:00 -0800)]
changed ZSTD_c_compressionStrategy into ZSTD_c_strategy
also : fixed paramgrill, and limit conditions
Mitchell Grenier [Thu, 6 Dec 2018 22:46:48 +0000 (14:46 -0800)]
Add buck build instruction to the readme
Yann Collet [Thu, 6 Dec 2018 21:38:09 +0000 (13:38 -0800)]
introduced strategy btultra2
note : not yet applied on any compression level
Yann Collet [Thu, 6 Dec 2018 18:57:19 +0000 (10:57 -0800)]
moved ZSTD_WINDOWLOG_LIMIT_DEFAULT into static-linking-only area
Yann Collet [Thu, 6 Dec 2018 18:14:34 +0000 (10:14 -0800)]
clarified usage of word "job"
only applies in MT / async context now.
Yann Collet [Thu, 6 Dec 2018 01:26:02 +0000 (17:26 -0800)]
changed parameter names from ZSTD_p_* to ZSTD_c_*
for naming consistency
Yann Collet [Thu, 6 Dec 2018 00:23:00 +0000 (16:23 -0800)]
updated API documentation
Yann Collet [Wed, 5 Dec 2018 01:30:58 +0000 (17:30 -0800)]
ZSTD_decompressDCtx() is compatible with sticky parameters
Yann Collet [Wed, 5 Dec 2018 01:06:48 +0000 (17:06 -0800)]
merge dedicated dParam setters
Yann Collet [Wed, 5 Dec 2018 00:59:26 +0000 (16:59 -0800)]
write the switch()case: differently
so that it please both
compilers which warn for dead code after the switch
and
compilers which do not detect that all branches terminate.
Yann Collet [Tue, 4 Dec 2018 23:57:16 +0000 (15:57 -0800)]
fixed silent conversion warning
Yann Collet [Tue, 4 Dec 2018 23:54:01 +0000 (15:54 -0800)]
fixed declaration-after-statement warnings
Yann Collet [Tue, 4 Dec 2018 23:35:37 +0000 (15:35 -0800)]
implemented ZSTD_dParam_getBounds()
and ZSTD_DCtx_setParameter()
Yann Collet [Tue, 4 Dec 2018 18:28:36 +0000 (10:28 -0800)]
advanced decompression function replaces by normal streaming one
advanced parameters compatible with ZSTD_decompressStream().
Yann Collet [Tue, 4 Dec 2018 18:01:50 +0000 (10:01 -0800)]
Merge pull request #1427 from lzutao/minor-fix-meson
Update meson build and add Travis test for it
Yann Collet [Tue, 4 Dec 2018 01:43:34 +0000 (17:43 -0800)]
Merge pull request #1437 from facebook/grep
check availability of --color=never command on grep and egrep
Yann Collet [Mon, 3 Dec 2018 23:46:55 +0000 (15:46 -0800)]
check availability of --color=never command on grep and egrep
before applying them.
Fixes #1436
Yann Collet [Mon, 3 Dec 2018 22:22:38 +0000 (14:22 -0800)]
joined normal streaming API with advanced one
Nick Terrell [Mon, 3 Dec 2018 18:39:12 +0000 (10:39 -0800)]
Merge pull request #1434 from terrelln/regression
[regression] Add dictionary support
Lzu Tao [Mon, 3 Dec 2018 04:02:42 +0000 (11:02 +0700)]
meson: Update usage of InstallSymlink helper
Lzu Tao [Sun, 2 Dec 2018 20:23:09 +0000 (03:23 +0700)]
meson: Update tests timeout to run properly