[package]
edition = "2024"
rust-version = "1.89"
name = "heic"
version = "0.1.2"
build = false
exclude = [
"CLAUDE.md",
"CONTEXT-HANDOFF.md",
"FEEDBACK.md",
"CABAC-DEBUG-HANDOFF.md",
"heaptrack.*",
"examples/batch_test.rs",
"examples/compare_support.rs",
"examples/compare_yuv.rs",
"examples/debug_edges.rs",
"examples/debug_qp.rs",
"examples/decode_trace.rs",
"examples/dump_container.rs",
"examples/dump_hevc.rs",
"examples/extract_hevc.rs",
"examples/test_all.rs",
"tests/compare_reference.rs",
"tests/trace_bad_pixel.rs",
"benches/compare.rs",
".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 = "Pure Rust HEIC/HEIF image decoder with SIMD acceleration"
readme = "README.md"
keywords = [
"heic",
"heif",
"hevc",
"image",
"decoder",
]
categories = [
"multimedia::images",
"parser-implementations",
]
license = "AGPL-3.0-only OR LicenseRef-Imazen-Commercial"
repository = "https://github.com/imazen/heic"
[features]
av1 = [
"std",
"dep:rav1d-safe",
]
default = ["std"]
fallible-alloc = []
parallel = [
"std",
"dep:rayon",
]
std = ["archmage/std"]
unci = ["dep:zenflate"]
zencodec = [
"dep:zencodec",
"dep:zenpixels",
"dep:rgb",
"dep:imgref",
"dep:garb",
"dep:bytemuck",
]
[lib]
name = "heic"
path = "src/lib.rs"
[[example]]
name = "bin_trace_emit"
path = "examples/bin_trace_emit.rs"
[[example]]
name = "decode"
path = "examples/decode.rs"
[[test]]
name = "cabac_bin_compare"
path = "tests/cabac_bin_compare.rs"
[[test]]
name = "compare_libheif"
path = "tests/compare_libheif.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "decode_heic"
path = "tests/decode_heic.rs"
[[test]]
name = "depth_map"
path = "tests/depth_map.rs"
[[test]]
name = "display_order_compare"
path = "tests/display_order_compare.rs"
[[test]]
name = "extract_hevc"
path = "tests/extract_hevc.rs"
[[test]]
name = "fuzz_regression"
path = "tests/fuzz_regression.rs"
[[test]]
name = "gain_map"
path = "tests/gain_map.rs"
[[test]]
name = "image_sequence"
path = "tests/image_sequence.rs"
[[test]]
name = "mc_trace"
path = "tests/mc_trace.rs"
[[test]]
name = "mc_verify"
path = "tests/mc_verify.rs"
[[test]]
name = "merge_a_debug"
path = "tests/merge_a_debug.rs"
[[test]]
name = "parse_testdata"
path = "tests/parse_testdata.rs"
[[test]]
name = "rounding_analysis"
path = "tests/rounding_analysis.rs"
[[test]]
name = "ssim_regression"
path = "tests/ssim_regression.rs"
[[bench]]
name = "decode"
path = "benches/decode.rs"
harness = false
[dependencies.archmage]
version = "0.9.16"
features = ["macros"]
default-features = false
[dependencies.bytemuck]
version = "1.21"
features = ["extern_crate_alloc"]
optional = true
default-features = false
[dependencies.enough]
version = "0.4.3"
[dependencies.garb]
version = "0.2.5"
optional = true
default-features = false
[dependencies.imgref]
version = "1.12.0"
optional = true
[dependencies.magetypes]
version = "0.9.16"
default-features = false
[dependencies.rav1d-safe]
version = "0.5.3"
features = [
"bitdepth_8",
"bitdepth_16",
]
optional = true
default-features = false
[dependencies.rayon]
version = "1.11.0"
optional = true
[dependencies.rgb]
version = "0.8.53"
features = ["as-bytes"]
optional = true
default-features = false
[dependencies.safe_unaligned_simd]
version = "0.2.5"
[dependencies.whereat]
version = "0.1.5"
[dependencies.zencodec]
version = "0.1.13"
optional = true
[dependencies.zenflate]
version = "0.3.4"
optional = true
default-features = false
[dependencies.zenpixels]
version = "0.2.2"
features = [
"rgb",
"imgref",
]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.8.2"
[dev-dependencies.fast-ssim2]
version = "0.8.0"
features = ["imgref"]
[dev-dependencies.imgref]
version = "1.12.0"
[dev-dependencies.png]
version = "0.18.1"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(heic_reference)",
"cfg(fuzzing)",
]
[profile.release]
lto = "thin"
codegen-units = 1