sen
84ccb81e7c
Merge pull request #2561 from senhuang42/longlength_enum
...
Add enum for representing long length ID
2021-03-26 15:55:12 -04:00
Sen Huang
b1a43455f8
Add enum for representing long length ID
2021-03-26 10:41:09 -07:00
sen
4fe2e7ae14
Merge pull request #2558 from senhuang42/msan_block_splitter_fix
...
Fix block splitter minor MSAN warning.
2021-03-25 13:51:43 -04:00
sen
b0407b9f0e
Merge pull request #2555 from senhuang42/default_clevel_func
...
Add ZSTD_defaultCLevel() function to public API
2021-03-25 13:07:28 -04:00
Sen Huang
2a907bf4aa
Move lastCountSize into a returned struct, fix MSAN error
2021-03-25 09:11:15 -07:00
Sen Huang
e398744a35
Add ZSTD_defaultCLevel() function to public API
2021-03-25 08:04:00 -07:00
Nick Terrell
f8ac0ea7ef
Merge pull request #2539 from terrelln/linux-kernel-fixes
...
Fixes for the next linux kernel patch version
2021-03-24 10:34:29 -07:00
sen
bf542c8a8d
Merge pull request #2447 from senhuang42/block_splitter_v2
...
Recursive block splitting
2021-03-24 12:27:22 -04:00
Sen Huang
5b566ebe08
Rename *compressSequences*() functions for clarity
2021-03-24 08:21:29 -07:00
Sen Huang
0ef1f935b7
Add a fallback in case the total blocksize of split blocks exceeds raw block size
2021-03-24 08:21:29 -07:00
Sen Huang
c90e81a692
Enable block splitter by default when applicable
2021-03-24 08:21:29 -07:00
Sen Huang
e34332834a
Clean up various functions, add debuglogging for estimate vs. actual sizes
2021-03-24 08:21:29 -07:00
Sen Huang
41c3eae6d9
Fix various fuzzer failures: repcode history, superblocks
2021-03-24 08:21:29 -07:00
senhuang42
0633bf17c3
Change 1.3.4 bugfix to be cross-compatible with superblocks and normal compression
2021-03-24 08:21:29 -07:00
senhuang42
eb1ee8686d
Refactor buildSequencesStatistics() to avoid pointer increment for superblocks
2021-03-24 08:21:29 -07:00
senhuang42
e2bb215117
Add unit tests and fuzzer param
2021-03-24 08:21:09 -07:00
senhuang42
de52de1347
Add recursive block split algorithm
2021-03-24 08:21:09 -07:00
senhuang42
f06f6626ed
Update function names for consistency
2021-03-24 08:20:54 -07:00
senhuang42
c56d6e49e8
Add block splitter to experimental params
2021-03-24 08:20:54 -07:00
senhuang42
2949a95224
Refactor block compression logic into single function
2021-03-24 08:20:54 -07:00
senhuang42
c05c090cc2
Centralize entropy statistics calculations to zstd_compress.c
2021-03-24 08:20:29 -07:00
sen
c48889f097
Merge pull request #2538 from senhuang42/monotonicity_test
...
Add memory monotonicity test over srcSize
2021-03-22 16:54:34 -04:00
Nick Terrell
ebc2dfa821
Merge pull request #2524 from terrelln/huf-stack-reduction
...
[huf] Reduce stack usage of HUF_readDTableX2 by ~972 bytes
2021-03-22 12:37:54 -07:00
Nick Terrell
634bfd339f
[FSE] Clean up workspace using dynamically sized struct
2021-03-22 11:07:07 -07:00
Sen Huang
dff4a0e867
Make ZSTD_estimateCCtxSize_internal() loop through all srcSize parameter sets as well
2021-03-21 16:15:31 -07:00
Yann Collet
f5434663ea
Refactor prefetching for the decoding loop
...
Following #2545 ,
I noticed that one field in `seq_t` is optional,
and only used in combination with prefetching.
(This may have contributed to static analyzer failure to detect correct initialization).
I then wondered if it would be possible to rewrite the code
so that this optional part is handled directly by the prefetching code
rather than delegated as an option into `ZSTD_decodeSequence()`.
This resulted into this refactoring exercise
where the prefetching responsibility is better isolated into its own function
and `ZSTD_decodeSequence()` is streamlined to contain strictly Sequence decoding operations.
Incidently, due to better code locality,
it reduces the need to send information around,
leading to simplified interface, and smaller state structures.
2021-03-19 15:48:17 -07:00
Nick Terrell
756bd59322
[huf][fse] Clean up workspaces
...
* Move `counting` to a struct in `FSE_decompress_wksp_body()`
* Fix error code in `FSE_decompress_wksp_body()`
* Rename a variable in `HUF_ReadDTableX2_Workspace`
2021-03-17 16:50:37 -07:00
ihsinme
a5bf09d764
simple fix for using bit operator.
...
good day.
It seems to me that the developer intended to use a logical operator.
so I suggest a simple fix.
2021-03-17 11:37:42 +03:00
Sen Huang
77ae664ba6
Fix ZSTD_dedicatedDictSearch_isSupported() requirements
2021-03-16 17:36:05 -07:00
senhuang42
386111adec
Add a nbSeq argument to compressSequences()
...
Refactor ZSTD_compressBlock_internal() to do the block header write within and add nbSeq argument to compressSequences()
2021-03-16 14:04:22 -07:00
senhuang42
98764493cf
Move block header write into compressBlock_internal()
2021-03-16 14:04:22 -07:00
Nick Terrell
ea288e0d8e
[lib] Bump zstd version number
2021-03-16 11:47:27 -07:00
Nick Terrell
cd1551d261
[lib][tracing] Add ZSTD_NO_TRACE macro
...
When defined, it disables tracing, and avoids including the header.
2021-03-16 11:47:27 -07:00
Yann Collet
3d6c903056
Merge pull request #2521 from animalize/doc_free
...
doc: ZSTD_free*() functions accept NULL pointer
2021-03-06 21:33:28 -08:00
Nick Terrell
3b1aba42cc
[fse] Reduce stack usage of FSE_decompress_wksp() by 512 bytes
...
* Move `counting` into the workspace
* Inrease `HUF_DECOMPRESS_WORKSPACE_SIZE` by 512 bytes
2021-03-05 13:24:27 -08:00
Nick Terrell
0f18059a4e
[huf] Reduce stack usage of HUF_readDTableX2 by ~460 bytes
...
* Use `HUF_readStats_wksp()`
* Use workspace in `HUF_fillDTableX2*()`
* Clean up workspace usage to use a workspace struct
2021-03-05 12:39:46 -08:00
Nick Terrell
b5fd348a85
Merge pull request #2523 from terrelln/huf-stack-reduction
...
Add HUF_writeCTable_wksp() function
2021-03-05 12:35:09 -08:00
Nick Terrell
5df2a21f1e
Add HUF_writeCTable_wksp() function
...
This saves ~700 bytes of stack space in HUF_writeCTable.
2021-03-05 10:29:18 -08:00
Nick Terrell
e50f88ca4c
Merge pull request #2522 from terrelln/stack-reduction
...
Reduce stack usage of ZSTD_buildCTable()
2021-03-04 20:55:58 -08:00
Nick Terrell
27498ff00f
Reduce stack usage of ZSTD_buildCTable()
...
It is a stack high-point for some compression strategies and has an easy
fix. This moves the normalized count into the entropy workspace.
2021-03-04 16:12:11 -08:00
animalize
0933775d79
doc: ZSTD_free*() functions accept NULL pointer
2021-03-04 12:02:52 +08:00
Yann Collet
029f974ddc
strengthen compilation flags
2021-03-02 15:43:52 -08:00
W. Felix Handte
d7db928f72
Bump Library Version 1.4.8 -> 1.4.9
2021-03-01 17:45:30 -05:00
Yann Collet
61b63e9060
Merge pull request #2492 from niacat/dev
...
Use standard md5 tool on NetBSD.
2021-02-24 16:38:10 -08:00
Nick Terrell
7736549bea
[bug-fix] Make simple single-pass functions ignore advanced parameters
...
The simple compression functions are intended to ignore the advanced
parameters, but they were accidentally using them. All the
`ZSTD_parameters` were set correctly, but any extra parameters were
used as-is. E.g. `ZSTD_c_format`.
This PR makes all the simple single-pass functions listed below ignore
the advanced parameters, as intended.
* `ZSTD_compressCCtx()`
* `ZSTD_compress_usingDict()`
* `ZSTD_compress_usingCDict()`
* `ZSTD_compress_advanced()`
* `ZSTD_compress_usingCDict_advanced()`
It also adds a test case that ensures that each of these functions
ignore the advanced parameters.
2021-02-12 19:11:23 -08:00
Nick Terrell
c62eb05964
[lib] Set appliedParams.compressionLevel correctly
...
Forward the correct compressionLevel to the appliedParams in all cases.
It was already correct for the advanced API, so only the old single-pass
functions needed to be fixed.
This compression level is unused by the library, but is set so that the
tracing framework can consume it.
2021-02-12 15:00:14 -08:00
Nick Terrell
f520f6dfbe
[trace] Minor fixes found during integration
...
* Mark `ZSTD_CCtx_getParameter()` as const
* Add `extern "C"` guards to `zstd_trace.h`
2021-02-11 16:20:04 -08:00
Yann Collet
8884cb887d
Merge pull request #2483 from mpu/ldmgear
...
New algorithms for the long distance matcher
2021-02-11 08:38:23 -08:00
nia
74f85818a6
Use standard md5 tool on NetBSD.
...
This avoids a GNU coreutils dependency.
-n is used to match the output format of coreutils:
http://man.netbsd.org/md5.1
2021-02-11 10:50:11 +01:00
Quentin Carbonneaux
552efcac2d
relocate large arrays from the stack to ldmState_t
2021-02-10 16:16:54 +01:00