]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
7 years agoAssert that Dict and Current Window are Adjacent in Index Space 1117/head
W. Felix Handte [Wed, 23 May 2018 20:00:17 +0000 (16:00 -0400)] 
Assert that Dict and Current Window are Adjacent in Index Space

7 years agoMake loadedDictEnd an Index, not the Dict Len
W. Felix Handte [Tue, 22 May 2018 00:12:11 +0000 (20:12 -0400)] 
Make loadedDictEnd an Index, not the Dict Len

7 years agoFixes in re Comments
W. Felix Handte [Mon, 21 May 2018 22:27:08 +0000 (18:27 -0400)] 
Fixes in re Comments

7 years agoDon't Attach Empty Dict Contents
W. Felix Handte [Tue, 15 May 2018 21:23:16 +0000 (17:23 -0400)] 
Don't Attach Empty Dict Contents

In weird corner cases, they produce unexpected results...

7 years agoAvoid Undefined Behavior in Match Ptr Calculation
W. Felix Handte [Tue, 15 May 2018 19:45:37 +0000 (15:45 -0400)] 
Avoid Undefined Behavior in Match Ptr Calculation

7 years agoRemove Out-of-Date Comment
W. Felix Handte [Tue, 15 May 2018 19:41:37 +0000 (15:41 -0400)] 
Remove Out-of-Date Comment

7 years agoMoar Renames
W. Felix Handte [Tue, 15 May 2018 17:16:50 +0000 (13:16 -0400)] 
Moar Renames

7 years agoAlso Attach Dict When Source Size is Unknown
W. Felix Handte [Tue, 15 May 2018 17:13:19 +0000 (13:13 -0400)] 
Also Attach Dict When Source Size is Unknown

7 years agoClear the Dictionary When Sliding the Window
W. Felix Handte [Tue, 15 May 2018 17:08:03 +0000 (13:08 -0400)] 
Clear the Dictionary When Sliding the Window

7 years agoRefine ip Initialization to Avoid ARM Weirdness
W. Felix Handte [Tue, 15 May 2018 05:15:33 +0000 (01:15 -0400)] 
Refine ip Initialization to Avoid ARM Weirdness

7 years agoUse New Index Invariant to Simplify Conditionals
W. Felix Handte [Thu, 10 May 2018 21:18:08 +0000 (17:18 -0400)] 
Use New Index Invariant to Simplify Conditionals

7 years agoForce Working Context Indices Greater than Dict Indices
W. Felix Handte [Thu, 10 May 2018 21:17:10 +0000 (17:17 -0400)] 
Force Working Context Indices Greater than Dict Indices

7 years agoWhitespace Fix
W. Felix Handte [Thu, 10 May 2018 17:46:19 +0000 (13:46 -0400)] 
Whitespace Fix

7 years agoSwitch to Original Match Calc for noDict Repcode Check
W. Felix Handte [Wed, 9 May 2018 22:40:23 +0000 (18:40 -0400)] 
Switch to Original Match Calc for noDict Repcode Check

7 years agoRename 'hasDict' to 'dictMode'
W. Felix Handte [Wed, 9 May 2018 19:14:12 +0000 (15:14 -0400)] 
Rename 'hasDict' to 'dictMode'

7 years agoRespond to PR Comments; Formatting/Style/Lint Fixes
W. Felix Handte [Wed, 9 May 2018 17:14:20 +0000 (13:14 -0400)] 
Respond to PR Comments; Formatting/Style/Lint Fixes

7 years agoRename and Reformat
W. Felix Handte [Fri, 4 May 2018 17:08:07 +0000 (13:08 -0400)] 
Rename and Reformat

7 years agoChange Cut-Off to 8 KB
W. Felix Handte [Thu, 3 May 2018 02:28:29 +0000 (22:28 -0400)] 
Change Cut-Off to 8 KB

7 years agoFix Rep Code Initialization
W. Felix Handte [Thu, 3 May 2018 00:30:03 +0000 (20:30 -0400)] 
Fix Rep Code Initialization

