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 | |