image 0.25.5

Imaging library. Provides basic image processing and encoders/decoders for common image formats.
Documentation
[package]
name = "image"
version = "0.25.5"
edition = "2021"
resolver = "2"

# note: when changed, also update test runner in `.github/workflows/rust.yml`
rust-version = "1.70.0"

license = "MIT OR Apache-2.0"
description = "Imaging library. Provides basic image processing and encoders/decoders for common image formats."
authors = ["The image-rs Developers"]
readme = "README.md"

# crates.io metadata
documentation = "https://docs.rs/image"
repository = "https://github.com/image-rs/image"
homepage = "https://github.com/image-rs/image"
categories = ["multimedia::images", "multimedia::encoding", "encoding"]

# Crate build related
exclude = ["src/png/testdata/*", "examples/*", "tests/*"]

include = [
    "/LICENSE-APACHE",
    "/LICENSE-MIT",
    "/README.md",
    "/CHANGES.md",
    "/src/",
    "/benches/",
]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
bytemuck = { version = "1.8.0", features = ["extern_crate_alloc"] } # includes cast_vec
byteorder-lite = "0.1.0"
num-traits = { version = "0.2.0" }

# Optional dependencies
color_quant = { version = "1.1", optional = true }
dav1d = { version = "0.10.3", optional = true }
exr = { version = "1.5.0", optional = true }
gif = { version = "0.13", optional = true }
image-webp = { version = "0.2.0", optional = true }
mp4parse = { version = "0.17.0", optional = true }
png = { version = "0.17.6", optional = true }
qoi = { version = "0.4", optional = true }
ravif = { version = "0.11.11", default-features = false, optional = true }
rayon = { version = "1.7.0", optional = true }
rgb = { version = "0.8.48", default-features = false, optional = true }
tiff = { version = "0.9.0", optional = true }
zune-core = { version = "0.4.12", default-features = false, optional = true }
zune-jpeg = { version = "0.4.13", optional = true }
serde = { version = "1.0.214", optional = true, features = ["derive"] }

[dev-dependencies]
crc32fast = "1.2.0"
num-complex = "0.4"
glob = "0.3"
quickcheck = "1"
criterion = "0.5.0"

[features]
default = ["rayon", "default-formats"]

# Format features
default-formats = ["avif", "bmp", "dds", "exr", "ff", "gif", "hdr", "ico", "jpeg", "png", "pnm", "qoi", "tga", "tiff", "webp"]
avif = ["dep:ravif", "dep:rgb"]
bmp = []
dds = []
exr = ["dep:exr"]
ff = [] # Farbfeld image format
gif = ["dep:gif", "dep:color_quant"]
hdr = []
ico = ["bmp", "png"]
jpeg = ["dep:zune-core", "dep:zune-jpeg"]
png = ["dep:png"]
pnm = []
qoi = ["dep:qoi"]
tga = []
tiff = ["dep:tiff"]
webp = ["dep:image-webp"]

# Other features
rayon = ["dep:rayon", "ravif?/threading"] # Enables multi-threading
nasm = ["ravif?/asm"] # Enables use of nasm by rav1e (requires nasm to be installed)
color_quant = ["dep:color_quant"] # Enables color quantization
avif-native = ["dep:mp4parse", "dep:dav1d"] # Enable native dependency libdav1d
benchmarks = [] # Build some inline benchmarks. Useful only during development (requires nightly Rust)
serde = ["dep:serde"]

[[bench]]
path = "benches/decode.rs"
name = "decode"
harness = false

[[bench]]
path = "benches/encode.rs"
name = "encode"
harness = false

[[bench]]
name = "copy_from"
harness = false

[[bench]]
path = "benches/fast_blur.rs"
name = "fast_blur"
harness = false

[[bench]]
path = "benches/blur.rs"
name = "blur"
harness = false