7 years agoCoalesce hasDictMatchState and extDict Checks into One Enum and Rename Stuff
W. Felix Handte [Wed, 2 May 2018 21:34:34 +0000 (17:34 -0400)] 
Coalesce hasDictMatchState and extDict Checks into One Enum and Rename Stuff

7 years agoSplit Wrapper Functions to Cause Inlining
W. Felix Handte [Wed, 2 May 2018 21:10:51 +0000 (17:10 -0400)] 
Split Wrapper Functions to Cause Inlining

7 years agoAdd bounds check in repcode tests
W. Felix Handte [Wed, 2 May 2018 19:12:18 +0000 (15:12 -0400)] 
Add bounds check in repcode tests

7 years agoInitial Repcode Check Support for Ext Dict Ctx
W. Felix Handte [Tue, 1 May 2018 20:21:18 +0000 (16:21 -0400)] 
Initial Repcode Check Support for Ext Dict Ctx

7 years agoPreliminary Support in ZSTD_compressBlock_fast_generic() for Ext Dict Ctx
W. Felix Handte [Sat, 28 Apr 2018 04:42:37 +0000 (00:42 -0400)] 
Preliminary Support in ZSTD_compressBlock_fast_generic() for Ext Dict Ctx

7 years agoRefer to the Dictionary Match State In-Place (Sometimes)
W. Felix Handte [Fri, 27 Apr 2018 22:46:59 +0000 (18:46 -0400)] 
Refer to the Dictionary Match State In-Place (Sometimes)

7 years agoMerge pull request #1144 from terrelln/fse-entropy
Yann Collet [Wed, 23 May 2018 02:25:37 +0000 (19:25 -0700)] 
Merge pull request #1144 from terrelln/fse-entropy

Approximate FSE encoding costs for selection

7 years agoMerge pull request #1145 from terrelln/spec
Yann Collet [Tue, 22 May 2018 23:21:40 +0000 (16:21 -0700)] 
Merge pull request #1145 from terrelln/spec

Clarify what happens when Number_of_Sequences == 0

7 years agoClarify what happens when Number_of_Sequences == 0 1145/head
Nick Terrell [Tue, 22 May 2018 23:12:33 +0000 (16:12 -0700)] 
Clarify what happens when Number_of_Sequences == 0

7 years agoFixes 1144/head
Nick Terrell [Tue, 22 May 2018 23:06:33 +0000 (16:06 -0700)] 
Fixes

7 years agoApproximate FSE encoding costs for selection
Nick Terrell [Mon, 16 Apr 2018 22:37:27 +0000 (15:37 -0700)] 
Approximate FSE encoding costs for selection

Estimate the cost for using FSE modes `set_basic`, `set_compressed`, and
`set_repeat`, and select the one with the lowest cost.

* The cost of `set_basic` is computed using the cross-entropy cost
  function `ZSTD_crossEntropyCost()`, using the normalized default count
  and the count.
* The cost of `set_repeat` is computed using `FSE_bitCost()`. We check the
  previous table to see if it is able to represent the distribution.
* The cost of `set_compressed` is computed with the entropy cost function
  `ZSTD_entropyCost()`, together with the cost of writing the normalized
  count `ZSTD_NCountCost()`.

7 years agoMerge pull request #1143 from facebook/tableLevels
Yann Collet [Sat, 19 May 2018 21:40:37 +0000 (14:40 -0700)] 
Merge pull request #1143 from facebook/tableLevels

Update table of compression levels

7 years agoMerge branch 'tableLevels' of github.com:facebook/zstd into tableLevels 1143/head
Yann Collet [Sat, 19 May 2018 01:23:40 +0000 (18:23 -0700)] 
Merge branch 'tableLevels' of github.com:facebook/zstd into tableLevels

7 years agoMerge branch 'dev' into tableLevels
Yann Collet [Sat, 19 May 2018 00:17:45 +0000 (17:17 -0700)] 
Merge branch 'dev' into tableLevels

