Yann Collet
9c58098200
fixed memcpy() on NULL warning
...
memcpy(NULL, src, 0) is undefined behavior.
2018-10-29 13:57:37 -07:00
Yann Collet
8d56f4baee
added a few comments for clarifications
2018-10-26 15:21:52 -07:00
Yann Collet
450356b5af
Merge branch 'dev' into decompressblock
2018-10-26 15:03:43 -07:00
Yann Collet
7d4960a5e8
Merge pull request #1390 from facebook/nullAsOutput
...
support decompressing an empty frame into NULL
2018-10-26 14:43:16 -07:00
Yann Collet
2b4914082e
created zstd_decompress_block module
...
isolate all logic associated with block decompression
into its own module.
zstd_decompress is still in charge
of context creation/destruction,
frames, headers, streaming, special blocks, etc.
Compressed blocks themselves are now handled within zstd_decompress_block .
2018-10-25 16:28:41 -07:00
Yann Collet
cb320a9fc0
added comment on public ddict functions
2018-10-24 16:50:03 -07:00
Yann Collet
806a5c84e4
support decompressing an empty frame into NULL
...
fix #1385
decompressing into NULL was an automatic error.
It is now allowed, as long as the content of the frame is empty.
Seems to simplify things for `arrow`.
Maybe some other projects rely on this behavior ?
2018-10-24 16:34:35 -07:00
Yann Collet
debff3929b
fixed warnings in testpools
2018-10-24 10:36:06 -07:00
Yann Collet
cc3612e1c5
added simple guard macros
...
in case of accidental multi-includes
2018-10-23 17:55:23 -07:00
Yann Collet
ccd2d426fc
separate DDict logic into its own module
...
created zstd_ddict.c within lib/decompress
2018-10-23 17:25:49 -07:00
Yann Collet
f181799082
fix decodecorpus incorrect frame generation
...
fix #1379
decodecorpus was generating one extraneous byte when `nbSeq==0`.
This is disallowed by the specification.
The reference decoder was just skipping the extraneous byte.
It is now stricter, and flag such situation as an error.
2018-10-20 18:56:21 -07:00
Yann Collet
1e6208e75e
bumped version number to v1.3.7
...
updated documentation
2018-10-11 14:40:12 -07:00
Ori Livneh
f31715f5e0
Enable use of bswap intrinsics in clang
...
Necessary because clang disguises itself as an older (__GNUC_MINOR__ = 2) GCC.
2018-10-11 15:01:09 -04:00
Yann Collet
6ed3b526e4
restored bitMask for shift values
...
since corrupted bitstreams can generate too large values.
This slightly reduces the benefits from clang on my laptop.
gcc results and code generation are not affected.
2018-10-10 18:29:50 -07:00
Yann Collet
c012e9540a
removed one assert()
...
that can be triggered by a corrupted bitstream.
2018-10-10 17:33:04 -07:00
Yann Collet
7791f192ee
removed one assert()
...
which can be triggered when input is corrupted.
2018-10-10 16:39:15 -07:00
Yann Collet
d3ec23313d
improved decompression speed
...
while reviewing #1364 ,
I found a decompression speed improvement.
On my laptop, the new code decompresses +5-6% faster on clang
and +2-3% faster on gcc.
not bad for an accidental optimization...
2018-10-10 15:48:43 -07:00
Yann Collet
942df522cc
Merge pull request #1361 from facebook/streamdoc
...
Clarify streaming api doc
2018-10-08 19:19:34 -07:00
W. Felix Handte
b8235be865
Avoid Searching Dictionary in ZSTD_btlazy2 When an Optimal Match is Found
...
Bailing here is important to avoid reading past the end of the input buffer.
2018-10-08 15:59:32 -07:00
W. Felix Handte
d121b3451c
Clean Up Debug Log Statements
2018-10-08 15:59:32 -07:00
W. Felix Handte
08da9ad316
Remove Unused Variable
2018-10-08 15:59:32 -07:00
Yann Collet
8fc79fac07
clarify streaming api doc
...
as suggested by @indygreg in #1360
2018-10-08 15:53:29 -07:00
Yann Collet
11cd2ea43d
finalized minor warnings on Haiku
2018-10-03 16:37:50 -07:00
Yann Collet
bc93b801f0
Merge pull request #1330 from korli/haiku
...
Enable building zstd on Haiku.
2018-10-03 13:36:00 -07:00
Jerome Duval
87c10e2f58
Enable building zstd on Haiku.
2018-10-03 09:51:56 +02:00
Yann Collet
22ddf3523a
fixed msan warning
...
on btlazy2 strategy with dictAttach
2018-10-02 18:20:20 -07:00
Yann Collet
c9843ec232
Merge pull request #1348 from facebook/donotdelete
...
Fix #1082
2018-10-02 16:37:58 -07:00
Yann Collet
3ca6261223
fixed static analyzer warnings
...
note : for some reason,
scan-build version on my laptop found problems within fastcover.c
that scan-build on travisCI does not flag.
They are, as usual, false positive :
the analyzer does not understand that a table (`offset`) is correctly filled before usage.
2018-10-02 15:59:11 -07:00
Yann Collet
228c6e5147
Merge pull request #1317 from felixhandte/split-logs
...
Independent Dictionary and Working Context Table Logs
2018-10-01 17:20:12 -07:00
W. Felix Handte
5b296869df
Revert Ability to Set HashLog and ChainLog on Context When Dict is Attached
...
This capability is not needed / used in the current unit of work. I'll
re-introduce it later, when we start allowing users to override the deduced
working context logs.
2018-10-01 13:28:13 -07:00
W. Felix Handte
c2369fedc4
Restore Passing CParams to ZSTD_insertAndFindFirstIndex_internal
2018-09-28 17:12:54 -07:00
W. Felix Handte
bad74c4781
Use Working Ctx Logs when not in DMS Mode
...
We pre-hash the ptr for the dict match state sometimes. When that actually
happens, a hashlog of 0 can produce undefined behavior (right shift a long
long by 64). Only applies to unoptimized compilations, since when
optimizations are applied, those hash operations are dropped when we're not
actually in dms mode.
2018-09-28 17:12:54 -07:00
W. Felix Handte
c38acff94f
When Attaching Dictionary, Size Working Tables Based on Input Size Only
2018-09-28 17:12:54 -07:00
W. Felix Handte
9d87d50878
Remove Log Overriding for the Time Being
2018-09-28 17:12:54 -07:00
W. Felix Handte
77fd17d93f
Remove Strategy-Dependency in Making Attachment Decision
2018-09-28 17:12:54 -07:00
W. Felix Handte
00c088b32d
Support Split Logs in ZSTD_btopt..ZSTD_btultra
2018-09-28 17:12:54 -07:00
W. Felix Handte
0783492178
Bump Split Log Support to ZSTD_btultra
2018-09-28 17:12:54 -07:00
W. Felix Handte
e4ac4a0f16
Support Split Logs in ZSTD_greedy..ZSTD_btlazy2
2018-09-28 17:12:54 -07:00
W. Felix Handte
e710dc3369
Bump Split Log Support to ZSTD_btlazy2
2018-09-28 17:12:54 -07:00
W. Felix Handte
22fcb8d4c7
Support Split Logs in ZSTD_dfast
2018-09-28 17:12:54 -07:00
W. Felix Handte
a232b3bb7c
Bump Split Log Support to ZSTD_dfast
2018-09-28 17:12:54 -07:00
W. Felix Handte
fe96e98f81
Support a Separate Hash Log in ZSTD_fast
2018-09-28 17:12:54 -07:00
W. Felix Handte
bc880ebe8f
Stop Passing in hashLog
and stepSize
to ZSTD_compressBlock_fast_generic
2018-09-28 17:12:54 -07:00
W. Felix Handte
b3107c7799
Temporary Commit to Retain Requested Hash and Chain Logs During Dict Attach
2018-09-28 17:12:54 -07:00
W. Felix Handte
34e0193129
Allow Setting Hash and Chain Logs on Contexts with Attached CDict
2018-09-28 17:12:54 -07:00
W. Felix Handte
eae8232f50
For Supported Strategies, Attach Dict Even When Params Don't Match
2018-09-28 17:12:54 -07:00
W. Felix Handte
01ff945eae
Split Attach and Copy Reset Strategies into Separate Implementation Functions
2018-09-28 17:12:54 -07:00
W. Felix Handte
a6d6bbeae1
Pull Attachment Decision into Separate Function
2018-09-28 17:12:54 -07:00
W. Felix Handte
b7fba599ae
And Then Avoid the Unused Parameter Warning
2018-09-28 17:12:54 -07:00
W. Felix Handte
1f188ae655
Move Asserts into Function to Avoid Unused Function Warning
2018-09-28 17:12:54 -07:00