Tim Schumacher
a2f60911fe
AK: Rename GenericTraits to DefaultTraits
...
This feels like a more fitting name for something that provides the
default values for Traits.
2023-11-09 10:05:51 -05:00
Tim Schumacher
9e82ad758e
AK: Move parts for searching CircularBuffer into a new class
...
We will be adding extra logic to the CircularBuffer to optimize
searching, but this would negatively impact the performance of
CircularBuffer users that don't need that functionality.
2023-07-06 15:06:20 +01:00
Tim Schumacher
d4b0e64825
LibCompress: Move two shared LZMA magic numbers into a common place
2023-05-19 23:40:33 +02:00
Tim Schumacher
a01968ee6d
LibCompress: Handle arbitrarily long FF-chains in the LZMA encoder
2023-05-19 23:40:33 +02:00
Tim Schumacher
85a54cc796
LibCompress: Add an LZMA encoder
2023-05-17 09:08:53 +02:00
Tim Schumacher
42514c6961
LibCompress: Decode the LZMA match type in a separate function
...
This should keep the `read_some` function a bit flatter and shorter, and
make it easier to match the match type decoding process with the
specification.
2023-05-17 09:08:53 +02:00
Tim Schumacher
4a37bac374
LibCompress: Make LzmaHeader a POD-like type
...
This allows us to initialize the struct using an aggregate initializer.
2023-05-17 09:08:53 +02:00
Tim Schumacher
440d8f908f
LibCompress: Extract the LZMA state to a separate class
...
We will also need this in the compressor, as it needs to do the exact
same calculations in reverse.
2023-05-17 09:08:53 +02:00
Tim Schumacher
023c64011c
LibCompress: Use the correct LZMA repetition offset in all cases
2023-03-30 14:39:31 +02:00
Tim Schumacher
8ff36e5910
LibCompress: Implement proper handling of LZMA end-of-stream markers
2023-03-30 08:45:35 +02:00
Tim Schumacher
b6f3b2f116
LibCompress: Move common LZMA end-of-file checks into helper functions
2023-03-30 08:45:35 +02:00
Tim Schumacher
1b8318ab67
LibCompress: Allow providing an external dictionary for LZMA
...
While at it, rename the former "output buffer" to "dictionary", since
that's its primary function.
2023-03-21 10:25:13 +01:00
Tim Schumacher
f4506a3a72
LibCompress: Allow appending input streams to an existing LZMA decoder
2023-03-21 10:25:13 +01:00
Tim Schumacher
04f69de7f1
LibCompress: Refactor LZMA model property decoding into a static helper
2023-03-21 10:25:13 +01:00
Tim Schumacher
b3a9729e23
LibCompress: Add support for LZMA streams
2023-03-20 12:15:38 +02:00