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,786 @@
1
+ /* -*- C++ -*-
2
+ * Copyright 2019-2021 LibRaw LLC (info@libraw.org)
3
+ *
4
+ LibRaw uses code from dcraw.c -- Dave Coffin's raw photo decoder,
5
+ dcraw.c is copyright 1997-2018 by Dave Coffin, dcoffin a cybercom o net.
6
+ LibRaw do not use RESTRICTED code from dcraw.c
7
+
8
+ LibRaw is free software; you can redistribute it and/or modify
9
+ it under the terms of the one of two licenses as you choose:
10
+
11
+ 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
12
+ (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
13
+
14
+ 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
15
+ (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
16
+
17
+ */
18
+
19
+ #include "../../internal/dcraw_defs.h"
20
+
21
+ void LibRaw::parseSigmaMakernote (int base, int /*uptag*/, unsigned /*dng_writer*/) {
22
+ unsigned wb_table1 [] = {
23
+ LIBRAW_WBI_Auto, LIBRAW_WBI_Daylight, LIBRAW_WBI_Shade, LIBRAW_WBI_Cloudy,
24
+ LIBRAW_WBI_Tungsten, LIBRAW_WBI_Fluorescent, LIBRAW_WBI_Flash,
25
+ LIBRAW_WBI_Custom, LIBRAW_WBI_Custom1, LIBRAW_WBI_Custom2
26
+ };
27
+
28
+ unsigned entries, tag, type, len, save;
29
+ unsigned i;
30
+
31
+ entries = get2();
32
+ if (entries > 1000)
33
+ return;
34
+ while (entries--) {
35
+ tiff_get(base, &tag, &type, &len, &save);
36
+ if (tag == 0x0027) {
37
+ ilm.LensID = get2();
38
+ } else if (tag == 0x002a) {
39
+ ilm.MinFocal = getreal(type);
40
+ ilm.MaxFocal = getreal(type);
41
+ } else if (tag == 0x002b) {
42
+ ilm.MaxAp4MinFocal = getreal(type);
43
+ ilm.MaxAp4MaxFocal = getreal(type);
44
+ } else if (tag == 0x0120) {
45
+ const unsigned tblsz = (sizeof wb_table1 / sizeof wb_table1[0]);
46
+ if ((len >= tblsz) && (len%3 == 0) && len/3 <= tblsz) {
47
+ for (i=0; i<(len/3); i++) {
48
+ icWBC[wb_table1[i]][0] = (int)(getreal(type)*10000.0);
49
+ icWBC[wb_table1[i]][1] = icWBC[wb_table1[i]][3] = (int)(getreal(type)*10000.0);
50
+ icWBC[wb_table1[i]][2] = (int)(getreal(type)*10000.0);
51
+ }
52
+ }
53
+ }
54
+ fseek(ifp, save, SEEK_SET);
55
+ }
56
+
57
+ return;
58
+ }
59
+
60
+ void LibRaw::parse_makernote_0xc634(int base, int uptag, unsigned dng_writer)
61
+ {
62
+
63
+ if (metadata_blocks++ > LIBRAW_MAX_METADATA_BLOCKS)
64
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
65
+
66
+ if (!strncmp(make, "NIKON", 5))
67
+ {
68
+ parseNikonMakernote(base, uptag, AdobeDNG);
69
+ return;
70
+ }
71
+ else if (!strncasecmp(make, "LEICA", 5))
72
+ {
73
+ parseLeicaMakernote(base, uptag, is_0xc634);
74
+ return;
75
+ }
76
+
77
+ short morder, sorder = order;
78
+ char buf[10];
79
+ INT64 fsize = ifp->size();
80
+
81
+ fread(buf, 1, 10, ifp);
82
+
83
+ if (!strcmp(buf, "EPSON"))
84
+ {
85
+ parseEpsonMakernote(base, uptag, AdobeDNG);
86
+ return;
87
+ }
88
+ else if (!strcmp(buf, "SIGMA"))
89
+ {
90
+ parseSigmaMakernote(base, uptag, AdobeDNG);
91
+ return;
92
+ }
93
+
94
+ unsigned entries, tag, type, len, save, c;
95
+
96
+ uchar *CanonCameraInfo = NULL;
97
+ unsigned lenCanonCameraInfo = 0;
98
+ unsigned typeCanonCameraInfo = 0;
99
+
100
+ uchar *table_buf_0x0116;
101
+ ushort table_buf_0x0116_len = 0;
102
+ uchar *table_buf_0x2010;
103
+ ushort table_buf_0x2010_len = 0;
104
+ uchar *table_buf_0x9050;
105
+ ushort table_buf_0x9050_len = 0;
106
+ uchar *table_buf_0x9400;
107
+ ushort table_buf_0x9400_len = 0;
108
+ uchar *table_buf_0x9402;
109
+ ushort table_buf_0x9402_len = 0;
110
+ uchar *table_buf_0x9403;
111
+ ushort table_buf_0x9403_len = 0;
112
+ uchar *table_buf_0x9406;
113
+ ushort table_buf_0x9406_len = 0;
114
+ uchar *table_buf_0x940c;
115
+ ushort table_buf_0x940c_len = 0;
116
+ uchar *table_buf_0x940e;
117
+ ushort table_buf_0x940e_len = 0;
118
+
119
+ if (!strcmp(buf, "OLYMPUS") || !strcmp(buf, "PENTAX ") || !strncmp(buf,"OM SYS",6)||
120
+ (!strncmp(make, "SAMSUNG", 7) && (dng_writer == CameraDNG)))
121
+ {
122
+ base = ftell(ifp) - 10;
123
+ fseek(ifp, -2, SEEK_CUR);
124
+ order = get2();
125
+ if (buf[0] == 'O')
126
+ get2();
127
+ else if (buf[0] == 'P')
128
+ is_PentaxRicohMakernotes = 1;
129
+ }
130
+ else if (is_PentaxRicohMakernotes && (dng_writer == CameraDNG))
131
+ {
132
+ base = ftell(ifp) - 10;
133
+ fseek(ifp, -4, SEEK_CUR);
134
+ order = get2();
135
+ }
136
+ else if (!strncmp(buf, "SONY", 4) ||
137
+ !strcmp(buf, "Panasonic"))
138
+ {
139
+ order = 0x4949;
140
+ fseek(ifp, 2, SEEK_CUR);
141
+ }
142
+ else if (!strncmp(buf, "FUJIFILM", 8))
143
+ {
144
+ base = ftell(ifp) - 10;
145
+ order = 0x4949;
146
+ fseek(ifp, 2, SEEK_CUR);
147
+ }
148
+ else if (!strcmp(buf, "OLYMP") ||
149
+ !strcmp(buf, "Ricoh"))
150
+ {
151
+ fseek(ifp, -2, SEEK_CUR);
152
+ }
153
+ else if (!strcmp(buf, "AOC") || !strcmp(buf, "QVC"))
154
+ {
155
+ fseek(ifp, -4, SEEK_CUR);
156
+ }
157
+ else
158
+ {
159
+ fseek(ifp, -10, SEEK_CUR);
160
+ if ((!strncmp(make, "SAMSUNG", 7) && (dng_writer == AdobeDNG)))
161
+ base = ftell(ifp);
162
+ }
163
+
164
+ entries = get2();
165
+ if (entries > 1000)
166
+ return;
167
+
168
+ if (!strncasecmp(make, "SONY", 4) ||
169
+ !strncasecmp(make, "Konica", 6) ||
170
+ !strncasecmp(make, "Minolta", 7) ||
171
+ (!strncasecmp(make, "Hasselblad", 10) &&
172
+ (!strncasecmp(model, "Stellar", 7) ||
173
+ !strncasecmp(model, "Lunar", 5) ||
174
+ !strncasecmp(model, "Lusso", 5) ||
175
+ !strncasecmp(model, "HV", 2))))
176
+ is_Sony = 1;
177
+
178
+ if (!is_Olympus &&
179
+ (!strncmp(make, "OLYMPUS", 7) || !strncmp(make, "OM Digi", 7) ||
180
+ (!strncasecmp(make, "CLAUSS", 6) && !strncasecmp(model, "piX 5oo", 7)))) {
181
+ is_Olympus = 1;
182
+ OlympusDNG_SubDirOffsetValid =
183
+ strncmp(model, "E-300", 5) && strncmp(model, "E-330", 5) &&
184
+ strncmp(model, "E-400", 5) && strncmp(model, "E-500", 5) &&
185
+ strncmp(model, "E-1", 3);
186
+ }
187
+
188
+ morder = order;
189
+ while (entries--)
190
+ {
191
+ order = morder;
192
+
193
+ tiff_get(base, &tag, &type, &len, &save);
194
+
195
+ INT64 pos = ifp->tell();
196
+ if (len > 8 && pos + len > 2 * fsize)
197
+ {
198
+ fseek(ifp, save, SEEK_SET); // Recover tiff-read position!!
199
+ continue;
200
+ }
201
+ tag |= uptag << 16;
202
+ if (len > 100 * 1024 * 1024)
203
+ goto next; // 100Mb tag? No!
204
+
205
+ if (!strncmp(make, "Canon", 5))
206
+ {
207
+ if (tag == 0x000d && len < 256000)
208
+ { // camera info
209
+ if (!tagtypeIs(LIBRAW_EXIFTAG_TYPE_LONG))
210
+ {
211
+ CanonCameraInfo = (uchar *)calloc(MAX(16, len),1);
212
+ fread(CanonCameraInfo, len, 1, ifp);
213
+ }
214
+ else
215
+ {
216
+ CanonCameraInfo = (uchar *)calloc(MAX(16, len * 4),1);
217
+ fread(CanonCameraInfo, len, 4, ifp);
218
+ }
219
+ lenCanonCameraInfo = len;
220
+ typeCanonCameraInfo = type;
221
+ }
222
+
223
+ else if (tag == 0x0010) // Canon ModelID
224
+ {
225
+ unique_id = get4();
226
+ setCanonBodyFeatures(unique_id);
227
+ if (lenCanonCameraInfo)
228
+ {
229
+ processCanonCameraInfo(unique_id, CanonCameraInfo, lenCanonCameraInfo,
230
+ typeCanonCameraInfo, AdobeDNG);
231
+ free(CanonCameraInfo);
232
+ CanonCameraInfo = 0;
233
+ lenCanonCameraInfo = 0;
234
+ }
235
+ }
236
+
237
+ else
238
+ parseCanonMakernotes(tag, type, len, AdobeDNG);
239
+ }
240
+
241
+ else if (!strncmp(make, "FUJI", 4)) {
242
+ parseFujiMakernotes(tag, type, len, AdobeDNG);
243
+
244
+ } else if (!strncasecmp(make, "Hasselblad", 10) && !is_Sony) {
245
+ if (tag == 0x0011) {
246
+ imHassy.SensorCode = getint(type);
247
+ } else if ((tag == 0x0015) && tagtypeIs(LIBRAW_EXIFTAG_TYPE_ASCII)) {
248
+ stmread (imHassy.SensorUnitConnector, len, ifp);
249
+ for (int i=0; i<(int)len; i++) {
250
+ if(!isalnum(imHassy.SensorUnitConnector[i]) &&
251
+ (imHassy.SensorUnitConnector[i]!=' ') &&
252
+ (imHassy.SensorUnitConnector[i]!='/') &&
253
+ (imHassy.SensorUnitConnector[i]!='-')) {
254
+ imHassy.SensorUnitConnector[0] = 0;
255
+ break;
256
+ }
257
+ }
258
+ } else if (tag == 0x0016) {
259
+ imHassy.CoatingCode = getint(type);
260
+ } else if ((tag == 0x002a) &&
261
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_SRATIONAL) &&
262
+ (len == 12) &&
263
+ imHassy.SensorUnitConnector[0]) {
264
+ FORC4 for (int i = 0; i < 3; i++)
265
+ imHassy.mnColorMatrix[c][i] = getreal(type);
266
+
267
+ } else if ((tag == 0x0031) &&
268
+ imHassy.SensorUnitConnector[0]) {
269
+ imHassy.RecommendedCrop[0] = getint(type);
270
+ imHassy.RecommendedCrop[1] = getint(type);
271
+ }
272
+
273
+ } else if (is_Olympus) {
274
+
275
+ if ((tag == 0x2010) || (tag == 0x2020) || (tag == 0x2030) ||
276
+ (tag == 0x2031) || (tag == 0x2040) || (tag == 0x2050) ||
277
+ (tag == 0x3000))
278
+ {
279
+ fseek(ifp, save - 4, SEEK_SET);
280
+ fseek(ifp, base + get4(), SEEK_SET);
281
+ parse_makernote_0xc634(base, tag, dng_writer);
282
+ }
283
+
284
+ if (!OlympusDNG_SubDirOffsetValid &&
285
+ ((len > 4) ||
286
+ ((tagtypeIs(LIBRAW_EXIFTAG_TYPE_SHORT) ||
287
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_SSHORT)) && (len > 2)) ||
288
+ ((tagtypeIs(LIBRAW_EXIFTAG_TYPE_LONG) ||
289
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_SLONG)) && (len > 1)) ||
290
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_RATIONAL) ||
291
+ (type > LIBRAW_EXIFTAG_TYPE_SLONG))) {
292
+ goto skip_Oly_broken_tags;
293
+ }
294
+ else {
295
+ parseOlympusMakernotes(base, tag, type, len, AdobeDNG);
296
+ }
297
+ skip_Oly_broken_tags:;
298
+ }
299
+
300
+ else if (!strncmp(make, "PENTAX", 6) ||
301
+ !strncmp(model, "PENTAX", 6) ||
302
+ is_PentaxRicohMakernotes)
303
+ {
304
+ parsePentaxMakernotes(base, tag, type, len, dng_writer);
305
+ }
306
+ else if (!strncmp(make, "SAMSUNG", 7))
307
+ {
308
+ if (dng_writer == AdobeDNG)
309
+ parseSamsungMakernotes(base, tag, type, len, dng_writer);
310
+ else
311
+ parsePentaxMakernotes(base, tag, type, len, dng_writer);
312
+ }
313
+ else if (is_Sony)
314
+ {
315
+ parseSonyMakernotes(
316
+ base, tag, type, len, AdobeDNG,
317
+ table_buf_0x0116, table_buf_0x0116_len,
318
+ table_buf_0x2010, table_buf_0x2010_len,
319
+ table_buf_0x9050, table_buf_0x9050_len,
320
+ table_buf_0x9400, table_buf_0x9400_len,
321
+ table_buf_0x9402, table_buf_0x9402_len,
322
+ table_buf_0x9403, table_buf_0x9403_len,
323
+ table_buf_0x9406, table_buf_0x9406_len,
324
+ table_buf_0x940c, table_buf_0x940c_len,
325
+ table_buf_0x940e, table_buf_0x940e_len);
326
+ }
327
+ next:
328
+ fseek(ifp, save, SEEK_SET);
329
+ }
330
+
331
+ order = sorder;
332
+ }
333
+
334
+ void LibRaw::parse_makernote(int base, int uptag)
335
+ {
336
+
337
+ if (metadata_blocks++ > LIBRAW_MAX_METADATA_BLOCKS)
338
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
339
+
340
+ if (!strncmp(make, "NIKON", 5))
341
+ {
342
+ parseNikonMakernote(base, uptag, nonDNG);
343
+ return;
344
+ }
345
+ else if (!strncasecmp(make, "LEICA", 5))
346
+ {
347
+ parseLeicaMakernote(base, uptag, is_0x927c);
348
+ return;
349
+ }
350
+
351
+ if (!strncmp(make, "Nokia", 5))
352
+ return;
353
+
354
+ char buf[10];
355
+ char another_buf[128];
356
+
357
+ fseek(ifp, -12, SEEK_CUR);
358
+ fread (another_buf, 1, 12, ifp);
359
+ if (!strncmp(another_buf, "SONY", 4) ||
360
+ !strncmp(another_buf, "VHAB", 4)) { // Sony branded as Hasselblad
361
+ is_Sony = 1;
362
+ }
363
+
364
+ fread(buf, 1, 10, ifp);
365
+
366
+ if (!strncmp(buf, "KDK", 3) || /* these aren't TIFF tables */
367
+ !strncmp(buf, "VER", 3) ||
368
+ !strncmp(buf, "IIII", 4) ||
369
+ !strncmp(buf, "MMMM", 4))
370
+ return;
371
+
372
+ if (!strcmp(buf, "EPSON"))
373
+ {
374
+ parseEpsonMakernote(base, uptag, nonDNG);
375
+ return;
376
+ }
377
+ else if (!strcmp(buf, "SIGMA"))
378
+ {
379
+ parseSigmaMakernote(base, uptag, CameraDNG);
380
+ return;
381
+ }
382
+
383
+
384
+ unsigned entries, tag, type, len, save, c;
385
+ unsigned i, wb[4] = {0, 0, 0, 0};
386
+ short morder, sorder = order;
387
+
388
+ uchar *CanonCameraInfo = 0;;
389
+ unsigned lenCanonCameraInfo = 0;
390
+ unsigned typeCanonCameraInfo = 0;
391
+ imCanon.wbi = 0;
392
+
393
+ uchar *table_buf_0x0116;
394
+ ushort table_buf_0x0116_len = 0;
395
+ uchar *table_buf_0x2010;
396
+ ushort table_buf_0x2010_len = 0;
397
+ uchar *table_buf_0x9050;
398
+ ushort table_buf_0x9050_len = 0;
399
+ uchar *table_buf_0x9400;
400
+ ushort table_buf_0x9400_len = 0;
401
+ uchar *table_buf_0x9402;
402
+ ushort table_buf_0x9402_len = 0;
403
+ uchar *table_buf_0x9403;
404
+ ushort table_buf_0x9403_len = 0;
405
+ uchar *table_buf_0x9406;
406
+ ushort table_buf_0x9406_len = 0;
407
+ uchar *table_buf_0x940c;
408
+ ushort table_buf_0x940c_len = 0;
409
+ uchar *table_buf_0x940e;
410
+ ushort table_buf_0x940e_len = 0;
411
+
412
+ INT64 fsize = ifp->size();
413
+
414
+ /*
415
+ The MakerNote might have its own TIFF header (possibly with
416
+ its own byte-order!), or it might just be a table.
417
+ */
418
+
419
+ if (!strncmp(buf, "KC", 2) || /* Konica KD-400Z, KD-510Z */
420
+ !strncmp(buf, "MLY", 3)) /* Minolta DiMAGE G series */
421
+ {
422
+ order = 0x4d4d;
423
+ while ((i = ftell(ifp)) < data_offset && i < 16384)
424
+ {
425
+ wb[0] = wb[2];
426
+ wb[2] = wb[1];
427
+ wb[1] = wb[3];
428
+ if (feof(ifp))
429
+ break;
430
+ wb[3] = get2();
431
+ if (wb[1] == 256 && wb[3] == 256 && wb[0] > 256 && wb[0] < 640 &&
432
+ wb[2] > 256 && wb[2] < 640)
433
+ FORC4 cam_mul[c] = wb[c];
434
+ }
435
+ goto quit;
436
+ }
437
+
438
+ if (!strcmp(buf, "OLYMPUS") || !strncmp(buf, "OM SYS",6) ||
439
+ !strcmp(buf, "PENTAX "))
440
+ {
441
+ base = ftell(ifp) - 10;
442
+ fseek(ifp, -2, SEEK_CUR);
443
+ if (buf[1] == 'M')
444
+ get4();
445
+ order = get2();
446
+ if (buf[0] == 'O')
447
+ get2();
448
+ }
449
+ else if (!strncmp(buf, "SONY", 4) || // DSLR-A100
450
+ !strcmp(buf, "Panasonic")) {
451
+ if (buf[0] == 'S')
452
+ is_Sony = 1;
453
+ goto nf;
454
+ }
455
+ else if (!strncmp(buf, "FUJIFILM", 8))
456
+ {
457
+ base = ftell(ifp) - 10;
458
+ nf:
459
+ order = 0x4949;
460
+ fseek(ifp, 2, SEEK_CUR);
461
+ }
462
+ else if (!strcmp (buf, "OLYMP") ||
463
+ !strncmp(buf, "LEICA", 5) ||
464
+ !strcmp (buf, "Ricoh"))
465
+ {
466
+ fseek(ifp, -2, SEEK_CUR);
467
+ }
468
+ else if (!strcmp(buf, "AOC") || // Pentax, tribute to Asahi Optical Co.
469
+ !strcmp(buf, "QVC")) // Casio, from "QV-Camera"
470
+ {
471
+ fseek(ifp, -4, SEEK_CUR);
472
+ }
473
+ else if (!strncmp(buf, "CMT3", 4))
474
+ {
475
+ order = sget2((uchar *)(buf + 4));
476
+ fseek(ifp, 2L, SEEK_CUR);
477
+ }
478
+ else if (libraw_internal_data.unpacker_data.CR3_CTMDtag)
479
+ {
480
+ order = sget2((uchar *)buf);
481
+ fseek(ifp, -2L, SEEK_CUR);
482
+ }
483
+ else
484
+ {
485
+ fseek(ifp, -10, SEEK_CUR);
486
+ if (!strncmp(make, "SAMSUNG", 7))
487
+ base = ftell(ifp);
488
+ }
489
+
490
+ if (!is_Olympus &&
491
+ (!strncasecmp(make, "Olympus", 7) || !strncmp(make, "OM Digi", 7) ||
492
+ (!strncasecmp(make, "CLAUSS", 6) && !strncasecmp(model, "piX 5oo", 7)))) {
493
+ is_Olympus = 1;
494
+ }
495
+
496
+ if (!is_Sony &&
497
+ (!strncasecmp(make, "SONY", 4) ||
498
+ !strncasecmp(make, "Konica", 6) ||
499
+ !strncasecmp(make, "Minolta", 7) ||
500
+ (!strncasecmp(make, "Hasselblad", 10) &&
501
+ (!strncasecmp(model, "Stellar", 7) ||
502
+ !strncasecmp(model, "Lunar", 5) ||
503
+ !strncasecmp(model, "Lusso", 5) ||
504
+ !strncasecmp(model, "HV", 2))))) {
505
+ is_Sony = 1;
506
+ }
507
+
508
+ if (strcasestr(make, "Kodak") &&
509
+ (sget2((uchar *)buf) > 1) && // check number of entries
510
+ (sget2((uchar *)buf) < 128) &&
511
+ (sget2((uchar *)(buf + 4)) > 0) && // check type
512
+ (sget2((uchar *)(buf + 4)) < 13) &&
513
+ (sget4((uchar *)(buf + 6)) < 256) // check count
514
+ )
515
+ imKodak.MakerNoteKodak8a = 1; // Kodak P712 / P850 / P880
516
+
517
+ entries = get2();
518
+ if (entries > 1000)
519
+ return;
520
+
521
+ morder = order;
522
+ while (entries--)
523
+ {
524
+ order = morder;
525
+ tiff_get(base, &tag, &type, &len, &save);
526
+ tag |= uptag << 16;
527
+
528
+ INT64 _pos = ftell(ifp);
529
+ if (len > 100 * 1024 * 1024)
530
+ goto next; // 100Mb tag? No!
531
+ if (len > 8 && _pos + len > 2 * fsize)
532
+ {
533
+ fseek(ifp, save, SEEK_SET); // Recover tiff-read position!!
534
+ continue;
535
+ }
536
+ if (imKodak.MakerNoteKodak8a)
537
+ {
538
+ if ((tag == 0xff00) && tagtypeIs(LIBRAW_EXIFTAG_TYPE_LONG) && (len == 1))
539
+ {
540
+ INT64 _pos1 = get4();
541
+ if ((_pos1 < fsize) && (_pos1 > 0))
542
+ {
543
+ fseek(ifp, _pos1, SEEK_SET);
544
+ parse_makernote(base, tag);
545
+ }
546
+ }
547
+ else if (tag == 0xff00f90b)
548
+ {
549
+ imKodak.clipBlack = get2();
550
+ }
551
+ else if (tag == 0xff00f90c)
552
+ {
553
+ imKodak.clipWhite = imgdata.color.linear_max[0] =
554
+ imgdata.color.linear_max[1] = imgdata.color.linear_max[2] =
555
+ imgdata.color.linear_max[3] = get2();
556
+ }
557
+ }
558
+ else if (!strncmp(make, "Canon", 5))
559
+ {
560
+ if (tag == 0x000d && len < 256000) // camera info
561
+ {
562
+ if (!tagtypeIs(LIBRAW_EXIFTAG_TYPE_LONG))
563
+ {
564
+ CanonCameraInfo = (uchar *)calloc(MAX(16, len),1);
565
+ fread(CanonCameraInfo, len, 1, ifp);
566
+ }
567
+ else
568
+ {
569
+ CanonCameraInfo = (uchar *)calloc(MAX(16, len * 4),1);
570
+ fread(CanonCameraInfo, len, 4, ifp);
571
+ }
572
+ lenCanonCameraInfo = len;
573
+ typeCanonCameraInfo = type;
574
+ }
575
+
576
+ else if (tag == 0x0010) // Canon ModelID
577
+ {
578
+ unique_id = get4();
579
+ setCanonBodyFeatures(unique_id);
580
+ if (lenCanonCameraInfo)
581
+ {
582
+ processCanonCameraInfo(unique_id, CanonCameraInfo, lenCanonCameraInfo,
583
+ typeCanonCameraInfo, nonDNG);
584
+ if(CanonCameraInfo)
585
+ free(CanonCameraInfo);
586
+ CanonCameraInfo = 0;
587
+ lenCanonCameraInfo = 0;
588
+ }
589
+ }
590
+
591
+ else
592
+ parseCanonMakernotes(tag, type, len, nonDNG);
593
+ }
594
+
595
+ else if (!strncmp(make, "FUJI", 4))
596
+ parseFujiMakernotes(tag, type, len, nonDNG);
597
+
598
+ else if (!strncasecmp(model, "Hasselblad X1D", 14) ||
599
+ !strncasecmp(model, "Hasselblad H6D", 14) ||
600
+ !strncasecmp(model, "Hasselblad A6D", 14))
601
+ {
602
+ if (tag == 0x0045)
603
+ {
604
+ imHassy.BaseISO = get4();
605
+ }
606
+ else if (tag == 0x0046)
607
+ {
608
+ imHassy.Gain = getreal(type);
609
+ }
610
+ }
611
+
612
+ else if (!strncmp(make, "PENTAX", 6) ||
613
+ !strncmp(make, "RICOH", 5) ||
614
+ !strncmp(model, "PENTAX", 6))
615
+ {
616
+ if (!strncmp(model, "GR", 2) ||
617
+ !strncmp(model, "GXR", 3))
618
+ {
619
+ parseRicohMakernotes(base, tag, type, len, CameraDNG);
620
+ }
621
+ else
622
+ {
623
+ parsePentaxMakernotes(base, tag, type, len, nonDNG);
624
+ }
625
+ }
626
+
627
+ else if (!strncmp(make, "SAMSUNG", 7))
628
+ {
629
+ if (!dng_version)
630
+ parseSamsungMakernotes(base, tag, type, len, nonDNG);
631
+ else
632
+ parsePentaxMakernotes(base, tag, type, len, CameraDNG);
633
+ }
634
+
635
+ else if (is_Sony)
636
+ {
637
+ if ((tag == 0xb028) && (len == 1) && tagtypeIs(LIBRAW_EXIFTAG_TYPE_LONG)) // DSLR-A100
638
+ {
639
+ if ((c = get4()))
640
+ {
641
+ fseek(ifp, c, SEEK_SET);
642
+ parse_makernote(base, tag);
643
+ }
644
+ }
645
+ else
646
+ {
647
+ parseSonyMakernotes(
648
+ base, tag, type, len, nonDNG,
649
+ table_buf_0x0116, table_buf_0x0116_len,
650
+ table_buf_0x2010, table_buf_0x2010_len,
651
+ table_buf_0x9050, table_buf_0x9050_len,
652
+ table_buf_0x9400, table_buf_0x9400_len,
653
+ table_buf_0x9402, table_buf_0x9402_len,
654
+ table_buf_0x9403, table_buf_0x9403_len,
655
+ table_buf_0x9406, table_buf_0x9406_len,
656
+ table_buf_0x940c, table_buf_0x940c_len,
657
+ table_buf_0x940e, table_buf_0x940e_len);
658
+ }
659
+ }
660
+ fseek(ifp, _pos, SEEK_SET);
661
+
662
+ if (!strncasecmp(make, "Hasselblad", 10) && !is_Sony) {
663
+ if (tag == 0x0011)
664
+ imHassy.SensorCode = getint(type);
665
+ else if (tag == 0x0016)
666
+ imHassy.CoatingCode = getint(type);
667
+ else if ((tag == 0x002a) &&
668
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_SRATIONAL) &&
669
+ (len == 12)) {
670
+ FORC4 for (int ii = 0; ii < 3; ii++)
671
+ imHassy.mnColorMatrix[c][ii] = getreal(type);
672
+
673
+ } else if (tag == 0x0031) {
674
+ imHassy.RecommendedCrop[0] = getint(type);
675
+ imHassy.RecommendedCrop[1] = getint(type);
676
+ }
677
+ }
678
+
679
+ if ((tag == 0x0004 || tag == 0x0114) && !strncmp(make, "KONICA", 6))
680
+ {
681
+ fseek(ifp, tag == 0x0004 ? 140 : 160, SEEK_CUR);
682
+ switch (get2())
683
+ {
684
+ case 72:
685
+ flip = 0;
686
+ break;
687
+ case 76:
688
+ flip = 6;
689
+ break;
690
+ case 82:
691
+ flip = 5;
692
+ break;
693
+ }
694
+ }
695
+
696
+ if (is_Olympus) {
697
+ INT64 _pos2 = ftell(ifp);
698
+ if ((tag == 0x2010) || (tag == 0x2020) || (tag == 0x2030) ||
699
+ (tag == 0x2031) || (tag == 0x2040) || (tag == 0x2050) ||
700
+ (tag == 0x3000))
701
+ {
702
+ if (tagtypeIs(LIBRAW_EXIFTOOLTAGTYPE_binary)) {
703
+ parse_makernote(base, tag);
704
+
705
+ } else if (tagtypeIs(LIBRAW_EXIFTOOLTAGTYPE_ifd) ||
706
+ tagtypeIs(LIBRAW_EXIFTOOLTAGTYPE_int32u)) {
707
+ fseek(ifp, base + get4(), SEEK_SET);
708
+ parse_makernote(base, tag);
709
+ }
710
+
711
+ } else {
712
+ parseOlympusMakernotes(base, tag, type, len, nonDNG);
713
+ }
714
+ fseek(ifp, _pos2, SEEK_SET);
715
+ }
716
+
717
+ if ((tag == 0x0015) &&
718
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_ASCII) &&
719
+ is_raw)
720
+ { // Hasselblad
721
+ stmread (imHassy.SensorUnitConnector, len, ifp);
722
+ }
723
+
724
+ if (tagtypeIs(LIBRAW_EXIFTAG_TYPE_UNDEFINED) &&
725
+ ((tag == 0x0081) || // Minolta
726
+ (tag == 0x0100))) // Olympus
727
+ {
728
+ thumb_offset = ftell(ifp);
729
+ thumb_length = len;
730
+ }
731
+ if ((tag == 0x0088) && // Minolta, possibly Olympus too
732
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_LONG) &&
733
+ (thumb_offset = get4()))
734
+ thumb_offset += base;
735
+
736
+ if ((tag == 0x0089) && // Minolta, possibly Olympus too
737
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_LONG))
738
+ thumb_length = get4();
739
+
740
+ if (tagtypeIs(LIBRAW_EXIFTAG_TYPE_UNDEFINED) && // Nikon
741
+ ((tag == 0x008c) ||
742
+ (tag == 0x0096))) {
743
+ meta_offset = ftell(ifp);
744
+ }
745
+
746
+ if ((tag == 0x00a1) &&
747
+ tagtypeIs(LIBRAW_EXIFTAG_TYPE_UNDEFINED) &&
748
+ strncasecmp(make, "Samsung", 7))
749
+ {
750
+ order = 0x4949;
751
+ fseek(ifp, 140, SEEK_CUR);
752
+ FORC3 cam_mul[c] = get4();
753
+ }
754
+
755
+ if (tag == 0xb001 && tagtypeIs(LIBRAW_EXIFTAG_TYPE_SHORT)) // Sony ModelID
756
+ {
757
+ unique_id = get2();
758
+ }
759
+ if (tag == 0x0200 && len == 3) // Olympus
760
+ shot_order = (get4(), get4());
761
+
762
+ if (tag == 0x0f00 && tagtypeIs(LIBRAW_EXIFTAG_TYPE_UNDEFINED))
763
+ {
764
+ if (len == 614)
765
+ fseek(ifp, 176, SEEK_CUR);
766
+ else if (len == 734 || len == 1502) // Kodak, Minolta, Olympus
767
+ fseek(ifp, 148, SEEK_CUR);
768
+ else
769
+ goto next;
770
+ goto get2_256;
771
+ }
772
+
773
+ if (tag == 0x2011 && len == 2) // Casio
774
+ {
775
+ get2_256:
776
+ order = 0x4d4d;
777
+ cam_mul[0] = get2() / 256.0;
778
+ cam_mul[2] = get2() / 256.0;
779
+ }
780
+
781
+ next:
782
+ fseek(ifp, save, SEEK_SET);
783
+ }
784
+ quit:
785
+ order = sorder;
786
+ }