Files
easy7zip/C/zstdmt
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
..
2017-05-28 15:32:22 +02:00
2017-05-21 23:47:30 +02:00
2016-12-26 11:04:47 +01:00
2017-08-14 23:38:52 +02:00
2017-10-31 10:53:17 +01:00

Multithreading Library for Brotli, Lizard, LZ4, LZ5 and Zstandard

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

Generic skippable frame definition

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

Usage of the Library

/TR 2017-05-24