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,2802 @@
1
+ 2025-04-14 Alex Tutubalin <lexa@lexa.ru>
2
+
3
+ LibRaw 0.21.4-Release
4
+
5
+ * It's just time to mark all the changes made with tag
6
+
7
+ 2025-02-07 Alex Tutubalin <lexa@lexa.ru>
8
+
9
+ * Prevent out-of-buffer access in phase_one_correct()
10
+
11
+ 2025-02-05 Alex Tutubalin <lexa@lexa.ru>
12
+
13
+ * Prevent one-off read in Fuji WB table parsing
14
+ * Prevent one-off read in phase_one_correct()
15
+
16
+ 2024-09-18 Alex Tutubalin <lexa@lexa.ru>
17
+
18
+ LibRaw 0.21.3-Release
19
+ * new compile-time define LIBRAW_CALLOC_RAWSTORE
20
+ If defined: calloc() will be used for all big buffer
21
+ allocations to prevent uninitialized heap data leak
22
+
23
+ * Small allocations: calloc() instead of malloc() to prevent
24
+ uninitialized heap data leak
25
+
26
+ * Support for 4-component JPEG-compressed DNG files
27
+
28
+ * CR3-Qstep table: avoid wrong 64-bit code generation
29
+
30
+ * Fixed several bugs related to specially-crafted files
31
+ processing (thanks to OSS-Fuzz project)
32
+
33
+ 2023-12-19 Alex Tutubalin <lexa@lexa.ru>
34
+
35
+ LibRaw 0.21.2-Release
36
+
37
+ * New compile-defined limit LIBRAW_MAX_PROFILE_SIZE_MB:
38
+ limits allocation/read size for embedded color profile (default: 256Mb)
39
+
40
+ * Embedded color profile allocation/read size: limited by input file size.
41
+
42
+ * Multiple fixes (mostly inspired by oss-fuzz) to improve library stability and/or input checks.
43
+
44
+ * raw-identify: use fallback if PATH_MAX not available
45
+
46
+ * Disabled color conversion for Canon 16-bit thumbnails
47
+
48
+ * docs/changelog: explained the case when no thumbnail is found in specific file
49
+
50
+ * swapXX renamed to libraw_swapXX to avoid name conflict
51
+
52
+ * better striped thumbnails handling
53
+
54
+
55
+ 2023-01-05 Alex Tutubalin <lexa@lexa.ru>
56
+ LibRaw 0.21.1-Release
57
+ * fixed typo in panasonic metadata parser
58
+
59
+ 2022-12-18 Alex Tutubalin <lexa@lexa.ru>
60
+ LibRaw 0.21-Release
61
+
62
+ * Multiple fixes inspired by oss-fuzz project
63
+
64
+ 2022-07-01 Alex Tutubalin <lexa@lexa.ru>
65
+
66
+ LibRaw 0.21-Beta1
67
+
68
+ == Camera format support ==
69
+ * Phase One/Leaf IIQ-S v2 support
70
+ * Canon CR3 filmrolls
71
+ * Canon CRM (movie) files
72
+ * Tiled bit-packed (and 16-bit unpacked) DNGs
73
+ * (non-standard) Deflate-compressed integer DNG files are allowed
74
+
75
+ == Camera support ==
76
+
77
+ * Canon EOS R3, R7 and R10
78
+ * Fujifilm X-H2S, X-T30 II
79
+ * OM System OM-1
80
+ * Leica M11
81
+ * Sony A7-IV (ILCE-7M4)
82
+ * DJI Mavic 3
83
+ * Nikon Z9: standard compression formats only
84
+
85
+ == Multiple (resolution) thumbnails support ==
86
+
87
+ * New imgdata.thumbs_list data item with data fields:
88
+
89
+ int thumbcount: thumbnail count
90
+ libraw_thumbnail_item_t thumblist[LIBRAW_THUMBNAIL_MAXCOUNT]: list of thumbnails
91
+
92
+ libraw_thumbnail_item_t fields:
93
+
94
+ enum LibRaw_internal_thumbnail_formats tformat: internal thumbnail format
95
+ (this is not PPM/JPEG, but internal type related to thumbnail reading/unpacking method)
96
+
97
+ ushort twidth, theight: thumbnail image size.
98
+
99
+ ushort tflip: image rotation (see notes below)
100
+
101
+ unsigned tlength: on-disk data size (not uncompressed for compressed formats)
102
+
103
+ unsigned tmisc: bit depth and channel count: (color << 5) | bitsperpixel
104
+
105
+ INT64 toffset: Thumbnail data offset in file
106
+
107
+ Notes:
108
+ - Only TIFF-based and CR3 files are parsed for thumbnail list, other formats will have
109
+ thumbcount = 1.
110
+
111
+ - If no thumbnails are found in file: thumbcount will be set to 1 and
112
+ thumblist[0] will be initialized with data from thumbnail fields,
113
+ so LibRaw::unpack_thumb_ex(0) will do the same as LibRaw::unpack_thumb()
114
+
115
+ - Thumbnail image size may be unknown (not recorded in metadata), in this case twidth and theight are zero.
116
+ Usually small(er) thumbnails will always have twidth/theight filled, while largest one may have these fields set to zero.
117
+
118
+ - Thumbnail rotation (tflip) is filled only for TIFF-based RAWs (if Orientation tag is not present in IFD, default zero value is used)
119
+ For non-tiff images, tflip is initialized to 0xffff (not known...)
120
+
121
+ - There is no code to select thumbnail based on some criteria (e.g. minimal resolution), it is left to user to implement such a criteria, if needed
122
+ (see unpack_thumb_ex() call below)
123
+
124
+ - If you want to get largest possible thumbnail: just use old unpack_thumb() call to get it.
125
+
126
+ * new API call: LibRaw::unpack_thumb_ex(int i):
127
+ Unpacks i-th thumbnail if it exists into imgdata.thumbnail structure
128
+ i should be non-zero and less then imgdata.thumbs_list.thumbcount.
129
+
130
+ * samples/simple_dcraw.cpp: new -E command line switch to extract all thumbnails from input file(s)
131
+
132
+ == (Experimental) RawSpeed "version 3" (develop branch) support. ==
133
+
134
+ Build with -DUSE_RAWSPEED3, see details in RawSpeed3/README.md
135
+
136
+ LibRaw::capabilities will set bit LIBRAW_CAPS_RAWSPEED3 if compiled w/
137
+ RawSpeed-v3 support
138
+
139
+ If file was processed (or tried to process) via RawSpeed-v3, these bits
140
+ are raised in imgdata.process_warnings:
141
+ LIBRAW_WARN_RAWSPEED3_PROCESSED - processed via RawSpeed v3
142
+ LIBRAW_WARN_RAWSPEED3_PROBLEM - not processed (due to exception in RawSpeed library)
143
+ LIBRAW_WARN_RAWSPEED3_UNSUPPORTED - unsupported file
144
+ LIBRAW_WARN_RAWSPEED3_NOTLISTED - file not listed in cameras.xml data
145
+
146
+ RawSpeed-v3 support is controlled via libraw_decoder_info.t->flags
147
+ (LIBRAW_DECODER_TRYRAWSPEED3 bit).
148
+ The bit is set for:
149
+ - lossless jpeg decoder
150
+ - Canon sRAW decoder
151
+ - lossless compressed and packed-compressed DNG decoders
152
+ - Pentax decoder
153
+ - Nikon (compressed) decoder
154
+ - Phase One Compressed and Hasselblad/Compressed decoders
155
+ - bitpacked decoder
156
+ - Panasonic (old 12-bit compression) decoder
157
+ - Olympus decoder
158
+ - Sony ARW (v1 and v2) decoders
159
+ - Samsung (version 1) decoder
160
+
161
+ * (Experimental) Fine control of RawSpeed version selection/use.
162
+ To enable, build LibRaw with -DUSE_RAWSPEED_BITS
163
+ LibRaw::capabilities will set bit LIBRAW_CAPS_RAWSPEED_BITS if compiled
164
+ with this flag.
165
+ If enabled:
166
+ imgdata.rawparams.use_rawspeed becomes bit-field (instead of 0/1 off/on)
167
+ with bits:
168
+ LIBRAW_RAWSPEEDV1_USE - use RawSpeed Version 1 (if compiled with)
169
+ LIBRAW_RAWSPEEDV1_FAILONUNKNOWN - do not process unknown files
170
+ (not listed in RawSpeed v1 camera definitions file)
171
+ LIBRAW_RAWSPEEDV1_IGNOREERRORS - ignore mirror decoding errors (out of range data,etc)
172
+
173
+ LIBRAW_RAWSPEEDV3_USE - Use RawSpeed Version 3 (if compiled with)
174
+ LIBRAW_RAWSPEEDV3_FAILONUNKNOWN - do not process unknown files
175
+ LIBRAW_RAWSPEEDV3_IGNOREERRORS - ignore minor decoding errors
176
+
177
+ == Misc changes/improvements ==
178
+ * New compile time define LIBRAW_OWN_SWAB
179
+ to use on platforms without swab() in C/C++ runtime
180
+
181
+ * New imgdata.rawparams.options bit: LIBRAW_RAWOPTIONS_CANON_IGNORE_MAKERNOTES_ROTATION
182
+ If set: image orientation is set based on TIFF/IFD0:Orientation tag,
183
+ makernotes orientation data is ignored
184
+
185
+ * Nikon makernotes: read NEFCompression tag for HE/HE* files
186
+
187
+ * Nikon orientation tag: more fixed offsets for known cameras
188
+
189
+ * Adobe DNG SDK 1.6 support (meaning, just an additional patch for GPR SDK)
190
+
191
+ * removed LibRaw::memerr(), memory allocation failures are already handled
192
+ in LibRaw_memmgr::*alloc w/ exception thrown
193
+
194
+ * removed memory error callback, out-of-memory error should be handled via
195
+ returned error code check, all related parameters (e.g. LibRaw constructor
196
+ option to not set such callback) is also removed
197
+
198
+ * imgdata.params.adjust_maximum_thr is settable via C-API libraw_set_adjust_maximum_thr(..)
199
+
200
+ * New rawoptions/processing flags for DNG processing if compiled
201
+ with Adobe DNG SDK:
202
+ LIBRAW_RAWOPTIONS_DNG_STAGE2_IFPRESENT,LIBRAW_RAWOPTIONS_DNG_STAGE3_IFPRESENT
203
+ If these flag(s) are set: Stage2/Stage3 processing will be performed
204
+ only if OpcodeList2/OpcodeList3 tags are present in the input DNG file
205
+ Old (hard) flags (LIBRAW_RAWOPTIONS_DNG_STAGE2 and
206
+ LIBRAW_RAWOPTIONS_DNG_STAGE3) are not removed and will force Stage2/3
207
+ processing if set (regardless of input file tags)
208
+
209
+ * New imgdata.rawparams.options bit: LIBRAW_RAWOPTIONS_DNG_ADD_MASKS
210
+ If set: DNG Transparency Masks will be extracted (if selected via shot_select)
211
+
212
+ * New decoder flag: LIBRAW_DECODER_UNSUPPORTED_FORMAT
213
+
214
+ == Bugs fixed ==
215
+
216
+ * Fixed possible out-of-buffer read in Nikon orientation tag parser
217
+
218
+ * Windows datastream: fixed logic errors (not showing up in real life)
219
+
220
+ * Out-of-range read-only array access in postprocessing if output_color is set to 0 (raw color)
221
+
222
+ * Minolta Z2 was not recognized correctly on 32-bit systems
223
+
224
+ * Fixed possible buffer overflow in Kodak C330 decoder
225
+
226
+ * dcraw_process(): check for buffer allocation results to avoid NULL deref
227
+
228
+ 2021-10-11 Alex Tutubalin <lexa@lexa.ru>
229
+ * Camera support:
230
+ Apple iPhone 13 Pro
231
+ GoPro HERO10 (if compiled w/ USE_GPR_SDK)
232
+ Ricoh GR III
233
+ Sony Xperia 1 III
234
+
235
+ * Fuji RAF files: XMP block extraction
236
+
237
+ * Fixed a typo in LIBRAW_OPTIONS_* flag names
238
+ (was LIBRAW_OPIONS, old flags names not removed due to compatibility)
239
+
240
+ * samples/raw-identify.cpp: -v flag documented in usage print.
241
+
242
+ 2021-09-14 Alex Tutubalin <lexa@lexa.ru>
243
+ * Camera support:
244
+ Fujifilm GFX 50S II
245
+ Nikon Z fc
246
+ Sony A7R-IIIA (ILCE-7RM3A), A7R-IVA (ILCE-7RM4A)
247
+
248
+ * API/datastruct Changes:
249
+ - imgdata.params.shot_select moved to imgdata.rawparams.shot_select
250
+ (because this is decode-time option, not postprocessing option)
251
+
252
+ - libraw_open_bayer(...) added to C-API
253
+
254
+ - imgdata.makernotes.canon: separate SensorLeftBorder,SensorTopBorder....
255
+ (and many other datafields) are united in libraw_area_t (rectangle)
256
+ groups for crop areas and optical black areas.
257
+
258
+ * src/libraw_cxx.cpp completely removed from source tree to not confuse users.
259
+ (also all mentions are removed from Makefiles)
260
+
261
+ * Better Olympus makernotes parsing: LiveND mode, Panorama mode tags.
262
+
263
+ * clang-cl compatibility:
264
+ - defines _MSC_VER, but _forceinline is not supported
265
+ - warnings eliminated in Windows buffered datastream
266
+
267
+ * Canon/12-bit files: adjust color.linear_max and makernotes.canon values
268
+ to match data range.
269
+
270
+ 2021-08-04 Alex Tutubalin <lexa@lexa.ru>
271
+ * Camera support:
272
+ Sony ZV-E10
273
+ * DNG/Floating point: additional metadata check to refuse ambiguous/corrupted files.
274
+ * DNG/Floating point: correct handling of striped files (never seen in wild)
275
+ * Rawspeed support: disallow Nikon D6/Compressed processing
276
+ * Bug fixed: raw_inset_crops[] ctop/cheight was not adjusted right if vendor-specified
277
+ ctop equals to 1.
278
+
279
+ 2021-07-20 Alex Tutubalin <lexa@lexa.ru>
280
+ * Camera support:
281
+ Olympus E-P7
282
+
283
+ 2021-07-08 Alex Tutubalin <lexa@lexa.ru>
284
+ * Camera support:
285
+ Panasonic GH5 Mark II
286
+ Pentax K3 Mark III
287
+ several phones w/ DNG files (checked)
288
+
289
+ * Camera format support: Panasonic v6/12 bit
290
+ * Compile-time raw size limits implemented:
291
+ LIBRAW_MAX_NONDNG_RAW_FILE_SIZE - max file size for non-DNG files (default: 2GB - 1 byte)
292
+ LIBRAW_MAX_DNG_RAW_FILE_SIZE - max DNG file size limit (4GB-1 if compiled w/ DNG SDK, 2GB-1 otherwise)
293
+
294
+ * ACES output: color conversion changed to provide D65 white point
295
+
296
+ * Fix for Canon 5D Mark II/sRAW1 incorrect camera provided crop
297
+
298
+ 2021-05-07 Alex Tutubalin <lexa@lexa.ru>
299
+ * Camera support:
300
+ Fujifilm GFX 100S, X-E4: improved color data
301
+ Canon EOS M50 Mark II was supported but not listed in camera list
302
+ DJI Mavic Air 2S
303
+ GOPRO Hero9
304
+ * Support for RaspberryPi HQ camera (if compiled w/ USE_6BY9RPI)
305
+ * Improved support for RPi V1/V2 cameras:
306
+ - white balance data extraction
307
+ - color matrix extracted to imgdata.color.cmatrix to use with
308
+ use_camera_matrix.
309
+ - full-size thumbnail/preview support for JPEG+RAW files (raspistill -r)
310
+ * Fuji GFX100/GFX100S: PixelShift metadata extraction.
311
+ * RawSpeed (master): fixed bug in old Samsung/compressed decoder,
312
+ apply this patch to RawSpeed: RawSpeed/rawspeed.samsung-decoder.patch
313
+ * DCI-P3 and Rec 2020 output colorspaces
314
+ * Eliminated multiple signed/unsigned mismatch warnings (reported by gcc11)
315
+ * fixed possible 1-byte stack underrun while handling text tags with zero length
316
+ * XMP block size in CR3 files limited to 1MB
317
+ * Preview block size in CR3 files limited to 100MB
318
+ * Fixed wrong handling of linear DNG files created from Pentax out-of-camera
319
+ DNGs
320
+
321
+ 2021-02-18 Alex Tutubalin <lexa@lexa.ru>
322
+ * Improved Phase One Compressed defects masking, thanks to Alexey Danilchenko
323
+ * Sony ILCE-1/Lossless compressed support
324
+
325
+ 2021-02-16 Alex Tutubalin <lexa@lexa.ru>
326
+ * Additional fields in libraw_internal_data.unpacker_data:
327
+ - INT64: exif_offset: base offset of 1st EXIF IFD in file
328
+ - INT64: ifd0_offset: base offset of 1st TIFF IFD (IFD0) in file
329
+ - unsigned cr3_exif_length, cr3_ifd0_lenght : CR3-specific length of
330
+ exif and ifd0 sections.
331
+
332
+ 2021-02-08 Alex Tutubalin <lexa@lexa.ru>
333
+ * CRX (CR3) decoder: fixed typo in constant; this does not affect any
334
+ known still photo (CR3) sample(s), but allows to use the decoder with
335
+ some video (CRM) files.
336
+
337
+ * Imported user-contributed improvements to OpenMP postprocessing
338
+ (AHD and X-Trans demosaic)
339
+
340
+ * Bugfix: overwrite (wrong) TIFF/Orientation tag value with Metadata/Camera Orientation
341
+ value for EOS 40D only.
342
+
343
+ 2021-02-04 Alex Tutubalin <lexa@lexa.ru>
344
+ * imgdata.sizes.raw_inset_crop rearranged:
345
+ now it is imgdata.sizes.raw_inset_crops[2]:
346
+ - item at [0] is the same as imgdatra.sizes.raw_inset_crop in previous
347
+ versions
348
+ - item at [1] is 'user crop', in particular:
349
+ -- set by DNG DefaultUserCrop tag
350
+ -- or set via raw aspect ratio tags (e.g. 16:9 aspect on Fujifilm cameras)
351
+ raw_inset_crops[1] is filled only if aspect ratio tags provides different
352
+ aspect ratio compared to raw_inset_crops[0].
353
+
354
+ There are no flags to check if raw_inset_crops[Nth] is filled; to see if it is filled check
355
+ the values of:
356
+ ctop/cleft < 0xffff (0xffff => standard values if not initialized)
357
+ ctop+cheight <= sizes.raw_height
358
+ cleft+cwidth <= sizes.raw_width
359
+
360
+ Note: raw_inset_crops may be fooled by metadata (makernotes), use some correctness check before use.
361
+
362
+ * LIBRAW_RAWOPTIONS_USE_DNG_DEFAULT_CROP processing flag removed,
363
+ DNG DefaultCrop* tags are parsed into raw_inset_crops[0]
364
+
365
+ * new LibRaw call LibRaw::adjust_to_raw_inset_crop(unsigned mask, float maxcrop = 0.55f)
366
+ Promotes imgdata.sizes.raw_inset_crops[] values to
367
+ imgdata.sizes.*margin and imgdata.sizes.width/height fields
368
+
369
+ mask: if bit 1 is set: prefer raw_inset_crops[1]
370
+ if bit 0 is set: prefer raw_inset_crops[0]
371
+
372
+ maxcrop: limits crop to not less than (original width/height)*maxcrop; if raw_inset_crops[i]
373
+ data results in tighter crop, than this item is ignored.
374
+
375
+ return value: index in raw_inset_crops[] used increased by one, so
376
+ 0: no changes made
377
+ 1: [0]th data used
378
+ 2: [1]th data used
379
+
380
+ Note: this call SHOULD be used after LibRaw::unpack(), otherwise black level
381
+ calculation from masked area may be fooled resulting in wrong black levels.
382
+
383
+ 2021-01-21 Alex Tutubalin <lexa@lexa.ru>
384
+
385
+ == LibRaw snapshot 202101 ==
386
+
387
+ = Camera format support: =
388
+ Lossy compressed CR3 files
389
+ Lossy compressed RAF files
390
+ Uncompressed floating point DNG files (16-24-32 bit)
391
+ Deflate compressed striped DNG files
392
+ XMP and HEIF-preview extraction from CR3 files
393
+
394
+ = Camera support =
395
+ Apple iPhone 12 Max, iPhone 12 Max Pro
396
+ Canon EOS R5, EOS R6, EOS 850D, EOS-1D X Mark III (lossy compressed files)
397
+ FujiFilm X-S10
398
+ Hasselblad CFV II 50C",
399
+ Leica M10-R, Q2 Monochrom, S3, SL2-S
400
+ Nikon Z 5, Z 6 II, Z 7 II
401
+ Olympus E-M10 Mark IV
402
+ Panasonic DC-G100 / G110, DC-S5
403
+ Sony ILCE-7C (A7C), ILCE-7SM3 (A7S III)
404
+ Zeiss ZX1
405
+ Plus multiple DNG-recording cameraphones/drones/etc.
406
+
407
+ = Almost dropped camera support: =
408
+ Old/partially supported video/cinema cameras support is available only if
409
+ LibRaw is compiled with USE_OLD_VIDEOCAMS defined (this #define is
410
+ converted internally to LIBRAW_OLD_VIDEO_SUPPORT defined).
411
+ This affects:
412
+ Arri cameras
413
+ Canon C500
414
+ RED Cine cameras
415
+ We plan to keep the support in LibRaw 0.21 (if compiled with define
416
+ mentioned above) and completely drop the support after 0.21.
417
+ If you're using LibRaw to decode RED Cine files, see LibRaw*datastreams
418
+ section below (in short: you'll need to use old fstream-based datastream
419
+ under Windows).
420
+ Cinema DNG files are not affected by this.
421
+
422
+ = API/ABI changes =
423
+
424
+ * Decoding parameters
425
+ imgdata.params is split into
426
+ imgdata.rawparams: parameters used for metadata/raw data decoding
427
+ imgdata.params: parameters used at postprocessing stage
428
+
429
+ imgdata.params.raw_processing options are split into two sub-options sets
430
+ imgdata.rawparams.options: raw processing flags, useful for normal
431
+ operations
432
+ imgdata.rawparams.specials: special modes (e.g decoding only delta
433
+ pixels from Sony ARW)
434
+
435
+ Old LIBRAW_PROCESSING_* flags are renamed to LIBRAW_RAWOPTIONS_* and
436
+ LIBRAW_RAWSPECIAL*
437
+ LIBRAW_PROCESSING_DP2Q_INTERPOLATE... flags are renamed to
438
+ LIBRAW_RAWSPECIAL_NODP2Q_INTERPOLATE with inverted meaning (with the
439
+ goal to have zero imgdata.rawparams.specials in normal use).
440
+
441
+ * New processing flag LIBRAW_RAWOPTIONS_PROVIDE_NONSTANDARD_WB
442
+ If set (default is not), and when applicable, color.cam_mul[] and
443
+ color.WB_Coeffs/WBCT_Coeffs will contain WB settings for a
444
+ non-standard workflow.
445
+ Right now only Sony DSC-F828 is affected: camera-recorded white balance
446
+ can't be directly applied to raw data because WB is for RGB, while raw
447
+ data is RGBE.
448
+
449
+ * New processing flag: LIBRAW_RAWOPTIONS_CAMERAWB_FALLBACK_TO_DAYLIGHT
450
+ If set (default is not), LibRaw::dcraw_process() will fallback to
451
+ daylight WB (excluding some very specific cases like Canon D30).
452
+ This is how LibRaw 0.19 (and older) works.
453
+ If not set: LibRaw::dcraw_process() will fallback to calculated auto WB if
454
+ camera WB is requested, but appropriate white balance was not found in
455
+ metadata.
456
+
457
+ * Removed LIBRAW_PROCESSING_SKIP_MAKERNOTES processing flag: with new
458
+ Windows(-handle) datastreams metadata parsing performance is enough
459
+ to not skip makernotes parsing.
460
+
461
+ * new output parameter: imgdata.params.output_flags and new
462
+ enum LibRaw_output_flags
463
+ Right now the only flag is implemented: LIBRAW_OUTPUT_FLAGS_PPMMETA
464
+ setting it will result into metadata written to PPM/PGM output file
465
+
466
+ * LibRaw_*datastreams change and corresponding open_file() parameters change
467
+ LibRaw_file_datastream (based on iostreams) is moved under
468
+ #ifdef LIBRAW_USE_DEPRECATED_IOSTREAMS_DATASTREAM
469
+ Standard datastreams are:
470
+ LibRaw_bigfile_datastream (FILE* based) for POSIX systems
471
+ LibRaw_bigfile_buffered_datastream - for use with Win32 syscalls
472
+ API changes:
473
+ if LIBRAW_USE_DEPRECATED_IOSTREAMS_DATASTREAM is NOT defined, than
474
+ LibRaw::open_file() and similar calls drops the last INT64 max_buffered_sz
475
+ parameter which defines automatic selection between iostreams and
476
+ FILE* based datasteams.
477
+
478
+ Note: LibRaw_bigfile_buffered_datastream does NOT implements
479
+ make_jas_stream() call, so RED Cine file decoding is not possible with
480
+ this datastream. Use deprecaded iostreams implementation instead.
481
+
482
+ We plan to keep LIBRAW_USE_DEPRECATED_IOSTREAMS_DATASTREAM up to
483
+ LibRaw 0.21 and drop in 0.22.
484
+
485
+ * Fuji decoder:
486
+ fuji_decode_loop/fuji_decode_strip parameters has changed; look into source
487
+ code for details if you're implementing your own fuji_decode_loop()
488
+ call in subclass to provide parallel fuji decoding.
489
+
490
+ * Canon CR3 H265 (HEIF) preview limited support:
491
+ - new format value: LIBRAW_THUMBNAIL_H265
492
+ - this thumbnail is NOT extracted by LibRaw::make_mem_thumb() yet;
493
+
494
+ * LibRaw::capabilities
495
+ Two bits added:
496
+ LIBRAW_CAPS_ZLIB if compiled with USE_ZLIB
497
+ LIBRAW_CAPS_JPEG if compiled with USE_JPEG
498
+
499
+
500
+ * Windows datastreams: CreateFile2 is used if compiled for UWP.
501
+
502
+ * API-datastruct: clarified behavior with use_camera_wb=1 setting.
503
+
504
+ * identify(): restored the differentiation between fsize and flen.
505
+
506
+ * New compile-time LIBRAW_FORCE_OPENMP to skip compiler version check
507
+ (if LibRaw user is absolutely sure that OpenMP is supported by compiler)
508
+
509
+ 2020-10-14 Alex Tutubalin <lexa@lexa.ru>
510
+
511
+ * LibRaw 0.20.2
512
+ Reverted 0.20.1 change:
513
+ - const buffer for open_buffer() and open_bayer() calls
514
+ Because of 0.20.0 ABI break
515
+
516
+ 2020-10-14 Alex Tutubalin <lexa@lexa.ru>
517
+
518
+ * LibRaw 0.20.1
519
+ * Improvements:
520
+ - exif callback is called on EXIF GPS and EXIF Interop IFDs
521
+ - open_bayer call documented
522
+ - Canon (ColorDatsSubver==32): parse Specular White instead of hardcoded value
523
+ * Fixes for normal files processing:
524
+ - Olympus XZ-1: do not provide linear_max (it is wrong in metadata)
525
+ - Nikon Z cameras: added space in camera list
526
+ - raw-identify: fixed wb-preset print
527
+ - Pentax Optio 33WR: maker index was incorrect
528
+ - dcraw_emu: corrected help line for -6 option.
529
+ - raw-identify: corrected range check for color matrices print
530
+ - use_camera_matrix option: fixed a bug introduced when making
531
+ compiler more happy.
532
+
533
+ * Fixes for damaged/special crafted files processing:
534
+ - Fix for truncated CR3 files parsing
535
+ - DNG metadata merger: all color loops are limited to MIN(4,colors)
536
+ - Check for marings: should be less than raw image size
537
+ - Check for xmpdata present in Samsung Lens ID assignment
538
+ - Check for column range in leaf_hdr decoder
539
+ - Additional checks in Hasselblad model parser
540
+ - Fuji rotate: better limits check
541
+ - DNG files: limit tiff_samples
542
+
543
+ * Not fixes, but makes ASAN/compilers/etc happy:
544
+ - corrected GPS EXIF output
545
+ - const buffer for open_buffer() and open_bayer() calls
546
+
547
+
548
+ 2020-07-23 Alex Tutubalin <lexa@lexa.ru>
549
+
550
+ * LibRaw 0.20
551
+
552
+ == Camera Format support ==
553
+ Canon CR3
554
+ GoPro (via GPR SDK)
555
+ Panasonic 14-bit
556
+ Fujifilm compressed/16bit
557
+ Rapsberry Pi RAW+JPEG format (if USE_6BY9RPI defined)
558
+ Foveon X3F support changed: it is supported only if USE_X3FTOOLS defined
559
+ at build (see below for 'Imported code policy changed')
560
+
561
+ == Camera support (+59, 1131 total) ==
562
+ Canon: PowerShot G5 X Mark II, G7 X Mark III, SX70 HS,
563
+ EOS R, EOS RP, EOS 90D, EOS 250D, EOS M6 Mark II, EOS M50, EOS M200
564
+ EOS 1DX Mark III (lossless files only)
565
+ DJI Mavic Air, Osmo Action
566
+ FujiFilm GFX 100, X-A7, X-Pro3, X100V, X-T4 (uncompressed/lossless compressed only), X-T200
567
+ GoPro Fusion, HERO5, HERO6, HERO7, HERO8
568
+ Hasselblad L1D-20c, X1D II 50C
569
+ Leica D-LUX7, Q-P, Q2, V-LUX5, C-Lux / CAM-DC25, SL2, M10 Monochrom
570
+ Nikon D780, Z50, P950
571
+ Olympus TG-6, E-M5 Mark III, E-PL10, E-M1 Mark III,
572
+ Panasonic DC-FZ1000 II, DC-G90, DC-S1, DC-S1R, DC-S1H, DC-TZ95
573
+ PhaseOne IQ4 150MP
574
+ Ricoh GR III
575
+ Sony A7R IV, A9 II, ILCE-6100, ILCE-6600, RX0 II, RX100 VII
576
+ Zenit M
577
+
578
+ also multiple smartphones (the tested ones are listed in LibRaw::cameraList)
579
+
580
+ == Source code re-arranged ==
581
+ * dcraw.c is not used in the generation and build processes
582
+ * dcraw_common.cpp and libraw_cxx.cpp are split into multiple code chunks
583
+ placed in separate subfolders (decoders/ for raw data decoders,
584
+ metadata/ for metadata parsers, etc)
585
+ * dcraw_common.cpp and libraw_cxx.cpp remain to preserve existing
586
+ build environments (these files are now just a bunch of #include directives).
587
+ * It is possible to build LibRaw
588
+ a)without postprocessing functions (dcraw_process() and called function)
589
+ b)without postprocessing and LibRaw::raw2image() call (and called function).
590
+ It may be useful to reduce library memory/code footprint.
591
+ See Makefile.devel.nopp and Makefile.devel.noppr2i for the list of source
592
+ files needed to build reduced/stripped library.
593
+
594
+ == Normalized make/model ==
595
+
596
+ There is a huge number of identical cameras sold under different names,
597
+ depending on the market (e.g. multiple Panasonic or Canon models)
598
+ and even some identical cameras sold under different brands
599
+ (Panasonic -> Leica, Sony -> Hasselblad).
600
+
601
+ To reduce clutter, a normalization mechanism has been implemented in LibRaw:
602
+
603
+ In imgdata.idata:
604
+ char normalized_make[64]; - primary vendor name (e.g. Panasonic for
605
+ Leica re-branded cameras)
606
+ char normalized_model[64]; - primary camera model name
607
+ unsigned maker_index; - primary vendor name in indexed form (enum
608
+ LibRaw_cameramaker_index, LIBRAW_CAMERAMAKER_* constant).
609
+ These fields are always filled upon LibRaw::open_file()/open_buffer() calls.
610
+
611
+ const char* LibRaw::cameramakeridx2maker(int index): converts maker_index
612
+ to normalized_make.
613
+
614
+ We recommend that you use these normalized names in a variety of data tables
615
+ (color profiles, etc.) to reduce the number of duplicate entries.
616
+
617
+ New vendor index values will be added strictly to the end of the
618
+ LibRaw_cameramaker_index table, ensuring that the numbers assigned to
619
+ vendors that are already known to LibRaw will not change.
620
+
621
+ == DNG frame selection ==
622
+
623
+ DNG frames selection code re-worked:
624
+ - by default all frames w/ the NewSubfileType tag equal to 0
625
+ (high-res image) are added to the list of available images (selection
626
+ performed via imgdata.params.shot_select field, as usual)
627
+ - the special case for Fuju SuperCCD (SamplesPerPixel == 2) works as
628
+ before: shot_select=1 will extract second sub-image.
629
+ - Additional flags to imgdata.params.raw_processing_options:
630
+ LIBRAW_PROCESSING_DNG_ADD_ENHANCED - will add Enhanced DNG frame
631
+ (NewSubfileType == 16) to the list of available frames
632
+ LIBRAW_PROCESSING_DNG_ADD_PREVIEWS - will add previews
633
+ (NewSubfileType == 1) to the list.
634
+
635
+ - By default, DNG frames are not reordered and are available in same order
636
+ as in DNG (LibRaw traverses IFD/Sub-IFD trees in deep-first order).
637
+ To prioritize the largest image, set LIBRAW_PROCESSING_DNG_PREFER_LARGEST_IMAGE
638
+ bit in imgdata.params.raw_processing_options.
639
+
640
+ - DNG Stage2/Stage3 processing via DNG SDK (request via flags in
641
+ raw_processing_options)
642
+
643
+ == Imported code policy disclaimer ==
644
+
645
+ We've changed the policy regarding 3rd party code imported into LibRaw.
646
+
647
+ We (like other authors of open-source RAW parsers) gladly import support
648
+ code for various RAW formats from other projects (if the license allows it).
649
+ This is done to expand camera support.
650
+ Unfortunately, not all imported code can tolerate truncated or otherwise
651
+ damaged raw files, as well as arbitrary conditions or arbitrary data;
652
+ not all authors handle rejecting unexpected input well.
653
+
654
+ LibRaw is now widely used in various projects, including ImageMagick, which,
655
+ in turn, is often used on web sites to process any input images, including
656
+ arbitrary data from unknown users.
657
+ This opens up wide possibilities for exploiting the various vulnerabilities
658
+ present in the code borrowed from other projects into LibRaw. In order to
659
+ avoid such security risks, - the borrowed code will no longer compile
660
+ by default.
661
+ We are not able to support it in general case, and the authors refuse
662
+ to add code to reject unexpected input.
663
+
664
+ Thus, if you use some kind of camera for which the support is disabled
665
+ by default, you need to recompile LibRaw for your specific case.
666
+
667
+ Formats currently affected:
668
+ X3F (Foveon) file format.
669
+ Code is imported from Kalpanika X3F tools: https://github.com/Kalpanika/x3f
670
+ To turn the support on, define USE_X3FTOOLS
671
+
672
+ Rapsberry Pi RAW+JPEG format.
673
+ Code is imported from https://github.com/6by9/dcraw/,
674
+ To turn the support on, define USE_6BY9RPI
675
+ Format support is indicated via LibRaw::capabilities() call with flags:
676
+ LIBRAW_CAPS_X3FTOOLS - Foveon support
677
+ LIBRAW_CAPS_RPI6BY9 - RPi RAW+JPEG support
678
+
679
+ == GoPro .gpr format support ==
680
+ GoPro format supported via open-source GPR SDK
681
+ See README.GoPro.txt for details.
682
+
683
+ == Windows support/Windows unicode (wchar_t*) filenames support ==
684
+
685
+ * (old) LibRaw's WIN32 external define split into 3 defines to fine tune
686
+ compiler/api compatibility:
687
+ LIBRAW_WIN32_DLLDEFS - use to compile DLLs (__dllimport/__dllexport attributes)
688
+ LIBRAW_WIN32_UNICODEPATHS - indicates that runtime has calls/datatypes for wchar_t filenames
689
+ LIBRAW_WIN32_CALLS - use Win32 calls where appropriative (binary mode for files, LibRaw_windows_datastream, _snprintf instead of snprintf, etc).
690
+
691
+ If the (old) WIN32 macro is defined at compile time, all three new defines are defined in libraw.h
692
+ If not, these defines are defined based on compiler version/libc++ defines
693
+
694
+ * LibRaw::open_file(wchar_t*) is always compiled in under Windows, but
695
+ if LIBRAW_WIN32_UNICODEPATHS (see above) is not defined, this call will
696
+ return LIBRAW_NOT_IMPLEMENTED.
697
+ Use (LibRaw::capabilities() & LIBRAW_CAPS_UNICODEPATHS) on runtime
698
+ to check that this call was really implemented (or check for #ifdef LIBRAW_WIN32_UNICODEPATHS after #include <libraw.h>)
699
+
700
+ == LibRaw*datastream simplified ==
701
+
702
+ * tempbuffer_open, subfile_open are not used, so removed from
703
+ LibRaw_abstract_datastream and derived classes.
704
+
705
+ * jpeg_src() call implemented using ->read() call and own buffering
706
+ (16k buffer).
707
+ * buffering_off() call added. It should be used in derived classes
708
+ to switch from buffered reads to unbuffered.
709
+
710
+ == minor/unsorted changes ==
711
+ * new flag LIBRAW_WARN_DNGSDK_PROCESSED to indicate decoder used
712
+ * LibRaw::open() call, max_buf_size special meaning:
713
+ == 1 => open using bigfile_datastream
714
+ == 2 => open using file_datastream
715
+ * Add support for zlib during configure
716
+ * Fixed multiple problems found by OSS-Fuzz
717
+ * Lots of changes in imgdata.makernotes (hope someone will document it)
718
+ * DNG SDK could be used (if enabled) to unpack multi-image DNG files.
719
+ * DNG whitelevel calculated via BitsPerSample if not set via tags.
720
+ * DNG: support for LinearDNG w/ BlackLevelRepeat.. pattern
721
+ * Generic Arri camera format replaced w/ list of specific camera models in supported cameras list.
722
+ * new samples/rawtextdump sample: allows one to dump (small selection) of RAW data in text format.
723
+ * samples/raw-identify:
724
+ * +M/-M params (same as in dcraw_emu)
725
+ * -L <file-w-filelist> parameter to get file list from a file
726
+ * -m paramerer to use mmap'ed IO.
727
+ * -t parameter for timing
728
+ * samples/dcraw_emu: fixed +M handling
729
+ * better support for Nikon Coolscan 16-bit NEF files.
730
+ * Visual Studio project files: re-generated to .vcxproj (Visual Studio 2019), different
731
+ intermediate folders for different sub-projects to allow 1-step rebuild.
732
+ * imgdata.makernotes...cameraspecific: removed the vendor name prefix from variables.
733
+ * Bayer images: ensure that even margins have the same COLOR() for both the active sensor area and the full sensor area.
734
+ * raw processing flag bit LIBRAW_PROCESSING_CHECK_DNG_ILLUMINANT inverted and renamed to
735
+ LIBRAW_PROCESSING_DONT_CHECK_DNG_ILLUMINANT. If not set, DNG illuminant will be checked.
736
+ * New libraw_decoder_t flags:
737
+ LIBRAW_DECODER_FLATDATA - in-file data could be used as is (if byte order matches), e.g. via mmap()
738
+ LIBRAW_DECODER_FLAT_BG2_SWAPPED - special flag for Sony ARQ: indicates R-G-G2-B channel
739
+ order in 4-color data
740
+ * Camera-recorded image crop data is parsed into imgdata.sizes.raw_inset_crop structure:
741
+ ctop,cleft,cwidth,cheight - crop size.
742
+ aspect - LibRawImageAspects enum (3to2, 4to3, etc)
743
+ * New define LIBRAW_NO_WINSOCK2 to not include winsock2.h on compile
744
+
745
+ * New processing flag LIBRAW_PROCESSING_PROVIDE_NONSTANDARD_WB
746
+ If set (default is not), and when applicable, color.cam_mul[] and
747
+ color.WB_Coeffs/WBCT_Coeffs will contain WB settings for a non-standard
748
+ workflow.
749
+ Right now only Sony DSC-F828 is affected: camera-recorded white balance
750
+ can't be directly applied to raw data because WB is for RGB, while raw
751
+ data is RGBE.
752
+
753
+ * New processing flag: LIBRAW_PROCESSING_CAMERAWB_FALLBACK_TO_DAYLIGHT
754
+ If set (default is not), LibRaw::dcraw_process() will fallback to
755
+ daylight WB (excluding some very specific cases like Canon D30).
756
+ This is how LibRaw 0.19 (and older) works.
757
+ If not set: LibRaw::dcraw_process() will fallback to calculated auto WB if
758
+ camera WB is requested, but appropriate white balance was not found in
759
+ metadata.
760
+
761
+ * Google changes cherry-picked (thanks to Jamie Pinheiro)
762
+ * speedup: ppg interpolate: const loop invariant
763
+
764
+ * Bugs fixed
765
+ -Fixed several UBs found by OSS Fuzz
766
+ -Fixed several problems found by other fuzzers.
767
+ - Thumbnail size range check (CVE-2020-15503)
768
+ Thanks to Jennifer Gehrke of Recurity Labs GmbH for problem report.
769
+ - fixed possible overflows in canon and sigma makernotes parsers
770
+ - fixed possible buffer overrun in crx (cr3) decoder
771
+ - fixed memory leak in crx decoder (if compiled with LIBRAW_NO_CR3_MEMPOOL)
772
+ - fixed possible overrun in Sony SRF and SR2 metadata parsers
773
+
774
+ * Fixed typo in longitude (member of parsed GPS structure), update required for code that uses it.
775
+
776
+
777
+ 2019-03-05 Alex Tutubalin <lexa@lexa.ru>
778
+ * Camera support
779
+ Canon A560 (CHDK hack)
780
+ FujiFilm X-T30
781
+ Nikon Coolpix A1000
782
+ Olympus E-M1X
783
+ Sony ILCE-6400
784
+ Several dng files from phones and drones was tested
785
+ and added to built-in camera list too.
786
+
787
+ * Multiple names for same Panasonic cameras are processed via
788
+ aliaces mechanics, no multiple duplicate fields in adobe_coeffs() table
789
+
790
+ * Better makernotes parsing for many cameras
791
+
792
+ * Better parsing of makernotes embedded into DNG files created by
793
+ Adobe DNG Converter
794
+
795
+ * New imgdata.params.raw_processing_options value: LIBRAW_PROCESSING_ZEROFILTERS_FOR_MONOCHROMETIFFS
796
+ - If this bit is set
797
+ - and TIFF file contains SamplesPerPixel == 1
798
+ - and filters value was not guessed from metadata parsing
799
+ LibRaw will assume the file is monochrome, not bayer.
800
+ This option is needed for monochrome scan processing (Imacon X1 etc).
801
+ This option may broke old TIF-like RAW files processing (Kodak 760,etc)
802
+ use with care (it is better to let user choose).
803
+
804
+ 2018-12-12 Alex Tutubalin <lexa@lexa.ru>
805
+ * Camera support:
806
+ Canon: PowerShot A480 (CHDK hack), EOS 2000D, EOS 4000D
807
+ Eyedeas E1
808
+ FujiFilm: GFX 50R, XF10, X-T3, X-T100, DBP680
809
+ GITUP G3 DUO (16:9 mode only, use custom camera for 4:3)
810
+ Kodak PIXPRO AZ901
811
+ Leica M10-D, M10-P
812
+ Nikon D3500, Z6, Z7, P1000
813
+ Panasonic LX100M2
814
+ Pentax K-1 II
815
+ Sony A7 III, HX95, HX99, RX100-VA, RX100-VI
816
+
817
+ * Fixed long standing bug in remove_zeroes: first two rows/cols was unprocessed
818
+ * Better parsing for NEF files modified (damaged) by NikonTransfer
819
+ * Better parsing for floating point DNG black levels (into color.dnglevels.fblack and dng_fcblack[], similar
820
+ to color.black and color.cblack[] for other formats).
821
+ * More flexible limit for RAW decoding memory usage:
822
+ imgdata.params.max_raw_memory_mb (default is LIBRAW_MAX_ALLOC_MB_DEFAULT)
823
+
824
+ * New flags for imgdata.params.raw_processing_options:
825
+ LIBRAW_PROCESSING_CHECK_DNG_ILLUMINANT - will check DNG illuminant field when selecting color matrix
826
+ (note: incompatibility with previous versions, so default is not set).
827
+ LIBRAW_PROCESSING_DNGSDK_ZEROCOPY - will not copy data from Adobe DNG SDK decoded buffer, but use it as is
828
+
829
+ * Switched from auto_ptr to unique_ptr, to get back define LIBRAW_USE_AUTOPTR
830
+
831
+ * dcraw_emu: it is now possible to create output filename in a more flexible manner, via -Z switch:
832
+ -Z - will output to stdout
833
+ -Z ext will output into inputfilename.ext
834
+ -Z .ext will output into inputfilename.inputext.ext
835
+
836
+
837
+ 2018-11-22 Alex Tutubalin <lexa@lexa.ru>
838
+ * Finally: got Sinar 4shot sample, works fine now
839
+ * OpenMP critical sections for malloc/free; extra #ifdefs removed; bin/dcraw_dist could be built again using Makefile.devel
840
+ * additional checks in parse_phase_one()
841
+ * more checks on file offsets/tag len in parse_minolta
842
+ * more checks in parse_ciff
843
+ * Mempool check reworked
844
+ * Old Leaf (16bit/3color/TIFF) support
845
+ * Fix cameraWB->autoWB fallback
846
+ * Polaroid x530 channel swap; get metadata pointer for Foveon files
847
+ * Fixed Secunia Advisory SA86384
848
+ - possible infinite loop in unpacked_load_raw()
849
+ - possible infinite loop in parse_rollei()
850
+ - possible infinite loop in parse_sinar_ia()
851
+ Credits: Laurent Delosieres, Secunia Research at Flexera
852
+
853
+ * LibRaw 0.19.1-Release
854
+
855
+ 2018-06-28 Alex Tutubalin <lexa@lexa.ru>
856
+ * changed wrong fix for Canon D30 white balance
857
+ * fixed possible stack overrun while reading zero-sized strings
858
+ * fixed possible integer overflow
859
+ * LibRaw 0.19.0-Release
860
+
861
+ 2018-06-11 Alex Tutubalin <lexa@lexa.ru>
862
+ * Sony uncompressed/untiled DNGs: do not set bits-per-sample to 14 bit
863
+ * Do not change tiff_bps for DNG files
864
+ * Another possible stack overflow in kodak radc reader
865
+ * Secunia Advisory SA83507, credits Kasper Leigh Haabb,
866
+ Secunia Research at Flexera"
867
+ - parse_qt: possible integer overflow
868
+ - reject broken/crafted NOKIARAW files
869
+ * LibRaw 0.19-Beta6
870
+
871
+ 2018-05-10 Alex Tutubalin <lexa@lexa.ru>
872
+ * Put rogue printf's behind #ifdef DCRAW_VERBOSE
873
+ * Exceptions was not caught in x3f_new_from_file resulting in x3f handle leak
874
+ * packed_load_raw(): EOF check on each row
875
+ * define LIBRAW_USE_CALLOC_INSTEAD_OF_MALLOC to use ::calloc instead of
876
+ ::malloc in LibRaw_mem_mgr malloc calls;
877
+ Note: realloc is not changed, so only partial fix
878
+ * Fixed possible div by zero in EOS D30 WB data parse
879
+ * U-suffix for filter-var manipulation consts
880
+ * restored static specifier for utf2char() lost in previous bugfix
881
+ * Fixed stack overrun in kodak_radc_load_raw
882
+ * Secunia Advisory SA83050: possible infinite loop in parse_minolta()
883
+ * LibRaw 0.19-Beta5
884
+
885
+ 2018-05-03 Alex Tutubalin <lexa@lexa.ru>
886
+ * CVE-2018-10529 fixed: out of bounds read in X3F parser
887
+ * CVE-2018-10528 fixed: possible stack overrun in X3F parser
888
+ * LibRaw 0.19-Beta4
889
+
890
+ 2018-04-24 Alex Tutubalin <lexa@lexa.ru>
891
+ * LibRaw 0.19-Beta3
892
+ * fixed lot of bugs reported by ImageMagic/oss-fuzz
893
+ * fixed several bugs reported by Secunia team (adv 81800,
894
+ Credit: Laurent Delosieres, Secunia Research at Flexera)
895
+
896
+ 2018-03-22 Alex Tutubalin <lexa@lexa.ru>
897
+ * LibRaw 0.19-Beta2
898
+ * Better handling of broken JPEG thumbnails
899
+ * Panasonic GH5S/G9-hires decoder, thanks to Alexey Danilchenko
900
+ Note: ABI has changed due to this patch, so shlib version increased
901
+ * Fujifilm X-A5/A20 metadata parsing fix
902
+ * New error code LIBRAW_TOO_BIG: image data size excess LIBRAW_MAX_ALLOC_MB
903
+ * winsock2 included before windows.h to make MinGW happy
904
+
905
+ 2018-02-23 Alex Tutubalin <lexa@lexa.ru>
906
+
907
+ * LibRaw 0.19-Beta1
908
+
909
+ * 84 cameras added compared to 0.18 (1014 total):
910
+ Apple
911
+ iPhone 8(*), iPhone 8 plus, iPhone X
912
+ BlackMagic
913
+ URSA Mini 4k, URSA Mini 4.6k, URSA Mini Pro 4.6k
914
+ Canon CHDK hack
915
+ PowerShot A410, A540, D10, ELPH 130 IS, ELPH 160 IS, SD750,
916
+ SX100 IS,SX130 IS, SX160 IS, SX510 HS, SX10 IS, IXUS 900Ti
917
+ Canon
918
+ PowerShot G1 X Mark III, G9 X Mark II, EOS 6D Mark II, EOS 77D,
919
+ EOS 200D, EOS 800D, EOS M6, EOS M100
920
+ Casio EX-ZR4100/5100
921
+ DJI
922
+ Phantom4 Pro/Pro+, Zenmuse X5, Zenmuse X5R
923
+ FujiFilm
924
+ S6500fd, GFX 50S, X100f, X-A3, X-A5, X-A10, X-A20, X-E3, X-H1, X-T20
925
+ GITUP GIT2P
926
+ Hasselblad
927
+ H6D-100c, A6D-100c
928
+ Huawei
929
+ P9 (EVA-L09/AL00), Honor6a, Honor9, Mate10 (BLA-L29)
930
+ Leica
931
+ CL, M10, TL2
932
+ LG
933
+ V20 (F800K), VS995,
934
+ Nikon
935
+ D850, D5600, D7500, Coolpix B700
936
+ Olympus
937
+ E-PL9, E-M10 Mark III, TG-5
938
+ OnePlus
939
+ One, A3303, A5000
940
+ Panasonic
941
+ DMC-FZ45, DMC-FZ72, DC-FZ80/82, DC-G9 (std. res mode only), DC-GF10/GF90,
942
+ DC-GH5, DC-GX9, DC-GX800/850/GF9, DMC-LX1, DC-ZS70 (DC-TZ90/91/92, DC-T93),
943
+ DC-TZ100/101/ZS100, DC-TZ200/ZS200
944
+ PARROT
945
+ Bebop 2, Bebop Drone
946
+ Pentax KP
947
+ PhaseOne IQ3 100MP Trichromatic
948
+ Samsung
949
+ Galaxy Nexus, Galaxy S3, S6 (SM-G920F), S7, S7 Edge, S8 (SM-G950U),
950
+ Sony
951
+ A7R III, A9, DSC-RX0, DSC-RX10IV
952
+ Yi M1
953
+ YUNEEC
954
+ CGO3, CGO3P
955
+ Xiaoyi YIAC3 (YI 4k)
956
+
957
+ Note(*): for mobile phones with DNG format recording, only really tested cameras
958
+ are added to supported camera list. Really LibRaw should support any correct DNG.
959
+
960
+ * No more built-in support for LibRaw demosaic packs (GPL2/GPL3).
961
+ We're unable to support this (very old code), so we'll be happy to transfer this
962
+ code to some maintainer who wish to work with it.
963
+
964
+ In LibRaw 0.19 we provide extension API: user-settable callbacks to be called in
965
+ code points where demosaic pack code was called.
966
+
967
+ - int callbacks.pre_identify_cb(void *) => to be called in LibRaw::open_datastream
968
+ before call to (standard) identify() function. If this call returns 1, this means
969
+ that RAW file is identified and all metadata fields are set, so no need to run
970
+ standard identify code.
971
+ - void callbacks.post_identify_cb(void*) => called just after identify(), but before
972
+ any cleanup code;
973
+ - dcraw_process() callbacks are called before dcraw_process phases (name speaks for itself):
974
+ pre_subtractblack_cb, pre_scalecolors_cb, pre_preinterpolate_cb, pre_interpolate_cb,
975
+ interpolate_bayer_cb, interpolate_xtrans_cb, post_interpolate_cb, pre_converttorgb_cb,
976
+ post_converttorgb_cb
977
+
978
+ All these new callbacks are called with (this) as the only arg.
979
+ To continue LibRaw-demosaic-pack-GPLx support one need to subclass LibRaw, set needed
980
+ callbacks in (e.g.) constructor code, than these callbacks to be called
981
+
982
+ * Better DNG parser:
983
+ - support for DefaultCrop Origin/Size tags (add LIBRAW_PROCESSING_USE_DNG_DEFAULT_CROP to raw_processing_options to enable)
984
+ - better parsing for nested DNG tags (use tag from RAW IFD, fallback to IFD0 if no tag in current IFD)
985
+ - DNG PreviewColorspace extracted into dng_levels.preview_colorspace
986
+
987
+ * Metadata extraction:
988
+ - Better extraction of camera measured balance (LIBRAW_WBI_Auto and WBI_Measured),
989
+ this not the same as 'as shot' if some preset/manual tune is used.
990
+ - Extraction of camera custom balances (LIBRAW_WBI_CustomN)
991
+ - Nikon data compression tag extracted into makernotes.nikon.NEFCompression
992
+ - Hasselblad BaseISO and Gain extracted into makernotes.hasselblad
993
+ - Canon multishot params extracted into makernotes.canon.multishot
994
+ - lot of other vendor-specific makernotes data (see data structures definitions for details).
995
+
996
+ * New LibRaw::open_bayer call allows to pass sensor dump w/o metadata directly to LibRaw:
997
+ virtual int open_bayer(unsigned char *data, unsigned datalen,
998
+ ushort _raw_width, ushort _raw_height, ushort _left_margin, ushort _top_margin,
999
+ ushort _right_margin, ushort _bottom_margin,
1000
+ unsigned char procflags, unsigned char bayer_pattern, unsigned unused_bits, unsigned otherflags,
1001
+ unsigned black_level);
1002
+ Parameters:
1003
+ data, datalen - buffer passed
1004
+ width/height/margins - speaks for itself
1005
+ procflags:
1006
+ for 10-bit format:
1007
+ 1: "4 pixels in 5 bytes" packing is used
1008
+ 0: "6 pixels in 8 bytes" packing is used
1009
+ for 16-bit format:
1010
+ 1: Big-endian data
1011
+ bayer_pattern: one of LIBRAW_OPENBAYER_RGGB,LIBRAW_OPENBAYER_BGGR,
1012
+ LIBRAW_OPENBAYER_GRBG,LIBRAW_OPENBAYER_GBRG
1013
+ unused_bits: count of upper zero bits
1014
+ otherflags:
1015
+ Bit 1 - filter (average neighbors) for pixels with values of zero
1016
+ Bits 2-4 - the orientation of the image (0=do not rotate, 3=180, 5=90CCW, 6=90CW)
1017
+ black_level: file black level (it also may be specified via imgdata.params)
1018
+
1019
+ see samples/openbayer_sample.cpp for usage sample (note, this sample is 'sample only', suited for
1020
+ Kodak KAI-0340 sensor, you'll need change open_bayer() params for your data).
1021
+
1022
+ * Color data added/updated/fixed for many cameras
1023
+
1024
+ * Correct data maximum for Fuji X-* cameras
1025
+
1026
+ * Thumbnail processing:
1027
+ - JPEG thumbnails: if compiled with libjpeg, color count is extracted into imgdata.thumbnail.tcolors
1028
+ - PPM (bitmap) thumbnails: color count is set according to thumbnail IFD tag
1029
+ - PPM16 thumbnails: if LIBRAW_PROCESSING_USE_PPM16_THUMBS set in raw_processing_options, than thumbnail will be extracted
1030
+ as is, not converted to 8 bit. thumbnail.tformat is set to LIBRAW_THUMBNAIL_BITMAP16 in this case.
1031
+ Untested, because it is hard to find RAWs with 16-bit bitmaps.
1032
+
1033
+ == Compatibility fixes
1034
+
1035
+ * struct tiff_tag renamed to libraw_tiff_tag
1036
+ * pow64f renamed to libraw_pow64f
1037
+
1038
+ == Bugs fixed:
1039
+
1040
+ * COLOR(r,c) works correctly on X-Trans files
1041
+
1042
+ == Security fixes:
1043
+ Secunia #81000:
1044
+ Credit: Laurent Delosieres, Secunia Research at Flexera
1045
+ * leaf_hdr_load_raw: check for image pointer for demosaiced raw
1046
+ * NOKIARAW parser: check image dimensions readed from file
1047
+ * quicktake_100_load_raw: check width/height limits
1048
+
1049
+ Secunia #79000:
1050
+ Credit: Laurent Delosieres, Secunia Research at Flexera
1051
+ * All legacy (RGB raw) image loaders checks for imgdata.image is not NULL
1052
+ * kodak_radc_load_raw: check image size before processing
1053
+ * legacy memory allocator: allocate max(widh,raw_width)*max(height,raw_height)
1054
+
1055
+ Secunia #76000:
1056
+ * Fixed fuji_width handling if file is neither fuji nor DNG
1057
+ * Fixed xtrans interpolate for broken xtrans pattern
1058
+ * Fixed panasonic decoder
1059
+ * LibRaw 0.18.6
1060
+
1061
+ Other fixes:
1062
+ * Checks for width+left_margin/height+top_margin not larger than 64k
1063
+ * LIBRAW_MAX_ALLOC_MB define limits maximum image/raw_image allocation
1064
+ (default is 2048 so 2Gb per array)
1065
+ * LibRaw::read_shorts item count is now unsigned
1066
+ * Fixed possible out of bound access in Kodak 65000 loader
1067
+ * CVE-2017-14348: Fix for possible heap overrun in Canon makernotes parser
1068
+ Credit: Henri Salo from Nixu Corporation
1069
+ * Fix for CVE-2017-13735
1070
+ * CVE-2017-14265: Additional check for X-Trans CFA pattern data
1071
+ * Fixed several errors (Secunia advisory SA75000)
1072
+ * ACES colorspace output option included in dcraw_emu help page
1073
+ * Avoided possible 32-bit overflows in Sony metadata parser
1074
+ * Phase One flat field code called even for half-size
1075
+
1076
+
1077
+ 2016-12-27 Alex Tutubalin <lexa@lexa.ru>
1078
+ * Licensing changes:
1079
+ - there is no 'LibRaw Software License 27032010' licensing anymore (and all signed
1080
+ agreements have expired)
1081
+ - LibRaw is now dual-licensed: LGPL 2.1 or CDDL 1.0
1082
+
1083
+ * Camera support (+87):
1084
+ Apple: iPad Pro, iPhone SE, iPhone 6s, iPhone 6 plus, iPhone 7, iPhone 7 plus
1085
+ BlackMagic Micro Cinema Camera, URSA, URSA Mini
1086
+ Canon PowerShot G5 X, PowerShot G7 X Mark II, PowerShot G9 X,
1087
+ IXUS 160 (CHDK hack), EOS 5D Mark IV, EOS 80D, EOS 1300D, EOS M10, EOS M5,
1088
+ EOS-1D X Mark II
1089
+ Casio EX-ZR4000/5000
1090
+ DXO One,
1091
+ FujiFilm X-Pro2, X70, X-E2S, X-T2
1092
+ Gione E7
1093
+ GITUP GIT2
1094
+ Google Pixel,Pixel XL
1095
+ Hasselblad X1D, True Zoom
1096
+ HTC MyTouch 4G, One (A9), One (M9), 10
1097
+ Huawei P9
1098
+ Leica M (Typ 262), M-D (Typ 262), S (Typ 007), SL (Typ 601), X-U (Typ 113), TL
1099
+ LG G3, G4
1100
+ Meizy MX4
1101
+ Nikon D5, D500, D3400
1102
+ Olympus E-PL8, E-M10 Mark II, Pen F, SH-3, E-M1-II
1103
+ Panasonic DMC-G8/80/81/85, DMC-GX80/85, DMC-TZ80/81/85/ZS60, DMC-TZ100/101/ZS100,DMC-LX9/10/15, FZ2000/FZ2500
1104
+ Pentax K-1, K-3 II, K-70
1105
+ PhaseOne IQ3 100MP
1106
+ RaspberryPi Camera, Camera V2
1107
+ Ricoh GR II
1108
+ Samsung Galaxy S7, S7 Edge
1109
+ Sigma sd Quattro
1110
+ Sony A7S II, ILCA-68 (A68),ILCE-6300,DSC-RX1R II,DSC-RX10III, DSC-RX100V,ILCA-99M2 (A99-II), a6500
1111
+ IMX214, IMX219, IMX230, IMX298-mipi 16mp, IMX219-mipi 8mp, Xperia L
1112
+ PtGrey GRAS-50S5C
1113
+ YUNEEC CGO4
1114
+ Xiaomi MI3, RedMi Note3 Pro
1115
+
1116
+ * Floating point DNG support:
1117
+ - new data fields:
1118
+ imgdata.rawdata.float_image - bayer float data
1119
+ imgdata.rawdata.float3_image - 3-component float data
1120
+ imgdata.rawdata.float4_image - 4-component float data
1121
+ imgdata.color.fmaximum - float data maximum (calculated from real data,
1122
+ rounded to 1.0 if below 1.0)
1123
+ - new raw processing flag
1124
+ LIBRAW_PROCESSING_CONVERTFLOAT_TO_INT - converts float data to 16-bit
1125
+ integer immediately after decoding with default parameters
1126
+ - new API Calls:
1127
+ int LibRaw::is_floating_point() returns non-zero if RAW file contains
1128
+ floating point data
1129
+ int LibRaw::have_fpdata() returns non-zero if rawdata.float*_image is not
1130
+ null (so FP data has been unpacked but not converted to integrer, see below).
1131
+ LibRaw::convertFloatToInt(float dmin=4096.f, float dmax=32767.f, float dtarget = 16383.f)
1132
+ converts float/float3/float4_image to raw_image/color3/color4_image with or without scaling:
1133
+ - if both real data maximum and metadata maximum are within the range ( >= dmin && <=dmax), float
1134
+ data is just converted to integer
1135
+ - if data is out of the range given above, values are scaled so real data maximum becomes dtarget
1136
+ - if data was rescaled (normalized), scale multiplier is stored in imgdata.color.fnorm
1137
+
1138
+ * LibRaw can be built with Adobe DNG SDK support to decode exotic DNG formats (e.g. 8 bit).
1139
+ See README.DNGSDK.txt for details
1140
+
1141
+ * New API calls
1142
+ unsigned LibRaw::capabilities and C-API libraw_capabilities()
1143
+ allows developers to determine LibRaw compile flags at runtime.
1144
+ Returns ORed bit fields:
1145
+ LIBRAW_CAPS_RAWSPEED - LibRaw was compiled with RawSpeed Support
1146
+ LIBRAW_CAPS_DNGSDK - LibRaw was compiled with Adobe DNG SDK
1147
+ LIBRAW_CAPS_DEMOSAICSGPL2, LIBRAW_CAPS_DEMOSAICSGPL3 - LibRaw was compiled with demosaic packs (GPL2/GPL3)
1148
+
1149
+ * More metadata parsed:
1150
+ - White balance coefficients stored in the raw file are extracted into:
1151
+ int imgdata.color.WBCoeffs[256][4] - array indexed by EXIF lightsource type
1152
+ for example, WBCoeffs[21][..] contains coefficients for D65 lightsource
1153
+ float imgdata.color.WBCT_Coeffs[64][5] contains white balance data specified
1154
+ for given color temperature: WBCT_Coeffs[i][0] contains temperature value,
1155
+ and [1]..[4] are WB coefficients.
1156
+ - DNG analog balance, per-channel black/white level, and forward matrix
1157
+ - vendor specific metadata stored in vendor-specific data structures
1158
+
1159
+ * new C-API calls:
1160
+ void libraw_set_user_mul(libraw_data_t *lr,int index, float val);
1161
+ void libraw_set_ca_correction(libraw_data_t *lr,int ca_correc, float ca_red, float ca_blue);
1162
+ void libraw_set_cfalinenoise(libraw_data_t *lr,int cfaline, float linenoise);
1163
+ void libraw_set_wf_debanding(libraw_data_t *lr, int wf_debanding, float wfd0, float wfd1, float wfd2, float wfd3);
1164
+ void libraw_set_interpolation_passes(libraw_data_t *lr,int passes);
1165
+
1166
+ * Existing API changes:
1167
+ imgdata.params fields (all very specific purpose): sony_arw2_options, sraw_ycc, and params.x3f_flags
1168
+ replaced with single bit-field raw_processing_options
1169
+ See LIBRAW_PROCESSING_* bits in documentation.
1170
+
1171
+ * zlib library is optional
1172
+ Use -DUSE_ZLIB to compile with zlib (to provide deflate DNG support)
1173
+ * libjpeg version: jpeg_mem_src() is mandatory, so use libjpeg-turbo
1174
+ or libjpeg 8+
1175
+ * Fixes in vng_interpolate to make modern compilers happy
1176
+ * Fixed bug in Sony SR2 files black level
1177
+ * DNG files with BlackLevel both in vendor makernotes and BlackLevel:
1178
+ BlackLevel tag always takes precedence
1179
+ * strlen replaced with strnlen in most cases, added local version of strnlen
1180
+ * ChannelBlackLevel added to canon makernotes
1181
+ * unpack_thumb() data size/offset check against file size
1182
+
1183
+ 2015-08-15 Alex Tutubalin <lexa@lexa.ru>
1184
+
1185
+ * LibRaw 0.17
1186
+
1187
+ * Fixed dcraw.c ljpeg_start possibly buffer overrun
1188
+
1189
+ * fixed several bugs detected by using American Fuzzy Lop
1190
+
1191
+ * C-API extension to support 3DLut Creator
1192
+
1193
+ * More metadata parsing/extraction:
1194
+ - XMP packet extracted (if exists)
1195
+ - DNG Color information parsed
1196
+ - GPS data (partially) parsed
1197
+ - EXIF/Makernotes parsed for used optics (for both RAW files and DNG converted by Adobe convertor).
1198
+
1199
+ * Exif/Makernotes parser callback (called for each processed tag)
1200
+
1201
+ * Sony ARW2.3 decoder:
1202
+ - params.sony_arw2_hack removed, decoded data are always in 0...17k range (note the difference with dcraw!)
1203
+ - Additional processing options for Sony lossy compression technical analysis.
1204
+
1205
+ * Dcraw 9.26 imported (but some changes not approved because Libraw do it better) with some exceptions:
1206
+ - no Pentax K3-II frame selection code
1207
+ - no built-in JPEG decompressor
1208
+
1209
+ * Many improvements in data decoding/processing:
1210
+ - Correct decoding of black level values from metadata for many formats, LibRaw do not rely on hardcoded black levels.
1211
+
1212
+ * 224 camera models added to supported camera list.
1213
+ Some of them are new (released since LibRaw 0.16 come out), some was supported before, but missed from the list.
1214
+ Added cameras are:
1215
+
1216
+ Alcatel 5035D
1217
+ BlackMagic Pocket Cinema Camera, Production Camera 4k
1218
+ Canon PowerShot A550, A3300 IS, G1 X Mark II, G7 X, SD950, SX60 HS, EOS 7D Mark II, EOS 20Da, EOS 60Da, EOS 1200D, EOS-1D C, 5DS, 5DS R, 750D, 760D, M2, M3, G3 X
1219
+ Casio EX-FC300S, EX-FC400S, EX-Z1080, EX-ZR700, EX-ZR710, EX-ZR750, EX-ZR800, EX-ZR850, EX-ZR1000, EX-ZR1100, ZR1200, ZR1300, EX-ZR1500, EX-100, EX-10
1220
+ Digital Bolex D16,D16M
1221
+ DJI 4384x3288,
1222
+ Epson R-D1s, R-D1x
1223
+ FujiFilm E505,S1,S205EXR,HS10,HS11,HS22EXR,HS33EXR,HS35EXR,F505EXR,F605EXR,F775EXR,F900EXR,X100T,X30,X-T1,X-T1 Graphite Silver, XQ2, X-A2, X-T10
1224
+ Hasselblad H5D-60, H5D-50,H5D-50c,H5D-40,H4D-60,H4D-50,H4D-40,H4D-31,H3DII-22,H3DII-31,H3DII-39,H3DII-50,H3D-22,H3D-31,H3D-39,H2D-22,H2D-39,CF-22,CF-31,CF-39,Stellar II,HV
1225
+ HTC UltraPixel
1226
+ Imacon Ixpress 96, 96C, 384, 384C (single shot only),132C, 528C (single shot only)
1227
+ ISG 2020x1520
1228
+ Ikonoskop A-Cam dII Panchromatic, A-Cam dII
1229
+ Kinefinity KineMINI, KineRAW Mini, KineRAW S35
1230
+ Kodak DCS460D, S-1
1231
+ Leaf Credo 50
1232
+ Lenovo a820
1233
+ Leica Digital-Modul-R, D-Lux (Typ 109), M (Typ 240), Monochrom (Typ 240), M-E, M-P, R8, S, T (Typ 701), X (Typ 113), X2, X-E (Typ 102), V-Lux (Typ 114), Monochrom (Typ 246), Q
1234
+ Matrix 4608x3288
1235
+ Nikon D4s, D600, D610, D750, D800, D800E, D810, D3300, D5500, Df, 1 J4, 1 S2, 1 V3, Coolpix P340, Coolscan NEF, D7200, 1 J5,D810A
1236
+ Nokia 1200x1600
1237
+ Olympus E-450, E-600, E-PL6, E-PL7, E-M1, E-M10, E-M5 Mark II, SP565UZ, STYLUS1s, SH-2, TG-4, AIR-A01
1238
+ Panasonic DMC-CM1, DMC-FZ7, DMC-FZ70, DMC-FZ1000, DMC-GF7, DMC-GH4, AG-GH4, DMC-GM1s, DMC-GM5, DMC-LX100, DMC-TZ60/61/SZ40, DMC-TZ70, FZ300/330, GX8
1239
+ Pentax GR, K110D, K-01, K-S1, Q, QS-1, 645Z, K-S2, K3 II
1240
+ PhaseOne IQ250, IQ260, IQ260 Achromatic, IQ280, Achromatic+, P 20+, P 21, P 25+, P 30+, P 40+
1241
+ Ricoh GXR MOUNT A12, GXR MOUNT A16 24-85mm F3.5-5.5, GXR, S10 24-72mm F2.5-4.4 VC, GXR, GR A12 50mm F2.5 MACRO, GXR, GR LENS A12 28mm F2.5, GXR, GXR P10
1242
+ Samsung GX-1L, NX1, NX5, NX1000, NX1100, NX30, NX300, NX300M, NX3000, NX mini, Galaxy S3, Galaxy Nexus, NX500
1243
+ Sigma dp1 Quattro, dp2 Quattro, dp3 Quattro, dp0 Quattro
1244
+ Sinar eMotion 22, eMotion 54, eSpirit 65, eMotion 75, eVolution 75, Sinarback 54
1245
+ Sony A7 II, A7S, ILCA-77M2 (A77-II), ILCE-3000, ILCE-5000, ILCE-5100, ILCE-6000, ILCE-QX1, DSC-RX100III, DSLR-A560, NEX-VG20, NEX-VG30, NEX-VG900, IMX135-mipi 13mp, IMX135-QCOM, IMX072-mipi, RX100-IV, A7R-II, RX10-II
1246
+
1247
+ * Fujifilm F700/S20Pro second frame support
1248
+
1249
+ 2014-02-01 Alex Tutubalin <lexa@lexa.ru>
1250
+ * Updated Oly E-M10 & Panasonic TZ60/61 color data
1251
+ * Updated foveon SD9-14 white level
1252
+ * Support for 1x1 BlackLevelRepeatDim
1253
+
1254
+ 2014-01-31 Alex Tutubalin <lexa@lexa.ru>
1255
+ * imported dcraw 1.461: fixed error in BlackLevelDim handling
1256
+ * Accurate work with pattern black-level (cblack[6+])
1257
+ * Support for Olympus E-M10 and Fujifilm X-T1
1258
+ * Adjusted possible maximum value for Sigma SD9 small raws
1259
+
1260
+ 2014-01-27 Alex Tutubalin <lexa@lexa.ru>
1261
+ * dcraw 1.460: Nikon D3300, Panasonic DMC-TZ61, Sony ILCE-5000
1262
+ 2014-01-25 Alex Tutubalin <lexa@lexa.ru>
1263
+ * PhaseOne IQ250 support (both compressed and uncompressed)
1264
+ 2014-01-21 Alex Tutubalin <lexa@lexa.ru>
1265
+ * imgdata.params.sony_arw2_hack removed.
1266
+ It always on for ARW2-files.
1267
+ * New imgdata.params.sony_arw2_options processing flags
1268
+ Values:
1269
+ LIBRAW_SONYARW2_NONE - normal processing
1270
+ LIBRAW_SONYARW2_BASEONLY - BASE pixels outputeed, delta pixels set to 0
1271
+ LIBRAW_SONYARW2_DELTAONLY - Delta pixels written to raw data, base pixels zeroed
1272
+ LIBRAW_SONYARW2_DELTAZEROBASE - Only deltas written without base offset
1273
+
1274
+ 2014-01-20 Alex Tutubalin <lexa@lexa.ru>
1275
+ * Imported dcraw 9.20:
1276
+ - Support for DNG BlackLevelRepeatDim tags
1277
+ - imgdata.color.cblack[] holds variable BlackLevel for DNG files (up to ~4k values)
1278
+ - imgdata.params.use_camera_matrix is now ON by default. Set it to 3 if you want
1279
+ to force use of DNG embedded matrix.
1280
+ - Tone curve for Canon RMF format supported
1281
+ - Color data for Canon C500
1282
+ * Additional camera support:
1283
+ Alcatel 5035D
1284
+ DJI 4384x3288
1285
+ Fujifilm F900EXR
1286
+ Kodak 12MP
1287
+ Matrix 4608x3288
1288
+ Nokia 1200x1600
1289
+ Olympus E-PL6
1290
+ Panasonic DMC-FZ7
1291
+
1292
+ 2014-01-17 Alex Tutubalin <lexa@lexa.ru>
1293
+ * Camera support:
1294
+ Added: Fujifilm XE2, XQ1
1295
+ Color data updated: Nikon D4 1 AW1/J3, Fuji X-M2
1296
+ Fixes: Nikon D610 visible image area, Canon A3300 bayer
1297
+ pattern
1298
+ * RawSpeed support: enabled processing for cameras,
1299
+ unknown to RawSpeed
1300
+ * Fixed error in LibRaw::unpack_thumb()
1301
+ * little improve performance in my_strcasestr
1302
+ * Fix compiler errors for VS2012/OpenMP
1303
+ * Fixed typo which prevents to use Demosaic Pack GPL2
1304
+ * LibRaw 0.16.0-Release
1305
+
1306
+ 2013-11-15 Alex Tutubalin <lexa@lexa.ru>
1307
+ * New cameras supported
1308
+ Leica C, X VARIO
1309
+ Nikon D5300, D610, Df, 1 AW1
1310
+ Nokia Lumia 1020, 1520
1311
+ Olympus STYLUS1
1312
+ Pentax K-3
1313
+ Sony RX10, A3000 (ILCE-3000),
1314
+ * Color data updated:
1315
+ Canon S120
1316
+ Nikon P7800, 1 J3
1317
+ Olympus E-M1
1318
+ * Corrected image visible area sizes
1319
+ Canon G16
1320
+ Sigma pre-Merrill cameras: small and medium-sized RAWs
1321
+
1322
+ * Better EXIF parsing:
1323
+ - ISO values for new Nikon cameras (D4, D800)
1324
+ - black level extraction for Nikon D5300
1325
+ - correct Olympus color data conversion
1326
+
1327
+ * Better Visual Studio compatibility (esp. old versions)
1328
+ * Cmake build: added ws2_32 library for MinGW builds
1329
+ * LibRaw 0.16.0-Beta1
1330
+
1331
+ 2013-10-22 Alex Tutubalin <lexa@lexa.ru>
1332
+ * Support for new cameras:
1333
+ Sony A7, A7R
1334
+ Panasonic GM1
1335
+
1336
+ * Sony RX1R and RX100M2 color data updated.
1337
+
1338
+ * Sony cameras model name is set by SonyModelID EXIF tag
1339
+
1340
+ * Sony ARW2: black level and color matrix extracted from EXIF data
1341
+
1342
+ * Samsung: black level and color matrix extracted from EXIF;
1343
+ Camera multipliers are now extracted correctly even if black is not 0
1344
+
1345
+ * Better source compatibility with Mac OS X compilation
1346
+
1347
+ * Better source compatibility with Win32 compilation
1348
+
1349
+ * DNG without Compression tag assumed uncompressed
1350
+
1351
+ * Better X3F-tools based Foveon support:
1352
+ - new Foveon metadata parser based on X3F-tools. So, if LibRaw compiled
1353
+ without demosaic-pack-GPL2, then no dcraw Foveon code used.
1354
+ - Support for Medium resolution RAWs from DPx Merrill and SD1 cameras.
1355
+ RAW data extracted as is (4800x1600 pixels), aspect ratio is set to
1356
+ 0.5, so these RAWs are processed to full-size 4800x3200 RGB.
1357
+ - Support for Foveon thumbnail extraction. Only JPEG and bitmap
1358
+ thumbnails extracted, but 'foveon' (RAW) thumbnails are really not used
1359
+ in production cameras.
1360
+ - New imgdata.params.force_foveon_x3f flag
1361
+ Forces use of x3f-tools based code for Foveon processing if LibRaw
1362
+ compiled with demosaic-pack-GPL2 (and does nothing if LibRaw compiled
1363
+ without this pack).
1364
+ New flag -disadcf added to dcraw_emu sample to use this flag.
1365
+ - LibRaw do not calls exit() on broken Foveon files.
1366
+
1367
+ * API/ABI changed, so all code using LibRaw should be recompiled.
1368
+
1369
+ * LibRaw 0.16.0-Alpha3
1370
+
1371
+
1372
+ 2013-10-16 Alex Tutubalin <lexa@lexa.ru>
1373
+ * Support for new cameras:
1374
+ Canon S120 (preliminary color data), G16
1375
+ Fujifilm X-A1 (preliminary color data)
1376
+ Hasselblad Lunar, Stellar
1377
+ Nikon P7800 (preliminary color data)
1378
+ Pentax K50, K500, Q7
1379
+ Samsung Galaxy NX (EK-GN120)
1380
+ Sony NEX-5T
1381
+
1382
+ * Updated color data for:
1383
+ Samsung NX300
1384
+ Sony RX1R
1385
+ Sigma SD1, SD1 Merrill, DPxx (only if non-GPL2 foveon decoder used)
1386
+
1387
+ * Image dimensions table for Foveon cameras (only if
1388
+ non-GPL2 foveon decoder used)
1389
+
1390
+ * Fixed memory leak in x3f-tools code (new Foveon decoder)
1391
+ * Fixed DHT-demosaic incompatibility with MS VisualStudio in OpenMP directives
1392
+ * Additional image size checks.
1393
+ * LibRaw 0.16-Alpha2
1394
+
1395
+ 2013-09-22 Alex Tutubalin <lexa@lexa.ru>
1396
+ * Support for new cameras:
1397
+ Baumer TXG14
1398
+ Blackmagic Cinema
1399
+ Canon EOS 70D, C500
1400
+ Fujifilm X-M1
1401
+ Nikon D5200
1402
+ Olympus E-P5,E-M1
1403
+ OmniVision OV5647 (Raspberry Pi)
1404
+ Panasonic LF1, GX7, GF6
1405
+ Richon GR
1406
+ Samsung NX300, NX1100, NX2000
1407
+ Sony RX100II, RX1R, NEX-3N
1408
+
1409
+ * Support for Foveon sensor based on X3F code by Roland Karlsson
1410
+ BSD-like license, so included in main LibRaw code.
1411
+ No 'foveon interpolation', so no way to get good colors from
1412
+ old Sigma cameras (SD9, SD14, Polaroid x530). For modern Foveon cameras
1413
+ one may try to create ICC profile (not supplied).
1414
+
1415
+ TODO: thumbnail extraction, fast cancellation
1416
+
1417
+ Old foveon_*_load_raw (from dcraw) code is used if compiled with
1418
+ LIBRAW_DEMOSAIC_PACK_GPL2
1419
+
1420
+ * API Changes:
1421
+
1422
+ + New parameters in imgdata.params:
1423
+ - imgdata.params.no_interpolation - disables interpolation step in
1424
+ LibRaw::dcraw_process() call.
1425
+ - imgdata.params.no_auto_scale - disables call to scale_colors() in
1426
+ LibRaw::dcraw_process() call.
1427
+ - imgdata.params.sraw_ycc - disables Canon sRAW YCbCr to RGB conversion
1428
+ in LibRaw::unpack() call (use for RAW analyzers
1429
+
1430
+ + New Fuji X-Trans handling:
1431
+ - imgdata.iparams.filters value is now 9 for Fuji X-Trans (instead of 2)
1432
+ - imgdata.iparams.xtrans[6][6] matrix contains row/col to color mapping
1433
+ for Fuji X-Trans sensor.
1434
+
1435
+ + LibRaw::setCancelFlag() - use for fast decoder termination
1436
+
1437
+ + LibRaw_abstract_datastream::make_byte_buffer() call is not needed more.
1438
+
1439
+ + New demosaic code: DHT Demosaic by Anton Petrusevich
1440
+ Set params.user_qual=11 to use.
1441
+
1442
+ + New demosaic code: Modified AHD Demosaic by Anton Petrusevich
1443
+ Set params.user_qual=12 to use.
1444
+
1445
+ + New C-API call libraw_COLOR(libraw_data_t *t, int row,int col)
1446
+ (so LibRaw::COLOR(row,col) exposed to C-API users)
1447
+
1448
+ * Removed faster lossless jpeg decoder ported from RawSpeed library
1449
+ some years ago. Build LibRaw with RawSpeed to get fast decoding.
1450
+
1451
+ * Fixed decoding error for some Canon sRAW files.
1452
+
1453
+ * Disabled RawSpeed's bad pixel processing if RawSpeed used.
1454
+
1455
+ * EOS M and EOS 70D added to unique Canon ID table
1456
+
1457
+ * Canon EOS model name normalized by unique ID table
1458
+
1459
+ * Backported 0.15.4 input data checks
1460
+
1461
+ * Support for CMake builds
1462
+
1463
+ * Updated RawSpeed supported camera list
1464
+
1465
+ * Internals changed, so all code using LibRaw should be recompiled.
1466
+
1467
+ * LibRaw 0.16.0-Alpha1
1468
+
1469
+ 2013-05-23 Alex Tutubalin <lexa@lexa.ru>
1470
+
1471
+ LibRaw 0.15-Release
1472
+
1473
+ New camera/format support:
1474
+ * Adobe DNG: fast Load DNG (LightRoom 4.x), support for
1475
+ lossy-compressed DNG (LR 4.x, requires libjpeg 6+)
1476
+ * Canon: G1 X, SX220 HS, EOS 5D Mark III, EOS 650D, EOS 1D-X,
1477
+ 100D (Rebel SL1), 700D (Rebel T5i), 6D, EOS M, G15, S110, SX50
1478
+ * Casio: EX-ZR100,EX-Z8
1479
+ * Fujifilm: X-S1, HS30EXR, X1-Pro,X-E1, X20, X100S, SL1000, HS50EXR,
1480
+ F800EXR, XF1
1481
+ * Leica: D-LUX6 and V-LUX4
1482
+ * Nikon: D4, D3200, D800, D800E, 1 J2, 1 V2, D600, 1 J3, 1 S1, Coolpix A,
1483
+ Coolpix P330, Coolpix P7700, D7100
1484
+ * Olympus: E-M5, XZ-2, XZ-10, E-PL5, E-PM2
1485
+ * Panasonic: G5, G6, DMC-GF5, FZ200, GH3, LX7
1486
+ * Pentax: MX-1, K-5 II, K-5 IIs, K-30, Q10
1487
+ * Samsung: EX2F, NX20, NX210, support for the new firmware for NX100
1488
+ * Sigma: SD15, SD1, SD1 Merill, DP1, DP1S, DP1X, DP2, DP2S, DP2X
1489
+ (only with Demosaic-pack-GPL2)
1490
+ * Sony: SLT-A58, RX-1, SLT-A99, NEX-5R, NEX-6, NEX-F3, SLT-A37, SLT-A57
1491
+ * Multishot files: Imacon Ixpress 39Mpix
1492
+
1493
+ API changes:
1494
+ 1. dcraw_process() can now be called several times with different parameters
1495
+ without re-opening and unpacking the file for second and consecutive
1496
+ calls to dcraw_process
1497
+
1498
+ 2. deleted (nobody uses those)
1499
+ - LibRaw::dcraw_document_mode_processing (and respective C-API)
1500
+ - imgdata.color.color_flags data field
1501
+
1502
+ 3. LibRaw::unpack() now decodes data into different buffers, the buffer
1503
+ depends on the raw data type
1504
+ - imgdata.rawdata.raw_image - 1 color component per pixel,
1505
+ for b/w and Bayer type sensors
1506
+ - imgdata.rawdata.color3_image - 3 color components per pixel,
1507
+ sRAW/mRAW files, RawSpeed decoding
1508
+ - imgdata.rawdata.color4_image - 4 components per pixel, the 4th
1509
+ component can be void
1510
+
1511
+ 4. Support for compiling with RawSpeed library, http://rawstudio.org/blog/?p=800
1512
+ details are in README.RawSpeed
1513
+
1514
+ 5. Suppression of banding
1515
+
1516
+ 6. New API calls
1517
+ - recycle_datastream(),
1518
+ - open_file(wchar_t*) (Win32)
1519
+
1520
+
1521
+ 2012-04-05 Alex Tutubalin <lexa@lexa.ru>
1522
+ * Casio EX-Z500 support
1523
+ * (possible) I/O exceptions on file open caught in open_datastream
1524
+ * Fixed possible read-after-buffer in Sony ARW2 decoder
1525
+ * Fixed mingw32 errors when compiling LibRaw_windows_datastream
1526
+ * Makefile.msvc: support of OpenMP and LCMS (uncomment to use)
1527
+ * Fixed decoding of some Leaf Aptus II files
1528
+ * LibRaw 0.14.6-Release
1529
+
1530
+ 2011-12-24 Alex Tutubalin <lexa@lexa.ru>
1531
+ * Fixed bug (uninitialized variable) in SMAL format decoding.
1532
+
1533
+ * Imported new dcraw 9.12 (1.446): support for Leica V-LUX 3,
1534
+ updated color data for Canon S100, Fujifilm X10, Nikon 1 J1/V1,
1535
+ Panasonic GX1, Samsung NX200, Sony NEX-7
1536
+
1537
+ * LibRaw 0.14.5-Release
1538
+
1539
+ 2011-12-12 Alex Tutubalin <lexa@lexa.ru>
1540
+
1541
+ * Fixes to Panasonic/Leica file parser to prevent crash
1542
+ on broken jpegs.
1543
+
1544
+ * Fixes to include order in src/libraw_datastream.cpp to
1545
+ better compile with KDEWIN
1546
+
1547
+ * Floating-point DNGs are rejected on early processing stage.
1548
+
1549
+ * Support for new cameras: Canon S100, Fuji X10, Panasonic GX1,
1550
+ Samsung NX200, Sony NEX-7.
1551
+
1552
+ * LibRaw 0.14.4-Release
1553
+
1554
+
1555
+ 2011-10-26 Alex Tutubalin <lexa@lexa.ru>
1556
+ * Bug fixes in black level subtraction code for PhaseOne files
1557
+
1558
+ * New API call LibRaw::get_internal_data_pointer() for developers
1559
+ who need access to libraw_internal_data fields (i.e.
1560
+ Fuji SuperCCD layout).
1561
+
1562
+ * doc/API-overview fixes to reflect 0.14 changes
1563
+
1564
+ * LibRaw 0.14.3-Release
1565
+
1566
+ 2011-10-19 Alex Tutubalin <lexa@lexa.ru>
1567
+ * Fixed bug in Canon 1D and 1Ds files decoding.
1568
+ * New decoder information bit DECODER_HASRAWCURVE
1569
+ * LibRaw 0.14.2-Release
1570
+
1571
+ 2011-10-11 Alex Tutubalin <lexa@lexa.ru>
1572
+ * Imported dcraw 9.11/1.445:
1573
+ + Support for new cameras added: Fujifilm F600EXR, Nikon P7100,
1574
+ Olympus E-PL3 and E-PM1, Panasonic DMC-FZ150, Sony NEX-5N,
1575
+ A65 and A77.
1576
+ + Changed color data for: Olympus E-P3, Panasonic G3 and GF3,
1577
+ PhaseOne H25, P40 and P65, Sony NEX-C3, NEX-5, NEX-3, A35 and A55.
1578
+ + Support for dark frame extraction on Sony cameras.
1579
+
1580
+ * DCB demosaicing: reserving 6 pixels instead of 3 to suppress
1581
+ colored image frame.
1582
+ * LibRaw 0.14.1-Release
1583
+
1584
+ 2011-09-21 Alex Tutubalin <lexa@lexa.ru>
1585
+ * Cosmetic changes to make Visual C++/OpenMP more happy
1586
+ * Fix megapixel calculation for postprocessing_benchmark in half mode
1587
+ * Shlib version number increment
1588
+ * LibRaw 0.14.0-Release
1589
+
1590
+ 2011-09-04 Alex Tutubalin <lexa@lexa.ru>
1591
+ * Fixed bug with Kodak thumbnail extraction
1592
+ * raw2image_ex() always return value
1593
+ * LibRaw 0.14.0-Beta2
1594
+
1595
+ 2011-09-02 Alex Tutubalin <lexa@lexa.ru>
1596
+ * Cosmetic changes to LibRaw_file_datastream interface
1597
+
1598
+ * OpenMP speedup of postprocessing steps (up to 50% for
1599
+ half mode and 4-core machine)
1600
+
1601
+ * LibRaw 0.14.0-Beta1
1602
+
1603
+ 2011-08-20 Alex Tutubalin <lexa@lexa.ru>
1604
+
1605
+ * Patch to dcraw_emu for SunStudio compiler compatibility
1606
+
1607
+ * Fixed crash in unprocessed_raw sample due to uninitialized
1608
+ timestamp variable.
1609
+
1610
+ * Fixed crash in raw decoding if raw_width/raw_height is
1611
+ less than resulting image width/height.
1612
+
1613
+ * imgdata.sizes.flip is set from user_flip only on
1614
+ postprocessing and/or adjust_sizes_info_only()
1615
+
1616
+ * Fixed buffer overrun for some LJPEG-compressed files
1617
+
1618
+ * Most of LibRaw_datastream function bodies are moved to
1619
+ separate source file
1620
+
1621
+ * LibRaw_windows_datastream is merged to main sourcetree
1622
+
1623
+ * LibRaw 0.14.0-Alpha5
1624
+
1625
+ 2011-08-11 Alex Tutubalin <lexa@lexa.ru>
1626
+ * Imported dcraw 9.10 (1.444), support for new cameras added:
1627
+ ARRIRAW format, Canon SX30 IS, Leica D-LUX 5 and V-LUX2,
1628
+ Olympus E-P3, Panasonic G3 and GF3, Sony NEX-C3 and SLT-A35
1629
+
1630
+ * Support for RedOne digital movie cameras (R3D format).
1631
+ To enable this support you should:
1632
+ + install libjasper JPEG2000 support library
1633
+
1634
+ + compile LibRaw with -DUSE_JASPER compiler switch (./configure
1635
+ will do it for you)
1636
+
1637
+ + If you use own LibRaw_datastream implementation, you should
1638
+ implement make_jas_stream() call for your datastream. See
1639
+ bottom of src/libraw_cxx.cpp for implementations in datafile
1640
+ and mem-buffer LibRaw streams.
1641
+
1642
+ * Bugfix: green matching is turned off if output image is shrinked
1643
+ due to wavelet filtering or aberration correction.
1644
+
1645
+ * fixed open_file()/adjust_sizes_info_only() code path
1646
+
1647
+ * Removed imgdata.sizes.bottom_margin and right_margin data fields
1648
+ use imgdata.sizes.raw_width - width - left_margin to get right one,
1649
+ the same with bottom_margin.
1650
+
1651
+ * minor ./configure cleanup
1652
+
1653
+ * Qmake files and Visual Studio Project files are updated.
1654
+
1655
+ * New version check macros:
1656
+ For use at runtime checks:
1657
+ LIBRAW_RUNTIME_CHECK_VERSION_EXACT() - checks that runtime
1658
+ major/minor version numbers are same with compile-time values.
1659
+
1660
+ LIBRAW_RUNTIME_CHECK_VERSION_NOTLESS() - checks that runtime
1661
+ version is not less that compile-time one.
1662
+
1663
+ For use at compile-time in preprocessor directives:
1664
+ LIBRAW_COMPILE_CHECK_VERSION_EXACT(major,minor) - Compile-time
1665
+ check that LibRaw version is exact major.minor.
1666
+
1667
+ LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(major,minor) - Compile-time
1668
+ check that version is not less than major.minor.
1669
+
1670
+ * all client code should be recompiled due to internals change.
1671
+
1672
+ * LibRaw 0.14.0-Alpha4
1673
+
1674
+ 2011-07-19 Alex Tutubalin <lexa@lexa.ru>
1675
+ * New sample samples/postprocessing_benchmark.cpp
1676
+ This sample measures postprocessing speed.
1677
+ All demosaic methods, averaged white balance, median
1678
+ filtering, wavelet filtration, highlight recovery, and
1679
+ cropping are supported.
1680
+
1681
+ * Removed LibRaw::rotate_fuji_raw() call and corresponding C-API call.
1682
+
1683
+ * The LibRaw::adjust_sizes_info_only() call may be called repeated
1684
+ and mixed with dcraw_process() call.
1685
+
1686
+ * Postprocessing speedup and optimization, especially if cropping set.
1687
+
1688
+ * Cropping works for FujiCCD raws. For the technical reasons, the position
1689
+ of top-left corner of crop area will be rounded to the nearest
1690
+ multiple of 4 (the corner is shifted top-left).
1691
+
1692
+ * LibRaw 0.14.0-Alpha3
1693
+
1694
+ 2011-07-15 Alex Tutubalin <lexa@lexa.ru>
1695
+ * imported cropping code from 0.13 branch
1696
+
1697
+ 2011-07-12 Alex Tutubalin <lexa@lexa.ru>
1698
+ * samples/multirender_test - check for different clip settings
1699
+
1700
+ 2011-07-11 Alex Tutubalin <lexa@lexa.ru>
1701
+ * New call LibRaw::free_image(), deallocates imgdata.image buffer.
1702
+ Use this call if current postprocessing results are not
1703
+ needed, but it is to early to call recycle() because
1704
+ dcraw_process() may be called later.
1705
+
1706
+ * New C-API calls
1707
+ libraw_raw2image() - C API for LibRaw::raw2image()
1708
+ libraw_free_image() - C API for LibRaw::free_image()
1709
+ libraw_get_decoder_info() - C API for LibRaw::get_decoder_info()
1710
+
1711
+ * Bugfix: change of params.user_flip aftee open()/unpack()
1712
+ calls should work.
1713
+
1714
+ * LibRaw 0.14.0-Alpha2
1715
+
1716
+ 2011-07-10 Alex Tutubalin <lexa@lexa.ru>
1717
+ * Multiple rendering (LibRaw::dcraw_process() calls) allowed
1718
+ without re-opening RAW file thrfough the sequence of open()/unpack()
1719
+ calls.
1720
+ You should be able to change any processing parameters (except
1721
+ shot_select parameter) between dcraw_process() calls.
1722
+
1723
+ + New sample in samples/multirender_test.cpp: renders data 4 times:
1724
+ in half and full modes with different white balance settings.
1725
+
1726
+ + Unprocessed RAW data is stored in separate data buffer:
1727
+ (2 bytes per pixel for all Bayer-pattern images,
1728
+ 8 bytes per pixel for Foveon, sRAW, and other full-color raw
1729
+ formats), so now LibRaw uses 25% more memory for full processing of
1730
+ most common Bayer images; while for just unpack memory is reduced
1731
+ 4 times.
1732
+
1733
+ + New call LibRaw::raw2image() fills imgdata.image array
1734
+ with fresh copy of data.
1735
+ There is no need to call raw2image() separately if you use
1736
+ dcraw_process() or dcraw_document_mode_processing() calls.
1737
+
1738
+ + New call LibRaw::get_decoder_info() to determine raw data
1739
+ storage layout. See samples/unprocessed_raw.cpp for an example
1740
+ of how to use it.
1741
+
1742
+ If your code uses usual open()/unpack()/dcraw_process() call
1743
+ sequence, then NOTHING CHANGED: your program should produce same
1744
+ results. For interactive programs you may skip open()/unpack()
1745
+ calls after adjusting processing parameters, so user should see
1746
+ image refreshed much faster.
1747
+
1748
+ If your code uses raw data (open+unpack calls), you need to call
1749
+ LibRaw::raw2image(), and imgdata.image will contain same bitmap
1750
+ as in LibRaw 0.13.x
1751
+
1752
+ If you code uses access to masked borders data, you need to
1753
+ rewrite it. See samples/unprocessed_raw.cpp as a sample.
1754
+
1755
+ Unfortunately, documentation is untouched yet. This problem will be
1756
+ fixed in next Alpha release.
1757
+
1758
+ Other changes:
1759
+
1760
+ * No separate imgdata.masked_pixels buffers, Bayer raw formats are read
1761
+ to buffer with borders. So, no ugly add_masked_border_to_bitmap()
1762
+ call.
1763
+
1764
+ * No filtering_mode parameter. Raw tone curve is applied
1765
+ at unpack() stage; zero pixels removed on postprocessing stage.
1766
+
1767
+ * unprocessed_raw and 4colors samples are adjusted to use
1768
+ new RAW data storage layout.
1769
+
1770
+ * all client code should be recompiled due to internals change.
1771
+
1772
+ * LibRaw 0.14.0-Alpha1
1773
+
1774
+ 2011-07-03 Alex Tutubalin <lexa@lexa.ru>
1775
+ * Cosmetic cleanup in Libraw_memmgr code
1776
+
1777
+ * Permit OpenMP support on MS VS2008
1778
+
1779
+ * More general mem_image interface:
1780
+ + New call get_mem_image_format returns bitmap size and bit depth
1781
+ + New call copy_mem_image can copy bitmap into buffer with
1782
+ different color order (RGB/BGR) and line stride
1783
+ + dcraw_make_mem_image() uses calls mentioned above
1784
+ + see documentation for info on these function parameters.
1785
+
1786
+ * libraw/librawwindows.h implements LibRaw_datastream class based
1787
+ on Windows memory mapped files.Win32/64-only
1788
+ Thanks to Linc Brookes.
1789
+
1790
+ * Fixed parallel make errors in configure/Makefile.am
1791
+
1792
+ * LibRaw 0.13.6-Release
1793
+
1794
+
1795
+ 2011-05-18 Alex Tutubalin <lexa@lexa.ru>
1796
+ * Imported new dcraw 9.08/1.443:
1797
+ + New color data for Canon 600D and 1100D, Fuji S200EXR
1798
+ + New camera supported: Fuji HS20EXR and F550EXR, Kodak Z990,
1799
+ Nikon D5100, Olympus E-PL1s and XZ-1,
1800
+ Samsung NX11, Sony A230 and 290.
1801
+ * LibRaw 0.13.5-Release
1802
+
1803
+ 2011-04-02 Alex Tutubalin <lexa@lexa.ru>
1804
+ * Imported new dcraw 9.07/1.442:
1805
+ + Support for Canon 600D and 1100D, Hasselblad H4D-60,
1806
+ Olympus E-PL2
1807
+ * Color data for Leaf Aptus II and Canon Powershot S2 IS
1808
+ * LibRaw 0.13.4-Release
1809
+
1810
+ 2011-03-30 Alex Tutubalin <lexa@lexa.ru>
1811
+ * Preliminary support for Leaf Aptus II cameras (no color data yet):
1812
+ Leaf Aptus II 6,7,8,10 and 12 are tested, Aptus II 5 should work.
1813
+ * Preliminary support for Fujifilm X100 camera (again, no color data).
1814
+ * Fixed possible after the end of buffer read when working with
1815
+ in-memory data.
1816
+ * Fixed possible loss of JPEG stream sync marks in LJPEG decoder
1817
+ (this bug was found only for Leaf Aptus II RAWs).
1818
+ * LibRaw 0.13.3-Release
1819
+
1820
+ 2011-03-08 Alex Tutubalin <lexa@lexa.ru>
1821
+ * Fixed broken camera white balance reading for some Sony cameras
1822
+ * LibRaw 0.13.2-Release
1823
+
1824
+ 2011-02-25 Alex Tutubalin <lexa@lexa.ru>
1825
+ * Sony A390 support (colordata from A380)
1826
+ * Leica D-LUX 4: fixed typo in camera name in colordata
1827
+
1828
+ 2011-02-15 Alex Tutubalin <lexa@lexa.ru>
1829
+ * New -mem option for dcraw_emu: I/O via allocated buffer
1830
+ * Removed debug printf from LibRaw_memory_buffer code
1831
+ * Preliminary shared library support
1832
+
1833
+ 2011-02-12 Alex Tutubalin <lexa@lexa.ru>
1834
+ * Added qmake .pro and Visual Studio 2008 sln/vcproj project files
1835
+ 2011-02-07 Alex Tutubalin <lexa@lexa.ru>
1836
+ * dcraw_emu documentation updated
1837
+ * ./configure stuff changed for correct linking on some systems
1838
+ * FBDD denoising is disabled for full-color images and 4-color bayer
1839
+ data (including forced 4-color via four_color_rgb option)
1840
+ * LibRaw 0.13.1-Release
1841
+
1842
+ 2011-02-05 Alex Tutubalin <lexa@lexa.ru>
1843
+ * ./configure fixes for PACKAGE_REQUIRES
1844
+ * Makefile.msvc: correct compiler flags for demosaic packs
1845
+ * dcraw.c 9.06/1.440 imported:
1846
+ + New camera support: Canon S95, Casio EX-Z1080, Panasonic GF2
1847
+ and GH2, Samsung NX100, Sony A-580
1848
+ + New color data for: Canon G12, Nikon D3100, D7000 and P7000,
1849
+ Olympus E-5, Pentax K-r and K-5, Samsung NX10 and WB2000
1850
+ * green_matching() code is disabled for half-size processing
1851
+ * LibRaw 0.13.0-Release
1852
+
1853
+ 2011-01-15 Alex Tutubalin <lexa@lexa.ru>
1854
+ * Fallback to old huffman decoder for Sony files with unspecified
1855
+ data length (Sony A100)
1856
+ * Fixed incomplete data fields reset in LibRaw::recycle()
1857
+ * LibRaw 0.13.0-Beta3
1858
+
1859
+ 2011-01-13 Alex Tutubalin <lexa@lexa.ru>
1860
+ * Better parsing of unknown command-line params in dcraw_emu sample
1861
+ * Brigtness table in ahd_demosaic is calculated in reversed order
1862
+ to prevent possible (very unlikely) multithreaded app problem.
1863
+ * New exposure correction code based on linear-cubic root combination.
1864
+ New working correction range is from 0.25 (-2 stops) to 8 (+3 stops)
1865
+ * LibRaw 0.13.0-Beta2
1866
+
1867
+ 2011-01-10 Alex Tutubalin <lexa@lexa.ru>
1868
+ * Fixed file extension in half_mt.c sample
1869
+
1870
+ 2011-01-10 Alex Tutubalin <lexa@lexa.ru>
1871
+ * Three patches provided by Jacques Desmis:
1872
+ - Exposure correction before demosaic (demosaic pack GPL3)
1873
+ - OpenMP speed-up in median filters (demosaic pack GPL2)
1874
+ - OpenMP speed-up in green equilibration (demosaic pack GPL3)
1875
+ * Merged 0.12.2-0.12.3 changes:
1876
+ - Patches for ./configure system for better LCMS2 support
1877
+ - Patches for ./configure system
1878
+ - math.h included before any other includes to make KDE compile
1879
+ with Visual C++ happy
1880
+ - Fuji FinePix S5500 size adjusted to ignore (rare?) garbage
1881
+ at top of frame.
1882
+ * all client code should be recompiled due to internals change.
1883
+ * LibRaw 0.13.0-Beta1
1884
+
1885
+ 2010-12-22 Alex Tutubalin <lexa@lexa.ru>
1886
+ * Zero copy huffman buffer for LibRaw_buffer_datastream
1887
+ * Fixed memory leak in compressed NEFs handling
1888
+ * LibRaw 0.13.0-Alpha2
1889
+
1890
+ 2010-12-20 Alex Tutubalin <lexa@lexa.ru>
1891
+ * Demosaic-pack-GPL3 changes:
1892
+ + New noise reduction methods before demosaic
1893
+ - Banding suppression
1894
+ - High-frequency noise suppression
1895
+ - Green channel equalization
1896
+ + New chromatic aberration correction.
1897
+ All three methods are written by Emil Martinec for Raw Therapee.
1898
+ Adapted to LibRaw by Jacques Desmis
1899
+
1900
+ * Merged Foveon code fix from LibRaw 0.12.1
1901
+
1902
+ * LJPEG decompressor speed-up (about 1.5 times for Canon cameras
1903
+ and slightly less for others). Some ideas are from RawSpeed library.
1904
+
1905
+ * all client code should be recompiled due to internals change.
1906
+
1907
+ * LibRaw 0.13.0-Alpha1
1908
+
1909
+ 2010-12-12 Alex Tutubalin <lexa@lexa.ru>
1910
+ * Thread-safe and demosaic packs support for MinGW build
1911
+ * Demosaic packs support for MS VC build
1912
+ * LibRaw 0.12.0-Release
1913
+
1914
+ 2010-12-09 Alex Tutubalin <lexa@lexa.ru>
1915
+ * Fixed bug in add_masked_borders_to_bitmap() call for cameras
1916
+ with odd pixels border.
1917
+ * New command line options for unprocessed_raw sample:
1918
+ -B - subtract black level, -M - add masked pixels to bitmap.
1919
+ * Foveon-sensor cameras added to supported camera list if
1920
+ compiled with demosaic pack GPL2
1921
+ * LibRaw 0.12.0-Beta4
1922
+
1923
+ 2010-12-05 Alex Tutubalin <lexa@lexa.ru>
1924
+ * Demosaic packs support in Makefile.dist
1925
+ * Foveon support in LibRaw demosaic pack GPL2
1926
+ * all client code should be recompiled due to internals change.
1927
+ * LibRaw 0.12.0-Beta3
1928
+
1929
+ 2010-11-27 Alex Tutubalin <lexa@lexa.ru>
1930
+ * Fixed allocation bug in lmmse_interpolation (demosaic-pack-GPL2)
1931
+ * In LMMSE and AMaZE interpolators allocation changed to calloc
1932
+ to make valgrind happy with uninitialized values
1933
+ * Changes in distribution-making scripts
1934
+ * LibRaw 0.12.0-Beta2
1935
+
1936
+ 2010-11-21 Alex Tutubalin <lexa@lexa.ru>
1937
+ * Fixes to green_matching code by Sergey Pavlov
1938
+
1939
+ 2010-11-20 Alex Tutubalin <lexa@lexa.ru>
1940
+ * Update for new demosaic-pack-GPL3
1941
+ * LibRaw 0.12.0-Beta1
1942
+
1943
+ 2010-11-19 Alex Tutubalin <lexa@lexa.ru>
1944
+ * Demosaic pack(s) supported via ./configure
1945
+
1946
+ 2010-11-17 Alex Tutubalin <lexa@lexa.ru>
1947
+ * LCMS2 support
1948
+ * afd_interpolate(2,1) instead of (5,0)
1949
+ * dcraw_emu sample command line keys added and reordered
1950
+ to reflect changes in LibRaw 0.12.
1951
+ * Nikon P7000: color matrix data and black level patch for ISO >=400
1952
+ Thanks to Gunnar Thorburn
1953
+ * Support for several industrial cameras based on Sony ICX 625/655
1954
+ sensor: JAI BB500CL/GE, SVS625CL, ptGrey GRAS-50S5C
1955
+ Thanks to kaare
1956
+
1957
+ 2010-11-15 Alex Tutubalin <lexa@lexa.ru>
1958
+
1959
+ * Several demosaic algorithms, found in other open-source RAW processing
1960
+ packages are implemented in LibRaw.
1961
+
1962
+ 1) DCB demosaic and FBDD denoise by Jacek Gozdz are included in
1963
+ main LibRaw source.
1964
+ 2) GPL2 demosaic pack with these demosaic methods:
1965
+ * AFD and LMMSE implementations from PerfectRaw by Manuel Llorens
1966
+ * VCD, Modified AHD, post-demosaic refinemend and median
1967
+ filters by Paul Lee
1968
+ 3) GPL3 demosaic pack with AMaZe interpolation by Emil Martinec
1969
+
1970
+ See more details in README.demosaic-packs
1971
+
1972
+ * Current implementation of dcraw_emu sample allows only selection
1973
+ of demosaic method (via -q) options. All other parameters change
1974
+ will be implemented later.
1975
+
1976
+ * LibRaw 0.12-alpha1
1977
+
1978
+ 2010-11-11 Alex Tutubalin <lexa@lexa.ru>
1979
+ * Imported 0.11(2) version changes:
1980
+ + Fixed dcraw_emu command line processing code
1981
+ + OpenMP is completely disabled on MacOS X if compiled with -pthread
1982
+ due to well-known MacOS problem.
1983
+ + dcraw 9.05 (1.439) imported, many new cameras supported:
1984
+ Canon: G12, SX120, 60D,
1985
+ Hasselblad H4D, Nokia X2, Olympus E-5,
1986
+ Nikon: D3100, D7000, P7000,
1987
+ Panasonic: FZ40, FZ100, LX5,
1988
+ Pentax: K-r, K-5, 645D,
1989
+ Samsung GX20, WB2000
1990
+ * LibRaw 0.12-alpha0
1991
+
1992
+ 2010-11-08 Alex Tutubalin <lexa@lexa.ru>
1993
+ * Fixes for Sun Studio compiler compatibility
1994
+ * Fixes for Visual Studio 2010 compatibility
1995
+ * All russian-language files are converted to UTF-8
1996
+ * LibRaw 0.11.0-Release
1997
+
1998
+ 2010-10-18 Alex Tutubalin <lexa@lexa.ru>
1999
+ * Disabled OpenMP for wavelet_denoise under Mac OS X
2000
+ * More Visual C++ 2003 warnings cleaned in libraw/*h files
2001
+ * LibRaw 0.11-Beta7
2002
+
2003
+ 2010-10-16 Alex Tutubalin <lexa@lexa.ru>
2004
+ * internal/dcraw_fileio.c can be compiled with -DDCRAW_VERBOSE again
2005
+ * fixed comment style in libraw_datastream.h
2006
+ * LibRaw 0.11-Beta6
2007
+
2008
+ 2010-10-15 Alex Tutubalin <lexa@lexa.ru>
2009
+
2010
+ * New changes to I/O layer. Three LibRaw_*datastream clasees are
2011
+ exists:
2012
+ + LibRaw_buffer_datastream - buffer reaging
2013
+ + LibRaw_file_datastream - file reading using iostreams
2014
+ (large files are no supported on some systems)
2015
+ + LibRaw_bigfile_datastream - FILE*-based file I/O
2016
+
2017
+ * file/bigfile_datastream is selected automatically by
2018
+ LibRaw::open_file based on input file size.
2019
+ By default, files larger than 250Mb are opened using
2020
+ bigfile interface, you may change this behaviour
2021
+ by using second optional parameter of open_file()
2022
+
2023
+ * There is no way to use default parameter values in C API,
2024
+ so new call libraw_open_file_ex added with two parameters
2025
+ (file name and minimal file size for bigfile_datastream use).
2026
+
2027
+ * all client code should be recompiled due to internals change.
2028
+
2029
+ * All LibRaw_abstract_datastream functions are virtual again. You may
2030
+ (again) use your own I/O layer.
2031
+
2032
+ * new -d key for dcraw_emu sample: print timings of processing stages
2033
+
2034
+ * simple_dcraw sample simplified: no mmap code
2035
+
2036
+ * LibRaw 0.11-Beta5
2037
+
2038
+ 2010-10-08 Alex Tutubalin <lexa@lexa.ru>
2039
+ * Fixed bug in exception handling in OpenMP sections in
2040
+ AHD interpolation code.
2041
+
2042
+ * LibRaw_datastreams are now C++ iostreams based instead of old
2043
+ plain FILE* calls.
2044
+ LibRaw::open_file() in multithreaded programs are WAY faster
2045
+ on many OSes (Linux, Windows, MacOSX) because of no extra locks.
2046
+
2047
+ * all client code should be recompiled due to internals change.
2048
+
2049
+ * LibRaw 0.11-Beta4
2050
+
2051
+
2052
+ 2010-10-01 Alex Tutubalin <lexa@lexa.ru>
2053
+ * Fixed bug in LibRaw::dcraw_process() code: for half_size
2054
+ processing, params.four_color_rgb was set to 1 internally
2055
+ and not returned back after postprocessing.
2056
+
2057
+ * Several Visual Studio 2003 compatibility fixes
2058
+
2059
+ * AHD interpolation refactored. Now it is about 10% faster than
2060
+ dcraw in single-process mode and up to 1.5 times faster on
2061
+ 4-core and OpenMP (total execution time counted, not AHD itself)
2062
+ Thanks to Adam Hooper
2063
+ * AHD interpolation refactored. Now it is about 10% faster than
2064
+ dcraw in single-process mode and up to 1.5 times faster on
2065
+ 4-core and OpenMP (total execution time counted, not AHD itself)
2066
+ Thanks to Adam Hooper
2067
+
2068
+ * LibRaw 0.11-Beta3
2069
+
2070
+ 2010-09-07 Alex Tutubalin <lexa@lexa.ru>
2071
+ * Phase One files: LibRaw::unpack() sets colordata.black to
2072
+ approximately correct value.
2073
+
2074
+ * Fixed minor error in setting colordata.maximum value
2075
+ for Phase One files.
2076
+
2077
+ * LibRaw::subtract_black() sets colordata.black and
2078
+ colordata.cblack[] to zero to preserve data integrity.
2079
+
2080
+ * LibRaw 0.11-Beta2
2081
+
2082
+
2083
+ 2010-09-04 Alex Tutubalin <lexa@lexa.ru>
2084
+
2085
+ * It is now possible to crop output image on postprocessing
2086
+ stage (dcraw_process). Coordinates and size of the output box
2087
+ are set via imgdata.params.cropbox[4] parameter. Look into
2088
+ LibRaw documentation for more details.
2089
+
2090
+ + New fatal error code LIBRAW_BAD_CROP
2091
+
2092
+ + New dcraw_emu sample command line switch: -B x y w h
2093
+ (sets cropbox)
2094
+
2095
+ Thanks to Patrick and Jan.
2096
+
2097
+ * Processing pipeline has changed: the black level is subtracted
2098
+ from data on postprocessing stage either automatically
2099
+ (on dcraw_process() stage) or by special LibRaw API call:
2100
+
2101
+ + New API calls: LibRaw::subtract_black() (C++ API) and
2102
+ libraw_subtract_black (C API).
2103
+ If you use dcraw_process() or dcraw_document_mode_processing()
2104
+ calls YOU DON'T NEED to call subtract_black() directly.
2105
+
2106
+ + The raw preprocessing mode LIBRAW_FILTERING_NOBLACKS
2107
+ is deprecated and removed from LibRaw.
2108
+
2109
+ * New ./configure script.
2110
+ Use ./configure -h for usage details.
2111
+ Thanks to Siddhesh Poyarekar
2112
+
2113
+ * New API cals static LibRaw::dcraw_clear_mem() (C++ API)
2114
+ and libraw_dcraw_clear_mem(..) (C API).
2115
+ This calls are used to free memory, allocated by
2116
+ dcraw_make_mem_image() and dcraw_make_mem_thumb() instead
2117
+ of free() call.
2118
+
2119
+ In some cases LibRaw and calling process have different
2120
+ memory managers, so free() of make_mem_image() data
2121
+ results to program crash (especially in Win32/VisualStudio
2122
+ environment).
2123
+
2124
+ * LibRaw::free() is now private instead of public (again).
2125
+
2126
+ * Minor changes and bugfixes:
2127
+
2128
+ + Memory allocation exceptions (std::bad_alloc) are caught,
2129
+ so LibRaw API calls will return reasonable error codes
2130
+ instead of C++ exception (possibly unhandled).
2131
+ This problem is very unlikely to see in wild: if application
2132
+ cannot allocate small data for internal structure, it will
2133
+ always fail on allocation for RAW image data.
2134
+
2135
+ + WIN32/VisualStudio 2008/2010: fopen,fscanf and sscanf calls
2136
+ in Libraw_datastream code are changed to *_s (secure) ones.
2137
+
2138
+ + Debug print removed from fatal error handler.
2139
+
2140
+ + Mmaped I/O for dcraw_emu sample is turned on via -E switch
2141
+ now (because old -B switch is used for setting cropbox).
2142
+
2143
+ * all client code should be recompiled due to structures size change
2144
+
2145
+ * LibRaw 0.11-Beta1
2146
+
2147
+
2148
+ 2010-07-31 Alex Tutubalin <lexa@lexa.ru>
2149
+ * dcraw 9.04 (1.438) imported: changes in tiff metadata parser,
2150
+ fixed a typo in Canon A720 model name
2151
+ * small patch in Sony ARW2 unpacking code to make valgrind happy
2152
+ * LibRaw 0.10.0-Beta3.
2153
+
2154
+ 2010-07-05 Alex Tutubalin <lexa@lexa.ru>
2155
+ * dcraw 9.03 (1.437) imported:
2156
+ + New cameras: Canon SX20, Nikon D3s, Olympus E-P2, Panasoni DMC-GF1,
2157
+ Samsung EX1, Sony A450
2158
+ + Color data changed for some cameras
2159
+
2160
+ * LibRaw 0.10.0-Beta2.
2161
+
2162
+ 2010-06-06 Alex Tutubalin <lexa@lexa.ru>
2163
+ * dcraw 9.01 (1.434) imported:
2164
+ + Separate black levels for each color channel.
2165
+ + New cameras: Canon 550D, Casio EX-Z1050, Fuji HS10/HS11,
2166
+ Kodak Z981, Panasonic G2 and G10, Phase One P65,
2167
+ Samsung NX-10 and WB550, Sony NEX-3 and NEX-5.
2168
+ + Fixed file descriptor leak in dark frame subtraction processing
2169
+
2170
+ * Fixed dcraw 9.01's bug in DNG black level processing
2171
+
2172
+ * Preliminary support for Sony A450 camera.
2173
+
2174
+ * New command-line switch -h in mem_image sample (half_size support)
2175
+
2176
+ * Some patches by Johannes Hanika (darktable author):
2177
+ + OpenMP speedup for PPG-interpolation
2178
+ + green_matching - suppress of 'color maze' on cameras with
2179
+ different green channel sensitivity. This option is turns on
2180
+ by filed with same name in imgdata.params
2181
+
2182
+ * all client code should be recompiled due to structures size
2183
+ change
2184
+
2185
+ * LibRaw::free() is now public instead of private.
2186
+
2187
+ * LibRaw 0.10.0-Beta1.
2188
+
2189
+ 2010-05-15 Alex Tutubalin <lexa@lexa.ru>
2190
+ * Fixed bug in 8-bit RAW processing code
2191
+ * LibRaw 0.9.1-Release
2192
+
2193
+ 2010-04-26 Alex Tutubalin <lexa@lexa.ru>
2194
+ * OpenMP support: OpenMP is possible under MinGW (untested)
2195
+ * LibRaw 0.9.0-Release
2196
+
2197
+ 2010-04-21 Alex Tutubalin <lexa@lexa.ru>
2198
+ * Finally fixed inconsistency in Fuji files processing
2199
+ * New COLOR(row,col) call to get bayer color index in image[] array
2200
+ * Old FC() call is deprecated and will be removed in future releases
2201
+ * unprocessed_raw sample switched to COLOR() call
2202
+ * LibRaw 0.9.0-Beta5
2203
+
2204
+
2205
+ 2010-04-10 Alex Tutubalin <lexa@lexa.ru>
2206
+ * Fixed bug in unpacking DNG files made from Fuji RAFs.
2207
+ * LibRaw 0.9.0-Beta4
2208
+
2209
+ 2010-04-09 Alex Tutubalin <lexa@lexa.ru>
2210
+
2211
+ * Fixed typecast error (problem reported only on gcc 4.2.1/32bit)
2212
+ in CRW files processing.
2213
+
2214
+ * C++ API call LibRaw::adjust_maximum() is now deprecated and
2215
+ de-documented, use params.adjust_maximum_thr instead (on by default)
2216
+
2217
+ * C-API call libraw_adjust_maximum() removed.
2218
+
2219
+ * New postprocessing parameter params.adjust_maximum_thr
2220
+ This parameter replaces LibRaw::adjust_maximum(), but more flexible
2221
+ Defaults are reasonable (0.75, same as in old adjust_maximum),
2222
+ look into documentation for more details.
2223
+
2224
+ * Removed last OpenMP warning
2225
+
2226
+ * dcraw_emu's -c parameter now wants numeric (float) argument. This value
2227
+ is assigned to params.adjust_maximum_thr.
2228
+ Use -c 0.0 for dcraw compatibility.
2229
+
2230
+ * all client code should be recompiled due to structures size
2231
+ change
2232
+
2233
+ * LibRaw 0.9.0-Beta3
2234
+
2235
+
2236
+ 2010-03-29 Alex Tutubalin <lexa@lexa.ru>
2237
+ * Fixed a bug in channel_maximum[] calculation for
2238
+ Panasonic cameras.
2239
+ * channel_maximum[] data now calculated for ALL cameras.
2240
+ * OpenMP warnings suppressed.
2241
+ * Documented the -c command-line switch for dcraw_emu sample.
2242
+ * Removed extra messages from dcraw_emu sample.
2243
+ * LibRaw 0.9.0-Beta2
2244
+
2245
+ 2010-03-28 Alex Tutubalin <lexa@lexa.ru>
2246
+
2247
+ New licensing:
2248
+
2249
+ * Triple licensing (selected by LibRaw user):
2250
+
2251
+ + LGPL 2.1 (http://www.gnu.org/licenses/lgpl-2.1.html)
2252
+ + CDDL 1.0 (http://www.opensource.org/licenses/cddl1.txt)
2253
+ + LibRaw Software License (27 March 2010 version)
2254
+ (http://www.libraw.org/data/LICENSE.LibRaw.pdf)
2255
+
2256
+ * There is no separate LibRaw-Lite and LibRaw-Commercial versions,
2257
+ only single LibRaw.
2258
+ Current LibRaw-Lite and LibRaw-Commercial users should switch
2259
+ to LibRaw without loss of functionality.
2260
+ It is possible to change licensig too (e.g. from LGPL to CDDL
2261
+ for LibRaw-Lite users and from LibRaw License to LGPL or CDDL
2262
+ for LibRaw-Commercial users).
2263
+
2264
+ * No Foveon support :(
2265
+ It is not possible to get good color from Foveon sensors with
2266
+ *any* converter. So, there is no need to support these cameras.
2267
+ Dcraw's Foveon-processing code is too strict licensed (GPL),
2268
+ so we choose to drop it.
2269
+
2270
+ New Features:
2271
+
2272
+ * New data field colordata.channel_maximum[4] - per channel data
2273
+ maximum (calculated for most cameras, 0 for others).
2274
+
2275
+ * New call LibRaw::adjust_maximum() (and libraw_adjust_maximum() in C API).
2276
+ This call changes hardcoded colordata.maximum value to calculated
2277
+ at unpack stage. This helps suppress false color in highlights
2278
+ (magenta clouds and so).
2279
+
2280
+ * New command line parameter -c for dcraw_emu sample. Calls adjust_maximum()
2281
+ for each processed file.
2282
+
2283
+ * all client code should be recompiled due to structures size
2284
+ change
2285
+
2286
+ * LibRaw 0.9.0-Beta1
2287
+
2288
+ 2010-02-06 Alex Tutubalin <lexa@lexa.ru>
2289
+ * Fixed ambiguity in pow/sqrt calls (to make Sun C++ compiler happy)
2290
+ * OpenMP is not supported under MS Visual Studio
2291
+ * Masked a bug in RIFF format parser
2292
+ * LibRaw 0.8.6
2293
+
2294
+ 2009-12-30 Alex Tutubalin <lexa@lexa.ru>
2295
+ * Fixed bug in simple_dcraw sample parameters processing
2296
+ * Imported dcraw 8.99 (1.432):
2297
+ + New cameras: Canon: 1D mk IV, Canon S90; Casio Z750,
2298
+ Nikon D3S, Pentax K-x, Sony A-500/550, Fuji S200EXR
2299
+ + New color data for Canon G11 and Sony A850
2300
+ + Changes in Canon sRAW processing
2301
+ + Changes in Kodak metadata processing
2302
+ + Changes in uncompressed Fuji files processing (FinePix S5xxx)
2303
+ * LibRaw 0.8.5
2304
+
2305
+ 2009-11-21 Alex Tutubalin <lexa@lexa.ru>
2306
+ + Fixed a bug in processing of uncompressed Phase One files
2307
+ * LibRaw 0.8.4
2308
+
2309
+ 2009-10-24 Alex Tutubalin <lexa@lexa.ru>
2310
+ + Imported dcraw 8.98/1.431:
2311
+ * New Cameras: Canon 7D, Panasonic GF1, Sony A850 and A380,
2312
+ Casio Z850, Nikon D300s
2313
+ + changes in libraw_datastream.h to make compilers more happy
2314
+ * LibRaw 0.8.3
2315
+
2316
+ 2009-09-02 Alex Tutubalin <lexa@lexa.ru>
2317
+ + Fixed bug in Hasselblad .3FR unpacking code
2318
+ * Imported dcraw 8.97/1.428: Nikon D3000 image width fix
2319
+ * LibRaw 0.8.2
2320
+
2321
+ 2009-08-31 Alex Tutubalin <lexa@lexa.ru>
2322
+ + Enum LibRaw_thumbnail_formats (LIBRAW_IMAGE_*) values changed to
2323
+ match values in enum LibRaw_image_formats (LIBRAW_THUMBNAIL_*).
2324
+ You need to recompile all sources using these constants.
2325
+
2326
+ 2009-08-30 Alex Tutubalin <lexa@lexa.ru>
2327
+ * Imported dcraw 8.97/1.427:
2328
+ + new cameras: Canon A470, Canon G11 (without color data),
2329
+ Nikon D3000, Olympus E-P1, Panasonic DMC-FZ35/FZ38
2330
+ + some changes in decoding code.
2331
+ * Fixes for Microsoft Visual C++ 6.0 compatibility
2332
+ * C-API dcraw_make_mem_thumb() call finally exported in API
2333
+ * LibRaw 0.8.1
2334
+
2335
+ 2009-08-24 Alex Tutubalin <lexa@lexa.ru>
2336
+ * Imported dcraw 8.96/1.426
2337
+ + New cameras: Casio EX-Z60 and EX-Z75, Kodak Z980,
2338
+ Nikon D5000, Olympus X200, D560Z,C350Z,E620,
2339
+ Pentax K7, Sony A330.
2340
+ + New color data for many cameras
2341
+ + Generalized unpacker code for Canon and Casio P&S cameras
2342
+ * LibRaw 0.8.0-Release
2343
+
2344
+ 2009-08-13 Alex Tutubalin <lexa@lexa.ru>
2345
+ * RAW files larger than 2Gb are supported on:
2346
+ - Unix (all supported: FreeBSD, MacOS X, Linux)
2347
+ - Windows (with C runtime version >= 8.0)
2348
+ * bzero replaced with memset to make Solaris users happy
2349
+ * All applications on 32-bit systems should be recompiled
2350
+ due to data structures size changes.
2351
+ * Minor fixes in windows makefile
2352
+ * LibRaw 0.8.0-Beta5
2353
+
2354
+ 2009-07-21 Alex Tutubalin <lexa@lexa.ru>
2355
+ * Imported dcraw 8.95 (1.425):
2356
+ + new huffman tree code
2357
+ + New cameras supported: AGFAPHOTO DC-833m, Casio EX-S20,
2358
+ Phase One P65, Samsung S850
2359
+ + Removed hardcoded white-balance data for many P&S cameras.
2360
+ It is recommended to set params.use_camera_wb to 1 for
2361
+ safe WB.
2362
+ * Fixes for Nikon D5000 files: no pink stripe at
2363
+ right side of frame
2364
+ * C-wrapper: added missed calls
2365
+ libraw_dcraw_make_mem_image
2366
+ libraw_dcraw_ make_mem_thumb
2367
+ * Minor fixes to make non-gcc compilers more happy
2368
+ * Internal structures changed, full recompilation of all client
2369
+ code is needed.
2370
+ * LibRaw 0.8.0-Beta4
2371
+
2372
+ 2009-06-08 Alex Tutubalin <lexa@lexa.ru>
2373
+ * Fixes: gamma curve processing was not performed in
2374
+ dcraw_write_mem_image()
2375
+ * Fixes: gamma curve processing was not performed for
2376
+ Kodak thumbnails
2377
+ * LibRaw 0.8.0-Beta3
2378
+
2379
+ 2009-06-05 Alex Tutubalin <lexa@lexa.ru>
2380
+ * Fixes in documentation: params.gamm[] described more precisely
2381
+ * Fixes in version number, 0.8-beta1 was mistakenly 0.0.0-beta1
2382
+ * LibRaw 0.8.0-Beta2
2383
+
2384
+ 2009-06-04 Alex Tutubalin <lexa@lexa.ru>
2385
+ * Imported dcraw 8.94 (1.423):
2386
+ + New camera support:
2387
+ Canon: SX1, 500D/Rebel T1i, A570, A590, SX110
2388
+ Kodak Z1015, Motorola PIXL, Olympus E30, Panasonic DMC-GH1
2389
+ + Improved color data for Nikon D3X
2390
+ + New gamma curve model
2391
+ + Many changes in RAW unpacking code
2392
+ + Canon cameras: black level is not subtracted if set
2393
+ params.document_mode > 1
2394
+
2395
+ * API changed: params.gamma_16bit field removed. Gamma curve is
2396
+ set via params.gamm[0]/gamm[1] values (see documentation and
2397
+ samples for details)
2398
+ * LibRaw::identify() split to avoid MS VS2008 bug (too many
2399
+ nested blocks)
2400
+
2401
+ * Samples: dcraw_emu and mem_image samples supports new dcraw
2402
+ 16bit/gamma semantics:
2403
+ -6: set 16 bit output
2404
+ -4: set 16 bit output and linear gamma curve and no auto
2405
+ brightness
2406
+ * LibRaw 0.8.0-Beta1
2407
+
2408
+ 2009-04-28 Alex Tutubalin <lexa@lexa.ru>
2409
+ * Identify sample renamed to raw-identify (name conflict
2410
+ with ImageMagic)
2411
+ * Copyright notice changes
2412
+ * Many compiler warnings removed
2413
+
2414
+ 2009-04-07 Alex Tutubalin <lexa@lexa.ru>
2415
+ * More accurate types conversion in libraw_datastream.h
2416
+ * New postprocessing parameter auto_bright_thr: set portion of
2417
+ clipped pixels for auto brightening code (instead of
2418
+ dcraw-derived hardcoded 1%)
2419
+ * -U option for dcraw_emu sample sets auto_bright_thr parameter
2420
+ * all client code should be recompiled due to structures size
2421
+ change
2422
+ * LibRaw 0.7.2-Release
2423
+
2424
+ 2009-03-22 Alex Tutubalin <lexa@lexa.ru>
2425
+ * Fixed typo in OpenMP support code
2426
+ * MinGW support
2427
+ * dcraw source is included in distribution
2428
+ * LibRaw 0.7.1-Release
2429
+
2430
+ 2009-03-15 Alex Tutubalin <lexa@lexa.ru>
2431
+ * Fuji SuperCCD RAWs: color channels unshuffled on RAW
2432
+ read stage (moved from postprocessing stage)
2433
+
2434
+ * LibRaw 0.7.0-Release
2435
+
2436
+ 2009-03-13 Alex Tutubalin <lexa@lexa.ru>
2437
+ * dcraw 8.93/1.421 imported:
2438
+ + more accurate pentax dSLR support
2439
+ + fixes in Kodak 620x/720x identification
2440
+ + faster identification procedure for some formats.
2441
+ * LibRaw 0.7.0-Beta5
2442
+
2443
+
2444
+ 2009-03-08 Alex Tutubalin <lexa@lexa.ru>
2445
+ * dcraw 8.92/1.420 imported:
2446
+ + user-specified gamma curve
2447
+ + Pentax K2000/Km support
2448
+ + Changes in Canon sRAW processing (support for 5D2 fw 1.07)
2449
+
2450
+ * all client code should be recompiled
2451
+
2452
+ * LibRaw 0.7.0-Beta4
2453
+
2454
+ 2009-02-13 Alex Tutubalin <lexa@lexa.ru>
2455
+ * bugfix: 4channels sample finally subtracts black by default
2456
+ * dcraw 8.91/1.419 imported:
2457
+ + fixes in RIFF files parsing
2458
+
2459
+ * LibRaw 0.7.0-Beta3
2460
+
2461
+ 2009-02-12 Alex Tutubalin <lexa@lexa.ru>
2462
+ * Black level was not calculated for Canon RAWs in
2463
+ some filtering modes
2464
+
2465
+ * 4channels sample prints calculated black level
2466
+ (scaled if autoscaling used).
2467
+ Also output file names for this sample now includes
2468
+ color channel name (R/G/B/G2 or C/M/Y/G)
2469
+
2470
+ * LibRaw 0.7.0-Beta2
2471
+
2472
+ 2009-02-09 Alex Tutubalin <lexa@lexa.ru>
2473
+ * New sample 4channels: splits RAW color channels into four
2474
+ separate TIFFs
2475
+
2476
+ * LibRaw 0.7.0-Beta1
2477
+
2478
+ 2009-02-07 Alex Tutubalin <lexa@lexa.ru>
2479
+ * Fixed bug in external jpeg metadata reading code.
2480
+
2481
+ * Cleaned some C++ warnings
2482
+
2483
+ * dcraw 8.91/1.418 imported
2484
+ + Hasselblad V96C support
2485
+
2486
+ * You need to clean and recompile client code which
2487
+ uses LibRaw_*_datastream classes.
2488
+
2489
+ * LibRaw 0.7.0-Alpha6
2490
+
2491
+ 2009-01-30 Alex Tutubalin <lexa@lexa.ru>
2492
+
2493
+ * New data input framework is created. It is possible now to
2494
+ easyly implement your own data input interface for LibRaw
2495
+ (e.g. for reading RAW data from network data stream)
2496
+
2497
+ * All older programs using previous LibRaw versions are
2498
+ compatible at source code level.
2499
+
2500
+ * LibRaw can read RAW data from memory buffer via
2501
+ new LibRaw::open_buffer() API call (implemented on top of
2502
+ new input framework).
2503
+ This call used in sample application dcraw_emu and simple_dcraw
2504
+ (with -B command-line switch) to test new API.
2505
+
2506
+ * Error handling callback functions now can be called with
2507
+ NULL filename passed (if underlying data stream object
2508
+ does not know file name).
2509
+ So, client error handling callbacks should work with NULL
2510
+ filename.
2511
+
2512
+ * All client code should be recompiled
2513
+
2514
+ * Imported dcraw 8.90/1.417:
2515
+ + Support for loading White Balance data from
2516
+ Sony ARW files edited with Sony IDC software.
2517
+
2518
+ * LibRaw 0.7.0-Alpha5
2519
+
2520
+ 2009-01-17 Alex Tutubalin <lexa@lexa.ru>
2521
+ * Raw filtering mode LIBRAW_FILTERING_NOPOSTPROCESS has renamed
2522
+ to LIBRAW_FILTERING_NORAWCURVE for better reflect its purpose.
2523
+ This filtering_mode bit turns off tone curve applying on
2524
+ RAW data on bayer-pattern cameras with raw tone curve:
2525
+ + Adobe DNG (only RAW with bayer pattern)
2526
+ + Nikon compressed NEF
2527
+ + Some Kodak cameras
2528
+ + Sony A700/A900 (tone curve applied to 8-bit raws)
2529
+
2530
+ * unprocessed_raw sample: added command-line key -N, this key
2531
+ turns on LIBRAW_FILTERING_NORAWCURVE filtering mode.
2532
+
2533
+ * New scheme of Fuji RAW processing (introduced in 0.7-Alpha3)
2534
+ supports DNG files generated from Fuji RAF.
2535
+
2536
+ * Imported dcraw 8.90/1.416:
2537
+ + better support for Samsung S85
2538
+ + fixed possible integer overflow in wavelet denoising code
2539
+
2540
+ * LibRaw 0.7.0-Alpha4
2541
+
2542
+
2543
+ 2009-01-14 Alex Tutubalin <lexa@lexa.ru>
2544
+ * Black mask extraction supported for all files with bayer data
2545
+ (one component per pixel). Black mask data not available
2546
+ for multi-component data (Foveon, Canon sRAW, Sinar 4-shot,
2547
+ Kodak YCC/YRGB).
2548
+
2549
+ * Black level subtraction can be turned off for all bayer
2550
+ cameras (added support for PhaseOne backs).
2551
+
2552
+ * Fujifilm camera processing model changed:
2553
+ + RAW data is extracted without 45-degree rotation
2554
+ + dcraw-compatible rotation is performed on postptocessing stage
2555
+ + it is possible to rotate RAW data without postprocessing
2556
+ by LibRaw::rotate_fuji_raw() call.
2557
+
2558
+ * New filtering mode setting: LIBRAW_FILTERING_NOPOSTPROCESS
2559
+ This bits turns off RAW tone curve processing based on tone curve
2560
+ readed from RAW metadata.
2561
+ This mode supported only for PhaseOne backs now (to be supported
2562
+ on all relevant cameras in nearest future releases)
2563
+
2564
+ * Black level data (got from RAW data) are stored for PhaseOne backs.
2565
+
2566
+ * Black level subtraction bug (derived from dcraw) fixed
2567
+ for PhaseOne files.
2568
+
2569
+ * Fixed processing of -s parameter for dcraw_emu sample
2570
+
2571
+ * Parameter -s N (select shot number) added to
2572
+ unprocessed_raw sample.
2573
+
2574
+ * Imported dcraw 8.90/1.414:
2575
+ + changes in QuickTake 100 metadata processing
2576
+ + changes in external jpeg processing code
2577
+ + Samsung S85 support
2578
+
2579
+ * All client code should be recompiled
2580
+
2581
+ * LibRaw 0.7.0-Alpha3 released
2582
+
2583
+ 2009-01-10 Alex Tutubalin <lexa@lexa.ru>
2584
+ * Fixed bug in add_masked_borders: crash if output dimensions
2585
+ is already larger than raw dimensions
2586
+ * Fixed out of bounds in samples/unprocessed_raw.cpp for files
2587
+ with non-square pixels
2588
+
2589
+ * LibRaw 0.7.0-Alpha2 released
2590
+
2591
+ 2009-01-08 Alex Tutubalin <lexa@lexa.ru>
2592
+ * Fixed bug in 0.7.0-a0: black frame size has not reset,
2593
+ so in batch processing there is an error in black frame
2594
+ size for files without black frame.
2595
+
2596
+ * Implemented reading of black/masked pixels data for
2597
+ near all cameras with masked pixels, exclding:
2598
+ + Canon sRAW, Leaf (MOS), Sinar 4-shot - more than one
2599
+ color component in black frame (redesign of black frame
2600
+ data structures required).
2601
+ + Fuji SuperCCD: need to design right methods of extraction
2602
+ (should we rotate and resize black pixels as active ones??)
2603
+
2604
+ * Tested for most dSLR data formats with masked pixels: 7 of 9
2605
+ untested formats are from old P&S cameras.
2606
+
2607
+ * New call LibRaw::unpack_function_name() returns unpack function name
2608
+ (useful for testers only)
2609
+
2610
+ * New identify sample parameters (useful for test-suite builders
2611
+ to check test coverage):
2612
+ -u - print unpack function name
2613
+ -f - print masked frame size
2614
+ These parameters works only for identify run without -v parameter
2615
+
2616
+ * Imported dcraw 8.89/1.411
2617
+ + changes in Panasonic FZ50 files parsing
2618
+
2619
+ * LibRaw 0.7.0-Alpha1 released
2620
+
2621
+
2622
+ 2009-01-05 Alex Tutubalin <lexa@lexa.ru>
2623
+ * It is possible to turn off RAW data filtration (black level
2624
+ subtraction, zero pixels averaging):
2625
+ + supported on all cameras except Foveon and Phase One
2626
+ + filtraction controlled by new parameter "filtering_mode"
2627
+ + it is possible to expand API by filtering procedures
2628
+ built for specific camera model.
2629
+
2630
+ * Black border (masked pixels) extraction:
2631
+ + API (data structures) for storing black mask.
2632
+ + Black mask extraction supported only for limited list of
2633
+ data formats:
2634
+ - Canon .CRW, .CR2 (with exception of sRAW),A600, A5
2635
+ - Adobe DNG (both converted RAW and native DNG)
2636
+ - Nikon NEF (compressed only)
2637
+ this list to be expanded in future LibRaw versions
2638
+ * New call add_masked_borders_to_bitmap makes full bitmap
2639
+ 'masked border' + image
2640
+ * Usage sample for functionality listed above:
2641
+ samples/unprocessed_raw
2642
+ * Imported dcraw 8.89/1.410:
2643
+ + fixed bugs in Hasselblad .fff decoding
2644
+ + fixes in Imacon metadata decoding
2645
+ * Documentation changes
2646
+ * All client code should be recompiled
2647
+ * LibRaw 0.7.0-Alpha0
2648
+
2649
+
2650
+ 2009-01-01 Alex Tutubalin <lexa@lexa.ru>
2651
+ * Fixed a bug (filedescriptor and buffer memory leak) in thumbnail
2652
+ extraction when called before metadata analysis.
2653
+ Thanks to Albert Astalis Cid.
2654
+ * LibRaw 0.6.4 Release
2655
+
2656
+ 2008-12-11 Alex Tutubalin <lexa@lexa.ru>
2657
+ * Imported new edition of dcraw 8.89 (version 1.409)
2658
+ * Nikon NEF decoding changed
2659
+ * LibRaw 0.6.3 Release
2660
+
2661
+ 2008-12-03 Alex Tutubalin <lexa@lexa.ru>
2662
+ * fixed bug in Panasonic .RW2 processing (only for thread-safe version,
2663
+ single-threaded version was not affected)
2664
+ * All client code should be recompiled
2665
+ * LibRaw 0.6.2 Release
2666
+
2667
+ 2008-12-03 Alex Tutubalin <lexa@lexa.ru>
2668
+ * Imported dcraw 8.89 (version 1.407)
2669
+ * New cameras:
2670
+ Canon G10 & 5D Mk2, Leaf AFi 7, Leica D-LUX4, Panasonic FX150 & G1,
2671
+ Fujifilm IS Pro,
2672
+ * Changed camera support (color conversion tables):
2673
+ Canon 50D, Nikon D90 & P6000, Panasonic LX3 & FZ28, Sony A900
2674
+ * LibRaw 0.6.2 beta
2675
+
2676
+ 2008-09-25 Alex Tutubalin <lexa@lexa.ru>
2677
+ * Added new data field float LibRaw::imgdata.color.cam_xyz[4][3].
2678
+ This field contains constant table (different for each camera) for
2679
+ Camera RGB->XYZ conversion.
2680
+ * All client code should be recompiled
2681
+ * LibRaw 0.6.1 Release
2682
+
2683
+ 2008-09-18 Alex Tutubalin <lexa@lexa.ru>
2684
+ * dcraw 8.88 imported:
2685
+ - new cameras (Canon 50D, Sony A900, Nikon D90 & P6000,
2686
+ Panasonic LX3 FZ28)
2687
+ - new method of black point subtraction for Canon cameras,
2688
+ preliminary banding suppression.
2689
+ * Stack memory usage lowered (some thread data moved to dynamic
2690
+ memory)
2691
+ * some patches for MSVC compatibility
2692
+ * LibRaw 0.6.0 Release
2693
+
2694
+ 2008-09-16 Alex Tutubalin <lexa@lexa.ru>
2695
+ * Enum definitions changed to make gcc -pedantic happy
2696
+ * Compiler/preprocessor flags does not affects LibRaw class field set
2697
+ (i.e. structure for thread local storage is always allocated)
2698
+ * Default library compilation mode (i.e. sources imported in another
2699
+ project) is thread-safe
2700
+
2701
+ 2008-09-14 Alex Tutubalin <lexa@lexa.ru>
2702
+ * OpenMP support for most CPU consuming steps of processing:
2703
+ ahd_interpolation. wavelet_denoise
2704
+ 10-30% speed-up of full processing pipe on 2-core CPU
2705
+ OpenMP supported only on gcc (Linux/FreeBSD and Mac OS X)
2706
+
2707
+ * LibRaw 0.6.0-Beta-1
2708
+
2709
+ 2008-09-10 Alex Tutubalin <lexa@lexa.ru>
2710
+ * All set_**handler accepts additional void* pointer, which should point to
2711
+ callback private data. This pointer passed to user callback when it called.
2712
+
2713
+ * LibRaw 0.6.0-alpha5
2714
+
2715
+ * All client code should be recompiled
2716
+
2717
+ 2008-09-10 Alex Tutubalin <lexa@lexa.ru>
2718
+ * New processing stages in enum LibRaw_progress:
2719
+ LIBRAW_PROGRESS_BAD_PIXELS LIBRAW_PROGRESS_DARK_FRAME
2720
+ (reserved stages LIBRAW_PROGRESS_RESERVED_PRE1-PRE2 has removed)
2721
+ * libraw_strprogress() - convert progress code into string
2722
+
2723
+ * Added progress/cancellation user callbacks
2724
+ + new fatal error code: CANCELLED_BY_CALLBACK
2725
+ + sample usage in samples/dcraw_emu.cpp (try run it with -v -v -v opts)
2726
+
2727
+ * LibRaw 0.6.0-alpha4
2728
+
2729
+ * All client code should be recompiled
2730
+
2731
+ 2008-09-08 Alex Tutubalin <lexa@lexa.ru>
2732
+ * ICC-profiles support (same as in dcraw)
2733
+ + input/output profiles (specified as path to 'icc' file or 'embed' for
2734
+ embedded input profile)
2735
+ + additional warnings
2736
+ + LCMS library used
2737
+
2738
+ * support of bad pixel map (caller should specify path to bad pixel file
2739
+ in dcraw-compatible format)
2740
+
2741
+ * dark frame subtraction support (caller should supply path to 16-bit PGM
2742
+ map). samples/simple_dcraw.cpp - -4 option added for dark frame file
2743
+ generation
2744
+
2745
+ * support of bad pixeld map (dcraw-compatible format)
2746
+
2747
+ * the dcraw_emu sample supports all new features (ICC, dark frame, bad
2748
+ pixels)
2749
+
2750
+ * libraw/libraw_version.h, defines, calls and macros for version checks:
2751
+ + LibRaw::version(), LibRaw::versionNumber(), LIBRAW_CHECK_VERSION()
2752
+
2753
+ * List of supported cameras:
2754
+ + LibRaw::cameraCount()
2755
+ + LibRaw::cameraList()
2756
+
2757
+ * fixed error in adjust_sizes_info_only
2758
+
2759
+ * documentation changes
2760
+
2761
+ * LibRaw 0.6.0-alpha3
2762
+
2763
+ 2008-09-07 Alex Tutubalin <lexa@lexa.ru>
2764
+ * samples/mem_image.c - bitwise equal output with dcraw -4
2765
+ (PPMs outputted with network byte order)
2766
+ * LibRaw 0.6.0-alpha2
2767
+
2768
+ 2008-09-06 Alex Tutubalin <lexa@lexa.ru>
2769
+ * Added calls dcraw_make_mem_image and dcraw_make_mem_image:
2770
+ + functions (and supporting code)
2771
+ + documentation changed
2772
+ + new sample code samples/mem_image.cpp
2773
+ * Added processing parameter LibRaw::imgdata.params.gamma_16bit
2774
+ (set to 1 to make gamma correction for 16-bit output)
2775
+ * LibRaw 0.6.0-alpha1
2776
+
2777
+ 2008-08-28 Alex Tutubalin <lexa@lexa.ru>
2778
+ * dcraw 1.404 (8.87) imported:
2779
+ - 6 new cameras supported (Canon 1000D, A720, SD300;
2780
+ Nikon D700, Oly E-520,Kodak C603)
2781
+ * Licensing changed to GPL v2
2782
+
2783
+ 2008-05-02 Alex Tutubalin <lexa@lexa.ru>
2784
+ * mmap/malloc+read IO-layer removed due to no performance gain.
2785
+ FILE I/O returned
2786
+
2787
+ 2008-05-02 Alex Tutubalin <lexa@lexa.ru>
2788
+ * dcraw 1.403 imported
2789
+ - changes in ljpeg decompression (index values cut to 12 bit)
2790
+ - changes in parse_foveon() jpeg thumbnail extraction
2791
+ * LibRaw 0.5.3 released
2792
+
2793
+ 2008-04-24 Alex Tutubalin <lexa@lexa.ru>
2794
+ * Linux build of samples/identify fixed
2795
+ * documentation editorial
2796
+ * LibRaw 0.5.2 released
2797
+
2798
+ 2008-04-21 Alex Tutubalin <lexa@lexa.ru>
2799
+ * All documentation translated to English
2800
+ * English changelog started :)
2801
+ * minor bug (include path) fixed in samples/half_mt
2802
+ * LibRaw 0.5.1 released