Timofey Solomko
9176d2fa35
[LZ4] Implement block encoding
2021-10-15 22:28:10 +03:00
Timofey Solomko
f6c23987c4
[LZ4] Fix incorrect truncation checks in block decoding
2021-10-15 20:39:28 +03:00
Timofey Solomko
6c063cd522
[LZ4] Fix compilation issues on Swift 5.1-5.3
2021-10-02 18:23:26 +03:00
Timofey Solomko
d5d0abeff2
[LZ4] Implement a no-compression version of LZ4 compression
...
Basically, the frame format with all features has been implemented.
2021-10-02 15:24:11 +03:00
Timofey Solomko
68e46728af
[LZ4] Slightly optimize xxHash32
2021-10-02 13:49:29 +03:00
Timofey Solomko
fc0dfdf43a
[LZ4] Add an empty implementation for compression
2021-10-02 11:22:45 +03:00
Timofey Solomko
ba15f96312
[LZ4] Implement decompression of multiple concatenated frames
2021-10-01 14:41:16 +03:00
Timofey Solomko
8e31f60b10
[LZ4] Check that dictionary is supplied if dictID is present in the frame
2021-09-27 10:46:27 +03:00
Timofey Solomko
4df0d5feb2
[LZ4] Change dictionaryID type to UInt32?
...
This allows us to verify the value on type level, instead of by using the precondition. It is also okay to use UInt32 instead of Int ("currency type"), since this API is supposed to be used by advanced users only.
2021-09-27 10:43:26 +03:00
Timofey Solomko
4bc7d37d7d
[LZ4] Implement dictionary decompression
2021-09-26 19:49:35 +03:00
Timofey Solomko
8f1a1e0517
[Tests] Add tests for LZ4 frames with various block sizes
2021-09-26 15:55:36 +03:00
Timofey Solomko
8e32397e7c
[LZ4] Implement legacy frame processing
2021-09-26 15:18:57 +03:00
Timofey Solomko
d430e939f8
[LZ4] Implement skipping of skippable frames
2021-09-26 14:37:31 +03:00
Timofey Solomko
cfe0416547
[LZ4] Reorganize implementation to support other frame types
2021-09-26 14:24:59 +03:00
Timofey Solomko
cb89e77857
[LZ4] Add truncation checks in block processing
2021-09-26 13:52:34 +03:00
Timofey Solomko
c4946a00a3
[LZ4] Add checks for end of block restrictions
2021-09-26 13:43:47 +03:00
Timofey Solomko
0b2dd279a9
[LZ4] Implement dependent blocks
2021-09-26 13:32:32 +03:00
Timofey Solomko
c6addda952
[LZ4] Implement decoding of independent blocks
2021-09-25 22:56:51 +03:00
Timofey Solomko
39d36a6805
[LZ4] Implement block loop and some checks for truncated data
2021-09-25 21:44:53 +03:00
Timofey Solomko
2daf285539
[LZ4] Implement content checks
2021-09-24 20:55:39 +03:00
Timofey Solomko
a233ec8d08
[LZ4] Skip magic number when computing header checksum
2021-09-24 20:41:39 +03:00
Timofey Solomko
c2278f781f
[LZ4] Fix issues related to data slicing in xxHash32
2021-09-24 20:41:19 +03:00
Timofey Solomko
885d2e3828
[LZ4] Implement xxHash32
2021-09-24 20:04:36 +03:00
Timofey Solomko
c8b4020a9b
[LZ4] Implement Frame Descriptor processing
2021-09-24 18:55:41 +03:00
Timofey Solomko
46590ad631
[LZ4] Add an empty implementation of xxHash-32
2021-09-24 18:55:28 +03:00
Timofey Solomko
de4fcb29cf
[LZ4] Add an empty implementation of LZ4
2021-09-23 21:50:35 +03:00