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,411 @@
1
+ /* -*- C++ -*-
2
+ * Copyright 2019-2021 LibRaw LLC (info@libraw.org)
3
+ *
4
+ LibRaw is free software; you can redistribute it and/or modify
5
+ it under the terms of the one of two licenses as you choose:
6
+
7
+ 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
8
+ (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
9
+
10
+ 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
11
+ (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
12
+
13
+ */
14
+
15
+ #include "../../internal/dcraw_defs.h"
16
+
17
+ void LibRaw::packed_tiled_dng_load_raw()
18
+ {
19
+ ushort *rp;
20
+ unsigned row, col;
21
+
22
+ int ss = shot_select;
23
+ shot_select = libraw_internal_data.unpacker_data.dng_frames[LIM(ss, 0, (LIBRAW_IFD_MAXCOUNT * 2 - 1))] & 0xff;
24
+ std::vector<ushort> pixel;
25
+
26
+ try
27
+ {
28
+ int ntiles = 1 + (raw_width) / tile_width;
29
+ if ((unsigned)ntiles * tile_width > raw_width * 2u) throw LIBRAW_EXCEPTION_ALLOC;
30
+ pixel.resize(tile_width * ntiles * tiff_samples);
31
+ }
32
+ catch (...)
33
+ {
34
+ throw LIBRAW_EXCEPTION_ALLOC; // rethrow
35
+ }
36
+ try
37
+ {
38
+ unsigned trow = 0, tcol = 0;
39
+ INT64 save;
40
+ while (trow < raw_height)
41
+ {
42
+ checkCancel();
43
+ save = ftell(ifp);
44
+ if (tile_length < INT_MAX)
45
+ fseek(ifp, get4(), SEEK_SET);
46
+
47
+ for (row = 0; row < tile_length && (row + trow) < raw_height; row++)
48
+ {
49
+ if (tiff_bps == 16)
50
+ read_shorts(pixel.data(), tile_width * tiff_samples);
51
+ else
52
+ {
53
+ getbits(-1);
54
+ for (col = 0; col < tile_width * tiff_samples; col++)
55
+ pixel[col] = getbits(tiff_bps);
56
+ }
57
+ for (rp = pixel.data(), col = 0; col < tile_width; col++)
58
+ adobe_copy_pixel(trow+row, tcol+col, &rp);
59
+ }
60
+ fseek(ifp, save + 4, SEEK_SET);
61
+ if ((tcol += tile_width) >= raw_width)
62
+ trow += tile_length + (tcol = 0);
63
+ }
64
+ }
65
+ catch (...)
66
+ {
67
+ shot_select = ss;
68
+ throw;
69
+ }
70
+ shot_select = ss;
71
+ }
72
+
73
+
74
+
75
+ void LibRaw::sony_ljpeg_load_raw()
76
+ {
77
+ unsigned trow = 0, tcol = 0, jrow, jcol, row, col;
78
+ INT64 save;
79
+ struct jhead jh;
80
+
81
+ while (trow < raw_height)
82
+ {
83
+ checkCancel();
84
+ save = ftell(ifp); // We're at
85
+ if (tile_length < INT_MAX)
86
+ fseek(ifp, get4(), SEEK_SET);
87
+ if (!ljpeg_start(&jh, 0))
88
+ break;
89
+ try
90
+ {
91
+ for (row = jrow = 0; jrow < (unsigned)jh.high && trow+row < raw_height-1; jrow++, row += 2)
92
+ {
93
+ checkCancel();
94
+ ushort(*rowp)[4] = (ushort(*)[4])ljpeg_row(jrow, &jh);
95
+ for (col = jcol = 0; jcol < (unsigned)jh.wide && tcol+col < raw_width-1; jcol++, col += 2)
96
+ {
97
+ RAW(trow + row, tcol + col) = rowp[jcol][0];
98
+ RAW(trow + row, tcol + col + 1) = rowp[jcol][1];
99
+ RAW(trow + row + 1, tcol + col) = rowp[jcol][2];
100
+ RAW(trow + row + 1, tcol + col + 1) = rowp[jcol][3];
101
+ }
102
+ }
103
+ }
104
+ catch (...)
105
+ {
106
+ ljpeg_end(&jh);
107
+ throw;
108
+ }
109
+ fseek(ifp, save + 4, SEEK_SET);
110
+ if ((tcol += tile_width) >= raw_width)
111
+ trow += tile_length + (tcol = 0);
112
+ ljpeg_end(&jh);
113
+ }
114
+ }
115
+
116
+ void LibRaw::nikon_he_load_raw_placeholder()
117
+ {
118
+ throw LIBRAW_EXCEPTION_UNSUPPORTED_FORMAT;
119
+ }
120
+
121
+ void LibRaw::nikon_coolscan_load_raw()
122
+ {
123
+ int clrs = colors == 3 ? 3 : 1;
124
+
125
+ if (clrs == 3 && !image)
126
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
127
+
128
+ if(clrs == 1 && !raw_image)
129
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
130
+
131
+ int bypp = tiff_bps <= 8 ? 1 : 2;
132
+ int bufsize = width * clrs * bypp;
133
+ unsigned char *buf = (unsigned char *)calloc(bufsize,1);
134
+ unsigned short *ubuf = (unsigned short *)buf;
135
+
136
+ if (tiff_bps <= 8)
137
+ gamma_curve(1.0 / imgdata.rawparams.coolscan_nef_gamma, 0., 1, 255);
138
+ else
139
+ gamma_curve(1.0 / imgdata.rawparams.coolscan_nef_gamma, 0., 1, 65535);
140
+ fseek(ifp, data_offset, SEEK_SET);
141
+ for (int row = 0; row < raw_height; row++)
142
+ {
143
+ if(tiff_bps <=8)
144
+ fread(buf, 1, bufsize, ifp);
145
+ else
146
+ read_shorts(ubuf,width*clrs);
147
+
148
+ unsigned short(*ip)[4] = (unsigned short(*)[4])image + row * width;
149
+ unsigned short *rp = raw_image + row * raw_width;
150
+
151
+ if (is_NikonTransfer == 2)
152
+ { // it is also (tiff_bps == 8)
153
+ if (clrs == 3)
154
+ {
155
+ for (int col = 0; col < width; col++)
156
+ {
157
+ ip[col][0] = ((float)curve[buf[col * 3]]) / 255.0f;
158
+ ip[col][1] = ((float)curve[buf[col * 3 + 1]]) / 255.0f;
159
+ ip[col][2] = ((float)curve[buf[col * 3 + 2]]) / 255.0f;
160
+ ip[col][3] = 0;
161
+ }
162
+ }
163
+ else
164
+ {
165
+ for (int col = 0; col < width; col++)
166
+ rp[col] = ((float)curve[buf[col]]) / 255.0f;
167
+ }
168
+ }
169
+ else if (tiff_bps <= 8)
170
+ {
171
+ if (clrs == 3)
172
+ {
173
+ for (int col = 0; col < width; col++)
174
+ {
175
+ ip[col][0] = curve[buf[col * 3]];
176
+ ip[col][1] = curve[buf[col * 3 + 1]];
177
+ ip[col][2] = curve[buf[col * 3 + 2]];
178
+ ip[col][3] = 0;
179
+ }
180
+ }
181
+ else
182
+ {
183
+ for (int col = 0; col < width; col++)
184
+ rp[col] = curve[buf[col]];
185
+ }
186
+ }
187
+ else
188
+ {
189
+ if (clrs == 3)
190
+ {
191
+ for (int col = 0; col < width; col++)
192
+ {
193
+ ip[col][0] = curve[ubuf[col * 3]];
194
+ ip[col][1] = curve[ubuf[col * 3 + 1]];
195
+ ip[col][2] = curve[ubuf[col * 3 + 2]];
196
+ ip[col][3] = 0;
197
+ }
198
+ }
199
+ else
200
+ {
201
+ for (int col = 0; col < width; col++)
202
+ rp[col] = curve[ubuf[col]];
203
+ }
204
+ }
205
+ }
206
+ free(buf);
207
+ }
208
+
209
+ void LibRaw::broadcom_load_raw()
210
+ {
211
+ uchar *dp;
212
+ int rev, row, col, c;
213
+ rev = 3 * (order == 0x4949);
214
+ std::vector<uchar> data(raw_stride * 2);
215
+
216
+ for (row = 0; row < raw_height; row++)
217
+ {
218
+ if (fread(data.data() + raw_stride, 1, raw_stride, ifp) < raw_stride)
219
+ derror();
220
+ FORC(raw_stride) data[c] = data[raw_stride + (c ^ rev)];
221
+ for (dp = data.data(), col = 0; col < raw_width; dp += 5, col += 4)
222
+ FORC4 RAW(row, col + c) = (dp[c] << 2) | (dp[4] >> (c << 1) & 3);
223
+ }
224
+ }
225
+
226
+ void LibRaw::android_tight_load_raw()
227
+ {
228
+ uchar *data, *dp;
229
+ int bwide, row, col, c;
230
+
231
+ bwide = -(-5 * raw_width >> 5) << 3;
232
+ data = (uchar *)calloc(bwide,1);
233
+ for (row = 0; row < raw_height; row++)
234
+ {
235
+ if (fread(data, 1, bwide, ifp) < bwide)
236
+ derror();
237
+ for (dp = data, col = 0; col < raw_width; dp += 5, col += 4)
238
+ FORC4 RAW(row, col + c) = (dp[c] << 2) | (dp[4] >> (c << 1) & 3);
239
+ }
240
+ free(data);
241
+ }
242
+
243
+ void LibRaw::android_loose_load_raw()
244
+ {
245
+ uchar *data, *dp;
246
+ int bwide, row, col, c;
247
+ UINT64 bitbuf = 0;
248
+
249
+ bwide = (raw_width + 5) / 6 << 3;
250
+ data = (uchar *)calloc(bwide,1);
251
+ for (row = 0; row < raw_height; row++)
252
+ {
253
+ if (fread(data, 1, bwide, ifp) < bwide)
254
+ derror();
255
+ for (dp = data, col = 0; col < raw_width; dp += 8, col += 6)
256
+ {
257
+ FORC(8) bitbuf = (bitbuf << 8) | dp[c ^ 7];
258
+ FORC(6) RAW(row, col + c) = (bitbuf >> c * 10) & 0x3ff;
259
+ }
260
+ }
261
+ free(data);
262
+ }
263
+
264
+ void LibRaw::unpacked_load_raw_reversed()
265
+ {
266
+ int row, col, bits = 0;
267
+ while (1 << ++bits < (int)maximum)
268
+ ;
269
+ for (row = raw_height - 1; row >= 0; row--)
270
+ {
271
+ checkCancel();
272
+ read_shorts(&raw_image[row * raw_width], raw_width);
273
+ for (col = 0; col < raw_width; col++)
274
+ if ((RAW(row, col) >>= load_flags) >> bits &&
275
+ (unsigned)(row - top_margin) < height &&
276
+ (unsigned)(col - left_margin) < width)
277
+ derror();
278
+ }
279
+ }
280
+
281
+ #ifdef USE_6BY9RPI
282
+
283
+ void LibRaw::rpi_load_raw8()
284
+ {
285
+ uchar *data, *dp;
286
+ int rev, dwide, row, col, c;
287
+ double sum[] = { 0,0 };
288
+ rev = 3 * (order == 0x4949);
289
+ if (raw_stride == 0)
290
+ dwide = raw_width;
291
+ else
292
+ dwide = raw_stride;
293
+ data = (uchar *)calloc(dwide, 2);
294
+ for (row = 0; row < raw_height; row++) {
295
+ if (fread(data + dwide, 1, dwide, ifp) < dwide) derror();
296
+ FORC(dwide) data[c] = data[dwide + (c ^ rev)];
297
+ for (dp = data, col = 0; col < raw_width; dp++, col++)
298
+ RAW(row, col + c) = dp[c];
299
+ }
300
+ free(data);
301
+ maximum = 0xff;
302
+ if (!strcmp(make, "OmniVision") ||
303
+ !strcmp(make, "Sony") ||
304
+ !strcmp(make, "RaspberryPi")) return;
305
+
306
+ row = raw_height / 2;
307
+ FORC(width - 1) {
308
+ sum[c & 1] += SQR(RAW(row, c) - RAW(row + 1, c + 1));
309
+ sum[~c & 1] += SQR(RAW(row + 1, c) - RAW(row, c + 1));
310
+ }
311
+ if (sum[1] > sum[0]) filters = 0x4b4b4b4b;
312
+ }
313
+
314
+ void LibRaw::rpi_load_raw12()
315
+ {
316
+ uchar *data, *dp;
317
+ int rev, dwide, row, col, c;
318
+ double sum[] = { 0,0 };
319
+ rev = 3 * (order == 0x4949);
320
+ if (raw_stride == 0)
321
+ dwide = (raw_width * 3 + 1) / 2;
322
+ else
323
+ dwide = raw_stride;
324
+ data = (uchar *)calloc(dwide, 2);
325
+ for (row = 0; row < raw_height; row++) {
326
+ if (fread(data + dwide, 1, dwide, ifp) < dwide) derror();
327
+ FORC(dwide) data[c] = data[dwide + (c ^ rev)];
328
+ for (dp = data, col = 0; col < raw_width; dp += 3, col += 2)
329
+ FORC(2) RAW(row, col + c) = (dp[c] << 4) | (dp[2] >> (c << 2) & 0xF);
330
+ }
331
+ free(data);
332
+ maximum = 0xfff;
333
+ if (!strcmp(make, "OmniVision") ||
334
+ !strcmp(make, "Sony") ||
335
+ !strcmp(make, "RaspberryPi")) return;
336
+
337
+ row = raw_height / 2;
338
+ FORC(width - 1) {
339
+ sum[c & 1] += SQR(RAW(row, c) - RAW(row + 1, c + 1));
340
+ sum[~c & 1] += SQR(RAW(row + 1, c) - RAW(row, c + 1));
341
+ }
342
+ if (sum[1] > sum[0]) filters = 0x4b4b4b4b;
343
+ }
344
+
345
+ void LibRaw::rpi_load_raw14()
346
+ {
347
+ uchar *data, *dp;
348
+ int rev, dwide, row, col, c;
349
+ double sum[] = { 0,0 };
350
+ rev = 3 * (order == 0x4949);
351
+ if (raw_stride == 0)
352
+ dwide = ((raw_width * 7) + 3) >> 2;
353
+ else
354
+ dwide = raw_stride;
355
+ data = (uchar *)calloc(dwide, 2);
356
+ for (row = 0; row < raw_height; row++) {
357
+ if (fread(data + dwide, 1, dwide, ifp) < dwide) derror();
358
+ FORC(dwide) data[c] = data[dwide + (c ^ rev)];
359
+ for (dp = data, col = 0; col < raw_width; dp += 7, col += 4) {
360
+ RAW(row, col + 0) = (dp[0] << 6) | (dp[4] >> 2);
361
+ RAW(row, col + 1) = (dp[1] << 6) | ((dp[4] & 0x3) << 4) | ((dp[5] & 0xf0) >> 4);
362
+ RAW(row, col + 2) = (dp[2] << 6) | ((dp[5] & 0xf) << 2) | ((dp[6] & 0xc0) >> 6);
363
+ RAW(row, col + 3) = (dp[3] << 6) | ((dp[6] & 0x3f) << 2);
364
+ }
365
+ }
366
+ free(data);
367
+ maximum = 0x3fff;
368
+ if (!strcmp(make, "OmniVision") ||
369
+ !strcmp(make, "Sony") ||
370
+ !strcmp(make, "RaspberryPi")) return;
371
+
372
+ row = raw_height / 2;
373
+ FORC(width - 1) {
374
+ sum[c & 1] += SQR(RAW(row, c) - RAW(row + 1, c + 1));
375
+ sum[~c & 1] += SQR(RAW(row + 1, c) - RAW(row, c + 1));
376
+ }
377
+ if (sum[1] > sum[0]) filters = 0x4b4b4b4b;
378
+ }
379
+
380
+ void LibRaw::rpi_load_raw16()
381
+ {
382
+ uchar *data, *dp;
383
+ int rev, dwide, row, col, c;
384
+ double sum[] = { 0,0 };
385
+ rev = 3 * (order == 0x4949);
386
+ if (raw_stride == 0)
387
+ dwide = (raw_width * 2);
388
+ else
389
+ dwide = raw_stride;
390
+ data = (uchar *)calloc(dwide, 2);
391
+ for (row = 0; row < raw_height; row++) {
392
+ if (fread(data + dwide, 1, dwide, ifp) < dwide) derror();
393
+ FORC(dwide) data[c] = data[dwide + (c ^ rev)];
394
+ for (dp = data, col = 0; col < raw_width; dp += 2, col++)
395
+ RAW(row, col + c) = (dp[1] << 8) | dp[0];
396
+ }
397
+ free(data);
398
+ maximum = 0xffff;
399
+ if (!strcmp(make, "OmniVision") ||
400
+ !strcmp(make, "Sony") ||
401
+ !strcmp(make, "RaspberryPi")) return;
402
+
403
+ row = raw_height / 2;
404
+ FORC(width - 1) {
405
+ sum[c & 1] += SQR(RAW(row, c) - RAW(row + 1, c + 1));
406
+ sum[~c & 1] += SQR(RAW(row + 1, c) - RAW(row, c + 1));
407
+ }
408
+ if (sum[1] > sum[0]) filters = 0x4b4b4b4b;
409
+ }
410
+
411
+ #endif
@@ -0,0 +1,284 @@
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::vc5_dng_load_raw_placeholder()
22
+ {
23
+ // placeholder only, real decoding implemented in GPR SDK
24
+ throw LIBRAW_EXCEPTION_DECODE_RAW;
25
+ }
26
+
27
+ void LibRaw::adobe_copy_pixel(unsigned row, unsigned col, ushort **rp)
28
+ {
29
+ int c;
30
+
31
+ if (tiff_samples == 2 && shot_select)
32
+ (*rp)++;
33
+ if (raw_image)
34
+ {
35
+ if (row < raw_height && col < raw_width)
36
+ RAW(row, col) = curve[**rp];
37
+ *rp += tiff_samples;
38
+ }
39
+ else
40
+ {
41
+ if (row < raw_height && col < raw_width)
42
+ FORC(int(tiff_samples))
43
+ image[row * raw_width + col][c] = curve[(*rp)[c]];
44
+ *rp += tiff_samples;
45
+ }
46
+ if (tiff_samples == 2 && shot_select)
47
+ (*rp)--;
48
+ }
49
+ void LibRaw::lossless_dng_load_raw()
50
+ {
51
+ unsigned trow = 0, tcol = 0, jwide, jrow, jcol, row, col, i, j;
52
+ INT64 save;
53
+ struct jhead jh;
54
+ ushort *rp;
55
+
56
+ int ss = shot_select;
57
+ shot_select = libraw_internal_data.unpacker_data.dng_frames[LIM(ss,0,(LIBRAW_IFD_MAXCOUNT*2-1))] & 0xff;
58
+
59
+ while (trow < raw_height)
60
+ {
61
+ checkCancel();
62
+ save = ftell(ifp);
63
+ if (tile_length < INT_MAX)
64
+ fseek(ifp, get4(), SEEK_SET);
65
+ if (!ljpeg_start(&jh, 0))
66
+ break;
67
+ jwide = jh.wide;
68
+ if (filters)
69
+ jwide *= jh.clrs;
70
+
71
+ if(filters && (tiff_samples == 2)) // Fuji Super CCD
72
+ jwide /= 2;
73
+ try
74
+ {
75
+ switch (jh.algo)
76
+ {
77
+ case 0xc1:
78
+ jh.vpred[0] = 16384;
79
+ getbits(-1);
80
+ for (jrow = 0; jrow + 7 < (unsigned)jh.high; jrow += 8)
81
+ {
82
+ checkCancel();
83
+ for (jcol = 0; jcol + 7 < (unsigned)jh.wide; jcol += 8)
84
+ {
85
+ ljpeg_idct(&jh);
86
+ rp = jh.idct;
87
+ row = trow + jcol / tile_width + jrow * 2;
88
+ col = tcol + jcol % tile_width;
89
+ for (i = 0; i < 16; i += 2)
90
+ for (j = 0; j < 8; j++)
91
+ adobe_copy_pixel(row + i, col + j, &rp);
92
+ }
93
+ }
94
+ break;
95
+ case 0xc3:
96
+ for (row = col = jrow = 0; jrow < (unsigned)jh.high; jrow++)
97
+ {
98
+ checkCancel();
99
+ rp = ljpeg_row(jrow, &jh);
100
+ if (tiff_samples == 1 && jh.clrs > 1 && jh.clrs * jwide == raw_width)
101
+ for (jcol = 0; jcol < jwide * jh.clrs; jcol++)
102
+ {
103
+ adobe_copy_pixel(trow + row, tcol + col, &rp);
104
+ if (++col >= tile_width || col >= raw_width)
105
+ row += 1 + (col = 0);
106
+ }
107
+ else
108
+ for (jcol = 0; jcol < jwide; jcol++)
109
+ {
110
+ adobe_copy_pixel(trow + row, tcol + col, &rp);
111
+ if (++col >= tile_width || col >= raw_width)
112
+ row += 1 + (col = 0);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ catch (...)
118
+ {
119
+ ljpeg_end(&jh);
120
+ shot_select = ss;
121
+ throw;
122
+ }
123
+ fseek(ifp, save + 4, SEEK_SET);
124
+ if ((tcol += tile_width) >= raw_width)
125
+ trow += tile_length + (tcol = 0);
126
+ ljpeg_end(&jh);
127
+ }
128
+ shot_select = ss;
129
+ }
130
+
131
+ void LibRaw::packed_dng_load_raw()
132
+ {
133
+ ushort *pixel, *rp;
134
+ unsigned row, col;
135
+
136
+ if (tile_length < INT_MAX)
137
+ {
138
+ packed_tiled_dng_load_raw();
139
+ return;
140
+ }
141
+
142
+ int ss = shot_select;
143
+ shot_select = libraw_internal_data.unpacker_data.dng_frames[LIM(ss,0,(LIBRAW_IFD_MAXCOUNT*2-1))] & 0xff;
144
+
145
+ pixel = (ushort *)calloc(raw_width, tiff_samples * sizeof *pixel);
146
+ try
147
+ {
148
+ for (row = 0; row < raw_height; row++)
149
+ {
150
+ checkCancel();
151
+ if (tiff_bps == 16)
152
+ read_shorts(pixel, raw_width * tiff_samples);
153
+ else
154
+ {
155
+ getbits(-1);
156
+ for (col = 0; col < raw_width * tiff_samples; col++)
157
+ pixel[col] = getbits(tiff_bps);
158
+ }
159
+ for (rp = pixel, col = 0; col < raw_width; col++)
160
+ adobe_copy_pixel(row, col, &rp);
161
+ }
162
+ }
163
+ catch (...)
164
+ {
165
+ free(pixel);
166
+ shot_select = ss;
167
+ throw;
168
+ }
169
+ free(pixel);
170
+ shot_select = ss;
171
+ }
172
+ #ifdef NO_JPEG
173
+ void LibRaw::lossy_dng_load_raw() {}
174
+ #else
175
+
176
+ static void jpegErrorExit_d(j_common_ptr /*cinfo*/)
177
+ {
178
+ throw LIBRAW_EXCEPTION_DECODE_JPEG;
179
+ }
180
+
181
+ void LibRaw::lossy_dng_load_raw()
182
+ {
183
+ if (!image)
184
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
185
+ struct jpeg_decompress_struct cinfo;
186
+
187
+ unsigned sorder = order, ntags, opcode, deg, i, j, c;
188
+ unsigned trow = 0, tcol = 0, row, col;
189
+ INT64 save = data_offset - 4;
190
+ ushort cur[4][256];
191
+ double coeff[9], tot;
192
+
193
+ if (meta_offset)
194
+ {
195
+ fseek(ifp, meta_offset, SEEK_SET);
196
+ order = 0x4d4d;
197
+ ntags = get4();
198
+ while (ntags--)
199
+ {
200
+ opcode = get4();
201
+ get4();
202
+ get4();
203
+ if (opcode != 8)
204
+ {
205
+ fseek(ifp, get4(), SEEK_CUR);
206
+ continue;
207
+ }
208
+ fseek(ifp, 20, SEEK_CUR);
209
+ if ((c = get4()) > 3)
210
+ break;
211
+ fseek(ifp, 12, SEEK_CUR);
212
+ if ((deg = get4()) > 8)
213
+ break;
214
+ for (i = 0; i <= deg && i < 9; i++)
215
+ coeff[i] = getreal(LIBRAW_EXIFTAG_TYPE_DOUBLE);
216
+ for (i = 0; i < 256; i++)
217
+ {
218
+ for (tot = j = 0; j <= deg; j++)
219
+ tot += coeff[j] * pow(i / 255.0, (int)j);
220
+ cur[c][i] = (ushort)(tot * 0xffff);
221
+ }
222
+ }
223
+ order = sorder;
224
+ }
225
+ else
226
+ {
227
+ gamma_curve(1 / 2.4, 12.92, 1, 255);
228
+ FORC4 memcpy(cur[c], curve, sizeof cur[0]);
229
+ }
230
+
231
+ struct jpeg_error_mgr pub;
232
+ cinfo.err = jpeg_std_error(&pub);
233
+ pub.error_exit = jpegErrorExit_d;
234
+
235
+ std::vector<JSAMPLE> buf;
236
+
237
+ jpeg_create_decompress(&cinfo);
238
+
239
+ while (trow < raw_height)
240
+ {
241
+ fseek(ifp, save += 4, SEEK_SET);
242
+ if (tile_length < INT_MAX)
243
+ fseek(ifp, get4(), SEEK_SET);
244
+ if (libraw_internal_data.internal_data.input->jpeg_src(&cinfo) == -1)
245
+ {
246
+ jpeg_destroy_decompress(&cinfo);
247
+ throw LIBRAW_EXCEPTION_DECODE_JPEG;
248
+ }
249
+ jpeg_read_header(&cinfo, TRUE);
250
+ jpeg_start_decompress(&cinfo);
251
+ if (cinfo.output_components != colors)
252
+ throw LIBRAW_EXCEPTION_DECODE_JPEG;
253
+
254
+ if (buf.size() < cinfo.output_width * cinfo.output_components)
255
+ buf = std::vector<JSAMPLE>(cinfo.output_width * cinfo.output_components,0);
256
+
257
+ try
258
+ {
259
+ JSAMPLE *buffer_array[1];
260
+ buffer_array[0] = buf.data();
261
+ while (cinfo.output_scanline < cinfo.output_height &&
262
+ (row = trow + cinfo.output_scanline) < height)
263
+ {
264
+ checkCancel();
265
+ jpeg_read_scanlines(&cinfo, buffer_array, 1);
266
+ for (col = 0; col < cinfo.output_width && tcol + col < width; col++)
267
+ {
268
+ FORC(colors) image[row * width + tcol + col][c] = cur[c][buf[col*colors+c]];
269
+ }
270
+ }
271
+ }
272
+ catch (...)
273
+ {
274
+ jpeg_destroy_decompress(&cinfo);
275
+ throw;
276
+ }
277
+ jpeg_abort_decompress(&cinfo);
278
+ if ((tcol += tile_width) >= raw_width)
279
+ trow += tile_length + (tcol = 0);
280
+ }
281
+ jpeg_destroy_decompress(&cinfo);
282
+ maximum = 0xffff;
283
+ }
284
+ #endif