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,416 @@
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
+
15
+ #include "../../internal/libraw_cxx_defs.h"
16
+
17
+ #if defined (USE_GPRSDK) && !defined(USE_DNGSDK)
18
+ #error GPR (GoPro) SDK should be used with Adobe DNG SDK
19
+ #endif
20
+ #ifdef USE_DNGSDK
21
+ #include "dng_read_image.h"
22
+ #endif
23
+ #ifdef USE_GPRSDK
24
+ #include "gpr_read_image.h"
25
+ #endif
26
+
27
+ #ifdef USE_DNGSDK
28
+ static dng_ifd* search_single_ifd(const std::vector <dng_ifd *>& v, uint64 offset, int& idx, dng_stream& stream)
29
+ {
30
+ idx = -1;
31
+ for (int i = 0; i < v.size(); i++)
32
+ {
33
+ if (!v[i]) continue;
34
+ if (v[i]->fTileOffsetsOffset == offset)
35
+ {
36
+ idx = i;
37
+ return v[i];
38
+ }
39
+ else if (v[i]->fTileOffsetsCount == 1 && v[i]->fTileOffset[0] == offset)
40
+ {
41
+ idx = i;
42
+ return v[i];
43
+ }
44
+ else if (v[i]->fTileOffsetsCount > dng_ifd::kMaxTileInfo)
45
+ {
46
+ uint64 p = stream.Position();
47
+ stream.SetReadPosition(v[i]->fTileOffsetsOffset);
48
+ int32 oo = stream.TagValue_uint32(v[i]->fTileOffsetsType);
49
+ stream.SetReadPosition(p);
50
+ if (oo == offset)
51
+ {
52
+ idx = i;
53
+ return v[i];
54
+ }
55
+ }
56
+ }
57
+ return NULL;
58
+ }
59
+
60
+ static dng_ifd* search_for_ifd(const dng_info& info, uint64 offset, ushort w, ushort h, int& ifdIndex, dng_stream& stream)
61
+ {
62
+ dng_ifd *ret = 0;
63
+ ret = search_single_ifd(info.fIFD, offset, ifdIndex, stream);
64
+ int dummy;
65
+ if (!ret) ret = search_single_ifd(info.fChainedIFD, offset, dummy, stream);
66
+ if (!ret)
67
+ {
68
+ for (int c = 0; !ret && c < info.fChainedSubIFD.size(); c++)
69
+ ret = search_single_ifd(info.fChainedSubIFD[c], offset, dummy, stream);
70
+ }
71
+ if (ret && (ret->fImageLength == h) && ret->fImageWidth == w)
72
+ return ret;
73
+ ifdIndex = -1;
74
+ return 0;
75
+ }
76
+ #endif
77
+
78
+ int LibRaw::valid_for_dngsdk()
79
+ {
80
+ #ifndef USE_DNGSDK
81
+ return 0;
82
+ #else
83
+ if (!imgdata.idata.dng_version)
84
+ return 0;
85
+
86
+ // All DNG larger than 2GB - to DNG SDK
87
+ if (libraw_internal_data.internal_data.input->size() > 2147483647ULL)
88
+ return 1;
89
+
90
+ if (!strcasecmp(imgdata.idata.make, "Blackmagic")
91
+ && (libraw_internal_data.unpacker_data.tiff_compress == 7)
92
+ && (libraw_internal_data.unpacker_data.tiff_bps > 8)
93
+ )
94
+ return 0;
95
+
96
+ if (libraw_internal_data.unpacker_data.tiff_compress == 34892
97
+ && libraw_internal_data.unpacker_data.tiff_bps == 8
98
+ && (libraw_internal_data.unpacker_data.tiff_samples == 3
99
+ || libraw_internal_data.unpacker_data.tiff_samples == 1
100
+ || libraw_internal_data.unpacker_data.tiff_samples == 4 )
101
+ && load_raw == &LibRaw::lossy_dng_load_raw
102
+ )
103
+ {
104
+ if (!dnghost)
105
+ return 0;
106
+ dng_host *host = static_cast<dng_host *>(dnghost);
107
+ libraw_dng_stream stream(libraw_internal_data.internal_data.input);
108
+ AutoPtr<dng_negative> negative;
109
+ negative.Reset(host->Make_dng_negative());
110
+ dng_info info;
111
+ info.Parse(*host, stream);
112
+ info.PostParse(*host);
113
+ if (!info.IsValidDNG())
114
+ return 0;
115
+ negative->Parse(*host, stream, info);
116
+ negative->PostParse(*host, stream, info);
117
+ int ifdindex = -1;
118
+ dng_ifd *rawIFD = search_for_ifd(info, libraw_internal_data.unpacker_data.data_offset, imgdata.sizes.raw_width, imgdata.sizes.raw_height, ifdindex,stream);
119
+ if (rawIFD && ifdindex >= 0 && ifdindex == info.fMainIndex)
120
+ return 1;
121
+ return 0;
122
+ }
123
+
124
+ #ifdef USE_GPRSDK
125
+ if (load_raw == &LibRaw::vc5_dng_load_raw_placeholder) // regardless of flags or use_dngsdk value!
126
+ return 1;
127
+ #endif
128
+ if (!imgdata.rawparams.use_dngsdk)
129
+ return 0;
130
+ if (load_raw == &LibRaw::lossy_dng_load_raw) // WHY??
131
+ return 0;
132
+ if (is_floating_point() && (imgdata.rawparams.use_dngsdk & LIBRAW_DNG_FLOAT))
133
+ return 1;
134
+ if (!imgdata.idata.filters && (imgdata.rawparams.use_dngsdk & LIBRAW_DNG_LINEAR))
135
+ return 1;
136
+ if (libraw_internal_data.unpacker_data.tiff_bps == 8 &&
137
+ (imgdata.rawparams.use_dngsdk & LIBRAW_DNG_8BIT))
138
+ return 1;
139
+ if (libraw_internal_data.unpacker_data.tiff_compress == 8 &&
140
+ (imgdata.rawparams.use_dngsdk & LIBRAW_DNG_DEFLATE))
141
+ return 1;
142
+ if (libraw_internal_data.unpacker_data.tiff_samples == 2)
143
+ return 0; // Always deny 2-samples (old fuji superccd)
144
+ if (imgdata.idata.filters == 9 &&
145
+ (imgdata.rawparams.use_dngsdk & LIBRAW_DNG_XTRANS))
146
+ return 1;
147
+ if (is_fuji_rotated())
148
+ return 0; // refuse
149
+ if (imgdata.rawparams.use_dngsdk & LIBRAW_DNG_OTHER)
150
+ return 1;
151
+ return 0;
152
+ #endif
153
+ }
154
+
155
+
156
+
157
+
158
+ int LibRaw::try_dngsdk()
159
+ {
160
+ #ifdef USE_DNGSDK
161
+ if (!dnghost)
162
+ return LIBRAW_UNSPECIFIED_ERROR;
163
+
164
+ dng_host *host = static_cast<dng_host *>(dnghost);
165
+
166
+ try
167
+ {
168
+ libraw_dng_stream stream(libraw_internal_data.internal_data.input);
169
+
170
+ AutoPtr<dng_negative> negative;
171
+ negative.Reset(host->Make_dng_negative());
172
+
173
+ dng_info info;
174
+ info.Parse(*host, stream);
175
+ info.PostParse(*host);
176
+
177
+ if (!info.IsValidDNG())
178
+ {
179
+ return LIBRAW_DATA_ERROR;
180
+ }
181
+ negative->Parse(*host, stream, info);
182
+ negative->PostParse(*host, stream, info);
183
+ int ifdindex;
184
+ dng_ifd *rawIFD = search_for_ifd(info,libraw_internal_data.unpacker_data.data_offset,imgdata.sizes.raw_width,imgdata.sizes.raw_height,ifdindex,stream);
185
+ if(!rawIFD)
186
+ return LIBRAW_DATA_ERROR;
187
+
188
+ AutoPtr<dng_simple_image> stage2;
189
+ bool stage23used = false;
190
+ bool zerocopy = false;
191
+
192
+ //(new dng_simple_image(rawIFD->Bounds(), rawIFD->fSamplesPerPixel, rawIFD->PixelType(), host->Allocator()));
193
+
194
+ if (((libraw_internal_data.unpacker_data.tiff_compress == 34892
195
+ && libraw_internal_data.unpacker_data.tiff_bps == 8
196
+ && libraw_internal_data.unpacker_data.tiff_samples == 3
197
+ && load_raw == &LibRaw::lossy_dng_load_raw)
198
+ || (imgdata.rawparams.options & (LIBRAW_RAWOPTIONS_DNG_STAGE2| LIBRAW_RAWOPTIONS_DNG_STAGE3))
199
+ || ((tiff_ifd[ifdindex].dng_levels.parsedfields & (LIBRAW_DNGFM_OPCODE2| LIBRAW_DNGFM_OPCODE3))
200
+ && (imgdata.rawparams.options & (LIBRAW_RAWOPTIONS_DNG_STAGE2_IFPRESENT | LIBRAW_RAWOPTIONS_DNG_STAGE3_IFPRESENT)))
201
+ )
202
+ && ifdindex >= 0)
203
+ {
204
+ if (info.fMainIndex != ifdindex)
205
+ info.fMainIndex = ifdindex;
206
+
207
+ negative->ReadStage1Image(*host, stream, info);
208
+ negative->BuildStage2Image(*host);
209
+ imgdata.process_warnings |= LIBRAW_WARN_DNG_STAGE2_APPLIED;
210
+ if ( (imgdata.rawparams.options & LIBRAW_RAWOPTIONS_DNG_STAGE3) ||
211
+ ((tiff_ifd[ifdindex].dng_levels.parsedfields & LIBRAW_DNGFM_OPCODE3) &&
212
+ (imgdata.rawparams.options & LIBRAW_RAWOPTIONS_DNG_STAGE3_IFPRESENT))
213
+ )
214
+ {
215
+ negative->BuildStage3Image(*host);
216
+ stage2.Reset((dng_simple_image*)negative->Stage3Image());
217
+ imgdata.process_warnings |= LIBRAW_WARN_DNG_STAGE3_APPLIED;
218
+ }
219
+ else
220
+ stage2.Reset((dng_simple_image*)negative->Stage2Image());
221
+ stage23used = true;
222
+ }
223
+ else
224
+ {
225
+ stage2.Reset(new dng_simple_image(rawIFD->Bounds(), rawIFD->fSamplesPerPixel, rawIFD->PixelType(), host->Allocator()));
226
+ #ifdef USE_GPRSDK
227
+ if (libraw_internal_data.unpacker_data.tiff_compress == 9)
228
+ {
229
+ gpr_allocator allocator;
230
+ allocator.Alloc = ::malloc;
231
+ allocator.Free = ::free;
232
+ gpr_buffer_auto vc5_image_obj(allocator.Alloc, allocator.Free);
233
+
234
+ gpr_read_image reader(&vc5_image_obj);
235
+ reader.Read(*host, *rawIFD, stream, *stage2.Get(), NULL, NULL);
236
+ }
237
+ else
238
+ #endif
239
+ {
240
+ dng_read_image reader;
241
+ reader.Read(*host, *rawIFD, stream, *stage2.Get(), NULL, NULL);
242
+ }
243
+ }
244
+
245
+ if (stage2->Bounds().W() != S.raw_width ||
246
+ stage2->Bounds().H() != S.raw_height)
247
+ {
248
+ if (imgdata.rawparams.options & LIBRAW_RAWOPTIONS_DNG_ALLOWSIZECHANGE)
249
+ {
250
+ S.raw_width = S.width = stage2->Bounds().W();
251
+ S.left_margin = 0;
252
+ S.raw_height = S.height = stage2->Bounds().H();
253
+ S.top_margin = 0;
254
+ }
255
+ else
256
+ {
257
+ stage2.Release(); // It holds copy to internal dngnegative
258
+ return LIBRAW_DATA_ERROR;
259
+ }
260
+ }
261
+ if (stage23used)
262
+ {
263
+ if (stage2->Planes() > 1)
264
+ {
265
+ imgdata.idata.filters = 0;
266
+ imgdata.idata.colors = stage2->Planes();
267
+ }
268
+ // reset BL and whitepoint
269
+ imgdata.color.black = 0;
270
+ memset(imgdata.color.cblack, 0, sizeof(imgdata.color.cblack));
271
+ imgdata.color.maximum = 0xffff;
272
+ }
273
+
274
+ int pplanes = stage2->Planes();
275
+ int ptype = stage2->PixelType();
276
+
277
+ dng_pixel_buffer buffer;
278
+ stage2->GetPixelBuffer(buffer);
279
+
280
+ int pixels = stage2->Bounds().H() * stage2->Bounds().W() * pplanes;
281
+
282
+ if (ptype == ttShort && !stage23used && !is_curve_linear())
283
+ {
284
+ imgdata.rawdata.raw_alloc = malloc(pixels * TagTypeSize(ptype));
285
+ ushort *src = (ushort *)buffer.fData;
286
+ ushort *dst = (ushort *)imgdata.rawdata.raw_alloc;
287
+ for (int i = 0; i < pixels; i++)
288
+ dst[i] = imgdata.color.curve[src[i]];
289
+ S.raw_pitch = S.raw_width * pplanes * TagTypeSize(ptype);
290
+
291
+ }
292
+ else if (ptype == ttByte)
293
+ {
294
+ imgdata.rawdata.raw_alloc = malloc(pixels * TagTypeSize(ttShort));
295
+ unsigned char *src = (unsigned char *)buffer.fData;
296
+ ushort *dst = (ushort *)imgdata.rawdata.raw_alloc;
297
+ if (is_curve_linear())
298
+ {
299
+ for (int i = 0; i < pixels; i++)
300
+ dst[i] = src[i];
301
+ }
302
+ else
303
+ {
304
+ for (int i = 0; i < pixels; i++)
305
+ dst[i] = imgdata.color.curve[src[i]];
306
+ }
307
+ S.raw_pitch = S.raw_width * pplanes * TagTypeSize(ttShort);
308
+ }
309
+ else
310
+ {
311
+ // Alloc
312
+ if ((imgdata.rawparams.options & LIBRAW_RAWOPTIONS_DNGSDK_ZEROCOPY) && !stage23used)
313
+ {
314
+ zerocopy = true;
315
+ }
316
+ else
317
+ {
318
+ imgdata.rawdata.raw_alloc = malloc(pixels * TagTypeSize(ptype));
319
+ memmove(imgdata.rawdata.raw_alloc, buffer.fData,
320
+ pixels * TagTypeSize(ptype));
321
+ }
322
+ S.raw_pitch = S.raw_width * pplanes * TagTypeSize(ptype);
323
+ }
324
+
325
+ if (stage23used)
326
+ stage2.Release();
327
+
328
+ if ((ptype == ttFloat) && (imgdata.rawparams.options & LIBRAW_RAWOPTIONS_CONVERTFLOAT_TO_INT))
329
+ zerocopy = true;
330
+
331
+ if (zerocopy)
332
+ {
333
+ switch (ptype)
334
+ {
335
+ case ttFloat:
336
+ if (pplanes == 1)
337
+ imgdata.rawdata.float_image = (float *)buffer.fData;
338
+ else if (pplanes == 3)
339
+ imgdata.rawdata.float3_image = (float(*)[3])buffer.fData;
340
+ else if (pplanes == 4)
341
+ imgdata.rawdata.float4_image = (float(*)[4])buffer.fData;
342
+ break;
343
+
344
+ case ttShort:
345
+ if (pplanes == 1)
346
+ imgdata.rawdata.raw_image = (ushort *)buffer.fData;
347
+ else if (pplanes == 3)
348
+ imgdata.rawdata.color3_image = (ushort(*)[3])buffer.fData;
349
+ else if (pplanes == 4)
350
+ imgdata.rawdata.color4_image = (ushort(*)[4])buffer.fData;
351
+ break;
352
+ default:
353
+ /* do nothing */
354
+ break;
355
+ }
356
+ }
357
+ else
358
+ {
359
+ switch (ptype)
360
+ {
361
+ case ttFloat:
362
+ if (pplanes == 1)
363
+ imgdata.rawdata.float_image = (float *)imgdata.rawdata.raw_alloc;
364
+ else if (pplanes == 3)
365
+ imgdata.rawdata.float3_image = (float(*)[3])imgdata.rawdata.raw_alloc;
366
+ else if (pplanes == 4)
367
+ imgdata.rawdata.float4_image = (float(*)[4])imgdata.rawdata.raw_alloc;
368
+ break;
369
+
370
+ case ttByte:
371
+ case ttShort:
372
+ if (pplanes == 1)
373
+ imgdata.rawdata.raw_image = (ushort *)imgdata.rawdata.raw_alloc;
374
+ else if (pplanes == 3)
375
+ imgdata.rawdata.color3_image =
376
+ (ushort(*)[3])imgdata.rawdata.raw_alloc;
377
+ else if (pplanes == 4)
378
+ imgdata.rawdata.color4_image =
379
+ (ushort(*)[4])imgdata.rawdata.raw_alloc;
380
+ break;
381
+ default:
382
+ /* do nothing */
383
+ break;
384
+ }
385
+ }
386
+
387
+ if ((ptype == ttFloat) && (imgdata.rawparams.options & LIBRAW_RAWOPTIONS_CONVERTFLOAT_TO_INT))
388
+ {
389
+ convertFloatToInt();
390
+ zerocopy = false;
391
+ }
392
+
393
+ if (zerocopy)
394
+ {
395
+ dng_negative *stolen = negative.Release();
396
+ dngnegative = stolen;
397
+ dng_simple_image *simage = stage2.Release();
398
+ dngimage = simage;
399
+ }
400
+ }
401
+ catch (...)
402
+ {
403
+ return LIBRAW_UNSPECIFIED_ERROR;
404
+ }
405
+
406
+ return (dngnegative || imgdata.rawdata.raw_alloc) ? LIBRAW_SUCCESS : LIBRAW_UNSPECIFIED_ERROR;
407
+ #else
408
+ return LIBRAW_UNSPECIFIED_ERROR;
409
+ #endif
410
+ }
411
+ void LibRaw::set_dng_host(void *p)
412
+ {
413
+ #ifdef USE_DNGSDK
414
+ dnghost = p;
415
+ #endif
416
+ }
@@ -0,0 +1,286 @@
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
+
15
+ #include "../../internal/libraw_cxx_defs.h"
16
+
17
+ #ifdef USE_RAWSPEED
18
+ using namespace RawSpeed;
19
+
20
+ CameraMetaDataLR::CameraMetaDataLR(char *data, int sz) : CameraMetaData()
21
+ {
22
+ ctxt = xmlNewParserCtxt();
23
+ if (ctxt == NULL)
24
+ {
25
+ ThrowCME("CameraMetaData:Could not initialize context.");
26
+ }
27
+
28
+ xmlResetLastError();
29
+ doc = xmlCtxtReadMemory(ctxt, data, sz, "", NULL, XML_PARSE_DTDVALID);
30
+
31
+ if (doc == NULL)
32
+ {
33
+ ThrowCME("CameraMetaData: XML Document could not be parsed successfully. "
34
+ "Error was: %s",
35
+ ctxt->lastError.message);
36
+ }
37
+
38
+ if (ctxt->valid == 0)
39
+ {
40
+ if (ctxt->lastError.code == 0x5e)
41
+ {
42
+ // ignore this error code
43
+ }
44
+ else
45
+ {
46
+ ThrowCME("CameraMetaData: XML file does not validate. DTD Error was: %s",
47
+ ctxt->lastError.message);
48
+ }
49
+ }
50
+
51
+ xmlNodePtr cur;
52
+ cur = xmlDocGetRootElement(doc);
53
+ if (xmlStrcmp(cur->name, (const xmlChar *)"Cameras"))
54
+ {
55
+ ThrowCME("CameraMetaData: XML document of the wrong type, root node is not "
56
+ "cameras.");
57
+ return;
58
+ }
59
+
60
+ cur = cur->xmlChildrenNode;
61
+ while (cur != NULL)
62
+ {
63
+ if ((!xmlStrcmp(cur->name, (const xmlChar *)"Camera")))
64
+ {
65
+ Camera *camera = new Camera(doc, cur);
66
+ addCamera(camera);
67
+
68
+ // Create cameras for aliases.
69
+ for (unsigned int i = 0; i < camera->aliases.size(); i++)
70
+ {
71
+ addCamera(new Camera(camera, i));
72
+ }
73
+ }
74
+ cur = cur->next;
75
+ }
76
+ if (doc)
77
+ xmlFreeDoc(doc);
78
+ doc = 0;
79
+ if (ctxt)
80
+ xmlFreeParserCtxt(ctxt);
81
+ ctxt = 0;
82
+ }
83
+
84
+ CameraMetaDataLR *make_camera_metadata()
85
+ {
86
+ int len = 0, i;
87
+ for (i = 0; i < RAWSPEED_DATA_COUNT; i++)
88
+ if (_rawspeed_data_xml[i])
89
+ {
90
+ len += int(strlen(_rawspeed_data_xml[i]));
91
+ }
92
+ char *rawspeed_xml =
93
+ (char *)calloc(len + 1, sizeof(_rawspeed_data_xml[0][0]));
94
+ if (!rawspeed_xml)
95
+ return NULL;
96
+ int offt = 0;
97
+ for (i = 0; i < RAWSPEED_DATA_COUNT; i++)
98
+ if (_rawspeed_data_xml[i])
99
+ {
100
+ int ll = int(strlen(_rawspeed_data_xml[i]));
101
+ if (offt + ll > len)
102
+ break;
103
+ memmove(rawspeed_xml + offt, _rawspeed_data_xml[i], ll);
104
+ offt += ll;
105
+ }
106
+ rawspeed_xml[offt] = 0;
107
+ CameraMetaDataLR *ret = NULL;
108
+ try
109
+ {
110
+ ret = new CameraMetaDataLR(rawspeed_xml, offt);
111
+ }
112
+ catch (...)
113
+ {
114
+ // Mask all exceptions
115
+ }
116
+ free(rawspeed_xml);
117
+ return ret;
118
+ }
119
+
120
+ #endif
121
+
122
+ int LibRaw::set_rawspeed_camerafile(char * filename)
123
+ {
124
+ #ifdef USE_RAWSPEED
125
+ try
126
+ {
127
+ CameraMetaDataLR *camerameta = new CameraMetaDataLR(filename);
128
+ if (_rawspeed_camerameta)
129
+ {
130
+ CameraMetaDataLR *d =
131
+ static_cast<CameraMetaDataLR *>(_rawspeed_camerameta);
132
+ delete d;
133
+ }
134
+ _rawspeed_camerameta = static_cast<void *>(camerameta);
135
+ }
136
+ catch (...)
137
+ {
138
+ // just return error code
139
+ return -1;
140
+ }
141
+ #else
142
+ (void)filename;
143
+ #endif
144
+ return 0;
145
+ }
146
+ #ifdef USE_RAWSPEED
147
+ void LibRaw::fix_after_rawspeed(int /*bl*/)
148
+ {
149
+ if (load_raw == &LibRaw::lossy_dng_load_raw)
150
+ C.maximum = 0xffff;
151
+ else if (load_raw == &LibRaw::sony_load_raw)
152
+ C.maximum = 0x3ff0;
153
+ }
154
+ #else
155
+ void LibRaw::fix_after_rawspeed(int) {}
156
+ #endif
157
+
158
+ int LibRaw::try_rawspeed()
159
+ {
160
+ #ifdef USE_RAWSPEED
161
+ int ret = LIBRAW_SUCCESS;
162
+
163
+ #ifdef USE_RAWSPEED_BITS
164
+ int rawspeed_ignore_errors = (imgdata.rawparams.use_rawspeed & LIBRAW_RAWSPEEDV1_IGNOREERRORS);
165
+ #else
166
+ int rawspeed_ignore_errors = 0;
167
+ #endif
168
+ if (imgdata.idata.dng_version && imgdata.idata.colors == 3 &&
169
+ !strcasecmp(imgdata.idata.software,
170
+ "Adobe Photoshop Lightroom 6.1.1 (Windows)"))
171
+ rawspeed_ignore_errors = 1;
172
+
173
+ // RawSpeed Supported,
174
+ INT64 spos = ID.input->tell();
175
+ void *_rawspeed_buffer = 0;
176
+ try
177
+ {
178
+ ID.input->seek(0, SEEK_SET);
179
+ INT64 _rawspeed_buffer_sz = ID.input->size() + 32;
180
+ _rawspeed_buffer = malloc(_rawspeed_buffer_sz);
181
+ if (!_rawspeed_buffer)
182
+ throw LIBRAW_EXCEPTION_ALLOC;
183
+ ID.input->read(_rawspeed_buffer, _rawspeed_buffer_sz, 1);
184
+ FileMap map((uchar8 *)_rawspeed_buffer, _rawspeed_buffer_sz);
185
+ RawParser t(&map);
186
+ RawDecoder *d = 0;
187
+ CameraMetaDataLR *meta =
188
+ static_cast<CameraMetaDataLR *>(_rawspeed_camerameta);
189
+ d = t.getDecoder();
190
+ if (!d)
191
+ throw "Unable to find decoder";
192
+
193
+ #ifdef USE_RAWSPEED_BITS
194
+ if (imgdata.rawparams.use_rawspeed & LIBRAW_RAWSPEEDV1_FAILONUNKNOWN)
195
+ d->failOnUnknown = TRUE;
196
+ else
197
+ d->failOnUnknown = FALSE;
198
+ #endif
199
+ d->interpolateBadPixels = FALSE;
200
+ d->applyStage1DngOpcodes = FALSE;
201
+
202
+ try
203
+ {
204
+ d->checkSupport(meta);
205
+ }
206
+ catch (const RawDecoderException &e)
207
+ {
208
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED_UNSUPPORTED;
209
+ throw e;
210
+ }
211
+ _rawspeed_decoder = static_cast<void *>(d);
212
+ d->decodeRaw();
213
+ d->decodeMetaData(meta);
214
+ RawImage r = d->mRaw;
215
+ if (r->errors.size() > 0 && !rawspeed_ignore_errors)
216
+ {
217
+ delete d;
218
+ _rawspeed_decoder = 0;
219
+ throw 1;
220
+ }
221
+ if (r->isCFA)
222
+ {
223
+ imgdata.rawdata.raw_image = (ushort *)r->getDataUncropped(0, 0);
224
+ }
225
+ else if (r->getCpp() == 4)
226
+ {
227
+ imgdata.rawdata.color4_image = (ushort(*)[4])r->getDataUncropped(0, 0);
228
+ if (r->whitePoint > 0 && r->whitePoint < 65536)
229
+ C.maximum = r->whitePoint;
230
+ }
231
+ else if (r->getCpp() == 3)
232
+ {
233
+ imgdata.rawdata.color3_image = (ushort(*)[3])r->getDataUncropped(0, 0);
234
+ if (r->whitePoint > 0 && r->whitePoint < 65536)
235
+ C.maximum = r->whitePoint;
236
+ }
237
+ else
238
+ {
239
+ delete d;
240
+ _rawspeed_decoder = 0;
241
+ ret = LIBRAW_UNSPECIFIED_ERROR;
242
+ }
243
+ if (_rawspeed_decoder)
244
+ {
245
+ // set sizes
246
+ iPoint2D rsdim = r->getUncroppedDim();
247
+ S.raw_pitch = r->pitch;
248
+ S.raw_width = rsdim.x;
249
+ S.raw_height = rsdim.y;
250
+ // C.maximum = r->whitePoint;
251
+ fix_after_rawspeed(r->blackLevel);
252
+ }
253
+ free(_rawspeed_buffer);
254
+ _rawspeed_buffer = 0;
255
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED_PROCESSED;
256
+ }
257
+ catch (const RawDecoderException &RDE)
258
+ {
259
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED_PROBLEM;
260
+ if (_rawspeed_buffer)
261
+ {
262
+ free(_rawspeed_buffer);
263
+ _rawspeed_buffer = 0;
264
+ }
265
+ if (!strncmp(RDE.what(), "Decoder canceled", strlen("Decoder canceled")))
266
+ throw LIBRAW_EXCEPTION_CANCELLED_BY_CALLBACK;
267
+ ret = LIBRAW_UNSPECIFIED_ERROR;
268
+ }
269
+ catch (...)
270
+ {
271
+ // We may get here due to cancellation flag
272
+ imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED_PROBLEM;
273
+ if (_rawspeed_buffer)
274
+ {
275
+ free(_rawspeed_buffer);
276
+ _rawspeed_buffer = 0;
277
+ }
278
+ ret = LIBRAW_UNSPECIFIED_ERROR;
279
+ }
280
+ ID.input->seek(spos, SEEK_SET);
281
+
282
+ return ret;
283
+ #else
284
+ return LIBRAW_NOT_IMPLEMENTED;
285
+ #endif
286
+ }