2024-12-19 15:24:07 +00:00
2025-12-23 08:21:08 +00:00
2025-12-23 08:21:08 +00:00
2026-04-15 02:59:40 +01:00
2025-12-23 08:21:08 +00:00
2024-12-19 15:24:27 +00:00
2025-12-26 14:09:26 +01:00
2024-04-30 15:37:29 +01:00
2024-04-30 15:37:29 +01:00
2025-12-23 08:21:08 +00:00
2025-12-23 08:21:08 +00:00
2026-04-15 02:59:40 +01:00
2025-08-23 21:55:21 +01:00
2024-04-30 15:37:29 +01:00
2026-04-15 02:59:40 +01:00
2021-10-14 04:44:34 +01:00
2025-12-23 08:21:08 +00:00

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:

General-purpose codecs

Archive decompressors

  • ACE v1 (LZ77) and v2 (blocked with delta/EXE/sound/picture modes)
  • ARC methods 39 (pack, squeeze, crunch, squash) and PAK methods 1011 (crush, distill)
  • ARJ methods 14 and ARJZ (standard LZH and extended DEFLATE)
  • HA (ASC and HSC)
  • LHA (LH1LH7, LArc LZS/LZ5, PMarc PM1/PM2)
  • RAR 1.5 (custom LZ77 with fixed Huffman tables)
  • RAR 2.0 (block Huffman LZ77 with optional multichannel audio)
  • RAR 3.0 (Huffman LZ77 / PPMd Variant H with VM-based post-filters)
  • RAR 5.0 (Huffman LZ77 with native Delta/E8/E8E9/ARM filters)
  • ZIP methods 16, 9, 9698 (Shrink, Reduce, Implode, Deflate64, WinZip JPEG, WavPack, PPMd)
  • Zoo (LZD, LH5)

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

Description
C library of compression algorithms used by Aaru.
Readme LGPL-2.1 36 MiB
Languages
C 93.9%
C++ 4.8%
CMake 0.8%
Shell 0.5%