7 years agoMerge pull request #1142 from terrelln/better-dict
Yann Collet [Sat, 19 May 2018 00:19:13 +0000 (17:19 -0700)] 
Merge pull request #1142 from terrelln/better-dict

[cover] Small compression ratio improvement

7 years agoMerge branch 'dev' into tableLevels
Yann Collet [Sat, 19 May 2018 00:17:45 +0000 (17:17 -0700)] 
Merge branch 'dev' into tableLevels

7 years agoupdated compression levels for blocks of 256KB
Yann Collet [Sat, 19 May 2018 00:17:12 +0000 (17:17 -0700)] 
updated compression levels for blocks of 256KB

7 years ago[cover] Small compression ratio improvement 1142/head
Nick Terrell [Fri, 18 May 2018 22:25:10 +0000 (15:25 -0700)] 
[cover] Small compression ratio improvement

The cover algorithm selects one segment per epoch, and it selects the epoch
size such that `epochs * segmentSize ~= dictSize`. Selecting less epochs
gives the algorithm more candidates to choose from for each segment it
selects, and then it will loop back to the first epoch when it hits the
last one.

The trade off is that now it takes longer to select each segment, since it
has to look at more data before making a choice.

I benchmarked on the following data sets using this command:

```sh
$ZSTD -T0 -3 --train-cover=d=8,steps=256 $DIR -r -o dict && $ZSTD -3 -D dict -rc $DIR | wc -c
```

| Data set     | k (approx) |  Before  |  After   | % difference |
|--------------|------------|----------|----------|--------------|
| GitHub       | ~1000      |   738138 |   746610 |       +1.14% |
| hg-changelog | ~90        |  4295156 |  4285336 |       -0.23% |
| hg-commands  | ~500       |  1095580 |  1079814 |       -1.44% |
| hg-manifest  | ~400       | 16559892 | 16504346 |       -0.34% |

There is some noise in the measurements, since small changes to `k` can
have large differences, which is why I'm using `steps=256`, to try to
minimize the noise. However, the GitHub data set still has some noise.

If I run the GitHub data set on my Mac, which presumably lists directory
entries in a different order, so the dictionary builder sees the files in
a different order, or I use `steps=1024` I see these results.

| Run        | Before | After  | % difference |
|------------|--------|--------|--------------|
| steps=1024 | 738138 | 734470 |       -0.50% |
| MacBook    | 738451 | 737132 |       -0.18% |

Question: Should we expose this as a parameter? I don't think it is
necessary. Someone might want to turn it up to exchange a much longer
dictionary building time in exchange for a slightly better dictionary.
I tested `2`, `4`, and `16`, and `4` got most of the benefit of `16`
with a faster running time.

7 years agoMerge pull request #1139 from fbrosson/prefetch
Yann Collet [Fri, 18 May 2018 20:23:35 +0000 (13:23 -0700)] 
Merge pull request #1139 from fbrosson/prefetch

__builtin_prefetch did probably not exist before gcc 3.1.

7 years ago__builtin_prefetch did probably not exist before gcc 3.1. 1139/head
fbrosson [Fri, 18 May 2018 18:40:11 +0000 (18:40 +0000)] 
__builtin_prefetch did probably not exist before gcc 3.1.

7 years agoMerge pull request #1140 from fbrosson/cpu-asm
Yann Collet [Fri, 18 May 2018 17:32:16 +0000 (10:32 -0700)] 
Merge pull request #1140 from fbrosson/cpu-asm

Drop colon in asm snippet to make old versions of gcc happy.

7 years agoDrop colon in asm snippet to make old versions of gcc happy. 1140/head
fbrosson [Fri, 18 May 2018 17:05:36 +0000 (17:05 +0000)] 
Drop colon in asm snippet to make old versions of gcc happy.

7 years agoupdate table levels for blocks <= 16K
Yann Collet [Wed, 16 May 2018 23:13:37 +0000 (16:13 -0700)] 
update table levels for blocks <= 16K

also : allow hlog to be slighly larger than windowlog,
as it's apparently good for both speed and compression ratio.

