Commit Graph

859 Commits (2214e469ee2b5a0a0d6f7a284c7884bf9cf15ca6)

Author SHA1 Message Date
Yann Collet 4623d11571 new correction, less extreme replacement value 2016-06-20 19:15:37 +02:00
Yann Collet 5477cc25f7 fixed corruption error related to inter-blocks rep-offset 2016-06-20 18:31:25 +02:00
Yann Collet e4811ba761 Modified : ZSTD_createDDict() accepts dictionary < 8 bytes in pure content mode (reported by @chipturner) 2016-06-19 23:06:54 +02:00
Yann Collet 06d9a73b48 minor refactor, using `WILDCOPY_OVERLENGTH` macro instead of hard-coded 8 2016-06-19 14:27:21 +02:00
Yann Collet 19cab46f2f Joined `seqStore` initialization at dispatch point 2016-06-17 12:54:52 +02:00
Yann Collet 510cff3570 minor comment change 2016-06-16 16:39:55 +02:00
Yann Collet 4948f270b3 make room for reserved "information bit" in frame header 2016-06-16 15:38:51 +02:00
Yann Collet 23ba41533a Fixed zstd_opt encoding error with repeat-offsets 2016-06-16 13:20:46 +02:00
Yann Collet 80d033fb43 fixed ptr arithmetic warning 2016-06-16 01:41:50 +02:00
Yann Collet ad39b7a718 zdict stores standard rep-offset.
It can use custom ones, but the proper formula and impact on statistics is not done yet.
2016-06-16 01:14:41 +02:00
Yann Collet 736d419289 strengthened dict loading on decompresson side 2016-06-16 01:05:04 +02:00
Yann Collet 8e36a9c169 decoder restores repOffsets from dictionary 2016-06-16 01:05:04 +02:00
Yann Collet 52a0622beb RepsCodes are saved into Dict
(uncomplete : need decompression to regenerate them)
2016-06-16 01:05:04 +02:00
Yann Collet efd0b4993a fixed fuzzer error (inter-block repeated offsets) 2016-06-16 00:53:56 +02:00
Yann Collet 9b998e4d08 Fixed decompression of literals in dictionary mode 2016-06-15 23:11:20 +02:00
Yann Collet d059092897 fixed conversion warnings 2016-06-14 15:34:24 +02:00
Yann Collet 45c03c564f fixed corruption with inter-blocks repeated offsets 2016-06-14 13:46:11 +02:00
Yann Collet 4266c0a2fd adding inter-blocks rep-offsets 2016-06-14 01:49:25 +02:00
Yann Collet 43dfe01919 Check `repIndex` for validity 2016-06-13 21:43:06 +02:00
Yann Collet 18c8f79f3e fixed gcc warning on uninitialized structure variable 2016-06-12 22:51:52 +02:00
Yann Collet cd98f93cff Fixed decompression issue with invalid data 2016-06-11 23:26:22 +02:00
Yann Collet 37fece22e8 enable repeat-entropic-stats mode 2016-06-11 02:52:42 +02:00
Yann Collet d60a5bf900 Literal decompression builds Huffman tables within shared space (for later re-use) 2016-06-11 02:35:31 +02:00
Yann Collet 237ad4beb3 Added single-stream decompression variant using external DTable 2016-06-11 01:46:03 +02:00
Yann Collet 289bbd52e5 Updated huff0 2016-06-11 01:31:54 +02:00
Yann Collet 1869f7966e Merge pull request #205 from inikep/dev
legacy decoder for v0.6
2016-06-10 17:13:07 +02:00
Yann Collet 0974f681a4 completed `.gitignore` 2016-06-10 14:44:16 +02:00
Yann Collet 9dd12742f3 `litBlockType_t` is an `enum` 2016-06-10 00:12:26 +02:00
inikep 4923222412 fixed warnings from Travis 2016-06-09 20:03:30 +02:00
inikep 4000945a1d project updated for legacy decoder zstd_v06.c 2016-06-09 18:12:06 +02:00
inikep bf853d5510 added legacy decoder for v0.6 format 2016-06-09 17:59:18 +02:00
Yann Collet 662a541431 updated huff0 - now generates a common HUF_DTable type for all decoding tables 2016-06-08 11:11:02 +02:00
Yann Collet 302fb53a76 Removed `ZSTD_*_usingPrepared?Ctx()` declaration from public space 2016-06-07 12:16:49 +02:00
Yann Collet 81e13ef7cf first implementation of the new dictionary API (untested) 2016-06-07 00:51:51 +02:00
Yann Collet 9d504ae85b Added decoding of RLE blocks 2016-06-06 19:52:35 +02:00
Yann Collet 2cc72f1fd3 fixed initialization issue in bench 2016-06-06 17:50:07 +02:00
Yann Collet e3d529403d fixed initialization mismatch in `ZSTD_copyCCtx()` 2016-06-06 11:07:33 +02:00
Yann Collet 142acbdea7 fixed minor visual conversion warning 2016-06-06 00:46:56 +02:00
Yann Collet 673f0d7cdc new frame format, allowing custom window size 2016-06-06 00:26:38 +02:00
Yann Collet 89703d20fb reduced dependencies 2016-06-05 01:50:33 +02:00
Yann Collet 51778b7cca updated README following merging of `*_static.h` 2016-06-05 01:38:10 +02:00
Yann Collet a91ca620cf removed `HUF_readStats()` from public space 2016-06-05 01:33:55 +02:00
Yann Collet d0e2cd15cb Merged `fse_static` into `fse.h` . Now requires `FSE_STATIC_LINKING_ONLY` macro. 2016-06-05 00:58:01 +02:00
Yann Collet 130fe11394 merged `huf_static.h` into `huf.h` . Requires `HUF_STATIC_LINKING_ONLY` macro. 2016-06-05 00:42:28 +02:00
Yann Collet dc048d18d3 minor comment (detailing an `#include` motivation) 2016-06-05 00:32:23 +02:00
Yann Collet 49bb0041af removed `ZSTD_highbit()` from `zstd_internal.h`, as it is only used by `zstd_compress.c` 2016-06-04 20:17:38 +02:00
Yann Collet d3b7f8d21f Merged `zstd_static.h` into `zstd.h` . Now requires `ZSTD_STATIC_LINKING_ONLY` macro 2016-06-04 19:47:02 +02:00
Yann Collet ac110a1f21 Removed ZBUFF internal util function from public area 2016-06-04 19:16:49 +02:00
Yann Collet 5347aee8f7 merged `zbuff_static.h` into `zbuff.h` . Now requires `ZBUFF_STATIC_LINKING_ONLY` macro 2016-06-04 19:12:48 +02:00
Yann Collet e69b8ccceb merged `zdict_static.h` into `zdict.h`. Now requires `ZDICT_STATIC_LINKING_ONLY` macro. 2016-06-04 18:56:23 +02:00
Yann Collet 198d127b35 minor comment change (unfinished description of new header format) 2016-06-04 18:40:55 +02:00
Yann Collet f4f5affdf7 restore ZBUFF full-block-size, for better performance on small input 2016-06-03 23:09:28 +02:00
Yann Collet ab7b6f1ece Merge pull request #198 from inikep/dev070
Dev070
2016-06-03 21:37:49 +02:00
inikep 3640396b1a fixed: deallocation of structures in case of error in ZBUFF_createCCtx and ZBUFF_createDCtx 2016-06-03 16:36:50 +02:00
Yann Collet fe48775868 minor decoder code refactoring 2016-06-03 15:41:51 +02:00
inikep 2a74609b90 zlibWrapper: ZWRAP_createCCtx and ZWRAP_freeCCtx use custom memory allocation functions 2016-06-03 14:53:51 +02:00
inikep 3763c77f6b defaultCustomNULL replaced with defaultCustomMem 2016-06-03 13:28:20 +02:00
inikep 36fac00149 removed calloc calls from lib/ 2016-06-03 13:23:04 +02:00
inikep db2f540414 added defaultCustomNULL 2016-06-03 12:56:56 +02:00
inikep b74a468fad Merge remote-tracking branch 'refs/remotes/Cyan4973/dev070' into dev070 2016-06-02 22:09:09 +02:00
Yann Collet 923938edde Added `-Wdeclaration-after-statement` compilation flag 2016-06-02 17:56:00 +02:00
inikep ff9114aee3 zlibWrapper: added support for custom memory allocation functions 2016-06-02 16:52:36 +02:00
inikep c4807f4d2f default custom allocation functions moved to zstd_internal.h 2016-06-02 15:11:39 +02:00
inikep 2866951558 opaque parameter for custom memory allocation functions 2016-06-02 13:04:18 +02:00
inikep 9242816b56 fparamsPtr->windowLog==0 means that a frame is skippable 2016-06-01 18:47:04 +02:00
Yann Collet 70d1301d6e Changed `ZSTD_adjustCParams()` prototype
`ZSTD_adjustCParams()` is now automatically invoked at the end of `ZSTD_getCParams()`
2016-06-01 18:45:34 +02:00
Yann Collet 83c3f4427c upgraded zbufftest to also test advanced frame parameters no/checksum no/dictID 2016-06-01 17:44:53 +02:00
inikep 13f42d9085 VS2010 project: reverted zstdlib.rc 2016-06-01 14:44:31 +02:00
inikep 5c2771710d Merge remote-tracking branch 'refs/remotes/Cyan4973/dev070' into dev070
# Conflicts:
#	.gitignore
#	lib/decompress/zstd_decompress.c
#	programs/zbufftest.c
2016-06-01 09:16:11 +02:00
Yann Collet 202844ebd0 fixed zbufftest : 2016-06-01 00:44:36 +02:00
Yann Collet 8e3a36a6db decompression validates frame content checksum 2016-06-01 00:18:28 +02:00
inikep a6b942018d Merge remote-tracking branch 'refs/remotes/origin/dev' into dev070
# Conflicts:
#	.travis.yml
#	Makefile
#	lib/common/zstd_static.h
#	programs/Makefile
#	projects/VS2008/zstd/zstd.vcproj
#	projects/VS2008/zstdlib/zstdlib.vcproj
#	projects/cmake/lib/CMakeLists.txt
#	projects/cmake/programs/CMakeLists.txt
2016-06-01 00:07:09 +02:00
Yann Collet f2a3b6e7b4 added : frame content checksum 2016-05-31 22:23:45 +02:00
inikep 43aa9fe8b3 fixed skippable frame 2016-05-31 19:36:51 +02:00
inikep f772bf54a5 support for skippable frames 2016-05-31 12:43:46 +02:00
Giuseppe Ottaviano 370b751e24 Expose function to add entropy tables to pre-built dictionary.
In some cases a custom dictionary building algorithm tailored for a specific
input can be more effective than the one produced by `ZDICT_trainFromBuffer`,
but with the current API it's not possible encode the entropy tables into the
custom-built dictionary.

