Commit Graph

35 Commits

Author SHA1 Message Date
sebres
fa7e6314cb remove possible mem leak in error cases by brotli compression too 2023-09-27 15:10:39 +02:00
sebres
396505c7d7 remove mem leak in error cases, for example on error by write or if it was cut or by partial extraction (no return without free, done list may contain not processed entries, so library leaks);
+ small code deduplication
2023-09-27 15:06:54 +02:00
sebres
1eca571ea2 .zst, .br: avoid setting of size hint for unknown size by -si, since unpackSize will be supplied as -1 (UINT64_MAX) 2023-09-14 20:02:40 +02:00
sebres
eeae03eaa1 Add options to brotli and implement clean brotli .br support
- allow to specify brotli window size
  - parameter -m0=brotli:long=n, BROTLI_MAX_WINDOW_BITS (24) used by default in brotli-mt, smaller == faster
  - note that :long can be set up to BROTLI_LARGE_MAX_WINDOW_BITS (30), whereas :wlog can be set up to BROTLI_MAX_WINDOW_BITS (24) only...
  - todo: check whether set of BROTLI_PARAM_LARGE_WINDOW to BROTLI_TRUE is needed if (lgwin > BROTLI_MAX_WINDOW_BITS)

- implementation of single-threaded brotli compression / decompression for .br data

Signed-off-by: Sergey G. Brester <info@sebres.de>
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-09-06 17:56:30 +02:00
Tino Reichardt
71a0a67ad6 Fix extracting multiple LZ4 frames 2020-12-19 20:18:53 +01:00
Tino Reichardt
d17138af60 Fix #103 and comments for level and version numbers 2020-04-10 14:44:24 +02:00
Tino Reichardt
26cca533b1 Fix these: #73, #102, #103, #104, #105 and #106 2020-04-10 14:44:18 +02:00
Tino Reichardt
b10fe5514f Modified lz4 code to create a fix for #73
- by default, 7-Zip ZS creates lz4 streams with skippable frames, cause this
  makes parallel decompression possible
- but: sometimes this feature is not needed or wanted
- this patch will skip the writing of the additional frames for lz4, when
  compressing single threaded (-mmt=1)
2019-03-04 20:15:18 +01:00
Tino Reichardt
093cf20bad Use BROTLI_MAX_WINDOW_BITS again. 2018-12-28 23:37:25 +01:00
Tino Reichardt
68f3dcfeb9 Google has even more windowbits then BROTLI_MAX_WINDOW_BITS
- it's the BROTLI_LARGE_MAX_WINDOW_BITS ;)
2018-11-01 18:28:22 +01:00
Tino Reichardt
4a4c2e307d Remove last zstd objects of my zstdmt library 2018-10-29 18:46:10 +01:00
Tino Reichardt
a42c9c1c77 Update Zstandard to v1.3.2 2017-10-31 10:53:17 +01:00
Tino Reichardt
a818384b05 Update Brotli to v1.0.1
- update README.md to the new versions (LZ4, Brotli)
2017-09-28 10:03:40 +02:00
Tino Reichardt
eaee80be81 Fix naming: ZStandard -> Zstandard 2017-08-14 23:38:52 +02:00
Tino Reichardt
871e328367 Rename own zstdmt API functions from ZSTDMT_ to ZSTDCB_ 2017-07-11 21:46:36 +02:00
Tino Reichardt
2cea31c544 add msvc compiling fixes for zstdmt 2017-06-18 14:11:36 +02:00
Tino Reichardt
bfa1f28920 major Lizard fixes
- changed to real Lizard code v1.0 (I used LZ5 v2.0)
- add Lizard file handling, so '.liz' files can be used in windows
- changed CompressDialog (Lizard has 4 entries in the methods now)
- added Lizard icon
2017-05-28 15:32:22 +02:00
Tino Reichardt
5ff0657d9f Major changes, including Brotli and Lizard
- update of zstd-mt library
- add brotli v0.6.0
- add lizard v2.0
- xxhash is from zstd for lz4, lz5 and lizard now
- update also the documentation, where needed
2017-05-25 18:40:15 +02:00
Tino Reichardt
294d7a00dc brotli + zstdmd update 2017-05-21 23:47:30 +02:00
Tino Reichardt
715225a73e documentation: rename Methods.txt to Methods.md
- so the markdown is nice viewable with browsers
2017-05-19 21:17:26 +02:00
Tino Reichardt
9e94cf8abf fix spelling in README.md of zstdmt 2017-05-18 11:43:49 +02:00
Tino Reichardt
b401d31c41 change Registry Usage nearly complete to 7-Zip-ZStandard key 2017-05-18 11:36:45 +02:00
Tino Reichardt
95e71d900b fix pointer initialization and minor changes to README of zstdmt 2017-05-17 12:13:36 +02:00
Aras Pranckevicius
02cd03845b Fix variable shadowing warnings-as-errors when building with VS2015 2017-04-11 10:26:40 +03:00
Tino Reichardt
e8f0206665 LZ4 has only 12 levels now 2017-02-06 21:21:36 +01:00
Tino Reichardt
f4f2729f08 fixed multiple returning when doing mt compressing/decompressing 2016-12-30 17:48:12 +01:00
Tino Reichardt
b351c1a3fb some minor fixes
- version number was 1.1.0 instead of 1.1.2
- renamed mem.h to fix compiling the windows binaries
- changes (rv < 0) to (rv != 0)
2016-12-26 11:04:47 +01:00
Tino Reichardt
e123752e09 remove zero frame in start of compressed data
- pzstd does the same and future frameformat definition will be adjusted
2016-12-24 13:31:47 +01:00
Tino Reichardt
294d1ece66 Update lz4, lz5 and zstd to latest stable series
- added some more error checking in zstdmt also
2016-12-24 12:17:51 +01:00
Tino Reichardt
4c28e3fa11 add E_ABORT detection
- lz4 and lz5 are not finished...
2016-11-20 16:42:13 +01:00
Tino Reichardt
94b2bf5dec update lz4, lz5 and some fixes in zstdmt 2016-11-20 16:30:46 +01:00
Tino Reichardt
76387f73bc geändert: lz4mt_common.c
geändert:       lz5mt_common.c
2016-10-18 11:53:07 +02:00
Tino Reichardt
250a5e31e8 geändert: zstdmt_common.c 2016-10-18 11:45:15 +02:00
Tino Reichardt
5a3244dd01 ms vc compat... 2016-10-18 11:43:19 +02:00
Tino Reichardt
58069903d0 merge multi threading to master branch
- updated zstd to latest devel release
- lz4, lz5 and zstd is included now
- all three support threading
2016-10-16 23:38:46 +02:00