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,1451 @@
1
+ /* -*- C++ -*-
2
+ * Copyright 2019-2021 LibRaw LLC (info@libraw.org)
3
+ *
4
+
5
+ LibRaw is free software; you can redistribute it and/or modify
6
+ it under the terms of the one of two licenses as you choose:
7
+
8
+ 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
9
+ (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
10
+
11
+ 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
12
+ (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
13
+
14
+ */
15
+
16
+ #include "../../internal/dcraw_defs.h"
17
+ #include "../../internal/libraw_cameraids.h"
18
+
19
+ void LibRaw::GetNormalizedModel()
20
+ {
21
+
22
+ int i, j;
23
+ char *ps;
24
+ int try_xml = 0;
25
+
26
+ static const struct
27
+ {
28
+ unsigned long long id;
29
+ char t_model[20];
30
+ } unique[] =
31
+ // clang-format off
32
+ {
33
+ { CanonID_EOS_M50, "EOS M50"}, // Kiss M
34
+ { CanonID_EOS_M6_Mark_II, "EOS M6 Mark II"},
35
+ { CanonID_EOS_M200, "EOS M200"},
36
+ { CanonID_EOS_D30, "EOS D30"},
37
+ { CanonID_EOS_D60, "EOS D60"},
38
+ { CanonID_EOS_M3, "EOS M3"},
39
+ { CanonID_EOS_M10, "EOS M10"},
40
+ { CanonID_EOS_M5, "EOS M5"},
41
+ { CanonID_EOS_M100, "EOS M100"},
42
+ { CanonID_EOS_M6, "EOS M6"},
43
+ { CanonID_EOS_1D, "EOS-1D"},
44
+ { CanonID_EOS_1Ds, "EOS-1Ds"},
45
+ { CanonID_EOS_10D, "EOS 10D"},
46
+ { CanonID_EOS_1D_Mark_III, "EOS-1D Mark III"},
47
+ { CanonID_EOS_300D, "EOS 300D"}, // Digital Rebel / Kiss Digital
48
+ { CanonID_EOS_1D_Mark_II, "EOS-1D Mark II"},
49
+ { CanonID_EOS_20D, "EOS 20D"},
50
+ { CanonID_EOS_450D, "EOS 450D"}, // Digital Rebel XSi / Kiss X2
51
+ { CanonID_EOS_1Ds_Mark_II, "EOS-1Ds Mark II"},
52
+ { CanonID_EOS_350D, "EOS 350D"}, // Digital Rebel XT / Kiss Digital N
53
+ { CanonID_EOS_40D, "EOS 40D"},
54
+ { CanonID_EOS_5D, "EOS 5D"},
55
+ { CanonID_EOS_1Ds_Mark_III, "EOS-1Ds Mark III"},
56
+ { CanonID_EOS_5D_Mark_II, "EOS 5D Mark II"},
57
+ { CanonID_EOS_1D_Mark_II_N, "EOS-1D Mark II N"},
58
+ { CanonID_EOS_30D, "EOS 30D"},
59
+ { CanonID_EOS_400D, "EOS 400D"}, // Digital Rebel XTi / Kiss Digital X
60
+ { CanonID_EOS_7D, "EOS 7D"},
61
+ { CanonID_EOS_500D, "EOS 500D"}, // Rebel T1i / Kiss X3
62
+ { CanonID_EOS_1000D, "EOS 1000D"}, // Digital Rebel XS / Kiss F
63
+ { CanonID_EOS_50D, "EOS 50D"},
64
+ { CanonID_EOS_1D_X, "EOS-1D X"},
65
+ { CanonID_EOS_550D, "EOS 550D"}, // Rebel T2i / Kiss X4
66
+ { CanonID_EOS_1D_Mark_IV, "EOS-1D Mark IV"},
67
+ { CanonID_EOS_5D_Mark_III, "EOS 5D Mark III"},
68
+ { CanonID_EOS_600D, "EOS 600D"}, // Rebel T3i / Kiss X5
69
+ { CanonID_EOS_60D, "EOS 60D"},
70
+ { CanonID_EOS_1100D, "EOS 1100D"}, // Rebel T3 / Kiss X50
71
+ { CanonID_EOS_7D_Mark_II, "EOS 7D Mark II"},
72
+ { CanonID_EOS_650D, "EOS 650D"}, // Rebel T4i / Kiss X6i
73
+ { CanonID_EOS_6D, "EOS 6D"},
74
+ { CanonID_EOS_1D_C, "EOS-1D C"},
75
+ { CanonID_EOS_70D, "EOS 70D"},
76
+ { CanonID_EOS_700D, "EOS 700D"}, // Rebel T5i / Kiss X7i
77
+ { CanonID_EOS_1200D, "EOS 1200D"}, // Rebel T5 / Kiss X70 / Hi
78
+ { CanonID_EOS_1D_X_Mark_II, "EOS-1D X Mark II"},
79
+ { CanonID_EOS_M, "EOS M"},
80
+ { CanonID_EOS_100D, "EOS 100D"}, // Rebel SL1 / Kiss X7
81
+ { CanonID_EOS_760D, "EOS 760D"}, // Rebel T6s / 8000D
82
+ { CanonID_EOS_5D_Mark_IV, "EOS 5D Mark IV"},
83
+ { CanonID_EOS_80D, "EOS 80D"},
84
+ { CanonID_EOS_M2, "EOS M2"},
85
+ { CanonID_EOS_5DS, "EOS 5DS"},
86
+ { CanonID_EOS_750D, "EOS 750D"}, // Rebel T6i / Kiss X8i
87
+ { CanonID_EOS_5DS_R, "EOS 5DS R"},
88
+ { CanonID_EOS_1300D, "EOS 1300D"}, // Rebel T6 / Kiss X80
89
+ { CanonID_EOS_800D, "EOS 800D"}, // Rebel T7i / Kiss X9i
90
+ { CanonID_EOS_6D_Mark_II, "EOS 6D Mark II"},
91
+ { CanonID_EOS_77D, "EOS 77D"}, // 9000D
92
+ { CanonID_EOS_200D, "EOS 200D"}, // Rebel SL2 / Kiss X9
93
+ { CanonID_EOS_R5, "EOS R5"},
94
+ { CanonID_EOS_3000D, "EOS 3000D"}, // Rebel T100 / 4000D
95
+ { CanonID_EOS_R, "EOS R"},
96
+ { CanonID_EOS_1D_X_Mark_III, "EOS-1D X Mark III"},
97
+ { CanonID_EOS_1500D, "EOS 1500D"}, // Rebel T7 / 2000D / Kiss X90
98
+ { CanonID_EOS_RP, "EOS RP"},
99
+ { CanonID_EOS_850D, "EOS 850D"}, // EOS Rebel T8i / X10i
100
+ { CanonID_EOS_250D, "EOS 250D"}, // Rebel SL3 / 200D II / Kiss X10
101
+ { CanonID_EOS_90D, "EOS 90D"},
102
+ { CanonID_EOS_R3, "EOS R3"},
103
+ { CanonID_EOS_R6, "EOS R6"},
104
+ { CanonID_EOS_R7, "EOS R7"},
105
+ { CanonID_EOS_R10, "EOS R10"},
106
+ { CanonID_EOS_M50_Mark_II, "EOS M50 Mark II"}, // M50m2, Kiss M2
107
+ },
108
+ #if 0
109
+ olyque[] = {
110
+ { OlyID_E_20, "E-20"},
111
+ { OlyID_E_20, "E-20,E-20N,E-20P"},
112
+ { OlyID_E_1, "E-1"},
113
+ { OlyID_E_300, "E-300"},
114
+ { OlyID_SP_550UZ, "SP-550UZ"},
115
+ { OlyID_SP_550UZ, "SP550UZ"},
116
+ { OlyID_SP_510UZ, "SP-510UZ"},
117
+ { OlyID_SP_510UZ, "SP510UZ"},
118
+ { OlyID_SP_560UZ, "SP-560UZ"},
119
+ { OlyID_SP_560UZ, "SP560UZ"},
120
+ { OlyID_SP_570UZ, "SP-570UZ"},
121
+ { OlyID_SP_570UZ, "SP570UZ"},
122
+ { OlyID_SP_565UZ, "SP-565UZ"},
123
+ { OlyID_SP_565UZ, "SP565UZ"},
124
+ { OlyID_XZ_1, "XZ-1"},
125
+ { OlyID_XZ_2, "XZ-2"},
126
+ { OlyID_XZ_10, "XZ-10"},
127
+ { OlyID_STYLUS_1, "Stylus 1"},
128
+ { OlyID_STYLUS_1, "STYLUS1"},
129
+ { OlyID_STYLUS_1, "STYLUS1,1s"},
130
+ { OlyID_SH_2, "SH-2"},
131
+ { OlyID_TG_4, "TG-4"},
132
+ { OlyID_TG_5, "TG-5"},
133
+ { OlyID_TG_6, "TG-6"},
134
+ { OlyID_E_10, "E-10"},
135
+ { OlyID_AIR_A01, "AIR A01"},
136
+ { OlyID_AIR_A01, "AIR-A01"},
137
+ { OlyID_E_330, "E-330"},
138
+ { OlyID_E_500, "E-500"},
139
+ { OlyID_E_400, "E-400"},
140
+ { OlyID_E_510, "E-510"},
141
+ { OlyID_E_3, "E-3"},
142
+ { OlyID_E_410, "E-410"},
143
+ { OlyID_E_420, "E-420"},
144
+ { OlyID_E_30, "E-30"},
145
+ { OlyID_E_520, "E-520"},
146
+ { OlyID_E_P1, "E-P1"},
147
+ { OlyID_E_620, "E-620"},
148
+ { OlyID_E_P2, "E-P2"},
149
+ { OlyID_E_PL1, "E-PL1"},
150
+ { OlyID_E_450, "E-450"},
151
+ { OlyID_E_600, "E-600"},
152
+ { OlyID_E_P3, "E-P3"},
153
+ { OlyID_E_5, "E-5"},
154
+ { OlyID_E_PL2, "E-PL2"},
155
+ { OlyID_E_M5, "E-M5"},
156
+ { OlyID_E_PL3, "E-PL3"},
157
+ { OlyID_E_PM1, "E-PM1"},
158
+ { OlyID_E_PL1s, "E-PL1s"},
159
+ { OlyID_E_PL5, "E-PL5"},
160
+ { OlyID_E_PM2, "E-PM2"},
161
+ { OlyID_E_P5, "E-P5"},
162
+ { OlyID_E_PL6, "E-PL6"},
163
+ { OlyID_E_PL7, "E-PL7"},
164
+ { OlyID_E_M1, "E-M1"},
165
+ { OlyID_E_M10, "E-M10"},
166
+ { OlyID_E_M5_Mark_II, "E-M5 Mark II"},
167
+ { OlyID_E_M5_Mark_II, "E-M5MarkII"},
168
+ { OlyID_E_M5_Mark_II, "E-M5_M2"},
169
+ { OlyID_E_M10_Mark_II, "E-M10 Mark II"}, // Clauss piX 5oo
170
+ { OlyID_E_M10_Mark_II, "E-M10MarkII"},
171
+ { OlyID_E_M10_Mark_II, "E-M10_M2"},
172
+ { OlyID_PEN_F, "PEN-F"},
173
+ { OlyID_E_PL8, "E-PL8"},
174
+ { OlyID_E_M1_Mark_II, "E-M1 Mark II"},
175
+ { OlyID_E_M1_Mark_II, "E-M1MarkII"},
176
+ { OlyID_E_M1_Mark_II, "E-M1_M2"},
177
+ { OlyID_E_M10_Mark_III, "E-M10 Mark III"},
178
+ { OlyID_E_M10_Mark_III, "E-M10_M3"},
179
+ { OlyID_E_PL9, "E-PL9"},
180
+ { OlyID_E_M1X, "E-M1X"},
181
+ { OlyID_E_PL10, "E-PL10"},
182
+ { OlyID_E_M10_Mark_IV, "E-M10 Mark IV"},
183
+ { OlyID_E_M10_Mark_IV, "E-M10MarkIV"},
184
+ { OlyID_E_M10_Mark_IV, "E-M10_M4"},
185
+ { OlyID_E_M5_Mark_III, "E-M5 Mark III"},
186
+ { OlyID_E_M5_Mark_III, "E-M5MarkIII"},
187
+ { OlyID_E_M5_Mark_III, "E-M5_M3"},
188
+ { OlyID_E_M1_Mark_III, "E-M1 Mark III"},
189
+ { OlyID_E_M1_Mark_III, "E-M1MarkIII"},
190
+ { OlyID_E_M1_Mark_III, "E-M1_M3"},
191
+ { OlyID_E_P7 "E-P7"},
192
+ { OlyID_C_3030Z, "C-3030Z"},
193
+ { OlyID_C_3030Z, "C3030Z"},
194
+ { OlyID_C_5050Z, "C-5050Z"},
195
+ { OlyID_C_5050Z, "C5050Z"},
196
+ { OlyID_C_350Z, "C-350Z"},
197
+ { OlyID_C_350Z, "X200,D560Z,C350Z"},
198
+ { OlyID_C_740UZ, "C-740UZ"},
199
+ { OlyID_C_740UZ, "C740UZ"},
200
+ { OlyID_C_5060WZ, "C-5060WZ"},
201
+ { OlyID_C_5060WZ, "C5060WZ"},
202
+ { OlyID_C_8080WZ, "C-8080WZ"},
203
+ { OlyID_C_8080WZ, "C8080WZ"},
204
+ { OlyID_C_770UZ, "C-770UZ"},
205
+ { OlyID_C_770UZ, "C770UZ"},
206
+ { OlyID_C_7070WZ, "C-7070WZ"},
207
+ { OlyID_C_7070WZ, "C7070WZ"},
208
+ { OlyID_C_7000Z, "C-7000Z"},
209
+ { OlyID_C_7000Z, "C70Z,C7000Z"},
210
+ { OlyID_SP_500UZ, "SP-500UZ"},
211
+ { OlyID_SP_500UZ, "SP500UZ"},
212
+ { OlyID_SP_310, "SP-310"},
213
+ { OlyID_SP_310, "SP310"},
214
+ { OlyID_SP_350, "SP-350"},
215
+ { OlyID_SP_350, "SP350"},
216
+ { OlyID_SP_320, "SP-320"},
217
+ { OlyID_SP_320, "SP320"},
218
+ },
219
+
220
+ penique[] = {
221
+ { PentaxID_Optio_S, "Optio S"},
222
+ { PentaxID_Optio_S_V101, "Optio S V1.01"},
223
+ { PentaxID_staristD, "*istD"},
224
+ { PentaxID_staristD, "*ist D"},
225
+ { PentaxID_Optio_33WR, "Optio 33WR"},
226
+ { PentaxID_Optio_S4, "Optio S4"},
227
+ { PentaxID_Optio_750Z, "Optio 750Z"},
228
+ { PentaxID_staristDS, "*istDS"},
229
+ { PentaxID_staristDS, "*ist DS"},
230
+ { PentaxID_staristDL, "*istDL"},
231
+ { PentaxID_staristDL, "*ist DL"},
232
+ { PentaxID_staristDS2, "*istDS2"},
233
+ { PentaxID_staristDS2, "*ist DS2"},
234
+ { PentaxID_GX_1S, "GX-1S"}, // Samsung
235
+ { PentaxID_staristDL2, "*istDL2"},
236
+ { PentaxID_staristDL2, "*ist DL2"},
237
+ { PentaxID_GX_1L, "GX-1L"}, // Samsung
238
+ { PentaxID_K100D, "K100D"},
239
+ { PentaxID_K110D, "K110D"},
240
+ { PentaxID_K100D_Super, "K100D Super"},
241
+ { PentaxID_K10D, "K10D"},
242
+ { PentaxID_GX10, "GX10"}, // Samsung
243
+ { PentaxID_GX10, "GX-10"}, // Samsung
244
+ { PentaxID_K20D, "K20D"},
245
+ { PentaxID_GX20, "GX20"}, // Samsung
246
+ { PentaxID_GX20, "GX-20"}, // Samsung
247
+ { PentaxID_K200D, "K200D"},
248
+ { PentaxID_K2000, "K2000"},
249
+ { PentaxID_K_m, "K-m"},
250
+ { PentaxID_K_7, "K-7"},
251
+ { PentaxID_K_x, "K-x"},
252
+ { PentaxID_645D, "645D"},
253
+ { PentaxID_K_r, "K-r"},
254
+ { PentaxID_K_5, "K-5"},
255
+ { PentaxID_Q, "Q"},
256
+ { PentaxID_K_01, "K-01"},
257
+ { PentaxID_K_30, "K-30"},
258
+ { PentaxID_Q10, "Q10"},
259
+ { PentaxID_K_5_II, "K-5 II"},
260
+ { PentaxID_K_5_II_s, "K-5 II s"},
261
+ { PentaxID_Q7, "Q7"},
262
+ { PentaxID_MX_1, "MX-1"},
263
+ { PentaxID_K_50, "K-50"},
264
+ { PentaxID_K_3, "K-3"},
265
+ { PentaxID_K_500, "K-500"},
266
+ { PentaxID_645Z, "645Z"},
267
+ { PentaxID_K_S1, "K-S1"},
268
+ { PentaxID_K_S2, "K-S2"}, // Ricoh
269
+ { PentaxID_Q_S1, "Q-S1"},
270
+ { PentaxID_K_1, "K-1"}, // Ricoh
271
+ { PentaxID_K_3_II, "K-3 II"}, // Ricoh
272
+ { PentaxID_GR_III, "GR III"}, // Ricoh
273
+ { PentaxID_K_70, "K-70"}, // Ricoh
274
+ { PentaxID_KP, "KP"}, // Ricoh
275
+ { PentaxID_K_1_Mark_II, "K-1 Mark II"}, // Ricoh
276
+ { PentaxID_K_3_III, "K-3 Mark III"}, // Ricoh
277
+ { PentaxID_GR_IIIx, "GR IIIx"},
278
+ },
279
+ #endif
280
+ sonique[] = {
281
+ { SonyID_DSC_R1, "DSC-R1"},
282
+ { SonyID_DSLR_A100, "DSLR-A100"},
283
+ { SonyID_DSLR_A900, "DSLR-A900"},
284
+ { SonyID_DSLR_A700, "DSLR-A700"},
285
+ { SonyID_DSLR_A200, "DSLR-A200"},
286
+ { SonyID_DSLR_A350, "DSLR-A350"},
287
+ { SonyID_DSLR_A300, "DSLR-A300"},
288
+ { SonyID_DSLR_A900_APSC, "DSLR-A900"},
289
+ { SonyID_DSLR_A380, "DSLR-A380"}, // DSLR-A390
290
+ { SonyID_DSLR_A330, "DSLR-A330"},
291
+ { SonyID_DSLR_A230, "DSLR-A230"},
292
+ { SonyID_DSLR_A290, "DSLR-A290"},
293
+ { SonyID_DSLR_A850, "DSLR-A850"},
294
+ { SonyID_DSLR_A850_APSC, "DSLR-A850"},
295
+ { SonyID_DSLR_A550, "DSLR-A550"},
296
+ { SonyID_DSLR_A500, "DSLR-A500"},
297
+ { SonyID_DSLR_A450, "DSLR-A450"},
298
+ { SonyID_NEX_5, "NEX-5"},
299
+ { SonyID_NEX_3, "NEX-3"},
300
+ { SonyID_SLT_A33, "SLT-A33"},
301
+ { SonyID_SLT_A55, "SLT-A55"}, // SLT-A55V
302
+ { SonyID_DSLR_A560, "DSLR-A560"},
303
+ { SonyID_DSLR_A580, "DSLR-A580"},
304
+ { SonyID_NEX_C3, "NEX-C3"},
305
+ { SonyID_SLT_A35, "SLT-A35"},
306
+ { SonyID_SLT_A65, "SLT-A65"}, // SLT-A65V
307
+ { SonyID_SLT_A77, "SLT-A77"}, // SLT-A77V
308
+ { SonyID_NEX_5N, "NEX-5N"},
309
+ { SonyID_NEX_7, "NEX-7"}, // Hasselblad Lunar
310
+ { SonyID_NEX_VG20, "NEX-VG20"},
311
+ { SonyID_SLT_A37, "SLT-A37"},
312
+ { SonyID_SLT_A57, "SLT-A57"},
313
+ { SonyID_NEX_F3, "NEX-F3"},
314
+ { SonyID_SLT_A99, "SLT-A99"}, // SLT-A99V / Hasselblad HV
315
+ { SonyID_NEX_6, "NEX-6"},
316
+ { SonyID_NEX_5R, "NEX-5R"},
317
+ { SonyID_DSC_RX100, "DSC-RX100"}, // Hasselblad Stellar
318
+ { SonyID_DSC_RX1, "DSC-RX1"},
319
+ { SonyID_NEX_VG900, "NEX-VG900"},
320
+ { SonyID_NEX_VG30, "NEX-VG30"},
321
+ { SonyID_ILCE_3000, "ILCE-3000"}, // ILCE-3500
322
+ { SonyID_SLT_A58, "SLT-A58"},
323
+ { SonyID_NEX_3N, "NEX-3N"},
324
+ { SonyID_ILCE_7, "ILCE-7"},
325
+ { SonyID_NEX_5T, "NEX-5T"},
326
+ { SonyID_DSC_RX100M2, "DSC-RX100M2"}, // Hasselblad Stellar II
327
+ { SonyID_DSC_RX10, "DSC-RX10"},
328
+ { SonyID_DSC_RX1R, "DSC-RX1R"},
329
+ { SonyID_ILCE_7R, "ILCE-7R"}, // Hasselblad Lusso
330
+ { SonyID_ILCE_6000, "ILCE-6000"},
331
+ { SonyID_ILCE_5000, "ILCE-5000"},
332
+ { SonyID_DSC_RX100M3, "DSC-RX100M3"},
333
+ { SonyID_ILCE_7S, "ILCE-7S"},
334
+ { SonyID_ILCA_77M2, "ILCA-77M2"},
335
+ { SonyID_ILCE_5100, "ILCE-5100"},
336
+ { SonyID_ILCE_7M2, "ILCE-7M2"},
337
+ { SonyID_DSC_RX100M4, "DSC-RX100M4"},
338
+ { SonyID_DSC_RX10M2, "DSC-RX10M2"},
339
+ { SonyID_DSC_RX1RM2, "DSC-RX1RM2"},
340
+ { SonyID_ILCE_QX1, "ILCE-QX1"},
341
+ { SonyID_ILCE_7RM2, "ILCE-7RM2"},
342
+ { SonyID_ILCE_7SM2, "ILCE-7SM2"},
343
+ { SonyID_ILCA_68, "ILCA-68"},
344
+ { SonyID_ILCA_99M2, "ILCA-99M2"},
345
+ { SonyID_DSC_RX10M3, "DSC-RX10M3"},
346
+ { SonyID_DSC_RX100M5, "DSC-RX100M5"},
347
+ { SonyID_ILCE_6300, "ILCE-6300"},
348
+ { SonyID_ILCE_9, "ILCE-9"},
349
+ { SonyID_ILCE_6500, "ILCE-6500"},
350
+ { SonyID_ILCE_7RM3, "ILCE-7RM3"},
351
+ { SonyID_ILCE_7M3, "ILCE-7M3"},
352
+ { SonyID_DSC_RX0, "DSC-RX0"},
353
+ { SonyID_DSC_RX10M4, "DSC-RX10M4"},
354
+ { SonyID_DSC_RX100M6, "DSC-RX100M6"},
355
+ { SonyID_DSC_HX99, "DSC-HX99"},
356
+ { SonyID_DSC_RX100M5A, "DSC-RX100M5A"},
357
+ { SonyID_ILCE_6400, "ILCE-6400"},
358
+ { SonyID_DSC_RX0M2, "DSC-RX0M2"},
359
+ { SonyID_DSC_RX100M7, "DSC-RX100M7"},
360
+ { SonyID_ILCE_7RM4, "ILCE-7RM4"},
361
+ { SonyID_ILCE_9M2, "ILCE-9M2"},
362
+ { SonyID_ILCE_6600, "ILCE-6600"},
363
+ { SonyID_ILCE_6100, "ILCE-6100"},
364
+ { SonyID_ZV_1, "ZV-1"},
365
+ { SonyID_ILCE_7C, "ILCE-7C"},
366
+ { SonyID_ZV_E10, "ZV-E10"},
367
+ { SonyID_ILCE_7SM3, "ILCE-7SM3"},
368
+ { SonyID_ILCE_1, "ILCE-1"},
369
+ { SonyID_ILME_FX3, "ILME-FX3"},
370
+ { SonyID_ILCE_7RM3A, "ILCE-7RM3A"},
371
+ { SonyID_ILCE_7RM4A, "ILCE-7RM4A"},
372
+ { SonyID_ILCE_7M4, "ILCE-7M4"},
373
+ };
374
+
375
+ static const char *orig;
376
+
377
+ static const char fujialias[][16] = {
378
+ "@DBP for GX680", "DX-2000",
379
+ "@F500EXR", "F505EXR",
380
+ "@F600EXR", "F605EXR",
381
+ "@F770EXR", "F775EXR",
382
+ "@HS10", "HS10 HS11",
383
+ "@HS20EXR", "HS22EXR",
384
+ "@HS30EXR", "HS33EXR", "HS35EXR",
385
+ "@S5100", "S5500",
386
+ "@S5200", "S5600",
387
+ "@S6000fd", "S6500fd",
388
+ "@S9000", "S9500",
389
+ "@S9100", "S9600",
390
+ "@S200EXR", "S205EXR",
391
+ "@X-T1 IR", "X-T1IR",
392
+ "@GFX 100S", "GFX100S",
393
+ "@GFX 50S II", "GFX50S II"
394
+ };
395
+
396
+ static const char kodakalias[][16] = {
397
+ "@DCS Pro 14N", "Camerz ZDS 14", // Camerz rebadge make: "Photo Control"
398
+ "@DCS720X", "SCS2000",
399
+ "@DCS520C", "EOS D2000C", "EOS D2000", // EOS rebadge make: Canon
400
+ "@DCS560C", "EOS D6000C", "EOS D6000", // EOS rebadge make: Canon
401
+ "@DCS460M", "DCS460A", // 'A' was supposed to stand for 'achromatic', marketing changed it to 'M'
402
+ "@DCS460", "DCS460C", "DCS460D",
403
+ "@DCS465", "DCS465C", "DCS465D",
404
+ "@EOSDCS1", "EOSDCS1B", "EOSDCS1C",
405
+ "@EOSDCS3", "EOSDCS3B", "EOSDCS3C",
406
+ };
407
+
408
+ static const struct
409
+ {
410
+ const char *Kmodel;
411
+ ushort mount;
412
+ } Kodak_mounts[] = {
413
+ {"DCS465", LIBRAW_MOUNT_DigitalBack},
414
+ {"DCS5", LIBRAW_MOUNT_Canon_EF},
415
+ {"DCS Pro SLR/c", LIBRAW_MOUNT_Canon_EF},
416
+ {"DCS", LIBRAW_MOUNT_Nikon_F},
417
+ {"EOS", LIBRAW_MOUNT_Canon_EF},
418
+ {"NC2000", LIBRAW_MOUNT_Nikon_F}, // AP "News Camera"
419
+ {"Pixpro S-1", LIBRAW_MOUNT_mFT},
420
+ {"ProBack", LIBRAW_MOUNT_DigitalBack},
421
+ {"SCS1000", LIBRAW_MOUNT_Canon_EF},
422
+ };
423
+
424
+ static const char *KodakMonochrome[] = {
425
+ "DCS420M", "DCS420A", "DCS420I",
426
+ "DCS460M", "DCS460A", "DCS460I",
427
+ "DCS465M", "DCS465A", "DCS465I",
428
+ "DCS560M", "DCS660M", "DCS760M", "EOS D2000M", "EOS D6000M",
429
+ "EOSDCS1M", "EOSDCS1I",
430
+ "EOSDCS3M", "EOSDCS3I",
431
+ "EOSDCS5M", "EOSDCS5I",
432
+ "NC2000M", "NC2000A", "NC2000I",
433
+ };
434
+
435
+ static const char leafalias[][16] = {
436
+ // Leaf re-badged to Mamiya
437
+ "@Aptus-II 5", "DM22",
438
+ "@Aptus-II 6", "DM28",
439
+ "@Aptus-II 7", "DM33",
440
+ "@Aptus-II 8", "DM40",
441
+ "@Aptus-II 10", "DM56",
442
+ };
443
+
444
+ static const char KonicaMinolta_aliases[][24] = {
445
+ "@DG-5D", "DYNAX 5D", "MAXXUM 5D", "ALPHA-5 DIGITAL", "ALPHA SWEET DIGITAL",
446
+ "@DG-7D", "DYNAX 7D", "MAXXUM 7D", "ALPHA-7 DIGITAL",
447
+ };
448
+
449
+ static const char nikonalias[][16] = {
450
+ "@COOLPIX 2100", "E2100", "@COOLPIX 2500", "E2500",
451
+ "@COOLPIX 3200", "E3200", "@COOLPIX 3700", "E3700",
452
+ "@COOLPIX 4300", "E4300", "@COOLPIX 4500", "E4500",
453
+ "@COOLPIX 5000", "E5000", "@COOLPIX 5400", "E5400",
454
+ "@COOLPIX 5700", "E5700", "@COOLPIX 8400", "E8400",
455
+ "@COOLPIX 8700", "E8700", "@COOLPIX 8800", "E8800",
456
+ "@COOLPIX 700", "E700", "@COOLPIX 800", "E800",
457
+ "@COOLPIX 880", "E880", "@COOLPIX 900", "E900",
458
+ "@COOLPIX 950", "E950", "@COOLPIX 990", "E990",
459
+ "@COOLPIX 995", "E995", "@COOLPIX P7700", "COOLPIX Deneb",
460
+ "@COOLPIX P7800", "COOLPIX Kalon",
461
+ };
462
+
463
+ static const char olyalias[][32] = { // Olympus
464
+ "@AIR A01", "AIR-A01",
465
+ "@C-3030Z", "C3030Z",
466
+ "@C-5050Z", "C5050Z",
467
+ "@C-5060WZ", "C5060WZ",
468
+ "@C-7000Z", "C7000Z", "C70Z,C7000Z", "C70Z",
469
+ "@C-7070WZ", "C7070WZ",
470
+ "@C-8080WZ", "C8080WZ",
471
+ "@C-350Z", "C350Z", "X200,D560Z,C350Z", "X200", "D560Z",
472
+ "@C-740UZ", "C740UZ",
473
+ "@C-770UZ", "C770UZ",
474
+ "@E-20", "E-20,E-20N,E-20P", "E-20N", "E-20P",
475
+ "@E-M10 Mark II", "E-M10MarkII", "E-M10_M2", "piX 5oo",
476
+ "@E-M10 Mark III", "E-M10MarkIII", "E-M10_M3",
477
+ "@E-M10 Mark IV", "E-M10MarkIV", "E-M10_M4",
478
+ "@E-M1 Mark II", "E-M1MarkII", "E-M1_M2",
479
+ "@E-M1 Mark III", "E-M1MarkIII", "E-M1_M3",
480
+ "@E-M5 Mark II", "E-M5MarkII", "E-M5_M2",
481
+ "@E-M5 Mark III", "E-M5MarkIII", "E-M5_M3",
482
+ "@SH-2", "SH-3",
483
+ "@SP-310", "SP310",
484
+ "@SP-320", "SP320",
485
+ "@SP-350", "SP350",
486
+ "@SP-500UZ", "SP500UZ",
487
+ "@SP-510UZ", "SP510UZ",
488
+ "@SP-550UZ", "SP550UZ",
489
+ "@SP-560UZ", "SP560UZ",
490
+ "@SP-565UZ", "SP565UZ",
491
+ "@SP-570UZ", "SP570UZ",
492
+ "@Stylus 1", "STYLUS1", "STYLUS1s", "STYLUS1,1s",
493
+ };
494
+
495
+ static const char panalias[][16] = { // Panasonic, PanaLeica
496
+ // fixed lens
497
+ "@DMC-FX150", "DMC-FX180",
498
+ "@DC-FZ1000M2", "DC-FZ10002", "V-Lux 5",
499
+ "@DMC-FZ1000", "V-LUX (Typ 114)",
500
+ "@DMC-FZ2500", "DMC-FZ2000", "DMC-FZH1",
501
+ "@DMC-FZ100", "V-LUX 2",
502
+ "@DMC-FZ150", "V-LUX 3",
503
+ "@DMC-FZ200", "V-LUX 4",
504
+ "@DMC-FZ300", "DMC-FZ330",
505
+ "@DMC-FZ35", "DMC-FZ38",
506
+ "@DMC-FZ40", "DMC-FZ42", "DMC-FZ45", "DC-FZ40", "DC-FZ42", "DC-FZ45",
507
+ "@DMC-FZ50", "V-LUX 1", "V-LUX1",
508
+ "@DMC-FZ70", "DMC-FZ72",
509
+ "@DC-FZ80", "DC-FZ81", "DC-FZ82", "DC-FZ83", "DC-FZ85",
510
+ "@DMC-LC1", "DIGILUX 2", "Digilux 2", "DIGILUX2",
511
+ "@DMC-LF1", "C (Typ 112)",
512
+ "@DC-LX100M2", "D-Lux 7",
513
+ "@DMC-LX100", "D-LUX (Typ 109)", "D-Lux (Typ 109)",
514
+ "@DMC-LX1", "D-Lux2", "D-LUX2", "D-LUX 2",
515
+ "@DMC-LX2", "D-LUX 3", "D-LUX3",
516
+ "@DMC-LX3", "D-LUX 4",
517
+ "@DMC-LX5", "D-LUX 5",
518
+ "@DMC-LX7", "D-LUX 6",
519
+ "@DMC-LX9", "DMC-LX10", "DMC-LX15",
520
+ "@DMC-ZS100", "DMC-ZS110", "DMC-TZ100", "DMC-TZ101", "DMC-TZ110", "DMC-TX1",
521
+ "@DC-ZS200", "DC-ZS220", "DC-TZ200", "DC-TZ202", "DC-TZ220", "DC-TX2", "C-Lux", "CAM-DC25",
522
+ "@DMC-ZS40", "DMC-TZ60", "DMC-TZ61",
523
+ "@DMC-ZS50", "DMC-TZ70", "DMC-TZ71",
524
+ "@DMC-ZS60", "DMC-TZ80", "DMC-TZ81", "DMC-TZ82", "DMC-TZ85",
525
+ "@DC-ZS70", "DC-TZ90", "DC-TZ91", "DC-TZ92", "DC-TZ93",
526
+ "@DC-ZS80", "DC-TZ95", "DC-TZ96", "DC-TZ97",
527
+
528
+ // interchangeable lens
529
+ "@DC-G100", "DC-G110",
530
+ "@DC-G99", "DC-G90", "DC-G91", "DC-G95",
531
+ "@DMC-G7", "DMC-G70",
532
+ "@DMC-G8", "DMC-G80", "DMC-G81", "DMC-G85",
533
+ "@DMC-GH4", "AG-GH4", "CGO4",
534
+ "@DC-GF10", "DC-GF90", "DC-GX880",
535
+ "@DC-GF9", "DC-GX850", "DC-GX800",
536
+ "@DMC-GM1", "DMC-GM1S",
537
+ "@DMC-GX85", "DMC-GX80", "DMC-GX7MK2",
538
+ "@DC-GX9", "DC-GX7MK3",
539
+ "@DMC-L1", "DIGILUX 3", "DIGILUX3", // full 4/3 mount, not m43
540
+ };
541
+
542
+ static const char phase1alias[][16] = {
543
+ "@H20", "H 20",
544
+ "@H25", "H 25",
545
+ "@P20+", "P 20+",
546
+ "@P20", "P 20",
547
+ "@P21+", "P 21+", "M18", // "Mamiya M18"
548
+ "@P21", "P 21",
549
+ "@P25+", "P 25+", "M22", // "Mamiya M22"
550
+ "@P25", "P 25",
551
+ "@P30+", "P 30+", "M31", // "Mamiya M31"
552
+ "@P30", "P 30",
553
+ "@P40+", "P 40+",
554
+ "@P40", "P 40",
555
+ "@P45+", "P 45+",
556
+ "@P45", "P 45",
557
+ "@P65+", "P 65+",
558
+ "@P65", "P 65",
559
+ };
560
+
561
+ static const char SamsungPentax_aliases[][16] = {
562
+ "@*istDL2", "*ist DL2", "GX-1L",
563
+ "@*istDS2", "*ist DS2", "GX-1S",
564
+ "@*istDL", "*ist DL",
565
+ "@*istDS", "*ist DS",
566
+ "@*istD", "*ist D",
567
+ "@K10D", "GX10", "GX-10",
568
+ "@K20D", "GX20", "GX-20",
569
+ "@K-m", "K2000",
570
+ };
571
+
572
+ static const char samsungalias[][64] = {
573
+ "@EX1", "TL500",
574
+ "@NX U", "EK-GN100", "EK-GN110", "EK-GN120", "EK-KN120", "Galaxy NX",
575
+ "@NX mini", "NXF1",
576
+ "@WB2000", "TL350",
577
+ // "@WB5000", "WB5000/HZ25W", // no spaces around the slash separating names
578
+ // "@WB5500", "WB5500 / VLUU WB5500 / SAMSUNG HZ50W",
579
+ // "@WB500", "WB510 / VLUU WB500 / SAMSUNG HZ10W",
580
+ // "@WB550", "WB560 / VLUU WB550 / SAMSUNG HZ15W",
581
+ // "@WB650", "SAMSUNG WB650 / VLUU WB650 / SAMSUNG WB660" aka HZ35W
582
+ };
583
+
584
+ //clang-format on
585
+ if (makeIs(LIBRAW_CAMERAMAKER_VLUU)) {
586
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Samsung);
587
+ }
588
+
589
+ if (makeIs(LIBRAW_CAMERAMAKER_Samsung) &&
590
+ (ilm.CameraMount == LIBRAW_MOUNT_Pentax_K)) {
591
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Pentax);
592
+
593
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Unknown)) {
594
+ if (strcasestr(model, "Google")) {
595
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Google);
596
+ }
597
+ #ifdef USE_6BY9RPI
598
+ else if(strcasestr(make,"RaspberryPi"))
599
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_RaspberryPi);
600
+ #endif
601
+ }
602
+ else if (makeIs(LIBRAW_CAMERAMAKER_Hasselblad) && is_Sony)
603
+ {
604
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Sony);
605
+ }
606
+ else if (makeIs(LIBRAW_CAMERAMAKER_OmDigital))
607
+ {
608
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Olympus);
609
+ }
610
+ else if (makeIs(LIBRAW_CAMERAMAKER_Clauss) && (OlyID == OlyID_E_M10_Mark_II))
611
+ {
612
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Olympus);
613
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Canon) &&
614
+ (!strncmp(model, "EOS D2000", 9) || // don't use unique_id here
615
+ !strncmp(model, "EOS D6000", 9) || // because ids for Monochrome models are unknown
616
+ !strncmp(model, "EOSDCS", 6))) {
617
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Kodak);
618
+ // if (unique_id == CanonID_EOS_D2000C) {
619
+ //
620
+ // } else if (unique_id == CanonID_EOS_D6000C) {
621
+ ///
622
+ // }
623
+
624
+ } else if (makeIs(LIBRAW_CAMERAMAKER_PhotoControl) &&
625
+ !strncasecmp(model, "Camerz ZDS 14", 13)) {
626
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Kodak);
627
+
628
+ } else {
629
+ strcpy(normalized_make, make);
630
+ }
631
+
632
+ if (makeIs(LIBRAW_CAMERAMAKER_Apple)) {
633
+ if ((imgdata.color.UniqueCameraModel[0]) &&
634
+ (!strncmp(model, "iPad", 4) || !strncmp(model, "iPhone", 6)))
635
+ strcpy(model, imgdata.color.UniqueCameraModel);
636
+
637
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Kodak)) {
638
+ if ((model[6] == ' ') &&
639
+ (!strncmp(model, "DCS4", 4) ||
640
+ !strncmp(model, "NC2000", 6)))
641
+ {
642
+ model[6] = 0;
643
+ }
644
+ if ((model[6] != 'A') &&
645
+ (model[6] != 'I') &&
646
+ (model[6] != 'M') &&
647
+ !strncmp(model, "NC2000", 6))
648
+ {
649
+ model[6] = 0;
650
+ }
651
+ }
652
+
653
+ else if (makeIs(LIBRAW_CAMERAMAKER_Ricoh) &&
654
+ !strncmp(model, "GXR", 3)) {
655
+ strcpy(ilm.body, "Ricoh GXR");
656
+ if (!imgdata.lens.Lens[0] && imgdata.color.UniqueCameraModel[0]) {
657
+ strcpy (imgdata.lens.Lens, imgdata.color.UniqueCameraModel);
658
+ remove_caseSubstr (imgdata.lens.Lens, (char *)"Ricoh");
659
+ remove_caseSubstr (imgdata.lens.Lens, (char *)"Lens");
660
+ removeExcessiveSpaces (imgdata.lens.Lens);
661
+ }
662
+ if (ilm.LensID == LIBRAW_LENS_NOT_SET) {
663
+ if (strstr(imgdata.lens.Lens, "50mm"))
664
+ ilm.LensID = 1;
665
+ else if (strstr(imgdata.lens.Lens, "S10"))
666
+ ilm.LensID = 2;
667
+ else if (strstr(imgdata.lens.Lens, "P10"))
668
+ ilm.LensID = 3;
669
+ else if (strstr(imgdata.lens.Lens, "28mm"))
670
+ ilm.LensID = 5;
671
+ else if (strstr(imgdata.lens.Lens, "A16"))
672
+ ilm.LensID = 6;
673
+ }
674
+ switch (ilm.LensID) {
675
+ case 1: // GR Lens A12 50mm F2.5 Macro
676
+ strcpy(model, "GXR A12 50mm");
677
+ ilm.CameraFormat = ilm.LensFormat = LIBRAW_FORMAT_APSC;
678
+ ilm.CameraMount = LIBRAW_MOUNT_RicohModule;
679
+ ilm.LensMount = LIBRAW_MOUNT_FixedLens;
680
+ ilm.FocalType = LIBRAW_FT_PRIME_LENS;
681
+ break;
682
+ case 2:
683
+ strcpy(model, "GXR S10");
684
+ ilm.CameraFormat = ilm.LensFormat = LIBRAW_FORMAT_1div1p7INCH;
685
+ ilm.CameraMount = LIBRAW_MOUNT_RicohModule;
686
+ ilm.LensMount = LIBRAW_MOUNT_FixedLens;
687
+ ilm.FocalType = LIBRAW_FT_ZOOM_LENS;
688
+ break;
689
+ case 3: // Ricoh Lens P10 28-300mm F3.5-5.6 VC
690
+ strcpy(model, "GXR P10");
691
+ ilm.CameraFormat = ilm.LensFormat = LIBRAW_FORMAT_1div2p3INCH;
692
+ ilm.CameraMount = LIBRAW_MOUNT_RicohModule;
693
+ ilm.LensMount = LIBRAW_MOUNT_FixedLens;
694
+ ilm.FocalType = LIBRAW_FT_ZOOM_LENS;
695
+ break;
696
+ case 5: // GR Lens A12 28mm F2.5
697
+ strcpy(model, "GXR A12 28mm");
698
+ ilm.CameraFormat = ilm.LensFormat = LIBRAW_FORMAT_APSC;
699
+ ilm.CameraMount = LIBRAW_MOUNT_RicohModule;
700
+ ilm.LensMount = LIBRAW_MOUNT_FixedLens;
701
+ ilm.FocalType = LIBRAW_FT_PRIME_LENS;
702
+ break;
703
+ case 6: // Ricoh Lens A16 24-85mm F3.5-5.5
704
+ strcpy(model, "GXR A16");
705
+ ilm.CameraFormat = ilm.LensFormat = LIBRAW_FORMAT_APSC;
706
+ ilm.CameraMount = LIBRAW_MOUNT_RicohModule;
707
+ ilm.LensMount = LIBRAW_MOUNT_FixedLens;
708
+ ilm.FocalType = LIBRAW_FT_ZOOM_LENS;
709
+ break;
710
+ case 8: // Ricoh Mount A12 (Leica M lenses)
711
+ strcpy(model, "GXR Mount A12");
712
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
713
+ ilm.CameraMount = LIBRAW_MOUNT_Leica_M;
714
+ ilm.LensID = LIBRAW_LENS_NOT_SET;
715
+ break;
716
+ }
717
+ }
718
+
719
+ strcpy(normalized_model, model);
720
+
721
+ if (makeIs(LIBRAW_CAMERAMAKER_Canon))
722
+ {
723
+ if (unique_id)
724
+ {
725
+ if ((unique_id != CanonID_EOS_D2000C) &&
726
+ (unique_id != CanonID_EOS_D6000C))
727
+ {
728
+ for (i = 0; i < int(sizeof unique / sizeof *unique); i++)
729
+ {
730
+ if (unique_id == unique[i].id)
731
+ {
732
+ strcpy(model, unique[i].t_model);
733
+ strcpy(normalized_model, unique[i].t_model);
734
+ break;
735
+ }
736
+ }
737
+ }
738
+ }
739
+ else
740
+ {
741
+ if ((dng_version) &&
742
+ (strlen(imgdata.color.UniqueCameraModel) > 6) &&
743
+ strncmp(imgdata.color.UniqueCameraModel+6, "PowerShot", 9))
744
+ {
745
+ for (i = 0; i < int(sizeof unique / sizeof *unique); i++)
746
+ {
747
+ if (!strcmp(unique[i].t_model, imgdata.color.UniqueCameraModel+6))
748
+ {
749
+ ilm.CamID = unique_id = unique[i].id;
750
+ strcpy(normalized_model, unique[i].t_model);
751
+ try_xml = 1;
752
+ break;
753
+ }
754
+ }
755
+ }
756
+ }
757
+ }
758
+ else if (makeIs(LIBRAW_CAMERAMAKER_Fujifilm))
759
+ {
760
+ for (i = 0; i < int(sizeof fujialias / sizeof *fujialias); i++)
761
+ {
762
+ if (fujialias[i][0] == '@')
763
+ {
764
+ orig = fujialias[i] + 1;
765
+ if (!strcmp(model, orig)) break;
766
+ }
767
+ else if (!strcmp(model, fujialias[i]))
768
+ {
769
+ strcpy(normalized_model, orig);
770
+ break;
771
+ }
772
+ }
773
+
774
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Hasselblad)) {
775
+ parseHassyModel();
776
+ }
777
+ else if (makeIs(LIBRAW_CAMERAMAKER_Mamiya))
778
+ {
779
+ for (i = 0; i < int(sizeof phase1alias / sizeof *phase1alias); i++)
780
+ { // re-badged Phase One backs
781
+ if (phase1alias[i][0] == '@') orig = phase1alias[i] + 1;
782
+ else if (!strcmp(model, phase1alias[i]))
783
+ {
784
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_PhaseOne);
785
+ strcpy(normalized_model, orig);
786
+ break;
787
+ }
788
+ }
789
+ for (i = 0; i < int(sizeof leafalias / sizeof *leafalias); i++)
790
+ { // re-badged Leaf backs
791
+ if (leafalias[i][0] == '@') orig = leafalias[i] + 1;
792
+ else if (!strcmp(model, leafalias[i]))
793
+ {
794
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Leaf);
795
+ strcpy(normalized_model, orig);
796
+ break;
797
+ }
798
+ }
799
+
800
+ /* repeating, because make for some Mamiya re-badged Leaf backs is set to
801
+ * Leaf */
802
+ }
803
+ else if (makeIs(LIBRAW_CAMERAMAKER_Leaf))
804
+ {
805
+ for (i = 0; i < int(sizeof leafalias / sizeof *leafalias); i++)
806
+ { // re-badged Leaf backs
807
+ if (leafalias[i][0] == '@')
808
+ {
809
+ orig = leafalias[i] + 1;
810
+ if (!strcmp(model, orig)) break;
811
+ }
812
+ else if (!strcmp(model, leafalias[i]))
813
+ { // maybe to change regular "make" to "Mamiya" too
814
+ strcpy(normalized_model, orig);
815
+ break;
816
+ }
817
+ }
818
+ if ((ps = strchr(normalized_model, '(')))
819
+ *ps = 0;
820
+ }
821
+ else if (makeIs(LIBRAW_CAMERAMAKER_Minolta) ||
822
+ makeIs(LIBRAW_CAMERAMAKER_Konica))
823
+ {
824
+ if (makeIs(LIBRAW_CAMERAMAKER_Konica) && !strncasecmp(model, "DiMAGE", 6))
825
+ {
826
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Minolta);
827
+ strcpy(make, "Minolta");
828
+ }
829
+ else
830
+ {
831
+ for (i = 0;
832
+ i<int(sizeof KonicaMinolta_aliases / sizeof *KonicaMinolta_aliases);
833
+ i++)
834
+ {
835
+ if (KonicaMinolta_aliases[i][0] == '@')
836
+ {
837
+ orig = KonicaMinolta_aliases[i] + 1;
838
+ if (!strcmp(model, orig))
839
+ {
840
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Minolta);
841
+ strcpy(make, "Minolta");
842
+ break;
843
+ }
844
+ }
845
+ else if (!strcasecmp(model, KonicaMinolta_aliases[i]))
846
+ {
847
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Minolta);
848
+ strcpy(make, "Minolta");
849
+ strcpy(normalized_model, orig);
850
+ break;
851
+ }
852
+ }
853
+ }
854
+ }
855
+ else if (makeIs(LIBRAW_CAMERAMAKER_Nikon))
856
+ {
857
+ for (i = 0; i < int(sizeof nikonalias / sizeof *nikonalias); i++)
858
+ {
859
+ if (nikonalias[i][0] == '@')
860
+ {
861
+ orig = nikonalias[i] + 1;
862
+ if (!strcmp(model, orig)) break;
863
+ }
864
+ else if (!strcmp(model, nikonalias[i]))
865
+ {
866
+ strcpy(normalized_model, orig);
867
+ break;
868
+ }
869
+ }
870
+
871
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Olympus)) {
872
+ for (i = 0; i < int(sizeof olyalias / sizeof *olyalias); i++) {
873
+ if (olyalias[i][0] == '@') {
874
+ orig = olyalias[i] + 1;
875
+ if (!strcmp(model, orig)) break;
876
+ } else if (!strcmp(model, olyalias[i])) {
877
+ strcpy(normalized_model, orig);
878
+ break;
879
+ }
880
+ }
881
+
882
+ if (!OlyID) {
883
+ if (!strcmp(normalized_model, "C-740UZ")) {
884
+ ilm.CamID = OlyID = unique_id = OlyID_C_740UZ;
885
+
886
+ } else if (!strcmp(normalized_model, "C-770UZ")) {
887
+ ilm.CamID = OlyID = unique_id = OlyID_C_770UZ;
888
+ }
889
+ }
890
+
891
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Panasonic) ||
892
+ makeIs(LIBRAW_CAMERAMAKER_Leica) ||
893
+ makeIs(LIBRAW_CAMERAMAKER_Yuneec))
894
+ {
895
+ for (i = 0; i < int(sizeof panalias / sizeof *panalias); i++)
896
+ {
897
+ if (panalias[i][0] == '@')
898
+ {
899
+ orig = panalias[i] + 1;
900
+ if (!strcmp(model, orig)) break;
901
+ }
902
+ else if (!strcmp(model, panalias[i]))
903
+ {
904
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Panasonic);
905
+ strcpy(normalized_model, orig);
906
+ break;
907
+ }
908
+ }
909
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Pentax)) {
910
+ if (!unique_id) {
911
+ if (!strcmp(model, "Optio S")) {
912
+ ilm.CamID = unique_id = PentaxID_Optio_S;
913
+ } else if (!strcmp(model, "Optio S V1.01")) {
914
+ ilm.CamID = unique_id = PentaxID_Optio_S_V101;
915
+ } else if (!strcmp(model, "Optio S4")) {
916
+ ilm.CamID = unique_id = PentaxID_Optio_S4;
917
+ } else if (!strcmp(model, "Optio 750Z")) {
918
+ ilm.CamID = unique_id = PentaxID_Optio_750Z;
919
+ } else if (!strcmp(model, "Optio 33WR")) {
920
+ ilm.CamID = unique_id = PentaxID_Optio_33WR;
921
+ }
922
+ }
923
+
924
+ for (i = 0;
925
+ i < int(sizeof SamsungPentax_aliases / sizeof *SamsungPentax_aliases);
926
+ i++) {
927
+ if (SamsungPentax_aliases[i][0] == '@') {
928
+ orig = SamsungPentax_aliases[i] + 1;
929
+ if (!strcmp(model, orig)) break;
930
+ } else if (!strcmp(model, SamsungPentax_aliases[i])) {
931
+ strcpy(normalized_model, orig);
932
+ break;
933
+ }
934
+ }
935
+ if (!strncmp(model, "GR", 2)) {
936
+ setMakeFromIndex(LIBRAW_CAMERAMAKER_Ricoh);
937
+ strcpy(make, "Ricoh");
938
+ }
939
+
940
+ } else if (makeIs(LIBRAW_CAMERAMAKER_PhaseOne))
941
+ {
942
+ for (i = 0; i < int(sizeof phase1alias / sizeof *phase1alias); i++)
943
+ {
944
+ if (phase1alias[i][0] == '@')
945
+ {
946
+ orig = phase1alias[i] + 1;
947
+ if (!strcmp(model, orig)) break;
948
+ }
949
+ else if (!strcmp(model, phase1alias[i]))
950
+ {
951
+ strcpy(normalized_model, orig);
952
+ break;
953
+ }
954
+ }
955
+ if (strstr(imPhaseOne.FirmwareString, "Achromatic"))
956
+ {
957
+ colors = 1;
958
+ filters = 0;
959
+ }
960
+ }
961
+ else if (makeIs(LIBRAW_CAMERAMAKER_Samsung))
962
+ {
963
+ j = 0;
964
+ if (strstr(model, "WB5500") || strstr(model, "HZ50W"))
965
+ {
966
+ strcpy(model, "WB5500");
967
+ j++;
968
+ }
969
+ else if (strstr(model, "WB5000") || strstr(model, "HZ25W"))
970
+ {
971
+ strcpy(model, "WB5000");
972
+ j++;
973
+ }
974
+ else if (strstr(model, "WB550") || strstr(model, "HZ15W"))
975
+ {
976
+ strcpy(model, "WB550");
977
+ j++;
978
+ }
979
+ else if (strstr(model, "WB500") || strstr(model, "HZ10W"))
980
+ {
981
+ strcpy(model, "WB500");
982
+ j++;
983
+ }
984
+ if (j)
985
+ {
986
+ strcpy(normalized_model, model);
987
+ }
988
+ else
989
+ {
990
+ for (i = 0; i < int(sizeof samsungalias / sizeof *samsungalias); i++)
991
+ {
992
+ if (samsungalias[i][0] == '@')
993
+ {
994
+ orig = samsungalias[i] + 1;
995
+ if (!strcmp(model, orig)) break;
996
+ }
997
+ else if (!strcmp(model, samsungalias[i]))
998
+ {
999
+ strcpy(normalized_model, orig);
1000
+ break;
1001
+ }
1002
+ }
1003
+ }
1004
+
1005
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Sony)) {
1006
+ if (unique_id)
1007
+ {
1008
+ for (i = 0; i < int(sizeof sonique / sizeof *sonique); i++)
1009
+ {
1010
+ if (unique_id == sonique[i].id)
1011
+ {
1012
+ if (!strcmp(make, "Sony"))
1013
+ strcpy(model, sonique[i].t_model);
1014
+ strcpy(normalized_model, sonique[i].t_model);
1015
+ break;
1016
+ }
1017
+ }
1018
+ }
1019
+
1020
+ } else if (makeIs(LIBRAW_CAMERAMAKER_Kodak)) {
1021
+ remove_caseSubstr (normalized_model, (char *)"EasyShare");
1022
+ remove_caseSubstr (normalized_model, (char *)"ZOOM");
1023
+ removeExcessiveSpaces (normalized_model);
1024
+ for (i = 0; i < int(sizeof kodakalias / sizeof *kodakalias); i++)
1025
+ {
1026
+ if (kodakalias[i][0] == '@')
1027
+ {
1028
+ orig = kodakalias[i] + 1;
1029
+ if (!strcmp(model, orig)) break;
1030
+ }
1031
+ else if (!strcmp(model, kodakalias[i]))
1032
+ {
1033
+ strcpy(normalized_model, orig);
1034
+ break;
1035
+ }
1036
+ }
1037
+
1038
+ if (strstr(model, "DC25"))
1039
+ {
1040
+ strcpy(model, "DC25");
1041
+ strcpy(normalized_model, model);
1042
+ }
1043
+ else if (!strcmp(model, "40"))
1044
+ {
1045
+ strcpy(model, "DC40");
1046
+ strcpy(normalized_model, model);
1047
+ }
1048
+ else if (strstr(model, "DC50"))
1049
+ {
1050
+ strcpy(model, "DC50");
1051
+ strcpy(normalized_model, model);
1052
+ }
1053
+ else if (strstr(model, "DC120"))
1054
+ {
1055
+ strcpy(model, "DC120");
1056
+ strcpy(normalized_model, model);
1057
+ }
1058
+
1059
+ for (i = 0; i < int(sizeof KodakMonochrome / sizeof *KodakMonochrome); i++)
1060
+ {
1061
+ if (!strncmp(model, KodakMonochrome[i], strlen(KodakMonochrome[i])))
1062
+ {
1063
+ colors = 1;
1064
+ filters = 0;
1065
+ }
1066
+ }
1067
+ }
1068
+
1069
+ if (ilm.body[0])
1070
+ {
1071
+ if ((ilm.CameraMount != LIBRAW_MOUNT_Hasselblad_V) &&
1072
+ !strncmp(ilm.body, "Hasselblad ", 11) &&
1073
+ ((ilm.body[11] == 'C') || (ilm.body[11] == '2') ||
1074
+ (ilm.body[11] == '5') || (ilm.body[11] == '9')))
1075
+ {
1076
+ ilm.CameraFormat = LIBRAW_FORMAT_66;
1077
+ ilm.CameraMount = LIBRAW_MOUNT_Hasselblad_V;
1078
+ }
1079
+ else if (!strncmp(ilm.body, "XF", 2) || !strncmp(ilm.body, "645DF", 5))
1080
+ {
1081
+ ilm.CameraMount = LIBRAW_MOUNT_Mamiya645;
1082
+ ilm.CameraFormat = LIBRAW_FORMAT_645;
1083
+ }
1084
+ else if (!strncmp(ilm.body, "Sinarcam", 2))
1085
+ {
1086
+ ilm.CameraMount = LIBRAW_MOUNT_LF;
1087
+ ilm.CameraFormat = LIBRAW_FORMAT_LF;
1088
+ strcat(ilm.body, " shutter system");
1089
+ }
1090
+ }
1091
+
1092
+ if (makeIs(LIBRAW_CAMERAMAKER_Kodak))
1093
+ {
1094
+ if (((ilm.CameraMount == LIBRAW_MOUNT_DigitalBack) ||
1095
+ (ilm.CameraMount == LIBRAW_MOUNT_Unknown)) &&
1096
+ !strncmp(model2, "PB645", 5))
1097
+ {
1098
+ ilm.CameraFormat = LIBRAW_FORMAT_645;
1099
+ if (model2[5] == 'C')
1100
+ {
1101
+ ilm.CameraMount = LIBRAW_MOUNT_Contax645;
1102
+ strcpy(ilm.body, "Contax 645");
1103
+ }
1104
+ else if (model2[5] == 'H')
1105
+ {
1106
+ ilm.CameraMount = LIBRAW_MOUNT_Hasselblad_H;
1107
+ strcpy(ilm.body, "Hasselblad H1/H2");
1108
+ }
1109
+ else if (model2[5] == 'M')
1110
+ {
1111
+ ilm.CameraMount = LIBRAW_MOUNT_Mamiya645;
1112
+ strcpy(ilm.body, "Mamiya 645");
1113
+ }
1114
+
1115
+ } else if (!strncasecmp(model, "PIXPRO S-1", 10)) {
1116
+ ilm.CameraFormat = LIBRAW_FORMAT_FT;
1117
+ } else if (!strncasecmp(model, "PIXPRO ", 7)) {
1118
+ ilm.CameraFormat = LIBRAW_FORMAT_1div2p3INCH;
1119
+ }
1120
+ }
1121
+
1122
+ else if (makeIs(LIBRAW_CAMERAMAKER_Fujifilm))
1123
+ {
1124
+ if (!strncmp(normalized_model, "DBP", 3))
1125
+ {
1126
+ strcpy(ilm.body, "Fujifilm GX680");
1127
+ }
1128
+ }
1129
+
1130
+ if ((ilm.CameraFormat == LIBRAW_FORMAT_Unknown) ||
1131
+ (ilm.CameraMount == LIBRAW_MOUNT_Unknown) ||
1132
+ (ilm.CameraMount == LIBRAW_MOUNT_IL_UM))
1133
+ {
1134
+
1135
+ if (makeIs(LIBRAW_CAMERAMAKER_Canon))
1136
+ {
1137
+ if (strncmp(normalized_model, "EOS", 3))
1138
+ {
1139
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1140
+ }
1141
+ }
1142
+ else if (makeIs(LIBRAW_CAMERAMAKER_Nikon))
1143
+ {
1144
+ if (normalized_model[0] == 'D')
1145
+ {
1146
+ ilm.CameraMount = LIBRAW_MOUNT_Nikon_F;
1147
+ }
1148
+ else
1149
+ {
1150
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1151
+ }
1152
+ }
1153
+ else if (makeIs(LIBRAW_CAMERAMAKER_Panasonic))
1154
+ {
1155
+ if (!strncmp(normalized_model, "DC-S", 4))
1156
+ {
1157
+ ilm.CameraFormat = LIBRAW_FORMAT_FF;
1158
+ ilm.CameraMount = LIBRAW_MOUNT_LPS_L;
1159
+ }
1160
+ else if (!strncmp(normalized_model, "DMC-L1", 6) ||
1161
+ !strncmp(normalized_model, "DMC-L10", 7))
1162
+ {
1163
+ ilm.CameraFormat = ilm.CameraMount = LIBRAW_FORMAT_FT;
1164
+ }
1165
+ else if (!strncmp(normalized_model + 2, "-G", 2) ||
1166
+ !strncmp(normalized_model + 3, "-G", 2))
1167
+ {
1168
+ ilm.CameraFormat = LIBRAW_FORMAT_FT;
1169
+ ilm.CameraMount = LIBRAW_MOUNT_mFT;
1170
+ }
1171
+ else
1172
+ {
1173
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1174
+ ilm.FocalType = LIBRAW_FT_ZOOM_LENS;
1175
+ if (!strncmp(normalized_model + 2, "-LX100", 6) || // DC-LX100M2
1176
+ !strncmp(normalized_model + 3, "-LX100", 6))
1177
+ { // DMC-LX100
1178
+ ilm.CameraFormat = ilm.LensFormat = LIBRAW_FORMAT_FT;
1179
+ }
1180
+ else if (!strncmp(normalized_model, "DMC-CM1", 7))
1181
+ {
1182
+ ilm.FocalType = LIBRAW_FT_PRIME_LENS;
1183
+ }
1184
+ }
1185
+ }
1186
+ else if (makeIs(LIBRAW_CAMERAMAKER_Fujifilm))
1187
+ {
1188
+ if (!strncmp(normalized_model, "GFX ", 4))
1189
+ {
1190
+ ilm.CameraFormat = LIBRAW_FORMAT_CROP645;
1191
+ ilm.CameraMount = LIBRAW_MOUNT_Fuji_GF;
1192
+ }
1193
+ else if (!strncmp(normalized_model, "X-", 2) &&
1194
+ (strncmp(normalized_model, "X-S1", 4) || !strncmp(normalized_model, "X-S10", 5)))
1195
+ {
1196
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
1197
+ ilm.CameraMount = LIBRAW_MOUNT_Fuji_X;
1198
+ }
1199
+ else if (((normalized_model[0] == 'S') && // S2Pro, S3Pro, S5Pro
1200
+ (normalized_model[2] == 'P')) ||
1201
+ !strncasecmp(normalized_model, "IS Pro", 6))
1202
+ {
1203
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
1204
+ ilm.CameraMount = LIBRAW_MOUNT_Nikon_F;
1205
+ }
1206
+ else if (!strncmp(normalized_model, "DBP", 3))
1207
+ {
1208
+ ilm.CameraFormat = LIBRAW_FORMAT_68;
1209
+ ilm.CameraMount = LIBRAW_MOUNT_Fuji_GX;
1210
+ }
1211
+ else
1212
+ {
1213
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1214
+ }
1215
+ }
1216
+ else if (makeIs(LIBRAW_CAMERAMAKER_Samsung))
1217
+ {
1218
+ if ((normalized_model[0] == 'N') &&
1219
+ (normalized_model[1] == 'X')) // DNG converters delete makernotes
1220
+ {
1221
+ if ((normalized_model[2] == 'F') && (normalized_model[3] == '1'))
1222
+ {
1223
+ ilm.CameraMount = LIBRAW_MOUNT_Samsung_NX_M;
1224
+ ilm.CameraFormat = LIBRAW_FORMAT_1INCH;
1225
+ }
1226
+ else
1227
+ {
1228
+ ilm.CameraMount = LIBRAW_MOUNT_Samsung_NX;
1229
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
1230
+ }
1231
+ }
1232
+ else
1233
+ {
1234
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1235
+ }
1236
+ }
1237
+ else if (makeIs(LIBRAW_CAMERAMAKER_Kodak))
1238
+ {
1239
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1240
+ for (i = 0; i < int(sizeof Kodak_mounts / sizeof *Kodak_mounts); i++)
1241
+ {
1242
+ if (!strncmp(normalized_model, Kodak_mounts[i].Kmodel,
1243
+ strlen(Kodak_mounts[i].Kmodel)))
1244
+ {
1245
+ ilm.CameraMount = Kodak_mounts[i].mount;
1246
+ break;
1247
+ }
1248
+ }
1249
+ }
1250
+ else if (makeIs(LIBRAW_CAMERAMAKER_Minolta))
1251
+ {
1252
+ if (!strcmp(normalized_model, "DG-5D") ||
1253
+ !strcmp(normalized_model, "DG-7D"))
1254
+ {
1255
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
1256
+ ilm.CameraMount = LIBRAW_MOUNT_Minolta_A;
1257
+ }
1258
+ else if (!strncasecmp(normalized_model, "DiMAGE", 6))
1259
+ {
1260
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1261
+ }
1262
+ }
1263
+ else if (makeIs(LIBRAW_CAMERAMAKER_Casio) ||
1264
+ makeIs(LIBRAW_CAMERAMAKER_Creative))
1265
+ {
1266
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1267
+ }
1268
+ else if (makeIs(LIBRAW_CAMERAMAKER_Sigma))
1269
+ {
1270
+ if (!strncmp(normalized_model, "fp", 2))
1271
+ {
1272
+ ilm.CameraFormat = LIBRAW_FORMAT_FF;
1273
+ ilm.CameraMount = LIBRAW_MOUNT_LPS_L;
1274
+ }
1275
+ else if (!strncasecmp(normalized_model, "SD", 2))
1276
+ {
1277
+ ilm.CameraMount = LIBRAW_MOUNT_Sigma_X3F;
1278
+ if (!strcmp(normalized_model, "SD1") || (normalized_model[4] == 'M'))
1279
+ {
1280
+ ilm.CameraFormat = LIBRAW_FORMAT_SigmaMerrill;
1281
+ }
1282
+ else if (normalized_model[11] == 'H')
1283
+ { // 'sd Quattro H'
1284
+ ilm.CameraFormat = LIBRAW_FORMAT_SigmaAPSH;
1285
+ }
1286
+ else if (normalized_model[4] == 'Q')
1287
+ { // 'sd Quattro'
1288
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
1289
+ }
1290
+ else
1291
+ {
1292
+ ilm.CameraFormat = LIBRAW_FORMAT_SigmaAPSC;
1293
+ }
1294
+ }
1295
+ else if (!strncasecmp(normalized_model, "DP", 2))
1296
+ {
1297
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1298
+ if (normalized_model[4] == 'M')
1299
+ {
1300
+ ilm.CameraFormat = LIBRAW_FORMAT_SigmaMerrill;
1301
+ }
1302
+ else if (normalized_model[4] == 'Q')
1303
+ {
1304
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
1305
+ }
1306
+ else
1307
+ {
1308
+ ilm.CameraFormat = LIBRAW_FORMAT_SigmaAPSC;
1309
+ }
1310
+ }
1311
+ }
1312
+ else if (makeIs(LIBRAW_CAMERAMAKER_Konica))
1313
+ {
1314
+ if (!strncmp(model, "KD-", 3))
1315
+ { // Konica KD-400Z, KD-510Z
1316
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1317
+ }
1318
+ }
1319
+ else if (makeIs(LIBRAW_CAMERAMAKER_Mamiya))
1320
+ {
1321
+ if (!strncmp(normalized_model, "ZD", 2))
1322
+ {
1323
+ ilm.CameraFormat = LIBRAW_FORMAT_3648;
1324
+ ilm.CameraMount = LIBRAW_MOUNT_Mamiya645;
1325
+ }
1326
+ }
1327
+ else if (makeIs(LIBRAW_CAMERAMAKER_Sony))
1328
+ {
1329
+ if (!strncmp(normalized_model, "XCD-", 4))
1330
+ {
1331
+ ilm.CameraMount = LIBRAW_MOUNT_C;
1332
+ }
1333
+ else if (!strncmp(normalized_model, "DSC-V3", 6) ||
1334
+ !strncmp(normalized_model, "DSC-F828", 8))
1335
+ {
1336
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1337
+ imSony.CameraType = LIBRAW_SONY_DSC;
1338
+ }
1339
+ }
1340
+ else if (makeIs(LIBRAW_CAMERAMAKER_Polaroid) &&
1341
+ !strncmp(normalized_model, "x530", 4))
1342
+ {
1343
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1344
+ }
1345
+ else if (makeIs(LIBRAW_CAMERAMAKER_Rollei) &&
1346
+ !strncmp(normalized_model, "d530flex", 8))
1347
+ {
1348
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1349
+ }
1350
+ else if (makeIs(LIBRAW_CAMERAMAKER_Pentax) &&
1351
+ !strncmp(normalized_model, "Optio", 5)) {
1352
+ ilm.CameraMount = LIBRAW_MOUNT_FixedLens;
1353
+ }
1354
+ else if (makeIs(LIBRAW_CAMERAMAKER_Epson) &&
1355
+ !strncmp(normalized_model, "R-D1", 4))
1356
+ {
1357
+ ilm.CameraMount = LIBRAW_MOUNT_Leica_M;
1358
+ ilm.CameraFormat = LIBRAW_FORMAT_APSC;
1359
+ }
1360
+ }
1361
+
1362
+ if ((ilm.LensMount == LIBRAW_MOUNT_Canon_RF) &&
1363
+ (ilm.LensID == 61182) &&
1364
+ (imCanon.RF_lensID != 0)) {
1365
+ ilm.LensID = imCanon.RF_lensID;
1366
+ }
1367
+
1368
+ if (ilm.LensMount == LIBRAW_MOUNT_Unknown)
1369
+ {
1370
+ if (makeIs(LIBRAW_CAMERAMAKER_Samsung))
1371
+ {
1372
+ if ((imgdata.lens.Lens[0] == 'N') &&
1373
+ (imgdata.lens.Lens[1] == 'X')) // same DNG problem
1374
+ {
1375
+ if (imgdata.lens.Lens[2] == '-')
1376
+ {
1377
+ ilm.LensMount = LIBRAW_MOUNT_Samsung_NX_M;
1378
+ ilm.LensFormat = LIBRAW_FORMAT_1INCH;
1379
+ }
1380
+ else
1381
+ {
1382
+ ilm.LensMount = LIBRAW_MOUNT_Samsung_NX;
1383
+ ilm.LensFormat = LIBRAW_FORMAT_APSC;
1384
+ }
1385
+ }
1386
+ }
1387
+ }
1388
+
1389
+ if ((ilm.LensID == LIBRAW_LENS_NOT_SET) &&
1390
+ xmpdata &&
1391
+ (strlen(xmpdata) > 9))
1392
+ {
1393
+ if (makeIs(LIBRAW_CAMERAMAKER_Canon) &&
1394
+ try_xml &&
1395
+ (ps = strstr(xmpdata, "LensID=\"")))
1396
+ {
1397
+ ilm.LensID = atoi(ps + 8);
1398
+ if (ilm.LensID == 61182)
1399
+ {
1400
+ ilm.LensMount = ilm.CameraMount = LIBRAW_MOUNT_Canon_RF;
1401
+ }
1402
+ }
1403
+ else if (makeIs(LIBRAW_CAMERAMAKER_Samsung))
1404
+ {
1405
+ if ((ilm.LensMount == LIBRAW_MOUNT_Samsung_NX) &&
1406
+ (ps = strstr(xmpdata, "LensID=\"(")))
1407
+ {
1408
+ ilm.LensID = atoi(ps + 9);
1409
+ }
1410
+ }
1411
+ }
1412
+
1413
+ if (ilm.CameraMount == LIBRAW_MOUNT_FixedLens)
1414
+ {
1415
+ if (ilm.CameraFormat)
1416
+ ilm.LensFormat = ilm.CameraFormat;
1417
+ if (ilm.LensMount == LIBRAW_MOUNT_Unknown)
1418
+ ilm.LensMount = LIBRAW_MOUNT_FixedLens;
1419
+ }
1420
+
1421
+ if ((ilm.CameraMount != LIBRAW_MOUNT_Unknown) &&
1422
+ (ilm.CameraMount != LIBRAW_MOUNT_FixedLens) &&
1423
+ (ilm.LensMount == LIBRAW_MOUNT_Unknown)) {
1424
+ if (ilm.LensID == LIBRAW_LENS_NOT_SET) ilm.LensMount = LIBRAW_MOUNT_IL_UM;
1425
+ else ilm.LensMount = ilm.CameraMount;
1426
+ }
1427
+ }
1428
+
1429
+ void LibRaw::SetStandardIlluminants (unsigned makerIdx, const char* /*normModel*/) {
1430
+ // int i = -1;
1431
+ int c;
1432
+ if (!icWBC[LIBRAW_WBI_Ill_A][0] &&
1433
+ !icWBC[LIBRAW_WBI_D65][0]) {
1434
+ if (makerIdx == LIBRAW_CAMERAMAKER_Olympus ) {
1435
+ for (int i = 0; i < 64 && icWBCCTC[i][0]; i++) {
1436
+ if (icWBCCTC[i][0] == 3000)
1437
+ FORC4 icWBC[LIBRAW_WBI_Ill_A][c] = icWBCCTC[i][c+1];
1438
+ else if (icWBCCTC[i][0] == 6600)
1439
+ FORC4 icWBC[LIBRAW_WBI_D65][c] = icWBCCTC[i][c+1];
1440
+ }
1441
+ }
1442
+ }
1443
+
1444
+ if (!icWBC[LIBRAW_WBI_Ill_A][0] && icWBC[LIBRAW_WBI_Tungsten][0])
1445
+ FORC4 icWBC[LIBRAW_WBI_Ill_A][c] = icWBC[LIBRAW_WBI_Tungsten][c];
1446
+
1447
+ if (!icWBC[LIBRAW_WBI_D65][0] && icWBC[LIBRAW_WBI_FL_N][0])
1448
+ FORC4 icWBC[LIBRAW_WBI_D65][c] = icWBC[LIBRAW_WBI_FL_N][c];
1449
+
1450
+ return;
1451
+ }