ffpsd 0.4.6__tar.gz → 0.4.7__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 (1171) hide show
  1. {ffpsd-0.4.6 → ffpsd-0.4.7}/CMakeLists.txt +1 -1
  2. ffpsd-0.4.7/PKG-INFO +117 -0
  3. {ffpsd-0.4.6 → ffpsd-0.4.7}/README.md +31 -6
  4. ffpsd-0.4.7/ROADMAP.md +47 -0
  5. ffpsd-0.4.7/bindings/python/README.md +79 -0
  6. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/ffpsd/_pil.py +2 -2
  7. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/src/common.cpp +14 -1
  8. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/src/common.hpp +25 -0
  9. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/src/document.cpp +64 -54
  10. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/src/layer.cpp +31 -8
  11. ffpsd-0.4.7/rustfmt.toml +1 -0
  12. ffpsd-0.4.6/PKG-INFO +0 -58
  13. ffpsd-0.4.6/bindings/python/README.md +0 -20
  14. {ffpsd-0.4.6 → ffpsd-0.4.7}/.clang-format +0 -0
  15. {ffpsd-0.4.6 → ffpsd-0.4.7}/.clangd +0 -0
  16. {ffpsd-0.4.6 → ffpsd-0.4.7}/.gitattributes +0 -0
  17. {ffpsd-0.4.6 → ffpsd-0.4.7}/.gitignore +0 -0
  18. {ffpsd-0.4.6 → ffpsd-0.4.7}/.gitmodules +0 -0
  19. {ffpsd-0.4.6 → ffpsd-0.4.7}/.pre-commit-config.yaml +0 -0
  20. {ffpsd-0.4.6 → ffpsd-0.4.7}/CMakePresets.json +0 -0
  21. {ffpsd-0.4.6 → ffpsd-0.4.7}/CONTRIBUTING.md +0 -0
  22. {ffpsd-0.4.6 → ffpsd-0.4.7}/LICENSE +0 -0
  23. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/CMakeLists.txt +0 -0
  24. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/ffpsd/__init__.py +0 -0
  25. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/ffpsd/_errors.py +0 -0
  26. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/ffpsd/py.typed +0 -0
  27. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/src/formats.cpp +0 -0
  28. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/src/module.cpp +0 -0
  29. {ffpsd-0.4.6 → ffpsd-0.4.7}/bindings/python/src/types.cpp +0 -0
  30. {ffpsd-0.4.6 → ffpsd-0.4.7}/build.py +0 -0
  31. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/merge_archives.cmake +0 -0
  32. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/prefix/libjpeg_turbo.h +0 -0
  33. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/prefix/libpng.h +0 -0
  34. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/prefix/libwebp/src/utils/bit_reader_utils.h +0 -0
  35. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/prefix/libwebp.h +0 -0
  36. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/prefix/prefix.cmake +0 -0
  37. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/prefix/symbols.cmake +0 -0
  38. {ffpsd-0.4.6 → ffpsd-0.4.7}/cmake/prefix/zlib_ng.h +0 -0
  39. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/CMakeLists.txt +0 -0
  40. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/adjustments.hpp +0 -0
  41. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/bytes.hpp +0 -0
  42. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/c_api.h +0 -0
  43. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/document.hpp +0 -0
  44. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/export.h +0 -0
  45. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/ffpsd.hpp +0 -0
  46. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/formats.hpp +0 -0
  47. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/image.hpp +0 -0
  48. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/image_resources.hpp +0 -0
  49. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/layer.hpp +0 -0
  50. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/tagged_block.hpp +0 -0
  51. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/include/ffpsd/types.hpp +0 -0
  52. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/bytes.cpp +0 -0
  53. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/c_api.cpp +0 -0
  54. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/color.cpp +0 -0
  55. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/color.hpp +0 -0
  56. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/color_mode_data.cpp +0 -0
  57. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/color_mode_data.hpp +0 -0
  58. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/composite.cpp +0 -0
  59. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/composite.hpp +0 -0
  60. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/file_header.cpp +0 -0
  61. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/file_header.hpp +0 -0
  62. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/exif.cpp +0 -0
  63. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/exif.hpp +0 -0
  64. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/jpeg.cpp +0 -0
  65. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/jpeg.hpp +0 -0
  66. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/picture.cpp +0 -0
  67. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/picture.hpp +0 -0
  68. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/planes.cpp +0 -0
  69. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/planes.hpp +0 -0
  70. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/png.cpp +0 -0
  71. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/png.hpp +0 -0
  72. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/webp.cpp +0 -0
  73. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/formats/webp.hpp +0 -0
  74. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image.cpp +0 -0
  75. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image.hpp +0 -0
  76. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_data.cpp +0 -0
  77. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_data.hpp +0 -0
  78. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/document_specific_ids_seed_number.cpp +0 -0
  79. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/document_specific_ids_seed_number.hpp +0 -0
  80. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/image_resource.cpp +0 -0
  81. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/image_resource.hpp +0 -0
  82. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/resolution_info.cpp +0 -0
  83. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/resolution_info.hpp +0 -0
  84. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/version_info.cpp +0 -0
  85. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/image_resources/version_info.hpp +0 -0
  86. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/big_endian_reader.cpp +0 -0
  87. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/big_endian_reader.hpp +0 -0
  88. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/big_endian_writer.cpp +0 -0
  89. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/big_endian_writer.hpp +0 -0
  90. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/byte_order.hpp +0 -0
  91. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/compression.cpp +0 -0
  92. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/compression.hpp +0 -0
  93. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/file.cpp +0 -0
  94. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/file.hpp +0 -0
  95. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/fixed.hpp +0 -0
  96. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/fourcc.hpp +0 -0
  97. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/strings.cpp +0 -0
  98. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/io/strings.hpp +0 -0
  99. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/adjustments/adjustment_layer.cpp +0 -0
  100. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/adjustments/adjustment_layer.hpp +0 -0
  101. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/adjustments/levels.cpp +0 -0
  102. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/adjustments/levels.hpp +0 -0
  103. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/channel_ids.hpp +0 -0
  104. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/channel_image_data.cpp +0 -0
  105. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/channel_image_data.hpp +0 -0
  106. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/global_layer_mask_info.cpp +0 -0
  107. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/global_layer_mask_info.hpp +0 -0
  108. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_and_mask_info.cpp +0 -0
  109. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_and_mask_info.hpp +0 -0
  110. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_geometry.cpp +0 -0
  111. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_geometry.hpp +0 -0
  112. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_info.cpp +0 -0
  113. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_info.hpp +0 -0
  114. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_mask.cpp +0 -0
  115. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_mask.hpp +0 -0
  116. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_pixels.cpp +0 -0
  117. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_pixels.hpp +0 -0
  118. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_record.cpp +0 -0
  119. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/layer_record.hpp +0 -0
  120. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/mask_data.cpp +0 -0
  121. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/mask_data.hpp +0 -0
  122. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/layer_id.cpp +0 -0
  123. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/layer_id.hpp +0 -0
  124. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/layer_name_source_setting.cpp +0 -0
  125. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/layer_name_source_setting.hpp +0 -0
  126. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/protected_setting.cpp +0 -0
  127. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/protected_setting.hpp +0 -0
  128. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/section_divider_setting.cpp +0 -0
  129. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/section_divider_setting.hpp +0 -0
  130. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/tagged_block.cpp +0 -0
  131. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/tagged_block.hpp +0 -0
  132. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/unicode_layer_name.cpp +0 -0
  133. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/layer_and_mask/tagged_blocks/unicode_layer_name.hpp +0 -0
  134. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/limits.cpp +0 -0
  135. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/limits.hpp +0 -0
  136. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/pixel_data.cpp +0 -0
  137. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/pixel_data.hpp +0 -0
  138. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/rect.cpp +0 -0
  139. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/rect.hpp +0 -0
  140. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/resample.cpp +0 -0
  141. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/resample.hpp +0 -0
  142. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/samples.hpp +0 -0
  143. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/signatures.hpp +0 -0
  144. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/transform.cpp +0 -0
  145. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/detail/transform.hpp +0 -0
  146. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/document.cpp +0 -0
  147. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/ffpsd.cpp +0 -0
  148. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/formats.cpp +0 -0
  149. {ffpsd-0.4.6 → ffpsd-0.4.7}/ffpsd/src/layer.cpp +0 -0
  150. {ffpsd-0.4.6 → ffpsd-0.4.7}/pyproject.toml +0 -0
  151. {ffpsd-0.4.6 → ffpsd-0.4.7}/requirements-dev.txt +0 -0
  152. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/CMakeLists.txt +0 -0
  153. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.gitattributes +0 -0
  154. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.github/CONTRIBUTING.md +0 -0
  155. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.github/FUNDING.yml +0 -0
  156. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  157. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  158. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.github/SECURITY.md +0 -0
  159. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.github/pull_request_template.md +0 -0
  160. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/.github/workflows/build.yml +0 -0
  161. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/BUILDING.md +0 -0
  162. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/CMakeLists.txt +0 -0
  163. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/ChangeLog.md +0 -0
  164. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/LICENSE.md +0 -0
  165. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/README.ijg +0 -0
  166. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/README.md +0 -0
  167. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/BuildPackages.cmake +0 -0
  168. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/GNUInstallDirs.cmake +0 -0
  169. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/GenerateWrappers.cmake +0 -0
  170. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/PackageInfo.cmake +0 -0
  171. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/cmake_uninstall.cmake.in +0 -0
  172. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/testclean.cmake +0 -0
  173. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/tjbenchtest.cmake +0 -0
  174. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/cmakescripts/tjexampletest.cmake +0 -0
  175. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/change.log +0 -0
  176. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/cjpeg.1 +0 -0
  177. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/coderules.txt +0 -0
  178. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/djpeg.1 +0 -0
  179. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/doxygen-extra.css +0 -0
  180. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/doxygen.config +0 -0
  181. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/jpegtran.1 +0 -0
  182. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/libjpeg.txt +0 -0
  183. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/rdjpgcom.1 +0 -0
  184. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/structure.txt +0 -0
  185. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/usage.txt +0 -0
  186. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/wizard.txt +0 -0
  187. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/doc/wrjpgcom.1 +0 -0
  188. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/CMakeLists.txt +0 -0
  189. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/README.md +0 -0
  190. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/TJ.java +0 -0
  191. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/TJBench.java +0 -0
  192. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/TJComp.java +0 -0
  193. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/TJDecomp.java +0 -0
  194. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/TJTran.java +0 -0
  195. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/jna/TJUnitTest.java +0 -0
  196. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/Config.cmake.in +0 -0
  197. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/Distribution.xml.in +0 -0
  198. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/License.rtf +0 -0
  199. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/ReadMe.txt +0 -0
  200. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/Welcome.rtf.in +0 -0
  201. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/deb-control.in +0 -0
  202. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/installer.nsi.in +0 -0
  203. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/libjpeg.pc.in +0 -0
  204. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/libturbojpeg.pc.in +0 -0
  205. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/makedpkg.in +0 -0
  206. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/makemacpkg.in +0 -0
  207. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/makerpm.in +0 -0
  208. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/makesrpm.in +0 -0
  209. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/maketarball.in +0 -0
  210. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/rpm.spec.in +0 -0
  211. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/release/uninstall.in +0 -0
  212. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/sharedlib/CMakeLists.txt +0 -0
  213. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/sharedlib/spng/CMakeLists.txt +0 -0
  214. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/bmpsizetest.c +0 -0
  215. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/cderror.h +0 -0
  216. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/cdjpeg.c +0 -0
  217. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/cdjpeg.h +0 -0
  218. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/cjpeg.c +0 -0
  219. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/cmyk.h +0 -0
  220. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/djpeg.c +0 -0
  221. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/example.c +0 -0
  222. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jaricom.c +0 -0
  223. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcapimin.c +0 -0
  224. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcapistd.c +0 -0
  225. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcarith.c +0 -0
  226. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jccoefct.c +0 -0
  227. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jccolext.c +0 -0
  228. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jccolor.c +0 -0
  229. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcdctmgr.c +0 -0
  230. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcdiffct.c +0 -0
  231. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jchuff.c +0 -0
  232. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jchuff.h +0 -0
  233. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcicc.c +0 -0
  234. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcinit.c +0 -0
  235. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jclhuff.c +0 -0
  236. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jclossls.c +0 -0
  237. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcmainct.c +0 -0
  238. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcmarker.c +0 -0
  239. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcmaster.c +0 -0
  240. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcmaster.h +0 -0
  241. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcomapi.c +0 -0
  242. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jconfig.h.in +0 -0
  243. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jconfig.txt +0 -0
  244. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jconfigint.h.in +0 -0
  245. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcparam.c +0 -0
  246. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcphuff.c +0 -0
  247. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcprepct.c +0 -0
  248. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcsample.c +0 -0
  249. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jcstest.c +0 -0
  250. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jctrans.c +0 -0
  251. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdapimin.c +0 -0
  252. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdapistd.c +0 -0
  253. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdarith.c +0 -0
  254. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdatadst-tj.c +0 -0
  255. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdatadst.c +0 -0
  256. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdatasrc-tj.c +0 -0
  257. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdatasrc.c +0 -0
  258. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdcoefct.c +0 -0
  259. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdcoefct.h +0 -0
  260. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdcol565.c +0 -0
  261. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdcolext.c +0 -0
  262. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdcolor.c +0 -0
  263. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdct.h +0 -0
  264. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jddctmgr.c +0 -0
  265. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jddiffct.c +0 -0
  266. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdhuff.c +0 -0
  267. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdhuff.h +0 -0
  268. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdicc.c +0 -0
  269. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdinput.c +0 -0
  270. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdlhuff.c +0 -0
  271. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdlossls.c +0 -0
  272. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmainct.c +0 -0
  273. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmainct.h +0 -0
  274. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmarker.c +0 -0
  275. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmaster.c +0 -0
  276. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmaster.h +0 -0
  277. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmerge.c +0 -0
  278. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmerge.h +0 -0
  279. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmrg565.c +0 -0
  280. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdmrgext.c +0 -0
  281. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdphuff.c +0 -0
  282. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdpostct.c +0 -0
  283. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdsample.c +0 -0
  284. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdsample.h +0 -0
  285. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jdtrans.c +0 -0
  286. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jerror.c +0 -0
  287. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jerror.h +0 -0
  288. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jfdctflt.c +0 -0
  289. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jfdctfst.c +0 -0
  290. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jfdctint.c +0 -0
  291. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jidctflt.c +0 -0
  292. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jidctfst.c +0 -0
  293. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jidctint.c +0 -0
  294. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jidctred.c +0 -0
  295. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jinclude.h +0 -0
  296. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jlossls.h +0 -0
  297. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jmemmgr.c +0 -0
  298. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jmemnobs.c +0 -0
  299. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jmemsys.h +0 -0
  300. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jmorecfg.h +0 -0
  301. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jpeg_nbits.c +0 -0
  302. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jpeg_nbits.h +0 -0
  303. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jpegapicomp.h +0 -0
  304. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jpegint.h +0 -0
  305. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jpeglib.h +0 -0
  306. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jpegtran.c +0 -0
  307. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jquant1.c +0 -0
  308. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jquant2.c +0 -0
  309. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jsamplecomp.h +0 -0
  310. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jstdhuff.c +0 -0
  311. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jutils.c +0 -0
  312. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/jversion.h.in +0 -0
  313. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/libjpeg.map.in +0 -0
  314. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/md5/CMakeLists.txt +0 -0
  315. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/md5/md5.c +0 -0
  316. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/md5/md5.h +0 -0
  317. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/md5/md5cmp.c +0 -0
  318. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/md5/md5hl.c +0 -0
  319. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/md5/md5sum.c +0 -0
  320. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdbmp.c +0 -0
  321. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdcolmap.c +0 -0
  322. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdgif.c +0 -0
  323. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdjpgcom.c +0 -0
  324. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdpng.c +0 -0
  325. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdppm.c +0 -0
  326. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdswitch.c +0 -0
  327. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/rdtarga.c +0 -0
  328. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/CMakeLists.txt +0 -0
  329. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/LICENSE +0 -0
  330. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/libpng-LICENSE.txt +0 -0
  331. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/spng.c +0 -0
  332. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/spng.h +0 -0
  333. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/LICENSE +0 -0
  334. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/adler32.c +0 -0
  335. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/compress.c +0 -0
  336. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/crc32.c +0 -0
  337. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/crc32.h +0 -0
  338. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/deflate.c +0 -0
  339. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/deflate.h +0 -0
  340. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/gzguts.h +0 -0
  341. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/inffast.c +0 -0
  342. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/inffast.h +0 -0
  343. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/inffixed.h +0 -0
  344. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/inflate.c +0 -0
  345. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/inflate.h +0 -0
  346. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/inftrees.c +0 -0
  347. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/inftrees.h +0 -0
  348. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/trees.c +0 -0
  349. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/trees.h +0 -0
  350. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/zconf.h +0 -0
  351. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/zlib.h +0 -0
  352. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/zutil.c +0 -0
  353. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/spng/zlib/zutil.h +0 -0
  354. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/strtest.c +0 -0
  355. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/tjbench.c +0 -0
  356. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/tjcomp.c +0 -0
  357. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/tjdecomp.c +0 -0
  358. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/tjtran.c +0 -0
  359. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/tjunittest.c +0 -0
  360. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/tjutil.c +0 -0
  361. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/tjutil.h +0 -0
  362. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/transupp.c +0 -0
  363. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/transupp.h +0 -0
  364. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/turbojpeg-mapfile +0 -0
  365. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/turbojpeg-mp.c +0 -0
  366. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/turbojpeg.c +0 -0
  367. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/turbojpeg.h +0 -0
  368. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcapistd-12.c +0 -0
  369. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcapistd-16.c +0 -0
  370. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcapistd-8.c +0 -0
  371. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jccoefct-12.c +0 -0
  372. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jccoefct-8.c +0 -0
  373. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jccolor-12.c +0 -0
  374. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jccolor-16.c +0 -0
  375. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jccolor-8.c +0 -0
  376. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcdctmgr-12.c +0 -0
  377. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcdctmgr-8.c +0 -0
  378. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcdiffct-12.c +0 -0
  379. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcdiffct-16.c +0 -0
  380. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcdiffct-8.c +0 -0
  381. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jclossls-12.c +0 -0
  382. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jclossls-16.c +0 -0
  383. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jclossls-8.c +0 -0
  384. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcmainct-12.c +0 -0
  385. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcmainct-16.c +0 -0
  386. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcmainct-8.c +0 -0
  387. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcprepct-12.c +0 -0
  388. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcprepct-16.c +0 -0
  389. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcprepct-8.c +0 -0
  390. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcsample-12.c +0 -0
  391. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcsample-16.c +0 -0
  392. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jcsample-8.c +0 -0
  393. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdapistd-12.c +0 -0
  394. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdapistd-16.c +0 -0
  395. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdapistd-8.c +0 -0
  396. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdcoefct-12.c +0 -0
  397. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdcoefct-8.c +0 -0
  398. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdcolor-12.c +0 -0
  399. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdcolor-16.c +0 -0
  400. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdcolor-8.c +0 -0
  401. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jddctmgr-12.c +0 -0
  402. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jddctmgr-8.c +0 -0
  403. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jddiffct-12.c +0 -0
  404. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jddiffct-16.c +0 -0
  405. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jddiffct-8.c +0 -0
  406. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdlossls-12.c +0 -0
  407. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdlossls-16.c +0 -0
  408. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdlossls-8.c +0 -0
  409. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdmainct-12.c +0 -0
  410. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdmainct-16.c +0 -0
  411. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdmainct-8.c +0 -0
  412. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdmerge-12.c +0 -0
  413. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdmerge-8.c +0 -0
  414. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdpostct-12.c +0 -0
  415. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdpostct-16.c +0 -0
  416. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdpostct-8.c +0 -0
  417. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdsample-12.c +0 -0
  418. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdsample-16.c +0 -0
  419. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jdsample-8.c +0 -0
  420. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jfdctfst-12.c +0 -0
  421. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jfdctfst-8.c +0 -0
  422. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jfdctint-12.c +0 -0
  423. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jfdctint-8.c +0 -0
  424. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctflt-12.c +0 -0
  425. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctflt-8.c +0 -0
  426. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctfst-12.c +0 -0
  427. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctfst-8.c +0 -0
  428. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctint-12.c +0 -0
  429. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctint-8.c +0 -0
  430. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctred-12.c +0 -0
  431. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jidctred-8.c +0 -0
  432. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jquant1-12.c +0 -0
  433. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jquant1-8.c +0 -0
  434. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jquant2-12.c +0 -0
  435. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jquant2-8.c +0 -0
  436. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jutils-12.c +0 -0
  437. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jutils-16.c +0 -0
  438. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/jutils-8.c +0 -0
  439. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdcolmap-12.c +0 -0
  440. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdcolmap-8.c +0 -0
  441. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdpng-12.c +0 -0
  442. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdpng-16.c +0 -0
  443. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdpng-8.c +0 -0
  444. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdppm-12.c +0 -0
  445. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdppm-16.c +0 -0
  446. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/rdppm-8.c +0 -0
  447. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/template.c +0 -0
  448. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrgif-12.c +0 -0
  449. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrgif-8.c +0 -0
  450. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrpng-12.c +0 -0
  451. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrpng-16.c +0 -0
  452. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrpng-8.c +0 -0
  453. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrppm-12.c +0 -0
  454. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrppm-16.c +0 -0
  455. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrapper/wrppm-8.c +0 -0
  456. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrbmp.c +0 -0
  457. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrgif.c +0 -0
  458. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrjpgcom.c +0 -0
  459. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrpng.c +0 -0
  460. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrppm.c +0 -0
  461. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/src/wrtarga.c +0 -0
  462. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/test/croptest.in +0 -0
  463. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/test/indexedcolortest.in +0 -0
  464. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/test/tjbenchtest.in +0 -0
  465. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/test/tjcomptest.in +0 -0
  466. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/test/tjdecomptest.in +0 -0
  467. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/test/tjtrantest.in +0 -0
  468. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/gcc/projectTargets-release.cmake.in +0 -0
  469. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/jpeg.rc.in +0 -0
  470. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/jpeg62.def +0 -0
  471. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/jpeg7.def +0 -0
  472. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/jpeg8.def +0 -0
  473. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/projectTargets.cmake.in +0 -0
  474. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/turbojpeg.rc.in +0 -0
  475. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libjpeg-turbo/win/vc/projectTargets-release.cmake.in +0 -0
  476. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.appveyor.yml +0 -0
  477. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.cmake-format.yaml +0 -0
  478. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.editorconfig +0 -0
  479. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.editorconfig-checker.json +0 -0
  480. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.github/workflows/lint.yml +0 -0
  481. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.github/workflows/verify-linux.yml +0 -0
  482. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.github/workflows/verify-macos.yml +0 -0
  483. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.github/workflows/verify-windows.yml +0 -0
  484. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.gitignore +0 -0
  485. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.markdownlint.yml +0 -0
  486. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/.yamllint.yml +0 -0
  487. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/ANNOUNCE +0 -0
  488. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/AUTHORS +0 -0
  489. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/CHANGES +0 -0
  490. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/CMakeLists.txt +0 -0
  491. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/INSTALL +0 -0
  492. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/LICENSE +0 -0
  493. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/Makefile.am +0 -0
  494. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/Makefile.in +0 -0
  495. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/README +0 -0
  496. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/TODO +0 -0
  497. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/TRADEMARK +0 -0
  498. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/aclocal.m4 +0 -0
  499. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/arm/arm_init.c +0 -0
  500. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/arm/filter_neon.S +0 -0
  501. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/arm/filter_neon_intrinsics.c +0 -0
  502. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/arm/palette_neon_intrinsics.c +0 -0
  503. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/autogen.sh +0 -0
  504. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/compile +0 -0
  505. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/config.guess +0 -0
  506. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/config.h.in +0 -0
  507. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/config.sub +0 -0
  508. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/configure +0 -0
  509. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/configure.ac +0 -0
  510. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/depcomp +0 -0
  511. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/example.c +0 -0
  512. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/install-sh +0 -0
  513. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/intel/filter_sse2_intrinsics.c +0 -0
  514. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/intel/intel_init.c +0 -0
  515. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/libpng-config.in +0 -0
  516. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/libpng-manual.txt +0 -0
  517. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/libpng.3 +0 -0
  518. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/libpng.pc.in +0 -0
  519. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/libpngpf.3 +0 -0
  520. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/loongarch/.editorconfig +0 -0
  521. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/loongarch/filter_lsx_intrinsics.c +0 -0
  522. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/loongarch/loongarch_lsx_init.c +0 -0
  523. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/ltmain.sh +0 -0
  524. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/mips/.editorconfig +0 -0
  525. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/mips/filter_mmi_inline_assembly.c +0 -0
  526. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/mips/filter_msa_intrinsics.c +0 -0
  527. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/mips/mips_init.c +0 -0
  528. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/missing +0 -0
  529. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/png.5 +0 -0
  530. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/png.c +0 -0
  531. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/png.h +0 -0
  532. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngbar.jpg +0 -0
  533. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngbar.png +0 -0
  534. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngconf.h +0 -0
  535. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngdebug.h +0 -0
  536. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngerror.c +0 -0
  537. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngget.c +0 -0
  538. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pnginfo.h +0 -0
  539. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngmem.c +0 -0
  540. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngnow.png +0 -0
  541. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngpread.c +0 -0
  542. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngpriv.h +0 -0
  543. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngread.c +0 -0
  544. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngrio.c +0 -0
  545. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngrtran.c +0 -0
  546. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngrutil.c +0 -0
  547. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngset.c +0 -0
  548. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngstruct.h +0 -0
  549. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngtest.c +0 -0
  550. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngtest.png +0 -0
  551. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngtrans.c +0 -0
  552. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngusr.dfa +0 -0
  553. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngwio.c +0 -0
  554. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngwrite.c +0 -0
  555. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngwtran.c +0 -0
  556. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/pngwutil.c +0 -0
  557. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/powerpc/.editorconfig +0 -0
  558. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/powerpc/filter_vsx_intrinsics.c +0 -0
  559. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/powerpc/powerpc_init.c +0 -0
  560. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/riscv/.editorconfig +0 -0
  561. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/riscv/filter_rvv_intrinsics.c +0 -0
  562. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/riscv/riscv_init.c +0 -0
  563. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/README.txt +0 -0
  564. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/SCOPTIONS.ppc +0 -0
  565. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/autoconf/README.md +0 -0
  566. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/autoconf/libtool.m4 +0 -0
  567. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/autoconf/ltoptions.m4 +0 -0
  568. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/autoconf/ltsugar.m4 +0 -0
  569. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/autoconf/ltversion.m4 +0 -0
  570. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/autoconf/lt~obsolete.m4 +0 -0
  571. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/checksym.awk +0 -0
  572. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/AUTHORS.md +0 -0
  573. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/PNGCheckLibconf.cmake +0 -0
  574. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/PNGConfig.cmake +0 -0
  575. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/PNGGenConfig.cmake +0 -0
  576. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/PNGTest.cmake +0 -0
  577. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/README.md +0 -0
  578. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/genchk.cmake.in +0 -0
  579. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/genout.cmake.in +0 -0
  580. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/gensrc.cmake.in +0 -0
  581. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/cmake/test.cmake.in +0 -0
  582. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/descrip.mms +0 -0
  583. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/dfn.awk +0 -0
  584. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/intprefix.c +0 -0
  585. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/libpng-config-body.in +0 -0
  586. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/libpng-config-head.in +0 -0
  587. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/libpng.pc.in +0 -0
  588. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/macro.lst +0 -0
  589. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.32sunu +0 -0
  590. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.64sunu +0 -0
  591. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.aix +0 -0
  592. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.amiga +0 -0
  593. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.atari +0 -0
  594. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.bc32 +0 -0
  595. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.beos +0 -0
  596. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.c89 +0 -0
  597. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.clang +0 -0
  598. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.darwin +0 -0
  599. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.dec +0 -0
  600. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.dj2 +0 -0
  601. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.emcc +0 -0
  602. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.freebsd +0 -0
  603. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.gcc +0 -0
  604. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.hp64 +0 -0
  605. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.hpgcc +0 -0
  606. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.hpux +0 -0
  607. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.ibmc +0 -0
  608. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.intel +0 -0
  609. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.linux +0 -0
  610. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.mips +0 -0
  611. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.msys +0 -0
  612. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.netbsd +0 -0
  613. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.openbsd +0 -0
  614. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.riscos +0 -0
  615. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.sco +0 -0
  616. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.sggcc +0 -0
  617. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.sgi +0 -0
  618. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.so9 +0 -0
  619. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.solaris +0 -0
  620. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.std +0 -0
  621. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.sunos +0 -0
  622. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.vcwin-arm64 +0 -0
  623. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makefile.vcwin32 +0 -0
  624. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/makevms.com +0 -0
  625. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/options.awk +0 -0
  626. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/pnglibconf.dfa +0 -0
  627. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/pnglibconf.h.prebuilt +0 -0
  628. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/pnglibconf.mak +0 -0
  629. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/pngwin.rc +0 -0
  630. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/prefix.c +0 -0
  631. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/smakefile.ppc +0 -0
  632. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/sym.c +0 -0
  633. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/symbols.c +0 -0
  634. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/symbols.def +0 -0
  635. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/scripts/vers.c +0 -0
  636. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libpng/test-driver +0 -0
  637. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/.cmake-format.py +0 -0
  638. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/.gitattributes +0 -0
  639. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/.gitignore +0 -0
  640. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/.mailmap +0 -0
  641. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/.pylintrc +0 -0
  642. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/.style.yapf +0 -0
  643. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/AUTHORS +0 -0
  644. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/Android.mk +0 -0
  645. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/CMakeLists.txt +0 -0
  646. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/CONTRIBUTING.md +0 -0
  647. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/COPYING +0 -0
  648. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/ChangeLog +0 -0
  649. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/Makefile.am +0 -0
  650. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/Makefile.vc +0 -0
  651. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/NEWS +0 -0
  652. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/PATENTS +0 -0
  653. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/PRESUBMIT.py +0 -0
  654. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/README.md +0 -0
  655. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/autogen.sh +0 -0
  656. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/build.gradle +0 -0
  657. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/cmake/WebPConfig.cmake.in +0 -0
  658. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/cmake/config.h.in +0 -0
  659. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/cmake/cpu.cmake +0 -0
  660. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/cmake/deps.cmake +0 -0
  661. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/codereview.settings +0 -0
  662. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/configure.ac +0 -0
  663. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/Android.mk +0 -0
  664. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/Makefile.am +0 -0
  665. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/anim_diff.c +0 -0
  666. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/anim_dump.c +0 -0
  667. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/anim_util.c +0 -0
  668. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/anim_util.h +0 -0
  669. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/cwebp.c +0 -0
  670. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/dwebp.c +0 -0
  671. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/example_util.c +0 -0
  672. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/example_util.h +0 -0
  673. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/gif2webp.c +0 -0
  674. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/gifdec.c +0 -0
  675. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/gifdec.h +0 -0
  676. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/img2webp.c +0 -0
  677. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/stopwatch.h +0 -0
  678. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/test.webp +0 -0
  679. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/test_ref.ppm +0 -0
  680. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/unicode.h +0 -0
  681. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/unicode_gif.h +0 -0
  682. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/vwebp.c +0 -0
  683. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/webpinfo.c +0 -0
  684. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/examples/webpmux.c +0 -0
  685. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/Makefile.am +0 -0
  686. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/extras.c +0 -0
  687. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/extras.h +0 -0
  688. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/get_disto.c +0 -0
  689. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/quality_estimate.c +0 -0
  690. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/sharpyuv_risk_table.c +0 -0
  691. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/sharpyuv_risk_table.h +0 -0
  692. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/vwebp_sdl.c +0 -0
  693. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/webp_quality.c +0 -0
  694. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/webp_to_sdl.c +0 -0
  695. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/extras/webp_to_sdl.h +0 -0
  696. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/gradle/wrapper/gradle-wrapper.jar +0 -0
  697. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/gradle/wrapper/gradle-wrapper.properties +0 -0
  698. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/gradle.properties +0 -0
  699. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/gradlew +0 -0
  700. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/gradlew.bat +0 -0
  701. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/Android.mk +0 -0
  702. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/Makefile.am +0 -0
  703. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/image_dec.c +0 -0
  704. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/image_dec.h +0 -0
  705. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/image_enc.c +0 -0
  706. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/image_enc.h +0 -0
  707. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/imageio_util.c +0 -0
  708. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/imageio_util.h +0 -0
  709. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/jpegdec.c +0 -0
  710. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/jpegdec.h +0 -0
  711. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/metadata.c +0 -0
  712. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/metadata.h +0 -0
  713. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/pngdec.c +0 -0
  714. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/pngdec.h +0 -0
  715. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/pnmdec.c +0 -0
  716. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/pnmdec.h +0 -0
  717. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/tiffdec.c +0 -0
  718. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/tiffdec.h +0 -0
  719. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/webpdec.c +0 -0
  720. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/webpdec.h +0 -0
  721. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/wicdec.c +0 -0
  722. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/imageio/wicdec.h +0 -0
  723. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/infra/common.sh +0 -0
  724. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/infra/compile.sh +0 -0
  725. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/infra/compile_android.sh +0 -0
  726. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/infra/compile_js.sh +0 -0
  727. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/infra/run_static_analysis.sh +0 -0
  728. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/iosbuild.sh +0 -0
  729. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/m4/.gitignore +0 -0
  730. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/m4/ax_pthread.m4 +0 -0
  731. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/makefile.unix +0 -0
  732. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/Makefile.am +0 -0
  733. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/libsharpyuv.pc.in +0 -0
  734. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/libsharpyuv.rc +0 -0
  735. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv.c +0 -0
  736. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv.h +0 -0
  737. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_cpu.c +0 -0
  738. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_cpu.h +0 -0
  739. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_csp.c +0 -0
  740. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_csp.h +0 -0
  741. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_dsp.c +0 -0
  742. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_dsp.h +0 -0
  743. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_gamma.c +0 -0
  744. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_gamma.h +0 -0
  745. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_neon.c +0 -0
  746. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/sharpyuv/sharpyuv_sse2.c +0 -0
  747. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/Makefile.am +0 -0
  748. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/Makefile.am +0 -0
  749. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/alpha_dec.c +0 -0
  750. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/alphai_dec.h +0 -0
  751. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/buffer_dec.c +0 -0
  752. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/common_dec.h +0 -0
  753. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/frame_dec.c +0 -0
  754. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/idec_dec.c +0 -0
  755. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/io_dec.c +0 -0
  756. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/quant_dec.c +0 -0
  757. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/tree_dec.c +0 -0
  758. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/vp8_dec.c +0 -0
  759. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/vp8_dec.h +0 -0
  760. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/vp8i_dec.h +0 -0
  761. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/vp8l_dec.c +0 -0
  762. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/vp8li_dec.h +0 -0
  763. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/webp_dec.c +0 -0
  764. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dec/webpi_dec.h +0 -0
  765. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/demux/Makefile.am +0 -0
  766. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/demux/anim_decode.c +0 -0
  767. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/demux/demux.c +0 -0
  768. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/demux/libwebpdemux.pc.in +0 -0
  769. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/demux/libwebpdemux.rc +0 -0
  770. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/Makefile.am +0 -0
  771. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/alpha_processing.c +0 -0
  772. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c +0 -0
  773. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/alpha_processing_neon.c +0 -0
  774. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/alpha_processing_sse2.c +0 -0
  775. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/alpha_processing_sse41.c +0 -0
  776. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/common_sse2.h +0 -0
  777. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/common_sse41.h +0 -0
  778. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/cost.c +0 -0
  779. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/cost_mips32.c +0 -0
  780. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/cost_mips_dsp_r2.c +0 -0
  781. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/cost_neon.c +0 -0
  782. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/cost_sse2.c +0 -0
  783. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/cpu.c +0 -0
  784. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/cpu.h +0 -0
  785. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec.c +0 -0
  786. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec_clip_tables.c +0 -0
  787. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec_mips32.c +0 -0
  788. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec_mips_dsp_r2.c +0 -0
  789. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec_msa.c +0 -0
  790. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec_neon.c +0 -0
  791. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec_sse2.c +0 -0
  792. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dec_sse41.c +0 -0
  793. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/dsp.h +0 -0
  794. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/enc.c +0 -0
  795. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/enc_mips32.c +0 -0
  796. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/enc_mips_dsp_r2.c +0 -0
  797. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/enc_msa.c +0 -0
  798. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/enc_neon.c +0 -0
  799. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/enc_sse2.c +0 -0
  800. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/enc_sse41.c +0 -0
  801. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/filters.c +0 -0
  802. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/filters_mips_dsp_r2.c +0 -0
  803. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/filters_msa.c +0 -0
  804. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/filters_neon.c +0 -0
  805. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/filters_sse2.c +0 -0
  806. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless.c +0 -0
  807. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless.h +0 -0
  808. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_avx2.c +0 -0
  809. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_common.h +0 -0
  810. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc.c +0 -0
  811. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc_avx2.c +0 -0
  812. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc_mips32.c +0 -0
  813. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c +0 -0
  814. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc_msa.c +0 -0
  815. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc_neon.c +0 -0
  816. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc_sse2.c +0 -0
  817. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_enc_sse41.c +0 -0
  818. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_mips_dsp_r2.c +0 -0
  819. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_msa.c +0 -0
  820. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_neon.c +0 -0
  821. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_sse2.c +0 -0
  822. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/lossless_sse41.c +0 -0
  823. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/mips_macro.h +0 -0
  824. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/msa_macro.h +0 -0
  825. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/neon.h +0 -0
  826. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/quant.h +0 -0
  827. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/rescaler.c +0 -0
  828. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/rescaler_mips32.c +0 -0
  829. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/rescaler_mips_dsp_r2.c +0 -0
  830. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/rescaler_msa.c +0 -0
  831. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/rescaler_neon.c +0 -0
  832. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/rescaler_sse2.c +0 -0
  833. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/ssim.c +0 -0
  834. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/ssim_sse2.c +0 -0
  835. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/upsampling.c +0 -0
  836. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/upsampling_mips_dsp_r2.c +0 -0
  837. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/upsampling_msa.c +0 -0
  838. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/upsampling_neon.c +0 -0
  839. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/upsampling_sse2.c +0 -0
  840. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/upsampling_sse41.c +0 -0
  841. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/yuv.c +0 -0
  842. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/yuv.h +0 -0
  843. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/yuv_mips32.c +0 -0
  844. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/yuv_mips_dsp_r2.c +0 -0
  845. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/yuv_neon.c +0 -0
  846. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/yuv_sse2.c +0 -0
  847. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/dsp/yuv_sse41.c +0 -0
  848. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/Makefile.am +0 -0
  849. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/alpha_enc.c +0 -0
  850. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/analysis_enc.c +0 -0
  851. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/backward_references_cost_enc.c +0 -0
  852. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/backward_references_enc.c +0 -0
  853. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/backward_references_enc.h +0 -0
  854. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/config_enc.c +0 -0
  855. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/cost_enc.c +0 -0
  856. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/cost_enc.h +0 -0
  857. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/filter_enc.c +0 -0
  858. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/frame_enc.c +0 -0
  859. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/histogram_enc.c +0 -0
  860. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/histogram_enc.h +0 -0
  861. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/iterator_enc.c +0 -0
  862. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/near_lossless_enc.c +0 -0
  863. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/picture_csp_enc.c +0 -0
  864. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/picture_enc.c +0 -0
  865. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/picture_psnr_enc.c +0 -0
  866. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/picture_rescale_enc.c +0 -0
  867. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/picture_tools_enc.c +0 -0
  868. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/predictor_enc.c +0 -0
  869. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/quant_enc.c +0 -0
  870. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/syntax_enc.c +0 -0
  871. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/token_enc.c +0 -0
  872. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/tree_enc.c +0 -0
  873. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/vp8i_enc.h +0 -0
  874. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/vp8l_enc.c +0 -0
  875. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/vp8li_enc.h +0 -0
  876. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/enc/webp_enc.c +0 -0
  877. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/libwebp.pc.in +0 -0
  878. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/libwebp.rc +0 -0
  879. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/libwebpdecoder.pc.in +0 -0
  880. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/libwebpdecoder.rc +0 -0
  881. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/Makefile.am +0 -0
  882. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/anim_encode.c +0 -0
  883. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/animi.h +0 -0
  884. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/libwebpmux.pc.in +0 -0
  885. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/libwebpmux.rc +0 -0
  886. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/muxedit.c +0 -0
  887. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/muxi.h +0 -0
  888. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/muxinternal.c +0 -0
  889. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/mux/muxread.c +0 -0
  890. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/Makefile.am +0 -0
  891. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/bit_reader_inl_utils.h +0 -0
  892. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/bit_reader_utils.c +0 -0
  893. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/bit_reader_utils.h +0 -0
  894. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/bit_writer_utils.c +0 -0
  895. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/bit_writer_utils.h +0 -0
  896. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/color_cache_utils.c +0 -0
  897. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/color_cache_utils.h +0 -0
  898. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/endian_inl_utils.h +0 -0
  899. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/filters_utils.c +0 -0
  900. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/filters_utils.h +0 -0
  901. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/huffman_encode_utils.c +0 -0
  902. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/huffman_encode_utils.h +0 -0
  903. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/huffman_utils.c +0 -0
  904. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/huffman_utils.h +0 -0
  905. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/palette.c +0 -0
  906. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/palette.h +0 -0
  907. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/quant_levels_dec_utils.c +0 -0
  908. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/quant_levels_dec_utils.h +0 -0
  909. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/quant_levels_utils.c +0 -0
  910. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/quant_levels_utils.h +0 -0
  911. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/random_utils.c +0 -0
  912. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/random_utils.h +0 -0
  913. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/rescaler_utils.c +0 -0
  914. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/rescaler_utils.h +0 -0
  915. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/thread_utils.c +0 -0
  916. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/thread_utils.h +0 -0
  917. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/utils.c +0 -0
  918. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/utils/utils.h +0 -0
  919. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/webp/decode.h +0 -0
  920. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/webp/demux.h +0 -0
  921. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/webp/encode.h +0 -0
  922. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/webp/format_constants.h +0 -0
  923. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/webp/mux.h +0 -0
  924. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/webp/mux_types.h +0 -0
  925. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/src/webp/types.h +0 -0
  926. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/libwebp/xcframeworkbuild.sh +0 -0
  927. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.codecov.yaml +0 -0
  928. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.gitattributes +0 -0
  929. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/FUNDING.yml +0 -0
  930. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/dependabot.yml +0 -0
  931. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/analyze.yml +0 -0
  932. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/cmake.yml +0 -0
  933. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/codeql.yml +0 -0
  934. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/configure.yml +0 -0
  935. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/fuzz.yml +0 -0
  936. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/libpng.yml +0 -0
  937. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/link.yml +0 -0
  938. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/lint.yml +0 -0
  939. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/osb.yml +0 -0
  940. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/pigz.yml +0 -0
  941. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/pkgcheck.yml +0 -0
  942. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.github/workflows/release.yml +0 -0
  943. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.gitignore +0 -0
  944. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/.shellcheckrc +0 -0
  945. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/CMakeLists.txt +0 -0
  946. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/FAQ.zlib +0 -0
  947. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/INDEX.md +0 -0
  948. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/LICENSE.md +0 -0
  949. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/Makefile.in +0 -0
  950. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/PORTING.md +0 -0
  951. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/README.md +0 -0
  952. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/adler32.c +0 -0
  953. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/adler32_p.h +0 -0
  954. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/.gitignore +0 -0
  955. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/Makefile.in +0 -0
  956. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/acle_intrins.h +0 -0
  957. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/adler32_neon.c +0 -0
  958. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/arm_features.c +0 -0
  959. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/arm_features.h +0 -0
  960. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/arm_functions.h +0 -0
  961. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/chunkset_neon.c +0 -0
  962. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/compare256_neon.c +0 -0
  963. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/crc32_armv8.c +0 -0
  964. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/neon_intrins.h +0 -0
  965. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/slide_hash_armv6.c +0 -0
  966. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/arm/slide_hash_neon.c +0 -0
  967. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/Makefile.in +0 -0
  968. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/adler32_c.c +0 -0
  969. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/adler32_fold_c.c +0 -0
  970. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/chunk_128bit_perm_idx_lut.h +0 -0
  971. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/chunk_256bit_perm_idx_lut.h +0 -0
  972. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/chunk_permute_table.h +0 -0
  973. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/chunkset_c.c +0 -0
  974. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/compare256_c.c +0 -0
  975. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/compare256_p.h +0 -0
  976. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/crc32_braid_c.c +0 -0
  977. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/crc32_chorba_c.c +0 -0
  978. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/crc32_fold_c.c +0 -0
  979. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/generic_functions.h +0 -0
  980. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/generic/slide_hash_c.c +0 -0
  981. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/Makefile.in +0 -0
  982. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/adler32_lasx.c +0 -0
  983. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/adler32_lsx.c +0 -0
  984. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/chunkset_lasx.c +0 -0
  985. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/chunkset_lsx.c +0 -0
  986. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/compare256_lasx.c +0 -0
  987. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/compare256_lsx.c +0 -0
  988. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/crc32_la.c +0 -0
  989. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/lasxintrin_ext.h +0 -0
  990. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/loongarch_features.c +0 -0
  991. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/loongarch_features.h +0 -0
  992. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/loongarch_functions.h +0 -0
  993. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/lsxintrin_ext.h +0 -0
  994. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/slide_hash_lasx.c +0 -0
  995. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/loongarch/slide_hash_lsx.c +0 -0
  996. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/Makefile.in +0 -0
  997. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/adler32_power8.c +0 -0
  998. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/adler32_vmx.c +0 -0
  999. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/chunkset_power8.c +0 -0
  1000. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/compare256_power9.c +0 -0
  1001. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/crc32_constants.h +0 -0
  1002. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/crc32_power8.c +0 -0
  1003. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/power_features.c +0 -0
  1004. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/power_features.h +0 -0
  1005. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/power_functions.h +0 -0
  1006. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/power_intrins.h +0 -0
  1007. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/slide_hash_power8.c +0 -0
  1008. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/slide_hash_vmx.c +0 -0
  1009. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/power/slide_ppc_tpl.h +0 -0
  1010. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/Makefile.in +0 -0
  1011. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/README.md +0 -0
  1012. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/adler32_rvv.c +0 -0
  1013. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/chunkset_rvv.c +0 -0
  1014. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/compare256_rvv.c +0 -0
  1015. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/crc32_zbc.c +0 -0
  1016. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/riscv_features.c +0 -0
  1017. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/riscv_features.h +0 -0
  1018. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/riscv_functions.h +0 -0
  1019. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/riscv/slide_hash_rvv.c +0 -0
  1020. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/Makefile.in +0 -0
  1021. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/README.md +0 -0
  1022. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/crc32-vx.c +0 -0
  1023. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/dfltcc_common.h +0 -0
  1024. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/dfltcc_deflate.c +0 -0
  1025. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/dfltcc_deflate.h +0 -0
  1026. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/dfltcc_detail.h +0 -0
  1027. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/dfltcc_inflate.c +0 -0
  1028. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/dfltcc_inflate.h +0 -0
  1029. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/s390_features.c +0 -0
  1030. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/s390_features.h +0 -0
  1031. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/s390_functions.h +0 -0
  1032. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/self-hosted-builder/actions-runner +0 -0
  1033. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/self-hosted-builder/actions-runner-rebuild.sh +0 -0
  1034. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/self-hosted-builder/actions-runner.Dockerfile +0 -0
  1035. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/self-hosted-builder/actions-runner.service +0 -0
  1036. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/s390/self-hosted-builder/entrypoint +0 -0
  1037. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/Makefile.in +0 -0
  1038. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_avx2.c +0 -0
  1039. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_avx2_p.h +0 -0
  1040. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_avx512.c +0 -0
  1041. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_avx512_p.h +0 -0
  1042. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_avx512_vnni.c +0 -0
  1043. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_sse42.c +0 -0
  1044. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_ssse3.c +0 -0
  1045. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/adler32_ssse3_p.h +0 -0
  1046. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/chorba_sse2.c +0 -0
  1047. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/chorba_sse41.c +0 -0
  1048. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/chunkset_avx2.c +0 -0
  1049. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/chunkset_avx512.c +0 -0
  1050. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/chunkset_sse2.c +0 -0
  1051. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/chunkset_ssse3.c +0 -0
  1052. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/compare256_avx2.c +0 -0
  1053. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/compare256_avx512.c +0 -0
  1054. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/compare256_sse2.c +0 -0
  1055. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/crc32_fold_pclmulqdq_tpl.h +0 -0
  1056. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/crc32_fold_vpclmulqdq_tpl.h +0 -0
  1057. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/crc32_pclmulqdq.c +0 -0
  1058. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/crc32_pclmulqdq_tpl.h +0 -0
  1059. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/crc32_vpclmulqdq.c +0 -0
  1060. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/slide_hash_avx2.c +0 -0
  1061. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/slide_hash_sse2.c +0 -0
  1062. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/x86_features.c +0 -0
  1063. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/x86_features.h +0 -0
  1064. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/x86_functions.h +0 -0
  1065. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch/x86/x86_intrins.h +0 -0
  1066. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/arch_functions.h +0 -0
  1067. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/chunkset_tpl.h +0 -0
  1068. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/detect-arch.c +0 -0
  1069. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/detect-arch.cmake +0 -0
  1070. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/detect-coverage.cmake +0 -0
  1071. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/detect-install-dirs.cmake +0 -0
  1072. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/detect-intrinsics.cmake +0 -0
  1073. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/detect-sanitizer.cmake +0 -0
  1074. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/fallback-macros.cmake +0 -0
  1075. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-aarch64.cmake +0 -0
  1076. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-arm.cmake +0 -0
  1077. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-armhf.cmake +0 -0
  1078. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-llvm-mingw-aarch64.cmake +0 -0
  1079. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-llvm-mingw-armv7.cmake +0 -0
  1080. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-llvm-mingw-i686.cmake +0 -0
  1081. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-llvm-mingw-x86_64.cmake +0 -0
  1082. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-loongarch64-gcc-14.cmake +0 -0
  1083. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-mingw-i686.cmake +0 -0
  1084. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-mingw-x86_64.cmake +0 -0
  1085. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-mips.cmake +0 -0
  1086. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-mips64.cmake +0 -0
  1087. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-powerpc.cmake +0 -0
  1088. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-powerpc64-clang.cmake +0 -0
  1089. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-powerpc64-power9.cmake +0 -0
  1090. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-powerpc64.cmake +0 -0
  1091. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-powerpc64le-clang.cmake +0 -0
  1092. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-powerpc64le-power9.cmake +0 -0
  1093. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-powerpc64le.cmake +0 -0
  1094. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-riscv-clang.cmake +0 -0
  1095. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-riscv.cmake +0 -0
  1096. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-s390x.cmake +0 -0
  1097. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cmake/toolchain-sparc64.cmake +0 -0
  1098. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/compare256_rle.h +0 -0
  1099. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/compress.c +0 -0
  1100. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/configure +0 -0
  1101. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cpu_features.c +0 -0
  1102. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/cpu_features.h +0 -0
  1103. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/crc32.c +0 -0
  1104. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/crc32.h +0 -0
  1105. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/crc32_braid_comb.c +0 -0
  1106. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/crc32_braid_comb_p.h +0 -0
  1107. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/crc32_braid_p.h +0 -0
  1108. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/crc32_braid_tbl.h +0 -0
  1109. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate.c +0 -0
  1110. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate.h +0 -0
  1111. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_fast.c +0 -0
  1112. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_huff.c +0 -0
  1113. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_medium.c +0 -0
  1114. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_p.h +0 -0
  1115. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_quick.c +0 -0
  1116. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_rle.c +0 -0
  1117. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_slow.c +0 -0
  1118. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/deflate_stored.c +0 -0
  1119. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/fallback_builtins.h +0 -0
  1120. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/functable.c +0 -0
  1121. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/functable.h +0 -0
  1122. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/gzguts.h +0 -0
  1123. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/gzlib.c +0 -0
  1124. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/gzread.c +0 -0
  1125. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/gzread_mangle.h.in +0 -0
  1126. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/gzwrite.c +0 -0
  1127. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/infback.c +0 -0
  1128. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/inffast_tpl.h +0 -0
  1129. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/inffixed_tbl.h +0 -0
  1130. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/inflate.c +0 -0
  1131. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/inflate.h +0 -0
  1132. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/inflate_p.h +0 -0
  1133. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/inftrees.c +0 -0
  1134. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/inftrees.h +0 -0
  1135. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/insert_string.c +0 -0
  1136. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/insert_string_roll.c +0 -0
  1137. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/insert_string_tpl.h +0 -0
  1138. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/match_tpl.h +0 -0
  1139. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/tools/config.sub +0 -0
  1140. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/tools/makecrct.c +0 -0
  1141. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/tools/makefixed.c +0 -0
  1142. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/tools/maketrees.c +0 -0
  1143. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/trees.c +0 -0
  1144. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/trees.h +0 -0
  1145. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/trees_emit.h +0 -0
  1146. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/trees_tbl.h +0 -0
  1147. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/uncompr.c +0 -0
  1148. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/win32/zlib-ng.def.in +0 -0
  1149. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/win32/zlib-ng1.rc +0 -0
  1150. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/win32/zlib.def.in +0 -0
  1151. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/win32/zlib1.rc +0 -0
  1152. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/win32/zlibcompat.def.in +0 -0
  1153. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zbuild.h +0 -0
  1154. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zconf-ng.h.in +0 -0
  1155. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zconf.h.in +0 -0
  1156. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zendian.h +0 -0
  1157. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib-config.cmake.in +0 -0
  1158. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib-ng-config.cmake.in +0 -0
  1159. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib-ng.h.in +0 -0
  1160. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib-ng.map.in +0 -0
  1161. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib.h.in +0 -0
  1162. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib.map.in +0 -0
  1163. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib.pc.cmakein +0 -0
  1164. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib.pc.in +0 -0
  1165. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib_name_mangling-ng.h.in +0 -0
  1166. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib_name_mangling.h.empty +0 -0
  1167. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zlib_name_mangling.h.in +0 -0
  1168. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zmemory.h +0 -0
  1169. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zutil.c +0 -0
  1170. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zutil.h +0 -0
  1171. {ffpsd-0.4.6 → ffpsd-0.4.7}/vendor/zlib-ng/zutil_p.h +0 -0
