OpenEXR 3.4.16__tar.gz → 3.4.17__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 (1126) hide show
  1. {openexr-3.4.16 → openexr-3.4.17}/CHANGES.md +57 -0
  2. {openexr-3.4.16 → openexr-3.4.17}/PKG-INFO +1 -1
  3. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfContext.cpp +9 -1
  4. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.cpp +9 -0
  5. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledOutputFile.cpp +17 -4
  6. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/chunk.c +5 -6
  7. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_b44.c +13 -4
  8. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_compressor.h +14 -1
  9. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_decoder.h +17 -11
  10. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_structs.c +35 -13
  11. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_structs.h +2 -0
  12. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_util.h +23 -1
  13. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_chunkio.h +6 -0
  14. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_version.h +1 -1
  15. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/parse_header.c +17 -16
  16. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/part_attr.c +23 -2
  17. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/validation.c +17 -0
  18. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/deep.cpp +10 -4
  19. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/read.cpp +8 -0
  20. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/write.cpp +80 -0
  21. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepTiledBasic.cpp +205 -0
  22. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testHeader.cpp +60 -2
  23. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/PyOpenEXR.cpp +22 -2
  24. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/PyOpenEXR_old.cpp +11 -2
  25. openexr-3.4.17/src/wrappers/python/tests/multipart.exr +0 -0
  26. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_rgba.py +30 -0
  27. {openexr-3.4.16 → openexr-3.4.17}/.bazelrc +0 -0
  28. {openexr-3.4.16 → openexr-3.4.17}/.bazelversion +0 -0
  29. {openexr-3.4.16 → openexr-3.4.17}/.clang-format +0 -0
  30. {openexr-3.4.16 → openexr-3.4.17}/.git-blame-ignore-revs +0 -0
  31. {openexr-3.4.16 → openexr-3.4.17}/.gitignore +0 -0
  32. {openexr-3.4.16 → openexr-3.4.17}/.mailmap +0 -0
  33. {openexr-3.4.16 → openexr-3.4.17}/.readthedocs.yml +0 -0
  34. {openexr-3.4.16 → openexr-3.4.17}/BUILD.bazel +0 -0
  35. {openexr-3.4.16 → openexr-3.4.17}/CMakeLists.txt +0 -0
  36. {openexr-3.4.16 → openexr-3.4.17}/CMakePresets.json +0 -0
  37. {openexr-3.4.16 → openexr-3.4.17}/CODEOWNERS +0 -0
  38. {openexr-3.4.16 → openexr-3.4.17}/CODE_OF_CONDUCT.md +0 -0
  39. {openexr-3.4.16 → openexr-3.4.17}/CONTRIBUTING.md +0 -0
  40. {openexr-3.4.16 → openexr-3.4.17}/CONTRIBUTORS.md +0 -0
  41. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/AUTHORS +0 -0
  42. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/ChangeLog +0 -0
  43. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/DtexToExr.cpp +0 -0
  44. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/Makefile.test +0 -0
  45. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxBaseDeepHelper.h +0 -0
  46. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxDeepOutPixel.h +0 -0
  47. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxDeepOutRow.h +0 -0
  48. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxDeepUtils.cpp +0 -0
  49. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxDeepUtils.h +0 -0
  50. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxFourChanDeepRgba.h +0 -0
  51. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxOneChanDeepAlpha.h +0 -0
  52. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/PxOneChanDeepOpacity.h +0 -0
  53. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/README +0 -0
  54. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/bootstrap +0 -0
  55. {openexr-3.4.16 → openexr-3.4.17}/Contrib/DtexToExr/configure.ac +0 -0
  56. {openexr-3.4.16 → openexr-3.4.17}/Contrib/NuGet/OpenEXR-msvc-x64-build.nuget.bat +0 -0
  57. {openexr-3.4.16 → openexr-3.4.17}/Contrib/NuGet/OpenEXR-msvc-x64.nuspec +0 -0
  58. {openexr-3.4.16 → openexr-3.4.17}/Contrib/NuGet/OpenEXR-msvc-x64.targets +0 -0
  59. {openexr-3.4.16 → openexr-3.4.17}/Contrib/NuGet/OpenEXR-msvc-x86-build.nuget.bat +0 -0
  60. {openexr-3.4.16 → openexr-3.4.17}/Contrib/NuGet/OpenEXR-msvc-x86.nuspec +0 -0
  61. {openexr-3.4.16 → openexr-3.4.17}/Contrib/NuGet/OpenEXR-msvc-x86.targets +0 -0
  62. {openexr-3.4.16 → openexr-3.4.17}/GOVERNANCE.md +0 -0
  63. {openexr-3.4.16 → openexr-3.4.17}/LICENSE.md +0 -0
  64. {openexr-3.4.16 → openexr-3.4.17}/MODULE.bazel +0 -0
  65. {openexr-3.4.16 → openexr-3.4.17}/PATENTS +0 -0
  66. {openexr-3.4.16 → openexr-3.4.17}/README.md +0 -0
  67. {openexr-3.4.16 → openexr-3.4.17}/SECURITY.md +0 -0
  68. {openexr-3.4.16 → openexr-3.4.17}/cmake/CMakeLists.txt +0 -0
  69. {openexr-3.4.16 → openexr-3.4.17}/cmake/FindPythonPackage.cmake +0 -0
  70. {openexr-3.4.16 → openexr-3.4.17}/cmake/FindSphinx.cmake +0 -0
  71. {openexr-3.4.16 → openexr-3.4.17}/cmake/IexConfig.h.in +0 -0
  72. {openexr-3.4.16 → openexr-3.4.17}/cmake/IexConfigInternal.h.in +0 -0
  73. {openexr-3.4.16 → openexr-3.4.17}/cmake/IlmThreadConfig.h.in +0 -0
  74. {openexr-3.4.16 → openexr-3.4.17}/cmake/JoinPaths.cmake +0 -0
  75. {openexr-3.4.16 → openexr-3.4.17}/cmake/LibraryDefine.cmake +0 -0
  76. {openexr-3.4.16 → openexr-3.4.17}/cmake/OpenEXR.pc.in +0 -0
  77. {openexr-3.4.16 → openexr-3.4.17}/cmake/OpenEXRConfig.cmake.in +0 -0
  78. {openexr-3.4.16 → openexr-3.4.17}/cmake/OpenEXRConfig.h.in +0 -0
  79. {openexr-3.4.16 → openexr-3.4.17}/cmake/OpenEXRConfigInternal.h.in +0 -0
  80. {openexr-3.4.16 → openexr-3.4.17}/cmake/OpenEXRLibraryDefine.cmake +0 -0
  81. {openexr-3.4.16 → openexr-3.4.17}/cmake/OpenEXRSetup.cmake +0 -0
  82. {openexr-3.4.16 → openexr-3.4.17}/cmake/SampleCTestScript.cmake +0 -0
  83. {openexr-3.4.16 → openexr-3.4.17}/cmake/Toolchain-Linux-VFX_Platform15.cmake +0 -0
  84. {openexr-3.4.16 → openexr-3.4.17}/cmake/Toolchain-mingw.cmake +0 -0
  85. {openexr-3.4.16 → openexr-3.4.17}/cmake/clang-format.cmake +0 -0
  86. {openexr-3.4.16 → openexr-3.4.17}/cmake/cmake_uninstall.cmake.in +0 -0
  87. {openexr-3.4.16 → openexr-3.4.17}/docs/CMakeLists.txt +0 -0
  88. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/CMakeLists.txt +0 -0
  89. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/LICENSE +0 -0
  90. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/README.md +0 -0
  91. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/ojph_version.cmake +0 -0
  92. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/CMakeLists.txt +0 -0
  93. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_bitbuffer_read.h +0 -0
  94. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_bitbuffer_write.h +0 -0
  95. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codeblock.cpp +0 -0
  96. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codeblock.h +0 -0
  97. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codeblock_fun.cpp +0 -0
  98. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codeblock_fun.h +0 -0
  99. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream.cpp +0 -0
  100. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_avx.cpp +0 -0
  101. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_avx2.cpp +0 -0
  102. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_gen.cpp +0 -0
  103. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_local.cpp +0 -0
  104. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_local.h +0 -0
  105. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_sse.cpp +0 -0
  106. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_sse2.cpp +0 -0
  107. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_vsx.cpp +0 -0
  108. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_codestream_wasm.cpp +0 -0
  109. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_params.cpp +0 -0
  110. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_params_local.h +0 -0
  111. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_precinct.cpp +0 -0
  112. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_precinct.h +0 -0
  113. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_resolution.cpp +0 -0
  114. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_resolution.h +0 -0
  115. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_subband.cpp +0 -0
  116. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_subband.h +0 -0
  117. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_tile.cpp +0 -0
  118. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_tile.h +0 -0
  119. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_tile_comp.cpp +0 -0
  120. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/codestream/ojph_tile_comp.h +0 -0
  121. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_common.cpp +0 -0
  122. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_common.h +0 -0
  123. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_decoder.h +0 -0
  124. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_decoder32.cpp +0 -0
  125. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_decoder64.cpp +0 -0
  126. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_decoder_avx2.cpp +0 -0
  127. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_decoder_ssse3.cpp +0 -0
  128. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_decoder_vsx.cpp +0 -0
  129. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_decoder_wasm.cpp +0 -0
  130. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_encoder.cpp +0 -0
  131. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_encoder.h +0 -0
  132. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_encoder_avx2.cpp +0 -0
  133. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_encoder_avx2_apple.h +0 -0
  134. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/ojph_block_encoder_avx512.cpp +0 -0
  135. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/table0.h +0 -0
  136. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/coding/table1.h +0 -0
  137. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_arch.h +0 -0
  138. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_arg.h +0 -0
  139. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_base.h +0 -0
  140. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_codestream.h +0 -0
  141. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_defs.h +0 -0
  142. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_file.h +0 -0
  143. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_mem.h +0 -0
  144. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_message.h +0 -0
  145. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_params.h +0 -0
  146. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/openjph/ojph_version.h +0 -0
  147. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/others/ojph_arch.cpp +0 -0
  148. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/others/ojph_file.cpp +0 -0
  149. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/others/ojph_mem.cpp +0 -0
  150. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/others/ojph_mem_c.c +0 -0
  151. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/others/ojph_message.cpp +0 -0
  152. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/shared/ojph_simd_vsx.h +0 -0
  153. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour.cpp +0 -0
  154. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour.h +0 -0
  155. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour_avx.cpp +0 -0
  156. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour_avx2.cpp +0 -0
  157. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour_local.h +0 -0
  158. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour_sse.cpp +0 -0
  159. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour_sse2.cpp +0 -0
  160. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour_vsx.cpp +0 -0
  161. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_colour_wasm.cpp +0 -0
  162. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform.cpp +0 -0
  163. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform.h +0 -0
  164. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_avx.cpp +0 -0
  165. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_avx2.cpp +0 -0
  166. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_avx512.cpp +0 -0
  167. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_local.h +0 -0
  168. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_sse.cpp +0 -0
  169. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_sse2.cpp +0 -0
  170. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_vsx.cpp +0 -0
  171. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/core/transform/ojph_transform_wasm.cpp +0 -0
  172. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/openjph-config.cmake.in +0 -0
  173. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/src/openjph.pc.in +0 -0
  174. {openexr-3.4.16 → openexr-3.4.17}/external/OpenJPH/target_arch.cmake +0 -0
  175. {openexr-3.4.16 → openexr-3.4.17}/external/current_deflate_version +0 -0
  176. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/.gitignore +0 -0
  177. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/COPYING +0 -0
  178. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/NEWS.md +0 -0
  179. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/README.md +0 -0
  180. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/common_defs.h +0 -0
  181. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/adler32.c +0 -0
  182. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/arm/adler32_impl.h +0 -0
  183. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/arm/cpu_features.c +0 -0
  184. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/arm/cpu_features.h +0 -0
  185. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/arm/crc32_impl.h +0 -0
  186. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/arm/crc32_pmull_helpers.h +0 -0
  187. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/arm/crc32_pmull_wide.h +0 -0
  188. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/arm/matchfinder_impl.h +0 -0
  189. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/bt_matchfinder.h +0 -0
  190. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/cpu_features_common.h +0 -0
  191. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/crc32.c +0 -0
  192. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/crc32_multipliers.h +0 -0
  193. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/crc32_tables.h +0 -0
  194. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/decompress_template.h +0 -0
  195. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/deflate_compress.c +0 -0
  196. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/deflate_compress.h +0 -0
  197. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/deflate_constants.h +0 -0
  198. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/deflate_decompress.c +0 -0
  199. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/gzip_compress.c +0 -0
  200. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/gzip_constants.h +0 -0
  201. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/gzip_decompress.c +0 -0
  202. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/hc_matchfinder.h +0 -0
  203. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/ht_matchfinder.h +0 -0
  204. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/lib_common.h +0 -0
  205. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/matchfinder_common.h +0 -0
  206. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/riscv/matchfinder_impl.h +0 -0
  207. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/utils.c +0 -0
  208. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/adler32_impl.h +0 -0
  209. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/adler32_template.h +0 -0
  210. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/cpu_features.c +0 -0
  211. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/cpu_features.h +0 -0
  212. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/crc32_impl.h +0 -0
  213. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/crc32_pclmul_template.h +0 -0
  214. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/decompress_impl.h +0 -0
  215. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/x86/matchfinder_impl.h +0 -0
  216. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/zlib_compress.c +0 -0
  217. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/zlib_constants.h +0 -0
  218. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/lib/zlib_decompress.c +0 -0
  219. {openexr-3.4.16 → openexr-3.4.17}/external/deflate/libdeflate.h +0 -0
  220. {openexr-3.4.16 → openexr-3.4.17}/external/patchup_deflate_lib.sed +0 -0
  221. {openexr-3.4.16 → openexr-3.4.17}/pyproject.toml +0 -0
  222. {openexr-3.4.16 → openexr-3.4.17}/sonar-project.properties +0 -0
  223. {openexr-3.4.16 → openexr-3.4.17}/src/bin/CMakeLists.txt +0 -0
  224. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exr2aces/CMakeLists.txt +0 -0
  225. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exr2aces/main.cpp +0 -0
  226. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrcheck/CMakeLists.txt +0 -0
  227. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrcheck/main.cpp +0 -0
  228. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/CMakeLists.txt +0 -0
  229. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/EnvmapImage.cpp +0 -0
  230. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/EnvmapImage.h +0 -0
  231. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/blurImage.cpp +0 -0
  232. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/blurImage.h +0 -0
  233. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/main.cpp +0 -0
  234. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/makeCubeMap.cpp +0 -0
  235. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/makeCubeMap.h +0 -0
  236. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/makeLatLongMap.cpp +0 -0
  237. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/makeLatLongMap.h +0 -0
  238. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/namespaceAlias.h +0 -0
  239. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/readInputImage.cpp +0 -0
  240. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/readInputImage.h +0 -0
  241. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/resizeImage.cpp +0 -0
  242. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrenvmap/resizeImage.h +0 -0
  243. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrheader/CMakeLists.txt +0 -0
  244. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrheader/main.cpp +0 -0
  245. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrinfo/CMakeLists.txt +0 -0
  246. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrinfo/main.c +0 -0
  247. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmakepreview/CMakeLists.txt +0 -0
  248. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmakepreview/main.cpp +0 -0
  249. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmakepreview/makePreview.cpp +0 -0
  250. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmakepreview/makePreview.h +0 -0
  251. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmaketiled/CMakeLists.txt +0 -0
  252. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmaketiled/Image.cpp +0 -0
  253. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmaketiled/Image.h +0 -0
  254. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmaketiled/main.cpp +0 -0
  255. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmaketiled/makeTiled.cpp +0 -0
  256. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmaketiled/makeTiled.h +0 -0
  257. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmaketiled/namespaceAlias.h +0 -0
  258. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmanifest/CMakeLists.txt +0 -0
  259. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmanifest/main.cpp +0 -0
  260. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmetrics/CMakeLists.txt +0 -0
  261. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmetrics/exrmetrics.cpp +0 -0
  262. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmetrics/exrmetrics.h +0 -0
  263. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmetrics/main.cpp +0 -0
  264. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultipart/CMakeLists.txt +0 -0
  265. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultipart/exrmultipart.cpp +0 -0
  266. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultiview/CMakeLists.txt +0 -0
  267. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultiview/Image.cpp +0 -0
  268. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultiview/Image.h +0 -0
  269. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultiview/main.cpp +0 -0
  270. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultiview/makeMultiView.cpp +0 -0
  271. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultiview/makeMultiView.h +0 -0
  272. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrmultiview/namespaceAlias.h +0 -0
  273. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrstdattr/CMakeLists.txt +0 -0
  274. {openexr-3.4.16 → openexr-3.4.17}/src/bin/exrstdattr/main.cpp +0 -0
  275. {openexr-3.4.16 → openexr-3.4.17}/src/lib/.gitignore +0 -0
  276. {openexr-3.4.16 → openexr-3.4.17}/src/lib/CMakeLists.txt +0 -0
  277. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/CMakeLists.txt +0 -0
  278. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/Iex.h +0 -0
  279. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexBaseExc.cpp +0 -0
  280. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexBaseExc.h +0 -0
  281. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexErrnoExc.h +0 -0
  282. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexExport.h +0 -0
  283. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexForward.h +0 -0
  284. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexMacros.h +0 -0
  285. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexMathExc.h +0 -0
  286. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexMathFloatExc.cpp +0 -0
  287. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexMathFloatExc.h +0 -0
  288. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexMathFpu.cpp +0 -0
  289. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexMathFpu.h +0 -0
  290. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexMathIeeeExc.h +0 -0
  291. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexNamespace.h +0 -0
  292. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexThrowErrnoExc.cpp +0 -0
  293. {openexr-3.4.16 → openexr-3.4.17}/src/lib/Iex/IexThrowErrnoExc.h +0 -0
  294. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/CMakeLists.txt +0 -0
  295. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThread.cpp +0 -0
  296. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThread.h +0 -0
  297. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadExport.h +0 -0
  298. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadForward.h +0 -0
  299. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadMutex.h +0 -0
  300. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadNamespace.h +0 -0
  301. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadPool.cpp +0 -0
  302. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadPool.h +0 -0
  303. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadProcessGroup.h +0 -0
  304. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadSemaphore.cpp +0 -0
  305. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadSemaphore.h +0 -0
  306. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadSemaphoreOSX.cpp +0 -0
  307. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp +0 -0
  308. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadSemaphorePosixCompat.cpp +0 -0
  309. {openexr-3.4.16 → openexr-3.4.17}/src/lib/IlmThread/IlmThreadSemaphoreWin32.cpp +0 -0
  310. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/CMakeLists.txt +0 -0
  311. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfAcesFile.cpp +0 -0
  312. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfAcesFile.h +0 -0
  313. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfArray.h +0 -0
  314. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfAttribute.cpp +0 -0
  315. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfAttribute.h +0 -0
  316. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfAutoArray.h +0 -0
  317. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfB44Compressor.cpp +0 -0
  318. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfB44Compressor.h +0 -0
  319. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfBoxAttribute.cpp +0 -0
  320. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfBoxAttribute.h +0 -0
  321. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfBytesAttribute.cpp +0 -0
  322. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfBytesAttribute.h +0 -0
  323. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCRgbaFile.cpp +0 -0
  324. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCRgbaFile.h +0 -0
  325. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChannelList.cpp +0 -0
  326. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChannelList.h +0 -0
  327. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChannelListAttribute.cpp +0 -0
  328. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChannelListAttribute.h +0 -0
  329. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCheckedArithmetic.h +0 -0
  330. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChromaticities.cpp +0 -0
  331. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChromaticities.h +0 -0
  332. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp +0 -0
  333. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfChromaticitiesAttribute.h +0 -0
  334. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp +0 -0
  335. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompositeDeepScanLine.h +0 -0
  336. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompression.cpp +0 -0
  337. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompression.h +0 -0
  338. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompressionAttribute.cpp +0 -0
  339. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompressionAttribute.h +0 -0
  340. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompressor.cpp +0 -0
  341. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfCompressor.h +0 -0
  342. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfContext.h +0 -0
  343. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfContextInit.cpp +0 -0
  344. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfContextInit.h +0 -0
  345. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfConvert.cpp +0 -0
  346. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfConvert.h +0 -0
  347. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepCompositing.cpp +0 -0
  348. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepCompositing.h +0 -0
  349. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp +0 -0
  350. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepFrameBuffer.h +0 -0
  351. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepImageState.h +0 -0
  352. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp +0 -0
  353. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepImageStateAttribute.h +0 -0
  354. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp +0 -0
  355. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineInputFile.h +0 -0
  356. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp +0 -0
  357. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineInputPart.h +0 -0
  358. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.h +0 -0
  359. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.cpp +0 -0
  360. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.h +0 -0
  361. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp +0 -0
  362. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledInputFile.h +0 -0
  363. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp +0 -0
  364. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledInputPart.h +0 -0
  365. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledOutputFile.h +0 -0
  366. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledOutputPart.cpp +0 -0
  367. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDeepTiledOutputPart.h +0 -0
  368. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDoubleAttribute.cpp +0 -0
  369. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDoubleAttribute.h +0 -0
  370. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDwaCompressor.cpp +0 -0
  371. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfDwaCompressor.h +0 -0
  372. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfEnvmap.cpp +0 -0
  373. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfEnvmap.h +0 -0
  374. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfEnvmapAttribute.cpp +0 -0
  375. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfEnvmapAttribute.h +0 -0
  376. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfExport.h +0 -0
  377. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFastHuf.cpp +0 -0
  378. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFastHuf.h +0 -0
  379. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFloatAttribute.cpp +0 -0
  380. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFloatAttribute.h +0 -0
  381. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp +0 -0
  382. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFloatVectorAttribute.h +0 -0
  383. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfForward.h +0 -0
  384. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFrameBuffer.cpp +0 -0
  385. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFrameBuffer.h +0 -0
  386. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFramesPerSecond.cpp +0 -0
  387. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfFramesPerSecond.h +0 -0
  388. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfGenericInputFile.cpp +0 -0
  389. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfGenericInputFile.h +0 -0
  390. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfGenericOutputFile.cpp +0 -0
  391. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfGenericOutputFile.h +0 -0
  392. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfHTCompressor.cpp +0 -0
  393. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfHTCompressor.h +0 -0
  394. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfHeader.cpp +0 -0
  395. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfHeader.h +0 -0
  396. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfHuf.cpp +0 -0
  397. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfHuf.h +0 -0
  398. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIDManifest.cpp +0 -0
  399. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIDManifest.h +0 -0
  400. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIDManifestAttribute.cpp +0 -0
  401. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIDManifestAttribute.h +0 -0
  402. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIO.cpp +0 -0
  403. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIO.h +0 -0
  404. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInputFile.cpp +0 -0
  405. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInputFile.h +0 -0
  406. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInputPart.cpp +0 -0
  407. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInputPart.h +0 -0
  408. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInputPartData.cpp +0 -0
  409. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInputPartData.h +0 -0
  410. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInputStreamMutex.h +0 -0
  411. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfInt64.h +0 -0
  412. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIntAttribute.cpp +0 -0
  413. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfIntAttribute.h +0 -0
  414. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfKeyCode.cpp +0 -0
  415. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfKeyCode.h +0 -0
  416. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp +0 -0
  417. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfKeyCodeAttribute.h +0 -0
  418. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfLineOrder.h +0 -0
  419. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfLineOrderAttribute.cpp +0 -0
  420. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfLineOrderAttribute.h +0 -0
  421. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfLut.cpp +0 -0
  422. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfLut.h +0 -0
  423. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMatrixAttribute.cpp +0 -0
  424. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMatrixAttribute.h +0 -0
  425. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMisc.cpp +0 -0
  426. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMisc.h +0 -0
  427. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMultiPartInputFile.cpp +0 -0
  428. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMultiPartInputFile.h +0 -0
  429. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMultiPartOutputFile.cpp +0 -0
  430. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMultiPartOutputFile.h +0 -0
  431. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMultiView.cpp +0 -0
  432. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfMultiView.h +0 -0
  433. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfName.h +0 -0
  434. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfNamespace.h +0 -0
  435. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOpaqueAttribute.cpp +0 -0
  436. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOpaqueAttribute.h +0 -0
  437. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOptimizedPixelReading.h +0 -0
  438. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOutputFile.cpp +0 -0
  439. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOutputFile.h +0 -0
  440. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOutputPart.cpp +0 -0
  441. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOutputPart.h +0 -0
  442. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOutputPartData.cpp +0 -0
  443. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOutputPartData.h +0 -0
  444. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfOutputStreamMutex.h +0 -0
  445. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPartHelper.h +0 -0
  446. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPartType.cpp +0 -0
  447. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPartType.h +0 -0
  448. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPixelType.h +0 -0
  449. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPizCompressor.cpp +0 -0
  450. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPizCompressor.h +0 -0
  451. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPreviewImage.cpp +0 -0
  452. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPreviewImage.h +0 -0
  453. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp +0 -0
  454. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPreviewImageAttribute.h +0 -0
  455. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPxr24Compressor.cpp +0 -0
  456. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfPxr24Compressor.h +0 -0
  457. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRational.cpp +0 -0
  458. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRational.h +0 -0
  459. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRationalAttribute.cpp +0 -0
  460. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRationalAttribute.h +0 -0
  461. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRgba.h +0 -0
  462. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRgbaFile.cpp +0 -0
  463. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRgbaFile.h +0 -0
  464. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRgbaYca.cpp +0 -0
  465. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRgbaYca.h +0 -0
  466. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRle.cpp +0 -0
  467. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRle.h +0 -0
  468. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRleCompressor.cpp +0 -0
  469. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfRleCompressor.h +0 -0
  470. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfScanLineInputFile.cpp +0 -0
  471. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfScanLineInputFile.h +0 -0
  472. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfSimd.h +0 -0
  473. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStandardAttributes.cpp +0 -0
  474. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStandardAttributes.h +0 -0
  475. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStdIO.cpp +0 -0
  476. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStdIO.h +0 -0
  477. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStringAttribute.cpp +0 -0
  478. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStringAttribute.h +0 -0
  479. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStringVectorAttribute.cpp +0 -0
  480. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfStringVectorAttribute.h +0 -0
  481. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfSystemSpecific.cpp +0 -0
  482. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfSystemSpecific.h +0 -0
  483. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTestFile.cpp +0 -0
  484. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTestFile.h +0 -0
  485. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfThreading.cpp +0 -0
  486. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfThreading.h +0 -0
  487. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTileDescription.h +0 -0
  488. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp +0 -0
  489. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTileDescriptionAttribute.h +0 -0
  490. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTileOffsets.cpp +0 -0
  491. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTileOffsets.h +0 -0
  492. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledInputFile.cpp +0 -0
  493. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledInputFile.h +0 -0
  494. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledInputPart.cpp +0 -0
  495. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledInputPart.h +0 -0
  496. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledMisc.cpp +0 -0
  497. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledMisc.h +0 -0
  498. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledOutputFile.cpp +0 -0
  499. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledOutputFile.h +0 -0
  500. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledOutputPart.cpp +0 -0
  501. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledOutputPart.h +0 -0
  502. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledRgbaFile.cpp +0 -0
  503. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTiledRgbaFile.h +0 -0
  504. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTimeCode.cpp +0 -0
  505. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTimeCode.h +0 -0
  506. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp +0 -0
  507. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfTimeCodeAttribute.h +0 -0
  508. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfVecAttribute.cpp +0 -0
  509. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfVecAttribute.h +0 -0
  510. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfVersion.cpp +0 -0
  511. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfVersion.h +0 -0
  512. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfWav.cpp +0 -0
  513. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfWav.h +0 -0
  514. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfXdr.h +0 -0
  515. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfZip.cpp +0 -0
  516. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfZip.h +0 -0
  517. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfZipCompressor.cpp +0 -0
  518. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/ImfZipCompressor.h +0 -0
  519. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXR/dwaLookups.cpp +0 -0
  520. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/CMakeLists.txt +0 -0
  521. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/attributes.c +0 -0
  522. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/backward_compatibility.h +0 -0
  523. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/base.c +0 -0
  524. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/bytes.c +0 -0
  525. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/channel_list.c +0 -0
  526. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/coding.c +0 -0
  527. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/compression.c +0 -0
  528. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/context.c +0 -0
  529. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/debug.c +0 -0
  530. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/decoding.c +0 -0
  531. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/encoding.c +0 -0
  532. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/float_vector.c +0 -0
  533. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_attr.h +0 -0
  534. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_b44_table.c +0 -0
  535. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_b44_table_init.c +0 -0
  536. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_bytes.h +0 -0
  537. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_channel_list.h +0 -0
  538. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_coding.h +0 -0
  539. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_compress.h +0 -0
  540. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_constants.h +0 -0
  541. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_cpuid.h +0 -0
  542. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_decompress.h +0 -0
  543. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa.c +0 -0
  544. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_channeldata.h +0 -0
  545. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_classifier.h +0 -0
  546. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_encoder.h +0 -0
  547. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_helpers.h +0 -0
  548. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_simd.h +0 -0
  549. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_table.c +0 -0
  550. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_dwa_table_init.c +0 -0
  551. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_file.h +0 -0
  552. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_float_vector.h +0 -0
  553. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_ht.cpp +0 -0
  554. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_ht_common.cpp +0 -0
  555. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_ht_common.h +0 -0
  556. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_huf.c +0 -0
  557. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_huf.h +0 -0
  558. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_memory.h +0 -0
  559. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_opaque.h +0 -0
  560. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_piz.c +0 -0
  561. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_posix_file_impl.h +0 -0
  562. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_preview.h +0 -0
  563. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_pxr24.c +0 -0
  564. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_rle.c +0 -0
  565. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_string.h +0 -0
  566. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_string_vector.h +0 -0
  567. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_thread.h +0 -0
  568. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_win32_file_impl.h +0 -0
  569. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_xdr.h +0 -0
  570. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/internal_zip.c +0 -0
  571. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/memory.c +0 -0
  572. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/opaque.c +0 -0
  573. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr.h +0 -0
  574. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_attr.h +0 -0
  575. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_base.h +0 -0
  576. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_coding.h +0 -0
  577. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_compression.h +0 -0
  578. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_config.h +0 -0
  579. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_context.h +0 -0
  580. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_debug.h +0 -0
  581. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_decode.h +0 -0
  582. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_encode.h +0 -0
  583. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_errors.h +0 -0
  584. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_part.h +0 -0
  585. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/openexr_std_attr.h +0 -0
  586. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/pack.c +0 -0
  587. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/part.c +0 -0
  588. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/preview.c +0 -0
  589. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/std_attr.c +0 -0
  590. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/string.c +0 -0
  591. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/string_vector.c +0 -0
  592. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/unpack.c +0 -0
  593. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRCore/write_header.c +0 -0
  594. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/CMakeLists.txt +0 -0
  595. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfCheckFile.cpp +0 -0
  596. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfCheckFile.h +0 -0
  597. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImage.cpp +0 -0
  598. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImage.h +0 -0
  599. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImageChannel.cpp +0 -0
  600. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImageChannel.h +0 -0
  601. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImageIO.cpp +0 -0
  602. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImageIO.h +0 -0
  603. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImageLevel.cpp +0 -0
  604. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfDeepImageLevel.h +0 -0
  605. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImage.cpp +0 -0
  606. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImage.h +0 -0
  607. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImageChannel.cpp +0 -0
  608. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImageChannel.h +0 -0
  609. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImageIO.cpp +0 -0
  610. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImageIO.h +0 -0
  611. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImageLevel.cpp +0 -0
  612. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfFlatImageLevel.h +0 -0
  613. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImage.cpp +0 -0
  614. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImage.h +0 -0
  615. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageChannel.cpp +0 -0
  616. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageChannel.h +0 -0
  617. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageChannelRenaming.h +0 -0
  618. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageDataWindow.cpp +0 -0
  619. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageDataWindow.h +0 -0
  620. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageIO.cpp +0 -0
  621. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageIO.h +0 -0
  622. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageLevel.cpp +0 -0
  623. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfImageLevel.h +0 -0
  624. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfSampleCountChannel.cpp +0 -0
  625. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfSampleCountChannel.h +0 -0
  626. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/ImfUtilExport.h +0 -0
  627. {openexr-3.4.16 → openexr-3.4.17}/src/lib/OpenEXRUtil/README +0 -0
  628. {openexr-3.4.16 → openexr-3.4.17}/src/test/CMakeLists.txt +0 -0
  629. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/CMakeLists.txt +0 -0
  630. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/main.cpp +0 -0
  631. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/mathFuncs.cpp +0 -0
  632. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/mathFuncs.h +0 -0
  633. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/testBaseExc.cpp +0 -0
  634. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/testBaseExc.h +0 -0
  635. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/testMathExc.cpp +0 -0
  636. {openexr-3.4.16 → openexr-3.4.17}/src/test/IexTest/testMathExc.h +0 -0
  637. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/CMakeLists.txt +0 -0
  638. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/base_units.cpp +0 -0
  639. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/base_units.h +0 -0
  640. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/buffer.cpp +0 -0
  641. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/buffer.h +0 -0
  642. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/compression.cpp +0 -0
  643. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/compression.h +0 -0
  644. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/compressionTables.cpp +0 -0
  645. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/deep.h +0 -0
  646. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/dwaLookups.h +0 -0
  647. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/dwaQuantTables.h +0 -0
  648. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/general_attr.cpp +0 -0
  649. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/general_attr.h +0 -0
  650. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/main.cpp +0 -0
  651. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/performance.cpp +0 -0
  652. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/read.h +0 -0
  653. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/test_value.h +0 -0
  654. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRCoreTest/write.h +0 -0
  655. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/CMakeLists.txt +0 -0
  656. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/fuzzFile.cpp +0 -0
  657. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/fuzzFile.h +0 -0
  658. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/main.cpp +0 -0
  659. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/oss-fuzz/CMakeLists.txt +0 -0
  660. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcheck_fuzzer.cc +0 -0
  661. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/oss-fuzz/openexr_exrcorecheck_fuzzer.cc +0 -0
  662. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/oss-fuzz/test_build.sh +0 -0
  663. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzDeepScanLines.cpp +0 -0
  664. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzDeepScanLines.h +0 -0
  665. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzDeepTiles.cpp +0 -0
  666. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzDeepTiles.h +0 -0
  667. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzScanLines.cpp +0 -0
  668. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzScanLines.h +0 -0
  669. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzTiles.cpp +0 -0
  670. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRFuzzTest/testFuzzTiles.h +0 -0
  671. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/CMakeLists.txt +0 -0
  672. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/TestUtilFStream.h +0 -0
  673. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/bswap_32.h +0 -0
  674. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_b44.exr +0 -0
  675. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_b44_piz.exr +0 -0
  676. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_bad_bounds_piz.exr +0 -0
  677. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_bad_neg_bounds_pxr24.exr +0 -0
  678. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_bad_pos_bounds_piz.exr +0 -0
  679. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_bad_pos_bounds_pxr24.exr +0 -0
  680. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_dwaa_piz.exr +0 -0
  681. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_dwaa_v1.exr +0 -0
  682. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_dwaa_v2.exr +0 -0
  683. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_dwab_piz.exr +0 -0
  684. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_dwab_v1.exr +0 -0
  685. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_dwab_v2.exr +0 -0
  686. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_early_eof_piz.exr +0 -0
  687. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_invalid_unknown.exr +0 -0
  688. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_none.exr +0 -0
  689. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_piz.exr +0 -0
  690. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_rle.exr +0 -0
  691. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_short_decode_piz.exr +0 -0
  692. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_zip.exr +0 -0
  693. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/comp_zips.exr +0 -0
  694. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/compareB44.cpp +0 -0
  695. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/compareB44.h +0 -0
  696. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/compareDwa.cpp +0 -0
  697. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/compareDwa.h +0 -0
  698. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/compareFloat.cpp +0 -0
  699. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/compareFloat.h +0 -0
  700. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/invalid.exr +0 -0
  701. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/invalid_shared_attrs_multipart.exr +0 -0
  702. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/lineOrder_decreasing.exr +0 -0
  703. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/lineOrder_increasing.exr +0 -0
  704. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/main.cpp +0 -0
  705. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/random.cpp +0 -0
  706. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/random.h +0 -0
  707. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/scanline_with_deepscanline_type.exr +0 -0
  708. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/scanline_with_deeptiled_type.exr +0 -0
  709. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/scanline_with_tiledimage_type.exr +0 -0
  710. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testAttributes.cpp +0 -0
  711. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testAttributes.h +0 -0
  712. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testBackwardCompatibility.cpp +0 -0
  713. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testBackwardCompatibility.h +0 -0
  714. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testBadTypeAttributes.cpp +0 -0
  715. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testBadTypeAttributes.h +0 -0
  716. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCRgba.cpp +0 -0
  717. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCRgba.h +0 -0
  718. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testChannels.cpp +0 -0
  719. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testChannels.h +0 -0
  720. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCompositeDeepScanLine.cpp +0 -0
  721. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCompositeDeepScanLine.h +0 -0
  722. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCompression.cpp +0 -0
  723. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCompression.h +0 -0
  724. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCompressionApi.cpp +0 -0
  725. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCompressionApi.h +0 -0
  726. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testConversion.cpp +0 -0
  727. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testConversion.h +0 -0
  728. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyDeepScanLine.cpp +0 -0
  729. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyDeepScanLine.h +0 -0
  730. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyDeepTiled.cpp +0 -0
  731. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyDeepTiled.h +0 -0
  732. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyMultiPartFile.cpp +0 -0
  733. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyMultiPartFile.h +0 -0
  734. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyPixels.cpp +0 -0
  735. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCopyPixels.h +0 -0
  736. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCpuId.cpp +0 -0
  737. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCpuId.h +0 -0
  738. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCustomAttributes.cpp +0 -0
  739. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testCustomAttributes.h +0 -0
  740. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepScanLineBasic.cpp +0 -0
  741. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepScanLineBasic.h +0 -0
  742. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepScanLineHuge.cpp +0 -0
  743. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepScanLineHuge.h +0 -0
  744. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepScanLineMultipleRead.cpp +0 -0
  745. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepScanLineMultipleRead.h +0 -0
  746. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testDeepTiledBasic.h +0 -0
  747. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testExistingStreams.cpp +0 -0
  748. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testExistingStreams.h +0 -0
  749. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testFutureProofing.cpp +0 -0
  750. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testFutureProofing.h +0 -0
  751. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testHeader.h +0 -0
  752. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testHuf.cpp +0 -0
  753. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testHuf.h +0 -0
  754. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testIDManifest.cpp +0 -0
  755. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testIDManifest.h +0 -0
  756. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testInputPart.cpp +0 -0
  757. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testInputPart.h +0 -0
  758. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testIsComplete.cpp +0 -0
  759. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testIsComplete.h +0 -0
  760. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testLargeDataWindowOffsets.cpp +0 -0
  761. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testLargeDataWindowOffsets.h +0 -0
  762. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testLineOrder.cpp +0 -0
  763. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testLineOrder.h +0 -0
  764. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testLut.cpp +0 -0
  765. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testLut.h +0 -0
  766. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMagic.cpp +0 -0
  767. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMagic.h +0 -0
  768. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMalformedImages.cpp +0 -0
  769. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMalformedImages.h +0 -0
  770. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartApi.cpp +0 -0
  771. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartApi.h +0 -0
  772. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartFileMixingBasic.cpp +0 -0
  773. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartFileMixingBasic.h +0 -0
  774. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartSharedAttributes.cpp +0 -0
  775. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartSharedAttributes.h +0 -0
  776. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartThreading.cpp +0 -0
  777. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiPartThreading.h +0 -0
  778. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiScanlinePartThreading.cpp +0 -0
  779. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiScanlinePartThreading.h +0 -0
  780. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiTiledPartThreading.cpp +0 -0
  781. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiTiledPartThreading.h +0 -0
  782. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiView.cpp +0 -0
  783. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testMultiView.h +0 -0
  784. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testNativeFormat.cpp +0 -0
  785. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testNativeFormat.h +0 -0
  786. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testOptimizedInterleavePatterns.cpp +0 -0
  787. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testOptimizedInterleavePatterns.h +0 -0
  788. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testPartHelper.cpp +0 -0
  789. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testPartHelper.h +0 -0
  790. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testPreviewImage.cpp +0 -0
  791. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testPreviewImage.h +0 -0
  792. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testRgba.cpp +0 -0
  793. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testRgba.h +0 -0
  794. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testRgbaThreading.cpp +0 -0
  795. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testRgbaThreading.h +0 -0
  796. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testRle.cpp +0 -0
  797. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testRle.h +0 -0
  798. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testSampleImages.cpp +0 -0
  799. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testSampleImages.h +0 -0
  800. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testScanLineApi.cpp +0 -0
  801. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testScanLineApi.h +0 -0
  802. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testSharedFrameBuffer.cpp +0 -0
  803. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testSharedFrameBuffer.h +0 -0
  804. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testStandardAttributes.cpp +0 -0
  805. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testStandardAttributes.h +0 -0
  806. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledCompression.cpp +0 -0
  807. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledCompression.h +0 -0
  808. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledCopyPixels.cpp +0 -0
  809. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledCopyPixels.h +0 -0
  810. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledLineOrder.cpp +0 -0
  811. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledLineOrder.h +0 -0
  812. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledRgba.cpp +0 -0
  813. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledRgba.h +0 -0
  814. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledYa.cpp +0 -0
  815. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testTiledYa.h +0 -0
  816. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testWav.cpp +0 -0
  817. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testWav.h +0 -0
  818. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testXdr.cpp +0 -0
  819. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testXdr.h +0 -0
  820. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testYca.cpp +0 -0
  821. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/testYca.h +0 -0
  822. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/test_native1.exr +0 -0
  823. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/test_native2.exr +0 -0
  824. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/tiled.exr +0 -0
  825. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/tiled_with_deepscanline_type.exr +0 -0
  826. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/tiled_with_deeptile_type.exr +0 -0
  827. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/tiled_with_scanlineimage_type.exr +0 -0
  828. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/tmpDir.h +0 -0
  829. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/v1.7.test.1.exr +0 -0
  830. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/v1.7.test.interleaved.exr +0 -0
  831. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/v1.7.test.planar.exr +0 -0
  832. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRTest/v1.7.test.tiled.exr +0 -0
  833. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/CMakeLists.txt +0 -0
  834. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/main.cpp +0 -0
  835. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testDeepImage.cpp +0 -0
  836. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testDeepImage.h +0 -0
  837. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testFlatImage.cpp +0 -0
  838. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testFlatImage.h +0 -0
  839. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testIO.cpp +0 -0
  840. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testIO.h +0 -0
  841. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testImageChannel.cpp +0 -0
  842. {openexr-3.4.16 → openexr-3.4.17}/src/test/OpenEXRUtilTest/testImageChannel.h +0 -0
  843. {openexr-3.4.16 → openexr-3.4.17}/src/test/add_subdirectory/CMakeLists.txt +0 -0
  844. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/CMakeLists.txt +0 -0
  845. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/do_run.py +0 -0
  846. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exr2aces.py +0 -0
  847. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrcheck.py +0 -0
  848. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrenvmap.py +0 -0
  849. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrheader.py +0 -0
  850. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrinfo.py +0 -0
  851. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrmakepreview.py +0 -0
  852. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrmaketiled.py +0 -0
  853. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrmanifest.py +0 -0
  854. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrmetrics.py +0 -0
  855. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrmultipart.py +0 -0
  856. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrmultiview.py +0 -0
  857. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_exrstdattr.py +0 -0
  858. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/11.deep.exr +0 -0
  859. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/11.deep.exr.txt +0 -0
  860. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/42.deep.exr +0 -0
  861. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/42.deep.exr.txt +0 -0
  862. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/64.deep.exr +0 -0
  863. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/64.deep.exr.txt +0 -0
  864. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/Flowers.exr +0 -0
  865. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/GammaChart.exr +0 -0
  866. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/GrayRampsHorizontal.exr +0 -0
  867. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/WavyLinesCube.exr +0 -0
  868. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/WavyLinesLatLong.exr +0 -0
  869. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/multipart.0001.exr +0 -0
  870. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/multivariate.deep.exr +0 -0
  871. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/multivariate.deep.exr.txt +0 -0
  872. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/objectid.deep.exr +0 -0
  873. {openexr-3.4.16 → openexr-3.4.17}/src/test/bin/test_images/objectid.deep.exr.txt +0 -0
  874. {openexr-3.4.16 → openexr-3.4.17}/src/test/oss-fuzz/CMakeLists.txt +0 -0
  875. {openexr-3.4.16 → openexr-3.4.17}/src/test/oss-fuzz/openexr_exrcheck_fuzzer.cc +0 -0
  876. {openexr-3.4.16 → openexr-3.4.17}/src/test/oss-fuzz/openexr_exrcorecheck_fuzzer.cc +0 -0
  877. {openexr-3.4.16 → openexr-3.4.17}/src/test/oss-fuzz/test_build.sh +0 -0
  878. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/CMakeLists.txt +0 -0
  879. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/Imath.py +0 -0
  880. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/PyOpenEXR.h +0 -0
  881. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/README.md +0 -0
  882. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/openexr_skbuild_plugin.py +0 -0
  883. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test.exr +0 -0
  884. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_deep.py +0 -0
  885. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_exceptions.py +0 -0
  886. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_images.py +0 -0
  887. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_import.py +0 -0
  888. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_minimal.py +0 -0
  889. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_old.py +0 -0
  890. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_readme.py +0 -0
  891. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/test_unittest.py +0 -0
  892. {openexr-3.4.16 → openexr-3.4.17}/src/wrappers/python/tests/unfinished_multipart.exr +0 -0
  893. {openexr-3.4.16 → openexr-3.4.17}/website/API.rst +0 -0
  894. {openexr-3.4.16 → openexr-3.4.17}/website/CMakeLists.txt +0 -0
  895. {openexr-3.4.16 → openexr-3.4.17}/website/DeepIDsSpecification.rst +0 -0
  896. {openexr-3.4.16 → openexr-3.4.17}/website/Doxyfile.in +0 -0
  897. {openexr-3.4.16 → openexr-3.4.17}/website/HelloWorld.rst +0 -0
  898. {openexr-3.4.16 → openexr-3.4.17}/website/InterpretingDeepPixels.rst +0 -0
  899. {openexr-3.4.16 → openexr-3.4.17}/website/MultiViewOpenEXR.rst +0 -0
  900. {openexr-3.4.16 → openexr-3.4.17}/website/OpenEXRCoreAPI.rst +0 -0
  901. {openexr-3.4.16 → openexr-3.4.17}/website/OpenEXRFileLayout.rst +0 -0
  902. {openexr-3.4.16 → openexr-3.4.17}/website/PortingGuide.rst +0 -0
  903. {openexr-3.4.16 → openexr-3.4.17}/website/ReadingAndWritingImageFiles.rst +0 -0
  904. {openexr-3.4.16 → openexr-3.4.17}/website/SceneLinear.rst +0 -0
  905. {openexr-3.4.16 → openexr-3.4.17}/website/StandardAttributes.rst +0 -0
  906. {openexr-3.4.16 → openexr-3.4.17}/website/SymbolVisibility.rst +0 -0
  907. {openexr-3.4.16 → openexr-3.4.17}/website/TechnicalIntroduction.rst +0 -0
  908. {openexr-3.4.16 → openexr-3.4.17}/website/TheoryDeepPixels.rst +0 -0
  909. {openexr-3.4.16 → openexr-3.4.17}/website/_templates/layout.html +0 -0
  910. {openexr-3.4.16 → openexr-3.4.17}/website/about.rst +0 -0
  911. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exr2aces.rst +0 -0
  912. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrcheck.rst +0 -0
  913. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrenvmap.rst +0 -0
  914. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrheader.rst +0 -0
  915. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrinfo.rst +0 -0
  916. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrmakepreview.rst +0 -0
  917. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrmaketiled.rst +0 -0
  918. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrmanifest.rst +0 -0
  919. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrmetrics.rst +0 -0
  920. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrmultipart.rst +0 -0
  921. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrmultiview.rst +0 -0
  922. {openexr-3.4.16 → openexr-3.4.17}/website/bin/exrstdattr.rst +0 -0
  923. {openexr-3.4.16 → openexr-3.4.17}/website/concepts.rst +0 -0
  924. {openexr-3.4.16 → openexr-3.4.17}/website/conf.py +0 -0
  925. {openexr-3.4.16 → openexr-3.4.17}/website/downloads/sample.exr +0 -0
  926. {openexr-3.4.16 → openexr-3.4.17}/website/imageprocessing.dot +0 -0
  927. {openexr-3.4.16 → openexr-3.4.17}/website/images/InterpretingDeepPixels1.png +0 -0
  928. {openexr-3.4.16 → openexr-3.4.17}/website/images/InterpretingDeepPixels2.png +0 -0
  929. {openexr-3.4.16 → openexr-3.4.17}/website/images/InterpretingDeepPixels3.png +0 -0
  930. {openexr-3.4.16 → openexr-3.4.17}/website/images/OpenEXR_Reel_2020.png +0 -0
  931. {openexr-3.4.16 → openexr-3.4.17}/website/images/cubeMap.big.png +0 -0
  932. {openexr-3.4.16 → openexr-3.4.17}/website/images/cubeMap.png +0 -0
  933. {openexr-3.4.16 → openexr-3.4.17}/website/images/drawing.png +0 -0
  934. {openexr-3.4.16 → openexr-3.4.17}/website/images/envcube.png +0 -0
  935. {openexr-3.4.16 → openexr-3.4.17}/website/images/imageprocessing.png +0 -0
  936. {openexr-3.4.16 → openexr-3.4.17}/website/images/latlong.png +0 -0
  937. {openexr-3.4.16 → openexr-3.4.17}/website/images/latlongMap.big.png +0 -0
  938. {openexr-3.4.16 → openexr-3.4.17}/website/images/latlongMap.png +0 -0
  939. {openexr-3.4.16 → openexr-3.4.17}/website/images/mapped.jpg +0 -0
  940. {openexr-3.4.16 → openexr-3.4.17}/website/images/news.png +0 -0
  941. {openexr-3.4.16 → openexr-3.4.17}/website/images/openexr-fav.ico +0 -0
  942. {openexr-3.4.16 → openexr-3.4.17}/website/images/openexr-horizontal-color.png +0 -0
  943. {openexr-3.4.16 → openexr-3.4.17}/website/images/openexr-logo.jpg +0 -0
  944. {openexr-3.4.16 → openexr-3.4.17}/website/images/openexr-stacked-color.png +0 -0
  945. {openexr-3.4.16 → openexr-3.4.17}/website/images/raw.jpg +0 -0
  946. {openexr-3.4.16 → openexr-3.4.17}/website/images/screenwin.big.png +0 -0
  947. {openexr-3.4.16 → openexr-3.4.17}/website/images/screenwin.png +0 -0
  948. {openexr-3.4.16 → openexr-3.4.17}/website/images/stripes.png +0 -0
  949. {openexr-3.4.16 → openexr-3.4.17}/website/images/tiles.big.png +0 -0
  950. {openexr-3.4.16 → openexr-3.4.17}/website/images/tiles.png +0 -0
  951. {openexr-3.4.16 → openexr-3.4.17}/website/images/twosamples.png +0 -0
  952. {openexr-3.4.16 → openexr-3.4.17}/website/images/windowExample1.big.png +0 -0
  953. {openexr-3.4.16 → openexr-3.4.17}/website/images/windowExample1.png +0 -0
  954. {openexr-3.4.16 → openexr-3.4.17}/website/images/windowExample1.small.png +0 -0
  955. {openexr-3.4.16 → openexr-3.4.17}/website/images/windowExample2.big.png +0 -0
  956. {openexr-3.4.16 → openexr-3.4.17}/website/images/windowExample2.png +0 -0
  957. {openexr-3.4.16 → openexr-3.4.17}/website/index.rst +0 -0
  958. {openexr-3.4.16 → openexr-3.4.17}/website/install.rst +0 -0
  959. {openexr-3.4.16 → openexr-3.4.17}/website/latest_news_title.rst +0 -0
  960. {openexr-3.4.16 → openexr-3.4.17}/website/license.rst +0 -0
  961. {openexr-3.4.16 → openexr-3.4.17}/website/news.rst +0 -0
  962. {openexr-3.4.16 → openexr-3.4.17}/website/python.rst +0 -0
  963. {openexr-3.4.16 → openexr-3.4.17}/website/requirements-lock.txt +0 -0
  964. {openexr-3.4.16 → openexr-3.4.17}/website/requirements.txt +0 -0
  965. {openexr-3.4.16 → openexr-3.4.17}/website/scripts/install_doxygen.sh +0 -0
  966. {openexr-3.4.16 → openexr-3.4.17}/website/scripts/test_images.py +0 -0
  967. {openexr-3.4.16 → openexr-3.4.17}/website/src/CMakeLists.txt +0 -0
  968. {openexr-3.4.16 → openexr-3.4.17}/website/src/C_IStream.cpp +0 -0
  969. {openexr-3.4.16 → openexr-3.4.17}/website/src/C_IStream_clear.cpp +0 -0
  970. {openexr-3.4.16 → openexr-3.4.17}/website/src/C_IStream_read.cpp +0 -0
  971. {openexr-3.4.16 → openexr-3.4.17}/website/src/C_IStream_seekg.cpp +0 -0
  972. {openexr-3.4.16 → openexr-3.4.17}/website/src/C_IStream_tellg.cpp +0 -0
  973. {openexr-3.4.16 → openexr-3.4.17}/website/src/IStream.cpp +0 -0
  974. {openexr-3.4.16 → openexr-3.4.17}/website/src/MemoryMappedIStream.cpp +0 -0
  975. {openexr-3.4.16 → openexr-3.4.17}/website/src/MemoryMappedIStream_constructor.cpp +0 -0
  976. {openexr-3.4.16 → openexr-3.4.17}/website/src/MemoryMappedIStream_destructor.cpp +0 -0
  977. {openexr-3.4.16 → openexr-3.4.17}/website/src/MemoryMappedIStream_isMemoryMapped.cpp +0 -0
  978. {openexr-3.4.16 → openexr-3.4.17}/website/src/MemoryMappedIStream_read.cpp +0 -0
  979. {openexr-3.4.16 → openexr-3.4.17}/website/src/MemoryMappedIStream_readMemoryMapped.cpp +0 -0
  980. {openexr-3.4.16 → openexr-3.4.17}/website/src/all.cpp +0 -0
  981. {openexr-3.4.16 → openexr-3.4.17}/website/src/compression.cpp +0 -0
  982. {openexr-3.4.16 → openexr-3.4.17}/website/src/envmap.cpp +0 -0
  983. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrreader/CMakeLists.txt +0 -0
  984. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrreader/build.sh +0 -0
  985. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrreader/exrreader.cpp +0 -0
  986. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrreader_max/CMakeLists.txt +0 -0
  987. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrreader_max/exrreader_max.cpp +0 -0
  988. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrwriter/CMakeLists.txt +0 -0
  989. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrwriter/build.sh +0 -0
  990. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrwriter/exrwriter.cpp +0 -0
  991. {openexr-3.4.16 → openexr-3.4.17}/website/src/exrwriter/stripes.exrinfo.txt +0 -0
  992. {openexr-3.4.16 → openexr-3.4.17}/website/src/mergeOverlappingSamples.cpp +0 -0
  993. {openexr-3.4.16 → openexr-3.4.17}/website/src/multithreading.cpp +0 -0
  994. {openexr-3.4.16 → openexr-3.4.17}/website/src/previewImageExamples.cpp +0 -0
  995. {openexr-3.4.16 → openexr-3.4.17}/website/src/readChannelsAndLayers.cpp +0 -0
  996. {openexr-3.4.16 → openexr-3.4.17}/website/src/readDeepScanLineFile.cpp +0 -0
  997. {openexr-3.4.16 → openexr-3.4.17}/website/src/readDeepTiledFile.cpp +0 -0
  998. {openexr-3.4.16 → openexr-3.4.17}/website/src/readGZ1.cpp +0 -0
  999. {openexr-3.4.16 → openexr-3.4.17}/website/src/readGZ2.cpp +0 -0
  1000. {openexr-3.4.16 → openexr-3.4.17}/website/src/readHeader.cpp +0 -0
  1001. {openexr-3.4.16 → openexr-3.4.17}/website/src/readRgba1.cpp +0 -0
  1002. {openexr-3.4.16 → openexr-3.4.17}/website/src/readRgba2.cpp +0 -0
  1003. {openexr-3.4.16 → openexr-3.4.17}/website/src/readRgbaFILE.cpp +0 -0
  1004. {openexr-3.4.16 → openexr-3.4.17}/website/src/readTiled1.cpp +0 -0
  1005. {openexr-3.4.16 → openexr-3.4.17}/website/src/readTiledRgba1.cpp +0 -0
  1006. {openexr-3.4.16 → openexr-3.4.17}/website/src/splitVolumeSample.cpp +0 -0
  1007. {openexr-3.4.16 → openexr-3.4.17}/website/src/structDefinitions.cpp +0 -0
  1008. {openexr-3.4.16 → openexr-3.4.17}/website/src/tileDescription.cpp +0 -0
  1009. {openexr-3.4.16 → openexr-3.4.17}/website/src/validExrFile.cpp +0 -0
  1010. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeDeepScanLineFile.cpp +0 -0
  1011. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeDeepTiledFile.cpp +0 -0
  1012. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeGZ1.cpp +0 -0
  1013. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeGZ2.cpp +0 -0
  1014. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeRgba1.cpp +0 -0
  1015. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeRgba2.cpp +0 -0
  1016. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeRgba3.cpp +0 -0
  1017. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeRgbaMT.cpp +0 -0
  1018. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeRgbaWithPreview1.cpp +0 -0
  1019. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeRgbaWithPreview2.cpp +0 -0
  1020. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeTiled1.cpp +0 -0
  1021. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeTiledRgbaMIP1.cpp +0 -0
  1022. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeTiledRgbaMIP2.cpp +0 -0
  1023. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeTiledRgbaONE1.cpp +0 -0
  1024. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeTiledRgbaONE2.cpp +0 -0
  1025. {openexr-3.4.16 → openexr-3.4.17}/website/src/writeTiledRgbaRIP1.cpp +0 -0
  1026. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0001.rst +0 -0
  1027. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0002.rst +0 -0
  1028. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0003.rst +0 -0
  1029. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0004.rst +0 -0
  1030. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0005.rst +0 -0
  1031. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0006.rst +0 -0
  1032. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0007.rst +0 -0
  1033. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/multipart.0008.rst +0 -0
  1034. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0001.rst +0 -0
  1035. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0002.rst +0 -0
  1036. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0003.rst +0 -0
  1037. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0004.rst +0 -0
  1038. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0005.rst +0 -0
  1039. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0006.rst +0 -0
  1040. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0007.rst +0 -0
  1041. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Beachball/singlepart.0008.rst +0 -0
  1042. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Chromaticities/Rec709.rst +0 -0
  1043. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Chromaticities/Rec709_YC.rst +0 -0
  1044. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Chromaticities/XYZ.rst +0 -0
  1045. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Chromaticities/XYZ_YC.rst +0 -0
  1046. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t01.rst +0 -0
  1047. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t02.rst +0 -0
  1048. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t03.rst +0 -0
  1049. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t04.rst +0 -0
  1050. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t05.rst +0 -0
  1051. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t06.rst +0 -0
  1052. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t07.rst +0 -0
  1053. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t08.rst +0 -0
  1054. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t09.rst +0 -0
  1055. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t10.rst +0 -0
  1056. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t11.rst +0 -0
  1057. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t12.rst +0 -0
  1058. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t13.rst +0 -0
  1059. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t14.rst +0 -0
  1060. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t15.rst +0 -0
  1061. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/DisplayWindow/t16.rst +0 -0
  1062. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/LuminanceChroma/CrissyField.rst +0 -0
  1063. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/LuminanceChroma/Flowers.rst +0 -0
  1064. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/LuminanceChroma/Garden.rst +0 -0
  1065. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/LuminanceChroma/MtTamNorth.rst +0 -0
  1066. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/LuminanceChroma/StarField.rst +0 -0
  1067. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/Bonita.rst +0 -0
  1068. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/ColorCodedLevels.rst +0 -0
  1069. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/Kapaa.rst +0 -0
  1070. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/KernerEnvCube.rst +0 -0
  1071. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/KernerEnvLatLong.rst +0 -0
  1072. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/MirrorPattern.rst +0 -0
  1073. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/OrientationCube.rst +0 -0
  1074. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/OrientationLatLong.rst +0 -0
  1075. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/PeriodicPattern.rst +0 -0
  1076. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/StageEnvCube.rst +0 -0
  1077. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/StageEnvLatLong.rst +0 -0
  1078. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/WavyLinesCube.rst +0 -0
  1079. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/WavyLinesLatLong.rst +0 -0
  1080. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiResolution/WavyLinesSphere.rst +0 -0
  1081. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiView/Adjuster.rst +0 -0
  1082. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiView/Balls.rst +0 -0
  1083. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiView/Fog.rst +0 -0
  1084. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiView/Impact.rst +0 -0
  1085. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/MultiView/LosPadres.rst +0 -0
  1086. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/Blobbies.rst +0 -0
  1087. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/CandleGlass.rst +0 -0
  1088. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/Cannon.rst +0 -0
  1089. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/Carrots.rst +0 -0
  1090. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/Desk.rst +0 -0
  1091. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/MtTamWest.rst +0 -0
  1092. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/PrismsLenses.rst +0 -0
  1093. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/StillLife.rst +0 -0
  1094. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/ScanLines/Tree.rst +0 -0
  1095. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/AllHalfValues.rst +0 -0
  1096. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/BrightRings.rst +0 -0
  1097. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/BrightRingsNanInf.rst +0 -0
  1098. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/GammaChart.rst +0 -0
  1099. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/GrayRampsDiagonal.rst +0 -0
  1100. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/GrayRampsHorizontal.rst +0 -0
  1101. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/RgbRampsDiagonal.rst +0 -0
  1102. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/SquaresSwirls.rst +0 -0
  1103. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/WideColorGamut.rst +0 -0
  1104. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/TestImages/WideFloatRange.rst +0 -0
  1105. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Tiles/GoldenGate.rst +0 -0
  1106. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Tiles/Ocean.rst +0 -0
  1107. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/Tiles/Spirals.rst +0 -0
  1108. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/index.rst +0 -0
  1109. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/toctree.rst +0 -0
  1110. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LeftView/Balls.rst +0 -0
  1111. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LeftView/Ground.rst +0 -0
  1112. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LeftView/Leaves.rst +0 -0
  1113. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LeftView/Trunks.rst +0 -0
  1114. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LowResLeftView/Balls.rst +0 -0
  1115. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LowResLeftView/Ground.rst +0 -0
  1116. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LowResLeftView/Leaves.rst +0 -0
  1117. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LowResLeftView/Trunks.rst +0 -0
  1118. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/LowResLeftView/composited.rst +0 -0
  1119. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/Stereo/Balls.rst +0 -0
  1120. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/Stereo/Ground.rst +0 -0
  1121. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/Stereo/Leaves.rst +0 -0
  1122. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/Stereo/Trunks.rst +0 -0
  1123. {openexr-3.4.16 → openexr-3.4.17}/website/test_images/v2/Stereo/composited.rst +0 -0
  1124. {openexr-3.4.16 → openexr-3.4.17}/website/test_images.txt +0 -0
  1125. {openexr-3.4.16 → openexr-3.4.17}/website/toc_redirect.rst +0 -0
  1126. {openexr-3.4.16 → openexr-3.4.17}/website/tools.rst +0 -0
