OpenEXR 3.3.13__tar.gz → 3.3.15__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (970) hide show
  1. {openexr-3.3.13 → openexr-3.3.15}/CHANGES.md +63 -0
  2. {openexr-3.3.13 → openexr-3.3.15}/PKG-INFO +1 -1
  3. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfContext.cpp +9 -1
  4. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledOutputFile.cpp +7 -4
  5. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIDManifest.cpp +41 -3
  6. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_b44.c +13 -4
  7. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa_compressor.h +14 -1
  8. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa_decoder.h +17 -11
  9. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_structs.c +35 -13
  10. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_structs.h +2 -0
  11. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_util.h +22 -0
  12. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_version.h +1 -1
  13. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/parse_header.c +17 -16
  14. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/part_attr.c +23 -2
  15. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/validation.c +17 -0
  16. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/write.cpp +80 -0
  17. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepTiledBasic.cpp +205 -0
  18. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testHeader.cpp +60 -2
  19. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/PyOpenEXR.cpp +22 -2
  20. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/PyOpenEXR_old.cpp +11 -2
  21. openexr-3.3.15/src/wrappers/python/tests/multipart.exr +0 -0
  22. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_rgba.py +30 -0
  23. {openexr-3.3.13 → openexr-3.3.15}/.bazelrc +0 -0
  24. {openexr-3.3.13 → openexr-3.3.15}/.bazelversion +0 -0
  25. {openexr-3.3.13 → openexr-3.3.15}/.clang-format +0 -0
  26. {openexr-3.3.13 → openexr-3.3.15}/.git-blame-ignore-revs +0 -0
  27. {openexr-3.3.13 → openexr-3.3.15}/.gitignore +0 -0
  28. {openexr-3.3.13 → openexr-3.3.15}/.mailmap +0 -0
  29. {openexr-3.3.13 → openexr-3.3.15}/.readthedocs.yml +0 -0
  30. {openexr-3.3.13 → openexr-3.3.15}/BUILD.bazel +0 -0
  31. {openexr-3.3.13 → openexr-3.3.15}/CMakeLists.txt +0 -0
  32. {openexr-3.3.13 → openexr-3.3.15}/CMakePresets.json +0 -0
  33. {openexr-3.3.13 → openexr-3.3.15}/CODEOWNERS +0 -0
  34. {openexr-3.3.13 → openexr-3.3.15}/CODE_OF_CONDUCT.md +0 -0
  35. {openexr-3.3.13 → openexr-3.3.15}/CONTRIBUTING.md +0 -0
  36. {openexr-3.3.13 → openexr-3.3.15}/CONTRIBUTORS.md +0 -0
  37. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/AUTHORS +0 -0
  38. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/ChangeLog +0 -0
  39. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/DtexToExr.cpp +0 -0
  40. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/Makefile.test +0 -0
  41. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxBaseDeepHelper.h +0 -0
  42. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxDeepOutPixel.h +0 -0
  43. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxDeepOutRow.h +0 -0
  44. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxDeepUtils.cpp +0 -0
  45. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxDeepUtils.h +0 -0
  46. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxFourChanDeepRgba.h +0 -0
  47. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxOneChanDeepAlpha.h +0 -0
  48. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/PxOneChanDeepOpacity.h +0 -0
  49. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/README +0 -0
  50. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/bootstrap +0 -0
  51. {openexr-3.3.13 → openexr-3.3.15}/Contrib/DtexToExr/configure.ac +0 -0
  52. {openexr-3.3.13 → openexr-3.3.15}/Contrib/NuGet/OpenEXR-msvc-x64-build.nuget.bat +0 -0
  53. {openexr-3.3.13 → openexr-3.3.15}/Contrib/NuGet/OpenEXR-msvc-x64.nuspec +0 -0
  54. {openexr-3.3.13 → openexr-3.3.15}/Contrib/NuGet/OpenEXR-msvc-x64.targets +0 -0
  55. {openexr-3.3.13 → openexr-3.3.15}/Contrib/NuGet/OpenEXR-msvc-x86-build.nuget.bat +0 -0
  56. {openexr-3.3.13 → openexr-3.3.15}/Contrib/NuGet/OpenEXR-msvc-x86.nuspec +0 -0
  57. {openexr-3.3.13 → openexr-3.3.15}/Contrib/NuGet/OpenEXR-msvc-x86.targets +0 -0
  58. {openexr-3.3.13 → openexr-3.3.15}/GOVERNANCE.md +0 -0
  59. {openexr-3.3.13 → openexr-3.3.15}/LICENSE.md +0 -0
  60. {openexr-3.3.13 → openexr-3.3.15}/MODULE.bazel +0 -0
  61. {openexr-3.3.13 → openexr-3.3.15}/PATENTS +0 -0
  62. {openexr-3.3.13 → openexr-3.3.15}/README.md +0 -0
  63. {openexr-3.3.13 → openexr-3.3.15}/SECURITY.md +0 -0
  64. {openexr-3.3.13 → openexr-3.3.15}/WORKSPACE.bazel +0 -0
  65. {openexr-3.3.13 → openexr-3.3.15}/cmake/CMakeLists.txt +0 -0
  66. {openexr-3.3.13 → openexr-3.3.15}/cmake/FindPythonPackage.cmake +0 -0
  67. {openexr-3.3.13 → openexr-3.3.15}/cmake/FindSphinx.cmake +0 -0
  68. {openexr-3.3.13 → openexr-3.3.15}/cmake/IexConfig.h.in +0 -0
  69. {openexr-3.3.13 → openexr-3.3.15}/cmake/IexConfigInternal.h.in +0 -0
  70. {openexr-3.3.13 → openexr-3.3.15}/cmake/IlmThreadConfig.h.in +0 -0
  71. {openexr-3.3.13 → openexr-3.3.15}/cmake/JoinPaths.cmake +0 -0
  72. {openexr-3.3.13 → openexr-3.3.15}/cmake/LibraryDefine.cmake +0 -0
  73. {openexr-3.3.13 → openexr-3.3.15}/cmake/OpenEXR.pc.in +0 -0
  74. {openexr-3.3.13 → openexr-3.3.15}/cmake/OpenEXRConfig.cmake.in +0 -0
  75. {openexr-3.3.13 → openexr-3.3.15}/cmake/OpenEXRConfig.h.in +0 -0
  76. {openexr-3.3.13 → openexr-3.3.15}/cmake/OpenEXRConfigInternal.h.in +0 -0
  77. {openexr-3.3.13 → openexr-3.3.15}/cmake/OpenEXRLibraryDefine.cmake +0 -0
  78. {openexr-3.3.13 → openexr-3.3.15}/cmake/OpenEXRSetup.cmake +0 -0
  79. {openexr-3.3.13 → openexr-3.3.15}/cmake/SampleCTestScript.cmake +0 -0
  80. {openexr-3.3.13 → openexr-3.3.15}/cmake/Toolchain-Linux-VFX_Platform15.cmake +0 -0
  81. {openexr-3.3.13 → openexr-3.3.15}/cmake/Toolchain-mingw.cmake +0 -0
  82. {openexr-3.3.13 → openexr-3.3.15}/cmake/clang-format.cmake +0 -0
  83. {openexr-3.3.13 → openexr-3.3.15}/cmake/cmake_uninstall.cmake.in +0 -0
  84. {openexr-3.3.13 → openexr-3.3.15}/docs/CMakeLists.txt +0 -0
  85. {openexr-3.3.13 → openexr-3.3.15}/pyproject.toml +0 -0
  86. {openexr-3.3.13 → openexr-3.3.15}/sonar-project.properties +0 -0
  87. {openexr-3.3.13 → openexr-3.3.15}/src/bin/CMakeLists.txt +0 -0
  88. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exr2aces/CMakeLists.txt +0 -0
  89. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exr2aces/main.cpp +0 -0
  90. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrcheck/CMakeLists.txt +0 -0
  91. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrcheck/main.cpp +0 -0
  92. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/CMakeLists.txt +0 -0
  93. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/EnvmapImage.cpp +0 -0
  94. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/EnvmapImage.h +0 -0
  95. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/blurImage.cpp +0 -0
  96. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/blurImage.h +0 -0
  97. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/main.cpp +0 -0
  98. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/makeCubeMap.cpp +0 -0
  99. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/makeCubeMap.h +0 -0
  100. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/makeLatLongMap.cpp +0 -0
  101. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/makeLatLongMap.h +0 -0
  102. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/namespaceAlias.h +0 -0
  103. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/readInputImage.cpp +0 -0
  104. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/readInputImage.h +0 -0
  105. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/resizeImage.cpp +0 -0
  106. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrenvmap/resizeImage.h +0 -0
  107. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrheader/CMakeLists.txt +0 -0
  108. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrheader/main.cpp +0 -0
  109. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrinfo/CMakeLists.txt +0 -0
  110. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrinfo/main.c +0 -0
  111. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmakepreview/CMakeLists.txt +0 -0
  112. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmakepreview/main.cpp +0 -0
  113. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmakepreview/makePreview.cpp +0 -0
  114. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmakepreview/makePreview.h +0 -0
  115. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmaketiled/CMakeLists.txt +0 -0
  116. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmaketiled/Image.cpp +0 -0
  117. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmaketiled/Image.h +0 -0
  118. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmaketiled/main.cpp +0 -0
  119. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmaketiled/makeTiled.cpp +0 -0
  120. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmaketiled/makeTiled.h +0 -0
  121. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmaketiled/namespaceAlias.h +0 -0
  122. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmanifest/CMakeLists.txt +0 -0
  123. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmanifest/main.cpp +0 -0
  124. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmetrics/CMakeLists.txt +0 -0
  125. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmetrics/exrmetrics.cpp +0 -0
  126. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmetrics/exrmetrics.h +0 -0
  127. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmetrics/main.cpp +0 -0
  128. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultipart/CMakeLists.txt +0 -0
  129. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultipart/exrmultipart.cpp +0 -0
  130. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultiview/CMakeLists.txt +0 -0
  131. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultiview/Image.cpp +0 -0
  132. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultiview/Image.h +0 -0
  133. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultiview/main.cpp +0 -0
  134. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultiview/makeMultiView.cpp +0 -0
  135. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultiview/makeMultiView.h +0 -0
  136. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrmultiview/namespaceAlias.h +0 -0
  137. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrstdattr/CMakeLists.txt +0 -0
  138. {openexr-3.3.13 → openexr-3.3.15}/src/bin/exrstdattr/main.cpp +0 -0
  139. {openexr-3.3.13 → openexr-3.3.15}/src/lib/.gitignore +0 -0
  140. {openexr-3.3.13 → openexr-3.3.15}/src/lib/CMakeLists.txt +0 -0
  141. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/CMakeLists.txt +0 -0
  142. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/Iex.h +0 -0
  143. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexBaseExc.cpp +0 -0
  144. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexBaseExc.h +0 -0
  145. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexErrnoExc.h +0 -0
  146. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexExport.h +0 -0
  147. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexForward.h +0 -0
  148. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexMacros.h +0 -0
  149. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexMathExc.h +0 -0
  150. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexMathFloatExc.cpp +0 -0
  151. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexMathFloatExc.h +0 -0
  152. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexMathFpu.cpp +0 -0
  153. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexMathFpu.h +0 -0
  154. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexMathIeeeExc.h +0 -0
  155. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexNamespace.h +0 -0
  156. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexThrowErrnoExc.cpp +0 -0
  157. {openexr-3.3.13 → openexr-3.3.15}/src/lib/Iex/IexThrowErrnoExc.h +0 -0
  158. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/CMakeLists.txt +0 -0
  159. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThread.cpp +0 -0
  160. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThread.h +0 -0
  161. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadExport.h +0 -0
  162. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadForward.h +0 -0
  163. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadMutex.h +0 -0
  164. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadNamespace.h +0 -0
  165. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadPool.cpp +0 -0
  166. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadPool.h +0 -0
  167. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadProcessGroup.h +0 -0
  168. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadSemaphore.cpp +0 -0
  169. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadSemaphore.h +0 -0
  170. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadSemaphoreOSX.cpp +0 -0
  171. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp +0 -0
  172. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadSemaphorePosixCompat.cpp +0 -0
  173. {openexr-3.3.13 → openexr-3.3.15}/src/lib/IlmThread/IlmThreadSemaphoreWin32.cpp +0 -0
  174. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/CMakeLists.txt +0 -0
  175. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfAcesFile.cpp +0 -0
  176. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfAcesFile.h +0 -0
  177. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfArray.h +0 -0
  178. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfAttribute.cpp +0 -0
  179. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfAttribute.h +0 -0
  180. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfAutoArray.h +0 -0
  181. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfB44Compressor.cpp +0 -0
  182. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfB44Compressor.h +0 -0
  183. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfBoxAttribute.cpp +0 -0
  184. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfBoxAttribute.h +0 -0
  185. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCRgbaFile.cpp +0 -0
  186. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCRgbaFile.h +0 -0
  187. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChannelList.cpp +0 -0
  188. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChannelList.h +0 -0
  189. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChannelListAttribute.cpp +0 -0
  190. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChannelListAttribute.h +0 -0
  191. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCheckedArithmetic.h +0 -0
  192. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChromaticities.cpp +0 -0
  193. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChromaticities.h +0 -0
  194. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp +0 -0
  195. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfChromaticitiesAttribute.h +0 -0
  196. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp +0 -0
  197. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompositeDeepScanLine.h +0 -0
  198. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompression.cpp +0 -0
  199. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompression.h +0 -0
  200. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompressionAttribute.cpp +0 -0
  201. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompressionAttribute.h +0 -0
  202. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompressor.cpp +0 -0
  203. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfCompressor.h +0 -0
  204. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfContext.h +0 -0
  205. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfContextInit.cpp +0 -0
  206. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfContextInit.h +0 -0
  207. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfConvert.cpp +0 -0
  208. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfConvert.h +0 -0
  209. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepCompositing.cpp +0 -0
  210. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepCompositing.h +0 -0
  211. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp +0 -0
  212. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepFrameBuffer.h +0 -0
  213. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepImageState.h +0 -0
  214. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp +0 -0
  215. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepImageStateAttribute.h +0 -0
  216. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp +0 -0
  217. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineInputFile.h +0 -0
  218. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp +0 -0
  219. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineInputPart.h +0 -0
  220. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.cpp +0 -0
  221. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.h +0 -0
  222. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.cpp +0 -0
  223. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.h +0 -0
  224. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp +0 -0
  225. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledInputFile.h +0 -0
  226. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp +0 -0
  227. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledInputPart.h +0 -0
  228. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledOutputFile.h +0 -0
  229. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledOutputPart.cpp +0 -0
  230. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDeepTiledOutputPart.h +0 -0
  231. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDoubleAttribute.cpp +0 -0
  232. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDoubleAttribute.h +0 -0
  233. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDwaCompressor.cpp +0 -0
  234. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfDwaCompressor.h +0 -0
  235. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfEnvmap.cpp +0 -0
  236. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfEnvmap.h +0 -0
  237. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfEnvmapAttribute.cpp +0 -0
  238. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfEnvmapAttribute.h +0 -0
  239. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfExport.h +0 -0
  240. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFastHuf.cpp +0 -0
  241. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFastHuf.h +0 -0
  242. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFloatAttribute.cpp +0 -0
  243. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFloatAttribute.h +0 -0
  244. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp +0 -0
  245. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFloatVectorAttribute.h +0 -0
  246. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfForward.h +0 -0
  247. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFrameBuffer.cpp +0 -0
  248. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFrameBuffer.h +0 -0
  249. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFramesPerSecond.cpp +0 -0
  250. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfFramesPerSecond.h +0 -0
  251. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfGenericInputFile.cpp +0 -0
  252. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfGenericInputFile.h +0 -0
  253. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfGenericOutputFile.cpp +0 -0
  254. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfGenericOutputFile.h +0 -0
  255. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfHeader.cpp +0 -0
  256. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfHeader.h +0 -0
  257. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfHuf.cpp +0 -0
  258. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfHuf.h +0 -0
  259. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIDManifest.h +0 -0
  260. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIDManifestAttribute.cpp +0 -0
  261. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIDManifestAttribute.h +0 -0
  262. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIO.cpp +0 -0
  263. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIO.h +0 -0
  264. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInputFile.cpp +0 -0
  265. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInputFile.h +0 -0
  266. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInputPart.cpp +0 -0
  267. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInputPart.h +0 -0
  268. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInputPartData.cpp +0 -0
  269. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInputPartData.h +0 -0
  270. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInputStreamMutex.h +0 -0
  271. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfInt64.h +0 -0
  272. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIntAttribute.cpp +0 -0
  273. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfIntAttribute.h +0 -0
  274. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfKeyCode.cpp +0 -0
  275. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfKeyCode.h +0 -0
  276. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp +0 -0
  277. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfKeyCodeAttribute.h +0 -0
  278. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfLineOrder.h +0 -0
  279. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfLineOrderAttribute.cpp +0 -0
  280. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfLineOrderAttribute.h +0 -0
  281. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfLut.cpp +0 -0
  282. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfLut.h +0 -0
  283. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMatrixAttribute.cpp +0 -0
  284. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMatrixAttribute.h +0 -0
  285. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMisc.cpp +0 -0
  286. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMisc.h +0 -0
  287. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMultiPartInputFile.cpp +0 -0
  288. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMultiPartInputFile.h +0 -0
  289. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMultiPartOutputFile.cpp +0 -0
  290. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMultiPartOutputFile.h +0 -0
  291. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMultiView.cpp +0 -0
  292. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfMultiView.h +0 -0
  293. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfName.h +0 -0
  294. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfNamespace.h +0 -0
  295. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOpaqueAttribute.cpp +0 -0
  296. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOpaqueAttribute.h +0 -0
  297. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOptimizedPixelReading.h +0 -0
  298. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOutputFile.cpp +0 -0
  299. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOutputFile.h +0 -0
  300. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOutputPart.cpp +0 -0
  301. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOutputPart.h +0 -0
  302. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOutputPartData.cpp +0 -0
  303. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOutputPartData.h +0 -0
  304. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfOutputStreamMutex.h +0 -0
  305. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPartHelper.h +0 -0
  306. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPartType.cpp +0 -0
  307. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPartType.h +0 -0
  308. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPixelType.h +0 -0
  309. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPizCompressor.cpp +0 -0
  310. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPizCompressor.h +0 -0
  311. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPreviewImage.cpp +0 -0
  312. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPreviewImage.h +0 -0
  313. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp +0 -0
  314. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPreviewImageAttribute.h +0 -0
  315. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPxr24Compressor.cpp +0 -0
  316. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfPxr24Compressor.h +0 -0
  317. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRational.cpp +0 -0
  318. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRational.h +0 -0
  319. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRationalAttribute.cpp +0 -0
  320. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRationalAttribute.h +0 -0
  321. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRgba.h +0 -0
  322. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRgbaFile.cpp +0 -0
  323. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRgbaFile.h +0 -0
  324. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRgbaYca.cpp +0 -0
  325. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRgbaYca.h +0 -0
  326. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRle.cpp +0 -0
  327. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRle.h +0 -0
  328. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRleCompressor.cpp +0 -0
  329. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfRleCompressor.h +0 -0
  330. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfScanLineInputFile.cpp +0 -0
  331. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfScanLineInputFile.h +0 -0
  332. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfSimd.h +0 -0
  333. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStandardAttributes.cpp +0 -0
  334. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStandardAttributes.h +0 -0
  335. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStdIO.cpp +0 -0
  336. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStdIO.h +0 -0
  337. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStringAttribute.cpp +0 -0
  338. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStringAttribute.h +0 -0
  339. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStringVectorAttribute.cpp +0 -0
  340. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfStringVectorAttribute.h +0 -0
  341. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfSystemSpecific.cpp +0 -0
  342. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfSystemSpecific.h +0 -0
  343. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTestFile.cpp +0 -0
  344. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTestFile.h +0 -0
  345. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfThreading.cpp +0 -0
  346. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfThreading.h +0 -0
  347. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTileDescription.h +0 -0
  348. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp +0 -0
  349. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTileDescriptionAttribute.h +0 -0
  350. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTileOffsets.cpp +0 -0
  351. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTileOffsets.h +0 -0
  352. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledInputFile.cpp +0 -0
  353. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledInputFile.h +0 -0
  354. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledInputPart.cpp +0 -0
  355. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledInputPart.h +0 -0
  356. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledMisc.cpp +0 -0
  357. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledMisc.h +0 -0
  358. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledOutputFile.cpp +0 -0
  359. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledOutputFile.h +0 -0
  360. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledOutputPart.cpp +0 -0
  361. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledOutputPart.h +0 -0
  362. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledRgbaFile.cpp +0 -0
  363. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTiledRgbaFile.h +0 -0
  364. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTimeCode.cpp +0 -0
  365. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTimeCode.h +0 -0
  366. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp +0 -0
  367. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfTimeCodeAttribute.h +0 -0
  368. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfVecAttribute.cpp +0 -0
  369. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfVecAttribute.h +0 -0
  370. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfVersion.cpp +0 -0
  371. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfVersion.h +0 -0
  372. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfWav.cpp +0 -0
  373. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfWav.h +0 -0
  374. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfXdr.h +0 -0
  375. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfZip.cpp +0 -0
  376. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfZip.h +0 -0
  377. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfZipCompressor.cpp +0 -0
  378. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/ImfZipCompressor.h +0 -0
  379. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/b44ExpLogTable.cpp +0 -0
  380. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXR/dwaLookups.cpp +0 -0
  381. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/CMakeLists.txt +0 -0
  382. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/attributes.c +0 -0
  383. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/backward_compatibility.h +0 -0
  384. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/base.c +0 -0
  385. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/channel_list.c +0 -0
  386. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/chunk.c +0 -0
  387. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/coding.c +0 -0
  388. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/compression.c +0 -0
  389. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/context.c +0 -0
  390. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/debug.c +0 -0
  391. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/decoding.c +0 -0
  392. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/dwaLookups.h +0 -0
  393. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/encoding.c +0 -0
  394. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/float_vector.c +0 -0
  395. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_attr.h +0 -0
  396. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_b44_table.c +0 -0
  397. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_channel_list.h +0 -0
  398. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_coding.h +0 -0
  399. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_compress.h +0 -0
  400. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_constants.h +0 -0
  401. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_cpuid.h +0 -0
  402. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_decompress.h +0 -0
  403. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa.c +0 -0
  404. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa_channeldata.h +0 -0
  405. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa_classifier.h +0 -0
  406. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa_encoder.h +0 -0
  407. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa_helpers.h +0 -0
  408. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_dwa_simd.h +0 -0
  409. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_file.h +0 -0
  410. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_float_vector.h +0 -0
  411. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_huf.c +0 -0
  412. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_huf.h +0 -0
  413. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_memory.h +0 -0
  414. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_opaque.h +0 -0
  415. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_piz.c +0 -0
  416. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_posix_file_impl.h +0 -0
  417. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_preview.h +0 -0
  418. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_pxr24.c +0 -0
  419. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_rle.c +0 -0
  420. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_string.h +0 -0
  421. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_string_vector.h +0 -0
  422. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_win32_file_impl.h +0 -0
  423. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_xdr.h +0 -0
  424. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/internal_zip.c +0 -0
  425. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/memory.c +0 -0
  426. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/opaque.c +0 -0
  427. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr.h +0 -0
  428. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_attr.h +0 -0
  429. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_base.h +0 -0
  430. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_chunkio.h +0 -0
  431. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_coding.h +0 -0
  432. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_compression.h +0 -0
  433. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_config.h +0 -0
  434. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_context.h +0 -0
  435. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_debug.h +0 -0
  436. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_decode.h +0 -0
  437. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_encode.h +0 -0
  438. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_errors.h +0 -0
  439. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_part.h +0 -0
  440. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/openexr_std_attr.h +0 -0
  441. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/pack.c +0 -0
  442. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/part.c +0 -0
  443. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/preview.c +0 -0
  444. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/std_attr.c +0 -0
  445. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/string.c +0 -0
  446. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/string_vector.c +0 -0
  447. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/unpack.c +0 -0
  448. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRCore/write_header.c +0 -0
  449. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/CMakeLists.txt +0 -0
  450. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfCheckFile.cpp +0 -0
  451. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfCheckFile.h +0 -0
  452. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImage.cpp +0 -0
  453. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImage.h +0 -0
  454. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImageChannel.cpp +0 -0
  455. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImageChannel.h +0 -0
  456. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImageIO.cpp +0 -0
  457. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImageIO.h +0 -0
  458. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImageLevel.cpp +0 -0
  459. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfDeepImageLevel.h +0 -0
  460. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImage.cpp +0 -0
  461. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImage.h +0 -0
  462. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImageChannel.cpp +0 -0
  463. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImageChannel.h +0 -0
  464. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImageIO.cpp +0 -0
  465. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImageIO.h +0 -0
  466. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImageLevel.cpp +0 -0
  467. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfFlatImageLevel.h +0 -0
  468. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImage.cpp +0 -0
  469. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImage.h +0 -0
  470. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageChannel.cpp +0 -0
  471. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageChannel.h +0 -0
  472. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageChannelRenaming.h +0 -0
  473. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageDataWindow.cpp +0 -0
  474. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageDataWindow.h +0 -0
  475. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageIO.cpp +0 -0
  476. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageIO.h +0 -0
  477. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageLevel.cpp +0 -0
  478. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfImageLevel.h +0 -0
  479. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfSampleCountChannel.cpp +0 -0
  480. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfSampleCountChannel.h +0 -0
  481. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/ImfUtilExport.h +0 -0
  482. {openexr-3.3.13 → openexr-3.3.15}/src/lib/OpenEXRUtil/README +0 -0
  483. {openexr-3.3.13 → openexr-3.3.15}/src/test/CMakeLists.txt +0 -0
  484. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/CMakeLists.txt +0 -0
  485. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/main.cpp +0 -0
  486. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/mathFuncs.cpp +0 -0
  487. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/mathFuncs.h +0 -0
  488. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/testBaseExc.cpp +0 -0
  489. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/testBaseExc.h +0 -0
  490. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/testMathExc.cpp +0 -0
  491. {openexr-3.3.13 → openexr-3.3.15}/src/test/IexTest/testMathExc.h +0 -0
  492. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/CMakeLists.txt +0 -0
  493. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/base_units.cpp +0 -0
  494. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/base_units.h +0 -0
  495. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/buffer.cpp +0 -0
  496. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/buffer.h +0 -0
  497. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/compression.cpp +0 -0
  498. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/compression.h +0 -0
  499. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/compressionTables.cpp +0 -0
  500. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/deep.cpp +0 -0
  501. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/deep.h +0 -0
  502. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/dwaQuantTables.h +0 -0
  503. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/general_attr.cpp +0 -0
  504. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/general_attr.h +0 -0
  505. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/main.cpp +0 -0
  506. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/performance.cpp +0 -0
  507. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/read.cpp +0 -0
  508. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/read.h +0 -0
  509. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/test_value.h +0 -0
  510. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRCoreTest/write.h +0 -0
  511. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/CMakeLists.txt +0 -0
  512. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/fuzzFile.cpp +0 -0
  513. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/fuzzFile.h +0 -0
  514. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/main.cpp +0 -0
  515. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/oss-fuzz/CMakeLists.txt +0 -0
  516. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcheck_fuzzer.cc +0 -0
  517. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcorecheck_fuzzer.cc +0 -0
  518. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/oss-fuzz/test_build.sh +0 -0
  519. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzDeepScanLines.cpp +0 -0
  520. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzDeepScanLines.h +0 -0
  521. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzDeepTiles.cpp +0 -0
  522. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzDeepTiles.h +0 -0
  523. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzScanLines.cpp +0 -0
  524. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzScanLines.h +0 -0
  525. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzTiles.cpp +0 -0
  526. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRFuzzTest/testFuzzTiles.h +0 -0
  527. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/CMakeLists.txt +0 -0
  528. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/TestUtilFStream.h +0 -0
  529. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/bswap_32.h +0 -0
  530. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_b44.exr +0 -0
  531. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_b44_piz.exr +0 -0
  532. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_bad_bounds_piz.exr +0 -0
  533. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_bad_neg_bounds_pxr24.exr +0 -0
  534. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_bad_pos_bounds_piz.exr +0 -0
  535. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_bad_pos_bounds_pxr24.exr +0 -0
  536. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_dwaa_piz.exr +0 -0
  537. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_dwaa_v1.exr +0 -0
  538. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_dwaa_v2.exr +0 -0
  539. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_dwab_piz.exr +0 -0
  540. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_dwab_v1.exr +0 -0
  541. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_dwab_v2.exr +0 -0
  542. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_early_eof_piz.exr +0 -0
  543. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_invalid_unknown.exr +0 -0
  544. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_none.exr +0 -0
  545. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_piz.exr +0 -0
  546. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_rle.exr +0 -0
  547. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_short_decode_piz.exr +0 -0
  548. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_zip.exr +0 -0
  549. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/comp_zips.exr +0 -0
  550. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/compareB44.cpp +0 -0
  551. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/compareB44.h +0 -0
  552. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/compareDwa.cpp +0 -0
  553. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/compareDwa.h +0 -0
  554. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/compareFloat.cpp +0 -0
  555. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/compareFloat.h +0 -0
  556. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/invalid.exr +0 -0
  557. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/invalid_shared_attrs_multipart.exr +0 -0
  558. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/lineOrder_decreasing.exr +0 -0
  559. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/lineOrder_increasing.exr +0 -0
  560. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/main.cpp +0 -0
  561. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/random.cpp +0 -0
  562. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/random.h +0 -0
  563. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/scanline_with_deepscanline_type.exr +0 -0
  564. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/scanline_with_deeptiled_type.exr +0 -0
  565. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/scanline_with_tiledimage_type.exr +0 -0
  566. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testAttributes.cpp +0 -0
  567. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testAttributes.h +0 -0
  568. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testBackwardCompatibility.cpp +0 -0
  569. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testBackwardCompatibility.h +0 -0
  570. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testBadTypeAttributes.cpp +0 -0
  571. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testBadTypeAttributes.h +0 -0
  572. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCRgba.cpp +0 -0
  573. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCRgba.h +0 -0
  574. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testChannels.cpp +0 -0
  575. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testChannels.h +0 -0
  576. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCompositeDeepScanLine.cpp +0 -0
  577. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCompositeDeepScanLine.h +0 -0
  578. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCompression.cpp +0 -0
  579. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCompression.h +0 -0
  580. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCompressionApi.cpp +0 -0
  581. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCompressionApi.h +0 -0
  582. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testConversion.cpp +0 -0
  583. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testConversion.h +0 -0
  584. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyDeepScanLine.cpp +0 -0
  585. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyDeepScanLine.h +0 -0
  586. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyDeepTiled.cpp +0 -0
  587. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyDeepTiled.h +0 -0
  588. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyMultiPartFile.cpp +0 -0
  589. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyMultiPartFile.h +0 -0
  590. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyPixels.cpp +0 -0
  591. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCopyPixels.h +0 -0
  592. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCpuId.cpp +0 -0
  593. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCpuId.h +0 -0
  594. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCustomAttributes.cpp +0 -0
  595. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testCustomAttributes.h +0 -0
  596. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepScanLineBasic.cpp +0 -0
  597. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepScanLineBasic.h +0 -0
  598. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepScanLineHuge.cpp +0 -0
  599. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepScanLineHuge.h +0 -0
  600. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepScanLineMultipleRead.cpp +0 -0
  601. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepScanLineMultipleRead.h +0 -0
  602. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testDeepTiledBasic.h +0 -0
  603. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testExistingStreams.cpp +0 -0
  604. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testExistingStreams.h +0 -0
  605. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testFutureProofing.cpp +0 -0
  606. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testFutureProofing.h +0 -0
  607. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testHeader.h +0 -0
  608. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testHuf.cpp +0 -0
  609. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testHuf.h +0 -0
  610. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testIDManifest.cpp +0 -0
  611. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testIDManifest.h +0 -0
  612. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testInputPart.cpp +0 -0
  613. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testInputPart.h +0 -0
  614. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testIsComplete.cpp +0 -0
  615. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testIsComplete.h +0 -0
  616. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testLargeDataWindowOffsets.cpp +0 -0
  617. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testLargeDataWindowOffsets.h +0 -0
  618. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testLineOrder.cpp +0 -0
  619. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testLineOrder.h +0 -0
  620. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testLut.cpp +0 -0
  621. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testLut.h +0 -0
  622. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMagic.cpp +0 -0
  623. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMagic.h +0 -0
  624. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMalformedImages.cpp +0 -0
  625. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMalformedImages.h +0 -0
  626. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartApi.cpp +0 -0
  627. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartApi.h +0 -0
  628. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartFileMixingBasic.cpp +0 -0
  629. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartFileMixingBasic.h +0 -0
  630. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartSharedAttributes.cpp +0 -0
  631. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartSharedAttributes.h +0 -0
  632. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartThreading.cpp +0 -0
  633. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiPartThreading.h +0 -0
  634. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiScanlinePartThreading.cpp +0 -0
  635. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiScanlinePartThreading.h +0 -0
  636. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiTiledPartThreading.cpp +0 -0
  637. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiTiledPartThreading.h +0 -0
  638. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiView.cpp +0 -0
  639. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testMultiView.h +0 -0
  640. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testNativeFormat.cpp +0 -0
  641. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testNativeFormat.h +0 -0
  642. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testOptimized.cpp +0 -0
  643. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testOptimized.h +0 -0
  644. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testOptimizedInterleavePatterns.cpp +0 -0
  645. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testOptimizedInterleavePatterns.h +0 -0
  646. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testPartHelper.cpp +0 -0
  647. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testPartHelper.h +0 -0
  648. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testPreviewImage.cpp +0 -0
  649. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testPreviewImage.h +0 -0
  650. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testRgba.cpp +0 -0
  651. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testRgba.h +0 -0
  652. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testRgbaThreading.cpp +0 -0
  653. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testRgbaThreading.h +0 -0
  654. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testRle.cpp +0 -0
  655. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testRle.h +0 -0
  656. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testSampleImages.cpp +0 -0
  657. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testSampleImages.h +0 -0
  658. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testScanLineApi.cpp +0 -0
  659. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testScanLineApi.h +0 -0
  660. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testSharedFrameBuffer.cpp +0 -0
  661. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testSharedFrameBuffer.h +0 -0
  662. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testStandardAttributes.cpp +0 -0
  663. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testStandardAttributes.h +0 -0
  664. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledCompression.cpp +0 -0
  665. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledCompression.h +0 -0
  666. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledCopyPixels.cpp +0 -0
  667. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledCopyPixels.h +0 -0
  668. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledLineOrder.cpp +0 -0
  669. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledLineOrder.h +0 -0
  670. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledRgba.cpp +0 -0
  671. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledRgba.h +0 -0
  672. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledYa.cpp +0 -0
  673. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testTiledYa.h +0 -0
  674. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testWav.cpp +0 -0
  675. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testWav.h +0 -0
  676. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testXdr.cpp +0 -0
  677. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testXdr.h +0 -0
  678. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testYca.cpp +0 -0
  679. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/testYca.h +0 -0
  680. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/test_native1.exr +0 -0
  681. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/test_native2.exr +0 -0
  682. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/tiled.exr +0 -0
  683. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/tiled_with_deepscanline_type.exr +0 -0
  684. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/tiled_with_deeptile_type.exr +0 -0
  685. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/tiled_with_scanlineimage_type.exr +0 -0
  686. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/tmpDir.h +0 -0
  687. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/v1.7.test.1.exr +0 -0
  688. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/v1.7.test.interleaved.exr +0 -0
  689. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/v1.7.test.planar.exr +0 -0
  690. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRTest/v1.7.test.tiled.exr +0 -0
  691. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/CMakeLists.txt +0 -0
  692. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/main.cpp +0 -0
  693. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testDeepImage.cpp +0 -0
  694. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testDeepImage.h +0 -0
  695. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testFlatImage.cpp +0 -0
  696. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testFlatImage.h +0 -0
  697. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testIO.cpp +0 -0
  698. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testIO.h +0 -0
  699. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testImageChannel.cpp +0 -0
  700. {openexr-3.3.13 → openexr-3.3.15}/src/test/OpenEXRUtilTest/testImageChannel.h +0 -0
  701. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/CMakeLists.txt +0 -0
  702. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exr2aces.py +0 -0
  703. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrcheck.py +0 -0
  704. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrenvmap.py +0 -0
  705. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrheader.py +0 -0
  706. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrinfo.py +0 -0
  707. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrmakepreview.py +0 -0
  708. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrmaketiled.py +0 -0
  709. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrmanifest.py +0 -0
  710. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrmetrics.py +0 -0
  711. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrmultipart.py +0 -0
  712. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrmultiview.py +0 -0
  713. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_exrstdattr.py +0 -0
  714. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/11.deep.exr +0 -0
  715. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/11.deep.exr.txt +0 -0
  716. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/42.deep.exr +0 -0
  717. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/42.deep.exr.txt +0 -0
  718. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/64.deep.exr +0 -0
  719. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/64.deep.exr.txt +0 -0
  720. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/multivariate.deep.exr +0 -0
  721. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/multivariate.deep.exr.txt +0 -0
  722. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/objectid.deep.exr +0 -0
  723. {openexr-3.3.13 → openexr-3.3.15}/src/test/bin/test_images/objectid.deep.exr.txt +0 -0
  724. {openexr-3.3.13 → openexr-3.3.15}/src/test/oss-fuzz/CMakeLists.txt +0 -0
  725. {openexr-3.3.13 → openexr-3.3.15}/src/test/oss-fuzz/openexr_exrcheck_fuzzer.cc +0 -0
  726. {openexr-3.3.13 → openexr-3.3.15}/src/test/oss-fuzz/openexr_exrcorecheck_fuzzer.cc +0 -0
  727. {openexr-3.3.13 → openexr-3.3.15}/src/test/oss-fuzz/test_build.sh +0 -0
  728. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/CMakeLists.txt +0 -0
  729. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/Imath.py +0 -0
  730. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/PyOpenEXR.h +0 -0
  731. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/README.md +0 -0
  732. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/openexr_skbuild_plugin.py +0 -0
  733. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test.exr +0 -0
  734. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_deep.py +0 -0
  735. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_exceptions.py +0 -0
  736. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_images.py +0 -0
  737. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_import.py +0 -0
  738. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_minimal.py +0 -0
  739. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_old.py +0 -0
  740. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_readme.py +0 -0
  741. {openexr-3.3.13 → openexr-3.3.15}/src/wrappers/python/tests/test_unittest.py +0 -0
  742. {openexr-3.3.13 → openexr-3.3.15}/website/API.rst +0 -0
  743. {openexr-3.3.13 → openexr-3.3.15}/website/CMakeLists.txt +0 -0
  744. {openexr-3.3.13 → openexr-3.3.15}/website/DeepIDsSpecification.rst +0 -0
  745. {openexr-3.3.13 → openexr-3.3.15}/website/Doxyfile.in +0 -0
  746. {openexr-3.3.13 → openexr-3.3.15}/website/HelloWorld.rst +0 -0
  747. {openexr-3.3.13 → openexr-3.3.15}/website/InterpretingDeepPixels.rst +0 -0
  748. {openexr-3.3.13 → openexr-3.3.15}/website/MultiViewOpenEXR.rst +0 -0
  749. {openexr-3.3.13 → openexr-3.3.15}/website/OpenEXRCoreAPI.rst +0 -0
  750. {openexr-3.3.13 → openexr-3.3.15}/website/OpenEXRFileLayout.rst +0 -0
  751. {openexr-3.3.13 → openexr-3.3.15}/website/PortingGuide.rst +0 -0
  752. {openexr-3.3.13 → openexr-3.3.15}/website/ReadingAndWritingImageFiles.rst +0 -0
  753. {openexr-3.3.13 → openexr-3.3.15}/website/SceneLinear.rst +0 -0
  754. {openexr-3.3.13 → openexr-3.3.15}/website/StandardAttributes.rst +0 -0
  755. {openexr-3.3.13 → openexr-3.3.15}/website/SymbolVisibility.rst +0 -0
  756. {openexr-3.3.13 → openexr-3.3.15}/website/TechnicalIntroduction.rst +0 -0
  757. {openexr-3.3.13 → openexr-3.3.15}/website/TheoryDeepPixels.rst +0 -0
  758. {openexr-3.3.13 → openexr-3.3.15}/website/_templates/layout.html +0 -0
  759. {openexr-3.3.13 → openexr-3.3.15}/website/about.rst +0 -0
  760. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exr2aces.rst +0 -0
  761. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrcheck.rst +0 -0
  762. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrenvmap.rst +0 -0
  763. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrheader.rst +0 -0
  764. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrinfo.rst +0 -0
  765. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrmakepreview.rst +0 -0
  766. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrmaketiled.rst +0 -0
  767. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrmanifest.rst +0 -0
  768. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrmetrics.rst +0 -0
  769. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrmultipart.rst +0 -0
  770. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrmultiview.rst +0 -0
  771. {openexr-3.3.13 → openexr-3.3.15}/website/bin/exrstdattr.rst +0 -0
  772. {openexr-3.3.13 → openexr-3.3.15}/website/concepts.rst +0 -0
  773. {openexr-3.3.13 → openexr-3.3.15}/website/conf.py +0 -0
  774. {openexr-3.3.13 → openexr-3.3.15}/website/downloads/sample.exr +0 -0
  775. {openexr-3.3.13 → openexr-3.3.15}/website/imageprocessing.dot +0 -0
  776. {openexr-3.3.13 → openexr-3.3.15}/website/images/InterpretingDeepPixels1.png +0 -0
  777. {openexr-3.3.13 → openexr-3.3.15}/website/images/InterpretingDeepPixels2.png +0 -0
  778. {openexr-3.3.13 → openexr-3.3.15}/website/images/InterpretingDeepPixels3.png +0 -0
  779. {openexr-3.3.13 → openexr-3.3.15}/website/images/OpenEXR_Reel_2020.png +0 -0
  780. {openexr-3.3.13 → openexr-3.3.15}/website/images/cubeMap.big.png +0 -0
  781. {openexr-3.3.13 → openexr-3.3.15}/website/images/cubeMap.png +0 -0
  782. {openexr-3.3.13 → openexr-3.3.15}/website/images/drawing.png +0 -0
  783. {openexr-3.3.13 → openexr-3.3.15}/website/images/envcube.png +0 -0
  784. {openexr-3.3.13 → openexr-3.3.15}/website/images/imageprocessing.png +0 -0
  785. {openexr-3.3.13 → openexr-3.3.15}/website/images/latlong.png +0 -0
  786. {openexr-3.3.13 → openexr-3.3.15}/website/images/latlongMap.big.png +0 -0
  787. {openexr-3.3.13 → openexr-3.3.15}/website/images/latlongMap.png +0 -0
  788. {openexr-3.3.13 → openexr-3.3.15}/website/images/mapped.jpg +0 -0
  789. {openexr-3.3.13 → openexr-3.3.15}/website/images/news.png +0 -0
  790. {openexr-3.3.13 → openexr-3.3.15}/website/images/openexr-fav.ico +0 -0
  791. {openexr-3.3.13 → openexr-3.3.15}/website/images/openexr-horizontal-color.png +0 -0
  792. {openexr-3.3.13 → openexr-3.3.15}/website/images/openexr-logo.jpg +0 -0
  793. {openexr-3.3.13 → openexr-3.3.15}/website/images/openexr-stacked-color.png +0 -0
  794. {openexr-3.3.13 → openexr-3.3.15}/website/images/raw.jpg +0 -0
  795. {openexr-3.3.13 → openexr-3.3.15}/website/images/screenwin.big.png +0 -0
  796. {openexr-3.3.13 → openexr-3.3.15}/website/images/screenwin.png +0 -0
  797. {openexr-3.3.13 → openexr-3.3.15}/website/images/tiles.big.png +0 -0
  798. {openexr-3.3.13 → openexr-3.3.15}/website/images/tiles.png +0 -0
  799. {openexr-3.3.13 → openexr-3.3.15}/website/images/twosamples.png +0 -0
  800. {openexr-3.3.13 → openexr-3.3.15}/website/images/windowExample1.big.png +0 -0
  801. {openexr-3.3.13 → openexr-3.3.15}/website/images/windowExample1.png +0 -0
  802. {openexr-3.3.13 → openexr-3.3.15}/website/images/windowExample1.small.png +0 -0
  803. {openexr-3.3.13 → openexr-3.3.15}/website/images/windowExample2.big.png +0 -0
  804. {openexr-3.3.13 → openexr-3.3.15}/website/images/windowExample2.png +0 -0
  805. {openexr-3.3.13 → openexr-3.3.15}/website/index.rst +0 -0
  806. {openexr-3.3.13 → openexr-3.3.15}/website/install.rst +0 -0
  807. {openexr-3.3.13 → openexr-3.3.15}/website/latest_news_title.rst +0 -0
  808. {openexr-3.3.13 → openexr-3.3.15}/website/license.rst +0 -0
  809. {openexr-3.3.13 → openexr-3.3.15}/website/news.rst +0 -0
  810. {openexr-3.3.13 → openexr-3.3.15}/website/python.rst +0 -0
  811. {openexr-3.3.13 → openexr-3.3.15}/website/requirements.txt +0 -0
  812. {openexr-3.3.13 → openexr-3.3.15}/website/scripts/install_doxygen.sh +0 -0
  813. {openexr-3.3.13 → openexr-3.3.15}/website/scripts/test_images.py +0 -0
  814. {openexr-3.3.13 → openexr-3.3.15}/website/src/CMakeLists.txt +0 -0
  815. {openexr-3.3.13 → openexr-3.3.15}/website/src/C_IStream.cpp +0 -0
  816. {openexr-3.3.13 → openexr-3.3.15}/website/src/C_IStream_clear.cpp +0 -0
  817. {openexr-3.3.13 → openexr-3.3.15}/website/src/C_IStream_read.cpp +0 -0
  818. {openexr-3.3.13 → openexr-3.3.15}/website/src/C_IStream_seekg.cpp +0 -0
  819. {openexr-3.3.13 → openexr-3.3.15}/website/src/C_IStream_tellg.cpp +0 -0
  820. {openexr-3.3.13 → openexr-3.3.15}/website/src/IStream.cpp +0 -0
  821. {openexr-3.3.13 → openexr-3.3.15}/website/src/MemoryMappedIStream.cpp +0 -0
  822. {openexr-3.3.13 → openexr-3.3.15}/website/src/MemoryMappedIStream_constructor.cpp +0 -0
  823. {openexr-3.3.13 → openexr-3.3.15}/website/src/MemoryMappedIStream_destructor.cpp +0 -0
  824. {openexr-3.3.13 → openexr-3.3.15}/website/src/MemoryMappedIStream_isMemoryMapped.cpp +0 -0
  825. {openexr-3.3.13 → openexr-3.3.15}/website/src/MemoryMappedIStream_read.cpp +0 -0
  826. {openexr-3.3.13 → openexr-3.3.15}/website/src/MemoryMappedIStream_readMemoryMapped.cpp +0 -0
  827. {openexr-3.3.13 → openexr-3.3.15}/website/src/all.cpp +0 -0
  828. {openexr-3.3.13 → openexr-3.3.15}/website/src/compression.cpp +0 -0
  829. {openexr-3.3.13 → openexr-3.3.15}/website/src/envmap.cpp +0 -0
  830. {openexr-3.3.13 → openexr-3.3.15}/website/src/exrreader/CMakeLists.txt +0 -0
  831. {openexr-3.3.13 → openexr-3.3.15}/website/src/exrreader/build.sh +0 -0
  832. {openexr-3.3.13 → openexr-3.3.15}/website/src/exrreader/exrreader.cpp +0 -0
  833. {openexr-3.3.13 → openexr-3.3.15}/website/src/exrwriter/CMakeLists.txt +0 -0
  834. {openexr-3.3.13 → openexr-3.3.15}/website/src/exrwriter/build.sh +0 -0
  835. {openexr-3.3.13 → openexr-3.3.15}/website/src/exrwriter/exrwriter.cpp +0 -0
  836. {openexr-3.3.13 → openexr-3.3.15}/website/src/mergeOverlappingSamples.cpp +0 -0
  837. {openexr-3.3.13 → openexr-3.3.15}/website/src/multithreading.cpp +0 -0
  838. {openexr-3.3.13 → openexr-3.3.15}/website/src/previewImageExamples.cpp +0 -0
  839. {openexr-3.3.13 → openexr-3.3.15}/website/src/readChannelsAndLayers.cpp +0 -0
  840. {openexr-3.3.13 → openexr-3.3.15}/website/src/readDeepScanLineFile.cpp +0 -0
  841. {openexr-3.3.13 → openexr-3.3.15}/website/src/readDeepTiledFile.cpp +0 -0
  842. {openexr-3.3.13 → openexr-3.3.15}/website/src/readGZ1.cpp +0 -0
  843. {openexr-3.3.13 → openexr-3.3.15}/website/src/readGZ2.cpp +0 -0
  844. {openexr-3.3.13 → openexr-3.3.15}/website/src/readHeader.cpp +0 -0
  845. {openexr-3.3.13 → openexr-3.3.15}/website/src/readRgba1.cpp +0 -0
  846. {openexr-3.3.13 → openexr-3.3.15}/website/src/readRgba2.cpp +0 -0
  847. {openexr-3.3.13 → openexr-3.3.15}/website/src/readRgbaFILE.cpp +0 -0
  848. {openexr-3.3.13 → openexr-3.3.15}/website/src/readTiled1.cpp +0 -0
  849. {openexr-3.3.13 → openexr-3.3.15}/website/src/readTiledRgba1.cpp +0 -0
  850. {openexr-3.3.13 → openexr-3.3.15}/website/src/splitVolumeSample.cpp +0 -0
  851. {openexr-3.3.13 → openexr-3.3.15}/website/src/structDefinitions.cpp +0 -0
  852. {openexr-3.3.13 → openexr-3.3.15}/website/src/tileDescription.cpp +0 -0
  853. {openexr-3.3.13 → openexr-3.3.15}/website/src/validExrFile.cpp +0 -0
  854. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeDeepScanLineFile.cpp +0 -0
  855. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeDeepTiledFile.cpp +0 -0
  856. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeGZ1.cpp +0 -0
  857. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeGZ2.cpp +0 -0
  858. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeRgba1.cpp +0 -0
  859. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeRgba2.cpp +0 -0
  860. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeRgba3.cpp +0 -0
  861. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeRgbaMT.cpp +0 -0
  862. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeRgbaWithPreview1.cpp +0 -0
  863. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeRgbaWithPreview2.cpp +0 -0
  864. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeTiled1.cpp +0 -0
  865. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeTiledRgbaMIP1.cpp +0 -0
  866. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeTiledRgbaMIP2.cpp +0 -0
  867. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeTiledRgbaONE1.cpp +0 -0
  868. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeTiledRgbaONE2.cpp +0 -0
  869. {openexr-3.3.13 → openexr-3.3.15}/website/src/writeTiledRgbaRIP1.cpp +0 -0
  870. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0001.rst +0 -0
  871. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0002.rst +0 -0
  872. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0003.rst +0 -0
  873. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0004.rst +0 -0
  874. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0005.rst +0 -0
  875. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0006.rst +0 -0
  876. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0007.rst +0 -0
  877. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/multipart.0008.rst +0 -0
  878. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0001.rst +0 -0
  879. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0002.rst +0 -0
  880. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0003.rst +0 -0
  881. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0004.rst +0 -0
  882. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0005.rst +0 -0
  883. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0006.rst +0 -0
  884. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0007.rst +0 -0
  885. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Beachball/singlepart.0008.rst +0 -0
  886. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Chromaticities/Rec709.rst +0 -0
  887. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Chromaticities/Rec709_YC.rst +0 -0
  888. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Chromaticities/XYZ.rst +0 -0
  889. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Chromaticities/XYZ_YC.rst +0 -0
  890. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t01.rst +0 -0
  891. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t02.rst +0 -0
  892. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t03.rst +0 -0
  893. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t04.rst +0 -0
  894. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t05.rst +0 -0
  895. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t06.rst +0 -0
  896. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t07.rst +0 -0
  897. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t08.rst +0 -0
  898. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t09.rst +0 -0
  899. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t10.rst +0 -0
  900. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t11.rst +0 -0
  901. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t12.rst +0 -0
  902. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t13.rst +0 -0
  903. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t14.rst +0 -0
  904. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t15.rst +0 -0
  905. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/DisplayWindow/t16.rst +0 -0
  906. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/LuminanceChroma/CrissyField.rst +0 -0
  907. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/LuminanceChroma/Flowers.rst +0 -0
  908. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/LuminanceChroma/Garden.rst +0 -0
  909. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/LuminanceChroma/MtTamNorth.rst +0 -0
  910. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/LuminanceChroma/StarField.rst +0 -0
  911. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/Bonita.rst +0 -0
  912. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/ColorCodedLevels.rst +0 -0
  913. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/Kapaa.rst +0 -0
  914. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/KernerEnvCube.rst +0 -0
  915. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/KernerEnvLatLong.rst +0 -0
  916. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/MirrorPattern.rst +0 -0
  917. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/OrientationCube.rst +0 -0
  918. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/OrientationLatLong.rst +0 -0
  919. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/PeriodicPattern.rst +0 -0
  920. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/StageEnvCube.rst +0 -0
  921. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/StageEnvLatLong.rst +0 -0
  922. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/WavyLinesCube.rst +0 -0
  923. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/WavyLinesLatLong.rst +0 -0
  924. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiResolution/WavyLinesSphere.rst +0 -0
  925. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiView/Adjuster.rst +0 -0
  926. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiView/Balls.rst +0 -0
  927. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiView/Fog.rst +0 -0
  928. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiView/Impact.rst +0 -0
  929. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/MultiView/LosPadres.rst +0 -0
  930. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/Blobbies.rst +0 -0
  931. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/CandleGlass.rst +0 -0
  932. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/Cannon.rst +0 -0
  933. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/Carrots.rst +0 -0
  934. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/Desk.rst +0 -0
  935. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/MtTamWest.rst +0 -0
  936. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/PrismsLenses.rst +0 -0
  937. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/StillLife.rst +0 -0
  938. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/ScanLines/Tree.rst +0 -0
  939. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/AllHalfValues.rst +0 -0
  940. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/BrightRings.rst +0 -0
  941. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/BrightRingsNanInf.rst +0 -0
  942. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/GammaChart.rst +0 -0
  943. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/GrayRampsDiagonal.rst +0 -0
  944. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/GrayRampsHorizontal.rst +0 -0
  945. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/RgbRampsDiagonal.rst +0 -0
  946. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/SquaresSwirls.rst +0 -0
  947. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/WideColorGamut.rst +0 -0
  948. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/TestImages/WideFloatRange.rst +0 -0
  949. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Tiles/GoldenGate.rst +0 -0
  950. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Tiles/Ocean.rst +0 -0
  951. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/Tiles/Spirals.rst +0 -0
  952. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/index.rst +0 -0
  953. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/toctree.rst +0 -0
  954. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LeftView/Balls.rst +0 -0
  955. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LeftView/Ground.rst +0 -0
  956. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LeftView/Leaves.rst +0 -0
  957. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LeftView/Trunks.rst +0 -0
  958. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LowResLeftView/Balls.rst +0 -0
  959. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LowResLeftView/Ground.rst +0 -0
  960. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LowResLeftView/Leaves.rst +0 -0
  961. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LowResLeftView/Trunks.rst +0 -0
  962. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/LowResLeftView/composited.rst +0 -0
  963. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/Stereo/Balls.rst +0 -0
  964. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/Stereo/Ground.rst +0 -0
  965. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/Stereo/Leaves.rst +0 -0
  966. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/Stereo/Trunks.rst +0 -0
  967. {openexr-3.3.13 → openexr-3.3.15}/website/test_images/v2/Stereo/composited.rst +0 -0
  968. {openexr-3.3.13 → openexr-3.3.15}/website/test_images.txt +0 -0
  969. {openexr-3.3.13 → openexr-3.3.15}/website/toc_redirect.rst +0 -0
  970. {openexr-3.3.13 → openexr-3.3.15}/website/tools.rst +0 -0