@@ -1,7 +1,7 @@
1
1
  cmake_minimum_required(VERSION 3.23)
2
2
 
3
3
  project(ffpsd
4
- VERSION 0.4.6
4
+ VERSION 0.4.7
5
5
  DESCRIPTION "ffpsd library"
6
6
  LANGUAGES CXX)
7
7
 
ffpsd-0.4.7/PKG-INFO ADDED
@@ -0,0 +1,117 @@
1
+ Metadata-Version: 2.4
2
+ Name: ffpsd
3
+ Version: 0.4.7
4
+ Summary: Read and write Photoshop PSD and PSB files
5
+ Keywords: psd,psb,photoshop,image,layers
6
+ License-Expression: MIT
7
+ License-File: LICENSE
8
+ License-File: vendor/libjpeg-turbo/LICENSE.md
9
+ License-File: vendor/libjpeg-turbo/README.ijg
10
+ License-File: vendor/libpng/LICENSE
11
+ License-File: vendor/libwebp/COPYING
12
+ License-File: vendor/libwebp/PATENTS
13
+ License-File: vendor/zlib-ng/LICENSE.md
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Operating System :: MacOS
19
+ Classifier: Programming Language :: C++
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3 :: Only
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: 3.14
27
+ Classifier: Programming Language :: Python :: Implementation :: CPython
28
+ Classifier: Topic :: Multimedia :: Graphics
29
+ Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
30
+ Classifier: Topic :: Software Development :: Libraries
31
+ Classifier: Typing :: Typed
32
+ Project-URL: Repository, https://github.com/EnergyFlexus/ffpsd
33
+ Requires-Python: >=3.10
34
+ Requires-Dist: numpy>=1.22
35
+ Provides-Extra: pil
36
+ Requires-Dist: Pillow>=9.1; extra == "pil"
37
+ Description-Content-Type: text/markdown
38
+
39
+ # ffpsd
40
+
41
+ Python bindings to [ffpsd](https://github.com/EnergyFlexus/ffpsd), a library that reads and writes Photoshop PSD
42
+ and PSB files.
43
+
44
+ ```python
45
+ import ffpsd
46
+ import numpy as np
47
+
48
+
49
+ def run(input_path, picture_path, output_path):
50
+ doc = ffpsd.Document.open(input_path)
51
+ width, height = doc.width, doc.height
52
+ print(f"{width} x {height}, {doc.depth} bit, {doc.layer_count} layers")
53
+
54
+ # The composite Photoshop saved with the file, as PNG; None when the file has none.
55
+ composite = doc.merged_image()
56
+ if composite is not None:
57
+ print(f"composite: {len(ffpsd.encode_png(composite))} bytes of PNG")
58
+
59
+ # Layers go from the bottom up, so the top one is -1.
60
+ top = doc.layer(-1)
61
+ print(f"top layer: {top.name}, {top.bounds.width} x {top.bounds.height}")
62
+
63
+ # A copy of it on top, half transparent, in Multiply mode.
64
+ copy = doc.duplicate_layer(-1)
65
+ copy.name = "Copy"
66
+ copy.opacity = 128
67
+ copy.blend_key = ffpsd.fourcc("mul ")
68
+
69
+ # A PNG, JPEG or WebP as a layer in the document's mode and depth, 50 px from the corner, half the canvas in size, mirrored.
70
+ image = ffpsd.load_picture(picture_path, doc.color_mode, doc.depth)
71
+ picture = doc.add_layer("Picture", image, 50, 50)
72
+ picture.resize(width // 2, height // 2)
73
+ picture.flip(ffpsd.FlipDirection.HORIZONTAL)
74
+
75
+ # A mask that hides a 100 x 100 square in the picture's corner and shows the rest.
76
+ picture.set_mask(np.zeros((100, 100), np.uint8), 50, 50, 255)
77
+
78
+ # A Levels layer over everything that brightens the midtones.
79
+ doc.add_levels_layer("Levels", ffpsd.Levels(channels=[ffpsd.LevelsChannel(gamma=1.5)]))
80
+
81
+ # 100 px more canvas on every side, then save, each channel RLE or raw, whichever is smaller.
82
+ doc.resize_canvas(width + 200, height + 200, ffpsd.Anchor.CENTER)
83
+ doc.save(output_path, ffpsd.Compression.RLE_OR_RAW)
84
+ print(f"saved {doc.layer_count} layers to {output_path}")
85
+ ```
86
+
87
+ ## What it does for now
88
+
89
+ * PSD and PSB, and either into the other; RGB and gray documents, and either into the other.
90
+ * Layers: raster layers, groups, the background and Levels adjustments; added, copied from this or another
91
+ document, moved and removed; name, opacity, visibility, clipping and blend mode; pixels in and out.
92
+ * Pixel masks, read, set and removed.
93
+ * The canvas and the layers resized, turned and flipped; the canvas grown or cut from any anchor.
94
+ * The composite the file stores, read and replaced; resolution and version info.
95
+ * Every image resource and tagged block, raw, for what ffpsd does not interpret itself.
96
+ * PNG, JPEG and WebP in and out.
97
+
98
+ ## In Python
99
+
100
+ * Pixels are NumPy arrays, planar as PSD keeps them: `(channels, height, width)`, uint8, uint16 or float32 by
101
+ the depth. Arrays ffpsd gives own their memory without a copy; one it takes is copied only when it is not
102
+ C-contiguous, so `pixels.transpose(2, 0, 1)` of an interleaved picture works as is.
103
+ * Calls that take time, such as saving, pixels in and out and resizing, release the GIL, so separate documents
104
+ work in threads at once. A document belongs to one thread at a time: touching one that another thread is
105
+ working on raises `ffpsd.InvalidOperationError`.
106
+ * Errors are `ffpsd.Error` and also the built-in exception they mean: `ValueError`, `IndexError`, `OSError`,
107
+ `RuntimeError` or `NotImplementedError`.
108
+ * A layer removed from its document raises on use instead of crashing.
109
+ * With `pip install ffpsd[pil]`, `ffpsd.from_pil` and `ffpsd.to_pil` take and give Pillow images.
110
+ * Type stubs come with the package.
111
+
112
+ More in the [repository](https://github.com/EnergyFlexus/ffpsd): building from source and the
113
+ [roadmap](https://github.com/EnergyFlexus/ffpsd/blob/main/ROADMAP.md).
114
+
115
+ ## License
116
+
117
+ MIT. The vendored libraries built in keep their own permissive licenses, which the package carries.
@@ -1,16 +1,41 @@
1
1
  # ffpsd
2
2
 
3
- Read and write Photoshop PSD and PSB files, with two APIs from one build:
3
+ Read and write Photoshop PSD and PSB files from C++, C, Rust and Python:
4
4
 
5
5
  * `ffpsd/ffpsd.hpp` - C++
6
6
  * `ffpsd/c_api.h` - C, for other languages and toolchains
7
+ * Rust - the [ffpsd](https://crates.io/crates/ffpsd) crate, sources in [bindings/rust/](bindings/rust/ffpsd/README.md)
8
+ * Python - the [ffpsd](https://pypi.org/project/ffpsd/) package, sources in [bindings/python/](bindings/python/README.md)
7
9
 
8
10
  Until 1.0.0 the APIs are not stable: a release may break source and binary compatibility.
9
-
10
- Bindings, built from this repository:
11
-
12
- * Rust - [ffpsd](https://crates.io/crates/ffpsd) on crates.io, sources in [bindings/rust/](bindings/rust/ffpsd/README.md)
13
- * Python - [ffpsd](https://pypi.org/project/ffpsd/) on PyPI, sources in [bindings/python/](bindings/python/README.md)
11
+ What comes next: [ROADMAP.md](ROADMAP.md).
12
+
13
+ ## What it does for now
14
+
15
+ * PSD and PSB, and either into the other; RGB and gray documents, and either into the other.
16
+ * Layers: raster layers, groups, the background and Levels adjustments; added, copied from this or another
17
+ document, moved and removed; name, opacity, visibility, clipping and blend mode; pixels in and out.
18
+ * Pixel masks, read, set and removed.
19
+ * The canvas and the layers resized, turned and flipped; the canvas grown or cut from any anchor.
20
+ * The composite the file stores, read and replaced; resolution and version info.
21
+ * Every image resource and tagged block, raw, for what ffpsd does not interpret itself.
22
+ * PNG, JPEG and WebP in and out.
23
+
24
+ ## How it works
25
+
26
+ * Single-threaded, with no global state: a document belongs to one thread at a time, and separate documents
27
+ work in separate threads at once, so a batch of files spreads over every core.
28
+ * Nothing is lost: blocks, resources and channels ffpsd does not interpret are written back byte for byte,
29
+ and a document saved unchanged is the file it was read from.
30
+ * Lazy: a channel is decoded when its pixels are asked for and written back as stored until they change,
31
+ so opening and saving cost little more than the file's size.
32
+ * In memory: opening reads the whole file and closes it, so the file is not locked while you work; saving
33
+ builds the new file in memory and writes it once. The price is memory: about the
34
+ file's size for the document, twice that while opening or saving, plus any pixels you decode.
35
+ * Self-contained: libpng, zlib-ng, libjpeg-turbo and libwebp are built in under renamed symbols, so other
36
+ copies in the same program do not clash, and PNG, JPEG and WebP load and save with nothing else installed.
37
+
38
+ ## Getting the sources
14
39
 
15
40
  Code style: [CONTRIBUTING.md](CONTRIBUTING.md). Programs in C++, C, Rust and Python:
16
41
  [examples/](examples/README.md).
ffpsd-0.4.7/ROADMAP.md ADDED
@@ -0,0 +1,47 @@
1
+ # Roadmap
2
+
3
+ What comes next, roughly in this order; no dates. Until 1.0.0 the APIs may still change.
4
+
5
+ ## 1. ZIP compression
6
+
7
+ Decode and write channels compressed with ZIP and ZIP with prediction, as Photoshop
8
+ writes 16 and 32 bit documents and some layers. Today such channels are kept as read,
9
+ and reading their pixels throws.
10
+
11
+ ## 2. 16 bit
12
+
13
+ Every operation at 16 bit as at 8: layers, masks, the composite, resizing, color
14
+ conversion, PSB. Today 16 bit is partial.
15
+
16
+ ## 3. CMYK
17
+
18
+ Read, edit and write CMYK documents: pixels and the composite as Photoshop stores them,
19
+ conversion to and from RGB and gray, PNG and JPEG through that conversion. Today CMYK
20
+ documents open and keep their layers, but only RGB and gray convert.
21
+
22
+ ## 4. Layer kinds
23
+
24
+ Tell the kinds of layers apart, at least by the blocks they hold: text, shape, smart
25
+ object, fill (solid color, gradient, pattern), artboard, besides the raster, group and
26
+ adjustment layers known today. Reading what is inside them comes later.
27
+
28
+ ## 5. Composite of raster layers
29
+
30
+ Render the picture from the raster layers: visibility, opacity and fill opacity, blend
31
+ modes, clipping masks, pixel masks, groups. The composite of a saved document is then
32
+ up to date, so viewers other than Photoshop show the edits. Text, effects and
33
+ adjustments are not rendered.
34
+
35
+ ## 6. Vector masks
36
+
37
+ Read a layer's vector mask as paths, keep it right through every change of the canvas
38
+ and the layer (moving, resizing, turning, flipping), and render it into the composite.
39
+ Today vector masks are kept as read and survive resizing the document, but the other
40
+ changes throw on such a layer, as do setting and removing its pixel mask.
41
+
42
+ ## 7. Descriptors
43
+
44
+ Read and write action descriptors, the typed key and value trees in which Photoshop
45
+ keeps text, smart objects, layer effects, fill layers and most adjustments, written
46
+ back byte for byte when unchanged. This is what reading those layers rests on. Today
47
+ their blocks are kept as raw bytes.
@@ -0,0 +1,79 @@
1
+ # ffpsd
2
+
3
+ Python bindings to [ffpsd](https://github.com/EnergyFlexus/ffpsd), a library that reads and writes Photoshop PSD
4
+ and PSB files.
5
+
6
+ ```python
7
+ import ffpsd
8
+ import numpy as np
9
+
10
+
11
+ def run(input_path, picture_path, output_path):
12
+ doc = ffpsd.Document.open(input_path)
13
+ width, height = doc.width, doc.height
14
+ print(f"{width} x {height}, {doc.depth} bit, {doc.layer_count} layers")
15
+
16
+ # The composite Photoshop saved with the file, as PNG; None when the file has none.
17
+ composite = doc.merged_image()
18
+ if composite is not None:
19
+ print(f"composite: {len(ffpsd.encode_png(composite))} bytes of PNG")
20
+
21
+ # Layers go from the bottom up, so the top one is -1.
22
+ top = doc.layer(-1)
23
+ print(f"top layer: {top.name}, {top.bounds.width} x {top.bounds.height}")
24
+
25
+ # A copy of it on top, half transparent, in Multiply mode.
26
+ copy = doc.duplicate_layer(-1)
27
+ copy.name = "Copy"
28
+ copy.opacity = 128
29
+ copy.blend_key = ffpsd.fourcc("mul ")
30
+
31
+ # A PNG, JPEG or WebP as a layer in the document's mode and depth, 50 px from the corner, half the canvas in size, mirrored.
32
+ image = ffpsd.load_picture(picture_path, doc.color_mode, doc.depth)
33
+ picture = doc.add_layer("Picture", image, 50, 50)
34
+ picture.resize(width // 2, height // 2)
35
+ picture.flip(ffpsd.FlipDirection.HORIZONTAL)
36
+
37
+ # A mask that hides a 100 x 100 square in the picture's corner and shows the rest.
38
+ picture.set_mask(np.zeros((100, 100), np.uint8), 50, 50, 255)
39
+
40
+ # A Levels layer over everything that brightens the midtones.
41
+ doc.add_levels_layer("Levels", ffpsd.Levels(channels=[ffpsd.LevelsChannel(gamma=1.5)]))
42
+
43
+ # 100 px more canvas on every side, then save, each channel RLE or raw, whichever is smaller.
44
+ doc.resize_canvas(width + 200, height + 200, ffpsd.Anchor.CENTER)
45
+ doc.save(output_path, ffpsd.Compression.RLE_OR_RAW)
46
+ print(f"saved {doc.layer_count} layers to {output_path}")
47
+ ```
48
+
49
+ ## What it does for now
50
+
51
+ * PSD and PSB, and either into the other; RGB and gray documents, and either into the other.
52
+ * Layers: raster layers, groups, the background and Levels adjustments; added, copied from this or another
53
+ document, moved and removed; name, opacity, visibility, clipping and blend mode; pixels in and out.
54
+ * Pixel masks, read, set and removed.
55
+ * The canvas and the layers resized, turned and flipped; the canvas grown or cut from any anchor.
56
+ * The composite the file stores, read and replaced; resolution and version info.
57
+ * Every image resource and tagged block, raw, for what ffpsd does not interpret itself.
58
+ * PNG, JPEG and WebP in and out.
59
+
60
+ ## In Python
61
+
62
+ * Pixels are NumPy arrays, planar as PSD keeps them: `(channels, height, width)`, uint8, uint16 or float32 by
63
+ the depth. Arrays ffpsd gives own their memory without a copy; one it takes is copied only when it is not
64
+ C-contiguous, so `pixels.transpose(2, 0, 1)` of an interleaved picture works as is.
65
+ * Calls that take time, such as saving, pixels in and out and resizing, release the GIL, so separate documents
66
+ work in threads at once. A document belongs to one thread at a time: touching one that another thread is
67
+ working on raises `ffpsd.InvalidOperationError`.
68
+ * Errors are `ffpsd.Error` and also the built-in exception they mean: `ValueError`, `IndexError`, `OSError`,
69
+ `RuntimeError` or `NotImplementedError`.
70
+ * A layer removed from its document raises on use instead of crashing.
71
+ * With `pip install ffpsd[pil]`, `ffpsd.from_pil` and `ffpsd.to_pil` take and give Pillow images.
72
+ * Type stubs come with the package.
73
+
74
+ More in the [repository](https://github.com/EnergyFlexus/ffpsd): building from source and the
75
+ [roadmap](https://github.com/EnergyFlexus/ffpsd/blob/main/ROADMAP.md).
76
+
77
+ ## License
78
+
79
+ MIT. The vendored libraries built in keep their own permissive licenses, which the package carries.
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING
7
7
  import numpy as np
8
8
 
9
9
  from ._errors import InvalidArgumentError
10
- from ._ffpsd import ColorMode
10
+ from ._ffpsd import ColorMode # pyright: ignore[reportMissingImports]
11
11
 
12
12
  if TYPE_CHECKING:
13
13
  from numpy.typing import NDArray
@@ -45,7 +45,7 @@ def from_pil(image: Image, color_mode: ColorMode = ColorMode.RGB, depth: int = 8
45
45
  pixels = pixels[..., None]
46
46
  planes = pixels.transpose(2, 0, 1)
47
47
  if depth == 16:
48
- planes = planes.astype(np.uint16) * 257
48
+ planes = planes.astype(np.uint16) * np.uint16(257)
49
49
  return np.ascontiguousarray(planes)
50
50
 
51
51
 
@@ -6,6 +6,18 @@
6
6
 
7
7
  namespace ffpsd_python
8
8
  {
9
+ ffpsd::Document& DocumentObject::Get()
10
+ {
11
+ return const_cast<ffpsd::Document&>(std::as_const(*this).Get());
12
+ }
13
+
14
+ const ffpsd::Document& DocumentObject::Get() const
15
+ {
16
+ if (busy)
17
+ throw std::logic_error("ffpsd: the document is used by another thread");
18
+ return document;
19
+ }
20
+
9
21
  std::uint64_t DocumentObject::Serial(const ffpsd::Layer* layer)
10
22
  {
11
23
  const auto [at, added] = serials.try_emplace(layer, next_serial);
@@ -25,7 +37,7 @@ namespace ffpsd_python
25
37
 
26
38
  std::size_t DocumentObject::Index(std::int64_t index) const
27
39
  {
28
- const auto count = static_cast<std::int64_t>(document.GetLayerCount());
40
+ const auto count = static_cast<std::int64_t>(Get().GetLayerCount());
29
41
  const std::int64_t at = index < 0 ? index + count : index;
30
42
  if (at < 0 || at >= count)
31
43
  throw std::out_of_range("ffpsd: layer index " + std::to_string(index) + " of " + std::to_string(count));
@@ -34,6 +46,7 @@ namespace ffpsd_python
34
46
 
35
47
  ffpsd::Layer& LayerObject::Get() const
36
48
  {
49
+ document->Get();
37
50
  const auto at = document->serials.find(layer);
38
51
  if (at == document->serials.end() || at->second != serial)
39
52
  throw std::logic_error("ffpsd: the layer was removed from its document");
@@ -54,11 +54,18 @@ namespace ffpsd_python
54
54
  std::unordered_map<const ffpsd::Layer*, std::uint64_t> serials;
55
55
  std::uint64_t next_serial = 1;
56
56
 
57
+ // Set while a call works on the document without the GIL; read and written only with the GIL held.
58
+ mutable bool busy = false;
59
+
57
60
  explicit DocumentObject(ffpsd::Document&& value)
58
61
  : document(std::move(value))
59
62
  {
60
63
  }
61
64
 
65
+ // Throws std::logic_error while another thread works on the document, instead of racing it.
66
+ ffpsd::Document& Get();
67
+ const ffpsd::Document& Get() const;
68
+
62
69
  std::uint64_t Serial(const ffpsd::Layer* layer);
63
70
 
64
71
  // After a layer is destroyed: forgets every serial whose layer the document no longer has.
@@ -81,6 +88,24 @@ namespace ffpsd_python
81
88
 
82
89
  LayerObject MakeLayer(DocumentObject& document, ffpsd::Layer* layer);
83
90
 
91
+ // Runs work without the GIL, with the document busy meanwhile; work reaches the document directly, not through Get().
92
+ template <class Work> auto WithoutGil(const DocumentObject& document, Work&& work)
93
+ {
94
+ document.Get();
95
+ document.busy = true;
96
+ struct Done
97
+ {
98
+ const DocumentObject& document;
99
+ ~Done()
100
+ {
101
+ document.busy = false;
102
+ }
103
+ } done{document};
104
+ // Destroyed before done: the GIL is back when busy clears.
105
+ nb::gil_scoped_release release;
106
+ return work();
107
+ }
108
+
84
109
  // Paths are UTF-8 for ffpsd on every system.
85
110
  std::string ToUtf8(const std::filesystem::path& path);
86
111
 
@@ -50,162 +50,169 @@ namespace ffpsd_python
50
50
  .def(
51
51
  "save",
52
52
  [](const DocumentObject& self, const std::filesystem::path& path, ffpsd::Compression compression) {
53
- self.document.Save(ToUtf8(path), compression);
53
+ const std::string utf8 = ToUtf8(path);
54
+ WithoutGil(self, [&] { self.document.Save(utf8, compression); });
54
55
  },
55
56
  "path"_a, "compression"_a = ffpsd::Compression::kDefault)
56
57
  .def(
57
58
  "to_bytes",
58
59
  [](const DocumentObject& self, ffpsd::Compression compression) {
59
- const std::vector<std::uint8_t> data = self.document.Save(compression);
60
+ const std::vector<std::uint8_t> data = WithoutGil(self, [&] { return self.document.Save(compression); });
60
61
  return ToBytes(data.data(), data.size());
61
62
  },
62
63
  "compression"_a = ffpsd::Compression::kDefault)
63
64
 
64
- .def_prop_ro("width", [](const DocumentObject& self) { return self.document.GetWidth(); })
65
- .def_prop_ro("height", [](const DocumentObject& self) { return self.document.GetHeight(); })
66
- .def_prop_ro("channel_count", [](const DocumentObject& self) { return self.document.GetChannelCount(); })
67
- .def_prop_ro("depth", [](const DocumentObject& self) { return self.document.GetDepth(); })
68
- .def_prop_ro("color_mode", [](const DocumentObject& self) { return self.document.GetColorMode(); })
65
+ .def_prop_ro("width", [](const DocumentObject& self) { return self.Get().GetWidth(); })
66
+ .def_prop_ro("height", [](const DocumentObject& self) { return self.Get().GetHeight(); })
67
+ .def_prop_ro("channel_count", [](const DocumentObject& self) { return self.Get().GetChannelCount(); })
68
+ .def_prop_ro("depth", [](const DocumentObject& self) { return self.Get().GetDepth(); })
69
+ .def_prop_ro("color_mode", [](const DocumentObject& self) { return self.Get().GetColorMode(); })
69
70
  .def_prop_rw(
70
- "psb", [](const DocumentObject& self) { return self.document.IsPsb(); },
71
- [](DocumentObject& self, bool psb) { self.document.SetPsb(psb); })
71
+ "psb", [](const DocumentObject& self) { return self.Get().IsPsb(); },
72
+ [](DocumentObject& self, bool psb) { self.Get().SetPsb(psb); })
72
73
  .def_prop_rw(
73
- "has_real_merged_data", [](const DocumentObject& self) { return self.document.HasRealMergedData(); },
74
- [](DocumentObject& self, bool value) { self.document.SetHasRealMergedData(value); })
74
+ "has_real_merged_data", [](const DocumentObject& self) { return self.Get().HasRealMergedData(); },
75
+ [](DocumentObject& self, bool value) { self.Get().SetHasRealMergedData(value); })
75
76
  .def_prop_rw(
76
- "version_info", [](const DocumentObject& self) { return self.document.GetVersionInfo(); },
77
- [](DocumentObject& self, const ffpsd::VersionInfo& value) { self.document.SetVersionInfo(value); })
77
+ "version_info", [](const DocumentObject& self) { return self.Get().GetVersionInfo(); },
78
+ [](DocumentObject& self, const ffpsd::VersionInfo& value) { self.Get().SetVersionInfo(value); })
78
79
  .def_prop_rw(
79
- "resolution_info", [](const DocumentObject& self) { return self.document.GetResolutionInfo(); },
80
- [](DocumentObject& self, const ffpsd::ResolutionInfo& value) { self.document.SetResolutionInfo(value); })
80
+ "resolution_info", [](const DocumentObject& self) { return self.Get().GetResolutionInfo(); },
81
+ [](DocumentObject& self, const ffpsd::ResolutionInfo& value) { self.Get().SetResolutionInfo(value); })
81
82
 
82
83
  .def(
83
84
  "resize_canvas",
84
85
  [](DocumentObject& self, std::uint32_t width, std::uint32_t height, ffpsd::Anchor anchor) {
85
- self.document.ResizeCanvas(width, height, anchor);
86
+ WithoutGil(self, [&] { self.document.ResizeCanvas(width, height, anchor); });
86
87
  },
87
88
  "width"_a, "height"_a, "anchor"_a = ffpsd::Anchor::kCenter)
88
89
  .def(
89
90
  "resize",
90
91
  [](DocumentObject& self, std::uint32_t width, std::uint32_t height, ffpsd::ResampleFilter filter) {
91
- self.document.Resize(width, height, filter);
92
+ WithoutGil(self, [&] { self.document.Resize(width, height, filter); });
92
93
  },
93
94
  "width"_a, "height"_a, "filter"_a = ffpsd::ResampleFilter::kBicubic)
94
95
  .def(
95
- "flip_canvas", [](DocumentObject& self, ffpsd::FlipDirection direction) { self.document.FlipCanvas(direction); },
96
+ "flip_canvas",
97
+ [](DocumentObject& self, ffpsd::FlipDirection direction) {
98
+ WithoutGil(self, [&] { self.document.FlipCanvas(direction); });
99
+ },
96
100
  "direction"_a)
97
101
  .def(
98
- "rotate_canvas", [](DocumentObject& self, ffpsd::Rotation rotation) { self.document.RotateCanvas(rotation); }, "rotation"_a)
102
+ "rotate_canvas",
103
+ [](DocumentObject& self, ffpsd::Rotation rotation) { WithoutGil(self, [&] { self.document.RotateCanvas(rotation); }); },
104
+ "rotation"_a)
99
105
  .def(
100
- "convert_color_mode", [](DocumentObject& self, ffpsd::ColorMode color_mode) { self.document.ConvertColorMode(color_mode); },
106
+ "convert_color_mode",
107
+ [](DocumentObject& self, ffpsd::ColorMode color_mode) {
108
+ WithoutGil(self, [&] { self.document.ConvertColorMode(color_mode); });
109
+ },
101
110
  "color_mode"_a)
102
111
 
103
112
  .def_prop_ro(
104
113
  "image_resources",
105
114
  [](const DocumentObject& self) {
106
115
  std::vector<ffpsd::ImageResource> resources;
107
- for (std::size_t i = 0; i < self.document.GetImageResourceCount(); ++i)
108
- resources.push_back(*self.document.GetImageResourceByIndex(i));
116
+ for (std::size_t i = 0; i < self.Get().GetImageResourceCount(); ++i)
117
+ resources.push_back(*self.Get().GetImageResourceByIndex(i));
109
118
  return resources;
110
119
  })
111
120
  .def(
112
121
  "find_image_resource",
113
- [](const DocumentObject& self, std::uint16_t id) { return Copy(self.document.GetImageResourceById(id)); }, "id"_a)
122
+ [](const DocumentObject& self, std::uint16_t id) { return Copy(self.Get().GetImageResourceById(id)); }, "id"_a)
114
123
  .def(
115
124
  "set_image_resource",
116
- [](DocumentObject& self, const ffpsd::ImageResource& resource) { self.document.SetImageResource(resource); }, "resource"_a)
125
+ [](DocumentObject& self, const ffpsd::ImageResource& resource) { self.Get().SetImageResource(resource); }, "resource"_a)
117
126
  .def(
118
- "remove_image_resource", [](DocumentObject& self, std::uint16_t id) { return self.document.RemoveImageResource(id); },
119
- "id"_a)
127
+ "remove_image_resource", [](DocumentObject& self, std::uint16_t id) { return self.Get().RemoveImageResource(id); }, "id"_a)
120
128
 
121
- .def_prop_ro("layer_count", [](const DocumentObject& self) { return self.document.GetLayerCount(); })
129
+ .def_prop_ro("layer_count", [](const DocumentObject& self) { return self.Get().GetLayerCount(); })
122
130
  .def_prop_ro(
123
131
  "layers",
124
132
  [](DocumentObject& self) {
125
133
  std::vector<LayerObject> layers;
126
- for (std::size_t i = 0; i < self.document.GetLayerCount(); ++i)
127
- layers.push_back(MakeLayer(self, self.document.GetLayerByIndex(i)));
134
+ for (std::size_t i = 0; i < self.Get().GetLayerCount(); ++i)
135
+ layers.push_back(MakeLayer(self, self.Get().GetLayerByIndex(i)));
128
136
  return layers;
129
137
  })
130
138
  .def(
131
139
  "layer",
132
- [](DocumentObject& self, std::int64_t index) { return MakeLayer(self, self.document.GetLayerByIndex(self.Index(index))); },
140
+ [](DocumentObject& self, std::int64_t index) { return MakeLayer(self, self.Get().GetLayerByIndex(self.Index(index))); },
133
141
  "index"_a)
134
142
  .def(
135
143
  "find_layer_index",
136
- [](const DocumentObject& self, const LayerObject& layer) { return self.document.FindLayerIndex(layer.Get()); }, "layer"_a)
144
+ [](const DocumentObject& self, const LayerObject& layer) { return self.Get().FindLayerIndex(layer.Get()); }, "layer"_a)
137
145
  .def(
138
146
  "add_layer",
139
147
  [](DocumentObject& self, const std::string& name, const std::optional<PixelArray>& pixels, std::int32_t top,
140
148
  std::int32_t left) {
141
- return MakeLayer(self, self.document.AddLayer(name, ToView(pixels, self.document.GetColorMode()), top, left));
149
+ const ffpsd::ImageView view = ToView(pixels, self.Get().GetColorMode());
150
+ return MakeLayer(self, WithoutGil(self, [&] { return self.document.AddLayer(name, view, top, left); }));
142
151
  },
143
152
  "name"_a, "pixels"_a = nb::none(), "top"_a = 0, "left"_a = 0)
144
153
  .def(
145
154
  "add_background_layer",
146
155
  [](DocumentObject& self, const std::string& name, const std::optional<PixelArray>& pixels) {
147
- return MakeLayer(self, self.document.AddBackgroundLayer(name, ToView(pixels, self.document.GetColorMode())));
156
+ const ffpsd::ImageView view = ToView(pixels, self.Get().GetColorMode());
157
+ return MakeLayer(self, WithoutGil(self, [&] { return self.document.AddBackgroundLayer(name, view); }));
148
158
  },
149
159
  "name"_a, "pixels"_a = nb::none())
150
160
  .def(
151
- "set_background_layer",
152
- [](DocumentObject& self, std::int64_t index) { self.document.SetBackgroundLayer(self.Index(index)); }, "index"_a)
153
- .def("unset_background_layer", [](DocumentObject& self) { return self.document.UnsetBackgroundLayer(); })
161
+ "set_background_layer", [](DocumentObject& self, std::int64_t index) { self.Get().SetBackgroundLayer(self.Index(index)); },
162
+ "index"_a)
163
+ .def("unset_background_layer", [](DocumentObject& self) { return self.Get().UnsetBackgroundLayer(); })
154
164
  .def(
155
- "add_group", [](DocumentObject& self, const std::string& name) { return MakeLayer(self, self.document.AddGroup(name)); },
165
+ "add_group", [](DocumentObject& self, const std::string& name) { return MakeLayer(self, self.Get().AddGroup(name)); },
156
166
  "name"_a)
157
167
  .def(
158
168
  "add_levels_layer",
159
169
  [](DocumentObject& self, const std::string& name, const std::optional<ffpsd::LevelsInfo>& levels) {
160
- return MakeLayer(self, self.document.AddAdjustmentLayer(name, levels.value_or(ffpsd::LevelsInfo())));
170
+ return MakeLayer(self, self.Get().AddAdjustmentLayer(name, levels.value_or(ffpsd::LevelsInfo())));
161
171
  },
162
172
  "name"_a, "levels"_a = nb::none())
163
173
  .def(
164
174
  "add_layer_copy",
165
- [](DocumentObject& self, const LayerObject& source) { return MakeLayer(self, self.document.AddLayerCopy(source.Get())); },
175
+ [](DocumentObject& self, const LayerObject& source) { return MakeLayer(self, self.Get().AddLayerCopy(source.Get())); },
166
176
  "source"_a)
167
177
  .def(
168
178
  "duplicate_layer",
169
179
  [](DocumentObject& self, std::int64_t index) {
170
- return MakeLayer(self, self.document.AddLayerCopy(*self.document.GetLayerByIndex(self.Index(index))));
180
+ return MakeLayer(self, self.Get().AddLayerCopy(*self.Get().GetLayerByIndex(self.Index(index))));
171
181
  },
172
182
  "index"_a)
173
183
  .def(
174
184
  "remove_layer",
175
185
  [](DocumentObject& self, std::int64_t index) {
176
- self.document.RemoveLayer(self.Index(index));
186
+ self.Get().RemoveLayer(self.Index(index));
177
187
  self.ForgetRemoved();
178
188
  },
179
189
  "index"_a)
180
190
  .def(
181
191
  "move_layer",
182
- [](DocumentObject& self, std::int64_t index, std::int64_t to) {
183
- self.document.MoveLayer(self.Index(index), self.Index(to));
184
- },
192
+ [](DocumentObject& self, std::int64_t index, std::int64_t to) { self.Get().MoveLayer(self.Index(index), self.Index(to)); },
185
193
  "index"_a, "to"_a)
186
194
 
187
195
  .def_prop_ro(
188
196
  "tagged_blocks",
189
197
  [](const DocumentObject& self) {
190
198
  std::vector<ffpsd::TaggedBlock> blocks;
191
- for (std::size_t i = 0; i < self.document.GetTaggedBlockCount(); ++i)
192
- blocks.push_back(*self.document.GetTaggedBlockByIndex(i));
199
+ for (std::size_t i = 0; i < self.Get().GetTaggedBlockCount(); ++i)
200
+ blocks.push_back(*self.Get().GetTaggedBlockByIndex(i));
193
201
  return blocks;
194
202
  })
195
203
  .def(
196
204
  "find_tagged_block",
197
- [](const DocumentObject& self, std::uint32_t key) { return Copy(self.document.GetTaggedBlockByKey(key)); }, "key"_a)
205
+ [](const DocumentObject& self, std::uint32_t key) { return Copy(self.Get().GetTaggedBlockByKey(key)); }, "key"_a)
198
206
  .def(
199
- "set_tagged_block", [](DocumentObject& self, const ffpsd::TaggedBlock& block) { self.document.SetTaggedBlock(block); },
207
+ "set_tagged_block", [](DocumentObject& self, const ffpsd::TaggedBlock& block) { self.Get().SetTaggedBlock(block); },
200
208
  "block"_a)
201
209
  .def(
202
- "remove_tagged_block", [](DocumentObject& self, std::uint32_t key) { return self.document.RemoveTaggedBlock(key); },
203
- "key"_a)
210
+ "remove_tagged_block", [](DocumentObject& self, std::uint32_t key) { return self.Get().RemoveTaggedBlock(key); }, "key"_a)
204
211
 
205
212
  .def(
206
213
  "merged_image",
207
214
  [](const DocumentObject& self) -> std::optional<NumpyArray> {
208
- ffpsd::Image image = self.document.GetMergedImage();
215
+ ffpsd::Image image = WithoutGil(self, [&] { return self.document.GetMergedImage(); });
209
216
  if (image.IsEmpty())
210
217
  return std::nullopt;
211
218
  return ToArray(std::move(image));
@@ -213,18 +220,21 @@ namespace ffpsd_python
213
220
  .def(
214
221
  "merged_image_info",
215
222
  [](const DocumentObject& self) -> std::optional<ffpsd::ImageInfo> {
216
- const ffpsd::ImageInfo info = self.document.GetMergedImageInfo();
223
+ const ffpsd::ImageInfo info = self.Get().GetMergedImageInfo();
217
224
  return info.IsEmpty() ? std::nullopt : std::optional<ffpsd::ImageInfo>(info);
218
225
  })
219
226
  .def(
220
227
  "set_merged_image",
221
228
  [](DocumentObject& self, const PixelArray& pixels) {
222
- self.document.SetMergedImage(ToView(pixels, self.document.GetColorMode()));
229
+ const ffpsd::ImageView view = ToView(pixels, self.Get().GetColorMode());
230
+ WithoutGil(self, [&] { self.document.SetMergedImage(view); });
223
231
  },
224
232
  "pixels"_a)
225
- .def_prop_ro("merged_compression", [](const DocumentObject& self) { return self.document.GetMergedCompression(); })
233
+ .def_prop_ro("merged_compression", [](const DocumentObject& self) { return self.Get().GetMergedCompression(); })
226
234
 
227
235
  .def("__repr__", [](const DocumentObject& self) {
236
+ if (self.busy)
237
+ return std::string("<ffpsd.Document, used by another thread>");
228
238
  const ffpsd::Document& d = self.document;
229
239
  return "<ffpsd.Document " + std::to_string(d.GetWidth()) + " x " + std::to_string(d.GetHeight()) + ", " +
230
240
  std::to_string(d.GetDepth()) + " bit, " + std::to_string(d.GetLayerCount()) + " layers>";