Files
libaaruformat/include/aaruformat
Kevin Bortis 6be36b6bda Add Zstandard compression support
Implements zstd as an alternative to LZMA for data block and
subchannel compression using the allocated compression IDs 4
(kCompressionZstd) and 5 (kCompressionZstdCst).

Adds zstd v1.5.7 as a bundled submodule with a static library
build including x86_64 assembly fast path for decompression.

Write path selects zstd or LZMA based on the zstd option.
Subchannel blocks use zstd+CST instead of LZMA+CST when enabled.
LZMA properties header is only written for LZMA-based compression
types, preventing format corruption in zstd-compressed images.

Activated via options string: "zstd=true;zstd_level=19".
Default remains LZMA for backwards compatibility.

Tested: SHA-256 verified lossless roundtrips across 9 disc systems
(Dreamcast, Saturn, Mega CD, PC Engine CD, Neo Geo CD, PS1, PS2 CD,
PS2 DVD) and PS1 SBI subchannel preservation with zstd+CST.
2026-03-19 08:45:07 +01:00
..
2026-03-19 08:45:07 +01:00
2026-03-19 08:45:07 +01:00
2025-12-23 08:23:40 +00:00
2026-03-19 08:45:07 +01:00
2025-12-23 08:23:40 +00:00
2026-03-19 08:45:07 +01:00
2025-12-23 08:23:40 +00:00
2025-12-23 08:23:40 +00:00
2025-12-23 08:23:40 +00:00
2025-12-23 08:23:40 +00:00
2026-01-01 13:35:43 +01:00