[package]
edition = "2024"
rust-version = "1.92"
name = "ultrahdr-core"
version = "0.5.0"
build = false
exclude = [
"CLAUDE.md",
"CONTEXT-HANDOFF.md",
"FEEDBACK.md",
".claude/",
".superwork/",
".zenbench/",
"copter-report/",
".github/",
"Cross.toml",
"justfile",
"Cargo.toml.original.txt",
"fuzz/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core gain map math and metadata for Ultra HDR - no codec dependencies"
readme = "README.md"
keywords = [
"hdr",
"gainmap",
"ultrahdr",
"image",
"no_std",
]
categories = [
"multimedia::images",
"encoding",
"no-std",
]
license = "Apache-2.0"
repository = "https://github.com/imazen/ultrahdr"
resolver = "2"
[features]
default = [
"std",
"tonemap",
]
resize = ["dep:zenresize"]
simd = [
"archmage",
"magetypes",
]
std = [
"enough/std",
"archmage?/std",
"magetypes?/std",
"linear-srgb/std",
"zentone?/std",
]
tonemap = ["dep:zentone"]
[lib]
name = "ultrahdr_core"
path = "src/lib.rs"
[[test]]
name = "reference_parity"
path = "tests/reference_parity.rs"
[[test]]
name = "simd_consistency"
path = "tests/simd_consistency.rs"
[[bench]]
name = "gainmap"
path = "benches/gainmap.rs"
harness = false
[[bench]]
name = "simd_xplat"
path = "benches/simd_xplat.rs"
harness = false
required-features = ["simd"]
[dependencies.archmage]
version = "0.9.16"
features = ["macros"]
optional = true
default-features = false
[dependencies.bytemuck]
version = "1.14"
features = ["derive"]
[dependencies.enough]
version = "0.4"
[dependencies.half]
version = "2.7"
[dependencies.linear-srgb]
version = "0.6.12"
features = ["transfer"]
default-features = false
[dependencies.magetypes]
version = "0.9.16"
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0"
[dependencies.wide]
version = "1.1"
[dependencies.zencodec]
version = "0.1.13"
[dependencies.zenpixels]
version = "0.2.11"
default-features = false
[dependencies.zenresize]
version = "0.2.2"
optional = true
default-features = false
[dependencies.zentone]
version = "0.1.0"
features = ["experimental"]
optional = true
default-features = false
[dev-dependencies]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.8"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.proptest]
version = "1.10"