mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-14 22:11:38 -06:00
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
This commit is contained in:
@@ -1,8 +1,48 @@
|
||||
|
||||
# Multithreading Library for [LZ4], [LZ5] and [ZStandard]
|
||||
# Multithreading Library for [Brotli], [Lizard], [LZ4], [LZ5] and [ZStandard]
|
||||
|
||||
- this library is used as a threading wrapper for zstd, lz4 and lz5
|
||||
- zstandard has it's own now, maybe I should switch to it
|
||||
- homepage of zstdmt is: https://github.com/mcmilk/zstdmt
|
||||
## Description
|
||||
- works with skippables frame id 0x184D2A50 (12 bytes per compressed frame)
|
||||
- brotli is supported the same way, it will encapsulate the real brotli stream
|
||||
within an 16 byte frame header
|
||||
|
||||
/TR 2017-05-17
|
||||
## Generic skippable frame definition
|
||||
|
||||
- the frame header for [Lizard], [LZ4], [LZ5] and [ZStandard] is like this:
|
||||
|
||||
size | value | description
|
||||
--------|-------------------|------------
|
||||
4 bytes | 0x184D2A50U | magic for skippable frame
|
||||
4 bytes | 4 | size of skippable frame
|
||||
4 bytes | compressed size | size of the following frame (compressed data)
|
||||
|
||||
|
||||
## [Brotli] frame definition
|
||||
|
||||
- the frame header for brotli is defined a bit different:
|
||||
|
||||
size | value | description
|
||||
--------|-------------------|------------
|
||||
4 bytes | 0x184D2A50U | magic for skippable frame (like zstd)
|
||||
4 bytes | 8 | size of skippable frame
|
||||
4 bytes | compressed size | size of the following frame (compressed data)
|
||||
2 bytes | 0x5242U | magic for brotli "BR"
|
||||
2 bytes | uncompressed size | allocation hint for decompressor (64KB * this size)
|
||||
|
||||
|
||||
## Usage of the Testutils
|
||||
- see [programs](https://github.com/mcmilk/zstdmt/tree/master/programs)
|
||||
|
||||
## Usage of the Library
|
||||
|
||||
- see [lib](https://github.com/mcmilk/zstdmt/tree/master/lib)
|
||||
|
||||
|
||||
[Brotli]:https://github.com/google/brotli/
|
||||
[LZ4]:https://github.com/lz4/lz4/
|
||||
[LZ5]:https://github.com/inikep/lz5/
|
||||
[ZStandard]:https://github.com/facebook/zstd/
|
||||
[Lizard]:https://github.com/inikep/lizard/
|
||||
|
||||
|
||||
/TR 2017-05-24
|
||||
|
||||
Reference in New Issue
Block a user