7 years agoMerge pull request #1135 from facebook/frameCSize
Yann Collet [Tue, 15 May 2018 18:02:53 +0000 (11:02 -0700)] 
Merge pull request #1135 from facebook/frameCSize

decompress: changed error code when input is too large

7 years agoMerge pull request #1136 from terrelln/fix
Yann Collet [Tue, 15 May 2018 18:02:01 +0000 (11:02 -0700)] 
Merge pull request #1136 from terrelln/fix

Fix failing Travis tests

7 years agoFix failing Travis tests 1136/head
Nick Terrell [Tue, 15 May 2018 16:46:20 +0000 (09:46 -0700)] 
Fix failing Travis tests

7 years agoMerge pull request #1127 from facebook/staticDictCost
Yann Collet [Tue, 15 May 2018 00:45:50 +0000 (17:45 -0700)] 
Merge pull request #1127 from facebook/staticDictCost

Improved optimal parser with dictionary

7 years agodecompress: changed error code when input is too large 1135/head
Yann Collet [Mon, 14 May 2018 22:32:28 +0000 (15:32 -0700)] 
decompress: changed error code when input is too large

ZSTD_decompress() can decompress multiple frames sent as a single input.
But the input size must be the exact sum of all compressed frames, no more.

In the case of a mistake on srcSize, being larger than required,
ZSTD_decompress() will try to decompress a new frame after current one, and fail.
As a consequence, it will issue an error code, ERROR(prefix_unknown).

