exiftool_vendored 9.37.0 → 9.41.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of exiftool_vendored might be problematic. Click here for more details.

Files changed (889) hide show
  1. checksums.yaml +6 -14
  2. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/Changes +74 -0
  3. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/MANIFEST +14 -0
  4. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/META.yml +1 -1
  5. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/Makefile.PL +0 -0
  6. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/README +30 -30
  7. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/exif2iptc.args +0 -0
  8. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/exif2xmp.args +0 -0
  9. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/gps2xmp.args +0 -0
  10. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptc2exif.args +0 -0
  11. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptc2xmp.args +0 -0
  12. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptcCore.args +0 -0
  13. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/pdf2xmp.args +0 -0
  14. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2exif.args +0 -0
  15. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2gps.args +0 -0
  16. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2iptc.args +0 -0
  17. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2pdf.args +0 -0
  18. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/config_files/ExifTool_config +0 -0
  19. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/config_files/convert_regions.config +0 -0
  20. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/exiftool +266 -226
  21. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/gpx.fmt +0 -0
  22. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/gpx_wpt.fmt +0 -0
  23. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/kml.fmt +0 -0
  24. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/ExifTool.html +79 -54
  25. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/MIE1.1-20070121.pdf +0 -0
  26. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/Shift.html +0 -0
  27. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/AFCP.html +0 -0
  28. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/AIFF.html +0 -0
  29. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/APE.html +0 -0
  30. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/APP12.html +0 -0
  31. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ASF.html +0 -0
  32. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Apple.html +11 -8
  33. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/BMP.html +0 -0
  34. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Canon.html +138 -14
  35. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonCustom.html +0 -0
  36. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonRaw.html +0 -0
  37. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonVRD.html +0 -0
  38. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Casio.html +0 -0
  39. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Composite.html +19 -13
  40. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DICOM.html +0 -0
  41. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DNG.html +0 -0
  42. data/bin/Image-ExifTool-9.41/html/TagNames/DPX.html +190 -0
  43. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DV.html +0 -0
  44. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DarwinCore.html +0 -0
  45. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DjVu.html +0 -0
  46. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/EXE.html +0 -0
  47. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/EXIF.html +0 -0
  48. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Extra.html +13 -6
  49. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FLAC.html +0 -0
  50. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FLIR.html +166 -2
  51. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Flash.html +0 -0
  52. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FlashPix.html +0 -0
  53. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Font.html +0 -0
  54. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FotoStation.html +0 -0
  55. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FujiFilm.html +11 -1
  56. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GE.html +0 -0
  57. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GIF.html +0 -0
  58. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GIMP.html +0 -0
  59. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GPS.html +0 -0
  60. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GeoTiff.html +0 -0
  61. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/H264.html +0 -0
  62. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/HP.html +0 -0
  63. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/HTML.html +0 -0
  64. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ICC_Profile.html +0 -0
  65. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ID3.html +0 -0
  66. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/IPTC.html +3 -3
  67. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ITC.html +0 -0
  68. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JFIF.html +0 -0
  69. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JPEG.html +6 -4
  70. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JVC.html +0 -0
  71. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Jpeg2000.html +0 -0
  72. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Kodak.html +0 -0
  73. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/KyoceraRaw.html +0 -0
  74. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/LNK.html +0 -0
  75. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Leaf.html +0 -0
  76. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/M2TS.html +0 -0
  77. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MIE.html +0 -0
  78. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MIFF.html +0 -0
  79. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MNG.html +0 -0
  80. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPC.html +0 -0
  81. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPEG.html +0 -0
  82. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPF.html +0 -0
  83. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MWG.html +0 -0
  84. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MXF.html +0 -0
  85. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Matroska.html +0 -0
  86. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Microsoft.html +0 -0
  87. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Minolta.html +30 -19
  88. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MinoltaRaw.html +0 -0
  89. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Nikon.html +81 -60
  90. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/NikonCapture.html +0 -0
  91. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/NikonCustom.html +0 -0
  92. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/OOXML.html +0 -0
  93. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Ogg.html +0 -0
  94. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Olympus.html +0 -0
  95. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/OpenEXR.html +0 -0
  96. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PDF.html +6 -6
  97. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PGF.html +0 -0
  98. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PICT.html +0 -0
  99. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PLIST.html +0 -0
  100. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PNG.html +25 -18
  101. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PSP.html +0 -0
  102. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Panasonic.html +51 -14
  103. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PanasonicRaw.html +0 -0
  104. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Pentax.html +23 -6
  105. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhaseOne.html +0 -0
  106. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhotoCD.html +0 -0
  107. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhotoMechanic.html +0 -0
  108. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Photoshop.html +0 -0
  109. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PostScript.html +0 -0
  110. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PrintIM.html +0 -0
  111. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Qualcomm.html +0 -0
  112. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/QuickTime.html +404 -126
  113. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RIFF.html +19 -13
  114. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RSRC.html +0 -0
  115. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RTF.html +0 -0
  116. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Radiance.html +0 -0
  117. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Rawzor.html +0 -0
  118. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Real.html +0 -0
  119. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Reconyx.html +0 -0
  120. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Ricoh.html +0 -0
  121. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Samsung.html +27 -1
  122. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sanyo.html +0 -0
  123. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Scalado.html +0 -0
  124. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Shortcuts.html +0 -0
  125. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sigma.html +0 -0
  126. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/SigmaRaw.html +0 -0
  127. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sony.html +491 -121
  128. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/SonyIDC.html +0 -0
  129. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Stim.html +0 -0
  130. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Theora.html +0 -0
  131. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Torrent.html +0 -0
  132. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Unknown.html +0 -0
  133. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Vorbis.html +0 -0
  134. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/XMP.html +824 -175
  135. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ZIP.html +0 -0
  136. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/iWork.html +0 -0
  137. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/index.html +7 -5
  138. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/style.css +0 -0
  139. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/ancient_history.html +201 -0
  140. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/canon_raw.html +0 -0
  141. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/commentary.html +0 -0
  142. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/config.html +0 -0
  143. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/data_members.html +9 -0
  144. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/exiftool_pod.html +92 -71
  145. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/faq.html +0 -0
  146. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/filename.html +0 -0
  147. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/geotag.html +13 -9
  148. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/history.html +82 -201
  149. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/htmldump.html +0 -0
  150. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/idiosyncracies.html +4 -2
  151. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/index.html +46 -35
  152. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/install.html +0 -0
  153. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/metafiles.html +0 -0
  154. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/overview.png +0 -0
  155. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/standards.html +0 -0
  156. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/struct.html +0 -0
  157. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/style.css +0 -0
  158. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/under.html +0 -0
  159. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/verbose.html +0 -0
  160. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/writing.html +0 -0
  161. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/File/RandomAccess.pm +0 -0
  162. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/File/RandomAccess.pod +0 -0
  163. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool.pm +387 -331
  164. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool.pod +101 -81
  165. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AES.pm +0 -0
  166. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AFCP.pm +14 -14
  167. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AIFF.pm +17 -17
  168. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/APE.pm +18 -18
  169. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/APP12.pm +21 -21
  170. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ASF.pm +48 -48
  171. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Apple.pm +31 -19
  172. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BMP.pm +4 -4
  173. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BZZ.pm +0 -0
  174. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BigTIFF.pm +36 -36
  175. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BuildTagLookup.pm +12 -12
  176. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Canon.pm +126 -38
  177. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonCustom.pm +37 -37
  178. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonRaw.pm +30 -30
  179. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonVRD.pm +75 -75
  180. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CaptureOne.pm +18 -18
  181. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Casio.pm +0 -0
  182. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset.pm +13 -13
  183. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  184. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  185. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  186. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  187. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  188. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  189. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  190. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  191. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  192. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  193. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  194. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  195. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  196. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  197. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  198. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  199. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  200. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  201. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  202. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  203. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  204. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  205. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  206. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  207. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  208. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  209. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  210. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  211. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  212. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  213. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DICOM.pm +56 -17
  214. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DNG.pm +85 -85
  215. data/bin/Image-ExifTool-9.41/lib/Image/ExifTool/DPX.pm +151 -0
  216. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DV.pm +6 -6
  217. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DarwinCore.pm +0 -0
  218. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DjVu.pm +14 -14
  219. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/EXE.pm +47 -47
  220. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Exif.pm +126 -116
  221. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FLAC.pm +14 -14
  222. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FLIR.pm +282 -22
  223. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Fixup.pm +0 -0
  224. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Flash.pm +41 -41
  225. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FlashPix.pm +97 -97
  226. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Font.pm +46 -46
  227. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FotoStation.pm +21 -20
  228. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FujiFilm.pm +40 -38
  229. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GE.pm +0 -0
  230. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GIF.pm +32 -32
  231. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GIMP.pm +11 -11
  232. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GPS.pm +3 -3
  233. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GeoTiff.pm +19 -19
  234. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Geotag.pm +69 -66
  235. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/H264.pm +42 -42
  236. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HP.pm +9 -9
  237. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HTML.pm +16 -16
  238. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HtmlDump.pm +10 -10
  239. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ICC_Profile.pm +48 -48
  240. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ID3.pm +84 -84
  241. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/IPTC.pm +38 -38
  242. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ITC.pm +11 -11
  243. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Import.pm +0 -0
  244. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/InDesign.pm +18 -18
  245. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JPEG.pm +10 -6
  246. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JPEGDigest.pm +4 -4
  247. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JVC.pm +8 -8
  248. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Jpeg2000.pm +50 -58
  249. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Kodak.pm +15 -15
  250. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/KyoceraRaw.pm +4 -4
  251. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/LNK.pm +24 -24
  252. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/cs.pm +0 -0
  253. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/de.pm +0 -0
  254. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/en_ca.pm +0 -0
  255. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/en_gb.pm +0 -0
  256. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/es.pm +0 -0
  257. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/fi.pm +0 -0
  258. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/fr.pm +1 -1
  259. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/it.pm +0 -0
  260. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ja.pm +0 -0
  261. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ko.pm +0 -0
  262. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/nl.pm +0 -0
  263. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/pl.pm +0 -0
  264. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ru.pm +0 -0
  265. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/sv.pm +0 -0
  266. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/tr.pm +0 -0
  267. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/zh_cn.pm +0 -0
  268. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/zh_tw.pm +0 -0
  269. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Leaf.pm +11 -11
  270. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/M2TS.pm +37 -37
  271. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIE.pm +95 -95
  272. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIEUnits.pod +0 -0
  273. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIFF.pm +17 -17
  274. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MNG.pm +0 -0
  275. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPC.pm +11 -11
  276. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPEG.pm +28 -28
  277. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPF.pm +22 -22
  278. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MWG.pm +9 -9
  279. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MXF.pm +46 -46
  280. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MakerNotes.pm +61 -59
  281. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Matroska.pm +27 -27
  282. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Microsoft.pm +8 -8
  283. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Minolta.pm +50 -28
  284. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MinoltaRaw.pm +17 -17
  285. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Nikon.pm +80 -63
  286. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/NikonCapture.pm +29 -29
  287. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/NikonCustom.pm +0 -0
  288. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/OOXML.pm +20 -20
  289. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Ogg.pm +19 -19
  290. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Olympus.pm +3 -3
  291. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/OpenEXR.pm +16 -16
  292. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PDF.pm +126 -126
  293. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PGF.pm +7 -7
  294. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PICT.pm +18 -18
  295. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PLIST.pm +39 -39
  296. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PNG.pm +141 -95
  297. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PPM.pm +11 -11
  298. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PSP.pm +14 -14
  299. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Panasonic.pm +82 -37
  300. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PanasonicRaw.pm +40 -40
  301. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Pentax.pm +86 -14
  302. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhaseOne.pm +36 -36
  303. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhotoCD.pm +4 -4
  304. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhotoMechanic.pm +12 -12
  305. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Photoshop.pm +23 -23
  306. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PostScript.pm +36 -36
  307. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PrintIM.pm +10 -10
  308. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Qualcomm.pm +5 -5
  309. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/QuickTime.pm +528 -219
  310. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/README +5 -3
  311. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RIFF.pm +40 -32
  312. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RSRC.pm +15 -15
  313. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RTF.pm +15 -15
  314. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Radiance.pm +9 -9
  315. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Rawzor.pm +19 -19
  316. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Real.pm +43 -43
  317. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Reconyx.pm +0 -0
  318. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Ricoh.pm +24 -24
  319. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Samsung.pm +41 -15
  320. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sanyo.pm +0 -0
  321. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Scalado.pm +5 -5
  322. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Shift.pl +0 -0
  323. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Shortcuts.pm +0 -0
  324. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sigma.pm +0 -0
  325. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/SigmaRaw.pm +56 -56
  326. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sony.pm +450 -166
  327. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/SonyIDC.pm +9 -9
  328. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Stim.pm +0 -0
  329. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagInfoXML.pm +6 -4
  330. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagLookup.pm +1707 -1468
  331. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagNames.pod +568 -102
  332. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Theora.pm +0 -0
  333. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Torrent.pm +11 -11
  334. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Unknown.pm +0 -0
  335. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Vorbis.pm +5 -5
  336. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteCanonRaw.pl +51 -51
  337. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteExif.pl +273 -273
  338. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteIPTC.pl +44 -44
  339. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePDF.pl +45 -39
  340. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePNG.pl +86 -40
  341. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePhotoshop.pl +27 -27
  342. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePostScript.pl +47 -47
  343. data/bin/Image-ExifTool-9.41/lib/Image/ExifTool/WriteQuickTime.pl +344 -0
  344. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteXMP.pl +112 -112
  345. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Writer.pl +428 -360
  346. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMP.pm +195 -104
  347. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMP2.pl +1 -0
  348. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMPStruct.pl +53 -52
  349. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ZIP.pm +50 -50
  350. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/iWork.pm +17 -17
  351. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/perl-Image-ExifTool.spec +31 -31
  352. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP.t +0 -0
  353. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP_2.out +0 -0
  354. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP_3.out +0 -0
  355. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AIFF.t +0 -0
  356. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AIFF_2.out +0 -0
  357. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE.t +0 -0
  358. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE_2.out +0 -0
  359. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE_3.out +0 -0
  360. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ASF.t +0 -0
  361. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ASF_2.out +0 -0
  362. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BMP.t +0 -0
  363. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BMP_2.out +0 -0
  364. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BigTIFF.t +0 -0
  365. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BigTIFF_2.out +0 -0
  366. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon.t +0 -0
  367. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw.t +0 -0
  368. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_2.out +0 -0
  369. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_4.out +5 -7
  370. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_5.out +0 -0
  371. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_6.out +0 -0
  372. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_7.out +0 -0
  373. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD.t +0 -0
  374. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_11.out +0 -0
  375. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_12.out +0 -0
  376. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_2.out +0 -0
  377. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_3.out +0 -0
  378. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_4.out +0 -0
  379. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_5.out +0 -0
  380. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_6.out +0 -0
  381. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_7.out +0 -0
  382. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_8.out +0 -0
  383. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_9.out +0 -0
  384. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon_2.out +4 -3
  385. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon_3.out +0 -0
  386. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio.t +0 -0
  387. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_2.out +0 -0
  388. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_3.out +0 -0
  389. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_4.out +0 -0
  390. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_5.out +0 -0
  391. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_6.out +0 -0
  392. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DICOM.t +0 -0
  393. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DICOM_2.out +0 -0
  394. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG.t +0 -0
  395. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG_2.out +0 -0
  396. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG_3.out +0 -0
  397. data/bin/Image-ExifTool-9.41/t/DPX.t +28 -0
  398. data/bin/Image-ExifTool-9.41/t/DPX_2.out +35 -0
  399. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DV.t +0 -0
  400. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DV_2.out +0 -0
  401. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DjVu.t +0 -0
  402. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DjVu_2.out +0 -0
  403. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE.t +0 -0
  404. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_2.out +0 -0
  405. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_3.out +0 -0
  406. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_4.out +0 -0
  407. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool.t +0 -0
  408. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_16.out +0 -0
  409. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_17.out +0 -0
  410. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_2.out +0 -0
  411. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_20.out +0 -0
  412. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_21.out +0 -0
  413. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_22.out +0 -0
  414. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_23.out +0 -0
  415. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_24.out +0 -0
  416. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_25.out +0 -0
  417. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_26.out +0 -0
  418. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_3.out +0 -0
  419. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_4.out +0 -0
  420. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_5.out +0 -0
  421. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_6.out +0 -0
  422. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_7.out +0 -0
  423. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_8.out +0 -0
  424. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_9.out +0 -0
  425. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC.t +0 -0
  426. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC_2.out +0 -0
  427. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC_3.out +0 -0
  428. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR.t +0 -0
  429. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR_2.out +0 -0
  430. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR_3.out +0 -0
  431. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash.t +0 -0
  432. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FlashPix.t +0 -0
  433. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FlashPix_2.out +0 -0
  434. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash_2.out +0 -0
  435. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash_3.out +0 -0
  436. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font.t +0 -0
  437. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_2.out +0 -0
  438. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_3.out +0 -0
  439. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_4.out +0 -0
  440. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_5.out +0 -0
  441. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_6.out +0 -0
  442. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_7.out +0 -0
  443. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation.t +0 -0
  444. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation_2.out +0 -0
  445. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation_3.out +0 -0
  446. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm.t +0 -0
  447. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_2.out +0 -0
  448. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_3.out +0 -0
  449. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_4.out +0 -0
  450. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_5.out +0 -0
  451. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE.t +0 -0
  452. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE_2.out +0 -0
  453. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE_3.out +0 -0
  454. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF.t +0 -0
  455. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_2.out +0 -0
  456. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_3.out +0 -0
  457. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_4.out +0 -0
  458. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIMP.t +0 -0
  459. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIMP_2.out +0 -0
  460. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS.t +0 -0
  461. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS_2.out +0 -0
  462. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS_3.out +0 -0
  463. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff.t +0 -0
  464. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff_2.out +0 -0
  465. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff_3.out +0 -0
  466. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag.t +18 -1
  467. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_2.out +0 -0
  468. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_3.out +0 -0
  469. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_5.out +0 -0
  470. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_6.out +0 -0
  471. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_7.out +0 -0
  472. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_8.out +0 -0
  473. data/bin/Image-ExifTool-9.41/t/Geotag_9.out +7 -0
  474. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/HTML.t +0 -0
  475. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/HTML_2.out +0 -0
  476. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC.t +0 -0
  477. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_2.out +0 -0
  478. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_4.out +0 -0
  479. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_5.out +0 -0
  480. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_6.out +0 -0
  481. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_7.out +0 -0
  482. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_8.out +0 -0
  483. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ITC.t +0 -0
  484. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ITC_2.out +0 -0
  485. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign.t +0 -0
  486. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_2.out +0 -0
  487. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_3.out +0 -0
  488. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_4.out +0 -0
  489. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC.t +0 -0
  490. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC_2.out +0 -0
  491. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC_3.out +0 -0
  492. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000.t +0 -0
  493. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_2.out +0 -0
  494. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_3.out +0 -0
  495. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_4.out +0 -0
  496. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak.t +0 -0
  497. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak_2.out +0 -0
  498. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak_3.out +0 -0
  499. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/KyoceraRaw.t +0 -0
  500. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/KyoceraRaw_2.out +0 -0
  501. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/LNK.t +0 -0
  502. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/LNK_2.out +0 -0
  503. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang.t +0 -0
  504. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_1.out +0 -0
  505. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_10.out +0 -0
  506. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_11.out +0 -0
  507. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_12.out +0 -0
  508. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_13.out +0 -0
  509. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_14.out +0 -0
  510. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_15.out +0 -0
  511. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_16.out +0 -0
  512. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_17.out +0 -0
  513. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_18.out +0 -0
  514. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_2.out +0 -0
  515. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_3.out +0 -0
  516. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_4.out +0 -0
  517. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_5.out +0 -0
  518. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_6.out +0 -0
  519. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_7.out +0 -0
  520. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_8.out +0 -0
  521. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_9.out +0 -0
  522. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/M2TS.t +0 -0
  523. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/M2TS_2.out +0 -0
  524. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE.t +0 -0
  525. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_2.out +0 -0
  526. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_3.out +0 -0
  527. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_5.out +0 -0
  528. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_6.out +0 -0
  529. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIFF.t +0 -0
  530. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIFF_2.out +0 -0
  531. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MP3.t +0 -0
  532. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MP3_2.out +0 -0
  533. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG.t +0 -0
  534. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_2.out +0 -0
  535. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_3.out +0 -0
  536. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_4.out +0 -0
  537. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_5.out +0 -0
  538. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_6.out +0 -0
  539. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MXF.t +0 -0
  540. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MXF_2.out +0 -0
  541. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Matroska.t +0 -0
  542. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Matroska_2.out +0 -0
  543. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta.t +0 -0
  544. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_2.out +0 -0
  545. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_3.out +0 -0
  546. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_4.out +0 -0
  547. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon.t +0 -0
  548. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_2.out +0 -0
  549. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_3.out +0 -0
  550. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_4.out +0 -0
  551. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_5.out +0 -0
  552. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_7.out +0 -0
  553. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_8.out +0 -0
  554. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus.t +0 -0
  555. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_2.out +0 -0
  556. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_3.out +0 -0
  557. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_4.out +0 -0
  558. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_5.out +0 -0
  559. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_6.out +0 -0
  560. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_7.out +0 -0
  561. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/OpenEXR.t +0 -0
  562. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/OpenEXR_2.out +0 -0
  563. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF.t +0 -0
  564. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_10.out +0 -0
  565. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_11.out +0 -0
  566. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_12.out +0 -0
  567. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_14.out +0 -0
  568. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_15.out +0 -0
  569. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_16.out +0 -0
  570. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_17.out +0 -0
  571. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_18.out +0 -0
  572. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_19.out +0 -0
  573. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_2.out +0 -0
  574. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_20.out +0 -0
  575. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_22.out +0 -0
  576. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_4.out +0 -0
  577. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_5.out +0 -0
  578. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_6.out +0 -0
  579. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_7.out +0 -0
  580. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_8.out +0 -0
  581. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_9.out +0 -0
  582. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PGF.t +0 -0
  583. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PGF_2.out +0 -0
  584. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PICT.t +0 -0
  585. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PICT_2.out +0 -0
  586. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST.t +0 -0
  587. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST_2.out +0 -0
  588. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST_3.out +0 -0
  589. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG.t +31 -1
  590. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_2.out +0 -0
  591. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_3.out +0 -0
  592. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_4.out +0 -0
  593. data/bin/Image-ExifTool-9.41/t/PNG_5.out +17 -0
  594. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM.t +0 -0
  595. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM_2.out +0 -0
  596. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM_3.out +0 -0
  597. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PSP.t +0 -0
  598. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PSP_2.out +0 -0
  599. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic.t +0 -0
  600. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_2.out +0 -0
  601. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_3.out +0 -0
  602. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_4.out +0 -0
  603. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_5.out +0 -0
  604. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax.t +0 -0
  605. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_2.out +0 -0
  606. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_3.out +0 -0
  607. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_4.out +0 -0
  608. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoCD.t +0 -0
  609. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoCD_2.out +0 -0
  610. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic.t +0 -0
  611. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic_2.out +0 -0
  612. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic_3.out +0 -0
  613. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop.t +0 -0
  614. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop_2.out +0 -0
  615. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop_3.out +0 -0
  616. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript.t +0 -0
  617. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript_2.out +0 -0
  618. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript_3.out +0 -0
  619. data/bin/Image-ExifTool-9.41/t/QuickTime.t +54 -0
  620. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/QuickTime_2.out +10 -8
  621. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/QuickTime_3.out +10 -8
  622. data/bin/Image-ExifTool-9.41/t/QuickTime_4.out +16 -0
  623. data/bin/Image-ExifTool-9.41/t/QuickTime_5.out +12 -0
  624. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF.t +0 -0
  625. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_2.out +0 -0
  626. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_3.out +0 -0
  627. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_4.out +0 -0
  628. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RTF.t +0 -0
  629. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RTF_2.out +0 -0
  630. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Radiance.t +0 -0
  631. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Radiance_2.out +0 -0
  632. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real.t +0 -0
  633. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_2.out +0 -0
  634. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_3.out +0 -0
  635. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_4.out +0 -0
  636. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh.t +0 -0
  637. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_2.out +0 -0
  638. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_3.out +0 -0
  639. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_4.out +0 -0
  640. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo.t +0 -0
  641. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo_2.out +0 -0
  642. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo_3.out +0 -0
  643. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma.t +0 -0
  644. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_2.out +0 -0
  645. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_3.out +0 -0
  646. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_4.out +0 -0
  647. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_5.out +0 -0
  648. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony.t +0 -0
  649. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_2.out +0 -0
  650. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_3.out +0 -0
  651. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_5.out +0 -0
  652. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/TestLib.pm +0 -0
  653. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Torrent.t +0 -0
  654. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Torrent_2.out +0 -0
  655. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown.t +0 -0
  656. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown_2.out +0 -0
  657. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown_3.out +0 -0
  658. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Vorbis.t +0 -0
  659. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Vorbis_2.out +0 -0
  660. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer.t +53 -1
  661. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_10.out +0 -0
  662. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_11.out +0 -0
  663. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_13.out +0 -0
  664. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_14.out +0 -0
  665. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_15.out +0 -0
  666. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_16.out +0 -0
  667. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_17.out +0 -0
  668. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_18.out +0 -0
  669. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_19.out +0 -0
  670. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_2.out +0 -0
  671. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_22.out +0 -0
  672. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_24.out +0 -0
  673. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_25.out +0 -0
  674. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_26.out +0 -0
  675. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_27.out +0 -0
  676. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_28.out +0 -0
  677. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_29.out +0 -0
  678. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_30.out +0 -0
  679. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_31.out +0 -0
  680. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_32.out +0 -0
  681. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_33.out +0 -0
  682. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_34.out +0 -0
  683. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_35.out +0 -0
  684. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_36.out +0 -0
  685. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_37.out +0 -0
  686. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_38.out +0 -0
  687. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_39.out +0 -0
  688. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_4.out +0 -0
  689. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_40.out +0 -0
  690. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_41.out +0 -0
  691. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_42.out +0 -0
  692. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_43.out +0 -0
  693. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_44.out +0 -0
  694. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_45.out +0 -0
  695. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_46.out +8 -6
  696. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_47.out +0 -0
  697. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_48.out +0 -0
  698. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_50.out +0 -0
  699. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_51.out +0 -0
  700. data/bin/Image-ExifTool-9.41/t/Writer_52.out +22 -0
  701. data/bin/Image-ExifTool-9.41/t/Writer_53.out +33 -0
  702. data/bin/Image-ExifTool-9.41/t/Writer_54.out +2 -0
  703. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_6.out +0 -0
  704. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_7.out +0 -0
  705. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_9.out +0 -0
  706. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP.t +0 -0
  707. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_10.out +0 -0
  708. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_11.out +0 -0
  709. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_12.out +0 -0
  710. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_13.out +0 -0
  711. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_14.out +0 -0
  712. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_15.out +0 -0
  713. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_16.out +0 -0
  714. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_17.out +0 -0
  715. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_18.out +0 -0
  716. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_19.out +0 -0
  717. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_2.out +0 -0
  718. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_20.out +0 -0
  719. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_21.out +0 -0
  720. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_22.out +0 -0
  721. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_23.out +0 -0
  722. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_24.out +0 -0
  723. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_25.out +0 -0
  724. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_26.out +0 -0
  725. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_27.out +0 -0
  726. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_28.out +0 -0
  727. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_29.out +0 -0
  728. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_3.out +0 -0
  729. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_30.out +0 -0
  730. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_31.out +0 -0
  731. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_32.out +0 -0
  732. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_34.out +0 -0
  733. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_36.out +0 -0
  734. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_37.out +0 -0
  735. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_39.out +0 -0
  736. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_40.out +0 -0
  737. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_41.out +0 -0
  738. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_5.out +0 -0
  739. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_6.out +0 -0
  740. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_7.out +0 -0
  741. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_8.out +0 -0
  742. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_9.out +0 -0
  743. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP.t +0 -0
  744. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_2.out +0 -0
  745. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_3.out +0 -0
  746. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_4.out +0 -0
  747. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_5.out +0 -0
  748. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_6.out +0 -0
  749. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_7.out +0 -0
  750. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/AFCP.jpg +0 -0
  751. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/AIFF.aif +0 -0
  752. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/APE.ape +0 -0
  753. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/APE.mpc +0 -0
  754. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ASF.wmv +0 -0
  755. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/BMP.bmp +0 -0
  756. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/BigTIFF.btf +0 -0
  757. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Canon.jpg +0 -0
  758. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Canon1DmkIII.jpg +0 -0
  759. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonRaw.cr2 +0 -0
  760. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonRaw.crw +0 -0
  761. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonVRD.vrd +0 -0
  762. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CaptureOne.eip +0 -0
  763. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Casio.jpg +0 -0
  764. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Casio2.jpg +0 -0
  765. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CasioQVCI.jpg +0 -0
  766. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DICOM.dcm +0 -0
  767. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DNG.dng +0 -0
  768. data/bin/Image-ExifTool-9.41/t/images/DPX.dpx +0 -0
  769. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DV.dv +0 -0
  770. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DjVu.djvu +0 -0
  771. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.elf +0 -0
  772. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.exe +0 -0
  773. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.macho +0 -0
  774. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExifTool.jpg +0 -0
  775. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExifTool.tif +0 -0
  776. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExtendedXMP.jpg +0 -0
  777. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLAC.flac +0 -0
  778. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLAC.ogg +0 -0
  779. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLIR.fpf +0 -0
  780. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLIR.jpg +0 -0
  781. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Flash.flv +0 -0
  782. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Flash.swf +0 -0
  783. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FlashPix.ppt +0 -0
  784. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.afm +0 -0
  785. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.dfont +0 -0
  786. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfa +0 -0
  787. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfb +0 -0
  788. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfm +0 -0
  789. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.ttf +0 -0
  790. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FotoStation.jpg +0 -0
  791. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FujiFilm.jpg +0 -0
  792. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FujiFilm.raf +0 -0
  793. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GE.jpg +0 -0
  794. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GIF.gif +0 -0
  795. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GIMP.xcf +0 -0
  796. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GPS.jpg +0 -0
  797. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GeoTiff.tif +0 -0
  798. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.gpx +0 -0
  799. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.igc +0 -0
  800. data/bin/Image-ExifTool-9.41/t/images/Geotag.kml +55 -0
  801. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.log +0 -0
  802. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.xml +0 -0
  803. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag2.log +0 -0
  804. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/HTML.html +0 -0
  805. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/IPTC.jpg +0 -0
  806. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ITC.itc +0 -0
  807. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/InDesign.indd +0 -0
  808. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/JVC.jpg +0 -0
  809. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/JVC2.jpg +0 -0
  810. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Jpeg2000.j2c +0 -0
  811. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Jpeg2000.jp2 +0 -0
  812. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Kodak.jpg +0 -0
  813. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/KyoceraRaw.raw +0 -0
  814. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/LNK.lnk +0 -0
  815. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/M2TS.mts +0 -0
  816. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MIE.mie +0 -0
  817. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MIFF.miff +0 -0
  818. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MP3.mp3 +0 -0
  819. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MWG.jpg +0 -0
  820. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MXF.mxf +0 -0
  821. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Matroska.mkv +0 -0
  822. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Minolta.jpg +0 -0
  823. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Minolta.mrw +0 -0
  824. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Nikon.jpg +0 -0
  825. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Nikon.nef +0 -0
  826. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/NikonD2Hs.jpg +0 -0
  827. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/NikonD70.jpg +0 -0
  828. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OOXML.docx +0 -0
  829. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Olympus.jpg +0 -0
  830. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Olympus2.jpg +0 -0
  831. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OlympusE1.jpg +0 -0
  832. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OpenDoc.ods +0 -0
  833. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OpenEXR.exr +0 -0
  834. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PDF.pdf +0 -0
  835. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PDF2.pdf +0 -0
  836. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PGF.pgf +0 -0
  837. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PICT.pict +0 -0
  838. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PLIST-bin.plist +0 -0
  839. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PLIST-xml.plist +0 -0
  840. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PNG.png +0 -0
  841. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PPM.ppm +0 -0
  842. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PSP.psp +0 -0
  843. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Panasonic.jpg +0 -0
  844. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Panasonic.rw2 +0 -0
  845. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Pentax.avi +0 -0
  846. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Pentax.jpg +0 -0
  847. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PhotoCD.pcd +0 -0
  848. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PhotoMechanic.jpg +0 -0
  849. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Photoshop.psd +0 -0
  850. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PostScript.eps +0 -0
  851. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/QuickTime.m4a +0 -0
  852. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/QuickTime.mov +0 -0
  853. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.avi +0 -0
  854. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.wav +0 -0
  855. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.webp +0 -0
  856. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RTF.rtf +0 -0
  857. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Radiance.hdr +0 -0
  858. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.ra +0 -0
  859. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.ram +0 -0
  860. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.rm +0 -0
  861. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Ricoh.jpg +0 -0
  862. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Ricoh2.jpg +0 -0
  863. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sanyo.jpg +0 -0
  864. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sigma.jpg +0 -0
  865. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sigma.x3f +0 -0
  866. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/SigmaDP2.x3f +0 -0
  867. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sony.jpg +0 -0
  868. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sony.pmp +0 -0
  869. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Torrent.torrent +0 -0
  870. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Unknown.jpg +0 -0
  871. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Vorbis.ogg +0 -0
  872. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Writer.jpg +0 -0
  873. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.inx +0 -0
  874. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.jpg +0 -0
  875. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.svg +0 -0
  876. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.xml +0 -0
  877. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.xmp +0 -0
  878. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP2.xmp +0 -0
  879. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP3.xmp +0 -0
  880. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP4.xmp +0 -0
  881. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP5.xmp +0 -0
  882. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ZIP.gz +0 -0
  883. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ZIP.zip +0 -0
  884. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/iWork.numbers +0 -0
  885. data/lib/exiftool_vendored.rb +11 -3
  886. data/lib/exiftool_vendored/version.rb +1 -1
  887. data/lib/exiftool_vendored/version_extractor.rb +5 -7
  888. metadata +942 -886
  889. data/bin/Image-ExifTool-9.37/t/QuickTime.t +0 -31
