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,69 @@
1
+ # About RawSpeed v3
2
+
3
+ The current version of the RawSpeed library (https://github.com/darktable-org/rawspeed ) does not have a version number, we call it "version 3" to distinguish it from RawSpeed/master, the version number is taken from darktable 3.x (which uses this library).
4
+
5
+ This library provides faster decoding of some RAW formats (even faster than RawSpeed v1), the difference can be tens of percent (without using OpenMP) for Huffman-compressed files (Canon CR2, Nikon NEF, etc).
6
+
7
+ Unfortunately, the RawSpeed-v3 source code is constantly changing and this is due not so much to the development of the library (support for new cameras, formats, etc.), but to the fact that the current maintainer is using it as an aid in self-development as a programmer.
8
+
9
+ They are extremely reluctant to accept 3rd-party patches to this library, therefore, the fixes necessary for correct work with LibRaw have been added to the LibRaw distribution (see below). All our patches, of course, are suitable only for a specific version (commit-id) of RawSpeed-v3, if you want to use a different version, you will have to adjust them.
10
+
11
+ # Building RawSpeed v3 and C-API wrapper
12
+
13
+ ## Preparing the source
14
+ 1. Take a specific commit from github
15
+ https://github.com/darktable-org/rawspeed/commit/de70ef5fbc62cde91009c8cff7a206272abe631e
16
+
17
+ 2. Apply the following patches from LibRaw/RawSpeed3/patches folder:
18
+ * **01.CameraMeta-extensibility.patch** - allows derived classes from CameraMeta, which allows loading camera descriptions not only from a disk file.
19
+ * **02.Makernotes-processing.patch** - fixes an error in processing the Makernotes tag.
20
+ * **03.remove-limits-and-logging.patch** - removes debug printing and file size limits. This patch is optional, but if you are going to decode files from cameras that were not available at the time a particular version of RawSpeed was created, then this patch can be useful.
21
+ * **04.clang-cl-compatibility.patch -** fixes for compatibility with Microsoft C++ library.
22
+
23
+ ## Building the RawSpeed-v3 library
24
+
25
+ We **do not** offer advice on building RawSpeed3, if you need such advice please contact the maintainer of the library. At a minimum, it **can be** compiled with Clang (XCode) on macOS and clang-cl (MSVC) on Windows.
26
+
27
+ Use your favorite build system. Files for CMake come with RawSpeed, but any other build system can be used (in that case you probably will need to create your own rawspeedconfig.h instead of one created via CMake).
28
+
29
+ In our projects we use RawSpeed-v3 without OpenMP.
30
+
31
+ ## Building the C-API wrapper
32
+ To simplify the integration with LibRaw, we have implemented a simple wrapper with a C interface, which hides everything unnecessary, thus:
33
+ * To build LibRaw (with RawSpeed-v3 support) you do not need access to RawSpeed .h-files
34
+ * When building LibRaw and RawSpeed-v3 using different compilers there is no issue with C++ name mangling.
35
+
36
+ The wrapper sources are in the **LibRaw/RawSpeed3/rawspeed3_c_api folder**, they include four files:
37
+ 1. **rawspeed3_capi.h** - header file
38
+ 2. **rawspeed3_capi.cpp** - wrapper sources
39
+ 3. **rsxml2c.sh** - shell script that will convert RawSpeed/data/cameras.xml to a C++ file containing camera definitions
40
+ 4. **rawspeed3_capi_test.cpp** - test program for checking the build correctness and operation ability.
41
+
42
+ The wrapper provides simple *decode only* interface (init library, decode RAW passed via buffer, free decoded file buffer, release the library) it is self-documented via comments in the rawspeed3_capi.h file.
43
+
44
+ To make a file with camera definitions, run the command (you can add it to the build system):
45
+ `sh ./rawspeed3_c_api/rsxml2c.sh < path/to/RawSpeed/data/cameras.xml > rawspeed3_c_api/cameras.cpp`
46
+
47
+ The **rsxml2c.sh** script requires **cat**, **tr**, and **sed** unix command-line utilities installed, there is no specific version requirements.
48
+
49
+ Add the resulting file (LibRaw/RawSpeed3/rawspeed3_c_api/cameras.cpp) and LibRaw/RawSpeed3/rawspeed3_c_api/rawspeed3_capi.cpp, to the build of the RawSpeed-v3 (dynamic) library, which you learned to build in the previous step.
50
+ If building Windows DLL: rawspeed3_capi.cpp should be compiled with -DRAWSPEED_BUILDLIB to create dll export entries automatically.
51
+
52
+ To check that everything works, you can use the LibRaw/RawSpeed3/rawspeed3_c_api/rawspeed3_capi_test.cpp test program, it should be possible to build it and link with RawSpeed-v3 (+ C-API); and after that this test program should be ready to decode RAW files passed to it from command line.
53
+
54
+ # Building LibRaw with RawSpeed-v3 support
55
+ When building, specify the following parameters
56
+ * LibRaw/RawSpeed3/rawspeed3_c_api to the search path for include files
57
+ * Specify preprocessor flags -DUSE_RAWSPEED3 -DUSE_RAWSPEED_BITS:
58
+ * USE_RAWSPEED3 enables the use of RawSpeed-v3
59
+ * USE_RAWSPEED_BITS enables (a more granulated) control of RawSpeed-v3 / RawSpeed processing
60
+ * set the RawSpeed-v3 (+ C-API) library, obtained in the previous steps, as an input linker file
61
+
62
+ # Using LibRaw with RawSpeed-v3 Support
63
+ Use LibRaw as usual. Enable RawSpeed3 use by setting bits in imgdata.rawparams.userawspeed (LIBRAW_RAWSPEEDV3_USE, LIBRAW_RAWSPEEDV3_IGNOREERRORS, LIBRAW_RAWSPEEDV3_FAILONUNKNOWN)
64
+ If RawSpeed was set as the decoder the following bits will be set in imgdata.processwarnings:
65
+ * LIBRAW_WARN_RAWSPEED3_PROCESSED - if decoding was successful
66
+ * LIBRAW_WARN_RAWSPEED3_PROBLEM - if decoding attempt failed
67
+ (flags and bits are described in LibRaw's Changelog)
68
+
69
+ With RawSpeed-v3, the entire RAW file is read into the memory buffer (as it is with RawSpeed version 1), so it increases LibRaw memory footprint.
@@ -0,0 +1,13 @@
1
+ diff --git a/src/librawspeed/metadata/CameraMetaData.h b/src/librawspeed/metadata/CameraMetaData.h
2
+ index c2f6f1dd..13cab9c9 100644
3
+ --- a/src/librawspeed/metadata/CameraMetaData.h
4
+ +++ b/src/librawspeed/metadata/CameraMetaData.h
5
+ @@ -41,7 +41,7 @@ struct CameraId {
6
+ }
7
+ };
8
+
9
+ -class CameraMetaData {
10
+ +class CameraMetaData final {
11
+ public:
12
+ CameraMetaData() = default;
13
+
@@ -0,0 +1,36 @@
1
+ diff --git a/src/librawspeed/tiff/TiffIFD.cpp b/src/librawspeed/tiff/TiffIFD.cpp
2
+ index e732eae2..05251dd9 100644
3
+ --- a/src/librawspeed/tiff/TiffIFD.cpp
4
+ +++ b/src/librawspeed/tiff/TiffIFD.cpp
5
+ @@ -143,6 +143,7 @@ TiffRootIFDOwner TiffIFD::parseMakerNote(NORangesSet<Buffer>* ifds,
6
+ string make = makeEntry != nullptr ? trimSpaces(makeEntry->getString()) : "";
7
+
8
+ ByteStream bs = t->getData();
9
+ + auto bufbegin = bs.begin() + bs.getPosition();
10
+
11
+ // helper function for easy setup of ByteStream buffer for the different maker note types
12
+ // 'rebase' means position 0 of new stream equals current position
13
+ @@ -159,7 +160,9 @@ TiffRootIFDOwner TiffIFD::parseMakerNote(NORangesSet<Buffer>* ifds,
14
+ bs.skipBytes(newPosition);
15
+ };
16
+
17
+ - if (bs.hasPrefix("AOC\0", 4)) {
18
+ + if (bs.hasPrefix("LSI1\0", 5)) { // Skip LSI1 makernotes
19
+ + return std::make_unique<TiffRootIFD>(this, ifds, bs, UINT32_MAX); // UINT32_MAX offset => special handling, empty IFD
20
+ + } else if (bs.hasPrefix("AOC\0", 4)) {
21
+ setup(false, 6, 4, "Pentax makernote");
22
+ } else if (bs.hasPrefix("PENTAX", 6)) {
23
+ setup(true, 10, 8, "Pentax makernote");
24
+ @@ -197,6 +200,12 @@ TiffRootIFDOwner TiffIFD::parseMakerNote(NORangesSet<Buffer>* ifds,
25
+ }
26
+ }
27
+
28
+ + auto readed = bs.begin() - bufbegin + bs.getPosition();
29
+ + ByteStream bscheck(bs);
30
+ + const auto IFDSize = 6 + 12 * bscheck.getU16();
31
+ +
32
+ + if(IFDSize > t->count - readed) // IFDSize too big, probably binary Makernotes dir, not TIFF-like, could not be handled by TiffRootIFD reader
33
+ + return std::make_unique<TiffRootIFD>(this, ifds, bs, UINT32_MAX); // // UINT32_MAX offset => special handling, empty IFD
34
+ // Attempt to parse the rest as an IFD
35
+ return std::make_unique<TiffRootIFD>(this, ifds, bs, bs.getPosition());
36
+ }
@@ -0,0 +1,245 @@
1
+ diff --git a/src/librawspeed/common/Common.cpp b/src/librawspeed/common/Common.cpp
2
+ index 8c8c5663..d9b5e463 100644
3
+ --- a/src/librawspeed/common/Common.cpp
4
+ +++ b/src/librawspeed/common/Common.cpp
5
+ @@ -36,6 +36,7 @@ writeLog(DEBUG_PRIO priority, const char* format, ...) {
6
+ #else
7
+
8
+ void writeLog(DEBUG_PRIO priority, const char* format, ...) {
9
+ +#if 0
10
+ #ifndef _DEBUG
11
+ if (priority < DEBUG_PRIO_INFO)
12
+ #endif // _DEBUG
13
+ @@ -55,6 +56,7 @@ void writeLog(DEBUG_PRIO priority, const char* format, ...) {
14
+ if (priority < DEBUG_PRIO_INFO)
15
+ #endif // _DEBUG
16
+ fprintf(stdout, "%s", "\n");
17
+ +#endif
18
+ }
19
+
20
+ #endif
21
+ diff --git a/src/librawspeed/common/RawspeedException.h b/src/librawspeed/common/RawspeedException.h
22
+ index 33b9cc29..a9f503a7 100644
23
+ --- a/src/librawspeed/common/RawspeedException.h
24
+ +++ b/src/librawspeed/common/RawspeedException.h
25
+ @@ -45,12 +45,13 @@ template <typename T>
26
+ "Don't have thread-local-storage! Exception text may be garbled if used multithreaded"
27
+ static char buf[bufSize];
28
+ #endif
29
+ -
30
+ +#if 0
31
+ va_list val;
32
+ va_start(val, fmt);
33
+ vsnprintf(buf.data(), sizeof(buf), fmt, val);
34
+ va_end(val);
35
+ writeLog(DEBUG_PRIO_EXTRA, "EXCEPTION: %s", buf.data());
36
+ +#endif
37
+ throw T(buf.data());
38
+ }
39
+
40
+ diff --git a/src/librawspeed/decoders/ArwDecoder.cpp b/src/librawspeed/decoders/ArwDecoder.cpp
41
+ index f1d5a63c..2025d260 100644
42
+ --- a/src/librawspeed/decoders/ArwDecoder.cpp
43
+ +++ b/src/librawspeed/decoders/ArwDecoder.cpp
44
+ @@ -186,8 +186,8 @@ RawImage ArwDecoder::decodeRawInternal() {
45
+ }
46
+ }
47
+
48
+ - if (width == 0 || height == 0 || height % 2 != 0 || width > 9600 ||
49
+ - height > 6376)
50
+ + if (width == 0 || height == 0 || height % 2 != 0 /* || width > 9600 ||
51
+ + height > 6376 */)
52
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
53
+
54
+ bool arw1 = uint64_t(counts->getU32()) * 8 != width * height * bitPerPixel;
55
+ @@ -241,7 +241,7 @@ void ArwDecoder::DecodeUncompressed(const TiffIFD* raw) {
56
+
57
+ mRaw->dim = iPoint2D(width, height);
58
+
59
+ - if (width == 0 || height == 0 || width > 9600 || height > 6376)
60
+ + if (width == 0 || height == 0 /* || width > 9600 || height > 6376 */)
61
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
62
+
63
+ if (c2 == 0)
64
+ diff --git a/src/librawspeed/decoders/IiqDecoder.cpp b/src/librawspeed/decoders/IiqDecoder.cpp
65
+ index 31c460d9..61b04e1a 100644
66
+ --- a/src/librawspeed/decoders/IiqDecoder.cpp
67
+ +++ b/src/librawspeed/decoders/IiqDecoder.cpp
68
+ @@ -185,7 +185,7 @@ RawImage IiqDecoder::decodeRawInternal() {
69
+ }
70
+
71
+ // FIXME: could be wrong. max "active pixels" in "Sensor+" mode - "101 MP"
72
+ - if (width == 0 || height == 0 || width > 11976 || height > 8854)
73
+ + if (width == 0 || height == 0 /* || width > 11976 || height > 8854 */)
74
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
75
+
76
+ if (split_col > width || split_row > height)
77
+ diff --git a/src/librawspeed/decoders/MosDecoder.cpp b/src/librawspeed/decoders/MosDecoder.cpp
78
+ index 9f01a11c..db4b8f50 100644
79
+ --- a/src/librawspeed/decoders/MosDecoder.cpp
80
+ +++ b/src/librawspeed/decoders/MosDecoder.cpp
81
+ @@ -113,7 +113,7 @@ RawImage MosDecoder::decodeRawInternal() {
82
+ uint32_t height = raw->getEntry(IMAGELENGTH)->getU32();
83
+
84
+ // FIXME: could be wrong. max "active pixels" - "80 MP"
85
+ - if (width == 0 || height == 0 || width > 10328 || height > 7760)
86
+ + if (width == 0 || height == 0 /* || width > 10328 || height > 7760 */)
87
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
88
+
89
+ mRaw->dim = iPoint2D(width, height);
90
+ diff --git a/src/librawspeed/decoders/NefDecoder.cpp b/src/librawspeed/decoders/NefDecoder.cpp
91
+ index 222c62f0..7314ca15 100644
92
+ --- a/src/librawspeed/decoders/NefDecoder.cpp
93
+ +++ b/src/librawspeed/decoders/NefDecoder.cpp
94
+ @@ -214,7 +214,7 @@ void NefDecoder::DecodeUncompressed() {
95
+
96
+ mRaw->dim = iPoint2D(width, height);
97
+
98
+ - if (width == 0 || height == 0 || width > 8288 || height > 5520)
99
+ + if (width == 0 || height == 0 /* || width > 8288 || height > 5520 */)
100
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
101
+
102
+ if (counts->count != offsets->count) {
103
+ @@ -370,8 +370,8 @@ void NefDecoder::DecodeSNefUncompressed() {
104
+ uint32_t width = raw->getEntry(IMAGEWIDTH)->getU32();
105
+ uint32_t height = raw->getEntry(IMAGELENGTH)->getU32();
106
+
107
+ - if (width == 0 || height == 0 || width % 2 != 0 || width > 3680 ||
108
+ - height > 2456)
109
+ + if (width == 0 || height == 0 || width % 2 != 0 /* || width > 3680 ||
110
+ + height > 2456 */)
111
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
112
+
113
+ mRaw->dim = iPoint2D(width, height);
114
+ diff --git a/src/librawspeed/decoders/OrfDecoder.cpp b/src/librawspeed/decoders/OrfDecoder.cpp
115
+ index 7eb1a901..de557d5f 100644
116
+ --- a/src/librawspeed/decoders/OrfDecoder.cpp
117
+ +++ b/src/librawspeed/decoders/OrfDecoder.cpp
118
+ @@ -109,7 +109,7 @@ RawImage OrfDecoder::decodeRawInternal() {
119
+ uint32_t width = raw->getEntry(IMAGEWIDTH)->getU32();
120
+ uint32_t height = raw->getEntry(IMAGELENGTH)->getU32();
121
+
122
+ - if (!width || !height || width % 2 != 0 || width > 10400 || height > 7796)
123
+ + if (!width || !height || width % 2 != 0 /* || width > 10400 || height > 7796 */ )
124
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
125
+
126
+ mRaw->dim = iPoint2D(width, height);
127
+ diff --git a/src/librawspeed/decoders/RafDecoder.cpp b/src/librawspeed/decoders/RafDecoder.cpp
128
+ index 5baf02b9..27e67e7a 100644
129
+ --- a/src/librawspeed/decoders/RafDecoder.cpp
130
+ +++ b/src/librawspeed/decoders/RafDecoder.cpp
131
+ @@ -79,7 +79,7 @@ RawImage RafDecoder::decodeRawInternal() {
132
+ } else
133
+ ThrowRDE("Unable to locate image size");
134
+
135
+ - if (width == 0 || height == 0 || width > 11808 || height > 8754)
136
+ + if (width == 0 || height == 0 /* || width > 11808 || height > 8754 */ )
137
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
138
+
139
+ if (raw->hasEntry(FUJI_LAYOUT)) {
140
+ @@ -334,7 +334,7 @@ int RafDecoder::isCompressed() {
141
+ } else
142
+ ThrowRDE("Unable to locate image size");
143
+
144
+ - if (width == 0 || height == 0 || width > 11808 || height > 8754)
145
+ + if (width == 0 || height == 0 /* || width > 11808 || height > 8754 */)
146
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
147
+
148
+ uint32_t count = raw->getEntry(FUJI_STRIPBYTECOUNTS)->getU32();
149
+ diff --git a/src/librawspeed/decoders/RawDecoder.cpp b/src/librawspeed/decoders/RawDecoder.cpp
150
+ index a69727f6..e5315a42 100644
151
+ --- a/src/librawspeed/decoders/RawDecoder.cpp
152
+ +++ b/src/librawspeed/decoders/RawDecoder.cpp
153
+ @@ -62,7 +62,7 @@ void RawDecoder::decodeUncompressed(const TiffIFD *rawIFD, BitOrder order) {
154
+ uint32_t height = rawIFD->getEntry(IMAGELENGTH)->getU32();
155
+ uint32_t bitPerPixel = rawIFD->getEntry(BITSPERSAMPLE)->getU32();
156
+
157
+ - if (width == 0 || height == 0 || width > 5632 || height > 3720)
158
+ + if (width == 0 || height == 0 /* || width > 5632 || height > 3720 */)
159
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
160
+
161
+ mRaw->dim = iPoint2D(width, height);
162
+ diff --git a/src/librawspeed/decoders/Rw2Decoder.cpp b/src/librawspeed/decoders/Rw2Decoder.cpp
163
+ index 0e9d111d..a54de998 100644
164
+ --- a/src/librawspeed/decoders/Rw2Decoder.cpp
165
+ +++ b/src/librawspeed/decoders/Rw2Decoder.cpp
166
+ @@ -72,7 +72,7 @@ RawImage Rw2Decoder::decodeRawInternal() {
167
+ uint32_t width = raw->getEntry(static_cast<TiffTag>(2))->getU16();
168
+
169
+ if (isOldPanasonic) {
170
+ - if (width == 0 || height == 0 || width > 4330 || height > 2751)
171
+ + if (width == 0 || height == 0 /* || width > 4330 || height > 2751 */)
172
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", width, height);
173
+
174
+ TiffEntry *offsets = raw->getEntry(STRIPOFFSETS);
175
+ diff --git a/src/librawspeed/decompressors/HasselbladDecompressor.cpp b/src/librawspeed/decompressors/HasselbladDecompressor.cpp
176
+ index 0d650065..aaa70fb5 100644
177
+ --- a/src/librawspeed/decompressors/HasselbladDecompressor.cpp
178
+ +++ b/src/librawspeed/decompressors/HasselbladDecompressor.cpp
179
+ @@ -41,8 +41,8 @@ HasselbladDecompressor::HasselbladDecompressor(const ByteStream& bs,
180
+ ThrowRDE("Unexpected component count / data type");
181
+
182
+ // FIXME: could be wrong. max "active pixels" - "100 MP"
183
+ - if (mRaw->dim.x == 0 || mRaw->dim.y == 0 || mRaw->dim.x % 2 != 0 ||
184
+ - mRaw->dim.x > 12000 || mRaw->dim.y > 8816) {
185
+ + if (mRaw->dim.x == 0 || mRaw->dim.y == 0 || mRaw->dim.x % 2 != 0 /* ||
186
+ + mRaw->dim.x > 12000 || mRaw->dim.y > 8816 */) {
187
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", mRaw->dim.x,
188
+ mRaw->dim.y);
189
+ }
190
+ diff --git a/src/librawspeed/decompressors/NikonDecompressor.cpp b/src/librawspeed/decompressors/NikonDecompressor.cpp
191
+ index ca39cd0a..54568243 100644
192
+ --- a/src/librawspeed/decompressors/NikonDecompressor.cpp
193
+ +++ b/src/librawspeed/decompressors/NikonDecompressor.cpp
194
+ @@ -442,8 +442,8 @@ NikonDecompressor::NikonDecompressor(const RawImage& raw, ByteStream metadata,
195
+ mRaw->getBpp() != sizeof(uint16_t))
196
+ ThrowRDE("Unexpected component count / data type");
197
+
198
+ - if (mRaw->dim.x == 0 || mRaw->dim.y == 0 || mRaw->dim.x % 2 != 0 ||
199
+ - mRaw->dim.x > 8288 || mRaw->dim.y > 5520)
200
+ + if (mRaw->dim.x == 0 || mRaw->dim.y == 0 || mRaw->dim.x % 2 != 0 /* ||
201
+ + mRaw->dim.x > 8288 || mRaw->dim.y > 5520 */)
202
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", mRaw->dim.x,
203
+ mRaw->dim.y);
204
+
205
+ diff --git a/src/librawspeed/decompressors/OlympusDecompressor.cpp b/src/librawspeed/decompressors/OlympusDecompressor.cpp
206
+ index b859b562..dc8aa0bc 100644
207
+ --- a/src/librawspeed/decompressors/OlympusDecompressor.cpp
208
+ +++ b/src/librawspeed/decompressors/OlympusDecompressor.cpp
209
+ @@ -56,7 +56,7 @@ OlympusDecompressor::OlympusDecompressor(const RawImage& img) : mRaw(img) {
210
+ const uint32_t w = mRaw->dim.x;
211
+ const uint32_t h = mRaw->dim.y;
212
+
213
+ - if (w == 0 || h == 0 || w % 2 != 0 || w > 10400 || h > 7792)
214
+ + if (w == 0 || h == 0 || w % 2 != 0 /* || w > 10400 || h > 7792 */)
215
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", w, h);
216
+ }
217
+
218
+ diff --git a/src/librawspeed/decompressors/PentaxDecompressor.cpp b/src/librawspeed/decompressors/PentaxDecompressor.cpp
219
+ index 11b1d677..c2adc2e6 100644
220
+ --- a/src/librawspeed/decompressors/PentaxDecompressor.cpp
221
+ +++ b/src/librawspeed/decompressors/PentaxDecompressor.cpp
222
+ @@ -49,8 +49,8 @@ PentaxDecompressor::PentaxDecompressor(const RawImage& img,
223
+ mRaw->getBpp() != sizeof(uint16_t))
224
+ ThrowRDE("Unexpected component count / data type");
225
+
226
+ - if (!mRaw->dim.x || !mRaw->dim.y || mRaw->dim.x % 2 != 0 ||
227
+ - mRaw->dim.x > 8384 || mRaw->dim.y > 6208) {
228
+ + if (!mRaw->dim.x || !mRaw->dim.y || mRaw->dim.x % 2 != 0 /* ||
229
+ + mRaw->dim.x > 8384 || mRaw->dim.y > 6208 */) {
230
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", mRaw->dim.x,
231
+ mRaw->dim.y);
232
+ }
233
+ diff --git a/src/librawspeed/decompressors/SonyArw2Decompressor.cpp b/src/librawspeed/decompressors/SonyArw2Decompressor.cpp
234
+ index 8f935d9c..3cbc7e26 100644
235
+ --- a/src/librawspeed/decompressors/SonyArw2Decompressor.cpp
236
+ +++ b/src/librawspeed/decompressors/SonyArw2Decompressor.cpp
237
+ @@ -45,7 +45,7 @@ SonyArw2Decompressor::SonyArw2Decompressor(const RawImage& img,
238
+ const uint32_t w = mRaw->dim.x;
239
+ const uint32_t h = mRaw->dim.y;
240
+
241
+ - if (w == 0 || h == 0 || w % 32 != 0 || w > 9600 || h > 6376)
242
+ + if (w == 0 || h == 0 || w % 32 != 0 /* || w > 9600 || h > 6376 */)
243
+ ThrowRDE("Unexpected image dimensions found: (%u; %u)", w, h);
244
+
245
+ // 1 byte per pixel
@@ -0,0 +1,37 @@
1
+ diff --git a/src/librawspeed/common/DefaultInitAllocatorAdaptor.h b/src/librawspeed/common/DefaultInitAllocatorAdaptor.h
2
+ index 2ff8969e..fa18c312 100644
3
+ --- a/src/librawspeed/common/DefaultInitAllocatorAdaptor.h
4
+ +++ b/src/librawspeed/common/DefaultInitAllocatorAdaptor.h
5
+ @@ -27,8 +27,12 @@
6
+ namespace rawspeed {
7
+
8
+ template <typename T, typename ActualAllocator = std::allocator<T>,
9
+ - typename = std::enable_if_t<std::is_pod<T>::value>>
10
+ -class DefaultInitAllocatorAdaptor {
11
+ +#ifdef _MSC_VER
12
+ + typename = std::enable_if_t<true>>
13
+ +#else
14
+ + typename = std::enable_if_t<std::is_pod<T>::value >>
15
+ +#endif
16
+ + class DefaultInitAllocatorAdaptor {
17
+ public:
18
+ using allocator_traits = std::allocator_traits<ActualAllocator>;
19
+
20
+ diff --git a/src/librawspeed/decompressors/VC5Decompressor.cpp b/src/librawspeed/decompressors/VC5Decompressor.cpp
21
+ index c498ac3a..de4ae412 100644
22
+ --- a/src/librawspeed/decompressors/VC5Decompressor.cpp
23
+ +++ b/src/librawspeed/decompressors/VC5Decompressor.cpp
24
+ @@ -398,7 +398,12 @@ VC5Decompressor::VC5Decompressor(ByteStream bs, const RawImage& img)
25
+ wavelet.height = waveletHeight;
26
+
27
+ wavelet.bands.resize(
28
+ - &wavelet == channel.wavelets.begin() ? 1 : Wavelet::maxBands);
29
+ +#ifdef _MSC_VER
30
+ + Wavelet::maxBands
31
+ +#else
32
+ + &wavelet == channel.wavelets.begin() ? 1 : Wavelet::maxBands
33
+ +#endif
34
+ + );
35
+ }
36
+ }
37
+
@@ -0,0 +1,251 @@
1
+ #include "rawspeed3_capi.h"
2
+ #include "RawSpeed-API.h"
3
+ #define HAVE_PUGIXML
4
+ #include <../pugixml/pugixml.hpp> // for xml_document, xml_pars...
5
+
6
+ extern const char* _rawspeed3_data_xml;
7
+
8
+ class rawspeed3_handle_data
9
+ {
10
+ public:
11
+ rawspeed3_handle_data(const char* cameradefs, bool is_file);
12
+ void release();
13
+ int decodefile(rawspeed3_ret_t* resultp, const void *data, size_t datasize, bool allowunknown);
14
+ ~rawspeed3_handle_data();
15
+ private:
16
+ std::unique_ptr <rawspeed::CameraMetaData> cameraMeta;
17
+ std::unique_ptr<rawspeed::RawParser> rawParser;
18
+ std::unique_ptr<rawspeed::RawDecoder> rawDecoder;
19
+ };
20
+
21
+
22
+ /* API calls */
23
+
24
+ extern "C"
25
+ {
26
+
27
+ /*
28
+ void rawspeed3_clearresult(rawspeed3_ret_t* r)
29
+
30
+ Clears (inits) results structure
31
+ */
32
+ DllDef void rawspeed3_clearresult(rawspeed3_ret_t* r)
33
+ {
34
+ if(!r) return;
35
+ r->width = r->height = r->bpp = r->cpp = 0;
36
+ r->status = rawspeed_inited;
37
+ r->pitch = r->filters = 0;
38
+ r->pixeldata = nullptr;
39
+ }
40
+
41
+ /*
42
+ rawspeed3_init()
43
+ Init rawspeed3 Camera, returns: 0 on failure, pointer to data block on success
44
+ Cameradefs: cameras.xml in string (is_file == false) or file (is_file == true)
45
+ */
46
+
47
+ DllDef rawspeed3_handle_t rawspeed3_init(const char* cameradefs, bool is_file)
48
+ {
49
+ /* Create rawspeed3_handle_data and return it as void document */
50
+ if(!cameradefs) return nullptr;
51
+ try
52
+ {
53
+ /* code */
54
+ auto *handle = new rawspeed3_handle_data(cameradefs, is_file);
55
+ return (void*)handle;
56
+ }
57
+ catch(const std::exception& e)
58
+ {
59
+ return nullptr;
60
+ }
61
+ }
62
+
63
+ /*
64
+ rawspeed3_initdefault()
65
+ Init rawspeed3 Cameradefs with built-in cameras.xml (converted to _rawspeed3_data_xml),
66
+ returns: 0 on failure, pointer to data block on success
67
+ */
68
+
69
+ DllDef rawspeed3_handle_t rawspeed3_initdefault()
70
+ {
71
+ return rawspeed3_init(_rawspeed3_data_xml,false);
72
+ }
73
+
74
+ /*
75
+ rawspeed3_decodefile(..)
76
+ parse/decode RAW file passed via memory
77
+ Parameters:
78
+ handle - rawspeed3_handle_t => handle created by rawspeed3_init()
79
+ resultp -> pointer to rawspeed3_ret_t to be filled with
80
+ data -> data buffer with raw file
81
+ datasize -> size of this buffer
82
+ allowunknown -> allow to process unknown cameras (not listed in cameras.xml)
83
+ Return values:
84
+ 0 -> OK
85
+ >=1 -> decode error
86
+ -1 -> Incorrect parameters passed (handle, or data, or datasize)
87
+ */
88
+
89
+ DllDef int rawspeed3_decodefile(rawspeed3_handle_t handle, rawspeed3_ret_t* resultp,
90
+ const void *data, size_t datasize, bool allowunknown)
91
+ {
92
+ if(!handle || !resultp || !data || datasize > 2UL * 1024UL * 1024UL * 1024UL)
93
+ {
94
+ if(resultp)
95
+ resultp->status = rawspeed3_param_error;
96
+ return -1;
97
+ }
98
+ rawspeed3_clearresult(resultp);
99
+ auto *p = static_cast<rawspeed3_handle_data*>(handle);
100
+ return p->decodefile(resultp,data,datasize,allowunknown);
101
+ }
102
+
103
+ /*
104
+ void rawspeed3_release(rawspeed3_handle_t handle)
105
+
106
+ release internal raw data buffer and error code;
107
+ */
108
+
109
+ /* release internal raw data buffer and errmessage (if any) */
110
+ DllDef void rawspeed3_release(rawspeed3_handle_t handle)
111
+ {
112
+ if(!handle) return;
113
+ auto *p = static_cast<rawspeed3_handle_data*>(handle);
114
+ p->release();
115
+ }
116
+
117
+ /* close handle: release all internal data */
118
+ DllDef void rawspeed3_close(rawspeed3_handle_t handle)
119
+ {
120
+ if(!handle) return;
121
+ auto *p = static_cast<rawspeed3_handle_data*>(handle);
122
+ delete p;
123
+ }
124
+
125
+ } /* extern "C" */
126
+
127
+ // == Implementation
128
+
129
+ int rawspeed3_handle_data::decodefile(rawspeed3_ret_t* resultp,
130
+ const void *data, size_t datasize, bool allowunknown)
131
+ {
132
+ if(!cameraMeta)
133
+ {
134
+ resultp->status = rawspeed3_not_inited;
135
+ return rawspeed3_not_inited;
136
+ }
137
+ try
138
+ {
139
+ rawspeed::Buffer buffer( static_cast<const uint8_t*>(data),datasize);
140
+ release();
141
+ rawParser = std::make_unique<rawspeed::RawParser>(buffer);
142
+ auto d(rawParser->getDecoder(cameraMeta.get()));
143
+ if(!d)
144
+ {
145
+ resultp->status = rawspeed3_no_decoder;
146
+ return rawspeed3_no_decoder;
147
+ }
148
+
149
+ d->applyCrop = false;
150
+ d->failOnUnknown = !allowunknown;
151
+ d->interpolateBadPixels = false;
152
+ d->applyStage1DngOpcodes = false;
153
+ d->fujiRotate = false;
154
+ d->applyCrop = false;
155
+
156
+ try {
157
+ d->checkSupport(cameraMeta.get());
158
+ } catch (...) {
159
+ release();
160
+ resultp->status = rawspeed3_not_supported;
161
+ return resultp->status;
162
+ }
163
+
164
+ rawspeed::RawImage r = d->mRaw;
165
+ d->decodeMetaData(cameraMeta.get());
166
+
167
+ d->checkSupport(cameraMeta.get());
168
+ d->decodeRaw();
169
+ d->decodeMetaData(cameraMeta.get());
170
+ r = d->mRaw;
171
+
172
+ rawDecoder = std::move(d);
173
+ // we're here w/o exceptions: success
174
+ const rawspeed::iPoint2D dimUncropped = r->getUncroppedDim();
175
+ resultp->width = dimUncropped.x;
176
+ resultp->height = dimUncropped.y;
177
+ resultp->filters = r->cfa.getDcrawFilter();
178
+ resultp->cpp = r->getCpp();
179
+ resultp->bpp = r->getBpp();
180
+ resultp->pitch = r->pitch;
181
+ resultp->pixeldata = r->getDataUncropped(0,0);
182
+ const auto errors = r->getErrors();
183
+ resultp->status = errors.empty()? rawspeed3_ok : rawspeed3_ok_warnings;
184
+ return resultp->status;
185
+ /* code */
186
+ }
187
+ catch(...)
188
+ {
189
+ resultp->status = rawspeed3_processing_error;
190
+ return rawspeed3_processing_error;
191
+ }
192
+ }
193
+
194
+ namespace rawspeed
195
+ {
196
+ class CameraMetaDataFromMem : public CameraMetaData
197
+ {
198
+ public:
199
+ explicit CameraMetaDataFromMem(const char* xmlstring);
200
+ };
201
+ }
202
+
203
+
204
+ rawspeed3_handle_data::rawspeed3_handle_data(const char* cameradefs, bool is_file)
205
+ : rawParser(nullptr)
206
+ {
207
+ cameraMeta = is_file ? std::make_unique<rawspeed::CameraMetaData>(cameradefs)
208
+ : std::make_unique <rawspeed::CameraMetaDataFromMem>(cameradefs);
209
+ }
210
+ rawspeed3_handle_data::~rawspeed3_handle_data()
211
+ {
212
+ release();
213
+ cameraMeta.reset();
214
+ }
215
+
216
+ void rawspeed3_handle_data::release()
217
+ {
218
+ if(rawDecoder)
219
+ rawDecoder.reset();
220
+ if (rawParser)
221
+ rawParser.reset();
222
+ }
223
+
224
+ // Camera metadata from mem
225
+ namespace rawspeed
226
+ {
227
+ CameraMetaDataFromMem::CameraMetaDataFromMem(const char* document)
228
+ {
229
+ using pugi::xml_node;
230
+ using pugi::xml_document;
231
+ using pugi::xml_parse_result;
232
+
233
+ xml_document doc;
234
+ xml_parse_result result = doc.load_string(document);
235
+
236
+ if (!result)
237
+ throw "Camera definitions parse error";
238
+
239
+ for (xml_node camera : doc.child("Cameras").children("Camera"))
240
+ {
241
+ const auto* cam = addCamera(std::make_unique<Camera>(camera));
242
+
243
+ if (cam == nullptr)
244
+ continue;
245
+
246
+ // Create cameras for aliases.
247
+ for (auto i = 0UL; i < cam->aliases.size(); i++)
248
+ addCamera(std::make_unique<Camera>(cam, i));
249
+ }
250
+ }
251
+ } // namespace rawspeed