]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
6 years agoadded system error strings 1464/head
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

6 years agoMerge pull request #1460 from facebook/btultra2.2
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

6 years agoadded tests case 1460/head
Yann Collet [Wed, 19 Dec 2018 22:10:27 +0000 (14:10 -0800)] 
added tests case

6 years agoMerge pull request #1454 from lzutao/readme
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

6 years agofixed: compression ratio discrepancy
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.

6 years agoREADME: Explain a bit more about Meson build [skip ci] 1454/head
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.

6 years agoMerge pull request #1459 from terrelln/destroy
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

6 years agoAlso compare device thanks to @felixhandte 1459/head
Nick Terrell [Tue, 18 Dec 2018 23:40:27 +0000 (15:40 -0800)] 
Also compare device thanks to @felixhandte

6 years ago[zstdcli] Refuse to overwrite input file
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.

6 years agoMerge pull request #1458 from terrelln/estimate
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

6 years agoMerge pull request #1457 from facebook/btultra2.1
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

6 years ago[libzstd] Fix estimate with negative levels 1458/head
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.

6 years agofix debug levels 1457/head
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.

6 years agobtultra2 and very small srcSize
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.

6 years agoMerge pull request #1449 from facebook/ovlog_def
Yann Collet [Tue, 18 Dec 2018 17:45:53 +0000 (09:45 -0800)] 
Merge pull request #1449 from facebook/ovlog_def

overlapLog default values

6 years agoMerge pull request #1456 from yijinfb/example-ZSTD_compressCCtx
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.

6 years agobreak loadFile_orDie() into 2: loadFile_orDie() loads file into a pre-allocated memor... 1456/head
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()

6 years agoplay around with rescale weights
Yann Collet [Mon, 17 Dec 2018 23:48:34 +0000 (15:48 -0800)] 
play around with rescale weights

6 years agobug fix in loadFile_orDie(): exit with error code if filesize is bigger than provided...
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

6 years agocomment out printf() to make output terse
Yi Jin [Mon, 17 Dec 2018 05:27:52 +0000 (21:27 -0800)] 
comment out printf() to make output terse

6 years agoedit README.md and remove simple_compressionCCtx.c
Yi Jin [Mon, 17 Dec 2018 05:09:21 +0000 (21:09 -0800)] 
edit README.md and remove simple_compressionCCtx.c

6 years agoadd multiple_simple_compression.c
Yi Jin [Mon, 17 Dec 2018 04:45:43 +0000 (20:45 -0800)] 
add multiple_simple_compression.c

6 years agoFactor out allocMemory_orDIe(...) in simple_compressionCCtx.c, and amend Makefile...
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

6 years agoformatting
Yi Jin [Sat, 15 Dec 2018 06:10:31 +0000 (22:10 -0800)] 
formatting

6 years agorefactor utils.h and implement simple_compressionCCtx.c
Yi Jin [Sat, 15 Dec 2018 02:12:05 +0000 (18:12 -0800)] 
refactor utils.h and implement simple_compressionCCtx.c

6 years agoMerge pull request #1452 from lzutao/meson_getversion
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

6 years agoMerge pull request #1450 from terrelln/no-progress
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

6 years ago[zstdcli] Add --no-progress flag 1450/head
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.

6 years agoMerge pull request #1447 from lzutao/meson_symlink_soversion
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

6 years agoWIP
Yi Jin [Fri, 14 Dec 2018 06:51:35 +0000 (22:51 -0800)] 
WIP

6 years agomeson: Remove unused sys import 1452/head
Lzu Tao [Fri, 14 Dec 2018 04:03:04 +0000 (11:03 +0700)] 
meson: Remove unused sys import

6 years agofixed tests 1449/head
Yann Collet [Fri, 14 Dec 2018 00:50:19 +0000 (16:50 -0800)] 
fixed tests

with correct pointer type

6 years agofixed default job size
Yann Collet [Fri, 14 Dec 2018 00:38:08 +0000 (16:38 -0800)] 
fixed default job size

6 years agoMerge pull request #1446 from terrelln/overflow
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

6 years agozstdmt parameter getter/setter use `int`
Yann Collet [Thu, 13 Dec 2018 23:47:34 +0000 (15:47 -0800)] 
zstdmt parameter getter/setter use `int`

6 years agocreate simple_compressionCCtx.c out of simple_compression.c, to be worked on
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

6 years ago[libzstd] Fix infinite loop in decompression 1446/head
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

6 years agofixed multiple conversions
Yann Collet [Thu, 13 Dec 2018 20:14:36 +0000 (12:14 -0800)] 
fixed multiple conversions

from 64-bit to 32-bit

6 years agoMerge pull request #1448 from lzutao/travis_reformat
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

6 years agotravis: Use script instead of Cmd env 1448/head
Lzu Tao [Thu, 13 Dec 2018 18:38:06 +0000 (01:38 +0700)] 
travis: Use script instead of Cmd env