@@ -19,6 +19,7 @@
19
19
  # 12) Jos Roost private communication (A580)
20
20
  # 13) http://www.mi-fo.de/forum/index.php?showtopic=33239
21
21
  # http://www.dyxum.com/dforum/the-alpha-shutter-count-tool_topic97489_page4.html
22
+ # 14) Iliah Borg private communication
22
23
  # JD) Jens Duttke private communication
23
24
  #------------------------------------------------------------------------------
24
25
 
@@ -30,7 +31,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
30
31
  use Image::ExifTool::Exif;
31
32
  use Image::ExifTool::Minolta;
32
33
 
33
- $VERSION = '1.93';
34
+ $VERSION = '1.96';
34
35
 
35
36
  sub ProcessSRF($$$);
36
37
  sub ProcessSR2($$$);
@@ -53,7 +54,12 @@ sub MakeTiffHeader($$$$;$);
53
54
  my %sonyLensTypes2 = (
54
55
  Notes => 'Lens type numbers for Sony E-Mount lenses used by NEX models.',
55
56
  0 => 'Unknown E-Mount lens or other lens',
56
- 1 => 'A-Mount lens',
57
+ 1 => 'Sony LA-EA1 Adapter',
58
+ 2 => 'Sony LA-EA2 Adapter',
59
+ 3 => 'Sony LA-EA3 Adapter', #(NC) ILCE-7 image with A-mount lens, but also has 0x940e 2nd byte=2
60
+ 6 => 'Sony LA-EA4 Adapter', #(NC) ILCE-7R image with A-mount lens and having phase-detect info blocks in 0x940e AFInfo
61
+ 44 => 'Metabones Canon EF Smart Adapter', # (NC) ILCE-7R with Zeiss Otus 55mm F1.4 ZE via Metabones Smart Adapter
62
+ 239 => 'Metabones Canon EF Speed Booster',# 12
57
63
  32784 => 'Sony E 16mm F2.8',
58
64
  32785 => 'Sony E 18-55mm F3.5-5.6 OSS',
59
65
  32786 => 'Sony E 55-210mm F4.5-6.3 OSS',
@@ -64,11 +70,16 @@ my %sonyLensTypes2 = (
64
70
  32791 => 'Sony E 16-70mm F4 ZA OSS',
65
71
  32792 => 'Sony E 10-18mm F4 OSS',
66
72
  32793 => 'Sony E PZ 16-50mm F3.5-5.6 OSS',
73
+ 32794 => 'Sony FE 35mm F2.8 ZA',
74
+ 32795 => 'Sony FE 24-70mm F4 ZA OSS',
67
75
  32797 => 'Sony E 18-200mm F3.5-6.3 OSS LE',
68
76
  32798 => 'Sony E 20mm F2.8',
69
77
  32799 => 'Sony E 35mm F1.8 OSS',
70
78
  32807 => 'Sony E PZ 18-200mm F3.5-6.3 OSS',
79
+ 32808 => 'Sony FE 55mm F1.8 ZA',
80
+ 32813 => 'Sony FE 28-70mm F3.5-5.6 OSS',
71
81
  # 32xxx => 'Sony E PZ 18-105mm F4 G OSS',
82
+ # 32xxx => 'Sony FE 70-200mm F4 G OSS',
72
83
  );
73
84
 
74
85
  # ExposureProgram values (ref PH, mainly decoded from A200)
@@ -634,6 +645,8 @@ my %unknownCipherData = (
634
645
  1 => 'Low',
635
646
  2 => 'Mid',
636
647
  3 => 'High',
648
+ # 0x10001 - seen (ref 12)
649
+ # 0x10002 - seen for landscape and portrait flash (ref 12)
637
650
  0xffffffff => 'n/a', # (A35)
638
651
  },
639
652
  },
