lightdrift-libraw 1.0.0-alpha.1

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 (487) hide show
  1. package/CHANGELOG.md +374 -0
  2. package/LICENSE +21 -0
  3. package/README.md +757 -0
  4. package/binding.gyp +38 -0
  5. package/deps/LibRaw-Source/LibRaw-0.21.4/.clang-format +4 -0
  6. package/deps/LibRaw-Source/LibRaw-0.21.4/COPYRIGHT +27 -0
  7. package/deps/LibRaw-Source/LibRaw-0.21.4/Changelog.txt +2802 -0
  8. package/deps/LibRaw-Source/LibRaw-0.21.4/DEVELOPER-NOTES +20 -0
  9. package/deps/LibRaw-Source/LibRaw-0.21.4/GoPro/dng-sdk-1_4-allow-VC5-validate.diff +21 -0
  10. package/deps/LibRaw-Source/LibRaw-0.21.4/GoPro/dng-sdk-1_6-hide-ccVc5-definitiion.diff +15 -0
  11. package/deps/LibRaw-Source/LibRaw-0.21.4/GoPro/dng-sdk-allow-VC5-validate.diff +21 -0
  12. package/deps/LibRaw-Source/LibRaw-0.21.4/GoPro/gpr_read_image.cpp.diff +29 -0
  13. package/deps/LibRaw-Source/LibRaw-0.21.4/GoPro/gpr_read_image.h.diff +12 -0
  14. package/deps/LibRaw-Source/LibRaw-0.21.4/INSTALL +51 -0
  15. package/deps/LibRaw-Source/LibRaw-0.21.4/LICENSE.CDDL +340 -0
  16. package/deps/LibRaw-Source/LibRaw-0.21.4/LICENSE.LGPL +458 -0
  17. package/deps/LibRaw-Source/LibRaw-0.21.4/LibRaw.pro +19 -0
  18. package/deps/LibRaw-Source/LibRaw-0.21.4/LibRaw.sln +123 -0
  19. package/deps/LibRaw-Source/LibRaw-0.21.4/Makefile.am +140 -0
  20. package/deps/LibRaw-Source/LibRaw-0.21.4/Makefile.devel.nopp +230 -0
  21. package/deps/LibRaw-Source/LibRaw-0.21.4/Makefile.devel.noppr2i +227 -0
  22. package/deps/LibRaw-Source/LibRaw-0.21.4/Makefile.dist +501 -0
  23. package/deps/LibRaw-Source/LibRaw-0.21.4/Makefile.in +1849 -0
  24. package/deps/LibRaw-Source/LibRaw-0.21.4/Makefile.mingw +297 -0
  25. package/deps/LibRaw-Source/LibRaw-0.21.4/Makefile.msvc +628 -0
  26. package/deps/LibRaw-Source/LibRaw-0.21.4/README.DNGSDK.txt +43 -0
  27. package/deps/LibRaw-Source/LibRaw-0.21.4/README.GoPro.txt +112 -0
  28. package/deps/LibRaw-Source/LibRaw-0.21.4/README.RawSpeed.txt +62 -0
  29. package/deps/LibRaw-Source/LibRaw-0.21.4/README.cmake +9 -0
  30. package/deps/LibRaw-Source/LibRaw-0.21.4/README.demosaic-packs +17 -0
  31. package/deps/LibRaw-Source/LibRaw-0.21.4/README.md +106 -0
  32. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed/rawspeed.cpucount-unix.patch +15 -0
  33. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed/rawspeed.qmake-pro-files.patch +84 -0
  34. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed/rawspeed.samsung-decoder.patch +39 -0
  35. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed/rawspeed.uncompressed-color-dng.patch +13 -0
  36. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed/rawspeed.win32-dll.patch +186 -0
  37. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed/rawspeed_xmldata.cpp +4115 -0
  38. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/README.md +69 -0
  39. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/patches/01.CameraMeta-extensibility.patch +13 -0
  40. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/patches/02.Makernotes-processing.patch +36 -0
  41. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/patches/03.remove-limits-and-logging.patch +245 -0
  42. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/patches/04.clang-cl-compatibility.patch +37 -0
  43. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rawspeed3_capi.cpp +251 -0
  44. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rawspeed3_capi.h +83 -0
  45. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rawspeed3_capi_test.cpp +71 -0
  46. package/deps/LibRaw-Source/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rsxml2c.sh +5 -0
  47. package/deps/LibRaw-Source/LibRaw-0.21.4/aclocal.m4 +1446 -0
  48. package/deps/LibRaw-Source/LibRaw-0.21.4/autom4te.cache/output.0 +19332 -0
  49. package/deps/LibRaw-Source/LibRaw-0.21.4/autom4te.cache/output.1 +19332 -0
  50. package/deps/LibRaw-Source/LibRaw-0.21.4/autom4te.cache/output.2 +19332 -0
  51. package/deps/LibRaw-Source/LibRaw-0.21.4/autom4te.cache/requests +544 -0
  52. package/deps/LibRaw-Source/LibRaw-0.21.4/autom4te.cache/traces.0 +3028 -0
  53. package/deps/LibRaw-Source/LibRaw-0.21.4/autom4te.cache/traces.1 +665 -0
  54. package/deps/LibRaw-Source/LibRaw-0.21.4/autom4te.cache/traces.2 +3028 -0
  55. package/deps/LibRaw-Source/LibRaw-0.21.4/bin/.keep_me +2 -0
  56. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/4channels.pro +5 -0
  57. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/4channels.vcxproj +145 -0
  58. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/4channels.vcxproj.filters +18 -0
  59. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/dcraw_emu.pro +6 -0
  60. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/dcraw_emu.vcxproj +145 -0
  61. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/dcraw_emu.vcxproj.filters +18 -0
  62. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/dcraw_half.pro +6 -0
  63. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/dcraw_half.vcxproj +145 -0
  64. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/dcraw_half.vcxproj.filters +18 -0
  65. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/half_mt.pro +10 -0
  66. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/libraw-common-lib.pro +28 -0
  67. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/libraw-common.pro +8 -0
  68. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/libraw.pro +70 -0
  69. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/libraw.vcxproj +234 -0
  70. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/libraw.vcxproj.filters +295 -0
  71. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/mem_image.pro +6 -0
  72. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/mem_image.vcxproj +145 -0
  73. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/mem_image.vcxproj.filters +18 -0
  74. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/multirender_test.pro +6 -0
  75. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/multirender_test.vcxproj +145 -0
  76. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/multirender_test.vcxproj.filters +18 -0
  77. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/openbayer_sample.pro +6 -0
  78. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/openbayer_sample.vcxproj +145 -0
  79. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/openbayer_sample.vcxproj.filters +18 -0
  80. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/postprocessing_benchmark.pro +4 -0
  81. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/postprocessing_benchmark.vcxproj +145 -0
  82. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/postprocessing_benchmark.vcxproj.filters +18 -0
  83. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/raw-identify.pro +6 -0
  84. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/raw-identify.vcxproj +145 -0
  85. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/raw-identify.vcxproj.filters +18 -0
  86. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/rawtextdump.pro +6 -0
  87. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/rawtextdump.vcxproj +145 -0
  88. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/rawtextdump.vcxproj.filters +18 -0
  89. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/simple_dcraw.pro +6 -0
  90. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/simple_dcraw.vcxproj +145 -0
  91. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/simple_dcraw.vcxproj.filters +18 -0
  92. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/unprocessed_raw.pro +6 -0
  93. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/unprocessed_raw.vcxproj +145 -0
  94. package/deps/LibRaw-Source/LibRaw-0.21.4/buildfiles/unprocessed_raw.vcxproj.filters +18 -0
  95. package/deps/LibRaw-Source/LibRaw-0.21.4/compile +347 -0
  96. package/deps/LibRaw-Source/LibRaw-0.21.4/config.guess +1433 -0
  97. package/deps/LibRaw-Source/LibRaw-0.21.4/config.sub +1804 -0
  98. package/deps/LibRaw-Source/LibRaw-0.21.4/configure +19332 -0
  99. package/deps/LibRaw-Source/LibRaw-0.21.4/configure.ac +153 -0
  100. package/deps/LibRaw-Source/LibRaw-0.21.4/depcomp +791 -0
  101. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/API-C.html +187 -0
  102. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/API-CXX.html +881 -0
  103. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/API-datastruct.html +1341 -0
  104. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/API-notes.html +305 -0
  105. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/API-overview.html +66 -0
  106. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/Install-LibRaw.html +124 -0
  107. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/Samples-LibRaw.html +213 -0
  108. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/Why-LibRaw.html +65 -0
  109. package/deps/LibRaw-Source/LibRaw-0.21.4/doc/index.html +38 -0
  110. package/deps/LibRaw-Source/LibRaw-0.21.4/install-sh +501 -0
  111. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/dcraw_defs.h +66 -0
  112. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/dcraw_fileio_defs.h +25 -0
  113. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/defines.h +193 -0
  114. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/dmp_include.h +27 -0
  115. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/libraw_cameraids.h +320 -0
  116. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/libraw_cxx_defs.h +133 -0
  117. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/libraw_internal_funcs.h +412 -0
  118. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/var_defines.h +215 -0
  119. package/deps/LibRaw-Source/LibRaw-0.21.4/internal/x3f_tools.h +539 -0
  120. package/deps/LibRaw-Source/LibRaw-0.21.4/lib/Makefile +3 -0
  121. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw/libraw.h +534 -0
  122. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw/libraw_alloc.h +148 -0
  123. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw/libraw_const.h +814 -0
  124. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw/libraw_datastream.h +410 -0
  125. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw/libraw_internal.h +341 -0
  126. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw/libraw_types.h +1175 -0
  127. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw/libraw_version.h +63 -0
  128. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw.pc.in +12 -0
  129. package/deps/LibRaw-Source/LibRaw-0.21.4/libraw_r.pc.in +12 -0
  130. package/deps/LibRaw-Source/LibRaw-0.21.4/ltmain.sh +11147 -0
  131. package/deps/LibRaw-Source/LibRaw-0.21.4/m4/ax_openmp.m4 +99 -0
  132. package/deps/LibRaw-Source/LibRaw-0.21.4/m4/libtool.m4 +8369 -0
  133. package/deps/LibRaw-Source/LibRaw-0.21.4/m4/ltoptions.m4 +437 -0
  134. package/deps/LibRaw-Source/LibRaw-0.21.4/m4/ltsugar.m4 +124 -0
  135. package/deps/LibRaw-Source/LibRaw-0.21.4/m4/ltversion.m4 +23 -0
  136. package/deps/LibRaw-Source/LibRaw-0.21.4/m4/lt~obsolete.m4 +99 -0
  137. package/deps/LibRaw-Source/LibRaw-0.21.4/missing +215 -0
  138. package/deps/LibRaw-Source/LibRaw-0.21.4/object/.keep_me +0 -0
  139. package/deps/LibRaw-Source/LibRaw-0.21.4/rsxml2c.sh +6 -0
  140. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/4channels.cpp +174 -0
  141. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/Makefile +2 -0
  142. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/dcraw_emu.cpp +670 -0
  143. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/dcraw_half.c +78 -0
  144. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/half_mt.c +178 -0
  145. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/half_mt_win32.c +212 -0
  146. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/mem_image_sample.cpp +282 -0
  147. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/multirender_test.cpp +107 -0
  148. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/openbayer_sample.cpp +65 -0
  149. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/postprocessing_benchmark.cpp +223 -0
  150. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/raw-identify.cpp +743 -0
  151. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/rawtextdump.cpp +144 -0
  152. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/simple_dcraw.cpp +217 -0
  153. package/deps/LibRaw-Source/LibRaw-0.21.4/samples/unprocessed_raw.cpp +319 -0
  154. package/deps/LibRaw-Source/LibRaw-0.21.4/shlib-version.sh +11 -0
  155. package/deps/LibRaw-Source/LibRaw-0.21.4/src/Makefile +2 -0
  156. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/canon_600.cpp +225 -0
  157. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/crx.cpp +2781 -0
  158. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/decoders_dcraw.cpp +1816 -0
  159. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/decoders_libraw.cpp +873 -0
  160. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/decoders_libraw_dcrdefs.cpp +411 -0
  161. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/dng.cpp +284 -0
  162. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/fp_dng.cpp +689 -0
  163. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/fuji_compressed.cpp +1210 -0
  164. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/generic.cpp +101 -0
  165. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/kodak_decoders.cpp +524 -0
  166. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/load_mfbacks.cpp +936 -0
  167. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/smal.cpp +181 -0
  168. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/unpack.cpp +508 -0
  169. package/deps/LibRaw-Source/LibRaw-0.21.4/src/decoders/unpack_thumb.cpp +405 -0
  170. package/deps/LibRaw-Source/LibRaw-0.21.4/src/demosaic/aahd_demosaic.cpp +781 -0
  171. package/deps/LibRaw-Source/LibRaw-0.21.4/src/demosaic/ahd_demosaic.cpp +355 -0
  172. package/deps/LibRaw-Source/LibRaw-0.21.4/src/demosaic/dcb_demosaic.cpp +900 -0
  173. package/deps/LibRaw-Source/LibRaw-0.21.4/src/demosaic/dht_demosaic.cpp +1033 -0
  174. package/deps/LibRaw-Source/LibRaw-0.21.4/src/demosaic/misc_demosaic.cpp +420 -0
  175. package/deps/LibRaw-Source/LibRaw-0.21.4/src/demosaic/xtrans_demosaic.cpp +434 -0
  176. package/deps/LibRaw-Source/LibRaw-0.21.4/src/integration/dngsdk_glue.cpp +416 -0
  177. package/deps/LibRaw-Source/LibRaw-0.21.4/src/integration/rawspeed_glue.cpp +286 -0
  178. package/deps/LibRaw-Source/LibRaw-0.21.4/src/libraw_c_api.cpp +457 -0
  179. package/deps/LibRaw-Source/LibRaw-0.21.4/src/libraw_datastream.cpp +1046 -0
  180. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/adobepano.cpp +154 -0
  181. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/canon.cpp +1335 -0
  182. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/ciff.cpp +411 -0
  183. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/cr3_parser.cpp +896 -0
  184. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/epson.cpp +96 -0
  185. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/exif_gps.cpp +430 -0
  186. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/fuji.cpp +1427 -0
  187. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/hasselblad_model.cpp +538 -0
  188. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/identify.cpp +3167 -0
  189. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/identify_tools.cpp +140 -0
  190. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/kodak.cpp +363 -0
  191. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/leica.cpp +375 -0
  192. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/makernotes.cpp +786 -0
  193. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/mediumformat.cpp +521 -0
  194. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/minolta.cpp +110 -0
  195. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/misc_parsers.cpp +694 -0
  196. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/nikon.cpp +1051 -0
  197. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/normalize_model.cpp +1451 -0
  198. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/olympus.cpp +685 -0
  199. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/p1.cpp +192 -0
  200. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/pentax.cpp +675 -0
  201. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/samsung.cpp +182 -0
  202. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/sony.cpp +2320 -0
  203. package/deps/LibRaw-Source/LibRaw-0.21.4/src/metadata/tiff.cpp +2198 -0
  204. package/deps/LibRaw-Source/LibRaw-0.21.4/src/postprocessing/aspect_ratio.cpp +113 -0
  205. package/deps/LibRaw-Source/LibRaw-0.21.4/src/postprocessing/dcraw_process.cpp +259 -0
  206. package/deps/LibRaw-Source/LibRaw-0.21.4/src/postprocessing/mem_image.cpp +292 -0
  207. package/deps/LibRaw-Source/LibRaw-0.21.4/src/postprocessing/postprocessing_aux.cpp +413 -0
  208. package/deps/LibRaw-Source/LibRaw-0.21.4/src/postprocessing/postprocessing_ph.cpp +31 -0
  209. package/deps/LibRaw-Source/LibRaw-0.21.4/src/postprocessing/postprocessing_utils.cpp +190 -0
  210. package/deps/LibRaw-Source/LibRaw-0.21.4/src/postprocessing/postprocessing_utils_dcrdefs.cpp +308 -0
  211. package/deps/LibRaw-Source/LibRaw-0.21.4/src/preprocessing/ext_preprocess.cpp +127 -0
  212. package/deps/LibRaw-Source/LibRaw-0.21.4/src/preprocessing/preprocessing_ph.cpp +24 -0
  213. package/deps/LibRaw-Source/LibRaw-0.21.4/src/preprocessing/raw2image.cpp +560 -0
  214. package/deps/LibRaw-Source/LibRaw-0.21.4/src/preprocessing/subtract_black.cpp +91 -0
  215. package/deps/LibRaw-Source/LibRaw-0.21.4/src/tables/cameralist.cpp +1268 -0
  216. package/deps/LibRaw-Source/LibRaw-0.21.4/src/tables/colorconst.cpp +57 -0
  217. package/deps/LibRaw-Source/LibRaw-0.21.4/src/tables/colordata.cpp +1841 -0
  218. package/deps/LibRaw-Source/LibRaw-0.21.4/src/tables/wblists.cpp +217 -0
  219. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/curves.cpp +154 -0
  220. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/decoder_info.cpp +413 -0
  221. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/init_close_utils.cpp +340 -0
  222. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/open.cpp +1269 -0
  223. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/phaseone_processing.cpp +101 -0
  224. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/read_utils.cpp +176 -0
  225. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/thumb_utils.cpp +338 -0
  226. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/utils_dcraw.cpp +330 -0
  227. package/deps/LibRaw-Source/LibRaw-0.21.4/src/utils/utils_libraw.cpp +673 -0
  228. package/deps/LibRaw-Source/LibRaw-0.21.4/src/write/apply_profile.cpp +76 -0
  229. package/deps/LibRaw-Source/LibRaw-0.21.4/src/write/file_write.cpp +338 -0
  230. package/deps/LibRaw-Source/LibRaw-0.21.4/src/write/tiff_writer.cpp +73 -0
  231. package/deps/LibRaw-Source/LibRaw-0.21.4/src/write/write_ph.cpp +39 -0
  232. package/deps/LibRaw-Source/LibRaw-0.21.4/src/x3f/x3f_parse_process.cpp +708 -0
  233. package/deps/LibRaw-Source/LibRaw-0.21.4/src/x3f/x3f_utils_patched.cpp +2119 -0
  234. package/deps/LibRaw-Source/LibRaw-0.21.4/version.sh +16 -0
  235. package/deps/LibRaw-Win64/LibRaw-0.21.4/.clang-format +4 -0
  236. package/deps/LibRaw-Win64/LibRaw-0.21.4/COPYRIGHT +27 -0
  237. package/deps/LibRaw-Win64/LibRaw-0.21.4/Changelog.txt +2802 -0
  238. package/deps/LibRaw-Win64/LibRaw-0.21.4/DEVELOPER-NOTES +20 -0
  239. package/deps/LibRaw-Win64/LibRaw-0.21.4/GoPro/dng-sdk-1_4-allow-VC5-validate.diff +21 -0
  240. package/deps/LibRaw-Win64/LibRaw-0.21.4/GoPro/dng-sdk-1_6-hide-ccVc5-definitiion.diff +15 -0
  241. package/deps/LibRaw-Win64/LibRaw-0.21.4/GoPro/dng-sdk-allow-VC5-validate.diff +21 -0
  242. package/deps/LibRaw-Win64/LibRaw-0.21.4/GoPro/gpr_read_image.cpp.diff +29 -0
  243. package/deps/LibRaw-Win64/LibRaw-0.21.4/GoPro/gpr_read_image.h.diff +12 -0
  244. package/deps/LibRaw-Win64/LibRaw-0.21.4/INSTALL +51 -0
  245. package/deps/LibRaw-Win64/LibRaw-0.21.4/LICENSE.CDDL +340 -0
  246. package/deps/LibRaw-Win64/LibRaw-0.21.4/LICENSE.LGPL +458 -0
  247. package/deps/LibRaw-Win64/LibRaw-0.21.4/LibRaw.pro +19 -0
  248. package/deps/LibRaw-Win64/LibRaw-0.21.4/LibRaw.sln +123 -0
  249. package/deps/LibRaw-Win64/LibRaw-0.21.4/Makefile.am +140 -0
  250. package/deps/LibRaw-Win64/LibRaw-0.21.4/Makefile.devel.nopp +230 -0
  251. package/deps/LibRaw-Win64/LibRaw-0.21.4/Makefile.devel.noppr2i +227 -0
  252. package/deps/LibRaw-Win64/LibRaw-0.21.4/Makefile.dist +501 -0
  253. package/deps/LibRaw-Win64/LibRaw-0.21.4/Makefile.in +1849 -0
  254. package/deps/LibRaw-Win64/LibRaw-0.21.4/Makefile.mingw +297 -0
  255. package/deps/LibRaw-Win64/LibRaw-0.21.4/Makefile.msvc +628 -0
  256. package/deps/LibRaw-Win64/LibRaw-0.21.4/README.DNGSDK.txt +43 -0
  257. package/deps/LibRaw-Win64/LibRaw-0.21.4/README.GoPro.txt +112 -0
  258. package/deps/LibRaw-Win64/LibRaw-0.21.4/README.RawSpeed.txt +62 -0
  259. package/deps/LibRaw-Win64/LibRaw-0.21.4/README.cmake +9 -0
  260. package/deps/LibRaw-Win64/LibRaw-0.21.4/README.demosaic-packs +17 -0
  261. package/deps/LibRaw-Win64/LibRaw-0.21.4/README.md +106 -0
  262. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed/rawspeed.cpucount-unix.patch +15 -0
  263. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed/rawspeed.qmake-pro-files.patch +84 -0
  264. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed/rawspeed.samsung-decoder.patch +39 -0
  265. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed/rawspeed.uncompressed-color-dng.patch +13 -0
  266. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed/rawspeed.win32-dll.patch +186 -0
  267. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed/rawspeed_xmldata.cpp +4115 -0
  268. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/README.md +69 -0
  269. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/patches/01.CameraMeta-extensibility.patch +13 -0
  270. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/patches/02.Makernotes-processing.patch +36 -0
  271. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/patches/03.remove-limits-and-logging.patch +245 -0
  272. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/patches/04.clang-cl-compatibility.patch +37 -0
  273. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rawspeed3_capi.cpp +251 -0
  274. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rawspeed3_capi.h +83 -0
  275. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rawspeed3_capi_test.cpp +71 -0
  276. package/deps/LibRaw-Win64/LibRaw-0.21.4/RawSpeed3/rawspeed3_c_api/rsxml2c.sh +5 -0
  277. package/deps/LibRaw-Win64/LibRaw-0.21.4/aclocal.m4 +1446 -0
  278. package/deps/LibRaw-Win64/LibRaw-0.21.4/autom4te.cache/output.0 +19332 -0
  279. package/deps/LibRaw-Win64/LibRaw-0.21.4/autom4te.cache/output.1 +19332 -0
  280. package/deps/LibRaw-Win64/LibRaw-0.21.4/autom4te.cache/output.2 +19332 -0
  281. package/deps/LibRaw-Win64/LibRaw-0.21.4/autom4te.cache/requests +544 -0
  282. package/deps/LibRaw-Win64/LibRaw-0.21.4/autom4te.cache/traces.0 +3028 -0
  283. package/deps/LibRaw-Win64/LibRaw-0.21.4/autom4te.cache/traces.1 +665 -0
  284. package/deps/LibRaw-Win64/LibRaw-0.21.4/autom4te.cache/traces.2 +3028 -0
  285. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/.keep_me +2 -0
  286. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/4channels.exe +0 -0
  287. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/dcraw_emu.exe +0 -0
  288. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/dcraw_half.exe +0 -0
  289. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/half_mt.exe +0 -0
  290. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/libraw.dll +0 -0
  291. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/mem_image.exe +0 -0
  292. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/multirender_test.exe +0 -0
  293. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/openbayer_sample.exe +0 -0
  294. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/postprocessing_benchmark.exe +0 -0
  295. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/raw-identify.exe +0 -0
  296. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/rawtextdump.exe +0 -0
  297. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/simple_dcraw.exe +0 -0
  298. package/deps/LibRaw-Win64/LibRaw-0.21.4/bin/unprocessed_raw.exe +0 -0
  299. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/4channels.pro +5 -0
  300. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/4channels.vcxproj +145 -0
  301. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/4channels.vcxproj.filters +18 -0
  302. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/dcraw_emu.pro +6 -0
  303. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/dcraw_emu.vcxproj +145 -0
  304. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/dcraw_emu.vcxproj.filters +18 -0
  305. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/dcraw_half.pro +6 -0
  306. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/dcraw_half.vcxproj +145 -0
  307. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/dcraw_half.vcxproj.filters +18 -0
  308. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/half_mt.pro +10 -0
  309. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/libraw-common-lib.pro +28 -0
  310. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/libraw-common.pro +8 -0
  311. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/libraw.pro +70 -0
  312. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/libraw.vcxproj +234 -0
  313. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/libraw.vcxproj.filters +295 -0
  314. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/mem_image.pro +6 -0
  315. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/mem_image.vcxproj +145 -0
  316. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/mem_image.vcxproj.filters +18 -0
  317. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/multirender_test.pro +6 -0
  318. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/multirender_test.vcxproj +145 -0
  319. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/multirender_test.vcxproj.filters +18 -0
  320. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/openbayer_sample.pro +6 -0
  321. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/openbayer_sample.vcxproj +145 -0
  322. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/openbayer_sample.vcxproj.filters +18 -0
  323. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/postprocessing_benchmark.pro +4 -0
  324. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/postprocessing_benchmark.vcxproj +145 -0
  325. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/postprocessing_benchmark.vcxproj.filters +18 -0
  326. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/raw-identify.pro +6 -0
  327. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/raw-identify.vcxproj +145 -0
  328. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/raw-identify.vcxproj.filters +18 -0
  329. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/rawtextdump.pro +6 -0
  330. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/rawtextdump.vcxproj +145 -0
  331. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/rawtextdump.vcxproj.filters +18 -0
  332. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/simple_dcraw.pro +6 -0
  333. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/simple_dcraw.vcxproj +145 -0
  334. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/simple_dcraw.vcxproj.filters +18 -0
  335. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/unprocessed_raw.pro +6 -0
  336. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/unprocessed_raw.vcxproj +145 -0
  337. package/deps/LibRaw-Win64/LibRaw-0.21.4/buildfiles/unprocessed_raw.vcxproj.filters +18 -0
  338. package/deps/LibRaw-Win64/LibRaw-0.21.4/compile +347 -0
  339. package/deps/LibRaw-Win64/LibRaw-0.21.4/config.guess +1433 -0
  340. package/deps/LibRaw-Win64/LibRaw-0.21.4/config.sub +1804 -0
  341. package/deps/LibRaw-Win64/LibRaw-0.21.4/configure +19332 -0
  342. package/deps/LibRaw-Win64/LibRaw-0.21.4/configure.ac +153 -0
  343. package/deps/LibRaw-Win64/LibRaw-0.21.4/depcomp +791 -0
  344. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/API-C.html +187 -0
  345. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/API-CXX.html +881 -0
  346. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/API-datastruct.html +1341 -0
  347. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/API-notes.html +305 -0
  348. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/API-overview.html +66 -0
  349. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/Install-LibRaw.html +124 -0
  350. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/Samples-LibRaw.html +213 -0
  351. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/Why-LibRaw.html +65 -0
  352. package/deps/LibRaw-Win64/LibRaw-0.21.4/doc/index.html +38 -0
  353. package/deps/LibRaw-Win64/LibRaw-0.21.4/install-sh +501 -0
  354. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/dcraw_defs.h +66 -0
  355. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/dcraw_fileio_defs.h +25 -0
  356. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/defines.h +193 -0
  357. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/dmp_include.h +27 -0
  358. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/libraw_cameraids.h +320 -0
  359. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/libraw_cxx_defs.h +133 -0
  360. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/libraw_internal_funcs.h +412 -0
  361. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/var_defines.h +215 -0
  362. package/deps/LibRaw-Win64/LibRaw-0.21.4/internal/x3f_tools.h +539 -0
  363. package/deps/LibRaw-Win64/LibRaw-0.21.4/lib/Makefile +3 -0
  364. package/deps/LibRaw-Win64/LibRaw-0.21.4/lib/libraw.exp +0 -0
  365. package/deps/LibRaw-Win64/LibRaw-0.21.4/lib/libraw.lib +0 -0
  366. package/deps/LibRaw-Win64/LibRaw-0.21.4/lib/libraw_static.lib +0 -0
  367. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw/libraw.h +534 -0
  368. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw/libraw_alloc.h +148 -0
  369. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw/libraw_const.h +814 -0
  370. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw/libraw_datastream.h +410 -0
  371. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw/libraw_internal.h +341 -0
  372. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw/libraw_types.h +1175 -0
  373. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw/libraw_version.h +63 -0
  374. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw.pc.in +12 -0
  375. package/deps/LibRaw-Win64/LibRaw-0.21.4/libraw_r.pc.in +12 -0
  376. package/deps/LibRaw-Win64/LibRaw-0.21.4/ltmain.sh +11147 -0
  377. package/deps/LibRaw-Win64/LibRaw-0.21.4/m4/ax_openmp.m4 +99 -0
  378. package/deps/LibRaw-Win64/LibRaw-0.21.4/m4/libtool.m4 +8369 -0
  379. package/deps/LibRaw-Win64/LibRaw-0.21.4/m4/ltoptions.m4 +437 -0
  380. package/deps/LibRaw-Win64/LibRaw-0.21.4/m4/ltsugar.m4 +124 -0
  381. package/deps/LibRaw-Win64/LibRaw-0.21.4/m4/ltversion.m4 +23 -0
  382. package/deps/LibRaw-Win64/LibRaw-0.21.4/m4/lt~obsolete.m4 +99 -0
  383. package/deps/LibRaw-Win64/LibRaw-0.21.4/missing +215 -0
  384. package/deps/LibRaw-Win64/LibRaw-0.21.4/object/.keep_me +0 -0
  385. package/deps/LibRaw-Win64/LibRaw-0.21.4/rsxml2c.sh +6 -0
  386. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/4channels.cpp +174 -0
  387. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/Makefile +2 -0
  388. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/dcraw_emu.cpp +670 -0
  389. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/dcraw_half.c +78 -0
  390. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/half_mt.c +178 -0
  391. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/half_mt_win32.c +212 -0
  392. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/mem_image_sample.cpp +282 -0
  393. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/multirender_test.cpp +107 -0
  394. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/openbayer_sample.cpp +65 -0
  395. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/postprocessing_benchmark.cpp +223 -0
  396. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/raw-identify.cpp +743 -0
  397. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/rawtextdump.cpp +144 -0
  398. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/simple_dcraw.cpp +217 -0
  399. package/deps/LibRaw-Win64/LibRaw-0.21.4/samples/unprocessed_raw.cpp +319 -0
  400. package/deps/LibRaw-Win64/LibRaw-0.21.4/shlib-version.sh +11 -0
  401. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/Makefile +2 -0
  402. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/canon_600.cpp +225 -0
  403. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/crx.cpp +2781 -0
  404. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/decoders_dcraw.cpp +1816 -0
  405. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/decoders_libraw.cpp +873 -0
  406. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/decoders_libraw_dcrdefs.cpp +411 -0
  407. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/dng.cpp +284 -0
  408. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/fp_dng.cpp +689 -0
  409. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/fuji_compressed.cpp +1210 -0
  410. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/generic.cpp +101 -0
  411. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/kodak_decoders.cpp +524 -0
  412. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/load_mfbacks.cpp +936 -0
  413. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/smal.cpp +181 -0
  414. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/unpack.cpp +508 -0
  415. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/decoders/unpack_thumb.cpp +405 -0
  416. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/demosaic/aahd_demosaic.cpp +781 -0
  417. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/demosaic/ahd_demosaic.cpp +355 -0
  418. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/demosaic/dcb_demosaic.cpp +900 -0
  419. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/demosaic/dht_demosaic.cpp +1033 -0
  420. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/demosaic/misc_demosaic.cpp +420 -0
  421. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/demosaic/xtrans_demosaic.cpp +434 -0
  422. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/integration/dngsdk_glue.cpp +416 -0
  423. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/integration/rawspeed_glue.cpp +286 -0
  424. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/libraw_c_api.cpp +457 -0
  425. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/libraw_datastream.cpp +1046 -0
  426. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/adobepano.cpp +154 -0
  427. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/canon.cpp +1335 -0
  428. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/ciff.cpp +411 -0
  429. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/cr3_parser.cpp +896 -0
  430. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/epson.cpp +96 -0
  431. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/exif_gps.cpp +430 -0
  432. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/fuji.cpp +1427 -0
  433. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/hasselblad_model.cpp +538 -0
  434. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/identify.cpp +3167 -0
  435. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/identify_tools.cpp +140 -0
  436. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/kodak.cpp +363 -0
  437. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/leica.cpp +375 -0
  438. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/makernotes.cpp +786 -0
  439. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/mediumformat.cpp +521 -0
  440. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/minolta.cpp +110 -0
  441. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/misc_parsers.cpp +694 -0
  442. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/nikon.cpp +1051 -0
  443. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/normalize_model.cpp +1451 -0
  444. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/olympus.cpp +685 -0
  445. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/p1.cpp +192 -0
  446. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/pentax.cpp +675 -0
  447. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/samsung.cpp +182 -0
  448. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/sony.cpp +2320 -0
  449. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/metadata/tiff.cpp +2198 -0
  450. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/postprocessing/aspect_ratio.cpp +113 -0
  451. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/postprocessing/dcraw_process.cpp +259 -0
  452. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/postprocessing/mem_image.cpp +292 -0
  453. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/postprocessing/postprocessing_aux.cpp +413 -0
  454. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/postprocessing/postprocessing_ph.cpp +31 -0
  455. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/postprocessing/postprocessing_utils.cpp +190 -0
  456. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/postprocessing/postprocessing_utils_dcrdefs.cpp +308 -0
  457. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/preprocessing/ext_preprocess.cpp +127 -0
  458. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/preprocessing/preprocessing_ph.cpp +24 -0
  459. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/preprocessing/raw2image.cpp +560 -0
  460. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/preprocessing/subtract_black.cpp +91 -0
  461. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/tables/cameralist.cpp +1268 -0
  462. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/tables/colorconst.cpp +57 -0
  463. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/tables/colordata.cpp +1841 -0
  464. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/tables/wblists.cpp +217 -0
  465. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/curves.cpp +154 -0
  466. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/decoder_info.cpp +413 -0
  467. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/init_close_utils.cpp +340 -0
  468. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/open.cpp +1269 -0
  469. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/phaseone_processing.cpp +101 -0
  470. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/read_utils.cpp +176 -0
  471. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/thumb_utils.cpp +338 -0
  472. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/utils_dcraw.cpp +330 -0
  473. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/utils/utils_libraw.cpp +673 -0
  474. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/write/apply_profile.cpp +76 -0
  475. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/write/file_write.cpp +338 -0
  476. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/write/tiff_writer.cpp +73 -0
  477. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/write/write_ph.cpp +39 -0
  478. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/x3f/x3f_parse_process.cpp +708 -0
  479. package/deps/LibRaw-Win64/LibRaw-0.21.4/src/x3f/x3f_utils_patched.cpp +2119 -0
  480. package/deps/LibRaw-Win64/LibRaw-0.21.4/version.sh +16 -0
  481. package/lib/index.d.ts +324 -0
  482. package/lib/index.js +761 -0
  483. package/package.json +97 -0
  484. package/src/addon.cpp +8 -0
  485. package/src/libraw_wrapper.cpp +1223 -0
  486. package/src/libraw_wrapper.h +109 -0
  487. package/src/libraw_wrapper_new.cpp +853 -0