This commit extracts the logic to add entropy tables to a dictionary from
`ZDICT_trainFromBuffer` and exposes it as a function
`ZDICT_addEntropyTablesFromBuffer`.
2016-05-30 19:50:09 -07:00
Yann Collet 290aaa7521 Added : ability to manually select the dictionary ID of a newly created dictionary 2016-05-30 21:18:52 +02:00
Yann Collet 30009521d7 fuzzer tests dictBuilder.
Added : ability to not store dictID during compression; decompression doesn't check dictID then
2016-05-30 16:17:33 +02:00
Yann Collet c0a9bf3c2e minor code refactoring 2016-05-30 04:48:32 +02:00
Yann Collet c46fb924df added dictionary ID (incomplete) 2016-05-29 05:01:04 +02:00
Yann Collet f51e0660f4 Simplified list of `*.c` files 2016-05-29 01:39:19 +02:00
Yann Collet 0c5e8b17ad moved xxhash to lib/common 2016-05-29 01:06:30 +02:00
inikep 957823f56f zstdcli: -r (operate recursively on directories) works with dictBuilder and compression 2016-05-25 15:30:55 +02:00
inikep e75909ef93 ZBUFF_createCCtx_advanced moved to zbuff_static.h 2016-05-25 11:31:16 +02:00
inikep 02c244bf78 Merge remote-tracking branch 'refs/remotes/Cyan4973/dev' into dev 2016-05-24 17:15:04 +02:00
inikep fb5df613cf zstd_stats.h included only in debug mode 2016-05-24 15:36:37 +02:00
inikep 71dd67cf57 fullbench: tests for ZBUFF_createCCtx_advanced and ZBUFF_createDCtx_advanced 2016-05-24 10:57:14 +02:00
inikep 13ba880b49 added ZBUFF_createCCtx_advanced and ZBUFF_createDCtx_advanced 2016-05-23 17:04:23 +02:00
inikep 107e243195 added ZSTD_createDCtx_advanced 2016-05-23 16:24:52 +02:00
inikep 50e82c015d added ZSTD_createCCtx_advanced 2016-05-23 15:49:09 +02:00
inikep 35b891c5b0 zstd_stats.h updated to v0.6 2016-05-20 19:42:20 +02:00
Yann Collet f22a0d653d huff0 dynamic reduction 2016-05-20 14:36:36 +02:00
Yann Collet 45f84ab7cc all programs use `ZSTD_VERSION_STRING` from `zstd.h` to display their version 2016-05-20 12:34:40 +02:00
Yann Collet de4d4da52d changed version to 0.6.2
removed make-controlled version (now used from zstd.h)
removed std=c99 by default
added : c90/gno90/c99/gnu99/c11 tests
2016-05-20 12:20:12 +02:00
Yann Collet 7591a7f224 minor refactoring 2016-05-20 11:44:43 +02:00
Yann Collet 236d94fa9a reverted default compression level to 1 2016-05-18 12:06:33 +02:00
Yann Collet 78aa05228a fixed Visual warning in debug mode 2016-05-17 14:30:19 +02:00
Yann Collet c8e9c4046f Merge branch 'dev' of github.com:Cyan4973/zstd into dev 2016-05-17 12:02:35 +02:00
Yann Collet ea4daa308d added `ZSTDv05_getFrameParams()` to "zstd_v05.h" 2016-05-17 12:01:55 +02:00
klemens 268775dae8 spelling-fixes, as of lintian.debian.org 2016-05-16 22:23:24 +02:00
Yann Collet d9b3cca4d3 restore openVMS support (detected by @thatsafunnyname) 2016-05-13 12:43:36 +02:00
inikep 63ecd747de added common/entropy_common.c 2016-05-13 11:27:56 +02:00
Yann Collet ccd6e86d45 improved decoding speed by inlining x_isError() functions 2016-05-12 15:55:26 +02:00
Yann Collet 16871680e3 minor refactor : more accurate variable scope 2016-05-12 14:27:00 +02:00
Yann Collet b19d5d76ec restored inline for better decompression speed 2016-05-12 14:06:31 +02:00
Yann Collet 1ceb5a9295 restored DStream init
due to strange speed regressions and warnins on gcc 5.3
2016-05-12 13:50:13 +02:00
Yann Collet ce27e85209 fixed clang conversion warning 2016-05-11 18:55:27 +02:00
Yann Collet 1032fbe714 update FSE library 2016-05-11 18:30:24 +02:00
Yann Collet 249ae0ca99 better big-endian / little-endian r/w support 2016-05-11 16:38:18 +02:00
Yann Collet 3329d98df9 fixed minor asan warning in legacy decoder 2016-05-11 11:07:54 +02:00
Yann Collet c75e4c25e8 Added : ZSTD_getErrorString(), to get error string from error enum (#168) 2016-05-10 17:47:11 +02:00
Yann Collet b3a9938d0c Merge pull request #182 from inikep/dev
support for Visual Studio 2012, 2013, 2015
2016-05-10 17:18:12 +02:00
Yann Collet bd39d54576 zbuff supports byte-by-byte decompression scenarios 2016-05-10 14:14:19 +02:00
inikep ed9a08538c Merge remote-tracking branch 'refs/remotes/Cyan4973/dev' into dev
# Conflicts:
#	lib/common/util.h
#	programs/paramgrill.c
#	visual/2013/fullbench/fullbench.vcxproj.filters
#	visual/2013/fuzzer/fuzzer.vcxproj.filters
2016-05-10 13:20:01 +02:00
Yann Collet 918b934a26 minor comment update 2016-05-10 07:00:07 +02:00
inikep 349fcf7ea2 fixed Linux compilation 2016-05-09 18:04:07 +02:00
inikep aaaf923a17 common/util.h moved to programs/util.h
decompress/fse_decompress.c moved to common/
2016-05-09 16:19:25 +02:00
inikep d44ec48b1c detection of snprintf for Visual <= 2012 2016-05-09 14:37:41 +02:00
Yann Collet 59b6ba7677 Merge pull request #180 from thatsafunnyname/patch-1
No stdint.h on OpenVMS.
2016-05-09 11:56:42 +02:00
Yann Collet 4ff73a2eff added : midipix support (#181) 2016-05-09 11:44:00 +02:00
Yann Collet d275236e6a Fixed Windows API, as detected by @KrzysFR (#171) 2016-05-09 08:19:27 +02:00
Yann Collet f6ca09b5ff Reduced console display on loading lots of files with `zstd --train`. Reported by @KrzysFR, see #177 2016-05-09 04:44:45 +02:00
Yann Collet e1a69a88c0 Expose Advanced Streaming API for v0.5.x legacy 2016-05-08 09:13:40 +02:00
Yann Collet a5dacdf551 updated fse (minor refactor) 2016-05-06 16:55:27 +02:00
Yann Collet 18dedece91 Support legacy ZSTD_decompress_usingDict() (starting v0.5+) 2016-05-06 16:43:23 +02:00
Yann Collet 8283a2f0aa Fixed decoding corruption error with quad-symbols huffman on legacy decoders 2016-05-06 01:51:31 +02:00
inikep 13c8424ea0 code cleaning 2016-05-05 13:58:56 +02:00
inikep 0bd0faec32 fixed compatibility issues 2016-05-05 13:10:57 +02:00
Yann Collet 6d1d25299a fixed Huff0 quad-symbols decoder (#173) 2016-05-05 12:41:36 +02:00
inikep 9c22e57bfb Compiler Options moved to util.h 2016-05-05 11:53:42 +02:00
Yann Collet ddb8ebd5b3 Stricter gnu90 tests 2016-05-05 04:59:53 +02:00
Yann Collet 3f8ed50bf1 Added gnu90 test
work-around : disabled automatic selection of huff0 quad-decoder (see #173)
2016-05-05 03:01:13 +02:00
inikep 3163403855 UTIL_prepareFileList 2016-05-05 00:25:38 +02:00
thatsafunnyname b0e5427d1a No stdint.h on OpenVMS.
No stdint.h on OpenVMS, it is inttypes.h instead, some projects use HAVE_STDINT_H.
2016-05-04 15:43:42 +01:00
Yann Collet 6f9c056662 Fixed BMI behavior on x86 and x32 targets, reported by @tycho (#178) 2016-05-01 10:26:30 +02:00
inikep 55d047aa92 getTotalFileSize moved to common/util.h 2016-04-28 16:50:13 +02:00
inikep d5ff2c3d9a ordering of #include 2016-04-28 14:40:45 +02:00
inikep 83c76b4594 bench.c: time functions moved to common/util.h 2016-04-28 13:16:01 +02:00
inikep 69fcd7c0ae getFileSize moved to common/util.h 2016-04-28 12:23:33 +02:00
inikep 1007a1fe3d get rid of some Visual C++ warnings 2016-04-25 15:23:09 +02:00
inikep 6cb083fe3d fixed 64-bit compilation with Visual C++ 2016-04-25 14:42:15 +02:00
inikep ea4ee3eee0 added compatibility with Visual C++ 2012 2016-04-25 13:09:06 +02:00
inikep a8138fd767 updated lib/README.md part 2 2016-04-25 11:36:44 +02:00
inikep 49794316c2 updated lib/README.md 2016-04-25 11:31:28 +02:00
inikep f066816998 fix for g++ compilation 2016-04-22 18:54:05 +02:00
inikep db3964382c introduced ZSTD_NODECOMPRESS to link only compressor 2016-04-22 18:22:30 +02:00
inikep a1febea01d Error functions moved to common/zstd_common.c 2016-04-22 17:14:25 +02:00
inikep 3c7c3527d0 introduced ZSTD_NOCOMPRESS to generate decompressor only 2016-04-22 13:59:05 +02:00
inikep 23a0889301 separation of lib/ into common/, compress/, decompress/, dictBuilder/, legacy/ 2016-04-22 12:43:18 +02:00
inikep 4699b3be03 Merge remote-tracking branch 'refs/remotes/Cyan4973/dev' into dev 2016-04-21 12:30:58 +02:00