Tim Schumacher
a1cf2708ee
LibCompress: Implement the XZ BCJ filter for ARM64
2023-12-14 08:59:23 -07:00
Tim Schumacher
25642dfe87
LibCompress: Implement correct validation of last filters
2023-10-29 22:00:59 +01:00
Tim Schumacher
786e654dfd
LibCompress: Implement the XZ delta filter
2023-10-29 22:00:59 +01:00
Tim Schumacher
d4e48db1e1
Tests: Convert LZMA and XZ tests to TRY_OR_FAIL
...
This is very useful for tracking down a breakage without having to add
temporary dbgln manually.
2023-04-09 18:27:06 +02:00
Tim Schumacher
ad31265e60
LibCompress: Implement block size validation for XZ streams
2023-04-01 13:57:54 +02:00
Tim Schumacher
b451964bbc
Tests: Document input of the xz_utils_good_1_block_header_1 test case
2023-04-01 13:57:54 +02:00
Tim Schumacher
fe761a4e9b
LibCompress: Use LZMA context from preexisting dictionary
2023-03-30 14:39:31 +02:00
Tim Schumacher
c020ee8bfa
LibCompress: Avoid overflowing the size of uncompressed LZMA2 chunks
2023-03-30 14:39:31 +02:00
Tim Schumacher
9ccb0fc1d8
LibCompress: Only require new LZMA2 properties after dictionary reset
2023-03-30 14:39:31 +02:00
Tim Schumacher
726963edc7
LibCompress: Implement support for multiple concatenated XZ streams
2023-03-30 14:38:47 +02:00
Tim Schumacher
00332c9b7d
LibCompress: Move XZ header validation into the read function
...
The constructor is now only concerned with creating the required
streams, which means that it no longer fails for XZ streams with
invalid headers. Instead, everything is parsed and validated during the
first read, preparing us for files with multiple streams.
2023-03-30 14:38:47 +02:00
Tim Schumacher
78ed798852
Tests: Add XZ tests from XZ utils
2023-03-21 10:25:13 +01:00