@@ -0,0 +1,181 @@
1
+ /* -*- C++ -*-
2
+ * Copyright 2019-2021 LibRaw LLC (info@libraw.org)
3
+ *
4
+ LibRaw uses code from dcraw.c -- Dave Coffin's raw photo decoder,
5
+ dcraw.c is copyright 1997-2018 by Dave Coffin, dcoffin a cybercom o net.
6
+ LibRaw do not use RESTRICTED code from dcraw.c
7
+
8
+ LibRaw is free software; you can redistribute it and/or modify
9
+ it under the terms of the one of two licenses as you choose:
10
+
11
+ 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
12
+ (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
13
+
14
+ 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
15
+ (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
16
+
17
+ */
18
+
19
+ #include "../../internal/dcraw_defs.h"
20
+
21
+ #define HOLE(row) ((holes >> (((row)-raw_height) & 7)) & 1)
22
+
23
+ /* Kudos to Rich Taylor for figuring out SMaL's compression algorithm. */
24
+ void LibRaw::smal_decode_segment(unsigned seg[2][2], int holes)
25
+ {
26
+ uchar hist[3][13] = {{7, 7, 0, 0, 63, 55, 47, 39, 31, 23, 15, 7, 0},
27
+ {7, 7, 0, 0, 63, 55, 47, 39, 31, 23, 15, 7, 0},
28
+ {3, 3, 0, 0, 63, 47, 31, 15, 0}};
29
+ int low, high = 0xff, carry = 0, nbits = 8;
30
+ int s, count, bin, next, i, sym[3];
31
+ unsigned pix;
32
+ uchar diff, pred[] = {0, 0};
33
+ ushort data = 0, range = 0;
34
+
35
+ fseek(ifp, seg[0][1] + 1, SEEK_SET);
36
+ getbits(-1);
37
+ if (seg[1][0] > unsigned(raw_width * raw_height))
38
+ seg[1][0] = raw_width * raw_height;
39
+ for (pix = seg[0][0]; pix < seg[1][0]; pix++)
40
+ {
41
+ for (s = 0; s < 3; s++)
42
+ {
43
+ data = data << nbits | getbits(nbits);
44
+ if (carry < 0)
45
+ carry = (nbits += carry + 1) < 1 ? nbits - 1 : 0;
46
+ while (--nbits >= 0)
47
+ if ((data >> nbits & 0xff) == 0xff)
48
+ break;
49
+ if (nbits > 0)
50
+ data =
51
+ ((data & ((1 << (nbits - 1)) - 1)) << 1) |
52
+ ((data + (((data & (1 << (nbits - 1)))) << 1)) & ((~0u) << nbits));
53
+ if (nbits >= 0)
54
+ {
55
+ data += getbits(1);
56
+ carry = nbits - 8;
57
+ }
58
+ count = ((((data - range + 1) & 0xffff) << 2) - 1) / (high >> 4);
59
+ for (bin = 0; hist[s][bin + 5] > count; bin++)
60
+ ;
61
+ low = hist[s][bin + 5] * (high >> 4) >> 2;
62
+ if (bin)
63
+ high = hist[s][bin + 4] * (high >> 4) >> 2;
64
+ high -= low;
65
+ for (nbits = 0; high << nbits < 128; nbits++)
66
+ ;
67
+ range = (range + low) << nbits;
68
+ high <<= nbits;
69
+ next = hist[s][1];
70
+ if (++hist[s][2] > hist[s][3])
71
+ {
72
+ next = (next + 1) & hist[s][0];
73
+ hist[s][3] = (hist[s][next + 4] - hist[s][next + 5]) >> 2;
74
+ hist[s][2] = 1;
75
+ }
76
+ if (hist[s][hist[s][1] + 4] - hist[s][hist[s][1] + 5] > 1)
77
+ {
78
+ if (bin < hist[s][1])
79
+ for (i = bin; i < hist[s][1]; i++)
80
+ hist[s][i + 5]--;
81
+ else if (next <= bin)
82
+ for (i = hist[s][1]; i < bin; i++)
83
+ hist[s][i + 5]++;
84
+ }
85
+ hist[s][1] = next;
86
+ sym[s] = bin;
87
+ }
88
+ diff = sym[2] << 5 | sym[1] << 2 | (sym[0] & 3);
89
+ if (sym[0] & 4)
90
+ diff = diff ? -diff : 0x80;
91
+ if (ftell(ifp) + 12 >= seg[1][1])
92
+ diff = 0;
93
+ if (pix >= unsigned(raw_width * raw_height))
94
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
95
+ raw_image[pix] = pred[pix & 1] += diff;
96
+ if (!(pix & 1) && HOLE(pix / raw_width))
97
+ pix += 2;
98
+ }
99
+ maximum = 0xff;
100
+ }
101
+
102
+ void LibRaw::smal_v6_load_raw()
103
+ {
104
+ unsigned seg[2][2];
105
+
106
+ fseek(ifp, 16, SEEK_SET);
107
+ seg[0][0] = 0;
108
+ seg[0][1] = get2();
109
+ seg[1][0] = raw_width * raw_height;
110
+ seg[1][1] = INT_MAX;
111
+ smal_decode_segment(seg, 0);
112
+ }
113
+
114
+ int LibRaw::median4(int *p)
115
+ {
116
+ int min, max, sum, i;
117
+
118
+ min = max = sum = p[0];
119
+ for (i = 1; i < 4; i++)
120
+ {
121
+ sum += p[i];
122
+ if (min > p[i])
123
+ min = p[i];
124
+ if (max < p[i])
125
+ max = p[i];
126
+ }
127
+ return (sum - min - max) >> 1;
128
+ }
129
+
130
+ void LibRaw::fill_holes(int holes)
131
+ {
132
+ int row, col, val[4];
133
+
134
+ for (row = 2; row < height - 2; row++)
135
+ {
136
+ if (!HOLE(row))
137
+ continue;
138
+ for (col = 1; col < width - 1; col += 4)
139
+ {
140
+ val[0] = RAW(row - 1, col - 1);
141
+ val[1] = RAW(row - 1, col + 1);
142
+ val[2] = RAW(row + 1, col - 1);
143
+ val[3] = RAW(row + 1, col + 1);
144
+ RAW(row, col) = median4(val);
145
+ }
146
+ for (col = 2; col < width - 2; col += 4)
147
+ if (HOLE(row - 2) || HOLE(row + 2))
148
+ RAW(row, col) = (RAW(row, col - 2) + RAW(row, col + 2)) >> 1;
149
+ else
150
+ {
151
+ val[0] = RAW(row, col - 2);
152
+ val[1] = RAW(row, col + 2);
153
+ val[2] = RAW(row - 2, col);
154
+ val[3] = RAW(row + 2, col);
155
+ RAW(row, col) = median4(val);
156
+ }
157
+ }
158
+ }
159
+
160
+ void LibRaw::smal_v9_load_raw()
161
+ {
162
+ unsigned seg[256][2], offset, nseg, holes, i;
163
+
164
+ fseek(ifp, 67, SEEK_SET);
165
+ offset = get4();
166
+ nseg = (uchar)fgetc(ifp);
167
+ fseek(ifp, offset, SEEK_SET);
168
+ for (i = 0; i < nseg * 2; i++)
169
+ ((unsigned *)seg)[i] = get4() + data_offset * (i & 1);
170
+ fseek(ifp, 78, SEEK_SET);
171
+ holes = fgetc(ifp);
172
+ fseek(ifp, 88, SEEK_SET);
173
+ seg[nseg][0] = raw_height * raw_width;
174
+ seg[nseg][1] = get4() + data_offset;
175
+ for (i = 0; i < nseg; i++)
176
+ smal_decode_segment(seg + i, holes);
177
+ if (holes)
178
+ fill_holes(holes);
179
+ }
180
+
181
+ #undef HOLE
@@ -0,0 +1,508 @@
1
+ /* -*- C++ -*-
2
+ * Copyright 2019-2021 LibRaw LLC (info@libraw.org)
3
+ *
4
+ LibRaw is free software; you can redistribute it and/or modify
5
+ it under the terms of the one of two licenses as you choose:
6
+
7
+ 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
8
+ (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
9
+
10
+ 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
11
+ (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
12
+
13
+ */
14
+ #include "../../internal/libraw_cameraids.h"
15
+ #include "../../internal/libraw_cxx_defs.h"
16
+
17
+ #ifdef USE_RAWSPEED3
18
+ #include "rawspeed3_capi.h"
19
+ #include <array>
20
+ #endif
21
+
22
+ int LibRaw::unpack(void)
23
+ {
24
+ CHECK_ORDER_HIGH(LIBRAW_PROGRESS_LOAD_RAW);
25
+ CHECK_ORDER_LOW(LIBRAW_PROGRESS_IDENTIFY);
26
+ try
27
+ {
28
+
29
+ if (!libraw_internal_data.internal_data.input)
30
+ return LIBRAW_INPUT_CLOSED;
31
+
32
+ RUN_CALLBACK(LIBRAW_PROGRESS_LOAD_RAW, 0, 2);
33
+ if (imgdata.rawparams.shot_select >= P1.raw_count)
34
+ return LIBRAW_REQUEST_FOR_NONEXISTENT_IMAGE;
35
+
36
+ if (!load_raw)
37
+ return LIBRAW_UNSPECIFIED_ERROR;
38
+
39
+ // already allocated ?
40
+ if (imgdata.image)
41
+ {
42
+ free(imgdata.image);
43
+ imgdata.image = 0;
44
+ }
45
+ if (imgdata.rawdata.raw_alloc)
46
+ {
47
+ free(imgdata.rawdata.raw_alloc);
48
+ imgdata.rawdata.raw_alloc = 0;
49
+ }
50
+ if (libraw_internal_data.unpacker_data.meta_length)
51
+ {
52
+ if (libraw_internal_data.unpacker_data.meta_length >
53
+ INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
54
+ throw LIBRAW_EXCEPTION_TOOBIG;
55
+
56
+ #ifdef LIBRAW_CALLOC_RAWSTORE
57
+ libraw_internal_data.internal_data.meta_data =
58
+ (char *)calloc(libraw_internal_data.unpacker_data.meta_length,1);
59
+ #else
60
+ libraw_internal_data.internal_data.meta_data =
61
+ (char *)malloc(libraw_internal_data.unpacker_data.meta_length);
62
+ #endif
63
+ }
64
+
65
+ libraw_decoder_info_t decoder_info;
66
+ get_decoder_info(&decoder_info);
67
+
68
+ int save_iwidth = S.iwidth, save_iheight = S.iheight,
69
+ save_shrink = IO.shrink;
70
+
71
+ int rwidth = S.raw_width, rheight = S.raw_height;
72
+ if (!IO.fuji_width)
73
+ {
74
+ // adjust non-Fuji allocation
75
+ if (rwidth < S.width + S.left_margin)
76
+ rwidth = S.width + S.left_margin;
77
+ if (rheight < S.height + S.top_margin)
78
+ rheight = S.height + S.top_margin;
79
+ }
80
+ if (rwidth > 65535 ||
81
+ rheight > 65535) // No way to make image larger than 64k pix
82
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
83
+
84
+ imgdata.rawdata.raw_image = 0;
85
+ imgdata.rawdata.color4_image = 0;
86
+ imgdata.rawdata.color3_image = 0;
87
+ imgdata.rawdata.float_image = 0;
88
+ imgdata.rawdata.float3_image = 0;
89
+
90
+ #ifdef USE_DNGSDK
91
+ if (imgdata.idata.dng_version && dnghost
92
+ && libraw_internal_data.unpacker_data.tiff_samples != 2 // Fuji SuperCCD; it is better to detect is more rigid way
93
+ && valid_for_dngsdk() && load_raw != &LibRaw::pentax_4shot_load_raw)
94
+ {
95
+ // Data size check
96
+ INT64 pixcount =
97
+ INT64(MAX(S.width, S.raw_width)) * INT64(MAX(S.height, S.raw_height));
98
+ INT64 planecount =
99
+ (imgdata.idata.filters || P1.colors == 1) ? 1 : LIM(P1.colors, 3, 4);
100
+ INT64 samplesize = is_floating_point() ? 4 : 2;
101
+ INT64 bytes = pixcount * planecount * samplesize;
102
+ if (bytes + INT64(libraw_internal_data.unpacker_data.meta_length )
103
+ > INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
104
+ throw LIBRAW_EXCEPTION_TOOBIG;
105
+
106
+ // find ifd to check sample
107
+ try_dngsdk();
108
+ if (raw_was_read())
109
+ imgdata.process_warnings |= LIBRAW_WARN_DNGSDK_PROCESSED;
110
+ }
111
+ #endif
112
+ #ifdef USE_RAWSPEED3
113
+ if (!raw_was_read()
114
+ && (!IO.fuji_width) // Do not use for fuji rotated
115
+ && ((imgdata.idata.raw_count == 1)
116
+ // Canon dual pixel, 1st frame
117
+ || (makeIs(LIBRAW_CAMERAMAKER_Canon) && imgdata.idata.raw_count == 2 && imgdata.rawparams.shot_select==0)
118
+ )
119
+ #ifdef USE_RAWSPEED_BITS
120
+ && (imgdata.rawparams.use_rawspeed & LIBRAW_RAWSPEEDV3_USE)
121
+ #else
122
+ && imgdata.rawparams.use_rawspeed
123
+ #endif
124
+ && (decoder_info.decoder_flags & LIBRAW_DECODER_TRYRAWSPEED3)
125
+ )
126
+ {
127
+ INT64 pixcount = INT64(MAX(S.width, S.raw_width)) * INT64(MAX(S.height, S.raw_height));
128
+ INT64 planecount = (imgdata.idata.filters || P1.colors == 1) ? 1 : LIM(P1.colors, 3, 4);
129
+ INT64 bytes = pixcount * planecount * 2; // sample size is always 2 for rawspeed
130
+ if (bytes + INT64(libraw_internal_data.unpacker_data.meta_length)
131
+ > INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
132
+ throw LIBRAW_EXCEPTION_TOOBIG;
133
+
134
+ if (!_rawspeed3_handle)
135
+ _rawspeed3_handle = rawspeed3_initdefault();
136
+
137
+ if (_rawspeed3_handle && ID.input->size() > 0) // large bound is checked at identify
138
+ {
139
+ void *_rawspeed_buffer = 0;
140
+ try {
141
+ ID.input->seek(0, SEEK_SET);
142
+ INT64 _rawspeed_buffer_sz = ID.input->size() + 32;
143
+ _rawspeed_buffer = malloc(_rawspeed_buffer_sz);
144
+ if (!_rawspeed_buffer)
145
+ throw LIBRAW_EXCEPTION_ALLOC;
146
+ ID.input->read(_rawspeed_buffer, ID.input->size(), 1);
147
+
148
+ rawspeed3_ret_t rs3ret;
149
+ rawspeed3_clearresult(&rs3ret);
150
+ int status = rawspeed3_decodefile(_rawspeed3_handle, &rs3ret, _rawspeed_buffer, ID.input->size(),
151
+ #ifdef USE_RAWSPEED_BITS
152
+ !(imgdata.rawparams.use_rawspeed & LIBRAW_RAWSPEEDV3_FAILONUNKNOWN)
153
+ #else
154
+ false
155
+ #endif
156
+ );
157
+ if (status != rawspeed3_ok)
158
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED_UNSUPPORTED;
159
+
160
+ if (status == rawspeed3_not_supported)
161
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED3_NOTLISTED;
162
+
163
+ if (status == rawspeed3_ok
164
+ #ifdef USE_RAWSPEED_BITS
165
+ ||
166
+ (status == rawspeed3_ok_warnings && (imgdata.rawparams.use_rawspeed & LIBRAW_RAWSPEEDV3_IGNOREERRORS))
167
+ #endif
168
+ )
169
+ {
170
+
171
+ if ((S.raw_width != rs3ret.width) || (S.raw_height != rs3ret.height))
172
+ throw "Size mismatch";
173
+
174
+ // DECODED w/ success
175
+ if (rs3ret.filters>1) // Fuji or bayer
176
+ imgdata.rawdata.raw_image = (ushort*)rs3ret.pixeldata;
177
+ else if (rs3ret.cpp == 4)
178
+ {
179
+ imgdata.rawdata.color4_image = (ushort(*)[4])rs3ret.pixeldata;
180
+ //if (r->whitePoint > 0 && r->whitePoint < 65536)
181
+ // C.maximum = r->whitePoint;
182
+ }
183
+ else if (rs3ret.cpp == 3)
184
+ {
185
+ imgdata.rawdata.color3_image = (ushort(*)[3])rs3ret.pixeldata;
186
+ //if (r->whitePoint > 0 && r->whitePoint < 65536)
187
+ // C.maximum = r->whitePoint;
188
+ }
189
+
190
+ if (raw_was_read()) // buffers are assigned above
191
+ {
192
+ // set sizes
193
+ S.raw_pitch = rs3ret.pitch;
194
+ S.raw_width = rs3ret.width;
195
+ S.raw_height = rs3ret.height;
196
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED3_PROCESSED;
197
+ // if (r->whitePoint > 0 && r->whitePoint < 65536)
198
+ // C.maximum = r->whitePoint;
199
+ }
200
+ }
201
+ free(_rawspeed_buffer);
202
+ }
203
+ catch (...)
204
+ {
205
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED3_PROBLEM;
206
+ if (_rawspeed_buffer)
207
+ free(_rawspeed_buffer);
208
+ }
209
+ }
210
+ }
211
+ #endif
212
+ #ifdef USE_RAWSPEED
213
+ if (!raw_was_read())
214
+ {
215
+ int rawspeed_enabled = 1;
216
+
217
+ if (imgdata.idata.dng_version && (libraw_internal_data.unpacker_data.tiff_samples == 2 || imgdata.idata.raw_count > 1))
218
+ rawspeed_enabled = 0;
219
+
220
+ if (libraw_internal_data.unpacker_data.is_NikonTransfer)
221
+ rawspeed_enabled = 0;
222
+
223
+ if (libraw_internal_data.unpacker_data.pana_encoding == 5)
224
+ rawspeed_enabled = 0;
225
+
226
+ if (imgdata.idata.raw_count > 1)
227
+ rawspeed_enabled = 0;
228
+ if (!strncasecmp(imgdata.idata.software, "Magic", 5))
229
+ rawspeed_enabled = 0;
230
+ // Disable rawspeed for double-sized Oly files
231
+ if (makeIs(LIBRAW_CAMERAMAKER_Olympus) &&
232
+ ((imgdata.sizes.raw_width > 6000) ||
233
+ !strncasecmp(imgdata.idata.model, "SH-", 3) ||
234
+ !strncasecmp(imgdata.idata.model, "TG-", 3) ))
235
+ rawspeed_enabled = 0;
236
+
237
+ if (makeIs(LIBRAW_CAMERAMAKER_Canon) &&
238
+ (libraw_internal_data.identify_data.unique_id == CanonID_EOS_6D_Mark_II))
239
+ rawspeed_enabled = 0;
240
+
241
+ if (imgdata.idata.dng_version && imgdata.idata.filters == 0 &&
242
+ libraw_internal_data.unpacker_data.tiff_bps == 8) // Disable for 8 bit
243
+ rawspeed_enabled = 0;
244
+
245
+ if (load_raw == &LibRaw::packed_load_raw &&
246
+ makeIs(LIBRAW_CAMERAMAKER_Nikon) &&
247
+ (!strncasecmp(imgdata.idata.model, "E", 1) ||
248
+ !strncasecmp(imgdata.idata.model, "COOLPIX B", 9) ||
249
+ !strncasecmp(imgdata.idata.model, "COOLPIX P9", 10) ||
250
+ !strncasecmp(imgdata.idata.model, "COOLPIX P1000", 13)))
251
+ rawspeed_enabled = 0;
252
+
253
+ if (load_raw == &LibRaw::nikon_load_raw && makeIs(LIBRAW_CAMERAMAKER_Nikon) &&
254
+ !strcasecmp(imgdata.idata.model, "D6"))
255
+ rawspeed_enabled = 0;
256
+
257
+ if (load_raw == &LibRaw::lossless_jpeg_load_raw &&
258
+ MN.canon.RecordMode && makeIs(LIBRAW_CAMERAMAKER_Kodak) &&
259
+ /* Not normalized models here, it is intentional */
260
+ (!strncasecmp(imgdata.idata.model, "EOS D2000", 9) ||
261
+ !strncasecmp(imgdata.idata.model, "EOS D6000", 9)))
262
+ rawspeed_enabled = 0;
263
+
264
+ if (load_raw == &LibRaw::nikon_load_raw &&
265
+ makeIs(LIBRAW_CAMERAMAKER_Nikon) &&
266
+ (!strncasecmp(imgdata.idata.model, "Z", 1) || !strncasecmp(imgdata.idata.model,"D780",4)))
267
+ rawspeed_enabled = 0;
268
+
269
+ if (load_raw == &LibRaw::panasonic_load_raw &&
270
+ libraw_internal_data.unpacker_data.pana_encoding > 4)
271
+ rawspeed_enabled = 0;
272
+
273
+ // RawSpeed Supported,
274
+ if (
275
+ #ifdef USE_RAWSPEED_BITS
276
+ (imgdata.rawparams.use_rawspeed & LIBRAW_RAWSPEEDV1_USE)
277
+ #else
278
+ imgdata.rawparams.use_rawspeed
279
+ #endif
280
+ && rawspeed_enabled &&
281
+ !(is_sraw() && (imgdata.rawparams.specials &
282
+ (LIBRAW_RAWSPECIAL_SRAW_NO_RGB |
283
+ LIBRAW_RAWSPECIAL_SRAW_NO_INTERPOLATE))) &&
284
+ (decoder_info.decoder_flags & LIBRAW_DECODER_TRYRAWSPEED) &&
285
+ _rawspeed_camerameta)
286
+ {
287
+ INT64 pixcount = INT64(MAX(S.width, S.raw_width)) *
288
+ INT64(MAX(S.height, S.raw_height));
289
+ INT64 planecount = (imgdata.idata.filters || P1.colors == 1)
290
+ ? 1
291
+ : LIM(P1.colors, 3, 4);
292
+ INT64 bytes =
293
+ pixcount * planecount * 2; // sample size is always 2 for rawspeed
294
+ if (bytes + +INT64(libraw_internal_data.unpacker_data.meta_length) >
295
+ INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
296
+ throw LIBRAW_EXCEPTION_TOOBIG;
297
+
298
+ /*int rr = */ try_rawspeed();
299
+
300
+ }
301
+ }
302
+ #endif
303
+ if (!raw_was_read()) // RawSpeed failed or not run
304
+ {
305
+ // Not allocated on RawSpeed call, try call LibRaow
306
+ int zero_rawimage = 0;
307
+ if (decoder_info.decoder_flags & LIBRAW_DECODER_OWNALLOC)
308
+ {
309
+ // x3f foveon decoder and DNG float
310
+ // Do nothing! Decoder will allocate data internally
311
+ }
312
+ if (decoder_info.decoder_flags & LIBRAW_DECODER_SINAR4SHOT)
313
+ {
314
+ if (imgdata.rawparams.shot_select) // single image extract
315
+ {
316
+ if (INT64(rwidth) * INT64(rheight + 8) *
317
+ INT64(sizeof(imgdata.rawdata.raw_image[0]))
318
+ + +INT64(libraw_internal_data.unpacker_data.meta_length) >
319
+ INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
320
+ throw LIBRAW_EXCEPTION_TOOBIG;
321
+ #ifdef LIBRAW_CALLOC_RAWSTORE
322
+ imgdata.rawdata.raw_alloc = calloc(
323
+ rwidth * (rheight + 8), sizeof(imgdata.rawdata.raw_image[0]));
324
+ #else
325
+ imgdata.rawdata.raw_alloc = malloc(
326
+ rwidth * (rheight + 8) * sizeof(imgdata.rawdata.raw_image[0]));
327
+ #endif
328
+ imgdata.rawdata.raw_image = (ushort *)imgdata.rawdata.raw_alloc;
329
+ if (!S.raw_pitch)
330
+ S.raw_pitch = S.raw_width * 2; // Bayer case, not set before
331
+ }
332
+ else // Full image extract
333
+ {
334
+ if (INT64(rwidth) * INT64(rheight + 8) *
335
+ INT64(sizeof(imgdata.rawdata.raw_image[0])) * 4
336
+ +INT64(libraw_internal_data.unpacker_data.meta_length) >
337
+ INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
338
+ throw LIBRAW_EXCEPTION_TOOBIG;
339
+ S.raw_pitch = S.raw_width * 8;
340
+ imgdata.rawdata.raw_alloc = 0;
341
+ imgdata.image = (ushort(*)[4])calloc(
342
+ unsigned(MAX(S.width, S.raw_width)) *
343
+ unsigned(MAX(S.height, S.raw_height) + 8),
344
+ sizeof(*imgdata.image));
345
+ }
346
+ }
347
+ else if (decoder_info.decoder_flags & LIBRAW_DECODER_3CHANNEL)
348
+ {
349
+ if (INT64(rwidth) * INT64(rheight + 8) *
350
+ INT64(sizeof(imgdata.rawdata.raw_image[0])) * 3
351
+ + INT64(libraw_internal_data.unpacker_data.meta_length) >
352
+ INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
353
+ throw LIBRAW_EXCEPTION_TOOBIG;
354
+
355
+ #ifdef LIBRAW_CALLOC_RAWSTORE
356
+ imgdata.rawdata.raw_alloc = calloc(
357
+ rwidth * (rheight + 8), sizeof(imgdata.rawdata.raw_image[0]) * 3);
358
+ #else
359
+ imgdata.rawdata.raw_alloc = malloc(
360
+ rwidth * (rheight + 8) * sizeof(imgdata.rawdata.raw_image[0]) * 3);
361
+ #endif
362
+ imgdata.rawdata.color3_image = (ushort(*)[3])imgdata.rawdata.raw_alloc;
363
+ if (!S.raw_pitch)
364
+ S.raw_pitch = S.raw_width * 6;
365
+ }
366
+ else if (imgdata.idata.filters ||
367
+ P1.colors ==
368
+ 1) // Bayer image or single color -> decode to raw_image
369
+ {
370
+ if (INT64(rwidth) * INT64(rheight + 8) *
371
+ INT64(sizeof(imgdata.rawdata.raw_image[0]))
372
+ + INT64(libraw_internal_data.unpacker_data.meta_length) >
373
+ INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
374
+ throw LIBRAW_EXCEPTION_TOOBIG;
375
+ imgdata.rawdata.raw_alloc = malloc(
376
+ rwidth * (rheight + 8) * sizeof(imgdata.rawdata.raw_image[0]));
377
+ imgdata.rawdata.raw_image = (ushort *)imgdata.rawdata.raw_alloc;
378
+ if (!S.raw_pitch)
379
+ S.raw_pitch = S.raw_width * 2; // Bayer case, not set before
380
+ }
381
+ else // NO LEGACY FLAG if (decoder_info.decoder_flags &
382
+ // LIBRAW_DECODER_LEGACY)
383
+ {
384
+ if (decoder_info.decoder_flags & LIBRAW_DECODER_ADOBECOPYPIXEL)
385
+ {
386
+ S.raw_pitch = S.raw_width * 8;
387
+ }
388
+ else
389
+ {
390
+ S.iwidth = S.width;
391
+ S.iheight = S.height;
392
+ IO.shrink = 0;
393
+ if (!S.raw_pitch)
394
+ S.raw_pitch = (decoder_info.decoder_flags &
395
+ LIBRAW_DECODER_LEGACY_WITH_MARGINS)
396
+ ? S.raw_width * 8
397
+ : S.width * 8;
398
+ }
399
+ // sRAW and old Foveon decoders only, so extra buffer size is just 1/4
400
+ // allocate image as temporary buffer, size
401
+ if (INT64(MAX(S.width, S.raw_width)) *
402
+ INT64(MAX(S.height, S.raw_height) + 8) *
403
+ INT64(sizeof(*imgdata.image))
404
+ + INT64(libraw_internal_data.unpacker_data.meta_length) >
405
+ INT64(imgdata.rawparams.max_raw_memory_mb) * INT64(1024 * 1024))
406
+ throw LIBRAW_EXCEPTION_TOOBIG;
407
+
408
+ imgdata.rawdata.raw_alloc = 0;
409
+ imgdata.image =
410
+ (ushort(*)[4])calloc(unsigned(MAX(S.width, S.raw_width)) *
411
+ unsigned(MAX(S.height, S.raw_height) + 8),
412
+ sizeof(*imgdata.image));
413
+ if (!(decoder_info.decoder_flags & LIBRAW_DECODER_ADOBECOPYPIXEL))
414
+ {
415
+ imgdata.rawdata.raw_image = (ushort *)imgdata.image;
416
+ zero_rawimage = 1;
417
+ }
418
+ }
419
+ ID.input->seek(libraw_internal_data.unpacker_data.data_offset, SEEK_SET);
420
+
421
+ unsigned m_save = C.maximum;
422
+ if (load_raw == &LibRaw::unpacked_load_raw &&
423
+ (!strcasecmp(imgdata.idata.make, "Nikon") || !strcasecmp(imgdata.idata.make, "Hasselblad"))
424
+ )
425
+ C.maximum = 65535;
426
+ (this->*load_raw)();
427
+ if (zero_rawimage)
428
+ imgdata.rawdata.raw_image = 0;
429
+ if (load_raw == &LibRaw::unpacked_load_raw &&
430
+ (!strcasecmp(imgdata.idata.make, "Nikon") || !strcasecmp(imgdata.idata.make, "Hasselblad"))
431
+ )
432
+ C.maximum = m_save;
433
+ if (decoder_info.decoder_flags & LIBRAW_DECODER_OWNALLOC)
434
+ {
435
+ // x3f foveon decoder only: do nothing
436
+ }
437
+ else if (decoder_info.decoder_flags & LIBRAW_DECODER_SINAR4SHOT &&
438
+ imgdata.rawparams.shot_select == 0)
439
+ {
440
+ imgdata.rawdata.raw_alloc = imgdata.image;
441
+ imgdata.rawdata.color4_image = (ushort(*)[4])imgdata.rawdata.raw_alloc;
442
+ imgdata.image = 0;
443
+ }
444
+ else if (!(imgdata.idata.filters ||
445
+ P1.colors == 1)) // legacy decoder, ownalloc handled above
446
+ {
447
+ // successfully decoded legacy image, attach image to raw_alloc
448
+ imgdata.rawdata.raw_alloc = imgdata.image;
449
+ imgdata.rawdata.color4_image = (ushort(*)[4])imgdata.rawdata.raw_alloc;
450
+ imgdata.image = 0;
451
+ // Restore saved values. Note: Foveon have masked frame
452
+ // Other 4-color legacy data: no borders
453
+ if (!(libraw_internal_data.unpacker_data.load_flags & 256) &&
454
+ !(decoder_info.decoder_flags & LIBRAW_DECODER_ADOBECOPYPIXEL) &&
455
+ !(decoder_info.decoder_flags & LIBRAW_DECODER_LEGACY_WITH_MARGINS))
456
+ {
457
+ S.raw_width = S.width;
458
+ S.left_margin = 0;
459
+ S.raw_height = S.height;
460
+ S.top_margin = 0;
461
+ }
462
+ }
463
+ }
464
+
465
+ if (imgdata.rawdata.raw_image)
466
+ crop_masked_pixels(); // calculate black levels
467
+
468
+ // recover image sizes
469
+ S.iwidth = save_iwidth;
470
+ S.iheight = save_iheight;
471
+ IO.shrink = save_shrink;
472
+
473
+ // adjust black to possible maximum
474
+ unsigned int i = C.cblack[3];
475
+ unsigned int c;
476
+ for (c = 0; c < 3; c++)
477
+ if (i > C.cblack[c])
478
+ i = C.cblack[c];
479
+ for (c = 0; c < 4; c++)
480
+ C.cblack[c] -= i;
481
+ C.black += i;
482
+
483
+ // Save color,sizes and internal data into raw_image fields
484
+ memmove(&imgdata.rawdata.color, &imgdata.color, sizeof(imgdata.color));
485
+ memmove(&imgdata.rawdata.sizes, &imgdata.sizes, sizeof(imgdata.sizes));
486
+ memmove(&imgdata.rawdata.iparams, &imgdata.idata, sizeof(imgdata.idata));
487
+ memmove(&imgdata.rawdata.ioparams,
488
+ &libraw_internal_data.internal_output_params,
489
+ sizeof(libraw_internal_data.internal_output_params));
490
+
491
+ SET_PROC_FLAG(LIBRAW_PROGRESS_LOAD_RAW);
492
+ RUN_CALLBACK(LIBRAW_PROGRESS_LOAD_RAW, 1, 2);
493
+
494
+ return 0;
495
+ }
496
+ catch (const std::bad_alloc&)
497
+ {
498
+ EXCEPTION_HANDLER(LIBRAW_EXCEPTION_ALLOC);
499
+ }
500
+ catch (const LibRaw_exceptions& err)
501
+ {
502
+ EXCEPTION_HANDLER(err);
503
+ }
504
+ catch (const std::exception& )
505
+ {
506
+ EXCEPTION_HANDLER(LIBRAW_EXCEPTION_IO_CORRUPT);
507
+ }
508
+ }