@@ -3,6 +3,7 @@
3
3
 
4
4
  # OpenEXR Release Notes
5
5
 
6
+ * [Version 3.4.17](#version-3417-october-30-2026) October 30 2026
6
7
  * [Version 3.4.16](#version-3416-september-28-2026) September 28, 2026
7
8
  * [Version 3.4.15](#version-3415-august-21-2026) August 21, 2026
8
9
  * [Version 3.4.14](#version-3414-august-6-2026) August 6, 2026
@@ -108,6 +109,62 @@
108
109
  * [Version 1.0.1](#version-101)
109
110
  * [Version 1.0](#version-10)
110
111
 
112
+ ## Version 3.4.17 (October 30, 2026)
113
+
114
+ Patch release that addresses the following security vulnerabilities:
115
+
116
+ * ***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`
117
+ * ***CVE Pending*** ([GHSA-VP77-HHRC-M2C3](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-VP77-HHRC-M2C3)) Subsampled chunk-height miscount: heap overflow in B44 encoder, NULL dereference in DWA decoder/encoder
118
+ * ***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
119
+ * ***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
120
+ * ***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
121
+ * ***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`
122
+ * ***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
123
+ * ***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()`
124
+ * ***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
125
+
126
+ This version also addresses a regression introduced in v3.4.14 in
127
+ reading deep images on big-endian hosts, due to a byte-order bug in
128
+ the deep sample count table. Little-endian hosts are unaffected.
129
+
130
+ ### Merged Pull Requests
131
+
132
+ * [2787](https://github.com/AcademySoftwareFoundation/openexr/pull/2787)
133
+ Fix byte-swapped deep sample count table on big-endian hosts (by @cary-ilm/Cary Phillips)
134
+ * [2762](https://github.com/AcademySoftwareFoundation/openexr/pull/2762)
135
+ Fix compute_sampled_height() for chunks with no sampled row (by @cary-ilm/Cary Phillips)
136
+ * [2760](https://github.com/AcademySoftwareFoundation/openexr/pull/2760)
137
+ Fix dangling channels pointer in exr_copy_unset_attributes() (by @cary-ilm/Cary Phillips)
138
+ * [2757](https://github.com/AcademySoftwareFoundation/openexr/pull/2757)
139
+ Fix unsigned wraparound in legacy Python InputFile.channel() (by @cary-ilm/Cary Phillips)
140
+ * [2749](https://github.com/AcademySoftwareFoundation/openexr/pull/2749)
141
+ Use size_t block indexing in DWA lossy DCT decoder (by @cary-ilm/Cary Phillips)
142
+ * [2748](https://github.com/AcademySoftwareFoundation/openexr/pull/2748)
143
+ Fix tile area overflow in DeepTiledOutputFile::initialize (by @cary-ilm/Cary Phillips)
144
+ * [2747](https://github.com/AcademySoftwareFoundation/openexr/pull/2747)
145
+ Reject Python RGB channel groups that coalesce to the same key (by @cary-ilm/Cary Phillips)
146
+ * [2745](https://github.com/AcademySoftwareFoundation/openexr/pull/2745)
147
+ Only merge the "channels" chlist attribute into Header::channels() (by @cary-ilm/Cary Phillips)
148
+ * [2744](https://github.com/AcademySoftwareFoundation/openexr/pull/2744)
149
+ Grow the part table geometrically when adding parts (by @cary-ilm/Cary Phillips)
150
+ * [2726](https://github.com/AcademySoftwareFoundation/openexr/pull/2726)
151
+ Fix heap OOB read in deep PIZ encoder path (by @kalt2212/Kalt2212)
152
+ * [2718](https://github.com/AcademySoftwareFoundation/openexr/pull/2718)
153
+ Fix B44 integer overflow OOB write (by @cary-ilm/Cary Phillips)
154
+ * [2717](https://github.com/AcademySoftwareFoundation/openexr/pull/2717)
155
+ Fix DWA uninitialized heap memory disclosure (by @cary-ilm/Cary Phillips)
156
+
157
+ ### Merged Workflow Pull Requests
158
+
159
+ * [2731](https://github.com/AcademySoftwareFoundation/openexr/pull/2731)
160
+ Bump actions/upload-artifact from 7.0.1 to 7.0.2 (by @app/dependabot)
161
+ * [2711](https://github.com/AcademySoftwareFoundation/openexr/pull/2711)
162
+ Bump vmactions/freebsd-vm from 1.5.8 to 1.5.9 (by @app/dependabot)
163
+ * [2703](https://github.com/AcademySoftwareFoundation/openexr/pull/2703)
164
+ Strip Contributors from notes in slack release post (by @cary-ilm/Cary Phillips)
165
+ * [2692](https://github.com/AcademySoftwareFoundation/openexr/pull/2692)
166
+ Bump jmertic/slack-release-notifier from 20260820 to 20260930 (by @app/dependabot)
167
+
111
168
  ## Version 3.4.16 (September 28, 2026)
112
169
 
113
170
  v3.4.16 fixes a bug which created unreadable DWAB files in certain circumstances.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: OpenEXR
3
- Version: 3.4.16
3
+ Version: 3.4.17
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
@@ -499,7 +499,12 @@ Context::header (int partidx) const
499
499
  break;
500
500
 
501
501
  case EXR_ATTR_CHLIST: {
502
- ChannelList& chans = hdr.channels ();
502
+ // Only the attribute named "channels" is validated by the
503
+ // core library and describes the pixel data; any other
504
+ // chlist attribute is kept as an ordinary attribute.
505
+ const bool isChannels = !strcmp (cur->name, "channels");
506
+ ChannelList other;
507
+ ChannelList& chans = isChannels ? hdr.channels () : other;
503
508
 
504
509
  for (int c = 0; c < cur->chlist->num_channels; ++c)
505
510
  {
@@ -513,6 +518,9 @@ Context::header (int partidx) const
513
518
  curc.y_sampling,
514
519
  curc.p_linear != 0));
515
520
  }
521
+
522
+ if (!isChannels)
523
+ hdr.insert (cur->name, ChannelListAttribute (other));
516
524
  break;
517
525
  }
518
526
 
@@ -923,6 +923,15 @@ DeepScanLineOutputFile::initialize (const Header& header)
923
923
 
924
924
  _data->header.setType (DEEPSCANLINE);
925
925
 
926
+ //
927
+ // header.sanityCheck() runs before the type is stamped above, so the
928
+ // deep-data compression restriction is never applied there. Reject any
929
+ // compression that is not valid for deep data explicitly.
930
+ //
931
+ if (!isValidDeepCompression (_data->header.compression ()))
932
+ throw IEX_NAMESPACE::ArgExc (
933
+ "Compression type in header not valid for deep data");
934
+
926
935
  const Box2i& dataWindow = header.dataWindow ();
927
936
 
928
937
  _data->currentScanLine = (header.lineOrder () == INCREASING_Y)
@@ -1182,6 +1182,16 @@ DeepTiledOutputFile::initialize (const Header& header)
1182
1182
  {
1183
1183
  _data->header = header;
1184
1184
  _data->header.setType (DEEPTILE);
1185
+
1186
+ //
1187
+ // header.sanityCheck() runs before the type is stamped above, so the
1188
+ // deep-data compression restriction is never applied there. Reject any
1189
+ // compression that is not valid for deep data explicitly.
1190
+ //
1191
+ if (!isValidDeepCompression (_data->header.compression ()))
1192
+ throw IEX_NAMESPACE::ArgExc (
1193
+ "Compression type in header not valid for deep data");
1194
+
1185
1195
  _data->lineOrder = _data->header.lineOrder ();
1186
1196
 
1187
1197
  //
@@ -1200,22 +1210,25 @@ DeepTiledOutputFile::initialize (const Header& header)
1200
1210
  _data->minY = dataWindow.min.y;
1201
1211
  _data->maxY = dataWindow.max.y;
1202
1212
 
1203
- _data->maxSampleCountTableSize =
1204
- _data->tileDesc.ySize * _data->tileDesc.xSize * sizeof (int);
1213
+ // widen before multiplying: the 32-bit product of the tile
1214
+ // dimensions can wrap to 0 and bypass the limit below
1215
+ const uint64_t tileArea = static_cast<uint64_t> (_data->tileDesc.ySize) *
1216
+ static_cast<uint64_t> (_data->tileDesc.xSize);
1205
1217
 
1206
1218
  //
1207
1219
  // impose limit of 2^32 bytes of storage for maxSampleCountTableSize
1208
1220
  // (disallow files with very large tile areas that would otherwise cause excessive memory allocation)
1209
1221
  //
1210
1222
 
1211
- if (_data->maxSampleCountTableSize >
1212
- std::numeric_limits<unsigned int>::max ())
1223
+ if (tileArea > std::numeric_limits<unsigned int>::max () / sizeof (int))
1213
1224
  {
1214
1225
  THROW (
1215
1226
  IEX_NAMESPACE::ArgExc,
1216
1227
  "Deep tile size exceeds maximum permitted area");
1217
1228
  }
1218
1229
 
1230
+ _data->maxSampleCountTableSize = tileArea * sizeof (int);
1231
+
1219
1232
  //
1220
1233
  // Precompute level and tile information to speed up utility functions
1221
1234
  //
@@ -1651,12 +1651,11 @@ exr_read_deep_chunk (
1651
1651
 
1652
1652
  if (rv != EXR_ERR_SUCCESS) return rv;
1653
1653
 
1654
- /* the on-disk sample count table is little-endian; convert to native so
1655
- * callers receive host-order counts (matching unpacked pixel data) */
1656
- if (sample_data && cinfo->sample_count_table_size > 0)
1657
- priv_to_native32 (
1658
- sample_data,
1659
- (int) (cinfo->sample_count_table_size / sizeof (uint32_t)));
1654
+ /* Both buffers are returned exactly as stored in the file, like
1655
+ * exr_read_chunk: the sample count table may be compressed, and when
1656
+ * it isn't, its counts are little-endian. The decode pipeline
1657
+ * (unpack_sample_table) does the conversion to native order, and the
1658
+ * raw chunk readers in the C++ API copy these bytes verbatim. */
1660
1659
 
1661
1660
  if (packed_data && cinfo->packed_size > 0)
1662
1661
  {
@@ -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>
@@ -676,8 +677,14 @@ compute_scratch_buffer_size (
676
677
  if (nx % 4) nx += 4 - nx % 4;
677
678
  if (ny % 4) ny += 4 - ny % 4;
678
679
 
679
- comp += (uint64_t) (ny) * (uint64_t) (nx) *
680
- (uint64_t) (curc->bytes_per_element);
680
+ /* guard against a wrapped accumulation producing an
681
+ * implausibly small scratch requirement relative to what the
682
+ * decompressor will actually touch (see GHSA-frx8-5p4h-j8m7) */
683
+ if (checked_mul_accum_u64 (
684
+ &comp,
685
+ (uint64_t) ny * (uint64_t) nx,
686
+ (uint64_t) curc->bytes_per_element))
687
+ return UINT64_MAX;
681
688
  }
682
689
  if (comp > ret) ret = comp;
683
690
  return ret;
@@ -695,7 +702,8 @@ internal_exr_undo_b44 (
695
702
  {
696
703
  exr_result_t rv;
697
704
  uint64_t scratch_sz = compute_scratch_buffer_size (decode, uncompressed_size);
698
- if (scratch_sz != (size_t) scratch_sz) return EXR_ERR_OUT_OF_MEMORY;
705
+ if (scratch_sz == UINT64_MAX || scratch_sz != (size_t) scratch_sz)
706
+ return EXR_ERR_OUT_OF_MEMORY;
699
707
  rv = internal_decode_alloc_buffer (
700
708
  decode,
701
709
  EXR_TRANSCODE_BUFFER_SCRATCH1,
@@ -724,7 +732,8 @@ internal_exr_undo_b44a (
724
732
  {
725
733
  exr_result_t rv;
726
734
  uint64_t scratch_sz = compute_scratch_buffer_size (decode, uncompressed_size);
727
- if (scratch_sz != (size_t) scratch_sz) return EXR_ERR_OUT_OF_MEMORY;
735
+ if (scratch_sz == UINT64_MAX || scratch_sz != (size_t) scratch_sz)
736
+ return EXR_ERR_OUT_OF_MEMORY;
728
737
  rv = internal_decode_alloc_buffer (
729
738
  decode,
730
739
  EXR_TRANSCODE_BUFFER_SCRATCH1,
@@ -916,6 +916,8 @@ DwaCompressor_uncompress (
916
916
 
917
917
  if (unknownCompressedSize > 0)
918
918
  {
919
+ size_t unknownActualOut;
920
+
919
921
  if (unknownUncompressedSize > me->_planarUncBufferSize[UNKNOWN])
920
922
  {
921
923
  return EXR_ERR_CORRUPT_CHUNK;
@@ -927,7 +929,18 @@ DwaCompressor_uncompress (
927
929
  unknownCompressedSize,
928
930
  me->_planarUncBuffer[UNKNOWN],
929
931
  unknownUncompressedSize,
930
- NULL))
932
+ &unknownActualOut))
933
+ {
934
+ return EXR_ERR_CORRUPT_CHUNK;
935
+ }
936
+
937
+ /* A short zlib stream (fewer bytes produced than requested) is
938
+ * reported as success (see translate_deflate_result), leaving
939
+ * the tail of _planarUncBuffer[UNKNOWN] filled with stale heap
940
+ * contents that are then copied into the decoded image. Reject
941
+ * it explicitly instead of trusting the full buffer was written
942
+ * (see GHSA-rjg8-982x-jhc2). */
943
+ if (unknownActualOut != unknownUncompressedSize)
931
944
  {
932
945
  return EXR_ERR_CORRUPT_CHUNK;
933
946
  }
@@ -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
 
@@ -38,7 +38,7 @@ compute_sampled_height (int height, int y_sampling, int start_y)
38
38
  }
39
39
 
40
40
  tmph = height - off;
41
- if (tmph == 0) return 0;
41
+ if (tmph <= 0) return 0;
42
42
  --tmph;
43
43
  nlines = tmph / y_sampling + 1;
44
44
  }
@@ -61,4 +61,26 @@ compute_sampled_width (int width, int x_sampling, int start_x)
61
61
  return (width == 1) ? 1 : (width / x_sampling);
62
62
  }
63
63
 
64
+ /* Multiplies @p a by @p b and adds the result into @p accum, all as
65
+ * uint64_t. Returns 1 and leaves @p accum unmodified if either the
66
+ * multiplication or the subsequent accumulation would overflow a
67
+ * 64-bit unsigned integer, otherwise returns 0. Used to guard
68
+ * unpacked / scratch buffer size computations (width * height *
69
+ * bytes-per-pixel * channel-count) against wraparound on crafted
70
+ * files with extreme dimensions or channel counts. */
71
+ static inline int
72
+ checked_mul_accum_u64 (uint64_t* accum, uint64_t a, uint64_t b)
73
+ {
74
+ uint64_t prod, sum;
75
+
76
+ if (a != 0 && b > (UINT64_MAX / a)) return 1;
77
+ prod = a * b;
78
+
79
+ sum = *accum + prod;
80
+ if (sum < *accum) return 1;
81
+
82
+ *accum = sum;
83
+ return 0;
84
+ }
85
+
64
86
  #endif /* OPENEXR_PRIVATE_UTIL_H */
@@ -106,6 +106,12 @@ exr_result_t exr_read_chunk (
106
106
  * but this is a routine to get the sample count table and the packed
107
107
  * data in one go, or if you want to pre-read the sample count data,
108
108
  * you can get just that buffer.
109
+ *
110
+ * Both buffers are returned as stored in the file. If the part is
111
+ * compressed, the sample count table is compressed too. If it is not,
112
+ * the table holds cumulative per-scanline counts as little-endian
113
+ * 32-bit integers, which callers must convert on big-endian hosts. Use
114
+ * the decode pipeline to get native-order counts.
109
115
  */
110
116
  EXR_EXPORT
111
117
  exr_result_t exr_read_deep_chunk (
@@ -10,6 +10,6 @@
10
10
 
11
11
  # define OPENEXR_VERSION_MAJOR 3
12
12
  # define OPENEXR_VERSION_MINOR 4
13
- # define OPENEXR_VERSION_PATCH 16
13
+ # define OPENEXR_VERSION_PATCH 17
14
14
 
15
15
  #endif
@@ -2531,14 +2531,14 @@ internal_exr_compute_chunk_offset_size (exr_priv_part_t curpart)
2531
2531
  for (int c = 0; c < channels->num_channels; ++c)
2532
2532
  {
2533
2533
  /* tiles do not allow x/y sub sampling */
2534
- uint64_t cunpsz = 0;
2535
- if (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2536
- cunpsz = 2;
2537
- else
2538
- cunpsz = 4;
2539
- cunpsz *= (uint64_t) tiledesc->x_size;
2540
- cunpsz *= (uint64_t) tiledesc->y_size;
2541
- unpackedsize += cunpsz;
2534
+ uint64_t cunpsz = (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2535
+ ? 2
2536
+ : 4;
2537
+ if (checked_mul_accum_u64 (
2538
+ &unpackedsize,
2539
+ cunpsz,
2540
+ (uint64_t) tiledesc->x_size * (uint64_t) tiledesc->y_size))
2541
+ return -1;
2542
2542
  }
2543
2543
  curpart->unpacked_size_per_chunk = unpackedsize;
2544
2544
  curpart->chan_has_line_sampling = ((int16_t) hasLineSample);
@@ -2557,16 +2557,17 @@ internal_exr_compute_chunk_offset_size (exr_priv_part_t curpart)
2557
2557
  {
2558
2558
  int xsamp = channels->entries[c].x_sampling;
2559
2559
  int ysamp = channels->entries[c].y_sampling;
2560
- uint64_t cunpsz = 0;
2561
- if (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2562
- cunpsz = 2;
2563
- else
2564
- cunpsz = 4;
2565
- cunpsz *= (uint64_t) compute_sampled_width (w, xsamp, dw.min.x);
2566
- cunpsz *= (uint64_t) compute_sampled_height (linePerChunk, ysamp, dw.min.y);
2560
+ uint64_t cunpsz = (channels->entries[c].pixel_type == EXR_PIXEL_HALF)
2561
+ ? 2
2562
+ : 4;
2563
+ uint64_t sampw =
2564
+ (uint64_t) compute_sampled_width ((int) w, xsamp, dw.min.x);
2565
+ uint64_t samph = (uint64_t) compute_sampled_height (
2566
+ linePerChunk, ysamp, dw.min.y);
2567
2567
  if (ysamp > 1)
2568
2568
  hasLineSample = 1;
2569
- unpackedsize += cunpsz;
2569
+ if (checked_mul_accum_u64 (&unpackedsize, cunpsz, sampw * samph))
2570
+ return -1;
2570
2571
  }
2571
2572
 
2572
2573
  curpart->unpacked_size_per_chunk = unpackedsize;
@@ -497,8 +497,29 @@ copy_attr (
497
497
  default: rv = ctxt->standard_error (ctxt, EXR_ERR_INVALID_ATTR); break;
498
498
  }
499
499
 
500
- if (rv != EXR_ERR_SUCCESS)
500
+ if (rv != EXR_ERR_SUCCESS && attr)
501
+ {
502
+ // the required attributes are cached in the part; don't leave any of
503
+ // them pointing at the attribute that is about to be freed
504
+ exr_attribute_t** cached[] = {
505
+ &part->channels,
506
+ &part->compression,
507
+ &part->dataWindow,
508
+ &part->displayWindow,
509
+ &part->lineOrder,
510
+ &part->pixelAspectRatio,
511
+ &part->screenWindowCenter,
512
+ &part->screenWindowWidth,
513
+ &part->tiles,
514
+ &part->name,
515
+ &part->type,
516
+ &part->version,
517
+ &part->chunkCount};
518
+ for (size_t i = 0; i < sizeof (cached) / sizeof (cached[0]); ++i)
519
+ if (*cached[i] == attr) *cached[i] = NULL;
520
+
501
521
  exr_attr_list_remove (ctxt, &(part->attributes), attr);
522
+ }
502
523
 
503
524
  return rv;
504
525
  }
@@ -552,7 +573,7 @@ exr_copy_unset_attributes (
552
573
  else { rv = EXR_ERR_SUCCESS; }
553
574
  }
554
575
 
555
- if (update_tiles)
576
+ if (update_tiles && rv == EXR_ERR_SUCCESS)
556
577
  rv = internal_exr_compute_tile_information (ctxt, part, 1);
557
578
 
558
579
  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;