[package]
edition = "2018"
rust-version = "1.83.0"
name = "exr"
version = "1.74.2"
authors = ["johannesvollmer <contact@johannesvollmer.com>"]
build = false
exclude = [
"specification/*",
"specification/**",
"tests/images/*",
"tests/images/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Read and write OpenEXR files without any unsafe code"
readme = "README.md"
keywords = [
"exr",
"openexr",
"file",
"binary",
"io",
]
categories = [
"encoding",
"filesystem",
"graphics",
"multimedia",
]
license = "BSD-3-Clause"
repository = "https://github.com/johannesvollmer/exrs"
[badges.maintenance]
status = "actively-developed"
[features]
avx2-tests = []
default = ["rayon"]
rayon = ["dep:rayon-core"]
simd-benches = []
sse2-tests = []
[lib]
name = "exr"
path = "src/lib.rs"
test = true
doctest = true
bench = true
doc = true
proc-macro = false
[[example]]
name = "0a_write_rgba"
path = "examples/0a_write_rgba.rs"
[[example]]
name = "0b_read_meta"
path = "examples/0b_read_meta.rs"
[[example]]
name = "0c_read_rgba"
path = "examples/0c_read_rgba.rs"
[[example]]
name = "1a_write_rgba_with_metadata"
path = "examples/1a_write_rgba_with_metadata.rs"
[[example]]
name = "1b_convert_exr_to_png"
path = "examples/1b_convert_exr_to_png.rs"
[[example]]
name = "2_rgba_adjust_exposure"
path = "examples/2_rgba_adjust_exposure.rs"
[[example]]
name = "3a_write_dynamic_channels_with_metadata"
path = "examples/3a_write_dynamic_channels_with_metadata.rs"
[[example]]
name = "3b_read_all_channels_with_metadata"
path = "examples/3b_read_all_channels_with_metadata.rs"
[[example]]
name = "4a_write_custom_fixed_channels"
path = "examples/4a_write_custom_fixed_channels.rs"
[[example]]
name = "4b_read_custom_fixed_channels"
path = "examples/4b_read_custom_fixed_channels.rs"
[[example]]
name = "5a_write_multiple_layers"
path = "examples/5a_write_multiple_layers.rs"
[[example]]
name = "5b_extract_exr_layers_as_pngs"
path = "examples/5b_extract_exr_layers_as_pngs.rs"
[[example]]
name = "5c_write_mip_maps"
path = "examples/5c_write_mip_maps.rs"
[[example]]
name = "5d_write_legacy_layers"
path = "examples/5d_write_legacy_layers.rs"
[[example]]
name = "6_extract_mip_map_pngs"
path = "examples/6_extract_mip_map_pngs.rs"
[[example]]
name = "7_crop_alpha_any_image"
path = "examples/7_crop_alpha_any_image.rs"
[[example]]
name = "7_crop_alpha_rgba"
path = "examples/7_crop_alpha_rgba.rs"
[[example]]
name = "7_write_raw_blocks"
path = "examples/7_write_raw_blocks.rs"
required-features = ["rayon"]
[[example]]
name = "8_read_raw_blocks"
path = "examples/8_read_raw_blocks.rs"
required-features = ["rayon"]
[[test]]
name = "across_compression"
path = "tests/across_compression.rs"
[[test]]
name = "dev"
path = "tests/dev.rs"
[[test]]
name = "fuzz"
path = "tests/fuzz.rs"
[[test]]
name = "roundtrip"
path = "tests/roundtrip.rs"
[[bench]]
name = "dct"
path = "benches/dct.rs"
harness = false
required-features = ["simd-benches"]
[[bench]]
name = "pixel_format_conversion"
path = "benches/pixel_format_conversion.rs"
harness = false
required-features = ["rayon"]
[[bench]]
name = "profiling"
path = "benches/profiling.rs"
harness = false
required-features = ["rayon"]
[[bench]]
name = "read"
path = "benches/read.rs"
harness = false
required-features = ["rayon"]
[[bench]]
name = "write"
path = "benches/write.rs"
harness = false
required-features = ["rayon"]
[dependencies.bit_field]
version = "^0.10.1"
[dependencies.half]
version = "2.1.0"
[dependencies.lebe]
version = "^0.5.2"
[dependencies.miniz_oxide]
version = "^0.8.0"
[dependencies.num-complex]
version = "0.4.6"
[dependencies.pulp]
version = "0.22.3"
[dependencies.rayon-core]
version = "^1.11.0"
optional = true
[dependencies.smallvec]
version = "^1.7.0"
[dependencies.zune-inflate]
version = "^0.2.3"
features = ["zlib"]
default-features = false
[dev-dependencies.bencher]
version = "0.1.5"
[dev-dependencies.image]
version = "0.25.2"
features = ["png"]
default-features = false
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.rayon]
version = "1.5.3"
[dev-dependencies.walkdir]
version = "2.3.2"
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
debug = 2
debug-assertions = false
overflow-checks = false
[profile.dev]
opt-level = 3
lto = true
debug = 2
debug-assertions = true
overflow-checks = true
incremental = true
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
debug-assertions = false
[profile.test]
opt-level = 3
lto = true
debug = 2
debug-assertions = true
overflow-checks = true
incremental = true