@@ -16,6 +16,8 @@
16
16
  * [Version 3.4.2](#version-342-october-15-2025) October 15, 2025
17
17
  * [Version 3.4.1](#version-341-october-8-2025) October 8, 2025
18
18
  * [Version 3.4.0](#version-340-september-5-2025) September 5, 2025
19
+ * [Version 3.3.15](#version-3315-october-30-2026) October 30, 2026
20
+ * [Version 3.3.14](#version-3314-august-21-2026) August 21, 2026
19
21
  * [Version 3.3.13](#version-3313-august-6-2026) August 6, 2026
20
22
  * [Version 3.3.12](#version-3312-june-21-2026) June 21, 2026
21
23
  * [Version 3.3.11](#version-3311-april-29-2026) April 29, 2026
@@ -1032,6 +1034,67 @@ Fetch master branch of libdeflate on main
1032
1034
  * [1852](https://github.com/AcademySoftwareFoundation/openexr/pull/1852)
1033
1035
  Add an option to use TBB as the global provider
1034
1036
 
1037
+ ## Version 3.3.15 (October 30, 2026)
1038
+
1039
+ Patch release that addresses the following security vulnerabilities:
1040
+
1041
+ * ***CVE Pending*** ([GHSA-WHF5-29MJ-GP53](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-WHF5-29MJ-GP53)) Heap Out-of-Bounds Write via Signed Integer Overflow in DWAA/DWAB `LossyDctDecoder`
1042
+ * ***CVE Pending*** ([GHSA-RXWG-X3WX-PGFH](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-RXWG-X3WX-PGFH)) Heap out-of-bounds write via 32-bit tile-area integer overflow in `DeepTiledOutputFile` (deep-image re-save path) — possible incomplete fix of PR #939
1043
+ * ***CVE Pending*** ([GHSA-RJG8-982X-JHC2](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-RJG8-982X-JHC2)) Uninitialized Heap Memory Disclosure in DWA Decompression via Short zlib Stream Mapped to Success
1044
+ * ***CVE Pending*** ([GHSA-J76P-H7GW-VMPF](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-J76P-H7GW-VMPF)) Heap buffer overflow in the OpenEXR Python bindings when two RGB channel groups coalesce to the same key
1045
+ * ***CVE Pending*** ([GHSA-G248-596F-9995](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-G248-596F-9995)) Unvalidated extra `chlist` header attributes merged into `Header::channels()` cause a heap overflow in `run_fill`
1046
+ * ***CVE Pending*** ([GHSA-FRX8-5P4H-J8M7](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-FRX8-5P4H-J8M7)) Heap OOB Write via Integer Overflow in B44 Chunk Unpacked-Size Computation — Remote Code Execution in OpenEXRCore
1047
+ * ***CVE Pending*** ([GHSA-638X-X7MR-89XC](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-638X-X7MR-89XC)) Out-of-bounds write at an attacker-chosen displacement in legacy Python `InputFile.channel()`
1048
+ * ***CVE Pending*** ([GHSA-3CP4-779M-H837](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-3CP4-779M-H837)) Use-after-free in OpenEXRCore `exr_copy_unset_attributes()` when a channel name exceeds 31 bytes
1049
+
1050
+ ### Merged Pull Requests
1051
+
1052
+ * [2760](https://github.com/AcademySoftwareFoundation/openexr/pull/2760)
1053
+ Fix dangling channels pointer in exr_copy_unset_attributes() (by @cary-ilm/Cary Phillips)
1054
+ * [2757](https://github.com/AcademySoftwareFoundation/openexr/pull/2757)
1055
+ Fix unsigned wraparound in legacy Python InputFile.channel() (by @cary-ilm/Cary Phillips)
1056
+ * [2749](https://github.com/AcademySoftwareFoundation/openexr/pull/2749)
1057
+ Use size_t block indexing in DWA lossy DCT decoder (by @cary-ilm/Cary Phillips)
1058
+ * [2748](https://github.com/AcademySoftwareFoundation/openexr/pull/2748)
1059
+ Fix tile area overflow in DeepTiledOutputFile::initialize (by @cary-ilm/Cary Phillips)
1060
+ * [2747](https://github.com/AcademySoftwareFoundation/openexr/pull/2747)
1061
+ Reject Python RGB channel groups that coalesce to the same key (by @cary-ilm/Cary Phillips)
1062
+ * [2745](https://github.com/AcademySoftwareFoundation/openexr/pull/2745)
1063
+ Only merge the "channels" chlist attribute into Header::channels() (by @cary-ilm/Cary Phillips)
1064
+ * [2744](https://github.com/AcademySoftwareFoundation/openexr/pull/2744)
1065
+ Grow the part table geometrically when adding parts (by @cary-ilm/Cary Phillips)
1066
+ * [2718](https://github.com/AcademySoftwareFoundation/openexr/pull/2718)
1067
+ Fix B44 integer overflow OOB write (by @cary-ilm/Cary Phillips)
1068
+ * [2717](https://github.com/AcademySoftwareFoundation/openexr/pull/2717)
1069
+ Fix DWA uninitialized heap memory disclosure (by @cary-ilm/Cary Phillips)
1070
+
1071
+ ### Merged Workflow Pull Requests
1072
+
1073
+ * [2711](https://github.com/AcademySoftwareFoundation/openexr/pull/2711)
1074
+ Bump vmactions/freebsd-vm from 1.5.8 to 1.5.9 (by @app/dependabot)
1075
+ * [2703](https://github.com/AcademySoftwareFoundation/openexr/pull/2703)
1076
+ Strip Contributors from notes in slack release post (by @cary-ilm/Cary Phillips)
1077
+
1078
+ ## Version 3.3.14 (August 21, 2026)
1079
+
1080
+ v3.4.15 fixes two memory issues when parsing IDManifests. Corrupt
1081
+ or maliciously formed OpenEXR images could trigger excessive memory
1082
+ allocation, but only in code which decodes the idmanifest attribute.
1083
+ Other code is unaffected, even when handling files with idmanifest attributes
1084
+
1085
+ CVEs have been requested for these issues.
1086
+
1087
+
1088
+ ### Merged Pull Requests
1089
+
1090
+ * [2575](git@github.com:AcademySoftwareFoundation/openexr/pull/2575)
1091
+ don't preallocate manifest when parsing IDManifests
1092
+ * [2572](git@github.com:AcademySoftwareFoundation/openexr/pull/2572)
1093
+ Bound IDManifest uncompressed size and version-field read
1094
+
1095
+ ### Merged Workflow Pull Requests
1096
+
1097
+
1035
1098
  ## Version 3.3.13 (August 6, 2026)
1036
1099
 
1037
1100
  v3.3.13 is a security-focused patch release for the v3.3 release
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OpenEXR
3
- Version: 3.3.13
3
+ Version: 3.3.15
4
4
  Summary: Python bindings for the OpenEXR image file format
5
5
  Author-Email: Contributors to the OpenEXR project <info@openexr.com>
6
6
  Project-URL: Homepage, https://openexr.com
@@ -492,7 +492,12 @@ Context::header (int partidx) const
492
492
  break;
493
493
 
494
494
  case EXR_ATTR_CHLIST: {
495
- ChannelList& chans = hdr.channels ();
495
+ // Only the attribute named "channels" is validated by the
496
+ // core library and describes the pixel data; any other
497
+ // chlist attribute is kept as an ordinary attribute.
498
+ const bool isChannels = !strcmp (cur->name, "channels");
499
+ ChannelList other;
500
+ ChannelList& chans = isChannels ? hdr.channels () : other;
496
501
 
497
502
  for (int c = 0; c < cur->chlist->num_channels; ++c)
498
503
  {
@@ -506,6 +511,9 @@ Context::header (int partidx) const
506
511
  curc.y_sampling,
507
512
  curc.p_linear != 0));
508
513
  }
514
+
515
+ if (!isChannels)
516
+ hdr.insert (cur->name, ChannelListAttribute (other));
509
517
  break;
510
518
  }
511
519
 
@@ -1200,22 +1200,25 @@ DeepTiledOutputFile::initialize (const Header& header)
1200
1200
  _data->minY = dataWindow.min.y;
1201
1201
  _data->maxY = dataWindow.max.y;
1202
1202
 
1203
- _data->maxSampleCountTableSize =
1204
- _data->tileDesc.ySize * _data->tileDesc.xSize * sizeof (int);
1203
+ // widen before multiplying: the 32-bit product of the tile
1204
+ // dimensions can wrap to 0 and bypass the limit below
1205
+ const uint64_t tileArea = static_cast<uint64_t> (_data->tileDesc.ySize) *
1206
+ static_cast<uint64_t> (_data->tileDesc.xSize);
1205
1207
 
1206
1208
  //
1207
1209
  // impose limit of 2^32 bytes of storage for maxSampleCountTableSize
1208
1210
  // (disallow files with very large tile areas that would otherwise cause excessive memory allocation)
1209
1211
  //
1210
1212
 
1211
- if (_data->maxSampleCountTableSize >
1212
- std::numeric_limits<unsigned int>::max ())
1213
+ if (tileArea > std::numeric_limits<unsigned int>::max () / sizeof (int))
1213
1214
  {
1214
1215
  THROW (
1215
1216
  IEX_NAMESPACE::ArgExc,
1216
1217
  "Deep tile size exceeds maximum permitted area");
1217
1218
  }
1218
1219
 
1220
+ _data->maxSampleCountTableSize = tileArea * sizeof (int);
1221
+
1219
1222
  //
1220
1223
  // Precompute level and tile information to speed up utility functions
1221
1224
  //
@@ -14,6 +14,7 @@
14
14
  #include <openexr_compression.h>
15
15
 
16
16
  #include <algorithm>
17
+ #include <limits>
17
18
  #include <stdint.h>
18
19
  #include <stdlib.h>
19
20
  #include <string.h>
@@ -348,6 +349,11 @@ IDManifest::IDManifest (const char* data, const char* endOfData)
348
349
  void
349
350
  IDManifest::init (const char* data, const char* endOfData)
350
351
  {
352
+ if (data + sizeof (unsigned int) > endOfData)
353
+ {
354
+ throw IEX_NAMESPACE::InputExc (
355
+ "IDManifest too small for version field");
356
+ }
351
357
 
352
358
  unsigned int version;
353
359
  Xdr::read<CharPtrIO> (data, version);
@@ -478,13 +484,17 @@ IDManifest::init (const char* data, const char* endOfData)
478
484
 
479
485
  _manifest.clear ();
480
486
 
481
- _manifest.resize (manifestEntries);
487
+ if (manifestEntries <0)
488
+ {
489
+ throw IEX_NAMESPACE::InputExc ("bad number of ChannelGroupsManifests in IDManifest");
490
+ }
482
491
 
483
492
  for (int manifestEntry = 0; manifestEntry < manifestEntries;
484
493
  ++manifestEntry)
485
494
  {
486
495
 
487
- ChannelGroupManifest& m = _manifest[manifestEntry];
496
+ _manifest.push_back(ChannelGroupManifest());
497
+ ChannelGroupManifest& m = _manifest.back();
488
498
 
489
499
  //
490
500
  // read header of this manifest entry
@@ -575,6 +585,34 @@ IDManifest::init (const char* data, const char* endOfData)
575
585
 
576
586
  IDManifest::IDManifest (const CompressedIDManifest& compressed)
577
587
  {
588
+ //
589
+ // Reject an implausible declared uncompressed size before allocating
590
+ // anything for it. The declared size is otherwise an unvalidated
591
+ // 64-bit value taken directly from the file, used as a buffer size
592
+ // before decompression (and thus before any check on its contents),
593
+ // which allows a tiny file to force an enormous, fully-committed
594
+ // allocation (a denial of service) or, at 0, a null-pointer
595
+ // dereference during `init`.
596
+ //
597
+ // OpenEXR places no fixed limit on data size (see setMaxImageSize(),
598
+ // which is off/unlimited by default), so a manifest legitimately may
599
+ // be very large; an absolute cap here would reject valid files. What
600
+ // must hold regardless of size is zlib's own maximum expansion ratio
601
+ // of ~1032:1, so scale the bound by the compressed size actually
602
+ // present in the file instead of an arbitrary constant.
603
+ //
604
+ static const uint64_t MAX_EXPANSION = 1032;
605
+
606
+ if (compressed._uncompressedDataSize == 0 ||
607
+ compressed._compressedDataSize >
608
+ std::numeric_limits<uint64_t>::max () / MAX_EXPANSION ||
609
+ compressed._uncompressedDataSize >
610
+ compressed._compressedDataSize * MAX_EXPANSION)
611
+ {
612
+ throw IEX_NAMESPACE::InputExc (
613
+ "IDManifest has an implausible uncompressed data size");
614
+ }
615
+
578
616
  //
579
617
  // decompress the compressed manifest
580
618
  //
@@ -599,7 +637,7 @@ IDManifest::IDManifest (const CompressedIDManifest& compressed)
599
637
  "IDManifest decompression (zlib) failed: mismatch in decompressed data size");
600
638
  }
601
639
 
602
- init ((const char*) &uncomp[0], (const char*) &uncomp[0] + outSize);
640
+ init (uncomp.data (), uncomp.data () + outSize);
603
641
  }
604
642
 
605
643
  void
@@ -7,6 +7,7 @@
7
7
  #include "internal_decompress.h"
8
8
 
9
9
  #include "internal_coding.h"
10
+ #include "internal_util.h"
10
11
  #include "internal_xdr.h"
11
12
 
12
13
  #include <string.h>
@@ -673,8 +674,14 @@ compute_scratch_buffer_size (
673
674
  if (nx % 4) nx += 4 - nx % 4;
674
675
  if (ny % 4) ny += 4 - ny % 4;
675
676
 
676
- comp += (uint64_t) (ny) * (uint64_t) (nx) *
677
- (uint64_t) (curc->bytes_per_element);
677
+ /* guard against a wrapped accumulation producing an
678
+ * implausibly small scratch requirement relative to what the
679
+ * decompressor will actually touch (see GHSA-frx8-5p4h-j8m7) */
680
+ if (checked_mul_accum_u64 (
681
+ &comp,
682
+ (uint64_t) ny * (uint64_t) nx,
683
+ (uint64_t) curc->bytes_per_element))
684
+ return UINT64_MAX;
678
685
  }
679
686
  if (comp > ret) ret = comp;
680
687
  return ret;
@@ -692,7 +699,8 @@ internal_exr_undo_b44 (
692
699
  {
693
700
  exr_result_t rv;
694
701
  uint64_t scratch_sz = compute_scratch_buffer_size (decode, uncompressed_size);
695
- if (scratch_sz != (size_t) scratch_sz) return EXR_ERR_OUT_OF_MEMORY;
702
+ if (scratch_sz == UINT64_MAX || scratch_sz != (size_t) scratch_sz)
703
+ return EXR_ERR_OUT_OF_MEMORY;
696
704
  rv = internal_decode_alloc_buffer (
697
705
  decode,
698
706
  EXR_TRANSCODE_BUFFER_SCRATCH1,
@@ -719,7 +727,8 @@ internal_exr_undo_b44a (
719
727
  {
720
728
  exr_result_t rv;
721
729
  uint64_t scratch_sz = compute_scratch_buffer_size (decode, uncompressed_size);
722
- if (scratch_sz != (size_t) scratch_sz) return EXR_ERR_OUT_OF_MEMORY;
730
+ if (scratch_sz == UINT64_MAX || scratch_sz != (size_t) scratch_sz)
731
+ return EXR_ERR_OUT_OF_MEMORY;
723
732
  rv = internal_decode_alloc_buffer (
724
733
  decode,
725
734
  EXR_TRANSCODE_BUFFER_SCRATCH1,
@@ -872,6 +872,8 @@ DwaCompressor_uncompress (
872
872
 
873
873
  if (unknownCompressedSize > 0)
874
874
  {
875
+ size_t unknownActualOut;
876
+
875
877
  if (unknownUncompressedSize > me->_planarUncBufferSize[UNKNOWN])
876
878
  {
877
879
  return EXR_ERR_CORRUPT_CHUNK;
@@ -883,7 +885,18 @@ DwaCompressor_uncompress (
883
885
  unknownCompressedSize,
884
886
  me->_planarUncBuffer[UNKNOWN],
885
887
  unknownUncompressedSize,
886
- NULL))
888
+ &unknownActualOut))
889
+ {
890
+ return EXR_ERR_CORRUPT_CHUNK;
891
+ }
892
+
893
+ /* A short zlib stream (fewer bytes produced than requested) is
894
+ * reported as success (see translate_deflate_result), leaving
895
+ * the tail of _planarUncBuffer[UNKNOWN] filled with stale heap
896
+ * contents that are then copied into the decoded image. Reject
897
+ * it explicitly instead of trusting the full buffer was written
898
+ * (see GHSA-rjg8-982x-jhc2). */
899
+ if (unknownActualOut != unknownUncompressedSize)
887
900
  {
888
901
  return EXR_ERR_CORRUPT_CHUNK;
889
902
  }
@@ -292,8 +292,8 @@ LossyDctDecoder_execute (
292
292
  int numComp = d->_channel_decode_data_count;
293
293
  DctCoderChannelData* chanData[3];
294
294
  int lastNonZero = 0;
295
- int numBlocksX = (d->_width + 7) / 8;
296
- int numBlocksY = (d->_height + 7) / 8;
295
+ int numBlocksX = (int) (((int64_t) d->_width + 7) / 8);
296
+ int numBlocksY = (int) (((int64_t) d->_height + 7) / 8);
297
297
  int leftoverX = d->_width - (numBlocksX - 1) * 8;
298
298
  int leftoverY = d->_height - (numBlocksY - 1) * 8;
299
299
 
@@ -320,9 +320,15 @@ LossyDctDecoder_execute (
320
320
  // Allocate a temp aligned buffer to hold a rows worth of full
321
321
  // 8x8 half-float blocks
322
322
  //
323
- rowBlockHandle = alloc_fn (
324
- (size_t) numComp * (size_t) numBlocksX * 64 * sizeof (uint16_t) +
325
- _SSE_ALIGNMENT);
323
+ // (computed in 64 bits: with a 32-bit size_t the product can wrap
324
+ // and under-allocate for very wide chunks)
325
+ //
326
+ uint64_t rowBlockBytes = (uint64_t) numComp * (uint64_t) numBlocksX * 64 *
327
+ sizeof (uint16_t) +
328
+ _SSE_ALIGNMENT;
329
+ if (rowBlockBytes > SIZE_MAX) return EXR_ERR_OUT_OF_MEMORY;
330
+
331
+ rowBlockHandle = alloc_fn ((size_t) rowBlockBytes);
326
332
  if (!rowBlockHandle) return EXR_ERR_OUT_OF_MEMORY;
327
333
 
328
334
  rowBlock[0] = (uint16_t*) simd_align_pointer (rowBlockHandle);
@@ -513,13 +519,13 @@ LossyDctDecoder_execute (
513
519
  if (!blockIsConstant)
514
520
  {
515
521
  (*convertFloatToHalf64) (
516
- &rowBlock[comp][blockx * 64], chanData[comp]->_dctData);
522
+ &rowBlock[comp][(uint64_t) blockx * 64], chanData[comp]->_dctData);
517
523
  }
518
524
  else
519
525
  {
520
526
  #ifdef IMF_HAVE_SSE2
521
527
 
522
- __m128i* dst = (__m128i*) &rowBlock[comp][blockx * 64];
528
+ __m128i* dst = (__m128i*) &rowBlock[comp][(uint64_t) blockx * 64];
523
529
 
524
530
  dst[0] = _mm_set1_epi16 (
525
531
  (short) float_to_half (chanData[comp]->_dctData[0]));
@@ -534,7 +540,7 @@ LossyDctDecoder_execute (
534
540
 
535
541
  #else /* IMF_HAVE_SSE2 */
536
542
 
537
- uint16_t* dst = &rowBlock[comp][blockx * 64];
543
+ uint16_t* dst = &rowBlock[comp][(uint64_t) blockx * 64];
538
544
 
539
545
  dst[0] = float_to_half (chanData[comp]->_dctData[0]);
540
546
 
@@ -661,7 +667,7 @@ LossyDctDecoder_execute (
661
667
  for (int blockx = 0; blockx < numFullBlocksX; ++blockx)
662
668
  {
663
669
  uint16_t* restrict src =
664
- &rowBlock[comp][blockx * 64 + ((y & 0x7) * 8)];
670
+ &rowBlock[comp][(uint64_t) blockx * 64 + ((y & 0x7) * 8)];
665
671
 
666
672
  dst[0] = d->_toLinear[src[0]];
667
673
  dst[1] = d->_toLinear[src[1]];
@@ -687,7 +693,7 @@ LossyDctDecoder_execute (
687
693
  for (int blockx = 0; blockx < numFullBlocksX; ++blockx)
688
694
  {
689
695
  uint16_t* src =
690
- &rowBlock[comp][blockx * 64 + ((y & 0x7) * 8)];
696
+ &rowBlock[comp][(uint64_t) blockx * 64 + ((y & 0x7) * 8)];
691
697
  memcpy (dst, src, 8*sizeof(uint16_t));
692
698
  dst += 8;
693
699
  }
@@ -706,7 +712,7 @@ LossyDctDecoder_execute (
706
712
  for (int y = 8 * blocky; y < 8 * blocky + maxY; ++y)
707
713
  {
708
714
  uint16_t* src = (uint16_t*) &rowBlock[comp]
709
- [numFullBlocksX * 64 +
715
+ [(uint64_t) numFullBlocksX * 64 +
710
716
  ((y & 0x7) * 8)];
711
717
 
712
718
  uint16_t* dst = (uint16_t*) chanData[comp]->_rows[y];
@@ -9,6 +9,7 @@
9
9
  #include "internal_constants.h"
10
10
  #include "internal_memory.h"
11
11
 
12
+ #include <limits.h>
12
13
  #include <stdarg.h>
13
14
  #include <stdio.h>
14
15
  #include <string.h>
@@ -178,8 +179,9 @@ internal_exr_destroy_parts (exr_context_t ctxt)
178
179
 
179
180
  if (ctxt->parts != &(ctxt->init_part)) ctxt->free_fn (ctxt->parts);
180
181
  ctxt->init_part = NULL;
181
- ctxt->parts = NULL;
182
- ctxt->num_parts = 0;
182
+ ctxt->parts = NULL;
183
+ ctxt->part_capacity = 0;
184
+ ctxt->num_parts = 0;
183
185
  }
184
186
 
185
187
  /**************************************/
@@ -191,6 +193,7 @@ internal_exr_add_part (
191
193
  int ncount = f->num_parts + 1;
192
194
  exr_priv_part_t part;
193
195
  exr_priv_part_t* nptrs = NULL;
196
+ int newcapacity = 0;
194
197
 
195
198
  if (new_index) *new_index = f->num_parts;
196
199
 
@@ -201,18 +204,32 @@ internal_exr_add_part (
201
204
  /* also need a pointer to pointer... */
202
205
  f->init_part = part;
203
206
  nptrs = &(f->init_part);
207
+ newcapacity = 1;
204
208
  }
205
209
  else
206
210
  {
207
211
  part = f->alloc_fn (sizeof (struct _priv_exr_part_t));
208
212
  if (!part) return f->standard_error (f, EXR_ERR_OUT_OF_MEMORY);
209
213
 
210
- nptrs = f->alloc_fn (sizeof (exr_priv_part_t) * (size_t) ncount);
211
- if (!nptrs)
214
+ if (ncount > f->part_capacity)
212
215
  {
213
- f->free_fn (part);
214
- return f->standard_error (f, EXR_ERR_OUT_OF_MEMORY);
216
+ /* grow geometrically so adding N parts is O(N), not O(N^2) */
217
+ int newcap = f->part_capacity < 4
218
+ ? 4
219
+ : (f->part_capacity <= INT_MAX / 2
220
+ ? f->part_capacity * 2
221
+ : ncount);
222
+
223
+ nptrs = f->alloc_fn (sizeof (exr_priv_part_t) * (size_t) newcap);
224
+ if (!nptrs)
225
+ {
226
+ f->free_fn (part);
227
+ return f->standard_error (f, EXR_ERR_OUT_OF_MEMORY);
228
+ }
229
+ newcapacity = newcap;
215
230
  }
231
+ else
232
+ nptrs = f->parts;
216
233
  }
217
234
  memset (part, 0, sizeof (struct _priv_exr_part_t));
218
235
 
@@ -229,15 +246,19 @@ internal_exr_add_part (
229
246
  part->dwa_compression_level = f->default_dwa_quality;
230
247
 
231
248
  /* put it into the part table */
232
- for (int p = 0; p < f->num_parts; ++p)
249
+ if (nptrs != f->parts)
233
250
  {
234
- nptrs[p] = f->parts[p];
251
+ for (int p = 0; p < f->num_parts; ++p)
252
+ {
253
+ nptrs[p] = f->parts[p];
254
+ }
255
+
256
+ if (f->parts && f->parts != &(f->init_part)) { f->free_fn (f->parts); }
257
+ f->parts = nptrs;
258
+ f->part_capacity = newcapacity;
235
259
  }
236
260
  nptrs[f->num_parts] = part;
237
-
238
- if (f->parts && f->parts != &(f->init_part)) { f->free_fn (f->parts); }
239
- f->parts = nptrs;
240
- f->num_parts = ncount;
261
+ f->num_parts = ncount;
241
262
  if (outpart) *outpart = part;
242
263
 
243
264
  return EXR_ERR_SUCCESS;
@@ -272,7 +293,8 @@ internal_exr_revert_add_part (
272
293
  if (ctxt->parts && ctxt->parts != &(ctxt->init_part))
273
294
  ctxt->free_fn (ctxt->parts);
274
295
 
275
- ctxt->parts = NULL;
296
+ ctxt->parts = NULL;
297
+ ctxt->part_capacity = 0;
276
298
  }
277
299
  ctxt->num_parts = ncount;
278
300
  }
@@ -229,6 +229,8 @@ struct _priv_exr_context_t
229
229
  /* cheap array of one */
230
230
  exr_priv_part_t init_part;
231
231
  exr_priv_part_t* parts;
232
+ /* allocated capacity of the parts array, grown geometrically */
233
+ int part_capacity;
232
234
 
233
235
  exr_attribute_list_t custom_handlers;
234
236
 
@@ -58,4 +58,26 @@ compute_sampled_width (int width, int x_sampling, int start_x)
58
58
  return (width == 1) ? 1 : (width / x_sampling);
59
59
  }
60
60
 
61
+ /* Multiplies @p a by @p b and adds the result into @p accum, all as
62
+ * uint64_t. Returns 1 and leaves @p accum unmodified if either the
63
+ * multiplication or the subsequent accumulation would overflow a
64
+ * 64-bit unsigned integer, otherwise returns 0. Used to guard
65
+ * unpacked / scratch buffer size computations (width * height *
66
+ * bytes-per-pixel * channel-count) against wraparound on crafted
67
+ * files with extreme dimensions or channel counts. */
68
+ static inline int
69
+ checked_mul_accum_u64 (uint64_t* accum, uint64_t a, uint64_t b)
70
+ {
71
+ uint64_t prod, sum;
72
+
73
+ if (a != 0 && b > (UINT64_MAX / a)) return 1;
74
+ prod = a * b;
75
+
76
+ sum = *accum + prod;
77
+ if (sum < *accum) return 1;
78
+
79
+ *accum = sum;
80
+ return 0;
81
+ }
82
+
61
83
  #endif /* OPENEXR_PRIVATE_UTIL_H */
@@ -10,6 +10,6 @@
10
10
 
11
11
  # define OPENEXR_VERSION_MAJOR 3
12
12
  # define OPENEXR_VERSION_MINOR 3
13
- # define OPENEXR_VERSION_PATCH 13
13
+ # define OPENEXR_VERSION_PATCH 15
14
14
 
15
15
  #endif
@@ -2465,14 +2465,14 @@ internal_exr_compute_chunk_offset_size (exr_priv_part_t curpart)
2465
2465
  for (int c = 0; c < channels->num_channels; ++c)
2466
2466
  {
2467
2467
  /* tiles do not allow x/y sub sampling */
2468
- uint64_t cunpsz = 0;
2469
- if (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2470
- cunpsz = 2;
2471
- else
2472
- cunpsz = 4;
2473
- cunpsz *= (uint64_t) tiledesc->x_size;
2474
- cunpsz *= (uint64_t) tiledesc->y_size;
2475
- unpackedsize += cunpsz;
2468
+ uint64_t cunpsz = (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2469
+ ? 2
2470
+ : 4;
2471
+ if (checked_mul_accum_u64 (
2472
+ &unpackedsize,
2473
+ cunpsz,
2474
+ (uint64_t) tiledesc->x_size * (uint64_t) tiledesc->y_size))
2475
+ return -1;
2476
2476
  }
2477
2477
  curpart->unpacked_size_per_chunk = unpackedsize;
2478
2478
  curpart->chan_has_line_sampling = ((int16_t) hasLineSample);
@@ -2491,16 +2491,17 @@ internal_exr_compute_chunk_offset_size (exr_priv_part_t curpart)
2491
2491
  {
2492
2492
  int xsamp = channels->entries[c].x_sampling;
2493
2493
  int ysamp = channels->entries[c].y_sampling;
2494
- uint64_t cunpsz = 0;
2495
- if (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2496
- cunpsz = 2;
2497
- else
2498
- cunpsz = 4;
2499
- cunpsz *= (uint64_t) compute_sampled_width (w, xsamp, dw.min.x);
2500
- cunpsz *= (uint64_t) compute_sampled_height (linePerChunk, ysamp, dw.min.y);
2494
+ uint64_t cunpsz = (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2495
+ ? 2
2496
+ : 4;
2497
+ uint64_t sampw =
2498
+ (uint64_t) compute_sampled_width ((int) w, xsamp, dw.min.x);
2499
+ uint64_t samph = (uint64_t) compute_sampled_height (
2500
+ linePerChunk, ysamp, dw.min.y);
2501
2501
  if (ysamp > 1)
2502
2502
  hasLineSample = 1;
2503
- unpackedsize += cunpsz;
2503
+ if (checked_mul_accum_u64 (&unpackedsize, cunpsz, sampw * samph))
2504
+ return -1;
2504
2505
  }
2505
2506
 
2506
2507
  curpart->unpacked_size_per_chunk = unpackedsize;
@@ -494,8 +494,29 @@ copy_attr (
494
494
  default: rv = ctxt->standard_error (ctxt, EXR_ERR_INVALID_ATTR); break;
495
495
  }
496
496
 
497
- if (rv != EXR_ERR_SUCCESS)
497
+ if (rv != EXR_ERR_SUCCESS && attr)
498
+ {
499
+ // the required attributes are cached in the part; don't leave any of
500
+ // them pointing at the attribute that is about to be freed
501
+ exr_attribute_t** cached[] = {
502
+ &part->channels,
503
+ &part->compression,
504
+ &part->dataWindow,
505
+ &part->displayWindow,
506
+ &part->lineOrder,
507
+ &part->pixelAspectRatio,
508
+ &part->screenWindowCenter,
509
+ &part->screenWindowWidth,
510
+ &part->tiles,
511
+ &part->name,
512
+ &part->type,
513
+ &part->version,
514
+ &part->chunkCount};
515
+ for (size_t i = 0; i < sizeof (cached) / sizeof (cached[0]); ++i)
516
+ if (*cached[i] == attr) *cached[i] = NULL;
517
+
498
518
  exr_attr_list_remove (ctxt, &(part->attributes), attr);
519
+ }
499
520
 
500
521
  return rv;
501
522
  }
@@ -549,7 +570,7 @@ exr_copy_unset_attributes (
549
570
  else { rv = EXR_ERR_SUCCESS; }
550
571
  }
551
572
 
552
- if (update_tiles)
573
+ if (update_tiles && rv == EXR_ERR_SUCCESS)
553
574
  rv = internal_exr_compute_tile_information (ctxt, part, 1);
554
575
 
555
576
  if (source != ctxt) internal_exr_unlock (source);
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include <limits.h>
13
13
  #include <math.h>
14
+ #include <stdint.h>
14
15
  #include <stdio.h>
15
16
  #include <string.h>
16
17
 
@@ -414,6 +415,22 @@ validate_channels (
414
415
  return f->report_error (
415
416
  f, EXR_ERR_FILE_BAD_HEADER, "At least one channel required");
416
417
 
418
+ /* Internal coding pipeline structures (exr_coding_channel_info_t
419
+ * descriptor counts, exr_decode/encode_pipeline_t::channel_count)
420
+ * store the channel count in an int16_t. A channel list larger than
421
+ * this silently truncates downstream (e.g. 73,728 channels wraps to
422
+ * 8,192), decoupling the actual channel count from the one used to
423
+ * size scratch/unpacked buffers and leading to undersized
424
+ * allocations relative to the data actually unpacked. Reject such
425
+ * files outright. */
426
+ if (channels->num_channels > INT16_MAX)
427
+ return f->print_error (
428
+ f,
429
+ EXR_ERR_FILE_BAD_HEADER,
430
+ "Channel count (%d) exceeds maximum supported value (%d)",
431
+ channels->num_channels,
432
+ (int) INT16_MAX);
433
+
417
434
  dw = curpart->data_window;
418
435
  w = (int64_t) dw.max.x - (int64_t) dw.min.x + 1;
419
436
  h = (int64_t) dw.max.y - (int64_t) dw.min.y + 1;