mirror of
https://github.com/aaru-dps/Aaru.Compression.Native.git
synced 2026-07-08 18:06:12 +00:00
d5c1cee932fc7f83462bcdb22341b028a1991d33
- Implemented ace_decompress_v2 and ace_decompress_v20_block functions for handling ACE v2 (blocked) decompression. - Added ace_decompress_lz77 function for ACE v1 (LZ77) decompression. - Updated library.h to declare new decompression functions. - Created unit tests for ACE v1 and v2 decompression, validating output against expected CRC32 checksums. - Included necessary binary test data for ACE v1 and v2 formats. - Refactored library.c to improve include order and reduce redundancy in function definitions.
Aaru.Compression.Native
This repository contains the Aaru.Compression.Native library for Aaru.
The purpose of this library is to provide compression and de-compression algorithms for Aaru.
No archiver processing code should fall here, those go in Aaru.Compression.
To build you just need Docker on Linux and run build.sh, that will generate a NuGet package for use with
Aaru.Compression.
Currently implemented algorithms are:
- Apple Data Compression (RLE with sliding dictionary created for Apple Disk Copy's NDIF)
- Apple RLE (Run Length Encoding created for Apple DART)
- BZIP2
- FLAC
- LZ4
- LZFSE
- LZIP
- LZMA
- Zstandard
Each of these algorithms have a corresponding license, that can be found in their corresponding folder.
The resulting output of build.sh falls under the LGPL 2.1 license as stated in the LICENSE file.
Any new algorithm added should be under a license compatible with the LGPL 2.1 license to be accepted.
© 2021-2026 Natalia Portillo
Languages
C
93.9%
C++
4.8%
CMake
0.8%
Shell
0.5%