[package]
edition = "2024"
rust-version = "1.89"
name = "webpx"
version = "0.3.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Complete WebP encoding/decoding with ICC profiles, streaming, and animation support"
readme = "README.md"
keywords = [
"webp",
"image",
"codec",
"icc",
"animation",
]
categories = [
"multimedia::images",
"multimedia::encoding",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/imazen/webpx"
[features]
animation = []
decode = []
default = [
"decode",
"encode",
"std",
]
encode = []
icc = []
std = ["libwebp-sys/std"]
streaming = []
zencodec = [
"dep:zencodec",
"dep:zenpixels",
"decode",
"encode",
"std",
]
[lib]
name = "webpx"
path = "src/lib.rs"
[[example]]
name = "alloc_profile"
path = "examples/alloc_profile.rs"
required-features = [
"animation",
"streaming",
"decode",
"encode",
]
[[example]]
name = "decode_with_limits"
path = "examples/decode_with_limits.rs"
required-features = [
"decode",
"encode",
"animation",
"icc",
]
[[example]]
name = "leak_test"
path = "examples/leak_test.rs"
required-features = [
"encode",
"decode",
"streaming",
"animation",
"icc",
]
[[example]]
name = "mem_formula"
path = "examples/mem_formula.rs"
required-features = [
"encode",
"decode",
]
[[example]]
name = "pixel_api_demo"
path = "examples/pixel_api_demo.rs"
required-features = [
"animation",
"encode",
]
[[example]]
name = "quick_encode"
path = "examples/quick_encode.rs"
required-features = ["encode"]
[[example]]
name = "quick_encode_lossless"
path = "examples/quick_encode_lossless.rs"
required-features = ["encode"]
[[example]]
name = "real_image_test"
path = "examples/real_image_test.rs"
required-features = ["encode"]
[[example]]
name = "wasm_demo"
path = "examples/wasm_demo.rs"
required-features = [
"encode",
"decode",
]
[[example]]
name = "zencodec_swap"
path = "examples/zencodec_swap.rs"
required-features = ["zencodec"]
[[test]]
name = "fuzz_regression"
path = "tests/fuzz_regression.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "soundness"
path = "tests/soundness.rs"
[[test]]
name = "zencodec_integration"
path = "tests/zencodec_integration.rs"
[[bench]]
name = "codec"
path = "benches/codec.rs"
harness = false
required-features = ["animation"]
[[bench]]
name = "profile"
path = "benches/profile.rs"
harness = false
required-features = [
"animation",
"streaming",
]
[dependencies.enough]
version = "0.4.2"
[dependencies.imgref]
version = "1.12.0"
[dependencies.libwebp-sys]
version = "0.14.2"
[dependencies.rgb]
version = "0.8.53"
[dependencies.whereat]
version = "0.1.4"
[dependencies.zencodec]
version = "0.1.13"
optional = true
default-features = false
[dependencies.zenpixels]
version = "0.2.10"
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.8"
features = [
"plotters",
"cargo_bench_support",
]
default-features = false
[dev-dependencies.image]
version = "0.25"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.criterion]
version = "0.8"
features = ["rayon"]