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,743 @@
1
+ /* -*- C++ -*-
2
+ * File: identify.cpp
3
+ * Copyright 2008-2021 LibRaw LLC (info@libraw.org)
4
+ * Created: Sat Mar 8, 2008
5
+ *
6
+ * LibRaw C++ demo: emulates dcraw -i [-v]
7
+ *
8
+
9
+ LibRaw is free software; you can redistribute it and/or modify
10
+ it under the terms of the one of two licenses as you choose:
11
+
12
+ 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
13
+ (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
14
+
15
+ 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
16
+ (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
17
+
18
+
19
+ */
20
+
21
+ #include <stdio.h>
22
+ #include <string.h>
23
+ #include <math.h>
24
+ #include <time.h>
25
+ #include <string>
26
+ #include <list>
27
+
28
+ #include "libraw/libraw.h"
29
+
30
+ #ifdef LIBRAW_WIN32_CALLS
31
+ #define snprintf _snprintf
32
+ #define strcasecmp stricmp
33
+ #define strncasecmp strnicmp
34
+ #endif
35
+
36
+ #ifndef LIBRAW_WIN32_CALLS
37
+ #include <sys/stat.h>
38
+ #include <fcntl.h>
39
+ #include <unistd.h>
40
+ #include <sys/mman.h>
41
+ #include <sys/time.h>
42
+ #ifndef MAX_PATH
43
+ #ifdef PATH_MAX
44
+ #define MAX_PATH PATH_MAX
45
+ #else
46
+ #define MAX_PATH 4096
47
+ #endif
48
+ #endif
49
+ #endif
50
+
51
+ #ifdef _MSC_VER
52
+ #if _MSC_VER < 1800 /* below MSVC 2013 */
53
+ float roundf(float f) { return floorf(f + 0.5); }
54
+
55
+ #endif
56
+ #endif
57
+
58
+ #define P1 MyCoolRawProcessor.imgdata.idata
59
+ #define P2 MyCoolRawProcessor.imgdata.other
60
+ #define P3 MyCoolRawProcessor.imgdata.makernotes.common
61
+
62
+ #define mnLens MyCoolRawProcessor.imgdata.lens.makernotes
63
+ #define exifLens MyCoolRawProcessor.imgdata.lens
64
+ #define ShootingInfo MyCoolRawProcessor.imgdata.shootinginfo
65
+
66
+ #define S MyCoolRawProcessor.imgdata.sizes
67
+ #define O MyCoolRawProcessor.imgdata.params
68
+ #define C MyCoolRawProcessor.imgdata.color
69
+ #define T MyCoolRawProcessor.imgdata.thumbnail
70
+
71
+ void print_verbose(FILE *, LibRaw &MyCoolRawProcessor, std::string &fn);
72
+ void print_wbfun(FILE *, LibRaw &MyCoolRawProcessor, std::string &fn);
73
+ void print_szfun(FILE *, LibRaw &MyCoolRawProcessor, std::string &fn);
74
+ void print_unpackfun(FILE *, LibRaw &MyCoolRawProcessor, int print_frame, std::string &fn);
75
+
76
+ /*
77
+ table of fluorescents:
78
+ 12 = FL-D; Daylight fluorescent (D 5700K – 7100K) (F1,F5)
79
+ 13 = FL-N; Day white fluorescent (N 4600K – 5400K) (F7,F8)
80
+ 14 = FL-W; Cool white fluorescent (W 3900K – 4500K) (F2,F6, office,
81
+ store,warehouse) 15 = FL-WW; White fluorescent (WW 3200K – 3700K) (F3,
82
+ residential) 16 = FL-L; Soft/Warm white fluorescent (L 2600K - 3250K) (F4,
83
+ kitchen, bath)
84
+ */
85
+
86
+ static const struct
87
+ {
88
+ const int NumId;
89
+ const char *StrId;
90
+ const char *hrStrId; // human-readable
91
+ const int aux_setting;
92
+ } WBToStr[] = {
93
+ {LIBRAW_WBI_Unknown, "WBI_Unknown", "Unknown", 0},
94
+ {LIBRAW_WBI_Daylight, "WBI_Daylight", "Daylight", 0},
95
+ {LIBRAW_WBI_Fluorescent, "WBI_Fluorescent", "Fluorescent", 0},
96
+ {LIBRAW_WBI_Tungsten, "WBI_Tungsten", "Tungsten (Incandescent)", 0},
97
+ {LIBRAW_WBI_Flash, "WBI_Flash", "Flash", 0},
98
+ {LIBRAW_WBI_FineWeather, "WBI_FineWeather", "Fine Weather", 0},
99
+ {LIBRAW_WBI_Cloudy, "WBI_Cloudy", "Cloudy", 0},
100
+ {LIBRAW_WBI_Shade, "WBI_Shade", "Shade", 0},
101
+ {LIBRAW_WBI_FL_D, "WBI_FL_D", "Daylight Fluorescent", 0},
102
+ {LIBRAW_WBI_FL_N, "WBI_FL_N", "Day White Fluorescent", 0},
103
+ {LIBRAW_WBI_FL_W, "WBI_FL_W", "Cool White Fluorescent", 0},
104
+ {LIBRAW_WBI_FL_WW, "WBI_FL_WW", "White Fluorescent", 0},
105
+ {LIBRAW_WBI_FL_L, "WBI_FL_L", "Warm White Fluorescent", 0},
106
+ {LIBRAW_WBI_Ill_A, "WBI_Ill_A", "Illuminant A", 0},
107
+ {LIBRAW_WBI_Ill_B, "WBI_Ill_B", "Illuminant B", 0},
108
+ {LIBRAW_WBI_Ill_C, "WBI_Ill_C", "Illuminant C", 0},
109
+ {LIBRAW_WBI_D55, "WBI_D55", "D55", 0},
110
+ {LIBRAW_WBI_D65, "WBI_D65", "D65", 0},
111
+ {LIBRAW_WBI_D75, "WBI_D75", "D75", 0},
112
+ {LIBRAW_WBI_D50, "WBI_D50", "D50", 0},
113
+ {LIBRAW_WBI_StudioTungsten, "WBI_StudioTungsten", "ISO Studio Tungsten", 0},
114
+ {LIBRAW_WBI_BW, "WBI_BW", "BW", 0},
115
+ {LIBRAW_WBI_Other, "WBI_Other", "Other", 0},
116
+ {LIBRAW_WBI_Sunset, "WBI_Sunset", "Sunset", 1},
117
+ {LIBRAW_WBI_Underwater, "WBI_Underwater", "Underwater", 1},
118
+ {LIBRAW_WBI_FluorescentHigh, "WBI_FluorescentHigh", "Fluorescent High", 1},
119
+ {LIBRAW_WBI_HT_Mercury, "WBI_HT_Mercury", "HT Mercury", 1},
120
+ {LIBRAW_WBI_AsShot, "WBI_AsShot", "As Shot", 1},
121
+ {LIBRAW_WBI_Measured, "WBI_Measured", "Camera Measured", 1},
122
+ {LIBRAW_WBI_Auto, "WBI_Auto", "Camera Auto", 1},
123
+ {LIBRAW_WBI_Auto1, "WBI_Auto1", "Camera Auto 1", 1},
124
+ {LIBRAW_WBI_Auto2, "WBI_Auto2", "Camera Auto 2", 1},
125
+ {LIBRAW_WBI_Auto3, "WBI_Auto3", "Camera Auto 3", 1},
126
+ {LIBRAW_WBI_Auto4, "WBI_Auto4", "Camera Auto 4", 1},
127
+ {LIBRAW_WBI_Custom, "WBI_Custom", "Custom", 1},
128
+ {LIBRAW_WBI_Custom1, "WBI_Custom1", "Custom 1", 1},
129
+ {LIBRAW_WBI_Custom2, "WBI_Custom2", "Custom 2", 1},
130
+ {LIBRAW_WBI_Custom3, "WBI_Custom3", "Custom 3", 1},
131
+ {LIBRAW_WBI_Custom4, "WBI_Custom4", "Custom 4", 1},
132
+ {LIBRAW_WBI_Custom5, "WBI_Custom5", "Custom 5", 1},
133
+ {LIBRAW_WBI_Custom6, "WBI_Custom6", "Custom 6", 1},
134
+ {LIBRAW_WBI_PC_Set1, "WBI_PC_Set1", "PC Set 1", 1},
135
+ {LIBRAW_WBI_PC_Set2, "WBI_PC_Set2", "PC Set 2", 1},
136
+ {LIBRAW_WBI_PC_Set3, "WBI_PC_Set3", "PC Set 3", 1},
137
+ {LIBRAW_WBI_PC_Set4, "WBI_PC_Set4", "PC Set 4", 1},
138
+ {LIBRAW_WBI_PC_Set5, "WBI_PC_Set5", "PC Set 5", 1},
139
+ {LIBRAW_WBI_Kelvin, "WBI_Kelvin", "Kelvin", 1},
140
+ };
141
+
142
+ const char *WB_idx2str(unsigned WBi)
143
+ {
144
+ for (int i = 0; i < int(sizeof WBToStr / sizeof *WBToStr); i++)
145
+ if (WBToStr[i].NumId == (int)WBi)
146
+ return WBToStr[i].StrId;
147
+ return 0;
148
+ }
149
+
150
+ const char *WB_idx2hrstr(unsigned WBi)
151
+ {
152
+ for (int i = 0; i < int(sizeof WBToStr / sizeof *WBToStr); i++)
153
+ if (WBToStr[i].NumId == (int)WBi)
154
+ return WBToStr[i].hrStrId;
155
+ return 0;
156
+ }
157
+
158
+ double _log2(double a)
159
+ {
160
+ if(a > 0.00000000001) return log(a)/log(2.0);
161
+ return -1000;
162
+ }
163
+
164
+ void trimSpaces(char *s)
165
+ {
166
+ char *p = s;
167
+ if (!strncasecmp(p, "NO=", 3))
168
+ p = p + 3; /* fix for Nikon D70, D70s */
169
+ int l = strlen(p);
170
+ if (!l)
171
+ return;
172
+ while (isspace(p[l - 1]))
173
+ p[--l] = 0; /* trim trailing spaces */
174
+ while (*p && isspace(*p))
175
+ ++p, --l; /* trim leading spaces */
176
+ memmove(s, p, l + 1);
177
+ }
178
+
179
+ void print_usage(const char *pname)
180
+ {
181
+ printf("Usage: %s [options] inputfiles\n", pname);
182
+ printf("Options:\n"
183
+ "\t-v\tverbose output\n"
184
+ "\t-w\tprint white balance\n"
185
+ "\t-u\tprint unpack function\n"
186
+ "\t-f\tprint frame size (only w/ -u)\n"
187
+ "\t-s\tprint output image size\n"
188
+ "\t-h\tforce half-size mode (only for -s)\n"
189
+ "\t-M\tdisable use of raw-embedded color data\n"
190
+ "\t+M\tforce use of raw-embedded color data\n"
191
+ "\t-L filename\tread input files list from filename\n"
192
+ "\t-o filename\toutput to filename\n");
193
+ }
194
+
195
+ int main(int ac, char *av[])
196
+ {
197
+ int ret;
198
+ int verbose = 0, print_sz = 0, print_unpack = 0, print_frame = 0, print_wb = 0;
199
+ LibRaw MyCoolRawProcessor;
200
+ char *filelistfile = NULL;
201
+ char *outputfilename = NULL;
202
+ FILE *outfile = stdout;
203
+ std::vector<std::string> filelist;
204
+
205
+ filelist.reserve(ac - 1);
206
+
207
+ for (int i = 1; i < ac; i++)
208
+ {
209
+ if (av[i][0] == '-')
210
+ {
211
+ if (!strcmp(av[i], "-v"))
212
+ verbose++;
213
+ if (!strcmp(av[i], "-w"))
214
+ print_wb++;
215
+ if (!strcmp(av[i], "-u"))
216
+ print_unpack++;
217
+ if (!strcmp(av[i], "-s"))
218
+ print_sz++;
219
+ if (!strcmp(av[i], "-h"))
220
+ O.half_size = 1;
221
+ if (!strcmp(av[i], "-f"))
222
+ print_frame++;
223
+ if (!strcmp(av[i], "-M"))
224
+ MyCoolRawProcessor.imgdata.params.use_camera_matrix = 0;
225
+ if (!strcmp(av[i], "-L") && i < ac - 1)
226
+ {
227
+ filelistfile = av[i + 1];
228
+ i++;
229
+ }
230
+ if (!strcmp(av[i], "-o") && i < ac - 1)
231
+ {
232
+ outputfilename = av[i + 1];
233
+ i++;
234
+ }
235
+ continue;
236
+ }
237
+ else if (!strcmp(av[i], "+M"))
238
+ {
239
+ MyCoolRawProcessor.imgdata.params.use_camera_matrix = 3;
240
+ continue;
241
+ }
242
+ filelist.push_back(av[i]);
243
+ }
244
+ if (filelistfile)
245
+ {
246
+ char *p;
247
+ char path[MAX_PATH + 1];
248
+ FILE *f = fopen(filelistfile, "r");
249
+ if (f)
250
+ {
251
+ while (fgets(path, MAX_PATH, f))
252
+ {
253
+ if ((p = strchr(path, '\n')))
254
+ *p = 0;
255
+ if ((p = strchr(path, '\r')))
256
+ *p = 0;
257
+ filelist.push_back(path);
258
+ }
259
+ fclose(f);
260
+ }
261
+ }
262
+ if (filelist.size() < 1)
263
+ {
264
+ print_usage(av[0]);
265
+ return 1;
266
+ }
267
+ if (outputfilename)
268
+ outfile = fopen(outputfilename, "wt");
269
+
270
+ for (int i = 0; i < (int)filelist.size(); i++)
271
+ {
272
+ if ((ret = MyCoolRawProcessor.open_file(filelist[i].c_str())) != LIBRAW_SUCCESS)
273
+ {
274
+ fprintf(stderr, "Cannot decode %s: %s\n", filelist[i].c_str(), libraw_strerror(ret));
275
+ continue; // no recycle, open_file will recycle
276
+ }
277
+
278
+ if (print_sz)
279
+ print_szfun(outfile, MyCoolRawProcessor, filelist[i]);
280
+ else if (verbose)
281
+ print_verbose(outfile, MyCoolRawProcessor, filelist[i]);
282
+ else if (print_unpack)
283
+ print_unpackfun(outfile, MyCoolRawProcessor, print_frame, filelist[i]);
284
+ else if (print_wb)
285
+ print_wbfun(outfile, MyCoolRawProcessor, filelist[i]);
286
+ else
287
+ fprintf(outfile, "%s is a %s %s image.\n", filelist[i].c_str(), P1.make, P1.model);
288
+
289
+ MyCoolRawProcessor.recycle();
290
+ } // endfor
291
+ return 0;
292
+ }
293
+
294
+ #define PRINTMATRIX3x4(of, mat, clrs) \
295
+ do \
296
+ { \
297
+ for (int r = 0; r < 3; r++) \
298
+ if (clrs == 4) \
299
+ fprintf(of, "%6.4f\t%6.4f\t%6.4f\t%6.4f\n", mat[r][0], mat[r][1], mat[r][2], mat[r][3]); \
300
+ else \
301
+ fprintf(of, "%6.4f\t%6.4f\t%6.4f\n", mat[r][0], mat[r][1], mat[r][2]); \
302
+ } while (0)
303
+
304
+ #define PRINTMATRIX4x3(of, mat, clrs) \
305
+ do \
306
+ { \
307
+ for (int r = 0; r < clrs && r < 4; r++) \
308
+ fprintf(of, "%6.4f\t%6.4f\t%6.4f\n", mat[r][0], mat[r][1], mat[r][2]); \
309
+ } while (0)
310
+
311
+ void print_verbose(FILE *outfile, LibRaw &MyCoolRawProcessor, std::string &fn)
312
+ {
313
+ int WBi;
314
+ float denom;
315
+ int ret;
316
+
317
+ if ((ret = MyCoolRawProcessor.adjust_sizes_info_only()))
318
+ {
319
+ fprintf(outfile, "Cannot decode %s: %s\n", fn.c_str(), libraw_strerror(ret));
320
+ return; // no recycle, open_file will recycle
321
+ }
322
+
323
+ fprintf(outfile, "\nFilename: %s\n", fn.c_str());
324
+ if (C.OriginalRawFileName[0])
325
+ fprintf(outfile, "OriginalRawFileName: =%s=\n", C.OriginalRawFileName);
326
+ fprintf(outfile, "Timestamp: %s", ctime(&(P2.timestamp)));
327
+ fprintf(outfile, "Camera: %s %s ID: 0x%llx\n", P1.make, P1.model, mnLens.CamID);
328
+ fprintf(outfile, "Normalized Make/Model: =%s/%s= ", P1.normalized_make, P1.normalized_model);
329
+ fprintf(outfile, "CamMaker ID: %d\n", P1.maker_index);
330
+
331
+ {
332
+ int i = 0;
333
+ char sep[] = ", ";
334
+ if (C.UniqueCameraModel[0])
335
+ {
336
+ i++;
337
+ fprintf(outfile, "UniqueCameraModel: =%s=", C.UniqueCameraModel);
338
+ }
339
+ if (C.LocalizedCameraModel[0])
340
+ {
341
+ if (i)
342
+ {
343
+ fprintf(outfile, "%s", sep);
344
+ i++;
345
+ }
346
+ fprintf(outfile, "LocalizedCameraModel: =%s=", C.LocalizedCameraModel);
347
+ }
348
+ if (i)
349
+ {
350
+ fprintf(outfile, "\n");
351
+ i = 0;
352
+ }
353
+ if (C.ImageUniqueID[0])
354
+ {
355
+ if (i)
356
+ fprintf(outfile, "%s", sep);
357
+ i++;
358
+ fprintf(outfile, "ImageUniqueID: =%s=", C.ImageUniqueID);
359
+ }
360
+ if (C.RawDataUniqueID[0])
361
+ {
362
+ if (i)
363
+ fprintf(outfile, "%s", sep);
364
+ i++;
365
+ fprintf(outfile, "RawDataUniqueID: =%s=", C.RawDataUniqueID);
366
+ }
367
+ if (i)
368
+ fprintf(outfile, "\n");
369
+ }
370
+
371
+ if (ShootingInfo.BodySerial[0] && strcmp(ShootingInfo.BodySerial, "0"))
372
+ {
373
+ trimSpaces(ShootingInfo.BodySerial);
374
+ fprintf(outfile, "Body#: %s", ShootingInfo.BodySerial);
375
+ }
376
+ else if (C.model2[0] && (!strncasecmp(P1.normalized_make, "Kodak", 5)))
377
+ {
378
+ trimSpaces(C.model2);
379
+ fprintf(outfile, "Body#: %s", C.model2);
380
+ }
381
+ if (ShootingInfo.InternalBodySerial[0])
382
+ {
383
+ trimSpaces(ShootingInfo.InternalBodySerial);
384
+ fprintf(outfile, " BodyAssy#: %s", ShootingInfo.InternalBodySerial);
385
+ }
386
+ if (exifLens.LensSerial[0])
387
+ {
388
+ trimSpaces(exifLens.LensSerial);
389
+ fprintf(outfile, " Lens#: %s", exifLens.LensSerial);
390
+ }
391
+ if (exifLens.InternalLensSerial[0])
392
+ {
393
+ trimSpaces(exifLens.InternalLensSerial);
394
+ fprintf(outfile, " LensAssy#: %s", exifLens.InternalLensSerial);
395
+ }
396
+ if (P2.artist[0])
397
+ fprintf(outfile, " Owner: %s\n", P2.artist);
398
+ if (P1.dng_version)
399
+ {
400
+ fprintf(outfile, " DNG Version: ");
401
+ for (int i = 24; i >= 0; i -= 8)
402
+ fprintf(outfile, "%d%c", P1.dng_version >> i & 255, i ? '.' : '\n');
403
+ }
404
+ fprintf(outfile, "\nEXIF:\n");
405
+ fprintf(outfile, "\tMinFocal: %0.1f mm\n", exifLens.MinFocal);
406
+ fprintf(outfile, "\tMaxFocal: %0.1f mm\n", exifLens.MaxFocal);
407
+ fprintf(outfile, "\tMaxAp @MinFocal: f/%0.1f\n", exifLens.MaxAp4MinFocal);
408
+ fprintf(outfile, "\tMaxAp @MaxFocal: f/%0.1f\n", exifLens.MaxAp4MaxFocal);
409
+ fprintf(outfile, "\tCurFocal: %0.1f mm\n", P2.focal_len);
410
+ fprintf(outfile, "\tMaxAperture @CurFocal: f/%0.1f\n", exifLens.EXIF_MaxAp);
411
+ fprintf(outfile, "\tFocalLengthIn35mmFormat: %d mm\n", exifLens.FocalLengthIn35mmFormat);
412
+ fprintf(outfile, "\tLensMake: %s\n", exifLens.LensMake);
413
+ fprintf(outfile, "\tLens: %s\n", exifLens.Lens);
414
+ fprintf(outfile, "\n");
415
+
416
+ fprintf(outfile, "\nMakernotes:\n");
417
+ fprintf(outfile, "\tDriveMode: %d\n", ShootingInfo.DriveMode);
418
+ fprintf(outfile, "\tFocusMode: %d\n", ShootingInfo.FocusMode);
419
+ fprintf(outfile, "\tMeteringMode: %d\n", ShootingInfo.MeteringMode);
420
+ fprintf(outfile, "\tAFPoint: %d\n", ShootingInfo.AFPoint);
421
+ fprintf(outfile, "\tExposureMode: %d\n", ShootingInfo.ExposureMode);
422
+ fprintf(outfile, "\tExposureProgram: %d\n", ShootingInfo.ExposureProgram);
423
+ fprintf(outfile, "\tImageStabilization: %d\n", ShootingInfo.ImageStabilization);
424
+
425
+ fprintf(outfile, "\tLens: %s\n", mnLens.Lens);
426
+ fprintf(outfile, "\tLensFormat: %d, ", mnLens.LensFormat);
427
+
428
+ fprintf(outfile, "\tLensMount: %d, ", mnLens.LensMount);
429
+ fprintf(outfile, "\tFocalType: %d, ", mnLens.FocalType);
430
+ switch (mnLens.FocalType)
431
+ {
432
+ case LIBRAW_FT_UNDEFINED:
433
+ fprintf(outfile, "Undefined\n");
434
+ break;
435
+ case LIBRAW_FT_PRIME_LENS:
436
+ fprintf(outfile, "Prime lens\n");
437
+ break;
438
+ case LIBRAW_FT_ZOOM_LENS:
439
+ fprintf(outfile, "Zoom lens\n");
440
+ break;
441
+ default:
442
+ fprintf(outfile, "Unknown\n");
443
+ break;
444
+ }
445
+ fprintf(outfile, "\tLensFeatures_pre: %s\n", mnLens.LensFeatures_pre);
446
+ fprintf(outfile, "\tLensFeatures_suf: %s\n", mnLens.LensFeatures_suf);
447
+ fprintf(outfile, "\tMinFocal: %0.1f mm\n", mnLens.MinFocal);
448
+ fprintf(outfile, "\tMaxFocal: %0.1f mm\n", mnLens.MaxFocal);
449
+ fprintf(outfile, "\tMaxAp @MinFocal: f/%0.1f\n", mnLens.MaxAp4MinFocal);
450
+ fprintf(outfile, "\tMaxAp @MaxFocal: f/%0.1f\n", mnLens.MaxAp4MaxFocal);
451
+ fprintf(outfile, "\tMinAp @MinFocal: f/%0.1f\n", mnLens.MinAp4MinFocal);
452
+ fprintf(outfile, "\tMinAp @MaxFocal: f/%0.1f\n", mnLens.MinAp4MaxFocal);
453
+ fprintf(outfile, "\tMaxAp: f/%0.1f\n", mnLens.MaxAp);
454
+ fprintf(outfile, "\tMinAp: f/%0.1f\n", mnLens.MinAp);
455
+ fprintf(outfile, "\tCurFocal: %0.1f mm\n", mnLens.CurFocal);
456
+ fprintf(outfile, "\tCurAp: f/%0.1f\n", mnLens.CurAp);
457
+ fprintf(outfile, "\tMaxAp @CurFocal: f/%0.1f\n", mnLens.MaxAp4CurFocal);
458
+ fprintf(outfile, "\tMinAp @CurFocal: f/%0.1f\n", mnLens.MinAp4CurFocal);
459
+
460
+ if (exifLens.makernotes.FocalLengthIn35mmFormat > 1.0f)
461
+ fprintf(outfile, "\tFocalLengthIn35mmFormat: %0.1f mm\n", exifLens.makernotes.FocalLengthIn35mmFormat);
462
+
463
+ if (exifLens.nikon.EffectiveMaxAp > 0.1f)
464
+ fprintf(outfile, "\tEffectiveMaxAp: f/%0.1f\n", exifLens.nikon.EffectiveMaxAp);
465
+
466
+ if (exifLens.makernotes.LensFStops > 0.1f)
467
+ fprintf(outfile, "\tLensFStops @CurFocal: %0.2f\n", exifLens.makernotes.LensFStops);
468
+
469
+ fprintf(outfile, "\tTeleconverterID: %lld\n", mnLens.TeleconverterID);
470
+ fprintf(outfile, "\tTeleconverter: %s\n", mnLens.Teleconverter);
471
+ fprintf(outfile, "\tAdapterID: %lld\n", mnLens.AdapterID);
472
+ fprintf(outfile, "\tAdapter: %s\n", mnLens.Adapter);
473
+ fprintf(outfile, "\tAttachmentID: %lld\n", mnLens.AttachmentID);
474
+ fprintf(outfile, "\tAttachment: %s\n", mnLens.Attachment);
475
+ fprintf(outfile, "\n");
476
+
477
+ fprintf(outfile, "ISO speed: %d\n", (int)P2.iso_speed);
478
+ if (P3.real_ISO > 0.1f)
479
+ fprintf(outfile, "real ISO speed: %d\n", (int)P3.real_ISO);
480
+ fprintf(outfile, "Shutter: ");
481
+ if (P2.shutter > 0 && P2.shutter < 1)
482
+ P2.shutter = fprintf(outfile, "1/%0.1f\n", 1.0f / P2.shutter);
483
+ else if (P2.shutter >= 1)
484
+ fprintf(outfile, "%0.1f sec\n", P2.shutter);
485
+ else /* negative*/
486
+ fprintf(outfile, " negative value\n");
487
+ fprintf(outfile, "Aperture: f/%0.1f\n", P2.aperture);
488
+ fprintf(outfile, "Focal length: %0.1f mm\n", P2.focal_len);
489
+ if (P3.exifAmbientTemperature > -273.15f)
490
+ fprintf(outfile, "Ambient temperature (exif data): %6.2f° C\n", P3.exifAmbientTemperature);
491
+ if (P3.CameraTemperature > -273.15f)
492
+ fprintf(outfile, "Camera temperature: %6.2f° C\n", P3.CameraTemperature);
493
+ if (P3.SensorTemperature > -273.15f)
494
+ fprintf(outfile, "Sensor temperature: %6.2f° C\n", P3.SensorTemperature);
495
+ if (P3.SensorTemperature2 > -273.15f)
496
+ fprintf(outfile, "Sensor temperature2: %6.2f° C\n", P3.SensorTemperature2);
497
+ if (P3.LensTemperature > -273.15f)
498
+ fprintf(outfile, "Lens temperature: %6.2f° C\n", P3.LensTemperature);
499
+ if (P3.AmbientTemperature > -273.15f)
500
+ fprintf(outfile, "Ambient temperature: %6.2f° C\n", P3.AmbientTemperature);
501
+ if (P3.BatteryTemperature > -273.15f)
502
+ fprintf(outfile, "Battery temperature: %6.2f° C\n", P3.BatteryTemperature);
503
+ if (P3.FlashGN > 1.0f)
504
+ fprintf(outfile, "Flash Guide Number: %6.2f\n", P3.FlashGN);
505
+ fprintf(outfile, "Flash exposure compensation: %0.2f EV\n", P3.FlashEC);
506
+ if (C.profile)
507
+ fprintf(outfile, "Embedded ICC profile: yes, %d bytes\n", C.profile_length);
508
+ else
509
+ fprintf(outfile, "Embedded ICC profile: no\n");
510
+
511
+ if (C.dng_levels.baseline_exposure > -999.f)
512
+ fprintf(outfile, "Baseline exposure: %04.3f\n", C.dng_levels.baseline_exposure);
513
+
514
+ fprintf(outfile, "Number of raw images: %d\n", P1.raw_count);
515
+
516
+ if (S.pixel_aspect != 1)
517
+ fprintf(outfile, "Pixel Aspect Ratio: %0.6f\n", S.pixel_aspect);
518
+ if (T.tlength)
519
+ fprintf(outfile, "Thumb size: %4d x %d\n", T.twidth, T.theight);
520
+ fprintf(outfile, "Full size: %4d x %d\n", S.raw_width, S.raw_height);
521
+
522
+ if (S.raw_inset_crops[0].cwidth)
523
+ {
524
+ fprintf(outfile, "Raw inset, width x height: %4d x %d ", S.raw_inset_crops[0].cwidth, S.raw_inset_crops[0].cheight);
525
+ if (S.raw_inset_crops[0].cleft != 0xffff)
526
+ fprintf(outfile, "left: %d ", S.raw_inset_crops[0].cleft);
527
+ if (S.raw_inset_crops[0].ctop != 0xffff)
528
+ fprintf(outfile, "top: %d", S.raw_inset_crops[0].ctop);
529
+ fprintf(outfile, "\n");
530
+ }
531
+
532
+ fprintf(outfile, "Image size: %4d x %d\n", S.width, S.height);
533
+ fprintf(outfile, "Output size: %4d x %d\n", S.iwidth, S.iheight);
534
+ fprintf(outfile, "Image flip: %d\n", S.flip);
535
+
536
+ fprintf(outfile, "Raw colors: %d", P1.colors);
537
+ if (P1.filters)
538
+ {
539
+ fprintf(outfile, "\nFilter pattern: ");
540
+ if (!P1.cdesc[3])
541
+ P1.cdesc[3] = 'G';
542
+ for (int i = 0; i < 16; i++)
543
+ putchar(P1.cdesc[MyCoolRawProcessor.fcol(i >> 1, i & 1)]);
544
+ }
545
+
546
+ if (C.black)
547
+ {
548
+ fprintf(outfile, "\nblack: %d", C.black);
549
+ }
550
+ if (C.cblack[0] != 0)
551
+ {
552
+ fprintf(outfile, "\ncblack[0 .. 3]:");
553
+ for (int c = 0; c < 4; c++)
554
+ fprintf(outfile, " %d", C.cblack[c]);
555
+ }
556
+ if ((C.cblack[4] * C.cblack[5]) > 0)
557
+ {
558
+ fprintf(outfile, "\nBlackLevelRepeatDim: %d x %d\n", C.cblack[4], C.cblack[5]);
559
+ int n = C.cblack[4] * C.cblack[5];
560
+ fprintf(outfile, "cblack[6 .. %d]:", 6 + n - 1);
561
+ for (int c = 6; c < 6 + n; c++)
562
+ fprintf(outfile, " %d", C.cblack[c]);
563
+ }
564
+
565
+ if (C.linear_max[0] != 0)
566
+ {
567
+ fprintf(outfile, "\nHighlight linearity limits:");
568
+ for (int c = 0; c < 4; c++)
569
+ fprintf(outfile, " %ld", C.linear_max[c]);
570
+ }
571
+
572
+ if (P1.colors > 1)
573
+ {
574
+ fprintf(outfile, "\nMakernotes WB data: coeffs EVs");
575
+ if ((C.cam_mul[0] > 0) && (C.cam_mul[1] > 0))
576
+ {
577
+ fprintf(outfile, "\n %-23s %g %g %g %g %5.2f %5.2f %5.2f %5.2f", "As shot", C.cam_mul[0], C.cam_mul[1],
578
+ C.cam_mul[2], C.cam_mul[3], roundf(_log2(C.cam_mul[0] / C.cam_mul[1]) * 100.0f) / 100.0f, 0.0f,
579
+ roundf(_log2(C.cam_mul[2] / C.cam_mul[1]) * 100.0f) / 100.0f,
580
+ C.cam_mul[3] ? roundf(_log2(C.cam_mul[3] / C.cam_mul[1]) * 100.0f) / 100.0f : 0.0f);
581
+ }
582
+
583
+ for (int cnt = 0; cnt < int(sizeof WBToStr / sizeof *WBToStr); cnt++)
584
+ {
585
+ WBi = WBToStr[cnt].NumId;
586
+ if ((C.WB_Coeffs[WBi][0] > 0) && (C.WB_Coeffs[WBi][1] > 0))
587
+ {
588
+ denom = (float)C.WB_Coeffs[WBi][1];
589
+ fprintf(outfile, "\n %-23s %4d %4d %4d %4d %5.2f %5.2f %5.2f %5.2f", WBToStr[cnt].hrStrId,
590
+ C.WB_Coeffs[WBi][0], C.WB_Coeffs[WBi][1], C.WB_Coeffs[WBi][2], C.WB_Coeffs[WBi][3],
591
+ roundf(_log2((float)C.WB_Coeffs[WBi][0] / denom) * 100.0f) / 100.0f, 0.0f,
592
+ roundf(_log2((float)C.WB_Coeffs[WBi][2] / denom) * 100.0f) / 100.0f,
593
+ C.WB_Coeffs[3] ? roundf(_log2((float)C.WB_Coeffs[WBi][3] / denom) * 100.0f) / 100.0f : 0.0f);
594
+ }
595
+ }
596
+
597
+ if (C.rgb_cam[0][0] > 0.0001)
598
+ {
599
+ fprintf(outfile, "\n\nCamera2RGB matrix (mode: %d):\n", MyCoolRawProcessor.imgdata.params.use_camera_matrix);
600
+ PRINTMATRIX3x4(outfile, C.rgb_cam, P1.colors);
601
+ }
602
+
603
+ fprintf(outfile, "\nXYZ->CamRGB matrix:\n");
604
+ PRINTMATRIX4x3(outfile, C.cam_xyz, P1.colors);
605
+
606
+ for (int cnt = 0; cnt < 2; cnt++)
607
+ {
608
+ if (fabsf(C.P1_color[cnt].romm_cam[0]) > 0)
609
+ {
610
+ fprintf(outfile, "\nPhaseOne Matrix %d:\n", cnt + 1);
611
+ for (int i = 0; i < 3; i++)
612
+ fprintf(outfile, "%6.4f\t%6.4f\t%6.4f\n", C.P1_color[cnt].romm_cam[i * 3],
613
+ C.P1_color[cnt].romm_cam[i * 3 + 1], C.P1_color[cnt].romm_cam[i * 3 + 2]);
614
+ }
615
+ }
616
+
617
+ if (fabsf(C.cmatrix[0][0]) > 0)
618
+ {
619
+ fprintf(outfile, "\ncamRGB -> sRGB Matrix:\n");
620
+ PRINTMATRIX3x4(outfile, C.cmatrix, P1.colors);
621
+ }
622
+
623
+ if (fabsf(C.ccm[0][0]) > 0)
624
+ {
625
+ fprintf(outfile, "\nColor Correction Matrix:\n");
626
+ PRINTMATRIX3x4(outfile, C.ccm, P1.colors);
627
+ }
628
+
629
+ for (int cnt = 0; cnt < 2; cnt++)
630
+ {
631
+ if (C.dng_color[cnt].illuminant != LIBRAW_WBI_None)
632
+ {
633
+ if (C.dng_color[cnt].illuminant <= LIBRAW_WBI_StudioTungsten)
634
+ {
635
+ fprintf(outfile, "\nDNG Illuminant %d: %s", cnt + 1, WB_idx2hrstr(C.dng_color[cnt].illuminant));
636
+ }
637
+ else if (C.dng_color[cnt].illuminant == LIBRAW_WBI_Other)
638
+ {
639
+ fprintf(outfile, "\nDNG Illuminant %d: Other", cnt + 1);
640
+ }
641
+ else
642
+ {
643
+ fprintf(outfile,
644
+ "\nDNG Illuminant %d is out of EXIF LightSources range "
645
+ "[0:24, 255]: %d",
646
+ cnt + 1, C.dng_color[cnt].illuminant);
647
+ }
648
+ }
649
+ }
650
+
651
+ for (int n = 0; n < 2; n++)
652
+ {
653
+ if (fabsf(C.dng_color[n].colormatrix[0][0]) > 0)
654
+ {
655
+ fprintf(outfile, "\nDNG color matrix %d:\n", n + 1);
656
+ PRINTMATRIX4x3(outfile, C.dng_color[n].colormatrix, P1.colors);
657
+ }
658
+ }
659
+
660
+ for (int n = 0; n < 2; n++)
661
+ {
662
+ if (fabsf(C.dng_color[n].calibration[0][0]) > 0)
663
+ {
664
+ fprintf(outfile, "\nDNG calibration matrix %d:\n", n + 1);
665
+ for (int i = 0; i < P1.colors && i < 4; i++)
666
+ {
667
+ for (int j = 0; j < P1.colors && j < 4; j++)
668
+ fprintf(outfile, "%6.4f\t", C.dng_color[n].calibration[j][i]);
669
+ fprintf(outfile, "\n");
670
+ }
671
+ }
672
+ }
673
+
674
+ for (int n = 0; n < 2; n++)
675
+ {
676
+ if (fabsf(C.dng_color[n].forwardmatrix[0][0]) > 0)
677
+ {
678
+ fprintf(outfile, "\nDNG forward matrix %d:\n", n + 1);
679
+ PRINTMATRIX3x4(outfile, C.dng_color[n].forwardmatrix, P1.colors);
680
+ }
681
+ }
682
+
683
+ fprintf(outfile, "\nDerived D65 multipliers:");
684
+ for (int c = 0; c < P1.colors; c++)
685
+ fprintf(outfile, " %f", C.pre_mul[c]);
686
+ fprintf(outfile, "\n");
687
+ }
688
+ }
689
+
690
+ void print_wbfun(FILE *outfile, LibRaw &MyCoolRawProcessor, std::string &fn)
691
+ {
692
+ int WBi;
693
+ float denom;
694
+ fprintf(outfile, "// %s %s\n", P1.make, P1.model);
695
+ for (int cnt = 0; cnt < int(sizeof WBToStr / sizeof *WBToStr); cnt++)
696
+ {
697
+ WBi = WBToStr[cnt].NumId;
698
+ if (C.WB_Coeffs[WBi][0] && C.WB_Coeffs[WBi][1] && !WBToStr[cnt].aux_setting)
699
+ {
700
+ denom = (float)C.WB_Coeffs[WBi][1];
701
+ fprintf(outfile, "{\"%s\", \"%s\", %s, {%6.5ff, 1.0f, %6.5ff, ", P1.normalized_make, P1.normalized_model,
702
+ WBToStr[cnt].StrId, C.WB_Coeffs[WBi][0] / denom, C.WB_Coeffs[WBi][2] / denom);
703
+ if (C.WB_Coeffs[WBi][1] == C.WB_Coeffs[WBi][3])
704
+ fprintf(outfile, "1.0f}},\n");
705
+ else
706
+ fprintf(outfile, "%6.5ff}},\n", C.WB_Coeffs[WBi][3] / denom);
707
+ }
708
+ }
709
+
710
+ for (int cnt = 0; cnt < 64; cnt++)
711
+ if (C.WBCT_Coeffs[cnt][0])
712
+ {
713
+ fprintf(outfile, "{\"%s\", \"%s\", %d, {%6.5ff, 1.0f, %6.5ff, ", P1.normalized_make, P1.normalized_model,
714
+ (int)C.WBCT_Coeffs[cnt][0], C.WBCT_Coeffs[cnt][1] / C.WBCT_Coeffs[cnt][2],
715
+ C.WBCT_Coeffs[cnt][3] / C.WBCT_Coeffs[cnt][2]);
716
+ if (C.WBCT_Coeffs[cnt][2] == C.WBCT_Coeffs[cnt][4])
717
+ fprintf(outfile, "1.0f}},\n");
718
+ else
719
+ fprintf(outfile, "%6.5ff}},\n", C.WBCT_Coeffs[cnt][4] / C.WBCT_Coeffs[cnt][2]);
720
+ }
721
+ else
722
+ break;
723
+ fprintf(outfile, "\n");
724
+ }
725
+
726
+ void print_szfun(FILE *outfile, LibRaw &MyCoolRawProcessor, std::string &fn)
727
+ {
728
+ fprintf(outfile, "%s\t%s\t%s\t%d\t%d\n", fn.c_str(), P1.make, P1.model, S.width, S.height);
729
+ }
730
+
731
+ void print_unpackfun(FILE *outfile, LibRaw &MyCoolRawProcessor, int print_frame, std::string &fn)
732
+ {
733
+ char frame[48] = "";
734
+ if (print_frame)
735
+ {
736
+ ushort right_margin = S.raw_width - S.width - S.left_margin;
737
+ ushort bottom_margin = S.raw_height - S.height - S.top_margin;
738
+ snprintf(frame, 48, "F=%dx%dx%dx%d RS=%dx%d", S.left_margin, S.top_margin, right_margin, bottom_margin, S.raw_width,
739
+ S.raw_height);
740
+ }
741
+ fprintf(outfile, "%s\t%s\t%s\t%s/%s\n", fn.c_str(), MyCoolRawProcessor.unpack_function_name(), frame, P1.make,
742
+ P1.model);
743
+ }