| 1 | [package]
|
| 2 | name = "exr"
|
| 3 | description = "Read and write OpenEXR files without any unsafe code"
|
| 4 | keywords = ["exr" , "openexr" , "file" , "binary" , "io" ]
|
| 5 | categories = ["encoding" , "filesystem" , "graphics" , "multimedia" ]
|
| 6 |
|
| 7 | version = "1.73.0"
|
| 8 | edition = "2018"
|
| 9 | authors = ["johannesvollmer <johannes596@t-online.de>" ]
|
| 10 |
|
| 11 | repository = "https://github.com/johannesvollmer/exrs"
|
| 12 | readme = "README.md"
|
| 13 | license = "BSD-3-Clause"
|
| 14 | exclude = [ "specification/*" , "specification/**" , "tests/images/*" , "tests/images/**" ]
|
| 15 | rust-version = "1.61.0"
|
| 16 |
|
| 17 | [badges]
|
| 18 | maintenance = { status = "actively-developed" }
|
| 19 |
|
| 20 | [lib]
|
| 21 | path = "src/lib.rs"
|
| 22 | test = true
|
| 23 | doctest = true
|
| 24 | bench = true
|
| 25 | doc = true
|
| 26 | plugin = false
|
| 27 | proc-macro = false
|
| 28 |
|
| 29 | [dependencies]
|
| 30 | lebe = "^0.5.2" # generic binary serialization
|
| 31 | half = "2.1.0" # 16 bit float pixel data type
|
| 32 | bit_field = "^0.10.1" # exr file version bit flags
|
| 33 | miniz_oxide = "^0.8.0" # zip compression for pxr24
|
| 34 | smallvec = "^1.7.0" # make cache-friendly allocations TODO profile if smallvec is really an improvement!
|
| 35 | rayon-core = "^1.11.0" # threading for parallel compression TODO make this an optional feature?
|
| 36 | zune-inflate = { version = "^0.2.3" , default-features = false, features = ["zlib" ] } # zip decompression, faster than miniz_oxide
|
| 37 |
|
| 38 | [dev-dependencies]
|
| 39 | image = { version = "0.25.2" , default-features = false, features = ["png" ] } # used to convert one exr to some pngs
|
| 40 |
|
| 41 | bencher = "0.1.5"
|
| 42 | walkdir = "2.3.2" # automatically test things for all files in a directory
|
| 43 | rand = "0.8.5" # used for fuzz testing
|
| 44 | rayon = "1.5.3" # run tests for many files in parallel
|
| 45 |
|
| 46 |
|
| 47 | [[bench]]
|
| 48 | name = "read"
|
| 49 | harness = false
|
| 50 |
|
| 51 | [[bench]]
|
| 52 | name = "profiling"
|
| 53 | harness = false
|
| 54 |
|
| 55 | [[bench]]
|
| 56 | name = "write"
|
| 57 | harness = false
|
| 58 |
|
| 59 | [[bench]]
|
| 60 | name = "pixel_format_conversion"
|
| 61 | harness = false
|
| 62 |
|
| 63 |
|
| 64 | # recommended release settings for max runtime performance
|
| 65 | [profile.release]
|
| 66 | opt-level = 3
|
| 67 | lto = true
|
| 68 | debug = false
|
| 69 | debug-assertions = false
|
| 70 | codegen-units = 1
|
| 71 |
|
| 72 | # test with fast runtime speed and slow build speed
|
| 73 | [profile.dev]
|
| 74 | incremental = true
|
| 75 | opt-level = 3
|
| 76 | debug-assertions = true
|
| 77 | overflow-checks = true
|
| 78 | debug = true
|
| 79 | lto = true
|
| 80 |
|
| 81 | # test with fast runtime speed and moderate build speed
|
| 82 | [profile.test]
|
| 83 | incremental = true
|
| 84 | opt-level = 3
|
| 85 | debug-assertions = true
|
| 86 | overflow-checks = true
|
| 87 | debug = true
|
| 88 | lto = true
|
| 89 |
|
| 90 | # bench with fastest runtime speed
|
| 91 | [profile.bench]
|
| 92 | opt-level = 3
|
| 93 | debug-assertions = false
|
| 94 | overflow-checks = false
|
| 95 | lto = true
|
| 96 | debug = true
|
| 97 | codegen-units = 1
|
| 98 | |