diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures
index 323d2c0d..ac7e9095 100644
a
|
b
|
if [ IsPackageAvailable tiff4_devel ] {
|
566 | 566 | |
567 | 567 | |
568 | 568 | # openexr |
569 | | if [ IsPackageAvailable openexr_devel ] { |
| 569 | if [ IsPackageAvailable openexr3.2_devel ] { |
570 | 570 | ExtractBuildFeatureArchives openexr : |
571 | | file: base openexr |
| 571 | file: base openexr3.2 |
572 | 572 | runtime: lib |
573 | | file: devel openexr_devel |
| 573 | file: devel openexr3.2_devel |
574 | 574 | depends: base |
575 | 575 | libraries: |
576 | | $(developLibDir)/libIlmImf.so |
577 | | $(developLibDir)/libIlmImfUtil.so |
578 | | $(developLibDir)/libHalf.so |
579 | 576 | $(developLibDir)/libIex.so |
580 | | $(developLibDir)/libIexMath.so |
581 | 577 | $(developLibDir)/libIlmThread.so |
582 | 578 | $(developLibDir)/libImath.so |
583 | | headers: $(developHeadersDir) $(developHeadersDir)/OpenEXR |
| 579 | $(developLibDir)/libOpenEXR.so |
| 580 | $(developLibDir)/libOpenEXRUtil.so |
| 581 | headers: $(developHeadersDir) $(developHeadersDir)/OpenEXR $(developHeadersDir)/Imath |
584 | 582 | ; |
585 | 583 | |
586 | 584 | EnableBuildFeatures openexr ; |
diff --git a/build/jam/repositories/HaikuPorts/x86_64 b/build/jam/repositories/HaikuPorts/x86_64
index b81791a9..63b74489 100644
a
|
b
|
RemotePackageRepository HaikuPorts
|
47 | 47 | bepdf-2.1.4-6 |
48 | 48 | binutils-2.31.1-2 |
49 | 49 | bison-3.8.2-1 |
50 | | brotli-1.0.9-4 |
| 50 | brotli-1.1.0-1 |
51 | 51 | bzip2-1.0.8-3 |
52 | 52 | bzip2_devel-1.0.8-3 |
53 | 53 | cdrtools-3.02~a09-2 |
… |
… |
RemotePackageRepository HaikuPorts
|
125 | 125 | libavif1.0_devel-1.0.4-1 |
126 | 126 | libbluray-1.3.1-2 |
127 | 127 | libbluray_devel-1.3.1-2 |
| 128 | libdeflate-1.18-1 |
128 | 129 | libdvdnav-6.1.1-2 |
129 | 130 | libdvdnav_devel-6.1.1-2 |
130 | 131 | libdvdread-6.1.3-1 |
… |
… |
RemotePackageRepository HaikuPorts
|
141 | 142 | libidn2-2.0.5-3 |
142 | 143 | libjpeg_turbo-2.1.4-2 |
143 | 144 | libjpeg_turbo_devel-2.1.4-2 |
144 | | libjxl-0.6.1-4 |
| 145 | libjxl-0.6.1-5 |
145 | 146 | libmodplug-0.8.9.0-2 |
146 | 147 | libogg-1.3.5-2 |
147 | 148 | libogg_devel-1.3.5-2 |
… |
… |
RemotePackageRepository HaikuPorts
|
200 | 201 | nghttp2_devel-1.43.0-1 |
201 | 202 | openexr-2.4.1-1 |
202 | 203 | openexr_devel-2.4.1-1 |
203 | | openexr30-3.0.5-1 |
| 204 | openexr3.2-3.2.4-1 |
| 205 | openexr3.2_devel-3.2.4-1 |
204 | 206 | openjpeg-2.4.0-2 |
205 | 207 | openjpeg_devel-2.4.0-2 |
206 | 208 | openssh-9.3p1-1 |
… |
… |
RemotePackageRepository HaikuPorts
|
355 | 357 | nettle |
356 | 358 | nghttp2 |
357 | 359 | openexr |
358 | | openexr30 |
| 360 | openexr3.2 |
359 | 361 | openjpeg |
360 | 362 | openssh |
361 | 363 | openssl |
diff --git a/src/add-ons/translators/exr/EXRGamma.cpp b/src/add-ons/translators/exr/EXRGamma.cpp
index cd5384fd..33516c1e 100644
a
|
b
|
using namespace std;
|
16 | 16 | float |
17 | 17 | knee(double x, double f) |
18 | 18 | { |
19 | | return float (Imath::Math<double>::log (x * f + 1) / f); |
| 19 | return float (log (x * f + 1) / f); |
20 | 20 | } |
21 | 21 | |
22 | 22 | |
… |
… |
Gamma::Gamma(float gamma,
|
54 | 54 | float kneeHigh) |
55 | 55 | : |
56 | 56 | g (gamma), |
57 | | m (Imath::Math<float>::pow(2, exposure + 2.47393)), |
| 57 | m (pow(2, exposure + 2.47393)), |
58 | 58 | d (defog), |
59 | | kl (Imath::Math<float>::pow(2, kneeLow)), |
60 | | f (findKneeF (Imath::Math<float>::pow(2, kneeHigh) - kl, |
61 | | Imath::Math<float>::pow(2, 3.5) - kl)), |
62 | | s (255.0 * Imath::Math<float>::pow(2, -3.5 * g)) |
| 59 | kl (pow(2, kneeLow)), |
| 60 | f (findKneeF (pow(2, kneeHigh) - kl, |
| 61 | pow(2, 3.5) - kl)), |
| 62 | s (255.0 * pow(2, -3.5 * g)) |
63 | 63 | { |
64 | 64 | } |
65 | 65 | |
… |
… |
Gamma::operator() (half h)
|
90 | 90 | // Gamma |
91 | 91 | // |
92 | 92 | |
93 | | x = Imath::Math<float>::pow (x, g); |
| 93 | x = pow (x, g); |
94 | 94 | |
95 | 95 | // |
96 | 96 | // Scale and clamp |
diff --git a/src/add-ons/translators/exr/IStreamWrapper.cpp b/src/add-ons/translators/exr/IStreamWrapper.cpp
index 137e13c8..a06c31d0 100644
a
|
b
|
IStreamWrapper::read(char c[/*n*/], int n)
|
29 | 29 | } |
30 | 30 | |
31 | 31 | |
32 | | Int64 |
| 32 | uint64_t |
33 | 33 | IStreamWrapper::tellg() |
34 | 34 | { |
35 | 35 | return fStream.Position(); |
… |
… |
IStreamWrapper::tellg()
|
37 | 37 | |
38 | 38 | |
39 | 39 | void |
40 | | IStreamWrapper::seekg(Int64 pos) |
| 40 | IStreamWrapper::seekg(uint64_t pos) |
41 | 41 | { |
42 | 42 | fStream.Seek(pos, SEEK_SET); |
43 | 43 | } |
diff --git a/src/add-ons/translators/exr/IStreamWrapper.h b/src/add-ons/translators/exr/IStreamWrapper.h
index be2abbda..f13d93b9 100644
a
|
b
|
class IStreamWrapper : public IStream {
|
18 | 18 | virtual ~IStreamWrapper(); |
19 | 19 | |
20 | 20 | virtual bool read(char c[/*n*/], int n); |
21 | | virtual Int64 tellg(); |
22 | | virtual void seekg(Int64 pos); |
| 21 | virtual uint64_t tellg(); |
| 22 | virtual void seekg(uint64_t pos); |
23 | 23 | |
24 | 24 | private: |
25 | 25 | StreamBuffer fStream; |
diff --git a/src/data/package_infos/generic/haiku_datatranslators b/src/data/package_infos/generic/haiku_datatranslators
index b345a4f3..b790e155 100644
a
|
b
|
requires {
|
33 | 33 | lib:libilmimf |
34 | 34 | lib:libilmimfutil |
35 | 35 | #else |
36 | | lib:libilmimf_2_4 |
37 | | lib:libilmimfutil_2_4 |
| 36 | lib:libOpenEXR_3_2 |
38 | 37 | #endif |
39 | 38 | #endif |
40 | 39 | #ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_jasper_ENABLED |