While the error is technically correct
(the decoder could not recognise the header of _next_ frame),
it's confusing, as users will believe that the first header of the first frame is wrong,
which is not the case (it's correct).
It makes it more difficult to understand that the error is in the source size, which is too large.

This patch changes the error code provided in such a scenario.
If (at least) a first frame was successfully decoded,
and then following bytes are garbage values,
the decoder assumes the provided input size is wrong (too large),
and issue the error code ERROR(srcSize_wrong).

7 years agoMerge branch 'dev' into tableLevels
Yann Collet [Mon, 14 May 2018 18:55:52 +0000 (11:55 -0700)] 
Merge branch 'dev' into tableLevels

7 years agoMerge pull request #1131 from facebook/zstdcli
Yann Collet [Mon, 14 May 2018 18:53:58 +0000 (11:53 -0700)] 
Merge pull request #1131 from facebook/zstdcli

minor: control numeric argument overflow

7 years agoMerge pull request #1130 from facebook/man
Yann Collet [Mon, 14 May 2018 18:52:53 +0000 (11:52 -0700)] 
Merge pull request #1130 from facebook/man

fix #1115

7 years agoMerge pull request #1129 from facebook/paramgrill
Yann Collet [Mon, 14 May 2018 18:52:41 +0000 (11:52 -0700)] 
Merge pull request #1129 from facebook/paramgrill

Paramgrill refactoring

7 years agoMerge branch 'dev' into tableLevels
Yann Collet [Mon, 14 May 2018 18:52:05 +0000 (11:52 -0700)] 
Merge branch 'dev' into tableLevels

7 years agoMerge pull request #1133 from felixhandte/travis-fix
Yann Collet [Mon, 14 May 2018 16:59:43 +0000 (09:59 -0700)] 
Merge pull request #1133 from felixhandte/travis-fix

Make Travis CI Run `apt-get update`

7 years agoTravis CI Runs apt-get Update 1133/head
W. Felix Handte [Mon, 14 May 2018 15:55:21 +0000 (11:55 -0400)] 
Travis CI Runs apt-get Update

7 years agoparamgrill: use NB_LEVELS_TRACKED in loop 1129/head
Yann Collet [Mon, 14 May 2018 00:25:53 +0000 (17:25 -0700)] 
paramgrill: use NB_LEVELS_TRACKED in loop

make it easier to generate/track more levels
than ZSTD_maxClevel()

7 years agoupdate table for 128 KB blocks
Yann Collet [Mon, 14 May 2018 00:15:07 +0000 (17:15 -0700)] 
update table for 128 KB blocks

7 years agoupdate compression levels for large inputs
Yann Collet [Sun, 13 May 2018 08:53:38 +0000 (01:53 -0700)] 
update compression levels for large inputs

7 years agocli: control numeric argument overflow 1131/head
Yann Collet [Sat, 12 May 2018 21:29:33 +0000 (14:29 -0700)] 
cli: control numeric argument overflow

exit on overflow
backported from paramgrill
added associated test case

7 years agominor : factor out errorOut()
Yann Collet [Sat, 12 May 2018 19:34:34 +0000 (12:34 -0700)] 
minor : factor out errorOut()

7 years agofix #1115 1130/head
Yann Collet [Sat, 12 May 2018 17:21:30 +0000 (10:21 -0700)] 
fix #1115

7 years agoparamgrill: subtle change in level spacing
Yann Collet [Sat, 12 May 2018 16:40:04 +0000 (09:40 -0700)] 
paramgrill: subtle change in level spacing

distance between levels is slightly increased
to compensate for level 1 speed improvements
and the will to have stronger level 19
extending the range of speed to cover.

7 years agoadded programmable constraints
Yann Collet [Sat, 12 May 2018 02:43:08 +0000 (19:43 -0700)] 
added programmable constraints

7 years agogeneralized use of readU32FromChar()
Yann Collet [Sat, 12 May 2018 00:32:26 +0000 (17:32 -0700)] 
generalized use of readU32FromChar()

and check input overflow

7 years agoreplaced FSE_count by FSE_count_simple 1127/head
Yann Collet [Fri, 11 May 2018 22:54:06 +0000 (15:54 -0700)] 
replaced FSE_count by FSE_count_simple

to reduce usage of stack memory.

Also : tweaked a few comments, as suggested by @terrelln

7 years agoMerge pull request #1128 from facebook/libdir
Yann Collet [Fri, 11 May 2018 18:47:59 +0000 (11:47 -0700)] 
Merge pull request #1128 from facebook/libdir

minor Makefile patch

7 years agominor patch, ensuring LIBDIR is created before installation 1128/head
Yann Collet [Fri, 11 May 2018 18:31:48 +0000 (11:31 -0700)] 
minor patch, ensuring LIBDIR is created before installation

follow-up from #1123

7 years agofixed wrong assertion
Yann Collet [Fri, 11 May 2018 02:48:09 +0000 (19:48 -0700)] 
fixed wrong assertion

base can actually overflow

7 years agofixed c++ conversion warning
Yann Collet [Fri, 11 May 2018 01:17:21 +0000 (18:17 -0700)] 
fixed c++ conversion warning

7 years agominor adjusting of weights
Yann Collet [Fri, 11 May 2018 01:13:48 +0000 (18:13 -0700)] 
minor adjusting of weights

7 years agoopt: init statistics from dictionary
Yann Collet [Fri, 11 May 2018 00:59:12 +0000 (17:59 -0700)] 
opt: init statistics from dictionary

instead of starting from fake "default" statistics.

7 years agobtopt : minor adjustment of update frequencies
Yann Collet [Thu, 10 May 2018 23:32:36 +0000 (16:32 -0700)] 
btopt : minor adjustment of update frequencies

7 years agoMerge pull request #1123 from baruchsiach/fix-install-pc
Yann Collet [Thu, 10 May 2018 17:38:19 +0000 (10:38 -0700)] 
Merge pull request #1123 from baruchsiach/fix-install-pc

lib/Makefile: create include directory before headers installation

7 years agoopt: minor improvements to log traces
Yann Collet [Wed, 9 May 2018 22:46:11 +0000 (15:46 -0700)] 
opt: minor improvements to log traces

slight improvement when using fractional-bit evaluation (opt:dictionay)

7 years agofixed declaration-after-statement warning
Yann Collet [Wed, 9 May 2018 19:07:25 +0000 (12:07 -0700)] 
fixed declaration-after-statement warning

7 years agoadded traces to look at symbol costs
Yann Collet [Wed, 9 May 2018 19:00:12 +0000 (12:00 -0700)] 
added traces to look at symbol costs

evaluation looks correct.

7 years agoswitchable bit-approximation / fractional-bit accuracy modes
Yann Collet [Wed, 9 May 2018 17:48:09 +0000 (10:48 -0700)] 
switchable bit-approximation / fractional-bit accuracy modes

also : makes it possible to select nb of fractional bits.

7 years agoMerge pull request #1124 from terrelln/playtests-gnu
Yann Collet [Wed, 9 May 2018 16:39:02 +0000 (09:39 -0700)] 
Merge pull request #1124 from terrelln/playtests-gnu

Write to /dev/random for test

7 years agoimplemented fractional bit cost evaluation
Yann Collet [Wed, 9 May 2018 00:43:13 +0000 (17:43 -0700)] 
implemented fractional bit cost evaluation

for FSE symbols.

While it seems to work, the gains are negligible compared to rough maxNbBits evaluation.
There are even a few losses sometimes, that still need to be explained.
Furthermode, there are still cases where btlazy2 does a better job than btopt,
which seems rather strange too.

7 years agoopt: shift all costs by 8 bits (* 256)
Yann Collet [Tue, 8 May 2018 23:19:04 +0000 (16:19 -0700)] 
opt: shift all costs by 8 bits (* 256)

making it possible to represent fractional bit costs.

7 years agoopt: estimate cost of both Hufman and FSE symbols
Yann Collet [Tue, 8 May 2018 23:11:21 +0000 (16:11 -0700)] 
opt: estimate cost of both Hufman and FSE symbols

For FSE symbols : provide an upper bound,
in nb of bits,
since cost function is not able to store fractional bit costs.

7 years agopass entropy tables to optimal parser
Yann Collet [Tue, 8 May 2018 22:37:06 +0000 (15:37 -0700)] 
pass entropy tables to optimal parser

for proper estimation of symbol's weights
when using dictionary compression.

Note : using only huffman costs is not good enough,
presumably because sequence symbol costs are incorrect.

7 years agominor code refactor for readability
Yann Collet [Tue, 8 May 2018 19:32:16 +0000 (12:32 -0700)] 
minor code refactor for readability

removed some useless operations from optimal parser
(should not change performance, too small a difference)

7 years agoWrite to /dev/random for test 1124/head
Nick Terrell [Tue, 8 May 2018 18:06:01 +0000 (11:06 -0700)] 
Write to /dev/random for test

7 years agolib/Makefile: create include directory before headers installation 1123/head
Baruch Siach [Tue, 8 May 2018 17:43:28 +0000 (20:43 +0300)] 
lib/Makefile: create include directory before headers installation

Make sure that $(INCLUDEDIR) exists before copying the headers there.
Otherwise, the contest of header files is copied over
$(DESTDIR)$(INCLUDEDIR), making it a regular file.

While at it, remove $(DESTDIR)$(INCLUDEDIR) from the list of directories
to create in the install-pc target. The install-pc target does not need
this directory.

7 years agoMerge pull request #1122 from facebook/fixCDictBlock
Yann Collet [Tue, 8 May 2018 00:13:59 +0000 (17:13 -0700)] 
Merge pull request #1122 from facebook/fixCDictBlock

fix ZSTD_compressBlock() associated with ZSTD_CDict

7 years agofix ZSTD_compressBlock() associated with CDict 1122/head
Yann Collet [Mon, 7 May 2018 19:54:13 +0000 (12:54 -0700)] 
fix ZSTD_compressBlock() associated with CDict

reported by @let-def.

It's actually a bug in ZSTD_compressBegin_usingCDict()
which would pass a wrong pledgedSrcSize value (0 instead of ZSTD_CONTENTSIZE_UNKNOWN)
resulting in wrong window size, resulting in downsized seqStore,
resulting in segfault when writing into the seqStore later in the process.

Added a test in fuzzer to cover this use case (fails before the patch).

7 years agoMerge pull request #1120 from lamby/897904-libzstd-please-make-the-build-reproducible
Yann Collet [Fri, 4 May 2018 19:39:40 +0000 (12:39 -0700)] 
Merge pull request #1120 from lamby/897904-libzstd-please-make-the-build-reproducible

Make the build reproducible

7 years agoMake the build reproducible 1120/head
Chris Lamb [Fri, 4 May 2018 15:39:03 +0000 (08:39 -0700)] 
Make the build reproducible

Whilst working on the Reproducible Builds effort [0], we noticed
that zstd could not be built reproducibly.

This is due to the manual page encoding the number of CPUs from the
build machine and thus varies across builds.

This was originally filed in Debian as #897904 [1].

 [0] https://reproducible-builds.org/
 [1] https://bugs.debian.org/897904

Signed-off-by: Chris Lamb <lamby@debian.org>
7 years agoMerge pull request #1118 from terrelln/playtests-typo
Yann Collet [Thu, 3 May 2018 21:26:26 +0000 (14:26 -0700)] 
Merge pull request #1118 from terrelln/playtests-typo

Fix playTests.sh typo

7 years agoFix playTests.sh typo 1118/head
Nick Terrell [Thu, 3 May 2018 20:03:08 +0000 (13:03 -0700)] 
Fix playTests.sh typo

Thanks to @mestia for reporting and finding the bug!
Fixes #1116.

7 years agoignore Windows build/test artefacts
cyan4973 [Tue, 1 May 2018 12:45:46 +0000 (05:45 -0700)] 
ignore Windows build/test artefacts

7 years agoMerge pull request #1114 from pseiderer/ps-devel-001
Yann Collet [Mon, 30 Apr 2018 21:59:59 +0000 (14:59 -0700)] 
Merge pull request #1114 from pseiderer/ps-devel-001

Split library install target into pc, static, shared and include only target

7 years agoClarifications of Zstandard format specification
Yann Collet [Mon, 30 Apr 2018 18:35:49 +0000 (11:35 -0700)] 
Clarifications of Zstandard format specification

from IETF RFC review

7 years agoSplit library install target into pc, static, shared and include only target 1114/head
Peter Seiderer [Mon, 16 Apr 2018 18:44:49 +0000 (20:44 +0200)] 
Split library install target into pc, static, shared and include only target

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
7 years agoMerge pull request #1113 from terrelln/dict-fix
Yann Collet [Thu, 26 Apr 2018 17:31:25 +0000 (10:31 -0700)] 
Merge pull request #1113 from terrelln/dict-fix

Fix parameter adjustment with dictionary

7 years agoFix parameter adjustment with dictionary 1113/head
Nick Terrell [Wed, 25 Apr 2018 23:32:29 +0000 (16:32 -0700)] 
Fix parameter adjustment with dictionary

The new advanced API basically set `requestedParams = appliedParams` when
using a dictionary. This halted all parameter adjustment, which can hurt
compression ratio if, for example, the window log is small for the first
call, but the rest of the files are large.

This patch fixes the bug, and checks that the `requestedParams` don't change
in the new advanced API when using a dictionary, and generally in the fuzzer.

7 years agoclarified documentation related to refPrefix()
Yann Collet [Wed, 25 Apr 2018 17:15:43 +0000 (10:15 -0700)] 
clarified documentation related to refPrefix()

7 years agoMerge pull request #1112 from facebook/lz4dec
Yann Collet [Tue, 24 Apr 2018 23:50:54 +0000 (16:50 -0700)] 
Merge pull request #1112 from facebook/lz4dec

fixed decoding bogus lz4 frame

7 years agoupdated documentation of streaming compression api
Yann Collet [Tue, 24 Apr 2018 21:44:27 +0000 (14:44 -0700)] 
updated documentation of streaming compression api

7 years agofixed decoding bogus lz4 frame 1112/head
cyan4973 [Tue, 24 Apr 2018 01:50:16 +0000 (18:50 -0700)] 
fixed decoding bogus lz4 frame

FIO would keep presenting data after an LZ4F decoding error
resulting in a NULL pointer dereference
when associated with older liblz4 version (< v1.8.1.2)