6 years agoSimplify logic by setting default value for MESON_INSTALL_DESTDIR_PREFIX 1447/head
Lzu Tao [Thu, 13 Dec 2018 11:07:01 +0000 (18:07 +0700)] 
Simplify logic by setting default value for MESON_INSTALL_DESTDIR_PREFIX

6 years agomeson: Update man1 extension on meson 0.49.0
Lzu Tao [Thu, 13 Dec 2018 07:57:33 +0000 (14:57 +0700)] 
meson: Update man1 extension on meson 0.49.0

6 years agomeson: Update meson symlink script usage
Lzu Tao [Thu, 13 Dec 2018 07:57:08 +0000 (14:57 +0700)] 
meson: Update meson symlink script usage

6 years agomeson: Correct support for building on Windows
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.

6 years agoReplace many os.path methods with pathlib one's
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.

6 years agofixed ovlog tests
Yann Collet [Thu, 13 Dec 2018 05:09:14 +0000 (21:09 -0800)] 
fixed ovlog tests

and updated man page

6 years agoMerge pull request #1444 from facebook/btultra2
Yann Collet [Thu, 13 Dec 2018 05:09:01 +0000 (21:09 -0800)] 
Merge pull request #1444 from facebook/btultra2

btultra2

6 years agoMerge branch 'btultra2' into ovlog_def
Yann Collet [Thu, 13 Dec 2018 04:58:14 +0000 (20:58 -0800)] 
Merge branch 'btultra2' into ovlog_def

6 years agoupdated compression results.csv 1444/head
Yann Collet [Thu, 13 Dec 2018 04:30:09 +0000 (20:30 -0800)] 
updated compression results.csv

and fixed nit

6 years agoMerge branch 'dev' into btultra2
Yann Collet [Thu, 13 Dec 2018 04:18:27 +0000 (20:18 -0800)] 
Merge branch 'dev' into btultra2

6 years agoMerge pull request #1445 from terrelln/regression
Nick Terrell [Wed, 12 Dec 2018 19:16:54 +0000 (11:16 -0800)] 
Merge pull request #1445 from terrelln/regression

[regression] add more methods

6 years agoremoved exception code for overlapLog level 22
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)

6 years agonew overlapLog default values
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

6 years agocontinued: changed to overlapLog
Yann Collet [Wed, 12 Dec 2018 01:41:42 +0000 (17:41 -0800)] 
continued: changed to overlapLog

in deeper code layer.
for consistency.

6 years agochanged parameter name to ZSTD_c_overlapLog
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.

6 years agoReset the cctx for documentation/safety 1445/head
Nick Terrell [Tue, 11 Dec 2018 23:57:56 +0000 (15:57 -0800)] 
Reset the cctx for documentation/safety

6 years ago[regression] add more methods
Nick Terrell [Tue, 4 Dec 2018 04:06:26 +0000 (20:06 -0800)] 
[regression] add more methods

6 years agoadd clarification for ZSTD_CCtx_setPledgedSrcSize()
Yann Collet [Tue, 11 Dec 2018 20:08:21 +0000 (12:08 -0800)] 
add clarification for ZSTD_CCtx_setPledgedSrcSize()

as requested in #1391

6 years agoMerge pull request #1417 from facebook/advancedAPI
Yann Collet [Tue, 11 Dec 2018 02:48:15 +0000 (18:48 -0800)] 
Merge pull request #1417 from facebook/advancedAPI

Advanced API

6 years agofixed btultra2 usage with prefix
Yann Collet [Tue, 11 Dec 2018 02:45:03 +0000 (18:45 -0800)] 
fixed btultra2 usage with prefix

notably while using multi-threading

6 years agofix assert position within ZSTD_compress2() 1417/head
Yann Collet [Tue, 11 Dec 2018 01:42:35 +0000 (17:42 -0800)] 
fix assert position within ZSTD_compress2()

6 years agoclarified experimentalParam
Yann Collet [Tue, 11 Dec 2018 01:36:20 +0000 (17:36 -0800)] 
clarified experimentalParam

6 years agofixed ZSTD_compress2()
Yann Collet [Tue, 11 Dec 2018 01:33:49 +0000 (17:33 -0800)] 
fixed ZSTD_compress2()

as suggested by @terrelln

6 years agomake test can accept DEBUGLEVEL argument
Yann Collet [Mon, 10 Dec 2018 07:20:51 +0000 (23:20 -0800)] 
make test can accept DEBUGLEVEL argument

6 years agoupdated clevel table for large inputs
Yann Collet [Mon, 10 Dec 2018 06:38:05 +0000 (22:38 -0800)] 
updated clevel table for large inputs

6 years agoupdate clevel table for 256K
Yann Collet [Sun, 9 Dec 2018 05:40:08 +0000 (21:40 -0800)] 
update clevel table for 256K

6 years agoupdate clevel table for 128K
Yann Collet [Sat, 8 Dec 2018 18:42:55 +0000 (10:42 -0800)] 
update clevel table for 128K

6 years agoupdated clevel table for 16K
Yann Collet [Sat, 8 Dec 2018 04:12:43 +0000 (20:12 -0800)] 
updated clevel table for 16K

