[package]
edition = "2024"
rust-version = "1.89"
name = "heic"
version = "0.1.3"
build = false
include = [
"/src/**",
"/tests/**",
"/benches/**",
"/examples/**",
"/README.md",
"/CHANGELOG.md",
"/LICENSE*",
]
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",
"ultrahdr-core?/std",
]
unci = ["dep:zenflate"]
zencodec = [
"dep:zencodec",
"dep:zenpixels",
"dep:rgb",
"dep:imgref",
"dep:garb",
"dep:bytemuck",
"dep:ultrahdr-core",
]
[lib]
name = "heic"
path = "src/lib.rs"
[[example]]
name = "bench_parse_annexb"
path = "examples/bench_parse_annexb.rs"
[[example]]
name = "bin_trace_emit"
path = "examples/bin_trace_emit.rs"
[[example]]
name = "compare_yuv"
path = "examples/compare_yuv.rs"
[[example]]
name = "debug_edges"
path = "examples/debug_edges.rs"
[[example]]
name = "debug_qp"
path = "examples/debug_qp.rs"
[[example]]
name = "decode"
path = "examples/decode.rs"
[[example]]
name = "decode_trace"
path = "examples/decode_trace.rs"
[[example]]
name = "dump_container"
path = "examples/dump_container.rs"
[[example]]
name = "dump_hevc"
path = "examples/dump_hevc.rs"
[[example]]
name = "extract_hevc"
path = "examples/extract_hevc.rs"
[[example]]
name = "test_all"
path = "examples/test_all.rs"
[[test]]
name = "cabac_bin_compare"
path = "tests/cabac_bin_compare.rs"
[[test]]
name = "compare_libheif"
path = "tests/compare_libheif.rs"
[[test]]
name = "compare_reference"
path = "tests/compare_reference.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 = "probe_parity"
path = "tests/probe_parity.rs"
[[test]]
name = "rounding_analysis"
path = "tests/rounding_analysis.rs"
[[test]]
name = "ssim_regression"
path = "tests/ssim_regression.rs"
[[test]]
name = "trace_bad_pixel"
path = "tests/trace_bad_pixel.rs"
[[bench]]
name = "compare"
path = "benches/compare.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.memchr]
version = "2.8.0"
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.ultrahdr-core]
version = "0.4.1"
optional = true
default-features = false
[dependencies.whereat]
version = "0.1.5"
[dependencies.zencodec]
version = "0.1.19"
optional = true
[dependencies.zenflate]
version = "0.3.4"
optional = true
default-features = false
[dependencies.zenpixels]
version = "0.2.7"
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