OpenImageIO 3.0.3.1__tar.gz → 3.0.4.0__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 (569) hide show
  1. openimageio-3.0.4.0/.gitattributes +11 -0
  2. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/.gitignore +1 -0
  3. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/CHANGES.md +21 -0
  4. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/CMakeLists.txt +1 -1
  5. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/CREDITS.md +1 -0
  6. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/PKG-INFO +1 -1
  7. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/compiler.cmake +4 -2
  8. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/fancy_add_executable.cmake +0 -6
  9. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/oiiotool.rst +3 -1
  10. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ico.imageio/icoinput.cpp +13 -0
  11. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/argparse.h +3 -3
  12. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/span.h +0 -15
  13. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/string_view.h +0 -7
  14. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpeg.imageio/jpeginput.cpp +8 -3
  15. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpeg2000.imageio/jpeg2000input.cpp +4 -4
  16. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebuf.cpp +6 -5
  17. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebuf_test.cpp +25 -0
  18. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/CMakeLists.txt +0 -2
  19. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/oiiotool/expressions.cpp +22 -0
  20. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/oiiotool/oiiotool.cpp +6 -0
  21. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/openexr.imageio/exrinput.cpp +14 -1
  22. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/openexr.imageio/exrinput_c.cpp +12 -2
  23. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/png.imageio/png_pvt.h +6 -8
  24. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/psd.imageio/psdinput.cpp +9 -2
  25. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/rla.imageio/rlainput.cpp +9 -1
  26. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/tiff.imageio/tiffinput.cpp +16 -6
  27. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/.clang-format +0 -0
  28. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/.clang-tidy +0 -0
  29. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/.git-blame-ignore-revs +0 -0
  30. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/.mailmap +0 -0
  31. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/.readthedocs.yml +0 -0
  32. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/CODE_OF_CONDUCT.md +0 -0
  33. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/CONTRIBUTING.md +0 -0
  34. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/GOVERNANCE.md +0 -0
  35. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/INSTALL.md +0 -0
  36. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/LICENSE.md +0 -0
  37. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/Makefile +0 -0
  38. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/README.md +0 -0
  39. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/RELICENSING.md +0 -0
  40. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/SECURITY.md +0 -0
  41. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/THIRD-PARTY.md +0 -0
  42. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/conanfile.txt +0 -0
  43. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/pyproject.toml +0 -0
  44. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/sonar-project.properties +0 -0
  45. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/bmp.imageio/CMakeLists.txt +0 -0
  46. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/bmp.imageio/bmp_pvt.cpp +0 -0
  47. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/bmp.imageio/bmp_pvt.h +0 -0
  48. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/bmp.imageio/bmpinput.cpp +0 -0
  49. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/bmp.imageio/bmpoutput.cpp +0 -0
  50. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/OpenImageIO.pc.in +0 -0
  51. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_Freetype.bash +0 -0
  52. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_OpenJPEG.bash +0 -0
  53. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_Ptex.bash +0 -0
  54. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_abi_tools.bash +0 -0
  55. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_cmake.bash +0 -0
  56. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_gif.bash +0 -0
  57. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_libjpeg-turbo.bash +0 -0
  58. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_libpng.bash +0 -0
  59. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_libraw.bash +0 -0
  60. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_libtiff.bash +0 -0
  61. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_llvm.bash +0 -0
  62. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_ninja.bash +0 -0
  63. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_opencolorio.bash +0 -0
  64. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_openexr.bash +0 -0
  65. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_pugixml.bash +0 -0
  66. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_pybind11.bash +0 -0
  67. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_webp.bash +0 -0
  68. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/build_zlib.bash +0 -0
  69. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/ci-abicheck.bash +0 -0
  70. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/ci-build.bash +0 -0
  71. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/ci-coverage.bash +0 -0
  72. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/ci-startup.bash +0 -0
  73. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/ci-test.bash +0 -0
  74. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/gh-installdeps.bash +0 -0
  75. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/gh-win-installdeps.bash +0 -0
  76. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/hidesymbols.map +0 -0
  77. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/install_homebrew_deps.bash +0 -0
  78. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/ninjatracing.py +0 -0
  79. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/nosanitize.txt +0 -0
  80. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/oneAPI.repo +0 -0
  81. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/save-env.bash +0 -0
  82. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/build-scripts/ubsan-suppressions.txt +0 -0
  83. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/CMakeLists.txt +0 -0
  84. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/cineoninput.cpp +0 -0
  85. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/BaseTypeConverter.h +0 -0
  86. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/Cineon.cpp +0 -0
  87. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/Cineon.h +0 -0
  88. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/CineonHeader.cpp +0 -0
  89. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/CineonHeader.h +0 -0
  90. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/CineonStream.h +0 -0
  91. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/Codec.cpp +0 -0
  92. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/Codec.h +0 -0
  93. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/ElementReadStream.cpp +0 -0
  94. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/ElementReadStream.h +0 -0
  95. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/EndianSwap.h +0 -0
  96. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/InStream.cpp +0 -0
  97. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/OutStream.cpp +0 -0
  98. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/Reader.cpp +0 -0
  99. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/ReaderInternal.h +0 -0
  100. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/Writer.cpp +0 -0
  101. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cineon.imageio/libcineon/WriterInternal.h +0 -0
  102. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/Config.cmake.in +0 -0
  103. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/add_oiio_plugin.cmake +0 -0
  104. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_Freetype.cmake +0 -0
  105. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_Imath.cmake +0 -0
  106. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_OpenColorIO.cmake +0 -0
  107. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_OpenEXR.cmake +0 -0
  108. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_PNG.cmake +0 -0
  109. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_Robinmap.cmake +0 -0
  110. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_TIFF.cmake +0 -0
  111. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_WebP.cmake +0 -0
  112. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_ZLIB.cmake +0 -0
  113. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_expat.cmake +0 -0
  114. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_fmt.cmake +0 -0
  115. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_libdeflate.cmake +0 -0
  116. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_libjpeg-turbo.cmake +0 -0
  117. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_libuhdr.cmake +0 -0
  118. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_minizip-ng.cmake +0 -0
  119. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_pybind11.cmake +0 -0
  120. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_pystring.cmake +0 -0
  121. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/build_yaml-cpp.cmake +0 -0
  122. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/check_is_enabled.cmake +0 -0
  123. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/colors.cmake +0 -0
  124. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/cuda_macros.cmake +0 -0
  125. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/dependency_utils.cmake +0 -0
  126. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/externalpackages.cmake +0 -0
  127. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindFFmpeg.cmake +0 -0
  128. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindJXL.cmake +0 -0
  129. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindLibRaw.cmake +0 -0
  130. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindLibheif.cmake +0 -0
  131. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindNuke.cmake +0 -0
  132. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindOpenCV.cmake +0 -0
  133. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindOpenEXR.cmake +0 -0
  134. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindOpenJPEG.cmake +0 -0
  135. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindOpenVDB.cmake +0 -0
  136. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindPtex.cmake +0 -0
  137. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindR3DSDK.cmake +0 -0
  138. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindRobinmap.cmake +0 -0
  139. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/FindTBB.cmake +0 -0
  140. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/Findlibuhdr.cmake +0 -0
  141. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/Findpugixml.cmake +0 -0
  142. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/modules/Findpystring.cmake +0 -0
  143. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/packaging.cmake +0 -0
  144. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/pythonutils.cmake +0 -0
  145. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/set_utils.cmake +0 -0
  146. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/cmake/testing.cmake +0 -0
  147. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dds.imageio/CMakeLists.txt +0 -0
  148. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dds.imageio/bcdec.h +0 -0
  149. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dds.imageio/dds_pvt.h +0 -0
  150. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dds.imageio/ddsinput.cpp +0 -0
  151. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dicom.imageio/CMakeLists.txt +0 -0
  152. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dicom.imageio/dicominput.cpp +0 -0
  153. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/.gitignore +0 -0
  154. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/Building_the_docs.md +0 -0
  155. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/CMakeLists.txt +0 -0
  156. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/Description.txt +0 -0
  157. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/Doxyfile +0 -0
  158. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/Makefile +0 -0
  159. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/Welcome.txt +0 -0
  160. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/builtinplugins.rst +0 -0
  161. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/cliff.toml +0 -0
  162. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/conf.py +0 -0
  163. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/copyr.rst +0 -0
  164. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/CC-BY.png +0 -0
  165. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/addc.jpg +0 -0
  166. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/bluenoise.jpg +0 -0
  167. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/bottomhat.jpg +0 -0
  168. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/box.png +0 -0
  169. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/checker.jpg +0 -0
  170. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/colormap-custom.jpg +0 -0
  171. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/colormap-inferno.jpg +0 -0
  172. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/colormap-turbo.jpg +0 -0
  173. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/colormap-viridis.jpg +0 -0
  174. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/crop.jpg +0 -0
  175. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/cshift.jpg +0 -0
  176. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/cut.jpg +0 -0
  177. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/dilate.jpg +0 -0
  178. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/erode.jpg +0 -0
  179. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/fill.jpg +0 -0
  180. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/fit-height.jpg +0 -0
  181. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/fit-letterbox.jpg +0 -0
  182. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/fit-width.jpg +0 -0
  183. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/fitv-height.jpg +0 -0
  184. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/fitv-letterbox.jpg +0 -0
  185. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/fitv-width.jpg +0 -0
  186. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/flip.jpg +0 -0
  187. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/flipflop.jpg +0 -0
  188. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/flop.jpg +0 -0
  189. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/gaussnoise.jpg +0 -0
  190. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/gradient.jpg +0 -0
  191. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/gradient4.jpg +0 -0
  192. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/gradienth.jpg +0 -0
  193. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/grid-small.jpg +0 -0
  194. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/invert.jpg +0 -0
  195. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/lines.png +0 -0
  196. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/luma.jpg +0 -0
  197. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/morphclose.jpg +0 -0
  198. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/morphgradient.jpg +0 -0
  199. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/morphopen.jpg +0 -0
  200. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/morphsource.jpg +0 -0
  201. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/mosaic.jpg +0 -0
  202. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/mulc.jpg +0 -0
  203. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/points.png +0 -0
  204. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/pretrim.jpg +0 -0
  205. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/rotate180.jpg +0 -0
  206. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/rotate270.jpg +0 -0
  207. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/rotate45.jpg +0 -0
  208. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/rotate90.jpg +0 -0
  209. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/scale.jpg +0 -0
  210. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-blur.jpg +0 -0
  211. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-ccmatrix.jpg +0 -0
  212. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-gauss.jpg +0 -0
  213. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-inverse.jpg +0 -0
  214. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-laplacian.jpg +0 -0
  215. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-lincontrast.jpg +0 -0
  216. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-pepper-median.jpg +0 -0
  217. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-pepper.jpg +0 -0
  218. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-sat0.jpg +0 -0
  219. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-sat2.jpg +0 -0
  220. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-sigmoid.jpg +0 -0
  221. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tahoe-small.jpg +0 -0
  222. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/text.jpg +0 -0
  223. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/textcentered.jpg +0 -0
  224. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/textshadowed.jpg +0 -0
  225. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/tophat.jpg +0 -0
  226. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/transpose.jpg +0 -0
  227. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/trim.jpg +0 -0
  228. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/unifnoise1.jpg +0 -0
  229. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/figures/unifnoise3.jpg +0 -0
  230. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/glossary.rst +0 -0
  231. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/help2man_preformat.py +0 -0
  232. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/iconvert.rst +0 -0
  233. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/idiff.rst +0 -0
  234. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/igrep.rst +0 -0
  235. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/iinfo.rst +0 -0
  236. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/imagebuf.rst +0 -0
  237. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/imagebufalgo.rst +0 -0
  238. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/imagecache.rst +0 -0
  239. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/imageinput.rst +0 -0
  240. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/imageioapi.rst +0 -0
  241. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/imageoutput.rst +0 -0
  242. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/index.rst +0 -0
  243. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/mainpage.h +0 -0
  244. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/makefigures.bash +0 -0
  245. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/maketx.rst +0 -0
  246. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/notes.txt +0 -0
  247. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/oiiointro.rst +0 -0
  248. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/pythonbindings.rst +0 -0
  249. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/requirements.txt +0 -0
  250. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/stdmetadata.rst +0 -0
  251. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/templates/layout.html +0 -0
  252. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/texturesys.rst +0 -0
  253. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/doc/writingplugins.rst +0 -0
  254. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/CMakeLists.txt +0 -0
  255. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/dpxinput.cpp +0 -0
  256. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/dpxoutput.cpp +0 -0
  257. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/BaseTypeConverter.h +0 -0
  258. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/Codec.cpp +0 -0
  259. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/Codec.h +0 -0
  260. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/DPX.cpp +0 -0
  261. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/DPX.h +0 -0
  262. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/DPXColorConverter.cpp +0 -0
  263. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/DPXColorConverter.h +0 -0
  264. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/DPXHeader.cpp +0 -0
  265. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/DPXHeader.h +0 -0
  266. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/DPXStream.h +0 -0
  267. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/ElementReadStream.cpp +0 -0
  268. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/ElementReadStream.h +0 -0
  269. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/EndianSwap.h +0 -0
  270. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/InStream.cpp +0 -0
  271. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/OutStream.cpp +0 -0
  272. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/Reader.cpp +0 -0
  273. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/ReaderInternal.h +0 -0
  274. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/RunLengthEncoding.cpp +0 -0
  275. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/RunLengthEncoding.h +0 -0
  276. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/Writer.cpp +0 -0
  277. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/dpx.imageio/libdpx/WriterInternal.h +0 -0
  278. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ffmpeg.imageio/CMakeLists.txt +0 -0
  279. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ffmpeg.imageio/ffmpeginput.cpp +0 -0
  280. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fits.imageio/CMakeLists.txt +0 -0
  281. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fits.imageio/fits_pvt.cpp +0 -0
  282. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fits.imageio/fits_pvt.h +0 -0
  283. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fits.imageio/fitsinput.cpp +0 -0
  284. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fits.imageio/fitsoutput.cpp +0 -0
  285. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/CMakeLists.txt +0 -0
  286. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Sans/DroidSans-Bold.ttf +0 -0
  287. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Sans/DroidSans.ttf +0 -0
  288. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Sans/droid-lic.txt +0 -0
  289. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Sans_Mono/DroidSansMono.ttf +0 -0
  290. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Sans_Mono/droid-lic.txt +0 -0
  291. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Serif/DroidSerif-Bold.ttf +0 -0
  292. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Serif/DroidSerif-BoldItalic.ttf +0 -0
  293. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Serif/DroidSerif-Italic.ttf +0 -0
  294. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Serif/DroidSerif.ttf +0 -0
  295. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/fonts/Droid_Serif/droid-lic.txt +0 -0
  296. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/gif.imageio/CMakeLists.txt +0 -0
  297. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/gif.imageio/gif.h +0 -0
  298. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/gif.imageio/gifinput.cpp +0 -0
  299. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/gif.imageio/gifoutput.cpp +0 -0
  300. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/hdr.imageio/CMakeLists.txt +0 -0
  301. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/hdr.imageio/hdrinput.cpp +0 -0
  302. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/hdr.imageio/hdroutput.cpp +0 -0
  303. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/heif.imageio/CMakeLists.txt +0 -0
  304. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/heif.imageio/heifinput.cpp +0 -0
  305. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/heif.imageio/heifoutput.cpp +0 -0
  306. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ico.imageio/CMakeLists.txt +0 -0
  307. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ico.imageio/ico.h +0 -0
  308. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ico.imageio/icooutput.cpp +0 -0
  309. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iconvert/CMakeLists.txt +0 -0
  310. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iconvert/iconvert.cpp +0 -0
  311. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/idiff/CMakeLists.txt +0 -0
  312. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/idiff/idiff.cpp +0 -0
  313. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/CMakeLists.txt +0 -0
  314. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/iff_pvt.h +0 -0
  315. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/iffinput.cpp +0 -0
  316. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/iffoutput.cpp +0 -0
  317. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/noproxy-iff_pvt.cpp +0 -0
  318. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/noproxy-iff_pvt.h +0 -0
  319. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/noproxy-iffinput.cpp +0 -0
  320. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iff.imageio/noproxy-iffoutput.cpp +0 -0
  321. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/igrep/CMakeLists.txt +0 -0
  322. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/igrep/igrep.cpp +0 -0
  323. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iinfo/CMakeLists.txt +0 -0
  324. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iinfo/iinfo.cpp +0 -0
  325. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/CMakeLists.txt +0 -0
  326. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/Imath.h +0 -0
  327. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/atomic.h +0 -0
  328. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/attrdelegate.h +0 -0
  329. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/benchmark.h +0 -0
  330. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/bit.h +0 -0
  331. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/color.h +0 -0
  332. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/dassert.h +0 -0
  333. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/deepdata.h +0 -0
  334. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/detail/detail-README.txt +0 -0
  335. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/detail/farmhash.h +0 -0
  336. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/detail/fmt.h +0 -0
  337. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/detail/pugixml/pugiconfig.hpp +0 -0
  338. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/detail/pugixml/pugixml.cpp +0 -0
  339. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/detail/pugixml/pugixml.hpp +0 -0
  340. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/errorhandler.h +0 -0
  341. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/export.h +0 -0
  342. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/filesystem.h +0 -0
  343. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/filter.h +0 -0
  344. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/fmath.h +0 -0
  345. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/fstream_mingw.h +0 -0
  346. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/function_view.h +0 -0
  347. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/half.h +0 -0
  348. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/hash.h +0 -0
  349. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/image_view.h +0 -0
  350. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/imagebuf.h +0 -0
  351. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/imagebufalgo.h +0 -0
  352. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/imagebufalgo_opencv.h +0 -0
  353. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/imagebufalgo_util.h +0 -0
  354. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/imagecache.h +0 -0
  355. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/imageio.h +0 -0
  356. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/memory.h +0 -0
  357. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/oiioversion.h.in +0 -0
  358. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/optparser.h +0 -0
  359. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/parallel.h +0 -0
  360. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/paramlist.h +0 -0
  361. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/platform.h +0 -0
  362. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/plugin.h +0 -0
  363. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/refcnt.h +0 -0
  364. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/simd.h +0 -0
  365. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/span_util.h +0 -0
  366. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/strided_ptr.h +0 -0
  367. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/strongparam.h +0 -0
  368. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/strutil.h +0 -0
  369. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/sysutil.h +0 -0
  370. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/texture.h +0 -0
  371. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/thread.h +0 -0
  372. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/tiffutils.h +0 -0
  373. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/timer.h +0 -0
  374. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/type_traits.h +0 -0
  375. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/typedesc.h +0 -0
  376. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/unittest.h +0 -0
  377. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/unordered_map_concurrent.h +0 -0
  378. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/ustring.h +0 -0
  379. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/vecparam.h +0 -0
  380. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/OpenImageIO/version.h +0 -0
  381. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/include/imageio_pvt.h +0 -0
  382. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/CMakeLists.txt +0 -0
  383. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/imageviewer.cpp +0 -0
  384. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/imageviewer.h +0 -0
  385. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivgl.cpp +0 -0
  386. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivgl.h +0 -0
  387. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivgl_ocio.cpp +0 -0
  388. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivgl_ocio.h +0 -0
  389. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivimage.cpp +0 -0
  390. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivinfowin.cpp +0 -0
  391. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivmain.cpp +0 -0
  392. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivpref.cpp +0 -0
  393. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/iv/ivutils.h +0 -0
  394. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpeg.imageio/CMakeLists.txt +0 -0
  395. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpeg.imageio/jpeg_pvt.h +0 -0
  396. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpeg.imageio/jpegoutput.cpp +0 -0
  397. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpeg2000.imageio/CMakeLists.txt +0 -0
  398. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpeg2000.imageio/jpeg2000output.cpp +0 -0
  399. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpegxl.imageio/CMakeLists.txt +0 -0
  400. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpegxl.imageio/jxlinput.cpp +0 -0
  401. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/jpegxl.imageio/jxloutput.cpp +0 -0
  402. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/CMakeLists.txt +0 -0
  403. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/bluenoise.cpp +0 -0
  404. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/bluenoise.inc +0 -0
  405. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/buildopts.h.in +0 -0
  406. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/color_ocio.cpp +0 -0
  407. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/color_test.cpp +0 -0
  408. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/compute_test.cpp +0 -0
  409. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/deepdata.cpp +0 -0
  410. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/exif-canon.cpp +0 -0
  411. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/exif.cpp +0 -0
  412. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/exif.h +0 -0
  413. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/formatspec.cpp +0 -0
  414. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/icc.cpp +0 -0
  415. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo.cpp +0 -0
  416. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_addsub.cpp +0 -0
  417. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_channels.cpp +0 -0
  418. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_compare.cpp +0 -0
  419. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_copy.cpp +0 -0
  420. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_deep.cpp +0 -0
  421. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_demosaic.cpp +0 -0
  422. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_demosaic_prv.h +0 -0
  423. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_draw.cpp +0 -0
  424. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_mad.cpp +0 -0
  425. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_minmaxchan.cpp +0 -0
  426. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_muldiv.cpp +0 -0
  427. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_orient.cpp +0 -0
  428. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_pixelmath.cpp +0 -0
  429. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_test.cpp +0 -0
  430. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_xform.cpp +0 -0
  431. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagebufalgo_yee.cpp +0 -0
  432. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagecache_test.cpp +0 -0
  433. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imageinout_test.cpp +0 -0
  434. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imageinput.cpp +0 -0
  435. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imageio.cpp +0 -0
  436. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imageioplugin.cpp +0 -0
  437. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imageoutput.cpp +0 -0
  438. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagespec_test.cpp +0 -0
  439. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/imagespeed_test.cpp +0 -0
  440. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/iptc.cpp +0 -0
  441. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/kissfft.hh +0 -0
  442. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/maketexture.cpp +0 -0
  443. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/oiio_gpu.cpp +0 -0
  444. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/printinfo.cpp +0 -0
  445. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libOpenImageIO/xmp.cpp +0 -0
  446. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/environment.cpp +0 -0
  447. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/imagecache.cpp +0 -0
  448. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/imagecache_memory_print.h +0 -0
  449. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/imagecache_memory_pvt.h +0 -0
  450. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/imagecache_pvt.h +0 -0
  451. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/texoptions.cpp +0 -0
  452. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/texture3d.cpp +0 -0
  453. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/texture_pvt.h +0 -0
  454. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libtexture/texturesys.cpp +0 -0
  455. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/SHA1.cpp +0 -0
  456. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/SHA1.h +0 -0
  457. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/argparse.cpp +0 -0
  458. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/argparse_test.cpp +0 -0
  459. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/atomic_test.cpp +0 -0
  460. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/benchmark.cpp +0 -0
  461. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/errorhandler.cpp +0 -0
  462. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/farmhash.cpp +0 -0
  463. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/filesystem.cpp +0 -0
  464. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/filesystem_test.cpp +0 -0
  465. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/filter.cpp +0 -0
  466. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/filter_test.cpp +0 -0
  467. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/fmath.cpp +0 -0
  468. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/fmath_test.cpp +0 -0
  469. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/hash_test.cpp +0 -0
  470. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/hashes.cpp +0 -0
  471. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/optparser_test.cpp +0 -0
  472. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/parallel_test.cpp +0 -0
  473. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/paramlist.cpp +0 -0
  474. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/paramlist_test.cpp +0 -0
  475. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/plugin.cpp +0 -0
  476. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/simd_test.cpp +0 -0
  477. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/span_test.cpp +0 -0
  478. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/spin_rw_test.cpp +0 -0
  479. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/spinlock_test.cpp +0 -0
  480. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/stb_sprintf.h +0 -0
  481. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/strongparam_test.cpp +0 -0
  482. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/strutil.cpp +0 -0
  483. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/strutil_test.cpp +0 -0
  484. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/sysutil.cpp +0 -0
  485. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/thread.cpp +0 -0
  486. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/thread_test.cpp +0 -0
  487. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/timer.cpp +0 -0
  488. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/timer_test.cpp +0 -0
  489. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/type_traits_test.cpp +0 -0
  490. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/typedesc.cpp +0 -0
  491. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/typedesc_test.cpp +0 -0
  492. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/ustring.cpp +0 -0
  493. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/ustring_test.cpp +0 -0
  494. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/libutil/xxhash.cpp +0 -0
  495. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/maketx/CMakeLists.txt +0 -0
  496. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/maketx/maketx.cpp +0 -0
  497. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/nuke/txReader/CMakeLists.txt +0 -0
  498. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/nuke/txReader/txReader.cpp +0 -0
  499. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/nuke/txWriter/CMakeLists.txt +0 -0
  500. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/nuke/txWriter/txWriter.cpp +0 -0
  501. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/null.imageio/CMakeLists.txt +0 -0
  502. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/null.imageio/nullimageio.cpp +0 -0
  503. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/oiiotool/CMakeLists.txt +0 -0
  504. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/oiiotool/diff.cpp +0 -0
  505. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/oiiotool/imagerec.cpp +0 -0
  506. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/oiiotool/oiiotool.h +0 -0
  507. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/oiiotool/printinfo.cpp +0 -0
  508. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/openexr.imageio/CMakeLists.txt +0 -0
  509. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/openexr.imageio/exr_pvt.h +0 -0
  510. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/openexr.imageio/exroutput.cpp +0 -0
  511. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/openvdb.imageio/CMakeLists.txt +0 -0
  512. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/openvdb.imageio/openvdbinput.cpp +0 -0
  513. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/png.imageio/CMakeLists.txt +0 -0
  514. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/png.imageio/pnginput.cpp +0 -0
  515. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/png.imageio/pngoutput.cpp +0 -0
  516. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/pnm.imageio/CMakeLists.txt +0 -0
  517. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/pnm.imageio/pnminput.cpp +0 -0
  518. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/pnm.imageio/pnmoutput.cpp +0 -0
  519. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/psd.imageio/CMakeLists.txt +0 -0
  520. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/psd.imageio/psd_pvt.h +0 -0
  521. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ptex.imageio/CMakeLists.txt +0 -0
  522. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/ptex.imageio/ptexinput.cpp +0 -0
  523. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/CMakeLists.txt +0 -0
  524. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/__init__.py +0 -0
  525. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_colorconfig.cpp +0 -0
  526. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_deepdata.cpp +0 -0
  527. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_imagebuf.cpp +0 -0
  528. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_imagebufalgo.cpp +0 -0
  529. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_imagecache.cpp +0 -0
  530. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_imageinput.cpp +0 -0
  531. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_imageoutput.cpp +0 -0
  532. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_imagespec.cpp +0 -0
  533. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_oiio.cpp +0 -0
  534. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_oiio.h +0 -0
  535. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_paramvalue.cpp +0 -0
  536. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_roi.cpp +0 -0
  537. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_texturesys.cpp +0 -0
  538. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/py_typedesc.cpp +0 -0
  539. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/python/python_tests +0 -0
  540. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/r3d.imageio/CMakeLists.txt +0 -0
  541. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/r3d.imageio/r3dinput.cpp +0 -0
  542. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/raw.imageio/CMakeLists.txt +0 -0
  543. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/raw.imageio/rawinput.cpp +0 -0
  544. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/rla.imageio/CMakeLists.txt +0 -0
  545. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/rla.imageio/rla_pvt.h +0 -0
  546. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/rla.imageio/rlaoutput.cpp +0 -0
  547. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/sgi.imageio/CMakeLists.txt +0 -0
  548. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/sgi.imageio/sgi_pvt.h +0 -0
  549. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/sgi.imageio/sgiinput.cpp +0 -0
  550. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/sgi.imageio/sgioutput.cpp +0 -0
  551. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/softimage.imageio/CMakeLists.txt +0 -0
  552. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/softimage.imageio/softimage_pvt.cpp +0 -0
  553. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/softimage.imageio/softimage_pvt.h +0 -0
  554. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/softimage.imageio/softimageinput.cpp +0 -0
  555. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/targa.imageio/CMakeLists.txt +0 -0
  556. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/targa.imageio/targa_pvt.h +0 -0
  557. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/targa.imageio/targainput.cpp +0 -0
  558. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/targa.imageio/targaoutput.cpp +0 -0
  559. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/term.imageio/CMakeLists.txt +0 -0
  560. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/term.imageio/termoutput.cpp +0 -0
  561. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/testtex/CMakeLists.txt +0 -0
  562. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/testtex/testtex.cpp +0 -0
  563. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/tiff.imageio/CMakeLists.txt +0 -0
  564. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/tiff.imageio/tiffoutput.cpp +0 -0
  565. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/webp.imageio/CMakeLists.txt +0 -0
  566. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/webp.imageio/webpinput.cpp +0 -0
  567. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/webp.imageio/webpoutput.cpp +0 -0
  568. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/zfile.imageio/CMakeLists.txt +0 -0
  569. {openimageio-3.0.3.1 → openimageio-3.0.4.0}/src/zfile.imageio/zfile.cpp +0 -0
