Nick Terrell
abe12b3399
[libzstd] Fix bug in Huffman decompresser
...
The zstd format specification doesn't enforce that Huffman compressed
literals (including the table) have to be smaller than the uncompressed
literals. The compressor will never Huffman compress literals if the
compressed size is larger than the uncompressed size. The decompresser
doesn't accept Huffman compressed literals with 4 streams whose compressed
size is at least as large as the uncompressed size.
* Make the decompresser accept Huffman compressed literals whose size
increases.
* Add a test case that exposes the bug. The compressed file has to be
statically generated, since the compressor won't normally produce files
that expose the bug.
2017-08-07 12:37:48 -07:00
Stella Lau
e1abc2a367
Switch the sleep function to UTIL_sleepMilli
2017-08-07 11:49:13 -07:00
Nick Terrell
308047eb5d
Fix compression failure on incompressible data
...
If the destination buffer is the minimum allowed size in
`ZSTD_compressSequences()` (2^17), then if the block isn't compressible
compression might fail with `dstSize_tooSmall`, when it should instead emit
a raw uncompressed block.
Additionally, `ZSTD_compressLiterals()` implicitly called
`ZSTD_noCompressLiterals()` if Huffman compression failed. Make that
explicit.
2017-08-07 11:45:24 -07:00
Nick Terrell
7393b49fbd
[linux-kernel] Update patches for v4
2017-08-04 16:57:03 -07:00
Paul Cruz
01237e3b35
changed multi to zstd-adaptive in the help menu
2017-08-03 15:13:49 -07:00
Stella Lau
1e366f9dea
Add test for deadlock
2017-08-02 11:27:50 -07:00
Paul Cruz
8be7bba08c
added mutex for compression level to avoid data race
2017-08-02 10:27:33 -07:00
Stella Lau
73ba58955f
Signal after finishing job when queueSize=0
2017-08-01 20:12:06 -07:00
Paul Cruz
69ef22c0ac
added detach statements to prevent resource leak
2017-08-01 17:36:13 -07:00
Stella Lau
1d76da1d87
Replace marker with queueEmpty variable and update pool.h comment
2017-08-01 12:30:16 -07:00
Paul Cruz
f8c7b191e7
Merge branch 'adapt-approach-4' into dev
2017-07-31 15:42:57 -07:00
Paul Cruz
0295737ad7
change signal to broadcast for jobCompressed condition varaible since multiple threads waiting
2017-07-31 13:43:03 -07:00
Paul Cruz
cf92221671
Merge remote-tracking branch 'upstream/dev' into dev
2017-07-31 11:43:40 -07:00
Paul Cruz
c2f1bda8a1
Merge branch 'adapt-approach-4' into dev
2017-07-31 11:43:01 -07:00
Paul Cruz
9ea7df03de
add install target in makefile
2017-07-31 11:04:17 -07:00
Stella Lau
5adceeed01
Allow queueSize=0 in pool.c and update poolTests
2017-07-31 10:10:16 -07:00
Paul Cruz
f60cd3f99b
print defaults and range, remove EXT
2017-07-31 09:47:09 -07:00
Paul Cruz
e22b60cb76
removed ternary operation, added assert statement, check to make sure initial compression level is within bounds
2017-07-28 17:46:51 -07:00
Paul Cruz
cb9af53e77
delete empty line
2017-07-28 17:28:25 -07:00
Paul Cruz
51788225db
remove exe extension from makefile, reinclude pthread flag
2017-07-28 17:27:36 -07:00
Yann Collet
ee27f6937c
Merge pull request #758 from stellamplau/ldm
...
Add working prototype of a long distance matcher
2017-07-28 17:07:21 -07:00
Paul Cruz
4d904ac800
add flags for multithreading
2017-07-28 16:12:58 -07:00
Paul Cruz
0f4cb67b00
add tests for compression bounds, fix another warning
2017-07-28 15:55:02 -07:00
Paul Cruz
ff54fced64
patched style errors, add ability to bound compression level variation
2017-07-28 15:30:46 -07:00
Stella Lau
8fae41c412
Return error code in verify() and minor code cleanup
2017-07-27 17:14:05 -07:00
Stella Lau
1294a4a897
Fix typo
2017-07-27 15:49:46 -07:00
Stella Lau
627621839c
Add checks in initialization code
2017-07-27 15:37:37 -07:00
Yann Collet
e94fd71bbd
Merge branch 'dev' of github.com:facebook/zstd into dev
2017-07-27 13:49:46 -07:00
Stella Lau
c105f605e6
Update README
2017-07-27 11:11:35 -07:00
Yann Collet
e1222544be
Merge pull request #753 from paulcruz74/adapt-approach-3
...
adaptive compression v1
2017-07-27 10:00:10 -07:00
Paul Cruz
2320e7378a
remove unused variable, add documentation for context fields
2017-07-26 17:02:47 -07:00
Stella Lau
9eaf3d22d0
Allow HASH_ONLY_EVERY_LOG to be configured in ldm.h
2017-07-26 16:43:25 -07:00
Paul Cruz
ab5a78547e
fix leaky abstraction regarding measuring completion
2017-07-26 16:40:05 -07:00
Paul Cruz
715f36ca81
added definitions for conversion constants, moved forced compression check to top of adaptCompressionLevel, used ZSTD_BLOCKSIZE_MAX
2017-07-26 15:52:15 -07:00
Paul Cruz
6c1c1242fc
set the window log value before performing compression
2017-07-26 14:29:59 -07:00
Stella Lau
40759bade9
Add README and clean up code
2017-07-26 13:24:03 -07:00
Paul Cruz
a959cc881a
moved reset of completion to right after wait
2017-07-26 10:34:48 -07:00
Paul Cruz
305d5ee70f
change to >= convergence counter
2017-07-26 10:20:29 -07:00
Paul Cruz
be92a38d6a
decrease completion requirements for change, move create thread wait, merge cases where compression thread should wait
2017-07-26 10:05:10 -07:00
Stella Lau
e9161637b2
Allow parameters to be modified from a separate file
2017-07-25 18:13:27 -07:00
Paul Cruz
0b18d21e03
building on readme, added another help tip in the menu
2017-07-25 17:47:02 -07:00
Paul Cruz
7cc74e0b27
adding more to readme
2017-07-25 16:55:16 -07:00
Paul Cruz
8dbb07d822
updated progress bar with better representation of time, added const
2017-07-25 16:03:43 -07:00
Paul Cruz
9a132707af
changing time units to seconds
2017-07-25 15:26:26 -07:00
Stella Lau
629c300118
Rename and remove unneeded files
2017-07-25 15:17:36 -07:00
Paul Cruz
31a9ed9883
updated const values, added more comments
2017-07-25 14:53:40 -07:00
Yann Collet
6466fd3400
Merge pull request #776 from terrelln/dev
...
[libzstd] Fix CHECK_V_F() macro
2017-07-25 14:39:32 -07:00
Paul Cruz
5cfbf609a4
removed old debug statements no longer being used
2017-07-25 14:31:48 -07:00
Paul Cruz
0882cd1981
progress bar -- don't print num jobs, time elapsed shown in seconds
2017-07-25 14:26:55 -07:00
Paul Cruz
310c12d07e
moved debug statements to a compiler flag
2017-07-25 14:08:39 -07:00