mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2026-04-06 06:01:06 +00:00
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.
22 lines
652 B
Plaintext
22 lines
652 B
Plaintext
[submodule "tests/lib"]
|
|
path = tests/lib
|
|
url = https://github.com/google/googletest
|
|
[submodule "3rdparty/flac"]
|
|
path = 3rdparty/flac
|
|
url = https://github.com/claunia/flac
|
|
[submodule "3rdparty/uthash"]
|
|
path = 3rdparty/uthash
|
|
url = https://github.com/troydhanson/uthash
|
|
[submodule "3rdparty/slog"]
|
|
path = 3rdparty/slog
|
|
url = https://github.com/kala13x/slog
|
|
[submodule "3rdparty/xxHash"]
|
|
path = 3rdparty/xxHash
|
|
url = https://github.com/Cyan4973/xxHash
|
|
[submodule "3rdparty/BLAKE3"]
|
|
path = 3rdparty/BLAKE3
|
|
url = https://github.com/BLAKE3-team/BLAKE3
|
|
[submodule "3rdparty/zstd"]
|
|
path = 3rdparty/zstd
|
|
url = https://github.com/facebook/zstd.git
|