@@ -689,6 +702,10 @@ my %unknownCipherData = (
689
702
  Name => 'Tag2010f', # ?
690
703
  Condition => '$$self{Model} =~ /^(DSC-(RX100M2|QX10|QX100))$/',
691
704
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010f' },
705
+ },{
706
+ Name => 'Tag2010g', # ?
707
+ Condition => '$$self{Model} =~ /^(DSC-RX10|ILCE-7|ILCE-7R)\b/',
708
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010g' },
692
709
  },{
693
710
  Name => 'Tag_0x2010',
694
711
  %unknownCipherData,
@@ -774,6 +791,7 @@ my %unknownCipherData = (
774
791
  0 => 'Multi',
775
792
  1 => 'Center',
776
793
  3 => 'Flexible Spot',
794
+ 11 => 'Zone', #12 (NC)
777
795
  },
778
796
  },
779
797
  ],
@@ -796,7 +814,7 @@ my %unknownCipherData = (
796
814
  Writable => 'int8u',
797
815
  PrintConvColumns => 2,
798
816
  PrintConv => {
799
- 0 => 'Auto', # (NC)
817
+ 0 => 'Auto', # (NC) (always 0 for NEX/ILCE unless AFAreaModeSetting is Zone, ref 12)
800
818
  1 => 'Center',
801
819
  2 => 'Top',
802
820
  3 => 'Upper-right',
@@ -853,6 +871,8 @@ my %unknownCipherData = (
853
871
  # 0x0a (e) for SLT-A37/A57/A65V/A77V, NEX-F3/5N/5R/5T/6/7/VG20E, DSC-RX100/RX1/RX1R/HX10V/HX20V/HX30V/HX200V/TX200V/TX300V/TX66/WX50/WX100/WX150
854
872
  # 0x0c (e) for ILCE-3000, NEX-3N, SLT-A58, DSC-HX50V/HX300/RX100M2/TX30/WX60/WX80/WX200/WX300, DSC-QX10/QX100
855
873
  # 0xd0 (e) H90, W650, W690: tag9400 decoding appears not valid/different
874
+ # 0x23 (e) for DSC-RX10, ILCE-7/7R
875
+ # first byte decoded: 40, 204, 202, 27, 58, 62 respectively
856
876
  {
857
877
  Name => 'Tag9400a',
858
878
  Condition => q{
@@ -864,6 +884,10 @@ my %unknownCipherData = (
864
884
  Name => 'Tag9400b',
865
885
  Condition => '$$valPt =~ /^\x0c/',
866
886
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400b' },
887
+ },{
888
+ Name => 'Tag9400c',
889
+ Condition => '$$valPt =~ /^\x23/',
890
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400c' },
867
891
  },{
868
892
  Name => 'Sony_0x9400',
869
893
  %unknownCipherData,
@@ -894,7 +918,8 @@ my %unknownCipherData = (
894
918
  # 38 00 32 0e 0x09fc (l) SLT-A58, ILCE-3000, NEX-3N, DSC-HX300/HX50V/WX200/WX300/WX60/WX80/TX30
895
919
  # 3a 10 3a 0e 0x0a01 (m) DSC-QX10/QX100
896
920
  # 3a 20 47 0e 0x0a01 (m) DSC-RX100M2
897
- #
921
+ # 43 00 66 0e 0x0a1b (n) ILCE-7/7R, DSC-RX10
922
+ #
898
923
  # 0x0004 - (RX100: 0 or 1. subsequent data valid only if 1 - PH)
899
924
  # 0x0007 => {
900
925
  # Name => 'DynamicRangeOptimizer_9401',
@@ -913,9 +938,16 @@ my %unknownCipherData = (
913
938
  },
914
939
  0x9402 => [{
915
940
  Name => 'Tag9402',
916
- # only valid for some models:
917
- # - first byte must be 0x0f, 0x10 or 0x11 (enciphered 0x8a, 0x70 or 0xb6)
918
- Condition => '$$self{DoubleCipher} ? $$valPt =~ /^[\x7e\x46\x1d]/ : $$valPt =~ /^[\x8a\x70\xb6]/',
941
+ # first 2 bytes deciphered:
942
+ # 0x00 0x00 SLT-A37/A57/A65/A77
943
+ # 0x0e 0x00 DSC-HX9V generation
944
+ # 0x0f 0x01 NEX-5N/7/VG20
945
+ # 0x10 0x01 DSC-RX100 etc., ILCE-3000, NEX-3N/5R/5T/6/VG30/VG900
946
+ # 0x11 0x01 DSC-RX100M2/QX10/QX100
947
+ # 0x12,0x13 0x01 DSC-RX10, ILCE-7/7R
948
+ # var var SLT-A58/A99V
949
+ # only valid when first byte 0x0f, 0x10, 0x11, 0x12, 0x13 (enciphered 0x8a, 0x70, 0xb6, 0x69, 0x88)
950
+ Condition => '$$self{DoubleCipher} ? $$valPt =~ /^[\x7e\x46\x1d\x18\x3a]\x01/ : $$valPt =~ /^[\x8a\x70\xb6\x69\x88]\x01/',
919
951
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9402' },
920
952
  },{
921
953
  Name => 'Sony_0x9402',
@@ -934,10 +966,25 @@ my %unknownCipherData = (
934
966
  Name => 'Sony_0x9404',
935
967
  %unknownCipherData,
936
968
  },
937
- 0x9405 => {
938
- Name => 'Tag9405',
939
- SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9405' },
940
- },
969
+ # 0x9405 first 2 bytes:
970
+ # SLT, DSC-RX100/RX1, NEX, ILCE-3000 3 0 (0x1b = 27 0 enc.)
971
+ # DSC-RX1R 4 0 (0x40 = 64 0 enc.)
972
+ # DSC-RX100M2 5 0 (0x7d = 125 0 enc.)
973
+ # DSC-RX10, ILCE-7/7R 136 var (0x3a = 58 var enc.)
974
+ 0x9405 => [{
975
+ Name => 'Tag9405a',
976
+ # first byte must be 0x1b
977
+ Condition => '$$valPt =~ /^\x1b/',
978
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9405a' },
979
+ },{
980
+ Name => 'Tag9405b',
981
+ # first byte must be 0x3a
982
+ Condition => '$$valPt =~ /^\x3a/',
983
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9405b' },
984
+ },{
985
+ Name => 'Sony_0x9405',
986
+ %unknownCipherData,
987
+ }],
941
988
  0x9406 => [{
942
989
  Name => 'Tag9406',
943
990
  # - first byte must be 0x01 or 0x02 (enciphered 0x01 or 0x08) and
@@ -973,14 +1020,21 @@ my %unknownCipherData = (
973
1020
  Name => 'Sony_0x940b',
974
1021
  %unknownCipherData,
975
1022
  },
976
- 0x940c => {
1023
+ 0x940c => [{
1024
+ Name => 'Tag940c',
1025
+ Condition => '$$self{Model} !~ /^(SLT-|DSC-)\b/',
1026
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag940c' },
1027
+ },{
977
1028
  Name => 'Sony_0x940c',
978
1029
  %unknownCipherData,
979
- },
1030
+ }],
980
1031
  0x940d => {
981
1032
  Name => 'Sony_0x940d',
982
1033
  %unknownCipherData,
983
1034
  },
1035
+ # 0x940e: 2nd byte = 0: no AFInfo, default for NEX
1036
+ # 2nd byte = 1: AFInfo for SLT models (also see 1 for DSC-HX20W/WX70)
1037
+ # 2nd byte = 2: AFInfo for NEX/ILCE with LA-EA2 Phase-detect AF Adapter
984
1038
  0x940e => [{
985
1039
  Name => 'AFInfo',
986
1040
  Condition => '$$self{Model} =~ /^SLT-/',
@@ -1069,9 +1123,12 @@ my %unknownCipherData = (
1069
1123
  302 => 'ILCE-3000', #12
1070
1124
  303 => 'SLT-A58', #12
1071
1125
  305 => 'NEX-3N', #PH
1126
+ 306 => 'ILCE-7', #12
1072
1127
  307 => 'NEX-5T', #12
1073
1128
  308 => 'DSC-RX100M2', #12
1129
+ 309 => 'DSC-RX10', #12
1074
1130
  310 => 'DSC-RX1R', #12
1131
+ 311 => 'ILCE-7R', #12
1075
1132
  },
1076
1133
  },
1077
1134
  0xb020 => { #2
@@ -1276,7 +1333,7 @@ my %unknownCipherData = (
1276
1333
  # these models give FocusMode in tag 0xb04e, and are excluded here.
1277
1334
  Condition => q{
1278
1335
  ($$self{TagB042} = Get16u($valPt, 0)) and
1279
- $$self{Model} !~ /^(DSC-HX(7V|9V|100V)|DSC-TX(10|20|55|100|100V)|DSC-WX(7|9|10|30)|HDR-CX(130E|160E|360E|560E|700E)|HDR-PJ(10E|30E))\b/
1336
+ (not $$self{MetaVersion} or $$self{MetaVersion} ne 'DC7303320222000')
1280
1337
  },
1281
1338
  Notes => 'not valid for all models',
1282
1339
  Writable => 'int16u',
@@ -1289,28 +1346,12 @@ my %unknownCipherData = (
1289
1346
  65535 => 'n/a', #PH (A100), also for DSC-W690 panorama shots
1290
1347
  },
1291
1348
  },
1292
- 0xb043 => [{ #12
1293
- Name => 'AFAreaMode',
1294
- # AFAreaMode for DSC-HX9V generation, having values that appear to be different from older models.
1295
- Writable => 'int16u',
1296
- Condition => '$$self{Model} =~ /^(DSC-HX(7V|9V|100V)|DSC-TX(10|20|55|100|100V)|DSC-WX(7|9|10|30)|HDR-CX(130E|160E|360E|560E|700E)|HDR-PJ(10E|30E))\b/',
1297
- Notes => 'DSC-HX9V generation cameras',
1298
- PrintConv => {
1299
- 0 => 'Multi',
1300
- 1 => 'Center',
1301
- 2 => 'Spot', # (NC) seen for DSC-WX9
1302
- 3 => 'Flexible Spot',
1303
- 10 => 'Selective (for Miniature effect)', # seen for Miniature effect of DSC-WX30
1304
- 14 => 'Tracking',
1305
- 15 => 'Face Tracking',
1306
- 255 => 'Manual',
1307
- },
1308
- },{ #9
1349
+ 0xb043 => [{ #9
1309
1350
  Name => 'AFAreaMode',
1310
1351
  # AFAreaMode only for older models;
1311
1352
  # exclude newest DSC models, which give AFAreaMode in Tag9402 0x0017 (ie. RX100 - PH)
1312
1353
  Writable => 'int16u',
1313
- Condition => '$$self{TagB042}', #12
1354
+ Condition => 'not $$self{MetaVersion} or $$self{MetaVersion} ne "DC7303320222000"', #12
1314
1355
  RawConv => '$val == 65535 ? undef : $val',
1315
1356
  Notes => 'older models',
1316
1357
  PrintConv => {
@@ -1325,6 +1366,22 @@ my %unknownCipherData = (
1325
1366
  15 => 'Face Tracking', # (not set when in face detect mode and no faces detected)
1326
1367
  65535 => 'n/a', #PH (A100)
1327
1368
  },
1369
+ },{ #12
1370
+ Name => 'AFAreaMode',
1371
+ # AFAreaMode for DSC-HX9V generation, having values that appear to be different from older models.
1372
+ Writable => 'int16u',
1373
+ Condition => '$$self{TagB042} and $$self{TagB042} != 0',
1374
+ Notes => 'DSC-HX9V generation cameras',
1375
+ PrintConv => {
1376
+ 0 => 'Multi',
1377
+ 1 => 'Center',
1378
+ 2 => 'Spot', # (NC) seen for DSC-WX9
1379
+ 3 => 'Flexible Spot',
1380
+ 10 => 'Selective (for Miniature effect)', # seen for Miniature effect of DSC-WX30
1381
+ 14 => 'Tracking',
1382
+ 15 => 'Face Tracking',
1383
+ 255 => 'Manual',
1384
+ },
1328
1385
  }],
1329
1386
  0xb044 => { #9
1330
1387
  Name => 'AFIlluminator',
@@ -1424,10 +1481,7 @@ my %unknownCipherData = (
1424
1481
  # },
1425
1482
  0xb04e => { #PH (RX100)
1426
1483
  Name => 'FocusMode',
1427
- Condition => q{
1428
- not $$self{TagB042} or
1429
- $$self{Model} =~ /^(DSC-HX(7V|9V|100V)|DSC-TX(10|20|55|100|100V)|DSC-WX(7|9|10|30)|HDR-CX(130E|160E|360E|560E|700E)|HDR-PJ(10E|30E))\b/
1430
- }, #12
1484
+ Condition => '$$self{MetaVersion} and $$self{MetaVersion} eq "DC7303320222000"', #12
1431
1485
  Notes => 'valid for DSC-HX9V generation and newer',
1432
1486
  Writable => 'int16u',
1433
1487
  PrintConv => {
@@ -1437,7 +1491,7 @@ my %unknownCipherData = (
1437
1491
  3 => 'AF-C',
1438
1492
  # 4 - seen for HDR-CX360E/CX700E
1439
1493
  5 => 'Semi-manual', #12 (HX9V)
1440
- 6 => 'Direct Manual Focus',
1494
+ 6 => 'DMF', # "Direct Manual Focus"
1441
1495
  },
1442
1496
  },
1443
1497
  0xb04f => { #PH (TX1)
@@ -1868,9 +1922,9 @@ my %unknownCipherData = (
1868
1922
  TIFF image
1869
1923
  },
1870
1924
  ValueConv => sub {
1871
- my ($val, $exifTool) = @_;
1925
+ my ($val, $et) = @_;
1872
1926
  return undef unless length $val >= 7200;
1873
- return \ "Binary data 7404 bytes" unless $exifTool->Options('Binary');
1927
+ return \ "Binary data 7404 bytes" unless $et->Options('Binary');
1874
1928
  my @dat = unpack('v*', $val);
1875
1929
  # TIFF header for a 16-bit RGB 10dpi 40x30 image
1876
1930
  $val = MakeTiffHeader(40,30,3,16,10);
@@ -2203,6 +2257,14 @@ my %unknownCipherData = (
2203
2257
  PrintConv => '$val ? Image::ExifTool::Exif::PrintExposureTime($val) : "Bulb"',
2204
2258
  PrintConvInv => 'lc($val) eq "bulb" ? 0 : Image::ExifTool::Exif::ConvertFraction($val)',
2205
2259
  },
2260
+ 0x29 => { # value increase of 16 corresponds to doubling of FocalLength
2261
+ Name => 'FocalLength2',
2262
+ Condition => '$$self{Model} !~ /^(NEX-(3|5)|DSLR-(A450|A500|A550)$)/',
2263
+ ValueConv => '10 * 2 ** (($val-28)/16)',
2264
+ ValueConvInv => '$val>0 ? log($val/10)/log(2) * 16 + 28 : 0',
2265
+ PrintConv => 'sprintf("%.1f mm",$val)',
2266
+ PrintConvInv => '$val=~s/\s*mm$//; $val',
2267
+ },
2206
2268
  0x2a => {
2207
2269
  Name => 'ExposureCompensation2',
2208
2270
  Condition => '$$self{Model} !~ /^(NEX-(3|5)|DSLR-(A450|A500|A550)$)/',
@@ -3080,6 +3142,7 @@ my %faceInfo = (
3080
3142
  GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3081
3143
  FORMAT => 'int8u',
3082
3144
  PRIORITY => 0,
3145
+ DATAMEMBER => [ 0x99 ],
3083
3146
  NOTES => q{
3084
3147
  Camera settings for models such as the A33, A35, A55, A450, A500, A550,
3085
3148
  A560, A580, NEX-3, NEX-5, NEX-C3 and NEX-VG10E.
@@ -3523,6 +3586,8 @@ my %faceInfo = (
3523
3586
  0x99 => { #12
3524
3587
  Name => 'LensMount',
3525
3588
  Condition => '$$self{Model} !~ /^DSLR-(A450|A500|A550)$/',
3589
+ DataMember => 'LensMount',
3590
+ RawConv => '$$self{LensMount} = $val',
3526
3591
  PrintConv => {
3527
3592
  1 => 'Unknown',
3528
3593
  16 => 'A-Mount',
@@ -3658,7 +3723,7 @@ my %faceInfo = (
3658
3723
  },
3659
3724
  0x3f7 => { #12
3660
3725
  Name => 'LensType2',
3661
- Condition => '$$self{Model} =~ /^NEX-/',
3726
+ Condition => '($$self{Model} =~ /^NEX-/) and ($$self{LensMount} != 1)',
3662
3727
  Format => 'int16u',
3663
3728
  SeparateTable => 1,
3664
3729
  PrintConv => \%sonyLensTypes2,
@@ -3860,6 +3925,7 @@ my %faceInfo = (
3860
3925
  # 240 for DSLR
3861
3926
  0x0011 => {
3862
3927
  Name => 'ImageStabilization',
3928
+ Condition => '$$self{Model} !~ /^(NEX-(3|5|5C|C3|VG10|VG10E))\b/',
3863
3929
  # usually matches 0xb026 ImageStabilization, except some images with SelfTimer and on tripod
3864
3930
  PrintConv => {
3865
3931
  0 => 'Off',
@@ -3959,7 +4025,7 @@ my %faceInfo = (
3959
4025
  %Image::ExifTool::Sony::ShotInfo = (
3960
4026
  %binaryDataAttrs,
3961
4027
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
3962
- DATAMEMBER => [ 0x02, 0x30, 0x32 ],
4028
+ DATAMEMBER => [ 0x02, 0x30, 0x32, 0x34 ],
3963
4029
  IS_SUBDIR => [ 0x48, 0x5e ],
3964
4030
  # 0x00 - byte order 'II'
3965
4031
  0x02 => {
@@ -3998,12 +4064,16 @@ my %faceInfo = (
3998
4064
  Writable => 0,
3999
4065
  RawConv => '$$self{FaceInfoLength} = $val',
4000
4066
  },
4001
- #0x34 => {
4002
- # # values: 'DC5303320222000', 'DC6303320222000' or 'DC7303320222000'
4003
- # Name => 'UnknownString',
4004
- # Format => 'string[16]',
4005
- # Unknown => 1,
4006
- #},
4067
+ 0x34 => {
4068
+ # oldest/other DSC/other -
4069
+ # older DSC models "DC5303320222000" or "DC6303320222000"
4070
+ # DSC-W650/W690/W730 "THm101000000000" or "THm211000000000"
4071
+ # DSC-HX9V generation and newer "DC7303320222000"
4072
+ Name => 'MetaVersion', # (tentative)
4073
+ Format => 'string[16]',
4074
+ DataMember => 'MetaVersion',
4075
+ RawConv => '$$self{MetaVersion} = $val',
4076
+ },
4007
4077
  0x48 => { # (most models: DC5303320222000 and DC6303320222000)
4008
4078
  Name => 'FaceInfo1',
4009
4079
  Condition => q{
@@ -4060,6 +4130,7 @@ my %releaseMode2 = ( #12
4060
4130
  17 => 'Continuous - Burst 2', # (WX7 - PH) (#12 9400-SequenceLength=10 shots)
4061
4131
  19 => 'Continuous - Speed/Advance Priority', #PH/12 (RX100)
4062
4132
  20 => 'Continuous - Multi Frame NR',
4133
+ 23 => 'Single-frame - Exposure Bracketing', # (NC, seen for ILCE-7)
4063
4134
  26 => 'Continuous Low', #PH (A77)
4064
4135
  27 => 'Continuous - High Sensitivity', # seen for DSC-WX60 and WX300
4065
4136
  28 => 'Smile Shutter', #PH (RX100)
@@ -4429,6 +4500,30 @@ my %exposureProgram2010 = (
4429
4500
  #0x1930 => { Name => 'SonyImageHeight', Format => 'int16u' },
4430
4501
  );
4431
4502
 
4503
+ %Image::ExifTool::Sony::Tag2010g = ( #12
4504
+ PROCESS_PROC => \&ProcessEnciphered,
4505
+ WRITE_PROC => \&WriteEnciphered,
4506
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4507
+ FORMAT => 'int8u',
4508
+ NOTES => 'Valid for DSC-RX10, ILCE-7/7R.',
4509
+ WRITABLE => 1,
4510
+ FIRST_ENTRY => 0,
4511
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4512
+ 0x0004 => { %releaseMode2, Format => 'int32u' }, # NOT at offset 0x08 !
4513
+ 0x020c => { %releaseMode2010 },
4514
+ 0x0210 => { %releaseMode2 },
4515
+ 0x0222 => { %gain2010 },
4516
+ 0x0224 => { %brightnessValue2010 },
4517
+ 0x0228 => { %dynamicRangeOptimizer2010 },
4518
+ 0x022c => { %hdr2010 },
4519
+ 0x0230 => { %exposureComp2010 },
4520
+ 0x024b => { %effect2010 },
4521
+ 0x0258 => { %quality2010 },
4522
+ 0x025c => { %meteringMode2010 },
4523
+ 0x025d => { %exposureProgram2010 },
4524
+ 0x0264 => { Name => 'WB_RGBLevels', Format => 'int16u[3]' },
4525
+ );
4526
+
4432
4527
  %Image::ExifTool::Sony::Tag900b = ( #12
4433
4528
  PROCESS_PROC => \&ProcessEnciphered,
4434
4529
  WRITE_PROC => \&WriteEnciphered,
@@ -4520,6 +4615,7 @@ my %exposureProgram2010 = (
4520
4615
  # 0x0104 - same as 0x0105, but has value 3 for DT 18-135mm and for 70-400mm G II: meaning ??
4521
4616
  0x0105 => {
4522
4617
  Name => 'LensMount',
4618
+ DataMember => 'LensMount',
4523
4619
  RawConv => '$$self{LensMount} = $val; $$self{Model} =~ /^DSC-/ ? undef : $val',
4524
4620
  PrintConv => {
4525
4621
  0 => 'Unknown',
@@ -4742,6 +4838,76 @@ my %exposureProgram2010 = (
4742
4838
  },
4743
4839
  );
4744
4840
 
4841
+ %Image::ExifTool::Sony::Tag9400c = ( #12
4842
+ PROCESS_PROC => \&ProcessEnciphered,
4843
+ WRITE_PROC => \&WriteEnciphered,
4844
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4845
+ FORMAT => 'int8u',
4846
+ WRITABLE => 1,
4847
+ NOTES => 'Valid for DSC-RX10, ILCE-7/7R.',
4848
+ FIRST_ENTRY => 0,
4849
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4850
+ 0x0009 => { %releaseMode2 },
4851
+ 0x000a => {
4852
+ Name => 'ShotNumberSincePowerUp',
4853
+ Format => 'int32u',
4854
+ },
4855
+ 0x0012 => { %sequenceImageNumber }, # or sequenceFileNumber ?
4856
+ 0x0016 => {
4857
+ Name => 'SequenceLength',
4858
+ PrintConv => {
4859
+ 0 => 'Continuous',
4860
+ 1 => '1 shot',
4861
+ 2 => '2 shots',
4862
+ 3 => '3 shots',
4863
+ 4 => '4 shots',
4864
+ 5 => '5 shots',
4865
+ 6 => '6 shots',
4866
+ 10 => '10 shots',
4867
+ 100 => 'Continuous - iSweep Panorama',
4868
+ 200 => 'Continuous - Sweep Panorama',
4869
+ },
4870
+ },
4871
+ 0x001a => { %sequenceFileNumber },
4872
+ 0x001e => {
4873
+ Name => 'SequenceLength',
4874
+ PrintConv => {
4875
+ 0 => 'Continuous',
4876
+ 1 => '1 shot',
4877
+ 2 => '2 shots',
4878
+ 3 => '3 shots',
4879
+ 4 => '4 shots',
4880
+ 5 => '5 shots',
4881
+ 6 => '6 shots',
4882
+ 10 => '10 shots',
4883
+ 100 => 'Continuous - iSweep Panorama',
4884
+ 200 => 'Continuous - Sweep Panorama',
4885
+ },
4886
+ },
4887
+ 0x0029 => {
4888
+ Name => 'CameraOrientation',
4889
+ PrintConv => {
4890
+ 1 => 'Horizontal (normal)',
4891
+ 3 => 'Rotate 180',
4892
+ 6 => 'Rotate 90 CW',
4893
+ 8 => 'Rotate 270 CW',
4894
+ },
4895
+ },
4896
+ 0x002a => {
4897
+ Name => 'Quality2',
4898
+ PrintConv => {
4899
+ 0 => 'JPEG',
4900
+ 1 => 'RAW',
4901
+ 2 => 'RAW + JPEG',
4902
+ 3 => 'JPEG + MPO', # 3D images
4903
+ },
4904
+ },
4905
+ 0x0047 => {
4906
+ Name => 'SonyImageHeight',
4907
+ Format => 'int16u',
4908
+ PrintConv => '$val > 0 ? 8*$val : "n.a."',
4909
+ },
4910
+ );
4745
4911
 
4746
4912
  # PH (RX100)
4747
4913
  %Image::ExifTool::Sony::Tag9402 = (
@@ -4767,6 +4933,18 @@ my %exposureProgram2010 = (
4767
4933
  PrintConv => '"$val C"',
4768
4934
  PrintConvInv => '$val=~s/ ?C//; $val',
4769
4935
  },
4936
+ 0x16 => { #12
4937
+ Name => 'FocusMode',
4938
+ Mask => 0x7f, # (often +128, not sure what upper bit is for)
4939
+ PrintConv => {
4940
+ 0 => 'Manual',
4941
+ 2 => 'AF-S',
4942
+ 3 => 'AF-C',
4943
+ # 4 => 'AF-A', # not for DSC, NEX, ILCE ...
4944
+ 6 => 'DMF',
4945
+ # 7 => 'AF-D', # not for DSC, NEX, ILCE ...
4946
+ },
4947
+ },
4770
4948
  0x17 => {
4771
4949
  Name => 'AFAreaMode',
4772
4950
  PrintConv => {
@@ -4775,6 +4953,7 @@ my %exposureProgram2010 = (
4775
4953
  2 => 'Spot', # (NC) seen for DSC-WX300
4776
4954
  3 => 'Flexible Spot',
4777
4955
  10 => 'Selective (for Miniature effect)', # seen for DSC-HX30V,TX30,WX60,WX100
4956
+ 11 => 'Zone', #12 (NC) seen in ILCE-7R images
4778
4957
  14 => 'Tracking',
4779
4958
  15 => 'Face Tracking',
4780
4959
  255 => 'Manual',
@@ -4814,7 +4993,7 @@ my %exposureProgram2010 = (
4814
4993
  );
4815
4994
 
4816
4995
  # Tag9405 (ref 12)
4817
- %Image::ExifTool::Sony::Tag9405 = (
4996
+ %Image::ExifTool::Sony::Tag9405a = (
4818
4997
  PROCESS_PROC => \&ProcessEnciphered,
4819
4998
  WRITE_PROC => \&WriteEnciphered,
4820
4999
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
@@ -4836,11 +5015,13 @@ my %exposureProgram2010 = (
4836
5015
  },
4837
5016
  0x0604 => {
4838
5017
  Name => 'LensMount',
5018
+ DataMember => 'LensMount',
4839
5019
  RawConv => '$$self{LensMount} = $val; $$self{Model} =~ /^DSC-/ ? undef : $val',
4840
5020
  PrintConv => {
4841
5021
  0 => 'Unknown',
4842
5022
  1 => 'A-Mount',
4843
5023
  2 => 'E-mount',
5024
+ # 6 - seen for A58 panorama image
4844
5025
  },
4845
5026
  },
4846
5027
  0x0605 => {
@@ -4861,6 +5042,53 @@ my %exposureProgram2010 = (
4861
5042
  },
4862
5043
  );
4863
5044
 
5045
+ %Image::ExifTool::Sony::Tag9405b = (
5046
+ PROCESS_PROC => \&ProcessEnciphered,
5047
+ WRITE_PROC => \&WriteEnciphered,
5048
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
5049
+ FORMAT => 'int8u',
5050
+ WRITABLE => 1,
5051
+ FIRST_ENTRY => 0,
5052
+ PRIORITY => 0,
5053
+ DATAMEMBER => [ 0x005e ],
5054
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
5055
+ 0x005d => {
5056
+ Name => 'LensFormat',
5057
+ Condition => '$$self{Model} !~ /^DSC-/',
5058
+ PrintConv => {
5059
+ 0 => 'Unknown',
5060
+ 1 => 'APS-C',
5061
+ 2 => 'Full-frame',
5062
+ },
5063
+ },
5064
+ 0x005e => {
5065
+ Name => 'LensMount',
5066
+ DataMember => 'LensMount',
5067
+ RawConv => '$$self{LensMount} = $val; $$self{Model} =~ /^DSC-/ ? undef : $val',
5068
+ PrintConv => {
5069
+ 0 => 'Unknown',
5070
+ 1 => 'A-Mount',
5071
+ 2 => 'E-mount',
5072
+ },
5073
+ },
5074
+ 0x0060 => {
5075
+ Name => 'LensType2',
5076
+ Condition => '$$self{LensMount} == 2',
5077
+ Format => 'int16u',
5078
+ Notes => 'E-Mount lenses',
5079
+ SeparateTable => 1,
5080
+ PrintConv => \%sonyLensTypes2,
5081
+ },
5082
+ 0x0062 => {
5083
+ Name => 'LensType',
5084
+ Condition => '$$self{LensMount} == 1',
5085
+ Format => 'int16u',
5086
+ Notes => 'A-Mount lenses on SLT and NEX',
5087
+ SeparateTable => 1,
5088
+ PrintConv => \%sonyLensTypes,
5089
+ },
5090
+ );
5091
+
4864
5092
  # Tag9406 (ref 12)
4865
5093
  %Image::ExifTool::Sony::Tag9406 = (
4866
5094
  PROCESS_PROC => \&ProcessEnciphered,
@@ -4940,6 +5168,45 @@ my %exposureProgram2010 = (
4940
5168
  # 0xa6 - 8 bytes face detection info ?; starts with 1, otherwise all 0
4941
5169
  );
4942
5170
 
5171
+ # Tag940c (ref 12)
5172
+ %Image::ExifTool::Sony::Tag940c = (
5173
+ PROCESS_PROC => \&ProcessEnciphered,
5174
+ WRITE_PROC => \&WriteEnciphered,
5175
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
5176
+ FORMAT => 'int8u',
5177
+ WRITABLE => 1,
5178
+ FIRST_ENTRY => 0,
5179
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
5180
+ DATAMEMBER => [ 0x0008 ],
5181
+
5182
+ # 0x0008 - LensMount, but different values from Tag9405-0x0105 and Tag9050-0x0604.
5183
+ # don't know what difference is between values '1' and '5' ...
5184
+ 0x0008 => {
5185
+ Name => 'LensMount',
5186
+ RawConv => '$$self{LensMount} = $val',
5187
+ PrintConv => {
5188
+ 0 => 'Unknown',
5189
+ 1 => 'A-Mount (1)',
5190
+ 4 => 'E-mount',
5191
+ 5 => 'A-Mount (5)',
5192
+ },
5193
+ },
5194
+ # 0x0009 - LensType2:
5195
+ # This LensType2 tag gives values '1' and '2' for LA-EA1 and LA-EA2 respectively.
5196
+ # Presumably similar to CameraSettings3-0x03f7, where value '1' for A-Mount lenses was observed.
5197
+ # Tag9405-0x0605 and Tag9050-0x0107 always give value '0' for A-Mount lenses.
5198
+ # When LA-EA2 is used, Tag940e AFInfo gives sequential info blocks NEX (Phase-detect AF).
5199
+ # Also seen values '3' and '6' for A-lens on ILCE-7/7R, probably relating to LA-EA3 and LA-EA4 (NC).
5200
+ 0x0009 => { #12
5201
+ Name => 'LensType2',
5202
+ Condition => '$$self{LensMount} != 0',
5203
+ Format => 'int16u',
5204
+ SeparateTable => 1,
5205
+ PrintConv => \%sonyLensTypes2,
5206
+ },
5207
+ );
5208
+
5209
+
4943
5210
  # AFInfo (SLT models only) (ref PH, decoded mainly from A77)
4944
5211
  %Image::ExifTool::Sony::AFInfo = (
4945
5212
  PROCESS_PROC => \&ProcessEnciphered,
@@ -4959,7 +5226,9 @@ my %exposureProgram2010 = (
4959
5226
  # 0 1 1 0 for A37, A57, A58
4960
5227
  # 0 1 2 0 for A99V
4961
5228
  # 0 0 0 0 for NEX
4962
- # 0 2 0 0 for a NEX-6 image with A-mount lens via Phase-AF E-A adapter
5229
+ # 2 0 0 0 for NEX
5230
+ # 0 2 0 0 for NEX with A-mount lens via LA-EA2 Phase-AF adapter
5231
+ # 2 2 0 0 for NEX with A-mount lens via LA-EA2 Phase-AF adapter
4963
5232
  0x02 => {
4964
5233
  Name => 'AFType',
4965
5234
  RawConv => '$$self{AFType} = $val',
@@ -4969,6 +5238,8 @@ my %exposureProgram2010 = (
4969
5238
  2 => '19-point',
4970
5239
  },
4971
5240
  },
5241
+ # 0x0004 start 74 Blocks of 164 bytes each for NEX with LA-EA2 15-point Phase-detect AF adapter and A-Mount lens (ref 12).
5242
+ # For the NEX probably only the 11th byte might be the AFPoint.
4972
5243
  0x07 => [ # the active AF sensor
4973
5244
  {
4974
5245
  Name => 'AFPoint',
@@ -5049,7 +5320,6 @@ my %exposureProgram2010 = (
5049
5320
  7 => 'AF-D', # (unique to A99)
5050
5321
  },
5051
5322
  },
5052
- # 0x014c start 56 Blocks of 164 bytes each for NEX with A-mount lens and Phase-AF adapter (ref 12)
5053
5323
  0x017d => { #PH (verified for the A77/A99; likely valid for other SLT models - ref 12)
5054
5324
  # (different from AFMicroAdjValue because it is 0 when the adjustment is off)
5055
5325
  Name => 'AFMicroAdj',
@@ -5225,12 +5495,12 @@ my %exposureProgram2010 = (
5225
5495
  0 => {
5226
5496
  Name => 'SRF2Key',
5227
5497
  Notes => 'key to decrypt maker notes from the start of SRF2',
5228
- RawConv => '$self->{SRF2Key} = $val',
5498
+ RawConv => '$$self{SRF2Key} = $val',
5229
5499
  },
5230
5500
  1 => {
5231
5501
  Name => 'DataKey',
5232
5502
  Notes => 'key to decrypt the rest of the file from the end of the maker notes',
5233
- RawConv => '$self->{SRFDataKey} = $val',
5503
+ RawConv => '$$self{SRFDataKey} = $val',
5234
5504
  },
5235
5505
  # SRF0 contains a single unknown tag with TagID 0x0003
5236
5506
  );
@@ -5323,6 +5593,10 @@ my %exposureProgram2010 = (
5323
5593
  SET_GROUP1 => 1, # set group1 name to directory name for all tags in table
5324
5594
  NOTES => 'Tags in the encrypted SR2SubIFD',
5325
5595
  0x7303 => 'WB_GRBGLevels', #1
5596
+ 0x7310 => 'BlackLevel', #14 (divide by 4)
5597
+ 0x7313 => 'WB_RGGBLevels', #6
5598
+ 0x74a0 => 'MaxApertureAtMaxFocal', #PH
5599
+ 0x74a1 => 'MaxApertureAtMinFocal', #PH
5326
5600
  0x74c0 => { #PH
5327
5601
  Name => 'SR2DataIFD',
5328
5602
  Groups => { 1 => 'SR2DataIFD' }, # (needed to set SubIFD DirName)
@@ -5333,15 +5607,22 @@ my %exposureProgram2010 = (
5333
5607
  MaxSubdirs => 20, # an A700 ARW has 14 of these! - PH
5334
5608
  },
5335
5609
  },
5336
- 0x7313 => 'WB_RGGBLevels', #6
5337
- 0x74a0 => 'MaxApertureAtMaxFocal', #PH
5338
- 0x74a1 => 'MaxApertureAtMinFocal', #PH
5339
- 0x7820 => 'WB_RGBLevelsDaylight', #6
5340
- 0x7821 => 'WB_RGBLevelsCloudy', #6
5610
+ 0x7800 => 'ColorMatrix', #14 (divide by 1024)
5611
+ 0x7820 => 'WB_RGBLevelsDaylight', #6 (or 5300K, ref 14)
5612
+ 0x7821 => 'WB_RGBLevelsCloudy', #6 (or 6100K, ref 14)
5341
5613
  0x7822 => 'WB_RGBLevelsTungsten', #6
5342
- 0x7825 => 'WB_RGBLevelsShade', #6
5343
- 0x7826 => 'WB_RGBLevelsFluorescent', #6
5344
- 0x7828 => 'WB_RGBLevelsFlash', #6
5614
+ 0x7823 => 'WB_RGBLevelsFlash', #14
5615
+ 0x7824 => 'WB_RGBLevels4500K', #14
5616
+ 0x7825 => 'WB_RGBLevelsShade', #6 (or 7500K, ref 14)
5617
+ 0x7826 => 'WB_RGBLevelsFluorescent', #6 (~4000K)
5618
+ 0x7827 => 'WB_RGBLevelsFluorescentP1', #14 (~5000K)
5619
+ 0x7828 => 'WB_RGBLevelsFluorescentP2', #14 (~6500K) (was Flash, ref 6)
5620
+ 0x7829 => 'WB_RGBLevelsFluorescentM1', #14 (~3500K)
5621
+ 0x782a => 'WB_RGBLevels8500K', #14
5622
+ 0x782b => 'WB_RGBLevels6000K', #14
5623
+ 0x782c => 'WB_RGBLevels3200K', #14
5624
+ 0x782d => 'WB_RGBLevels2500K', #14
5625
+ 0x787f => 'WhiteLevel', #14 (divide by 4)
5345
5626
  );
5346
5627
 
5347
5628
  %Image::ExifTool::Sony::SR2DataIFD = (
@@ -5515,7 +5796,9 @@ Image::ExifTool::AddCompositeTags('Image::ExifTool::Sony');
5515
5796
  {
5516
5797
  my $minoltaTypes = \%Image::ExifTool::Minolta::minoltaLensTypes;
5517
5798
  %sonyLensTypes = %$minoltaTypes;
5799
+ my $other = $$minoltaTypes{OTHER};
5518
5800
  delete $$minoltaTypes{Notes}; # (temporarily)
5801
+ delete $$minoltaTypes{OTHER}; # (temporarily)
5519
5802
  my $id;
5520
5803
  # 5-digit lens ID's are missing the last digit (usually "1") in the metadata for
5521
5804
  # some Sony models, so generate corresponding 4-digit entries for these cameras
@@ -5540,6 +5823,7 @@ Image::ExifTool::AddCompositeTags('Image::ExifTool::Sony');
5540
5823
  $sonyLensTypes{$sid} = $lens;
5541
5824
  }
5542
5825
  $$minoltaTypes{Notes} = $sonyLensTypes{Notes}; # (restore original Notes)
5826
+ $$minoltaTypes{OTHER} = $other;
5543
5827
  }
5544
5828
 
5545
5829
  #------------------------------------------------------------------------------
@@ -5548,7 +5832,7 @@ Image::ExifTool::AddCompositeTags('Image::ExifTool::Sony');
5548
5832
  # Returns: 1
5549
5833
  sub ProcessSonyPIC($$$)
5550
5834
  {
5551
- my ($exifTool, $dirInfo, $tagTablePtr) = @_;
5835
+ my ($et, $dirInfo, $tagTablePtr) = @_;
5552
5836
  my $dataPt = $$dirInfo{DataPt};
5553
5837
  my $start = $$dirInfo{DirStart} || 0;
5554
5838
  my $len = $$dirInfo{DirLen} || (length($$dataPt) - $start);
@@ -5569,7 +5853,7 @@ sub ProcessSonyPIC($$$)
5569
5853
  $$dirInfo{DirStart} = $start + 12;
5570
5854
  $$dirInfo{DirLen} = $len - 12;
5571
5855
  my $sonyTable = GetTagTable('Image::ExifTool::Sony::Main');
5572
- Image::ExifTool::Exif::ProcessExif($exifTool, $dirInfo, $sonyTable);
5856
+ Image::ExifTool::Exif::ProcessExif($et, $dirInfo, $sonyTable);
5573
5857
  }
5574
5858
  }
5575
5859
  }
@@ -5584,11 +5868,11 @@ sub ProcessSonyPIC($$$)
5584
5868
  next unless length $1 > 32;
5585
5869
  my ($tag, $val) = ('TextInfo' . (++$i), $1);
5586
5870
  $$tagTablePtr{$tag} or AddTagToTable($tagTablePtr, $tag, { Name => $tag, Binary => 1 });
5587
- $exifTool->HandleTag($tagTablePtr, $tag, $val);
5871
+ $et->HandleTag($tagTablePtr, $tag, $val);
5588
5872
  # extract interesting tags separately (might want to speed this up)
5589
5873
  foreach $tag (sort { lc $a cmp lc $b } keys %$tagTablePtr) {
5590
5874
  next unless $tag =~ /:$/ and $val =~ /\b$tag\s*([^\s;,:]+)/;
5591
- $exifTool->HandleTag($tagTablePtr, $tag, $1);
5875
+ $et->HandleTag($tagTablePtr, $tag, $1);
5592
5876
  }
5593
5877
  }
5594
5878
  return 1;
@@ -5668,7 +5952,7 @@ my @lensFeatures = (
5668
5952
  # Mask { Bits Name Bits Name } Prefix flag
5669
5953
  # ------ ------ ----- ------ ----- -----------
5670
5954
  [ 0x4000, { 0x4000 => 'PZ' }, 1 ],
5671
- [ 0x0300, { 0x0100 => 'DT', 0x0300 => 'E' }, 1 ], # (will come before preceding prefix)
5955
+ [ 0x0300, { 0x0100 => 'DT', 0x0200 => 'FE', 0x0300 => 'E' }, 1 ], # (will come before preceding prefix), FE added (ref 12)
5672
5956
  [ 0x000c, { 0x0004 => 'ZA', 0x0008 => 'G' } ],
5673
5957
  [ 0x00e0, { 0x0020 => 'STF', 0x0040 => 'Reflex', 0x0060 => 'Macro', 0x0080 => 'Fisheye' } ],
5674
5958
  [ 0x0003, { 0x0001 => 'SSM', 0x0002 => 'SAM' } ],
@@ -5731,8 +6015,8 @@ sub PrintInvLensSpec($)
5731
6015
  # Returns: 1 on success when reading, or new directory when writing (IsWriting set)
5732
6016
  sub ProcessMoreInfo($$$)
5733
6017
  {
5734
- my ($exifTool, $dirInfo, $tagTablePtr) = @_;
5735
- $exifTool or return 1; # allow dummy access to write routine
6018
+ my ($et, $dirInfo, $tagTablePtr) = @_;
6019
+ $et or return 1; # allow dummy access to write routine
5736
6020
  my $dataPt = $$dirInfo{DataPt};
5737
6021
  my $start = $$dirInfo{DirStart} || 0;
5738
6022
  my $dirLen = $$dirInfo{DirLen} || length($$dataPt);
@@ -5744,18 +6028,18 @@ sub ProcessMoreInfo($$$)
5744
6028
  my $len = Get16u($dataPt, $start + 2); # total data length
5745
6029
 
5746
6030
  if ($dirLen < 4 + $num * 4) {
5747
- $exifTool->Warn('Truncated MoreInfo data', 1);
6031
+ $et->Warn('Truncated MoreInfo data', 1);
5748
6032
  return $rtnVal;
5749
6033
  }
5750
6034
  if ($num > 50) {
5751
- $exifTool->Warn('Possibly corrupted MoreInfo data', 1);
6035
+ $et->Warn('Possibly corrupted MoreInfo data', 1);
5752
6036
  return $rtnVal;
5753
6037
  }
5754
6038
 
5755
- $exifTool->VerboseDir('MoreInfo', $num, $len) unless $isWriting;
6039
+ $et->VerboseDir('MoreInfo', $num, $len) unless $isWriting;
5756
6040
 
5757
6041
  if ($len > $dirLen) {
5758
- $exifTool->Warn('MoreInfo data length too large', 1);
6042
+ $et->Warn('MoreInfo data length too large', 1);
5759
6043
  $len = $dirLen;
5760
6044
  }
5761
6045
  # loop through the MoreInfo index section to get the block offsets and tag ID's
@@ -5766,7 +6050,7 @@ sub ProcessMoreInfo($$$)
5766
6050
  push @tagID, Get16u($dataPt, $entry);
5767
6051
  push @offset, Get16u($dataPt, $entry + 2);
5768
6052
  if ($offset[-1] > $len and $offset[-1] <= $dirLen) {
5769
- $exifTool->Warn('MoreInfo data length too small', 1);
6053
+ $et->Warn('MoreInfo data length too small', 1);
5770
6054
  $len = $dirLen;
5771
6055
  }
5772
6056
  }
@@ -5789,7 +6073,7 @@ sub ProcessMoreInfo($$$)
5789
6073
  # initialize successful return value
5790
6074
  $rtnVal = $isWriting ? substr($$dataPt, $start, $dirLen) : 1;
5791
6075
  # now process each block
5792
- my $unknown = $exifTool->{OPTIONS}{Unknown};
6076
+ my $unknown = $$et{OPTIONS}{Unknown};
5793
6077
  for ($i=0; $i<$num; ++$i) {
5794
6078
  next if $offset[$i] > $dirLen; # ignore bad offsets
5795
6079
  my $tag = $tagID[$i];
@@ -5808,7 +6092,7 @@ sub ProcessMoreInfo($$$)
5808
6092
  DirLen => $size,
5809
6093
  );
5810
6094
  my $subTable = GetTagTable($$tagInfo{SubDirectory}{TagTable});
5811
- my $val = $exifTool->WriteDirectory(\%dirInfo, $subTable);
6095
+ my $val = $et->WriteDirectory(\%dirInfo, $subTable);
5812
6096
  # update this block in the returned MoreInfo data
5813
6097
  substr($rtnVal, $offset, $size) = $val if defined $val;
5814
6098
  next;
@@ -5830,7 +6114,7 @@ sub ProcessMoreInfo($$$)
5830
6114
  );
5831
6115
  AddTagToTable($tagTablePtr, $tag, \%tagInfo);
5832
6116
  }
5833
- $exifTool->HandleTag($tagTablePtr, $tag, undef,
6117
+ $et->HandleTag($tagTablePtr, $tag, undef,
5834
6118
  Index => $i,
5835
6119
  DataPt => $dataPt,
5836
6120
  DataPos => $$dirInfo{DataPos},
@@ -5847,24 +6131,24 @@ sub ProcessMoreInfo($$$)
5847
6131
  # Returns: 1 on success when reading, 0 if this isn't a valid PMP file
5848
6132
  sub ProcessPMP($$)
5849
6133
  {
5850
- my ($exifTool, $dirInfo) = @_;
6134
+ my ($et, $dirInfo) = @_;
5851
6135
  my $raf = $$dirInfo{RAF};
5852
6136
  my $buff;
5853
6137
  $raf->Read($buff, 128) == 128 or return 0;
5854
6138
  # validate header length (124 bytes)
5855
6139
  $buff =~ /^.{8}\0{3}\x7c.{112}\xff\xd8\xff\xdb$/s or return 0;
5856
- $exifTool->SetFileType();
6140
+ $et->SetFileType();
5857
6141
  SetByteOrder('MM');
5858
- $exifTool->FoundTag(Make => 'Sony');
5859
- $exifTool->FoundTag(Model => 'DSC-F1');
6142
+ $et->FoundTag(Make => 'Sony');
6143
+ $et->FoundTag(Model => 'DSC-F1');
5860
6144
  # extract information from 124-byte header
5861
6145
  my $tagTablePtr = GetTagTable('Image::ExifTool::Sony::PMP');
5862
6146
  my %dirInfo = ( DataPt => \$buff, DirName => 'PMP' );
5863
- $exifTool->ProcessDirectory(\%dirInfo, $tagTablePtr);
6147
+ $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
5864
6148
  # process JPEG image
5865
6149
  $raf->Seek(124, 0);
5866
6150
  $$dirInfo{Base} = 124;
5867
- $exifTool->ProcessJPEG($dirInfo);
6151
+ $et->ProcessJPEG($dirInfo);
5868
6152
  return 1;
5869
6153
  }
5870
6154
 
@@ -5874,13 +6158,13 @@ sub ProcessPMP($$)
5874
6158
  # Returns: true if tag 0x14a is a SubIFD, false otherwise
5875
6159
  sub SetARW($$)
5876
6160
  {
5877
- my ($exifTool, $valPt) = @_;
6161
+ my ($et, $valPt) = @_;
5878
6162
 
5879
6163
  # assume ARW for now -- SR2's get identified when FileFormat is parsed
5880
- $exifTool->OverrideFileType($$exifTool{TIFF_TYPE} = 'ARW');
6164
+ $et->OverrideFileType($$et{TIFF_TYPE} = 'ARW');
5881
6165
 
5882
6166
  # this should always be a SubIFD for models other than the A100
5883
- return 1 unless $$exifTool{Model} eq 'DSLR-A100' and length $$valPt == 4;
6167
+ return 1 unless $$et{Model} eq 'DSLR-A100' and length $$valPt == 4;
5884
6168
 
5885
6169
  # for the A100, IFD0 tag 0x14a is either a pointer to the raw data if this is
5886
6170
  # an original image, or a SubIFD offset if the image was edited by Sony IDC,
@@ -5889,7 +6173,7 @@ sub SetARW($$)
5889
6173
  my %subdir = (
5890
6174
  DirStart => Get32u($valPt, 0),
5891
6175
  Base => 0,
5892
- RAF => $$exifTool{RAF},
6176
+ RAF => $$et{RAF},
5893
6177
  AllowOutOfOrderTags => 1, # doh!
5894
6178
  );
5895
6179
  return Image::ExifTool::Exif::ValidateIFD(\%subdir);
@@ -5902,7 +6186,7 @@ sub SetARW($$)
5902
6186
  # Notes: (it turns that all of this is for the A100 only)
5903
6187
  sub FinishARW($$$$)
5904
6188
  {
5905
- my ($exifTool, $dirInfo, $dataPt, $imageData) = @_;
6189
+ my ($et, $dirInfo, $dataPt, $imageData) = @_;
5906
6190
 
5907
6191
  # pre-scan IFD0 to get IFD entry offsets for each tag
5908
6192
  my $dataLen = length $$dataPt;
@@ -5915,9 +6199,9 @@ sub FinishARW($$$$)
5915
6199
  $entry{Get16u($dataPt, $entry)} = $entry;
5916
6200
  }
5917
6201
  # fix up SR2Private offset and A100DataOffset (A100 only)
5918
- if ($entry{0xc634} and $$exifTool{MRWDirData}) {
5919
- return 'Unexpected MRW block' unless $$exifTool{Model} eq 'DSLR-A100';
5920
- return 'Missing A100DataOffset' unless $entry{0x14a} and $$exifTool{A100DataOffset};
6202
+ if ($entry{0xc634} and $$et{MRWDirData}) {
6203
+ return 'Unexpected MRW block' unless $$et{Model} eq 'DSLR-A100';
6204
+ return 'Missing A100DataOffset' unless $entry{0x14a} and $$et{A100DataOffset};
5921
6205
  # account for total length of image data
5922
6206
  my $totalLen = 8 + $dataLen;
5923
6207
  if (ref $imageData) {
@@ -5932,19 +6216,19 @@ sub FinishARW($$$$)
5932
6216
  # set offset for the MRW directory data
5933
6217
  Set32u($totalLen, $dataPt, $entry{0xc634} + 8);
5934
6218
  # also pad MRWDirData data to an even 4 bytes (just to be safe)
5935
- $remain = length($$exifTool{MRWDirData}) & 0x03;
5936
- $$exifTool{MRWDirData} .= "\0" x (4 - $remain) if $remain;
5937
- $totalLen += length $$exifTool{MRWDirData};
6219
+ $remain = length($$et{MRWDirData}) & 0x03;
6220
+ $$et{MRWDirData} .= "\0" x (4 - $remain) if $remain;
6221
+ $totalLen += length $$et{MRWDirData};
5938
6222
  # fix up A100DataOffset
5939
- $dataOffset = $$exifTool{A100DataOffset};
6223
+ $dataOffset = $$et{A100DataOffset};
5940
6224
  Set32u($totalLen, $dataPt, $entry{0x14a} + 8);
5941
6225
  }
5942
6226
  # patch double-referenced and incorrectly-sized A100 PreviewImage
5943
- if ($entry{0x201} and $$exifTool{A100PreviewStart} and
5944
- $entry{0x202} and $$exifTool{A100PreviewLength})
6227
+ if ($entry{0x201} and $$et{A100PreviewStart} and
6228
+ $entry{0x202} and $$et{A100PreviewLength})
5945
6229
  {
5946
- Set32u($$exifTool{A100PreviewStart}, $dataPt, $entry{0x201} + 8);
5947
- Set32u($$exifTool{A100PreviewLength}, $dataPt, $entry{0x202} + 8);
6230
+ Set32u($$et{A100PreviewStart}, $dataPt, $entry{0x201} + 8);
6231
+ Set32u($$et{A100PreviewLength}, $dataPt, $entry{0x202} + 8);
5948
6232
  }
5949
6233
  # write TIFF IFD structure
5950
6234
  my $outfile = $$dirInfo{OutFile};
@@ -5952,15 +6236,15 @@ sub FinishARW($$$$)
5952
6236
  Write($outfile, $header, $$dataPt) or return 'Error writing';
5953
6237
  # copy over image data
5954
6238
  if (ref $imageData) {
5955
- $exifTool->CopyImageData($imageData, $outfile) or return 'Error copying image data';
6239
+ $et->CopyImageData($imageData, $outfile) or return 'Error copying image data';
5956
6240
  }
5957
6241
  # write MRW data if necessary
5958
- if ($$exifTool{MRWDirData}) {
6242
+ if ($$et{MRWDirData}) {
5959
6243
  Write($outfile, "\0" x $pad) if $pad; # write padding if necessary
5960
- Write($outfile, $$exifTool{MRWDirData});
5961
- delete $$exifTool{MRWDirData};
6244
+ Write($outfile, $$et{MRWDirData});
6245
+ delete $$et{MRWDirData};
5962
6246
  # set TIFF_END to copy over the MRW image data
5963
- $$exifTool{TIFF_END} = $dataOffset if $dataOffset;
6247
+ $$et{TIFF_END} = $dataOffset if $dataOffset;
5964
6248
  }
5965
6249
  return undef;
5966
6250
  }
@@ -6020,7 +6304,7 @@ sub Decipher($;$)
6020
6304
  # 2) A bug in ExifTool 9.04-9.10 could have double-enciphered these blocks
6021
6305
  sub ProcessEnciphered($$$)
6022
6306
  {
6023
- my ($exifTool, $dirInfo, $tagTablePtr) = @_;
6307
+ my ($et, $dirInfo, $tagTablePtr) = @_;
6024
6308
  my $dataPt = $$dirInfo{DataPt};
6025
6309
  my $dirStart = $$dirInfo{DirStart} || 0;
6026
6310
  my $dirLen = $$dirInfo{DirLen} || (length($$dataPt) - $dirStart);
@@ -6032,20 +6316,20 @@ sub ProcessEnciphered($$$)
6032
6316
  DirStart => 0,
6033
6317
  );
6034
6318
  Decipher(\$data);
6035
- if ($$exifTool{DoubleCipher}) {
6319
+ if ($$et{DoubleCipher}) {
6036
6320
  Decipher(\$data);
6037
- $exifTool->WarnOnce('Some Sony metadata is double-enciphered. Write any tag to fix',1);
6321
+ $et->WarnOnce('Some Sony metadata is double-enciphered. Write any tag to fix',1);
6038
6322
  }
6039
- if ($exifTool->Options('Verbose') > 2) {
6323
+ if ($et->Options('Verbose') > 2) {
6040
6324
  my $tagInfo = $$dirInfo{TagInfo} || { Name => 'data' };
6041
- my $str = $$exifTool{DoubleCipher} ? 'ouble-d' : '';
6042
- $exifTool->VerboseDir("D${str}eciphered $$tagInfo{Name}");
6043
- $exifTool->VerboseDump(\$data,
6044
- Prefix => $exifTool->{INDENT} . ' ',
6325
+ my $str = $$et{DoubleCipher} ? 'ouble-d' : '';
6326
+ $et->VerboseDir("D${str}eciphered $$tagInfo{Name}");
6327
+ $et->VerboseDump(\$data,
6328
+ Prefix => $$et{INDENT} . ' ',
6045
6329
  DataPos => $$dirInfo{DirStart} + $$dirInfo{DataPos} + ($$dirInfo{Base} || 0),
6046
6330
  );
6047
6331
  }
6048
- return $exifTool->ProcessBinaryData(\%dirInfo, $tagTablePtr);
6332
+ return $et->ProcessBinaryData(\%dirInfo, $tagTablePtr);
6049
6333
  }
6050
6334
 
6051
6335
  #------------------------------------------------------------------------------
@@ -6054,19 +6338,19 @@ sub ProcessEnciphered($$$)
6054
6338
  # Returns: cipherdata block or undefined on error
6055
6339
  sub WriteEnciphered($$$)
6056
6340
  {
6057
- my ($exifTool, $dirInfo, $tagTablePtr) = @_;
6058
- $exifTool or return 1;
6341
+ my ($et, $dirInfo, $tagTablePtr) = @_;
6342
+ $et or return 1;
6059
6343
  my $dataPt = $$dirInfo{DataPt};
6060
6344
  my $dirStart = $$dirInfo{DirStart} || 0;
6061
6345
  my $dirLen = $$dirInfo{DirLen} || (length($$dataPt) - $dirStart);
6062
6346
  my $data = substr($$dataPt, $dirStart, $dirLen);
6063
- my $changed = $$exifTool{CHANGED};
6347
+ my $changed = $$et{CHANGED};
6064
6348
  Decipher(\$data);
6065
6349
  # fix double-enciphered data (due to bug in ExifTool 9.04-9.10)
6066
- if ($$exifTool{DoubleCipher}) {
6350
+ if ($$et{DoubleCipher}) {
6067
6351
  Decipher(\$data);
6068
- ++$$exifTool{CHANGED};
6069
- $exifTool->WarnOnce('Fixed double-enciphered Sony metadata',1);
6352
+ ++$$et{CHANGED};
6353
+ $et->WarnOnce('Fixed double-enciphered Sony metadata',1);
6070
6354
  }
6071
6355
  my %dirInfo = (
6072
6356
  %$dirInfo,
@@ -6074,8 +6358,8 @@ sub WriteEnciphered($$$)
6074
6358
  DataPos => $$dirInfo{DataPos} + $dirStart,
6075
6359
  DirStart => 0,
6076
6360
  );
6077
- $data = $exifTool->WriteBinaryData(\%dirInfo, $tagTablePtr);
6078
- if ($changed == $$exifTool{CHANGED}) {
6361
+ $data = $et->WriteBinaryData(\%dirInfo, $tagTablePtr);
6362
+ if ($changed == $$et{CHANGED}) {
6079
6363
  # nothing changed, so recover original data
6080
6364
  $data = substr($$dataPt, $dirStart, $dirLen);
6081
6365
  } elsif (defined $data) {
@@ -6090,10 +6374,10 @@ sub WriteEnciphered($$$)
6090
6374
  # Returns: 1 on success
6091
6375
  sub ProcessSRF($$$)
6092
6376
  {
6093
- my ($exifTool, $dirInfo, $tagTablePtr) = @_;
6377
+ my ($et, $dirInfo, $tagTablePtr) = @_;
6094
6378
  my $dataPt = $$dirInfo{DataPt};
6095
6379
  my $start = $$dirInfo{DirStart};
6096
- my $verbose = $exifTool->Options('Verbose');
6380
+ my $verbose = $et->Options('Verbose');
6097
6381
 
6098
6382
  # process IFD chain
6099
6383
  my ($ifd, $success);
@@ -6106,9 +6390,9 @@ sub ProcessSRF($$$)
6106
6390
  $tagTablePtr = GetTagTable('Image::ExifTool::Exif::Main');
6107
6391
  }
6108
6392
  my $srf = $$dirInfo{DirName} = "SRF$ifd";
6109
- $exifTool->{SET_GROUP1} = $srf;
6110
- $success = Image::ExifTool::Exif::ProcessExif($exifTool, $dirInfo, $tagTablePtr);
6111
- delete $exifTool->{SET_GROUP1};
6393
+ $$et{SET_GROUP1} = $srf;
6394
+ $success = Image::ExifTool::Exif::ProcessExif($et, $dirInfo, $tagTablePtr);
6395
+ delete $$et{SET_GROUP1};
6112
6396
  last unless $success;
6113
6397
  #
6114
6398
  # get pointer to next IFD
@@ -6133,7 +6417,7 @@ sub ProcessSRF($$$)
6133
6417
  $len = $cp + $nextIFD; # decrypt up to $cp
6134
6418
  } elsif ($ifd == 2) {
6135
6419
  # get the key to decrypt IFD2
6136
- $key = $exifTool->{SRF2Key};
6420
+ $key = $$et{SRF2Key};
6137
6421
  $len = length($$dataPt) - $nextIFD; # decrypt rest of maker notes
6138
6422
  } else {
6139
6423
  next; # no decryption needed
@@ -6142,9 +6426,9 @@ sub ProcessSRF($$$)
6142
6426
  Decrypt($dataPt, $nextIFD, $len, $key) if defined $key;
6143
6427
  next unless $verbose > 2;
6144
6428
  # display decrypted data in verbose mode
6145
- $exifTool->VerboseDir("Decrypted SRF$ifd", 0, $nextIFD + $len);
6146
- $exifTool->VerboseDump($dataPt,
6147
- Prefix => "$exifTool->{INDENT} ",
6429
+ $et->VerboseDir("Decrypted SRF$ifd", 0, $nextIFD + $len);
6430
+ $et->VerboseDump($dataPt,
6431
+ Prefix => "$$et{INDENT} ",
6148
6432
  Start => $nextIFD,
6149
6433
  DataPos => $$dirInfo{DataPos},
6150
6434
  );
@@ -6157,11 +6441,11 @@ sub ProcessSRF($$$)
6157
6441
  # Returns: 1 on success when reading, or SR2 directory or undef when writing
6158
6442
  sub WriteSR2($$$)
6159
6443
  {
6160
- my ($exifTool, $dirInfo, $tagTablePtr) = @_;
6161
- $exifTool or return 1; # allow dummy access
6444
+ my ($et, $dirInfo, $tagTablePtr) = @_;
6445
+ $et or return 1; # allow dummy access
6162
6446
  my $buff = '';
6163
6447
  $$dirInfo{OutFile} = \$buff;
6164
- return ProcessSR2($exifTool, $dirInfo, $tagTablePtr);
6448
+ return ProcessSR2($et, $dirInfo, $tagTablePtr);
6165
6449
  }
6166
6450
 
6167
6451
  #------------------------------------------------------------------------------
@@ -6170,7 +6454,7 @@ sub WriteSR2($$$)
6170
6454
  # Returns: 1 on success when reading, or SR2 directory or undef when writing
6171
6455
  sub ProcessSR2($$$)
6172
6456
  {
6173
- my ($exifTool, $dirInfo, $tagTablePtr) = @_;
6457
+ my ($et, $dirInfo, $tagTablePtr) = @_;
6174
6458
  my $raf = $$dirInfo{RAF};
6175
6459
  my $dataPt = $$dirInfo{DataPt};
6176
6460
  my $dataPos = $$dirInfo{DataPos};
@@ -6179,9 +6463,9 @@ sub ProcessSR2($$$)
6179
6463
  my $outfile = $$dirInfo{OutFile};
6180
6464
 
6181
6465
  # clear SR2 member variables to be safe
6182
- delete $$exifTool{SR2SubIFDOffset};
6183
- delete $$exifTool{SR2SubIFDLength};
6184
- delete $$exifTool{SR2SubIFDKey};
6466
+ delete $$et{SR2SubIFDOffset};
6467
+ delete $$et{SR2SubIFDLength};
6468
+ delete $$et{SR2SubIFDKey};
6185
6469
 
6186
6470
  # make sure we have the first 4 bytes available to test directory type
6187
6471
  my $buff;
@@ -6198,10 +6482,10 @@ sub ProcessSR2($$$)
6198
6482
  my $dataOffset;
6199
6483
  if ($dataPt and $$dataPt =~ /^\0MR[IM]/) {
6200
6484
  my ($err, $srfPos, $srfLen, $dataOffset);
6201
- $dataOffset = $$exifTool{A100DataOffset};
6485
+ $dataOffset = $$et{A100DataOffset};
6202
6486
  if ($dataOffset) {
6203
6487
  # save information about the RAW data trailer so it will be preserved
6204
- $$exifTool{KnownTrailer} = { Name => 'A100 RAW Data', Start => $dataOffset };
6488
+ $$et{KnownTrailer} = { Name => 'A100 RAW Data', Start => $dataOffset };
6205
6489
  } else {
6206
6490
  $err = 'A100DataOffset tag is missing from A100 ARW image';
6207
6491
  }
@@ -6214,44 +6498,44 @@ sub ProcessSR2($$$)
6214
6498
  }
6215
6499
  }
6216
6500
  if ($err) {
6217
- $outfile and $exifTool->Error($err), return undef;
6218
- $exifTool->Warn($err);
6501
+ $outfile and $et->Error($err), return undef;
6502
+ $et->Warn($err);
6219
6503
  return 0;
6220
6504
  }
6221
6505
  my %dirInfo = ( DataPt => \$buff );
6222
6506
  require Image::ExifTool::MinoltaRaw;
6223
6507
  if ($outfile) {
6224
6508
  # save MRW data to be written last
6225
- $$exifTool{MRWDirData} = Image::ExifTool::MinoltaRaw::WriteMRW($exifTool, \%dirInfo);
6226
- return $$exifTool{MRWDirData} ? "\0\0\0\0\0\0" : undef;
6509
+ $$et{MRWDirData} = Image::ExifTool::MinoltaRaw::WriteMRW($et, \%dirInfo);
6510
+ return $$et{MRWDirData} ? "\0\0\0\0\0\0" : undef;
6227
6511
  } else {
6228
- if (not $outfile and $$exifTool{HTML_DUMP}) {
6229
- $exifTool->HDump($srfPos, $srfLen, '[A100 SRF Data]');
6512
+ if (not $outfile and $$et{HTML_DUMP}) {
6513
+ $et->HDump($srfPos, $srfLen, '[A100 SRF Data]');
6230
6514
  }
6231
- return Image::ExifTool::MinoltaRaw::ProcessMRW($exifTool, \%dirInfo);
6515
+ return Image::ExifTool::MinoltaRaw::ProcessMRW($et, \%dirInfo);
6232
6516
  }
6233
- } elsif ($$exifTool{A100DataOffset}) {
6517
+ } elsif ($$et{A100DataOffset}) {
6234
6518
  my $err = 'Unexpected A100DataOffset tag';
6235
- $outfile and $exifTool->Error($err), return undef;
6236
- $exifTool->Warn($err);
6519
+ $outfile and $et->Error($err), return undef;
6520
+ $et->Warn($err);
6237
6521
  return 0;
6238
6522
  }
6239
- my $verbose = $exifTool->Options('Verbose');
6523
+ my $verbose = $et->Options('Verbose');
6240
6524
  my $result;
6241
6525
  if ($outfile) {
6242
- $result = Image::ExifTool::Exif::WriteExif($exifTool, $dirInfo, $tagTablePtr);
6526
+ $result = Image::ExifTool::Exif::WriteExif($et, $dirInfo, $tagTablePtr);
6243
6527
  return undef unless $result;
6244
6528
  $$outfile .= $result;
6245
6529
 
6246
6530
  } else {
6247
- $result = Image::ExifTool::Exif::ProcessExif($exifTool, $dirInfo, $tagTablePtr);
6531
+ $result = Image::ExifTool::Exif::ProcessExif($et, $dirInfo, $tagTablePtr);
6248
6532
  }
6249
- return $result unless $result and $$exifTool{SR2SubIFDOffset};
6533
+ return $result unless $result and $$et{SR2SubIFDOffset};
6250
6534
  # only take first offset value if more than one!
6251
- my @offsets = split ' ', $exifTool->{SR2SubIFDOffset};
6535
+ my @offsets = split ' ', $$et{SR2SubIFDOffset};
6252
6536
  my $offset = shift @offsets;
6253
- my $length = $exifTool->{SR2SubIFDLength};
6254
- my $key = $exifTool->{SR2SubIFDKey};
6537
+ my $length = $$et{SR2SubIFDLength};
6538
+ my $key = $$et{SR2SubIFDKey};
6255
6539
  my @subifdPos;
6256
6540
  if ($offset and $length and defined $key) {
6257
6541
  my $buff;
@@ -6265,8 +6549,8 @@ sub ProcessSR2($$$)
6265
6549
  Decrypt(\$buff, 0, $length, $key);
6266
6550
  # display decrypted data in verbose mode
6267
6551
  if ($verbose > 2 and not $outfile) {
6268
- $exifTool->VerboseDir("Decrypted SR2SubIFD", 0, $length);
6269
- $exifTool->VerboseDump(\$buff, Addr => $offset + $base);
6552
+ $et->VerboseDir("Decrypted SR2SubIFD", 0, $length);
6553
+ $et->VerboseDump(\$buff, Addr => $offset + $base);
6270
6554
  }
6271
6555
  my $num = '';
6272
6556
  my $dPos = $offset;
@@ -6283,16 +6567,16 @@ sub ProcessSR2($$$)
6283
6567
  if ($outfile) {
6284
6568
  my $fixup = new Image::ExifTool::Fixup;
6285
6569
  $dirInfo{Fixup} = $fixup;
6286
- $result = $exifTool->WriteDirectory(\%dirInfo, $subTable);
6570
+ $result = $et->WriteDirectory(\%dirInfo, $subTable);
6287
6571
  return undef unless $result;
6288
6572
  # save position of this SubIFD
6289
6573
  push @subifdPos, length($$outfile);
6290
6574
  # add this directory to the returned data
6291
6575
  $$fixup{Start} += length($$outfile);
6292
6576
  $$outfile .= $result;
6293
- $dirInfo->{Fixup}->AddFixup($fixup);
6577
+ $$dirInfo{Fixup}->AddFixup($fixup);
6294
6578
  } else {
6295
- $result = $exifTool->ProcessDirectory(\%dirInfo, $subTable);
6579
+ $result = $et->ProcessDirectory(\%dirInfo, $subTable);
6296
6580
  }
6297
6581
  last unless @offsets;
6298
6582
  $offset = shift @offsets;
@@ -6300,7 +6584,7 @@ sub ProcessSR2($$$)
6300
6584
  }
6301
6585
 
6302
6586
  } else {
6303
- $exifTool->Warn('Error reading SR2 data');
6587
+ $et->Warn('Error reading SR2 data');
6304
6588
  }
6305
6589
  }
6306
6590
  if ($outfile and @subifdPos) {
@@ -6312,9 +6596,9 @@ sub ProcessSR2($$$)
6312
6596
  $$outfile .= ' ' x $pad;
6313
6597
  }
6314
6598
  # save the new SR2SubIFD Length and Key to be used later for encryption
6315
- $$exifTool{SR2SubIFDLength} = $sr2Len;
6316
- my $newKey = $$exifTool{VALUE}{SR2SubIFDKey};
6317
- $$exifTool{SR2SubIFDKey} = $newKey if defined $newKey;
6599
+ $$et{SR2SubIFDLength} = $sr2Len;
6600
+ my $newKey = $$et{VALUE}{SR2SubIFDKey};
6601
+ $$et{SR2SubIFDKey} = $newKey if defined $newKey;
6318
6602
  # update SubIFD pointers manually and add to fixup, and set SR2SubIFDLength
6319
6603
  my $n = Get16u($outfile, 0);
6320
6604
  my ($i, %found);
@@ -6326,7 +6610,7 @@ sub ProcessSR2($$$)
6326
6610
  $found{$tagID} = 1;
6327
6611
  my $fmt = Get16u($outfile, $entry + 2);
6328
6612
  if ($fmt != 0x04) { # must be int32u
6329
- $exifTool->Error("Unexpected format ($fmt) for SR2SubIFD tag");
6613
+ $et->Error("Unexpected format ($fmt) for SR2SubIFD tag");
6330
6614
  return undef;
6331
6615
  }
6332
6616
  if ($tagID == 0x7201) { # SR2SubIFDLength
@@ -6338,13 +6622,13 @@ sub ProcessSR2($$$)
6338
6622
  my $pos;
6339
6623
  foreach $pos (@subifdPos) {
6340
6624
  Set32u($pos, $outfile, $valuePtr);
6341
- $dirInfo->{Fixup}->AddFixup($valuePtr, $tag);
6625
+ $$dirInfo{Fixup}->AddFixup($valuePtr, $tag);
6342
6626
  undef $tag;
6343
6627
  $valuePtr += 4;
6344
6628
  }
6345
6629
  }
6346
6630
  unless ($found{0x7200} and $found{0x7201}) {
6347
- $exifTool->Error('Missing SR2SubIFD tag');
6631
+ $et->Error('Missing SR2SubIFD tag');
6348
6632
  return undef;
6349
6633
  }
6350
6634
  }