[go: up one dir, main page]

exr 1.3.0

Read and write OpenEXR files without any unsafe code
Documentation
[package]

name = "exr"

description = "Read and write OpenEXR files without any unsafe code"

keywords = ["exr", "openexr", "file", "binary", "io"]

categories = ["encoding", "filesystem", "graphics", "multimedia"]



version = "1.3.0"

edition = "2018"

authors = ["johannesvollmer <johannes596@t-online.de>"]



repository = "https://github.com/johannesvollmer/exrs"

readme = "README.md"

license-file = "LICENSE.md"

exclude = [ "specification/*", "specification/**", "tests/images/*", "tests/images/**" ]



[badges]

maintenance = { status = "actively-developed" }



[lib]

path = "src/lib.rs"

test = true

doctest = true

bench = true

doc = true

plugin = false

proc-macro = false



[dependencies]

lebe = "0.5.1"                # generic binary serialization

half = "1.7.1"                # 16 bit float pixel data type

bit_field = "0.10.1"          # exr file version bit flags

deflate = "0.9.1"             # DEFLATE compression

inflate = "0.4.5"             # DEFLATE decompression

smallvec = "1.6.1"            # make cache-friendly allocations        TODO profile if smallvec is really an improvement!

threadpool = "1.8.1"          # threading for parallel compression     TODO make this an optional feature?

flume = "0.10.5"              # crossbeam, but less unsafe code        TODO make this an optional feature?



[dev-dependencies]

image = { version = "0.23.14", features = ["png"] }         # used to convert one exr to some pngs



bencher = "0.1.5"

walkdir = "2.3.2"         # automatically test things for all files in a directory

rand = "0.8.3"            # used for fuzz testing

rayon = "1.5.1"           # run tests for many files in parallel





[[bench]]

name = "read"

harness = false



[[bench]]

name = "profiling"

harness = false



[[bench]]

name = "write"

harness = false





# recommended release settings for max runtime performance

[profile.release]

opt-level = 3

lto = true

debug = false

debug-assertions = false

codegen-units = 1



# test with fast runtime speed and slow build speed

[profile.dev]

incremental = true

opt-level = 3

debug-assertions = true

overflow-checks = true

debug = true

lto = true



# test with fast runtime speed and moderate build speed

[profile.test]

incremental = true

opt-level = 3

debug-assertions = true

overflow-checks = true

debug = true

lto = true



# bench with fastest runtime speed

[profile.bench]

opt-level = 3

debug-assertions = false

overflow-checks = false

lto = true

debug = true

codegen-units = 1