to introduce btultra2

6 years agoparamgrill: add status line
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.

6 years agoadded tests for strategy=9 (btultra2)
Yann Collet [Fri, 7 Dec 2018 22:19:50 +0000 (14:19 -0800)] 
added tests for strategy=9 (btultra2)

6 years agorefactor paramgrill for clarity
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 .

6 years agoMerge pull request #1440 from hungptit/dev
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.

6 years agoRefactor examples to avoid code duplication. 1440/head
Hung Dang [Fri, 7 Dec 2018 03:42:19 +0000 (22:42 -0500)] 
Refactor examples to avoid code duplication.

6 years agolinked btultra2 as strategy9
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

6 years agoupdated documentation
Yann Collet [Fri, 7 Dec 2018 01:22:19 +0000 (17:22 -0800)] 
updated documentation

introducing ZSTD_btultra2

6 years agominor bound refinements
Yann Collet [Fri, 7 Dec 2018 00:51:17 +0000 (16:51 -0800)] 
minor bound refinements

6 years agointroduced constants ZSTD_STRATEGY_MIN and ZSTD_STRATEGY_MAX
Yann Collet [Fri, 7 Dec 2018 00:16:16 +0000 (16:16 -0800)] 
introduced constants ZSTD_STRATEGY_MIN and ZSTD_STRATEGY_MAX

6 years agofixed c++ assignment to enum
Yann Collet [Thu, 6 Dec 2018 23:57:55 +0000 (15:57 -0800)] 
fixed c++ assignment to enum

6 years agoMerge pull request #1439 from obelisk/buck_readme
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

6 years agochanged ZSTD_c_compressionStrategy into ZSTD_c_strategy
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

6 years agoAdd buck build instruction to the readme 1439/head
Mitchell Grenier [Thu, 6 Dec 2018 22:46:48 +0000 (14:46 -0800)] 
Add buck build instruction to the readme

6 years agointroduced strategy btultra2
Yann Collet [Thu, 6 Dec 2018 21:38:09 +0000 (13:38 -0800)] 
introduced strategy btultra2

note : not yet applied on any compression level

6 years agomoved ZSTD_WINDOWLOG_LIMIT_DEFAULT into static-linking-only area
Yann Collet [Thu, 6 Dec 2018 18:57:19 +0000 (10:57 -0800)] 
moved ZSTD_WINDOWLOG_LIMIT_DEFAULT into static-linking-only area

6 years agoclarified usage of word "job"
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.

6 years agochanged parameter names from ZSTD_p_* to ZSTD_c_*
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

6 years agoupdated API documentation
Yann Collet [Thu, 6 Dec 2018 00:23:00 +0000 (16:23 -0800)] 
updated API documentation

6 years agoZSTD_decompressDCtx() is compatible with sticky parameters
Yann Collet [Wed, 5 Dec 2018 01:30:58 +0000 (17:30 -0800)] 
ZSTD_decompressDCtx() is compatible with sticky parameters

6 years agomerge dedicated dParam setters
Yann Collet [Wed, 5 Dec 2018 01:06:48 +0000 (17:06 -0800)] 
merge dedicated dParam setters

6 years agowrite the switch()case: differently
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.

6 years agofixed silent conversion warning
Yann Collet [Tue, 4 Dec 2018 23:57:16 +0000 (15:57 -0800)] 
fixed silent conversion warning

6 years agofixed declaration-after-statement warnings
Yann Collet [Tue, 4 Dec 2018 23:54:01 +0000 (15:54 -0800)] 
fixed declaration-after-statement warnings

6 years agoimplemented ZSTD_dParam_getBounds()
Yann Collet [Tue, 4 Dec 2018 23:35:37 +0000 (15:35 -0800)] 
implemented ZSTD_dParam_getBounds()

and ZSTD_DCtx_setParameter()

6 years agoadvanced decompression function replaces by normal streaming one
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().

6 years agoMerge pull request #1427 from lzutao/minor-fix-meson
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

6 years agoMerge pull request #1437 from facebook/grep
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

6 years agocheck availability of --color=never command on grep and egrep 1437/head
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

6 years agojoined normal streaming API with advanced one
Yann Collet [Mon, 3 Dec 2018 22:22:38 +0000 (14:22 -0800)] 
joined normal streaming API with advanced one

6 years agoMerge pull request #1434 from terrelln/regression
Nick Terrell [Mon, 3 Dec 2018 18:39:12 +0000 (10:39 -0800)] 
Merge pull request #1434 from terrelln/regression

[regression] Add dictionary support

6 years agomeson: Update usage of InstallSymlink helper 1427/head
Lzu Tao [Mon, 3 Dec 2018 04:02:42 +0000 (11:02 +0700)] 
meson: Update usage of InstallSymlink helper

6 years agomeson: Update tests timeout to run properly
Lzu Tao [Sun, 2 Dec 2018 20:23:09 +0000 (03:23 +0700)] 
meson: Update tests timeout to run properly