@@ -0,0 +1,11 @@
1
+ # Copyright Contributors to the OpenImageIO project.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ # https://github.com/AcademySoftwareFoundation/OpenImageIO
4
+
5
+ # Helpful documentation:
6
+ # - https://github.com/github-linguist/linguist/blob/main/docs/overrides.md
7
+ # - https://github.com/github-linguist/linguist/blob/main/docs/troubleshooting.md
8
+
9
+
10
+ *.h linguist-language=C++
11
+ src/libOpenImageIO/bluenoise.inc -linguist-detectable
@@ -8,6 +8,7 @@ wheelhouse/
8
8
  _coverage/
9
9
  .python-version
10
10
  .idea
11
+ .vs
11
12
  .vscode
12
13
  .cproject
13
14
  .project
@@ -1,3 +1,24 @@
1
+ Release 3.0.4.0 (Mar 2, 2025) -- compared to 3.0.3.0
2
+ -----------------------------------------------------
3
+ - *oiiotool*: Oiiotool new expression eval tokens IS_CONSTANT, IS_BLACK [#4610](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4610) (by Lydia Zheng)
4
+ - *oiiotool*: Better handling of wildcards that match no files [#4627](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4627)
5
+ - *ImageBuf*: IB::pixeltype() did not always return the right value [#4614](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4614)
6
+ - *ImageBuf*: Fix bug in ImageBuf construction from ptr + neg strides [#4630](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4630)
7
+ - *ICC*: ICC profile recognition and robustness improvements, especially for PSD [#4644](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4644)
8
+ - *exr*: Fill in OpenEXR lineOrder attribute when reading [#4628](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4628) (by vernalchen)
9
+ - *ico*: More robust to corrupted ICO files [#4625](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4625)
10
+ - *rla*: More robust to corrupted RLA files that could overrun buffers [#4624](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4624)
11
+ - *span.h*: Eliminate needless definitions of `std::size(span)` that were triggering strange behavior on recent MSVS compiler versions. [#4652](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4652)
12
+ - *build*: Fix recently broken rpath setting [#4618](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4618)
13
+ - *build/python wheels*: Ensure python-based builds use maj.min.patch SO versioning [#4634](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4634) (by zachlewis)
14
+ - *build/python wheels*: Fix recently broken rpath to restore python wheel building [#4633](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4633)
15
+ - *ci*: Run wheel workflow on certain pushes [#4617](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4617)
16
+ - *docs*: Argparse documentation/comments typos [#4612](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4612)
17
+ - *admin*: Document Python Wheel completed in roadmap [#4620](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4620) (by Todica Ionut)
18
+ - *admin*: Add ".vs" to .gitignore [#4645](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4645)
19
+ - *admin*: Set up .gitattributes file and ensure it properly categorizes certain files for GitHub's language analysis statistics. [#4648](https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4648)
20
+
21
+
1
22
  Release 3.0.3.1 (Feb 1, 2025) -- compared to 3.0.3.1
2
23
  -----------------------------------------------------
3
24
  The code is identical to v3.0.3.0, but some build issues were fixed to allow
@@ -4,7 +4,7 @@
4
4
 
5
5
  cmake_minimum_required (VERSION 3.18.2)
6
6
 
7
- set (OpenImageIO_VERSION "3.0.3.1")
7
+ set (OpenImageIO_VERSION "3.0.4.0")
8
8
  set (OpenImageIO_VERSION_OVERRIDE "" CACHE STRING
9
9
  "Version override (use with caution)!")
10
10
  mark_as_advanced (OpenImageIO_VERSION_OVERRIDE)
@@ -222,6 +222,7 @@ lg@openimageio.org
222
222
  * Todica Ionut
223
223
  * Tom Knowles
224
224
  * Troy James Sobotka
225
+ * Vernal Chen
225
226
  * Vic P
226
227
  * Vinod Khare
227
228
  * Vishal Agrawal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OpenImageIO
3
- Version: 3.0.3.1
3
+ Version: 3.0.4.0
4
4
  Summary: Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.
5
5
  Author-Email: Larry Gritz <lg@larrygritz.com>, OpenImageIO Contributors <oiio-dev@lists.aswf.io>
6
6
  Maintainer-Email: OpenImageIO Contributors <oiio-dev@lists.aswf.io>
@@ -625,7 +625,7 @@ set (EXTRA_DSO_LINK_ARGS "" CACHE STRING "Extra command line definitions when bu
625
625
  ###########################################################################
626
626
  # Set the versioning for shared libraries.
627
627
  #
628
- if (${PROJECT_NAME}_SUPPORTED_RELEASE)
628
+ if (${PROJECT_NAME}_SUPPORTED_RELEASE AND NOT SKBUILD)
629
629
  # Supported releases guarantee ABI back-compatibility within the release
630
630
  # family, so SO versioning is major.minor.
631
631
  set (SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
@@ -698,7 +698,9 @@ else ()
698
698
  else()
699
699
  set(BASEPOINT $ORIGIN)
700
700
  endif()
701
- set (CMAKE_INSTALL_RPATH ${BASEPOINT} ${BASEPOINT}/${CMAKE_INSTALL_LIBDIR})
701
+ set (CMAKE_INSTALL_RPATH ${BASEPOINT}
702
+ ${BASEPOINT}/${CMAKE_INSTALL_LIBDIR}
703
+ ${BASEPOINT}/../${CMAKE_INSTALL_LIBDIR})
702
704
  endif ()
703
705
  # add the automatically determined parts of the RPATH that
704
706
  # point to directories outside the build tree to the install RPATH
@@ -53,12 +53,6 @@ macro (fancy_add_executable)
53
53
  target_link_libraries (${_target_NAME} PRIVATE ${_target_LINK_LIBRARIES})
54
54
  target_link_libraries (${_target_NAME} PRIVATE ${PROFILER_LIBRARIES})
55
55
  set_target_properties (${_target_NAME} PROPERTIES FOLDER ${_target_FOLDER})
56
- if (SKBUILD)
57
- # The installed bin and lib directories are at the same level, so we
58
- # need to set the rpath to look for the libraries in ../lib
59
- set_target_properties (${_target_NAME} PROPERTIES
60
- INSTALL_RPATH "$<IF:$<BOOL:${APPLE}>,@loader_path,$ORIGIN>/../${CMAKE_INSTALL_LIBDIR}")
61
- endif ()
62
56
  check_is_enabled (INSTALL_${_target_NAME} _target_NAME_INSTALL_enabled)
63
57
  if (CMAKE_UNITY_BUILD AND UNITY_BUILD_MODE STREQUAL GROUP)
64
58
  set_source_files_properties(${_target_SRC} PROPERTIES
@@ -163,7 +163,9 @@ contents of an expression may be any of:
163
163
  information from when the file was read from disk.
164
164
  * `STATS` : a multi-line string containing the image statistics that would
165
165
  be printed with `oiiotool -stats`.
166
-
166
+ * `IS_CONSTANT`: metadata to check if the image pixels are of constant color, returns 1 if true, and 0 if false.
167
+ * `IS_BLACK`: metadata to check if the image pixels are all black, a subset of IS_CONSTANT. Also returns 1 if true, and 0 if false.
168
+
167
169
  * *imagename.'metadata'*
168
170
 
169
171
  If the metadata name is not a "C identifier" (initial letter followed by
@@ -190,6 +190,19 @@ ICOInput::seek_subimage(int subimage, int miplevel)
190
190
  swap_endian(&subimg.numColours);
191
191
  }
192
192
 
193
+ // some sanity checking
194
+ if (subimg.bpp != 1 && subimg.bpp != 4 && subimg.bpp != 8
195
+ && subimg.bpp != 16 && subimg.bpp != 24 && subimg.bpp != 32) {
196
+ errorfmt("Unsupported image color depth, probably corrupt file");
197
+ return false;
198
+ }
199
+ if (subimg.reserved != 0) {
200
+ errorfmt(
201
+ "Probably corrupt file (clue: header 'reserved' value should always be 0)",
202
+ subimg.reserved);
203
+ return false;
204
+ }
205
+
193
206
  ioseek(subimg.ofs, SEEK_SET);
194
207
 
195
208
  // test for a PNG icon
@@ -65,7 +65,7 @@ OIIO_NAMESPACE_BEGIN
65
65
  ///
66
66
  /// Parse the command line:
67
67
  ///
68
- /// ap.parse (argc, argv);
68
+ /// ap.parse_args(argc, argv);
69
69
  ///
70
70
  /// Extract the values like they are attributes in a ParamValueList:
71
71
  ///
@@ -79,7 +79,7 @@ OIIO_NAMESPACE_BEGIN
79
79
  // Old syntax
80
80
  // ----------
81
81
  //
82
- // We still support this old syntax as well:
82
+ // We still support this old syntax as well, but only internally:
83
83
  //
84
84
  // The parse function takes a list of options and variables or functions
85
85
  // for storing option values and return <0 on failure:
@@ -107,7 +107,7 @@ OIIO_NAMESPACE_BEGIN
107
107
  // "set the camera position",
108
108
  // "-lookat %f %f %f", &lx, &ly, &lz,
109
109
  // "set the position of interest",
110
- // "-oversampling %d", &oversampling, "oversamping rate",
110
+ // "-oversampling %d", &oversampling, "oversampling rate",
111
111
  // "-passes %d", &passes, "number of passes",
112
112
  // "-lens %f %f %f", &aperture, &focalDistance, &focalLength,
113
113
  // "set aperture, focal distance, focal length",
@@ -630,21 +630,6 @@ OIIO_NAMESPACE_END
630
630
  // Declare std::size and std::ssize for our span.
631
631
  namespace std {
632
632
 
633
- template<class T, OIIO::span_size_t E = OIIO::dynamic_extent>
634
- constexpr size_t
635
- size(const OIIO::span<T, E>& c)
636
- {
637
- return static_cast<size_t>(c.size());
638
- }
639
-
640
- template<class T, OIIO::span_size_t E = OIIO::dynamic_extent>
641
- constexpr size_t
642
- size(const OIIO::span_strided<T, E>& c)
643
- {
644
- return static_cast<size_t>(c.size());
645
- }
646
-
647
-
648
633
  #if OIIO_CPLUSPLUS_VERSION < 20
649
634
  // C++20 and beyond already have these declared.
650
635
  template<class T, OIIO::span_size_t E = OIIO::dynamic_extent>
@@ -532,13 +532,6 @@ FMT_END_NAMESPACE
532
532
  // Declare std::size and std::ssize for our string_view.
533
533
  namespace std {
534
534
 
535
- #if OIIO_CPLUSPLUS_VERSION < 17
536
- template<class CharT, class Traits = std::char_traits<CharT>>
537
- constexpr size_t size(const OIIO::basic_string_view<CharT, Traits>& c) {
538
- return c.size();
539
- }
540
- #endif
541
-
542
535
  #if OIIO_CPLUSPLUS_VERSION < 20
543
536
  template<class CharT, class Traits = std::char_traits<CharT>>
544
537
  constexpr ptrdiff_t ssize(const OIIO::basic_string_view<CharT, Traits>& c) {
@@ -427,8 +427,13 @@ JpgInput::read_icc_profile(j_decompress_ptr cinfo, ImageSpec& spec)
427
427
  if (m->marker == (JPEG_APP0 + 2)
428
428
  && !strcmp((const char*)m->data, "ICC_PROFILE")) {
429
429
  int seq_no = GETJOCTET(m->data[12]);
430
- memcpy(icc_buf.data() + data_offset[seq_no],
431
- m->data + ICC_HEADER_SIZE, data_length[seq_no]);
430
+ if (data_offset[seq_no] + data_length[seq_no] > icc_buf.size()) {
431
+ errorfmt("Possible corrupt file, invalid ICC profile\n");
432
+ return false;
433
+ }
434
+ spancpy(make_span(icc_buf), data_offset[seq_no],
435
+ make_cspan(m->data + ICC_HEADER_SIZE, data_length[seq_no]),
436
+ 0, data_length[seq_no]);
432
437
  }
433
438
  }
434
439
  spec.attribute("ICCProfile", TypeDesc(TypeDesc::UINT8, total_length),
@@ -436,7 +441,7 @@ JpgInput::read_icc_profile(j_decompress_ptr cinfo, ImageSpec& spec)
436
441
 
437
442
  std::string errormsg;
438
443
  bool ok = decode_icc_profile(icc_buf, spec, errormsg);
439
- if (!ok) {
444
+ if (!ok && OIIO::get_int_attribute("imageinput:strict")) {
440
445
  errorfmt("Possible corrupt file, could not decode ICC profile: {}\n",
441
446
  errormsg);
442
447
  return false;
@@ -355,10 +355,10 @@ Jpeg2000Input::open(const std::string& name, ImageSpec& p_spec)
355
355
  cspan<uint8_t>((const uint8_t*)m_image->icc_profile_buf,
356
356
  m_image->icc_profile_len),
357
357
  m_spec, errormsg);
358
- if (!ok) {
359
- // errorfmt("Could not decode ICC profile: {}\n", errormsg);
360
- // return false;
361
- // Nah, just skip an ICC specific error?
358
+ if (!ok && OIIO::get_int_attribute("imageinput:strict")) {
359
+ errorfmt("Possible corrupt file, could not decode ICC profile: {}\n",
360
+ errormsg);
361
+ return false;
362
362
  }
363
363
  }
364
364
 
@@ -99,20 +99,20 @@ span_from_buffer(void* data, TypeDesc format, int nchannels, int width,
99
99
  if (xstride >= 0) {
100
100
  bufend += xstride * (width - 1);
101
101
  } else {
102
- bufstart -= xstride * (width - 1);
102
+ bufstart += xstride * (width - 1);
103
103
  }
104
104
  // Expand to the span range for a whole image plane.
105
105
  if (ystride >= 0) {
106
106
  bufend += ystride * (height - 1);
107
107
  } else {
108
- bufstart -= ystride * (height - 1);
108
+ bufstart += ystride * (height - 1);
109
109
  }
110
110
  // Expand to the span range for a whole volume.
111
111
  if (depth > 1 && zstride != 0) {
112
112
  if (zstride >= 0) {
113
113
  bufend += zstride * (depth - 1);
114
114
  } else {
115
- bufstart -= zstride * (depth - 1);
115
+ bufstart += zstride * (depth - 1);
116
116
  }
117
117
  }
118
118
  return { bufstart, size_t(bufend - bufstart) };
@@ -189,7 +189,7 @@ public:
189
189
  TypeDesc pixeltype() const
190
190
  {
191
191
  validate_spec();
192
- return m_localpixels ? m_spec.format : m_cachedpixeltype;
192
+ return cachedpixels() ? m_cachedpixeltype : m_spec.format;
193
193
  }
194
194
 
195
195
  DeepData* deepdata()
@@ -905,7 +905,7 @@ ImageBufImpl::set_bufspan_localpixels(span<std::byte> bufspan,
905
905
  }
906
906
  m_bufspan = bufspan;
907
907
  m_localpixels = (char*)buforigin;
908
- OIIO_DASSERT(check_span(m_bufspan, m_localpixels, spec().format));
908
+ OIIO_ASSERT(check_span(m_bufspan, m_localpixels, spec().format));
909
909
  }
910
910
 
911
911
 
@@ -1128,6 +1128,7 @@ ImageBufImpl::init_spec(string_view filename, int subimage, int miplevel,
1128
1128
  if (peltype != TypeDesc::UNKNOWN) {
1129
1129
  m_spec.format = (TypeDesc::BASETYPE)peltype;
1130
1130
  m_spec.channelformats.clear();
1131
+ m_cachedpixeltype = m_spec.format;
1131
1132
  }
1132
1133
 
1133
1134
  if (m_nsubimages) {
@@ -300,6 +300,31 @@ ImageBuf_test_appbuffer_strided()
300
300
  }
301
301
  }
302
302
  }
303
+
304
+ // Test negative strides by filling with yellow, backwards
305
+ {
306
+ ImageBufAlgo::fill(wrapped, cspan<float>(green));
307
+ // Use the ImageBuf constructor from a pointer to the last pixel and
308
+ // negative strides. But don't include the edge pixels of the original
309
+ // buffer.
310
+ ImageBuf neg(ImageSpec(res - 2, res - 2, nchans, TypeFloat),
311
+ &mem[res - 2][res - 2][0] /* point to last pixel */,
312
+ -nchans * sizeof(float) /* negative x stride */,
313
+ -res * nchans * sizeof(float) /* negative y stride*/);
314
+ const float yellow[nchans] = { 1.0f, 1.0f, 0.0f };
315
+ ImageBufAlgo::fill(neg, cspan<float>(yellow));
316
+
317
+ for (int y = 0; y < res; ++y) {
318
+ for (int x = 0; x < res; ++x) {
319
+ if (x == 0 || x == res - 1 || y == 0 || y == res - 1)
320
+ OIIO_CHECK_ASSERT(make_cspan(mem[y][x], nchans)
321
+ == make_cspan(green));
322
+ else
323
+ OIIO_CHECK_ASSERT(make_cspan(mem[y][x], nchans)
324
+ == make_cspan(yellow));
325
+ }
326
+ }
327
+ }
303
328
  }
304
329
 
305
330
 
@@ -107,8 +107,6 @@ function (setup_oiio_util_library targetname)
107
107
 
108
108
  if (SKBUILD)
109
109
  set (PYTHON_SITE_DIR .)
110
- set_target_properties (${targetname} PROPERTIES
111
- INSTALL_RPATH "$<IF:$<BOOL:${APPLE}>,@loader_path,$ORIGIN>/${CMAKE_INSTALL_LIBDIR}")
112
110
  install_targets (NAMELINK_SKIP ${targetname})
113
111
  else ()
114
112
  install_targets (${targetname})
@@ -317,6 +317,28 @@ Oiiotool::express_parse_atom(const string_view expr, string_view& s,
317
317
  result = out.str();
318
318
  if (result.size() && result.back() == '\n')
319
319
  result.pop_back();
320
+ } else if (metadata == "IS_CONSTANT") {
321
+ std::vector<float> color((*img)(0, 0).nchannels());
322
+ if (ImageBufAlgo::isConstantColor((*img)(0, 0), 0.0f, color)) {
323
+ result = "1";
324
+ } else {
325
+ result = "0";
326
+ }
327
+ } else if (metadata == "IS_BLACK") {
328
+ std::vector<float> color((*img)(0, 0).nchannels());
329
+ // Check constant first to guard against false positive average of 0 with negative values i.e. -2, 1, 1
330
+ if (ImageBufAlgo::isConstantColor((*img)(0, 0), 0.0f, color)) {
331
+ // trusting that the constantcolor check means all channels have the same value, so we only check the first channel
332
+ if (color[0] == 0.0f) {
333
+ result = "1";
334
+ } else {
335
+ result = "0";
336
+ }
337
+ } else {
338
+ // Not even constant color case -> We don't want those to count as black frames.
339
+ result = "0";
340
+ }
341
+
320
342
  } else if (using_bracket) {
321
343
  // For the TOP[meta] syntax, if the metadata doesn't exist,
322
344
  // return the empty string, and do not make an error.
@@ -7329,6 +7329,12 @@ handle_sequence(Oiiotool& ot, int argc, const char** argv)
7329
7329
  nfilenames = frame_numbers[0].size();
7330
7330
  }
7331
7331
 
7332
+ if (!nfilenames) {
7333
+ // No filenames matched the first wildcard pattern
7334
+ ot.warning("", "No frame number or views matched the wildcards");
7335
+ return false;
7336
+ }
7337
+
7332
7338
  // Make sure frame_numbers[0] has the canonical frame number list
7333
7339
  if (sequence_args.size() && frame_numbers[0].empty())
7334
7340
  frame_numbers[0] = frame_numbers[sequence_args[0]];
@@ -47,6 +47,7 @@ OIIO_GCC_PRAGMA(GCC diagnostic ignored "-Wunused-parameter")
47
47
  #include <OpenEXR/ImfInputPart.h>
48
48
  #include <OpenEXR/ImfIntAttribute.h>
49
49
  #include <OpenEXR/ImfKeyCodeAttribute.h>
50
+ #include <OpenEXR/ImfLineOrderAttribute.h>
50
51
  #include <OpenEXR/ImfMatrixAttribute.h>
51
52
  #include <OpenEXR/ImfMultiPartInputFile.h>
52
53
  #include <OpenEXR/ImfPartType.h>
@@ -128,7 +129,6 @@ static std::map<std::string, std::string> exr_tag_to_oiio_std {
128
129
  { "envmap", "" },
129
130
  { "tiledesc", "" },
130
131
  { "tiles", "" },
131
- { "openexr:lineOrder", "" },
132
132
  { "type", "" },
133
133
 
134
134
  // FIXME: Things to consider in the future:
@@ -467,6 +467,7 @@ OpenEXRInput::PartInfo::parse_header(OpenEXRInput* in,
467
467
  const Imf::V3dAttribute* v3dattr;
468
468
  const Imf::M33dAttribute* m33dattr;
469
469
  const Imf::M44dAttribute* m44dattr;
470
+ const Imf::LineOrderAttribute* lattr;
470
471
  const char* name = hit.name();
471
472
  auto found = exr_tag_to_oiio_std.find(name);
472
473
  std::string oname(found != exr_tag_to_oiio_std.end() ? found->second
@@ -635,6 +636,18 @@ OpenEXRInput::PartInfo::parse_header(OpenEXRInput* in,
635
636
  oname, n, d);
636
637
  }
637
638
  }
639
+ } else if (type == "lineOrder"
640
+ && (lattr
641
+ = header->findTypedAttribute<Imf::LineOrderAttribute>(
642
+ name))) {
643
+ const char* lineOrder = "increasingY";
644
+ switch (lattr->value()) {
645
+ case Imf::INCREASING_Y: lineOrder = "increasingY"; break;
646
+ case Imf::DECREASING_Y: lineOrder = "decreasingY"; break;
647
+ case Imf::RANDOM_Y: lineOrder = "randomY"; break;
648
+ default: break;
649
+ }
650
+ spec.attribute("openexr:lineOrder", lineOrder);
638
651
  } else {
639
652
  #if 0
640
653
  print(std::cerr, " unknown attribute '{}' name '{}'\n",
@@ -275,7 +275,6 @@ static std::map<std::string, std::string> cexr_tag_to_oiio_std {
275
275
  { "envmap", "" },
276
276
  { "tiledesc", "" },
277
277
  { "tiles", "" },
278
- { "openexr:lineOrder", "" },
279
278
  { "type", "" },
280
279
 
281
280
  // FIXME: Things to consider in the future:
@@ -729,12 +728,23 @@ OpenEXRCoreInput::PartInfo::parse_header(OpenEXRCoreInput* in,
729
728
  break;
730
729
  }
731
730
 
731
+ case EXR_ATTR_LINEORDER: {
732
+ std::string lineOrder = "increasingY";
733
+ switch (attr->uc) {
734
+ case EXR_LINEORDER_INCREASING_Y: lineOrder = "increasingY"; break;
735
+ case EXR_LINEORDER_DECREASING_Y: lineOrder = "decreasingY"; break;
736
+ case EXR_LINEORDER_RANDOM_Y: lineOrder = "randomY"; break;
737
+ default: break;
738
+ }
739
+ spec.attribute("openexr:lineOrder", lineOrder);
740
+ break;
741
+ }
742
+
732
743
  case EXR_ATTR_PREVIEW:
733
744
  case EXR_ATTR_OPAQUE:
734
745
  case EXR_ATTR_ENVMAP:
735
746
  case EXR_ATTR_COMPRESSION:
736
747
  case EXR_ATTR_CHLIST:
737
- case EXR_ATTR_LINEORDER:
738
748
  case EXR_ATTR_TILEDESC:
739
749
  default:
740
750
  #if 0
@@ -250,14 +250,12 @@ read_info(png_structp& sp, png_infop& ip, int& bit_depth, int& color_type,
250
250
  TypeDesc(TypeDesc::UINT8, profile_length),
251
251
  profile_data);
252
252
  std::string errormsg;
253
- bool ok = decode_icc_profile(
254
- cspan<uint8_t>((const uint8_t*)profile_data,
255
- span_size_t(profile_length)),
256
- spec, errormsg);
257
- if (!ok) {
258
- // errorfmt("Could not decode ICC profile: {}\n", errormsg);
259
- // return false;
260
- // Nah, just skip an ICC specific error?
253
+ bool ok
254
+ = decode_icc_profile(make_cspan(profile_data, profile_length),
255
+ spec, errormsg);
256
+ if (!ok && OIIO::get_int_attribute("imageinput:strict")) {
257
+ errorfmt("Could not decode ICC profile: {}\n", errormsg);
258
+ return false;
261
259
  }
262
260
  }
263
261
  }
@@ -1245,8 +1245,15 @@ PSDInput::load_resource_1039(uint32_t length)
1245
1245
  TypeDesc type(TypeDesc::UINT8, length);
1246
1246
  common_attribute("ICCProfile", type, icc_buf.get());
1247
1247
  std::string errormsg;
1248
- decode_icc_profile(cspan<uint8_t>(icc_buf.get(), length), m_common_attribs,
1249
- errormsg);
1248
+ bool ok = decode_icc_profile(cspan<uint8_t>(icc_buf.get(), length),
1249
+ m_common_attribs, errormsg)
1250
+ && decode_icc_profile(cspan<uint8_t>(icc_buf.get(), length),
1251
+ m_composite_attribs, errormsg);
1252
+ if (!ok && OIIO::get_int_attribute("imageinput:strict")) {
1253
+ errorfmt("Possible corrupt file, could not decode ICC profile: {}\n",
1254
+ errormsg);
1255
+ return false;
1256
+ }
1250
1257
  return true;
1251
1258
  }
1252
1259
 
@@ -604,7 +604,15 @@ RLAInput::decode_channel_group(int first_channel, short num_channels,
604
604
  // OIIO conventions.
605
605
  if (num_bits == 8 || num_bits == 16 || num_bits == 32) {
606
606
  // ok -- no rescaling needed
607
- } else if (num_bits == 10) {
607
+ }
608
+ int bytes_per_chan = ceil2(std::max(int(num_bits), 8)) / 8;
609
+ if (size_t(offset + (m_spec.width - 1) * pixelsize
610
+ + num_channels * bytes_per_chan)
611
+ > m_buf.size()) {
612
+ errorfmt("Probably corrupt file (buffer overrun avoided)");
613
+ return false; // Probably corrupt? Would have overrun
614
+ }
615
+ if (num_bits == 10) {
608
616
  // fast, common case -- use templated hard-code
609
617
  for (int x = 0; x < m_spec.width; ++x) {
610
618
  uint16_t* b = (uint16_t*)(&m_buf[offset + x * pixelsize]);
@@ -209,7 +209,9 @@ private:
209
209
  // Read tags from the current directory of m_tif and fill out spec.
210
210
  // If read_meta is false, assume that m_spec already contains valid
211
211
  // metadata and should not be cleared or rewritten.
212
- void readspec(bool read_meta = true);
212
+ // Return true if all is fine, false if something really bad happens,
213
+ // like we think the file is hopelessly corrupted.
214
+ bool readspec(bool read_meta = true);
213
215
 
214
216
  // Figure out all the photometric-related aspects of the header
215
217
  void readspec_photometric();
@@ -832,7 +834,8 @@ TIFFInput::seek_subimage(int subimage, int miplevel)
832
834
  m_next_scanline = 0; // next scanline we'll read
833
835
  if (subimage == m_subimage || TIFFSetDirectory(m_tif, subimage)) {
834
836
  m_subimage = subimage;
835
- readspec(read_meta);
837
+ if (!readspec(read_meta))
838
+ return false;
836
839
 
837
840
  char emsg[1024];
838
841
  if (m_use_rgba_interface && !TIFFRGBAImageOK(m_tif, emsg)) {
@@ -931,7 +934,7 @@ TIFFInput::spec_dimensions(int subimage, int miplevel)
931
934
  #define ICC_PROFILE_ATTR "ICCProfile"
932
935
 
933
936
 
934
- void
937
+ bool
935
938
  TIFFInput::readspec(bool read_meta)
936
939
  {
937
940
  uint32_t width = 0, height = 0, depth = 0;
@@ -1201,7 +1204,7 @@ TIFFInput::readspec(bool read_meta)
1201
1204
  // assumed to be identical to what we already have in m_spec,
1202
1205
  // skip everything following.
1203
1206
  if (!read_meta)
1204
- return;
1207
+ return true;
1205
1208
 
1206
1209
  short resunit = -1;
1207
1210
  TIFFGetField(m_tif, TIFFTAG_RESOLUTIONUNIT, &resunit);
@@ -1239,8 +1242,13 @@ TIFFInput::readspec(bool read_meta)
1239
1242
  m_spec.attribute(ICC_PROFILE_ATTR,
1240
1243
  TypeDesc(TypeDesc::UINT8, icc_datasize), icc_buf);
1241
1244
  std::string errormsg;
1242
- decode_icc_profile(cspan<uint8_t>(icc_buf, icc_datasize), m_spec,
1243
- errormsg);
1245
+ bool ok = decode_icc_profile(cspan<uint8_t>(icc_buf, icc_datasize),
1246
+ m_spec, errormsg);
1247
+ if (!ok && OIIO::get_int_attribute("imageinput:strict")) {
1248
+ errorfmt("Possible corrupt file, could not decode ICC profile: {}\n",
1249
+ errormsg);
1250
+ return false;
1251
+ }
1244
1252
  }
1245
1253
 
1246
1254
  // Search for an EXIF IFD in the TIFF file, and if found, rummage
@@ -1370,6 +1378,8 @@ TIFFInput::readspec(bool read_meta)
1370
1378
 
1371
1379
  if (m_testopenconfig) // open-with-config debugging
1372
1380
  m_spec.attribute("oiio:DebugOpenConfig!", 42);
1381
+
1382
+ return true;
1373
1383
  }
1374
1384
 
1375
1385
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes