Use zrip-decode crate instead of ruzstd

This commit is contained in:
Sergey "Shnatsel" Davidoff committed 2026-06-27 12:47:51 +01:00
1 parent 19caae4f53
commit c0043c1a84
2 files changed
+4 -7

No files matched your search

+3 -3
View File
@@ -25,7 +25,7 @@ fax34 = { package = "fax", version = "0.2.6", optional = true }
flate2 = { version = "1.0.20", optional = true } flate2 = { version = "1.0.20", optional = true }
weezl = { version = "0.1.10", optional = true } weezl = { version = "0.1.10", optional = true }
zstd = { version = "0.13", optional = true } zstd = { version = "0.13", optional = true }
ruzstd = { version = "0.8.2", optional = true } zrip-decode = { version = "0.7.0", features = ["paranoid"], optional = true }
zune-jpeg = { version = "0.5.1", optional = true } zune-jpeg = { version = "0.5.1", optional = true }
image-webp = {version = "0.2.4", optional = true } image-webp = {version = "0.2.4", optional = true }
@@ -46,9 +46,9 @@ jpeg = ["dep:zune-jpeg"]
lzw = ["dep:weezl"] lzw = ["dep:weezl"]
webp = ["dep:image-webp"] webp = ["dep:image-webp"]
zstd = ["dep:zstd"] zstd = ["dep:zstd"]
# Fully safe Rust but much slower Zstd decoding. # Fully safe Rust but somewhat slower Zstd decoding.
# When both zstd and zstd-safe-rust are enabled, zstd takes precedence. # When both zstd and zstd-safe-rust are enabled, zstd takes precedence.
zstd-safe-rust = ["dep:ruzstd"] zstd-safe-rust = ["dep:zrip-decode"]
[[bench]] [[bench]]
name = "lzw" name = "lzw"
+1 -4
View File
@@ -660,10 +660,7 @@ impl Image {
#[cfg(feature = "zstd")] #[cfg(feature = "zstd")]
CompressionMethod::ZSTD => Box::new(zstd::Decoder::new(reader)?), CompressionMethod::ZSTD => Box::new(zstd::Decoder::new(reader)?),
#[cfg(all(not(feature = "zstd"), feature = "zstd-safe-rust"))] #[cfg(all(not(feature = "zstd"), feature = "zstd-safe-rust"))]
CompressionMethod::ZSTD => Box::new( CompressionMethod::ZSTD => Box::new(zrip_decode::streaming::FrameDecoder::new(reader)),
ruzstd::decoding::StreamingDecoder::new(reader)
.map_err(|e| std::io::Error::other(e))?,
),
CompressionMethod::PackBits => Box::new(PackBitsReader::new(reader, compressed_length)), CompressionMethod::PackBits => Box::new(PackBitsReader::new(reader, compressed_length)),
#[cfg(feature = "deflate")] #[cfg(feature = "deflate")]
CompressionMethod::Deflate | CompressionMethod::OldDeflate => { CompressionMethod::Deflate | CompressionMethod::OldDeflate => {