exiftool_vendored 9.33.1 → 9.37.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 (873) hide show
  1. checksums.yaml +8 -8
  2. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/Changes +72 -3
  3. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/MANIFEST +10 -0
  4. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/META.yml +1 -1
  5. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/Makefile.PL +0 -0
  6. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/README +32 -31
  7. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/exif2iptc.args +5 -1
  8. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/exif2xmp.args +5 -1
  9. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/gps2xmp.args +5 -1
  10. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/iptc2exif.args +4 -0
  11. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/iptc2xmp.args +5 -1
  12. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/iptcCore.args +0 -0
  13. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/pdf2xmp.args +4 -0
  14. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/xmp2exif.args +5 -1
  15. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/xmp2gps.args +5 -1
  16. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/xmp2iptc.args +4 -0
  17. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/arg_files/xmp2pdf.args +4 -0
  18. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/config_files/ExifTool_config +0 -0
  19. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/config_files/convert_regions.config +0 -0
  20. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/exiftool +75 -68
  21. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/fmt_files/gpx.fmt +0 -0
  22. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/fmt_files/gpx_wpt.fmt +0 -0
  23. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/fmt_files/kml.fmt +0 -0
  24. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/ExifTool.html +0 -0
  25. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/MIE1.1-20070121.pdf +0 -0
  26. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/Shift.html +0 -0
  27. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/AFCP.html +0 -0
  28. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/AIFF.html +0 -0
  29. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/APE.html +0 -0
  30. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/APP12.html +0 -0
  31. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/ASF.html +0 -0
  32. data/bin/Image-ExifTool-9.37/html/TagNames/Apple.html +66 -0
  33. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/BMP.html +0 -0
  34. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Canon.html +118 -5
  35. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/CanonCustom.html +0 -0
  36. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/CanonRaw.html +0 -0
  37. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/CanonVRD.html +0 -0
  38. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Casio.html +0 -0
  39. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Composite.html +5 -4
  40. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/DICOM.html +0 -0
  41. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/DNG.html +8 -4
  42. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/DV.html +0 -0
  43. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/DarwinCore.html +0 -0
  44. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/DjVu.html +0 -0
  45. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/EXE.html +0 -0
  46. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/EXIF.html +11 -7
  47. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Extra.html +0 -0
  48. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/FLAC.html +0 -0
  49. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/FLIR.html +0 -0
  50. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Flash.html +0 -0
  51. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/FlashPix.html +0 -0
  52. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Font.html +0 -0
  53. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/FotoStation.html +0 -0
  54. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/FujiFilm.html +79 -12
  55. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/GE.html +0 -0
  56. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/GIF.html +0 -0
  57. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/GIMP.html +0 -0
  58. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/GPS.html +5 -3
  59. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/GeoTiff.html +0 -0
  60. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/H264.html +0 -0
  61. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/HP.html +0 -0
  62. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/HTML.html +0 -0
  63. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/ICC_Profile.html +0 -0
  64. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/ID3.html +0 -0
  65. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/IPTC.html +0 -0
  66. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/ITC.html +0 -0
  67. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/JFIF.html +0 -0
  68. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/JPEG.html +2 -32
  69. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/JVC.html +0 -0
  70. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Jpeg2000.html +3 -3
  71. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Kodak.html +0 -0
  72. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/KyoceraRaw.html +0 -0
  73. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/LNK.html +0 -0
  74. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Leaf.html +0 -0
  75. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/M2TS.html +0 -0
  76. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MIE.html +0 -0
  77. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MIFF.html +0 -0
  78. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MNG.html +0 -0
  79. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MPC.html +0 -0
  80. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MPEG.html +0 -0
  81. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MPF.html +0 -0
  82. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MWG.html +5 -1
  83. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MXF.html +2 -2
  84. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Matroska.html +0 -0
  85. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Microsoft.html +2 -2
  86. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Minolta.html +0 -0
  87. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/MinoltaRaw.html +0 -0
  88. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Nikon.html +9 -3
  89. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/NikonCapture.html +0 -0
  90. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/NikonCustom.html +0 -0
  91. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/OOXML.html +0 -0
  92. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Ogg.html +0 -0
  93. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Olympus.html +155 -140
  94. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/OpenEXR.html +0 -0
  95. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PDF.html +0 -0
  96. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PGF.html +0 -0
  97. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PICT.html +0 -0
  98. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PLIST.html +0 -0
  99. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PNG.html +22 -16
  100. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PSP.html +0 -0
  101. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Panasonic.html +27 -5
  102. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PanasonicRaw.html +0 -0
  103. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Pentax.html +135 -115
  104. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PhaseOne.html +0 -0
  105. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PhotoCD.html +0 -0
  106. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PhotoMechanic.html +0 -0
  107. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Photoshop.html +0 -0
  108. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PostScript.html +0 -0
  109. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/PrintIM.html +0 -0
  110. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Qualcomm.html +0 -0
  111. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/QuickTime.html +11 -1
  112. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/RIFF.html +2 -1
  113. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/RSRC.html +0 -0
  114. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/RTF.html +0 -0
  115. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Radiance.html +0 -0
  116. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Rawzor.html +0 -0
  117. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Real.html +0 -0
  118. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Reconyx.html +0 -0
  119. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Ricoh.html +306 -7
  120. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Samsung.html +0 -0
  121. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Sanyo.html +0 -0
  122. data/bin/Image-ExifTool-9.37/html/TagNames/Scalado.html +45 -0
  123. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Shortcuts.html +3 -1
  124. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Sigma.html +0 -0
  125. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/SigmaRaw.html +0 -0
  126. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Sony.html +1204 -266
  127. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/SonyIDC.html +0 -0
  128. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Stim.html +0 -0
  129. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Theora.html +0 -0
  130. data/bin/Image-ExifTool-9.37/html/TagNames/Torrent.html +187 -0
  131. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Unknown.html +0 -0
  132. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/Vorbis.html +0 -0
  133. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/XMP.html +49 -5
  134. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/ZIP.html +0 -0
  135. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/iWork.html +0 -0
  136. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/index.html +12 -9
  137. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/TagNames/style.css +0 -0
  138. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/ancient_history.html +0 -0
  139. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/canon_raw.html +0 -0
  140. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/commentary.html +0 -0
  141. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/config.html +0 -0
  142. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/data_members.html +0 -0
  143. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/exiftool_pod.html +74 -67
  144. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/faq.html +4 -4
  145. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/filename.html +3 -2
  146. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/geotag.html +0 -0
  147. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/history.html +76 -3
  148. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/htmldump.html +0 -0
  149. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/idiosyncracies.html +39 -29
  150. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/index.html +12 -10
  151. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/install.html +0 -0
  152. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/metafiles.html +0 -0
  153. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/overview.png +0 -0
  154. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/standards.html +0 -0
  155. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/struct.html +0 -0
  156. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/style.css +0 -0
  157. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/under.html +0 -0
  158. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/verbose.html +0 -0
  159. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/html/writing.html +0 -0
  160. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/File/RandomAccess.pm +0 -0
  161. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/File/RandomAccess.pod +0 -0
  162. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool.pm +18 -8
  163. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool.pod +32 -31
  164. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/AES.pm +0 -0
  165. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/AFCP.pm +0 -0
  166. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/AIFF.pm +0 -0
  167. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/APE.pm +0 -0
  168. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/APP12.pm +0 -0
  169. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/ASF.pm +0 -0
  170. data/bin/Image-ExifTool-9.37/lib/Image/ExifTool/Apple.pm +101 -0
  171. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/BMP.pm +0 -0
  172. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/BZZ.pm +0 -0
  173. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/BigTIFF.pm +0 -0
  174. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/BuildTagLookup.pm +14 -5
  175. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Canon.pm +105 -5
  176. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/CanonCustom.pm +0 -0
  177. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/CanonRaw.pm +0 -0
  178. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/CanonVRD.pm +0 -0
  179. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/CaptureOne.pm +0 -0
  180. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Casio.pm +0 -0
  181. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset.pm +0 -0
  182. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  183. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  184. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  185. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  186. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  187. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  188. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  189. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  190. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  191. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  192. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  193. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  194. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  195. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  196. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  197. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  198. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  199. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  200. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  201. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  202. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  203. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  204. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  205. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  206. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  207. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  208. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  209. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  210. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  211. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  212. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/DICOM.pm +0 -0
  213. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/DNG.pm +0 -0
  214. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/DV.pm +0 -0
  215. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/DarwinCore.pm +0 -0
  216. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/DjVu.pm +0 -0
  217. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/EXE.pm +0 -0
  218. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Exif.pm +23 -7
  219. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/FLAC.pm +0 -0
  220. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/FLIR.pm +0 -0
  221. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Fixup.pm +0 -0
  222. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Flash.pm +0 -0
  223. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/FlashPix.pm +0 -0
  224. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Font.pm +0 -0
  225. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/FotoStation.pm +0 -0
  226. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/FujiFilm.pm +84 -18
  227. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/GE.pm +0 -0
  228. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/GIF.pm +0 -0
  229. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/GIMP.pm +0 -0
  230. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/GPS.pm +4 -1
  231. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/GeoTiff.pm +0 -0
  232. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Geotag.pm +0 -0
  233. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/H264.pm +0 -0
  234. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/HP.pm +0 -0
  235. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/HTML.pm +0 -0
  236. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/HtmlDump.pm +0 -0
  237. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/ICC_Profile.pm +0 -0
  238. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/ID3.pm +0 -0
  239. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/IPTC.pm +0 -0
  240. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/ITC.pm +0 -0
  241. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Import.pm +0 -0
  242. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/InDesign.pm +0 -0
  243. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/JPEG.pm +2 -72
  244. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/JPEGDigest.pm +0 -0
  245. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/JVC.pm +0 -0
  246. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Jpeg2000.pm +0 -0
  247. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Kodak.pm +0 -0
  248. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/KyoceraRaw.pm +0 -0
  249. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/LNK.pm +0 -0
  250. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/cs.pm +0 -0
  251. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/de.pm +0 -0
  252. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/en_ca.pm +0 -0
  253. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/en_gb.pm +0 -0
  254. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/es.pm +1 -0
  255. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/fi.pm +0 -0
  256. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/fr.pm +0 -0
  257. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/it.pm +1 -0
  258. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/ja.pm +0 -0
  259. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/ko.pm +0 -0
  260. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/nl.pm +0 -0
  261. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/pl.pm +0 -0
  262. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/ru.pm +0 -0
  263. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/sv.pm +0 -0
  264. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/tr.pm +0 -0
  265. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/zh_cn.pm +0 -0
  266. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Lang/zh_tw.pm +0 -0
  267. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Leaf.pm +0 -0
  268. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/M2TS.pm +0 -0
  269. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MIE.pm +0 -0
  270. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MIEUnits.pod +0 -0
  271. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MIFF.pm +0 -0
  272. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MNG.pm +0 -0
  273. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MPC.pm +0 -0
  274. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MPEG.pm +0 -0
  275. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MPF.pm +0 -0
  276. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MWG.pm +37 -25
  277. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MXF.pm +2 -2
  278. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MakerNotes.pm +34 -11
  279. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Matroska.pm +0 -0
  280. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Microsoft.pm +2 -2
  281. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Minolta.pm +0 -0
  282. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/MinoltaRaw.pm +0 -0
  283. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Nikon.pm +8 -1
  284. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/NikonCapture.pm +0 -0
  285. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/NikonCustom.pm +0 -0
  286. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/OOXML.pm +0 -0
  287. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Ogg.pm +0 -0
  288. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Olympus.pm +22 -2
  289. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/OpenEXR.pm +0 -0
  290. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PDF.pm +0 -0
  291. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PGF.pm +0 -0
  292. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PICT.pm +0 -0
  293. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PLIST.pm +7 -3
  294. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PNG.pm +20 -5
  295. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PPM.pm +0 -0
  296. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PSP.pm +0 -0
  297. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Panasonic.pm +83 -21
  298. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PanasonicRaw.pm +0 -0
  299. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Pentax.pm +56 -23
  300. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PhaseOne.pm +0 -0
  301. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PhotoCD.pm +0 -0
  302. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PhotoMechanic.pm +0 -0
  303. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Photoshop.pm +0 -0
  304. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PostScript.pm +0 -0
  305. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/PrintIM.pm +0 -0
  306. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Qualcomm.pm +0 -0
  307. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/QuickTime.pm +19 -7
  308. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/README +1 -1
  309. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/RIFF.pm +3 -1
  310. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/RSRC.pm +0 -0
  311. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/RTF.pm +0 -0
  312. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Radiance.pm +0 -0
  313. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Rawzor.pm +0 -0
  314. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Real.pm +0 -0
  315. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Reconyx.pm +0 -0
  316. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Ricoh.pm +301 -3
  317. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Samsung.pm +0 -0
  318. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Sanyo.pm +0 -0
  319. data/bin/Image-ExifTool-9.37/lib/Image/ExifTool/Scalado.pm +141 -0
  320. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Shift.pl +0 -0
  321. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Shortcuts.pm +3 -1
  322. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Sigma.pm +0 -0
  323. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/SigmaRaw.pm +0 -0
  324. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Sony.pm +938 -251
  325. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/SonyIDC.pm +0 -0
  326. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Stim.pm +0 -0
  327. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/TagInfoXML.pm +0 -0
  328. data/bin/Image-ExifTool-9.37/lib/Image/ExifTool/TagLookup.pm +8092 -0
  329. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/TagNames.pod +408 -29
  330. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Theora.pm +0 -0
  331. data/bin/Image-ExifTool-9.37/lib/Image/ExifTool/Torrent.pm +317 -0
  332. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Unknown.pm +0 -0
  333. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Vorbis.pm +0 -0
  334. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WriteCanonRaw.pl +0 -0
  335. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WriteExif.pl +7 -3
  336. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WriteIPTC.pl +0 -0
  337. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WritePDF.pl +0 -0
  338. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WritePNG.pl +0 -0
  339. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WritePhotoshop.pl +0 -0
  340. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WritePostScript.pl +0 -0
  341. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/WriteXMP.pl +0 -0
  342. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/Writer.pl +7 -3
  343. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/XMP.pm +33 -3
  344. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/XMP2.pl +0 -0
  345. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/XMPStruct.pl +1 -1
  346. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/ZIP.pm +0 -0
  347. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/lib/Image/ExifTool/iWork.pm +0 -0
  348. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/perl-Image-ExifTool.spec +33 -32
  349. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/AFCP.t +0 -0
  350. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/AFCP_2.out +0 -0
  351. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/AFCP_3.out +0 -0
  352. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/AIFF.t +0 -0
  353. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/AIFF_2.out +0 -0
  354. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/APE.t +0 -0
  355. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/APE_2.out +0 -0
  356. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/APE_3.out +0 -0
  357. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ASF.t +0 -0
  358. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ASF_2.out +0 -0
  359. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/BMP.t +0 -0
  360. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/BMP_2.out +0 -0
  361. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/BigTIFF.t +0 -0
  362. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/BigTIFF_2.out +0 -0
  363. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Canon.t +0 -0
  364. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonRaw.t +0 -0
  365. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonRaw_2.out +0 -0
  366. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonRaw_4.out +0 -0
  367. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonRaw_5.out +0 -0
  368. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonRaw_6.out +0 -0
  369. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonRaw_7.out +0 -0
  370. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD.t +0 -0
  371. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_11.out +0 -0
  372. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_12.out +0 -0
  373. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_2.out +0 -0
  374. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_3.out +0 -0
  375. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_4.out +0 -0
  376. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_5.out +0 -0
  377. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_6.out +0 -0
  378. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_7.out +0 -0
  379. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_8.out +0 -0
  380. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/CanonVRD_9.out +0 -0
  381. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Canon_2.out +0 -0
  382. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Canon_3.out +0 -0
  383. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Casio.t +0 -0
  384. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Casio_2.out +0 -0
  385. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Casio_3.out +0 -0
  386. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Casio_4.out +0 -0
  387. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Casio_5.out +0 -0
  388. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Casio_6.out +0 -0
  389. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DICOM.t +0 -0
  390. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DICOM_2.out +0 -0
  391. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DNG.t +0 -0
  392. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DNG_2.out +0 -0
  393. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DNG_3.out +0 -0
  394. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DV.t +0 -0
  395. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DV_2.out +0 -0
  396. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DjVu.t +0 -0
  397. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/DjVu_2.out +0 -0
  398. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/EXE.t +0 -0
  399. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/EXE_2.out +0 -0
  400. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/EXE_3.out +0 -0
  401. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/EXE_4.out +0 -0
  402. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool.t +0 -0
  403. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_16.out +0 -0
  404. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_17.out +0 -0
  405. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_2.out +4 -4
  406. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_20.out +0 -0
  407. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_21.out +0 -0
  408. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_22.out +0 -0
  409. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_23.out +0 -0
  410. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_24.out +0 -0
  411. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_25.out +0 -0
  412. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_26.out +0 -0
  413. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_3.out +0 -0
  414. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_4.out +0 -0
  415. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_5.out +0 -0
  416. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_6.out +0 -0
  417. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_7.out +0 -0
  418. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_8.out +0 -0
  419. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ExifTool_9.out +0 -0
  420. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FLAC.t +0 -0
  421. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FLAC_2.out +0 -0
  422. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FLAC_3.out +0 -0
  423. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FLIR.t +0 -0
  424. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FLIR_2.out +0 -0
  425. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FLIR_3.out +0 -0
  426. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Flash.t +0 -0
  427. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FlashPix.t +0 -0
  428. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FlashPix_2.out +0 -0
  429. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Flash_2.out +0 -0
  430. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Flash_3.out +0 -0
  431. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Font.t +0 -0
  432. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Font_2.out +0 -0
  433. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Font_3.out +0 -0
  434. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Font_4.out +0 -0
  435. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Font_5.out +0 -0
  436. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Font_6.out +0 -0
  437. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Font_7.out +0 -0
  438. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FotoStation.t +0 -0
  439. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FotoStation_2.out +0 -0
  440. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FotoStation_3.out +0 -0
  441. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FujiFilm.t +0 -0
  442. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FujiFilm_2.out +0 -0
  443. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FujiFilm_3.out +0 -0
  444. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FujiFilm_4.out +3 -1
  445. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/FujiFilm_5.out +0 -0
  446. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GE.t +0 -0
  447. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GE_2.out +0 -0
  448. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GE_3.out +0 -0
  449. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GIF.t +0 -0
  450. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GIF_2.out +0 -0
  451. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GIF_3.out +0 -0
  452. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GIF_4.out +0 -0
  453. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GIMP.t +0 -0
  454. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GIMP_2.out +0 -0
  455. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GPS.t +0 -0
  456. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GPS_2.out +0 -0
  457. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GPS_3.out +0 -0
  458. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GeoTiff.t +0 -0
  459. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GeoTiff_2.out +0 -0
  460. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/GeoTiff_3.out +0 -0
  461. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Geotag.t +0 -0
  462. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Geotag_2.out +0 -0
  463. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Geotag_3.out +0 -0
  464. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Geotag_5.out +0 -0
  465. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Geotag_6.out +0 -0
  466. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Geotag_7.out +0 -0
  467. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Geotag_8.out +0 -0
  468. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/HTML.t +0 -0
  469. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/HTML_2.out +0 -0
  470. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/IPTC.t +0 -0
  471. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/IPTC_2.out +0 -0
  472. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/IPTC_4.out +0 -0
  473. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/IPTC_5.out +0 -0
  474. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/IPTC_6.out +0 -0
  475. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/IPTC_7.out +0 -0
  476. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/IPTC_8.out +0 -0
  477. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ITC.t +0 -0
  478. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ITC_2.out +0 -0
  479. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/InDesign.t +0 -0
  480. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/InDesign_2.out +0 -0
  481. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/InDesign_3.out +0 -0
  482. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/InDesign_4.out +0 -0
  483. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/JVC.t +0 -0
  484. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/JVC_2.out +0 -0
  485. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/JVC_3.out +0 -0
  486. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Jpeg2000.t +0 -0
  487. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Jpeg2000_2.out +0 -0
  488. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Jpeg2000_3.out +0 -0
  489. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Jpeg2000_4.out +0 -0
  490. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Kodak.t +0 -0
  491. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Kodak_2.out +0 -0
  492. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Kodak_3.out +0 -0
  493. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/KyoceraRaw.t +0 -0
  494. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/KyoceraRaw_2.out +0 -0
  495. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/LNK.t +0 -0
  496. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/LNK_2.out +0 -0
  497. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang.t +0 -0
  498. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_1.out +0 -0
  499. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_10.out +0 -0
  500. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_11.out +0 -0
  501. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_12.out +0 -0
  502. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_13.out +0 -0
  503. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_14.out +0 -0
  504. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_15.out +0 -0
  505. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_16.out +0 -0
  506. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_17.out +0 -0
  507. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_18.out +0 -0
  508. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_2.out +0 -0
  509. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_3.out +0 -0
  510. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_4.out +0 -0
  511. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_5.out +0 -0
  512. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_6.out +0 -0
  513. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_7.out +0 -0
  514. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_8.out +0 -0
  515. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Lang_9.out +0 -0
  516. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/M2TS.t +0 -0
  517. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/M2TS_2.out +0 -0
  518. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MIE.t +0 -0
  519. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MIE_2.out +0 -0
  520. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MIE_3.out +0 -0
  521. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MIE_5.out +0 -0
  522. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MIE_6.out +0 -0
  523. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MIFF.t +0 -0
  524. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MIFF_2.out +0 -0
  525. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MP3.t +0 -0
  526. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MP3_2.out +0 -0
  527. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MWG.t +21 -3
  528. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MWG_2.out +0 -0
  529. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MWG_3.out +3 -0
  530. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MWG_4.out +2 -0
  531. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MWG_5.out +0 -0
  532. data/bin/Image-ExifTool-9.37/t/MWG_6.out +2 -0
  533. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MXF.t +0 -0
  534. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/MXF_2.out +0 -0
  535. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Matroska.t +0 -0
  536. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Matroska_2.out +0 -0
  537. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Minolta.t +0 -0
  538. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Minolta_2.out +0 -0
  539. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Minolta_3.out +0 -0
  540. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Minolta_4.out +0 -0
  541. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Nikon.t +0 -0
  542. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Nikon_2.out +0 -0
  543. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Nikon_3.out +0 -0
  544. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Nikon_4.out +0 -0
  545. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Nikon_5.out +0 -0
  546. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Nikon_7.out +0 -0
  547. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Nikon_8.out +0 -0
  548. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Olympus.t +0 -0
  549. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Olympus_2.out +0 -0
  550. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Olympus_3.out +0 -0
  551. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Olympus_4.out +0 -0
  552. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Olympus_5.out +0 -0
  553. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Olympus_6.out +0 -0
  554. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Olympus_7.out +0 -0
  555. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/OpenEXR.t +0 -0
  556. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/OpenEXR_2.out +0 -0
  557. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF.t +0 -0
  558. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_10.out +0 -0
  559. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_11.out +0 -0
  560. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_12.out +0 -0
  561. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_14.out +0 -0
  562. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_15.out +0 -0
  563. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_16.out +0 -0
  564. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_17.out +0 -0
  565. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_18.out +0 -0
  566. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_19.out +0 -0
  567. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_2.out +0 -0
  568. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_20.out +0 -0
  569. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_22.out +0 -0
  570. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_4.out +0 -0
  571. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_5.out +0 -0
  572. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_6.out +0 -0
  573. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_7.out +0 -0
  574. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_8.out +0 -0
  575. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PDF_9.out +0 -0
  576. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PGF.t +0 -0
  577. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PGF_2.out +0 -0
  578. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PICT.t +0 -0
  579. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PICT_2.out +0 -0
  580. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PLIST.t +0 -0
  581. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PLIST_2.out +0 -0
  582. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PLIST_3.out +0 -0
  583. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PNG.t +0 -0
  584. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PNG_2.out +0 -0
  585. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PNG_3.out +0 -0
  586. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PNG_4.out +0 -0
  587. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PPM.t +0 -0
  588. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PPM_2.out +0 -0
  589. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PPM_3.out +0 -0
  590. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PSP.t +0 -0
  591. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PSP_2.out +0 -0
  592. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Panasonic.t +0 -0
  593. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Panasonic_2.out +0 -0
  594. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Panasonic_3.out +0 -0
  595. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Panasonic_4.out +0 -0
  596. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Panasonic_5.out +0 -0
  597. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Pentax.t +0 -0
  598. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Pentax_2.out +0 -0
  599. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Pentax_3.out +0 -0
  600. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Pentax_4.out +0 -0
  601. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PhotoCD.t +0 -0
  602. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PhotoCD_2.out +0 -0
  603. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PhotoMechanic.t +0 -0
  604. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PhotoMechanic_2.out +0 -0
  605. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PhotoMechanic_3.out +0 -0
  606. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Photoshop.t +0 -0
  607. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Photoshop_2.out +0 -0
  608. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Photoshop_3.out +0 -0
  609. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PostScript.t +0 -0
  610. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PostScript_2.out +0 -0
  611. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/PostScript_3.out +0 -0
  612. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/QuickTime.t +0 -0
  613. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/QuickTime_2.out +0 -0
  614. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/QuickTime_3.out +0 -0
  615. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/RIFF.t +0 -0
  616. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/RIFF_2.out +0 -0
  617. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/RIFF_3.out +0 -0
  618. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/RIFF_4.out +0 -0
  619. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/RTF.t +0 -0
  620. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/RTF_2.out +0 -0
  621. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Radiance.t +0 -0
  622. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Radiance_2.out +0 -0
  623. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Real.t +0 -0
  624. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Real_2.out +0 -0
  625. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Real_3.out +0 -0
  626. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Real_4.out +0 -0
  627. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Ricoh.t +0 -0
  628. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Ricoh_2.out +0 -0
  629. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Ricoh_3.out +0 -0
  630. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Ricoh_4.out +0 -0
  631. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sanyo.t +0 -0
  632. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sanyo_2.out +0 -0
  633. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sanyo_3.out +0 -0
  634. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sigma.t +0 -0
  635. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sigma_2.out +0 -0
  636. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sigma_3.out +0 -0
  637. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sigma_4.out +0 -0
  638. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sigma_5.out +0 -0
  639. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sony.t +0 -0
  640. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sony_2.out +0 -0
  641. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sony_3.out +0 -0
  642. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Sony_5.out +0 -0
  643. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/TestLib.pm +0 -0
  644. data/bin/Image-ExifTool-9.37/t/Torrent.t +28 -0
  645. data/bin/Image-ExifTool-9.37/t/Torrent_2.out +31 -0
  646. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Unknown.t +0 -0
  647. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Unknown_2.out +0 -0
  648. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Unknown_3.out +0 -0
  649. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Vorbis.t +0 -0
  650. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Vorbis_2.out +0 -0
  651. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer.t +0 -0
  652. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_10.out +0 -0
  653. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_11.out +0 -0
  654. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_13.out +0 -0
  655. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_14.out +0 -0
  656. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_15.out +0 -0
  657. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_16.out +0 -0
  658. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_17.out +0 -0
  659. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_18.out +0 -0
  660. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_19.out +0 -0
  661. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_2.out +0 -0
  662. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_22.out +0 -0
  663. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_24.out +0 -0
  664. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_25.out +0 -0
  665. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_26.out +0 -0
  666. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_27.out +0 -0
  667. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_28.out +0 -0
  668. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_29.out +0 -0
  669. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_30.out +0 -0
  670. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_31.out +0 -0
  671. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_32.out +0 -0
  672. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_33.out +0 -0
  673. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_34.out +0 -0
  674. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_35.out +0 -0
  675. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_36.out +0 -0
  676. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_37.out +0 -0
  677. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_38.out +0 -0
  678. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_39.out +0 -0
  679. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_4.out +0 -0
  680. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_40.out +0 -0
  681. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_41.out +0 -0
  682. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_42.out +0 -0
  683. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_43.out +0 -0
  684. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_44.out +0 -0
  685. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_45.out +0 -0
  686. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_46.out +0 -0
  687. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_47.out +0 -0
  688. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_48.out +0 -0
  689. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_50.out +0 -0
  690. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_51.out +5 -5
  691. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_6.out +0 -0
  692. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_7.out +0 -0
  693. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/Writer_9.out +0 -0
  694. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP.t +0 -0
  695. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_10.out +0 -0
  696. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_11.out +0 -0
  697. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_12.out +0 -0
  698. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_13.out +0 -0
  699. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_14.out +0 -0
  700. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_15.out +0 -0
  701. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_16.out +0 -0
  702. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_17.out +0 -0
  703. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_18.out +0 -0
  704. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_19.out +0 -0
  705. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_2.out +0 -0
  706. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_20.out +0 -0
  707. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_21.out +0 -0
  708. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_22.out +0 -0
  709. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_23.out +0 -0
  710. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_24.out +0 -0
  711. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_25.out +0 -0
  712. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_26.out +0 -0
  713. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_27.out +0 -0
  714. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_28.out +0 -0
  715. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_29.out +0 -0
  716. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_3.out +0 -0
  717. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_30.out +0 -0
  718. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_31.out +0 -0
  719. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_32.out +0 -0
  720. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_34.out +0 -0
  721. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_36.out +0 -0
  722. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_37.out +0 -0
  723. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_39.out +0 -0
  724. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_40.out +0 -0
  725. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_41.out +0 -0
  726. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_5.out +0 -0
  727. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_6.out +0 -0
  728. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_7.out +0 -0
  729. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_8.out +0 -0
  730. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/XMP_9.out +0 -0
  731. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ZIP.t +0 -0
  732. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ZIP_2.out +0 -0
  733. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ZIP_3.out +0 -0
  734. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ZIP_4.out +0 -0
  735. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ZIP_5.out +0 -0
  736. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ZIP_6.out +0 -0
  737. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/ZIP_7.out +0 -0
  738. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/AFCP.jpg +0 -0
  739. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/AIFF.aif +0 -0
  740. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/APE.ape +0 -0
  741. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/APE.mpc +0 -0
  742. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/ASF.wmv +0 -0
  743. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/BMP.bmp +0 -0
  744. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/BigTIFF.btf +0 -0
  745. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Canon.jpg +0 -0
  746. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Canon1DmkIII.jpg +0 -0
  747. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/CanonRaw.cr2 +0 -0
  748. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/CanonRaw.crw +0 -0
  749. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/CanonVRD.vrd +0 -0
  750. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/CaptureOne.eip +0 -0
  751. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Casio.jpg +0 -0
  752. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Casio2.jpg +0 -0
  753. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/CasioQVCI.jpg +0 -0
  754. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/DICOM.dcm +0 -0
  755. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/DNG.dng +0 -0
  756. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/DV.dv +0 -0
  757. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/DjVu.djvu +0 -0
  758. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/EXE.elf +0 -0
  759. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/EXE.exe +0 -0
  760. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/EXE.macho +0 -0
  761. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/ExifTool.jpg +0 -0
  762. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/ExifTool.tif +0 -0
  763. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/ExtendedXMP.jpg +0 -0
  764. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FLAC.flac +0 -0
  765. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FLAC.ogg +0 -0
  766. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FLIR.fpf +0 -0
  767. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FLIR.jpg +0 -0
  768. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Flash.flv +0 -0
  769. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Flash.swf +0 -0
  770. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FlashPix.ppt +0 -0
  771. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Font.afm +0 -0
  772. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Font.dfont +0 -0
  773. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Font.pfa +0 -0
  774. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Font.pfb +0 -0
  775. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Font.pfm +0 -0
  776. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Font.ttf +0 -0
  777. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FotoStation.jpg +0 -0
  778. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FujiFilm.jpg +0 -0
  779. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/FujiFilm.raf +0 -0
  780. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/GE.jpg +0 -0
  781. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/GIF.gif +0 -0
  782. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/GIMP.xcf +0 -0
  783. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/GPS.jpg +0 -0
  784. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/GeoTiff.tif +0 -0
  785. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Geotag.gpx +0 -0
  786. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Geotag.igc +0 -0
  787. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Geotag.log +0 -0
  788. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Geotag.xml +0 -0
  789. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Geotag2.log +0 -0
  790. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/HTML.html +0 -0
  791. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/IPTC.jpg +0 -0
  792. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/ITC.itc +0 -0
  793. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/InDesign.indd +0 -0
  794. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/JVC.jpg +0 -0
  795. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/JVC2.jpg +0 -0
  796. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Jpeg2000.j2c +0 -0
  797. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Jpeg2000.jp2 +0 -0
  798. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Kodak.jpg +0 -0
  799. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/KyoceraRaw.raw +0 -0
  800. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/LNK.lnk +0 -0
  801. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/M2TS.mts +0 -0
  802. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/MIE.mie +0 -0
  803. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/MIFF.miff +0 -0
  804. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/MP3.mp3 +0 -0
  805. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/MWG.jpg +0 -0
  806. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/MXF.mxf +0 -0
  807. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Matroska.mkv +0 -0
  808. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Minolta.jpg +0 -0
  809. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Minolta.mrw +0 -0
  810. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Nikon.jpg +0 -0
  811. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Nikon.nef +0 -0
  812. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/NikonD2Hs.jpg +0 -0
  813. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/NikonD70.jpg +0 -0
  814. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/OOXML.docx +0 -0
  815. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Olympus.jpg +0 -0
  816. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Olympus2.jpg +0 -0
  817. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/OlympusE1.jpg +0 -0
  818. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/OpenDoc.ods +0 -0
  819. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/OpenEXR.exr +0 -0
  820. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PDF.pdf +0 -0
  821. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PDF2.pdf +0 -0
  822. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PGF.pgf +0 -0
  823. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PICT.pict +0 -0
  824. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PLIST-bin.plist +0 -0
  825. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PLIST-xml.plist +0 -0
  826. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PNG.png +0 -0
  827. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PPM.ppm +0 -0
  828. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PSP.psp +0 -0
  829. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Panasonic.jpg +0 -0
  830. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Panasonic.rw2 +0 -0
  831. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Pentax.avi +0 -0
  832. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Pentax.jpg +0 -0
  833. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PhotoCD.pcd +0 -0
  834. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PhotoMechanic.jpg +0 -0
  835. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Photoshop.psd +0 -0
  836. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/PostScript.eps +0 -0
  837. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/QuickTime.m4a +0 -0
  838. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/QuickTime.mov +0 -0
  839. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/RIFF.avi +0 -0
  840. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/RIFF.wav +0 -0
  841. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/RIFF.webp +0 -0
  842. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/RTF.rtf +0 -0
  843. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Radiance.hdr +0 -0
  844. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Real.ra +0 -0
  845. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Real.ram +0 -0
  846. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Real.rm +0 -0
  847. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Ricoh.jpg +0 -0
  848. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Ricoh2.jpg +0 -0
  849. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Sanyo.jpg +0 -0
  850. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Sigma.jpg +0 -0
  851. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Sigma.x3f +0 -0
  852. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/SigmaDP2.x3f +0 -0
  853. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Sony.jpg +0 -0
  854. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Sony.pmp +0 -0
  855. data/bin/Image-ExifTool-9.37/t/images/Torrent.torrent +1 -0
  856. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Unknown.jpg +0 -0
  857. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Vorbis.ogg +0 -0
  858. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/Writer.jpg +0 -0
  859. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP.inx +0 -0
  860. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP.jpg +0 -0
  861. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP.svg +0 -0
  862. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP.xml +0 -0
  863. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP.xmp +0 -0
  864. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP2.xmp +0 -0
  865. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP3.xmp +0 -0
  866. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP4.xmp +0 -0
  867. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/XMP5.xmp +0 -0
  868. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/ZIP.gz +0 -0
  869. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/ZIP.zip +0 -0
  870. data/bin/{Image-ExifTool-9.33 → Image-ExifTool-9.37}/t/images/iWork.numbers +0 -0
  871. data/lib/exiftool_vendored/version.rb +1 -1
  872. metadata +871 -861
  873. data/bin/Image-ExifTool-9.33/lib/Image/ExifTool/TagLookup.pm +0 -8005
@@ -0,0 +1,141 @@
1
+ #------------------------------------------------------------------------------
2
+ # File: Scalado.pm
3
+ #
4
+ # Description: Read APP4 SCALADO metadata
5
+ #
6
+ # Revisions: 2013-09-13 - P. Harvey Created
7
+ #------------------------------------------------------------------------------
8
+
9
+ package Image::ExifTool::Scalado;
10
+
11
+ use strict;
12
+ use vars qw($VERSION);
13
+ use Image::ExifTool qw(:DataAccess :Utils);
14
+ use Image::ExifTool::PLIST;
15
+
16
+ $VERSION = '1.00';
17
+
18
+ sub ProcessScalado($$$);
19
+
20
+ # JPEG APP4 SCALADO tags
21
+ %Image::ExifTool::Scalado::Main = (
22
+ GROUPS => { 0 => 'APP4', 1 => 'Scalado', 2 => 'Image' },
23
+ PROCESS_PROC => \&ProcessScalado,
24
+ TAG_PREFIX => 'Scalado',
25
+ FORMAT => 'int32s',
26
+ NOTES => q{
27
+ Tags extracted from the JPEG APP4 "SCALADO" segment found in images from
28
+ HTC, LG and Samsung phones. (Presumably written by Scalado mobile software,
29
+ L<http://www.scalado.com/>.)
30
+ },
31
+ SPMO => {
32
+ Name => 'DataLength',
33
+ Unknown => 1,
34
+ },
35
+ WDTH => {
36
+ Name => 'PreviewImageWidth',
37
+ ValueConv => '$val ? abs($val) : undef',
38
+ },
39
+ HGHT => {
40
+ Name => 'PreviewImageHeight',
41
+ ValueConv => '$val ? abs($val) : undef',
42
+ },
43
+ QUAL => {
44
+ Name => 'PreviewQuality',
45
+ ValueConv => '$val ? abs($val) : undef',
46
+ },
47
+ # tags not yet decoded with observed values:
48
+ # CHKH: 0, various negative values
49
+ # CHKL: various negative values
50
+ # CLEN: -1024
51
+ # CSPC: -2232593
52
+ # DATA: (+ve data length)
53
+ # HDEC: 0
54
+ # MAIN: 0, 60
55
+ # META: 24
56
+ # SCI0: (+ve data length) often 36
57
+ # SCI1: (+ve data length) 36
58
+ # SCX0: (+ve data length)
59
+ # SCX1: (+ve data length) often 84
60
+ # WDEC: 0
61
+ # VERS: -131328
62
+ );
63
+
64
+ #------------------------------------------------------------------------------
65
+ # Extract information from the JPEG APP4 SCALADO segment
66
+ # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
67
+ # Returns: 1 on success
68
+ sub ProcessScalado($$$)
69
+ {
70
+ my ($exifTool, $dirInfo, $tagTablePtr) = @_;
71
+ my $dataPt = $$dirInfo{DataPt};
72
+ my $pos = 0;
73
+ my $end = length $$dataPt;
74
+ my $unknown = $exifTool->Options('Unknown');
75
+
76
+ $exifTool->VerboseDir('APP4 SCALADO', undef, $end);
77
+ SetByteOrder('MM');
78
+
79
+ for (;;) {
80
+ last if $pos + 12 > $end;
81
+ my $tag = substr($$dataPt, $pos, 4);
82
+ my $ver = Get32u($dataPt, $pos + 4); # (looks like a version for some tags)
83
+ if (not $$tagTablePtr{$tag} and $unknown) {
84
+ my $name = $tag;
85
+ $name =~ tr/-A-Za-z0-9_//dc;
86
+ last unless length $name; # stop if tag is garbage
87
+ AddTagToTable($tagTablePtr, $tag, {
88
+ Name => "Scalado_$name",
89
+ Description => "Scalado $name",
90
+ Unknown => 1,
91
+ });
92
+ }
93
+ $exifTool->HandleTag($tagTablePtr, $tag, undef,
94
+ DataPt => $dataPt,
95
+ Start => $pos + 8,
96
+ Size => 4,
97
+ Extra => ", ver $ver",
98
+ );
99
+ if ($tag eq 'SPMO') {
100
+ my $val = Get32u($dataPt, $pos + 8) ;
101
+ if ($ver < 5) { # (I don't have samples for version 3 or 4, so I'm not sure about these)
102
+ $end -= $val; # SPMO gives trailer data length
103
+ } else {
104
+ $end = $val + 12; # SPMO gives length of Scalado directory (excepting this entry)
105
+ }
106
+ }
107
+ $pos += 12;
108
+ }
109
+ return 1;
110
+ }
111
+
112
+ 1; # end
113
+
114
+ __END__
115
+
116
+ =head1 NAME
117
+
118
+ Image::ExifTool::Scalado - Read APP4 SCALADO metadata
119
+
120
+ =head1 SYNOPSIS
121
+
122
+ This module is loaded automatically by Image::ExifTool when required.
123
+
124
+ =head1 DESCRIPTION
125
+
126
+ This module contains definitions required by Image::ExifTool to read
127
+ metadata from the JPEG APP4 SCALADO segment.
128
+
129
+ =head1 AUTHOR
130
+
131
+ Copyright 2003-2013, Phil Harvey (phil at owl.phy.queensu.ca)
132
+
133
+ This library is free software; you can redistribute it and/or modify it
134
+ under the same terms as Perl itself.
135
+
136
+ =head1 SEE ALSO
137
+
138
+ L<Image::ExifTool::TagNames/Scalado Tags>,
139
+ L<Image::ExifTool(3pm)|Image::ExifTool>
140
+
141
+ =cut
@@ -15,7 +15,7 @@ package Image::ExifTool::Shortcuts;
15
15
  use strict;
16
16
  use vars qw($VERSION);
17
17
 
18
- $VERSION = '1.45';
18
+ $VERSION = '1.47';
19
19
 
20
20
  # this is a special table used to define command-line shortcuts
21
21
  %Image::ExifTool::Shortcuts::Main = (
@@ -108,6 +108,7 @@ $VERSION = '1.45';
108
108
  # copy the maker notes as a block or prevent it from being copied
109
109
  MakerNotes => [
110
110
  'MakerNotes', # (for RIFF MakerNotes)
111
+ 'MakerNoteApple',
111
112
  'MakerNoteCanon',
112
113
  'MakerNoteCasio',
113
114
  'MakerNoteCasio2',
@@ -175,6 +176,7 @@ $VERSION = '1.45';
175
176
  'MakerNoteSony2',
176
177
  'MakerNoteSony3',
177
178
  'MakerNoteSony4',
179
+ 'MakerNoteSony5',
178
180
  'MakerNoteSonyEricsson',
179
181
  'MakerNoteSonySRF',
180
182
  'MakerNoteUnknownText',
@@ -30,10 +30,11 @@ use Image::ExifTool qw(:DataAccess :Utils);
30
30
  use Image::ExifTool::Exif;
31
31
  use Image::ExifTool::Minolta;
32
32
 
33
- $VERSION = '1.90';
33
+ $VERSION = '1.93';
34
34
 
35
35
  sub ProcessSRF($$$);
36
36
  sub ProcessSR2($$$);
37
+ sub ProcessSonyPIC($$$);
37
38
  sub ProcessMoreInfo($$$);
38
39
  sub Decipher($;$);
39
40
  sub ProcessEnciphered($$$);
@@ -60,12 +61,14 @@ my %sonyLensTypes2 = (
60
61
  32788 => 'Sony E 30mm F3.5 Macro',
61
62
  32789 => 'Sony E 24mm F1.8 ZA',
62
63
  32790 => 'Sony E 50mm F1.8 OSS',
64
+ 32791 => 'Sony E 16-70mm F4 ZA OSS',
63
65
  32792 => 'Sony E 10-18mm F4 OSS',
64
66
  32793 => 'Sony E PZ 16-50mm F3.5-5.6 OSS',
65
67
  32797 => 'Sony E 18-200mm F3.5-6.3 OSS LE',
66
68
  32798 => 'Sony E 20mm F2.8',
67
69
  32799 => 'Sony E 35mm F1.8 OSS',
68
70
  32807 => 'Sony E PZ 18-200mm F3.5-6.3 OSS',
71
+ # 32xxx => 'Sony E PZ 18-105mm F4 G OSS',
69
72
  );
70
73
 
71
74
  # ExposureProgram values (ref PH, mainly decoded from A200)
@@ -77,12 +80,12 @@ my %sonyExposureProgram = (
77
80
  4 => 'Shutter speed priority AE',
78
81
  8 => 'Program Shift A', #7
79
82
  9 => 'Program Shift S', #7
80
- 19 => 'Night Portrait', # (A330)
81
- 18 => 'Sunset', # (A330)
83
+ 16 => 'Portrait', # (A330)
82
84
  17 => 'Sports', # (A330)
83
- 21 => 'Macro', # (A330)
85
+ 18 => 'Sunset', # (A330)
86
+ 19 => 'Night Portrait', # (A330)
84
87
  20 => 'Landscape', # (A330)
85
- 16 => 'Portrait', # (A330)
88
+ 21 => 'Macro', # (A330)
86
89
  35 => 'Auto No Flash', # (A330)
87
90
  );
88
91
 
@@ -123,6 +126,42 @@ my %sonyExposureProgram2 = ( # A580 Mode Dial setting:
123
126
  138 => 'High Contrast Monochrome',
124
127
  );
125
128
 
129
+ # ExposureProgram values in Tags 2010 and 94xx (ref 12)
130
+ my %sonyExposureProgram3 = (
131
+ 0 => 'Program AE',
132
+ 1 => 'Aperture-priority AE',
133
+ 2 => 'Shutter speed priority AE',
134
+ 3 => 'Manual',
135
+ 4 => 'Auto',
136
+ 5 => 'iAuto',
137
+ 6 => 'Superior Auto',
138
+ 7 => 'iAuto+',
139
+ 8 => 'Portrait',
140
+ 9 => 'Landscape',
141
+ 10 => 'Twilight',
142
+ 11 => 'Twilight Portrait',
143
+ 12 => 'Sunset',
144
+ 14 => 'Action (High speed)', #PH (RX100)
145
+ 16 => 'Sports',
146
+ 17 => 'Handheld Night Shot',
147
+ 18 => 'Anti Motion Blur',
148
+ 19 => 'High Sensitivity',
149
+ 21 => 'Beach',
150
+ 22 => 'Snow',
151
+ 23 => 'Fireworks',
152
+ 26 => 'Underwater',
153
+ 27 => 'Gourmet',
154
+ 28 => 'Pet',
155
+ 29 => 'Macro',
156
+ 30 => 'Backlight Correction HDR',
157
+ # 32 => 'Night ... ???', # seen for HDR-CX360E
158
+ 33 => 'Sweep Panorama',
159
+ 36 => 'Background Defocus',
160
+ 37 => 'Soft Skin',
161
+ 42 => '3D Image',
162
+ 43 => 'Cont. Priority AE',
163
+ );
164
+
126
165
  # WhiteBalanceSetting values (ref 12)
127
166
  my %whiteBalanceSetting = (
128
167
  0x10 => 'Auto (-3)', #(NC)
@@ -235,29 +274,6 @@ my %afPoint19 = (
235
274
  29 => 'Lower-right (vertical)',
236
275
  );
237
276
 
238
- # ReleaseMode values in Tags 2010 and 94xx (ref 12)
239
- my %sonyReleaseMode2 = (
240
- 0 => 'Normal',
241
- 1 => 'Continuous', # (RX100 "Continuous - Self-timer")
242
- 2 => 'Continuous - Exposure Bracketing', # (RX100)
243
- 3 => 'Continuous - White Balance Bracketing', # (HX9V) (RX100)
244
- 5 => 'Continuous - Burst', # (HX9V)
245
- 6 => 'Single Frame - Capture During Movie', #PH (RX100)
246
- 7 => 'Continuous - Sweep Panorama',
247
- 8 => 'Continuous - Anti-Motion Blur, Hand-held Twilight', # (HX9V)
248
- 9 => 'Continuous - HDR',
249
- 10 => 'Continuous - Background defocus', # (HX9V)
250
- 13 => 'Continuous - 3D Sweep Panorama', #PH/12
251
- 16 => 'Continuous - 3D Image', # (HX9V)
252
- # 17 - ReleaseMode3 is 'Continuous - Burst' (WX7 - PH)
253
- 19 => 'Continuous - Speed/Advance Priority', #PH/12 (RX100)
254
- 20 => 'Continuous - Multi Frame NR',
255
- 26 => 'Continuous Low', #PH (A77)
256
- 27 => 'Continuous - High Sensitivity', # seen for DSC-WX60 and WX300
257
- 28 => 'Smile Shutter', #PH (RX100)
258
- 29 => 'Continuous - Tele-zoom Advance Priority',
259
- );
260
-
261
277
  my %binaryDataAttrs = (
262
278
  PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
263
279
  WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
@@ -358,8 +374,7 @@ my %unknownCipherData = (
358
374
  TagTable => 'Image::ExifTool::Sony::CameraSettings',
359
375
  ByteOrder => 'BigEndian',
360
376
  },
361
- },
362
- {
377
+ },{
363
378
  Name => 'CameraSettings2',
364
379
  # count: A230/A290/A330/A380/A390=332
365
380
  Condition => '$count == 332',
@@ -367,8 +382,7 @@ my %unknownCipherData = (
367
382
  TagTable => 'Image::ExifTool::Sony::CameraSettings2',
368
383
  ByteOrder => 'BigEndian',
369
384
  },
370
- },
371
- {
385
+ },{
372
386
  Name => 'CameraSettings3',
373
387
  # count: A560/A580/A33/A35/A55/NEX3/5/5C/C3/VG10E=1536, A450/A500/A550=2048
374
388
  Condition => '$count == 1536 || $count == 2048',
@@ -376,8 +390,7 @@ my %unknownCipherData = (
376
390
  TagTable => 'Image::ExifTool::Sony::CameraSettings3',
377
391
  ByteOrder => 'LittleEndian',
378
392
  },
379
- },
380
- {
393
+ },{
381
394
  Name => 'CameraSettingsUnknown',
382
395
  SubDirectory => {
383
396
  TagTable => 'Image::ExifTool::Sony::CameraSettingsUnknown',
@@ -449,7 +462,7 @@ my %unknownCipherData = (
449
462
  Name => 'Panorama',
450
463
  # panorama: first 4 bytes '1 1 0 0' (little-endian) or '0 0 1 1' (big-endian)
451
464
  # non-panorama: all bytes are '0' (ref 12)
452
- Condition => '$$valPt =~ /^(\0\0)?\x01\x01/', # (little- or big-endian int32u = 257)
465
+ Condition => '$$self{Panorama} = ($$valPt =~ /^(\0\0)?\x01\x01/)', # (little- or big-endian int32u = 257)
453
466
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Panorama' },
454
467
  },
455
468
  # 0x2000 - undef[1]
@@ -570,7 +583,7 @@ my %unknownCipherData = (
570
583
  },
571
584
  },
572
585
  # 0x200c - int32u[3]: '0 0 0'; seen '2 1 0' for HX9V 3D-Image (in both JPG and MPO image)
573
- # 0x200d - rational64u: 10/10
586
+ # 0x200d - rational64u: 10/10, seen 2.5 for DSC-TX300V, 8 for DSC-HX100V
574
587
  0x200e => { #PH (HX20V)
575
588
  Name => 'PictureEffect',
576
589
  Writable => 'int16u',
@@ -624,42 +637,62 @@ my %unknownCipherData = (
624
637
  0xffffffff => 'n/a', # (A35)
625
638
  },
626
639
  },
627
- 0x2010 => {
628
- Name => 'Sony_0x2010',
640
+ 0x2010 => [ #12
641
+ # different camera models have similar content but at different offsets, appears to correlate with:
642
+ # 0x1206 - 0x1207 deciphered (0x1205 changes with firmware version):
643
+ # ad c3 - NEX-5N
644
+ # 0x0192 - 0x0193 deciphered (0x0191 changes with firmware version):
645
+ # 91 c3 - NEX-VG20E
646
+ # 93 c3 - NEX-7, SLT-A65V/A77V
647
+ # 0x0012 - 0x0013 deciphered (0x0011 changes with firmware version):
648
+ # 94 c3 - SLT-A37/A57, NEX-F3
649
+ # 95 d3 - DSC-WX50, WX70
650
+ # 98 c3 - DSC-HX200V, HX20V, HX30V, TX200V, TX300V
651
+ # 98 d3 - DSC-HX10V, TX66, WX100, WX150
652
+ # 9a c3 - DSC-RX1, RX1R
653
+ # 9b c3 - SLT-A99V
654
+ # 9c c3 - NEX-VG30E
655
+ # 9d c3 - DSC-RX100
656
+ # 9e c3 - NEX-VG900, SLT-A58
657
+ # a1 d3 - DSC-TX30
658
+ # a2 d3 - DSC-WX60, WX80, WX200, WX300
659
+ # a3 c3 - NEX-6, DSC-HX300, HX50V
660
+ # a4 c3 - NEX-3N/5R/5T, ILCE-3000
661
+ # unknown offsets or values for DSC-TX20/TX55, DSC-RX100M2, DSC-QX10/QX100
662
+ {
663
+ Name => 'Tag2010a', # ad
664
+ Condition => '$$self{Model} =~ /^NEX-5N$/',
665
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010a' },
666
+ },{
667
+ Name => 'Tag2010b', # 91, 93
668
+ Condition => '$$self{Model} =~ /^(SLT-A(65|77)V?|NEX-(7|VG20E))$/',
669
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010b' },
670
+ },{
671
+ Name => 'Tag2010c', # 94
672
+ Condition => '$$self{Model} =~ /^(SLT-A(37|57)|NEX-F3)$/',
673
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010c' },
674
+ },{
675
+ Name => 'Tag2010d', # 95, 98
676
+ Condition => q{
677
+ $$self{Model} =~ /^(DSC-(HX10V|HX20V|HX30V|HX200V|TX66|TX200V|TX300V|WX50|WX70|WX100|WX150))$/ and
678
+ not $$self{Panorama}
679
+ },
680
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010d' },
681
+ },{
682
+ Name => 'Tag2010e', # 9a, 9b, 9c, 9d, 9e, a1, a2, a3, a4
683
+ Condition => q{
684
+ $$self{Model} =~ /^(SLT-A99V?|SLT-A58|ILCE-3000|NEX-(3N|5R|5T|6|VG900|VG30E)|DSC-(RX100|RX1|RX1R))$/ or
685
+ ($$self{Model} =~ /^(DSC-(HX300|HX50V|TX30|WX60|WX80|WX200|WX300))$/ and not $$self{Panorama})
686
+ },
687
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010e' },
688
+ },{
689
+ Name => 'Tag2010f', # ?
690
+ Condition => '$$self{Model} =~ /^(DSC-(RX100M2|QX10|QX100))$/',
691
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010f' },
692
+ },{
693
+ Name => 'Tag_0x2010',
629
694
  %unknownCipherData,
630
- # notes for data in this block (PH):
631
- # 0x00 - int32u: SequenceImageNumber
632
- # 0x04 - int32u: SequenceFileNumber
633
- # 0x08 - related to drive mode
634
- # other stuff in 0x2010 (ref 12)
635
- # 0x1154 => {
636
- # Name => 'MeteringMode_2010',
637
- # Condition => '$$self{Model} =~ /^SLT-A(37|57)\b/',
638
- # PrintConv => {
639
- # 0 => 'Multi-segment',
640
- # 2 => 'Center-weighted average',
641
- # 3 => 'Spot',
642
- # },
643
- # },
644
- # 0x1178 => {
645
- # Name => 'MeteringMode_2010',
646
- # Condition => '$$self{Model} =~ /^(SLT-A(65V|77V)|NEX-VG20E)\b/', # maybe also A99V - to be checked
647
- # PrintConv => {
648
- # 0 => 'Multi-segment',
649
- # 2 => 'Center-weighted average',
650
- # 3 => 'Spot',
651
- # },
652
- # },
653
- # 0x11ac => {
654
- # Name => 'MeteringMode_2010',
655
- # Condition => '$$self{Model} !~ /^(SLT-A(37|57|65V|77V)|NEX-VG20E)\b/',
656
- # PrintConv => {
657
- # 0 => 'Multi-segment',
658
- # 2 => 'Center-weighted average',
659
- # 3 => 'Spot',
660
- # },
661
- # },
662
- },
695
+ }],
663
696
  0x2011 => { #PH (A77, NEX-5N)
664
697
  Name => 'VignettingCorrection',
665
698
  Writable => 'int32u',
@@ -704,9 +737,9 @@ my %unknownCipherData = (
704
737
  PrintConv => { 0 => 'No', 1 => 'Yes' },
705
738
  },
706
739
  # 0x2017 - int32u: flash mode. 0=off, 1=fired, 2=red-eye (PH, NEX-6) (also in A99, RX1, NEX-5R)
707
- 0x201b => { #PH (A99, also written by RX1, NEX-5R, NEX-6)
740
+ 0x201b => { #PH (written by SLT-A58/A99, NEX-3N/5R/6 and several DSC-models)
708
741
  Name => 'FocusMode',
709
- Condition => '$$self{Model} !~ /^DSC-/', # (doesn't seem to apply to RX1)
742
+ Condition => '$$self{Model} !~ /^DSC-/', # (doesn't seem to apply to DSC-models)
710
743
  Writable => 'int8u',
711
744
  Priority => 0,
712
745
  PrintConv => {
@@ -734,7 +767,7 @@ my %unknownCipherData = (
734
767
  },
735
768
  },{
736
769
  Name => 'AFAreaModeSetting',
737
- Condition => '$$self{Model} =~ /^NEX-/',
770
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-)/',
738
771
  Notes => 'NEX models',
739
772
  Writable => 'int8u',
740
773
  PrintConv => {
@@ -746,7 +779,7 @@ my %unknownCipherData = (
746
779
  ],
747
780
  0x201d => { #12
748
781
  Name => 'FlexibleSpotPosition',
749
- Condition => '$$self{Model} =~ /^NEX-/',
782
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-)/',
750
783
  Writable => 'int16u',
751
784
  Count => 2,
752
785
  # position in an 11x9 grid. Values are (ref 12, NC in brackets)
@@ -794,7 +827,16 @@ my %unknownCipherData = (
794
827
  # at least some data for tags 0x2010, 0x9050 and 0x94xx is encrypted - PH
795
828
  # (This is certainly true for at least parts of 0x2010, 0x9050, 0x9400, 0x9402 and 0x9403,
796
829
  # but hasn't been verified for other tags -- just to be thorough, decipher all of them)
830
+ # Note: "(e)" in a comment indicates an enciphered value, all other values are deciphered
797
831
  #
832
+ # 0x900b - 1st byte 0xae: face detection info for A450/500/550/560/580, A33/35/55, NEX-3/5/5C/C3/VG10
833
+ # - other 1st byte values for some DSC-models
834
+ # - seen many 1,8,27,64... values: assume encrypted like other 9xxx tags
835
+ 0x900b => {
836
+ Name => 'Tag900b',
837
+ Condition => '$$valPt =~ /^\xae/',
838
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag900b' },
839
+ },
798
840
  0x9050 => {
799
841
  Name => 'Tag9050',
800
842
  # 944 bytes for A37, A57, A99, NEX-F3, NEX-5R, NEX-6, DSC-RX1, DSC-RX100
@@ -805,11 +847,14 @@ my %unknownCipherData = (
805
847
  },
806
848
  },
807
849
  0x9400 => [
850
+ # first byte:
851
+ # 0x07 (e) for DSC-HX7V/HX9V/HX100V/TX10/TX100/TX100V/WX7/WX9/WX10, HDR-CX../PJ..
852
+ # 0x09 (e) for DSC-TX20/TX55/WX30
853
+ # 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
+ # 0x0c (e) for ILCE-3000, NEX-3N, SLT-A58, DSC-HX50V/HX300/RX100M2/TX30/WX60/WX80/WX200/WX300, DSC-QX10/QX100
855
+ # 0xd0 (e) H90, W650, W690: tag9400 decoding appears not valid/different
808
856
  {
809
857
  Name => 'Tag9400a',
810
- # - first byte must be 0x07, 0x09 or 0x0a (e)
811
- # or 0x0c (e) for latest models like NEX-3N, SLT-A58, DSC-WX60 and WX300
812
- # (the Condition acts on the enciphered data)
813
858
  Condition => q{
814
859
  $$valPt =~ /^[\x07\x09\x0a]/ or
815
860
  ($$valPt =~ /^[\x5e\xe7\x04]/ and $$self{DoubleCipher} = 1)
@@ -817,7 +862,6 @@ my %unknownCipherData = (
817
862
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400a' },
818
863
  },{
819
864
  Name => 'Tag9400b',
820
- # - first byte 0x0c (e) for the NEX-3N, SLT-A58 and DSC-WX60 and WX300
821
865
  Condition => '$$valPt =~ /^\x0c/',
822
866
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400b' },
823
867
  },{
@@ -827,34 +871,31 @@ my %unknownCipherData = (
827
871
  0x9401 => {
828
872
  Name => 'Sony_0x9401',
829
873
  %unknownCipherData,
830
- # notes for data in this block (ref 12):
831
- # 0x0000 - 0x0003: (ref PH)
832
- # 1c 00 ac 0f - HDR models
833
- # 21 2b cf 0f - NEX-7/VG20E, SLT-A65V/A77V
834
- # 27 00 fd 0f - DSC-TX20/TX55
835
- # 2d 00 d5 0d - DSC-HX10V/HX20V/HX200V/TX66/W100/WX50
836
- # 2f 00 d6 0d - NEX-F3, SLT-A37/A57
837
- # 32 00 e2 0d - DSC-RX100
838
- # 33 00 e2 0d - NEX-5R/6
839
- # 33 40 0d 0e - DSC-RX1
840
- # 33 50 e2 0d - SLT-A99V
841
- # 69 1f ff 0f - NEX-5N
842
- # b7 0f f7 0f - DSC-HX7V/TX10/WX7/WX10
843
- # b7 0f fa 0f - DSC-HX9V/HX100V/TX100/TX100V
844
- # cf 0b 9f 0f - DSC-WX9
845
- # f4 00 00 03 - DSC-H90/W690
846
- # ff ff ff ff - DSC-W650
874
+ # notes for data in this block (ref PH/12):
875
+ # 0x02-0x03 appear to have some relation to start-offset of data...
876
+ # 0x00 - 0x03 Metering
877
+ # Mode
878
+ # f4 00 00 03 - - DSC-H90/W650/W690
879
+ # cf 0b 9f 0f 0x09bc (a) DSC-WX9
880
+ # 1c 00 ac 0f 0x09c9 (b) HDR-CX130E/CX160E/CX360E/CX560E/CX700E/PJ10E/PJ30E
881
+ # b7 0f f7 0f 0x09dd (c) DSC-HX7V/TX10/WX7/WX10
882
+ # b7 0f fa 0f 0x09e0 (d) DSC-HX9V/HX100V/TX100/TX100V
883
+ # 27 00 fd 0f 0x09e7 (e) DSC-TX20/TX55/WX30
884
+ # 69 1f ff 0f 0x09e9 (f) NEX-5N
885
+ # 21 2b cf 0f 0x09e9 (f) NEX-7/VG20E, SLT-A65V/A77V
886
+ # 2d 00 d5 0d 0x09a2 (g) DSC-HX10V/HX20V/HX30V/HX200V/TX66/TX200V/TX300V/WX50/WX70/WX100/WX150
887
+ # 2f 00 d6 0d 0x09a3 (h) NEX-F3, SLT-A37/A57
888
+ # 30 00 d8 0d 0x09a5 (i) HDR-AS15
889
+ # 32 00 e2 0d 0x09ac (j) DSC-RX100
890
+ # 33 00 e2 0d 0x09ac (j) NEX-5R/5T/6, NEX-VG900/VG30E
891
+ # 33 50 e2 0d 0x09ac (j) SLT-A99V
892
+ # 33 40 0d 0e 0x09d7 (k) DSC-RX1
893
+ # 33 41 0d 0e 0x09d7 (k) DSC-RX1, DSC-RX1R
894
+ # 38 00 32 0e 0x09fc (l) SLT-A58, ILCE-3000, NEX-3N, DSC-HX300/HX50V/WX200/WX300/WX60/WX80/TX30
895
+ # 3a 10 3a 0e 0x0a01 (m) DSC-QX10/QX100
896
+ # 3a 20 47 0e 0x0a01 (m) DSC-RX100M2
897
+ #
847
898
  # 0x0004 - (RX100: 0 or 1. subsequent data valid only if 1 - PH)
848
- # 0x0004 => {
849
- # Name => 'DynamicRangeOptimizer_JR9401',
850
- # # Condition => '$$self{Model} !~ /^NEX-/',
851
- # PrintConv => {
852
- # 0 => 'Off',
853
- # 1 => 'On',
854
- # },
855
- # },
856
- # 0x0005 - 0
857
- # 0x0006 - some DRO Info, 8 or 9 bytes ??
858
899
  # 0x0007 => {
859
900
  # Name => 'DynamicRangeOptimizer_9401',
860
901
  # PrintConv => {
@@ -869,36 +910,6 @@ my %unknownCipherData = (
869
910
  # 255 => 'Off',
870
911
  # },
871
912
  # },
872
- # 0x000d - something to do with DRO level ?? (int16u ?)
873
- # 0x0017 - 0=?, 1=normal shots,2=special effects,5=face detection (PH)
874
- # 0x00f0 - 0x0118: data for HDR-image, HDR-paint, High-contrast-BW, otherwise 0
875
- # 0x09a3 => {
876
- # Name => 'MeteringMode_9401',
877
- # Condition => '$$self{Model} =~ /^SLT-/',
878
- # PrintConv => {
879
- # 0 => 'Multi-segment',
880
- # 2 => 'Center-weighted average',
881
- # 3 => 'Spot',
882
- # },
883
- # },
884
- # 0x09ac => {
885
- # Name => 'MeteringMode_9401',
886
- # Condition => '$$self{Model} =~ /^NEX-/',
887
- # PrintConv => {
888
- # 0 => 'Multi-segment',
889
- # 2 => 'Center-weighted average',
890
- # 3 => 'Spot',
891
- # },
892
- # },
893
- # 0x09e0 => {
894
- # Name => 'MeteringMode_9401',
895
- # Condition => '$$self{Model} =~ /^DSC-/',
896
- # PrintConv => {
897
- # 0 => 'Multi-segment',
898
- # 3 => 'Center-weighted average',
899
- # 3 => 'Spot',
900
- # },
901
- # },
902
913
  },
903
914
  0x9402 => [{
904
915
  Name => 'Tag9402',
@@ -1055,8 +1066,10 @@ my %unknownCipherData = (
1055
1066
  298 => 'DSC-RX1', #12
1056
1067
  299 => 'NEX-VG900', #12
1057
1068
  300 => 'NEX-VG30E', #12
1069
+ 302 => 'ILCE-3000', #12
1058
1070
  303 => 'SLT-A58', #12
1059
1071
  305 => 'NEX-3N', #PH
1072
+ 307 => 'NEX-5T', #12
1060
1073
  308 => 'DSC-RX100M2', #12
1061
1074
  310 => 'DSC-RX1R', #12
1062
1075
  },
@@ -1241,6 +1254,7 @@ my %unknownCipherData = (
1241
1254
  19 => 'Macro', #12
1242
1255
  20 => 'Advanced Sports Shooting', #9
1243
1256
  29 => 'Underwater', #9
1257
+ # 30 seen for DSC-W110 and W390, maybe something with Face or Portrait ??
1244
1258
  33 => 'Food', #9
1245
1259
  34 => 'Sweep Panorama', #PH (HX1)
1246
1260
  35 => 'Handheld Night Shot', #PH (HX1/TX1, also called "Hand-held Twilight")
@@ -1251,13 +1265,20 @@ my %unknownCipherData = (
1251
1265
  40 => 'Background Defocus', #PH (HX20V)
1252
1266
  41 => 'Soft Skin', #12 (HX9V) (HX200V Portrait - PH)
1253
1267
  42 => '3D Image', #12 (HX9V)
1268
+ # 50 seen for DSC-W530
1254
1269
  65535 => 'n/a', #PH (A100)
1255
1270
  },
1256
1271
  },
1257
1272
  0xb042 => { #9
1258
1273
  Name => 'FocusMode',
1259
- Condition => '$$self{Model} !~ /^DSC-[HR]X/', #12
1260
- Notes => 'not FocusMode for all models',
1274
+ # Only FocusMode for older DSC models;
1275
+ # Newest DSC models give only 0, many models of 'HX9V generation' give only 4 -
1276
+ # these models give FocusMode in tag 0xb04e, and are excluded here.
1277
+ Condition => q{
1278
+ ($$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/
1280
+ },
1281
+ Notes => 'not valid for all models',
1261
1282
  Writable => 'int16u',
1262
1283
  RawConv => '$val == 65535 ? undef : $val',
1263
1284
  PrintConv => {
@@ -1265,30 +1286,46 @@ my %unknownCipherData = (
1265
1286
  1 => 'AF-S', # (called Single-AF by Sony)
1266
1287
  2 => 'AF-C', # (called Monitor-AF by Sony)
1267
1288
  4 => 'Permanent-AF', # (TX7,HX9V?)
1268
- 65535 => 'n/a', #PH (A100)
1289
+ 65535 => 'n/a', #PH (A100), also for DSC-W690 panorama shots
1269
1290
  },
1270
1291
  },
1271
- 0xb043 => { #9
1292
+ 0xb043 => [{ #12
1272
1293
  Name => 'AFAreaMode',
1294
+ # AFAreaMode for DSC-HX9V generation, having values that appear to be different from older models.
1273
1295
  Writable => 'int16u',
1274
- Condition => '$$self{Model} !~ /^DSC-[HR]X/', #12
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
1309
+ Name => 'AFAreaMode',
1310
+ # AFAreaMode only for older models;
1311
+ # exclude newest DSC models, which give AFAreaMode in Tag9402 0x0017 (ie. RX100 - PH)
1312
+ Writable => 'int16u',
1313
+ Condition => '$$self{TagB042}', #12
1275
1314
  RawConv => '$val == 65535 ? undef : $val',
1276
- Notes => 'not valid for some models', # (ie. RX100 which is always 0 - PH)
1315
+ Notes => 'older models',
1277
1316
  PrintConv => {
1278
1317
  # 0 - (takes this value after camera reset, but can't be set back once changed)
1279
- # 0 - 'Multi AF' for the HX9V (ref 12)
1280
1318
  0 => 'Default',
1281
- 1 => 'Multi', # ('Center AF' for the HX9V, ref 12)
1319
+ 1 => 'Multi',
1282
1320
  2 => 'Center',
1283
- 3 => 'Spot', # ('Flexible Spot' for the HX9V, ref 12)
1321
+ 3 => 'Spot',
1284
1322
  4 => 'Flexible Spot', # (T200)
1285
1323
  6 => 'Touch',
1286
1324
  14 => 'Tracking', #12 (HX9V) ("Manual" for the T200?, ref 9)
1287
1325
  15 => 'Face Tracking', # (not set when in face detect mode and no faces detected)
1288
- # 255 - 'n/a' for the HX9V (ref 12)
1289
1326
  65535 => 'n/a', #PH (A100)
1290
1327
  },
1291
- },
1328
+ }],
1292
1329
  0xb044 => { #9
1293
1330
  Name => 'AFIlluminator',
1294
1331
  Writable => 'int16u',
@@ -1371,33 +1408,38 @@ my %unknownCipherData = (
1371
1408
  },
1372
1409
  # 0xb04c - rational64u: 10/10 (seen 5 for HX9V Manual-exposure images, ref 12)
1373
1410
  # 0xb04d - int16u: 0
1374
- 0xb04e => [
1375
- { #PH (RX100)
1376
- Name => 'FocusMode',
1377
- Condition => '$$self{Model} =~ /^DSC-[HR]X/', #12
1378
- Notes => 'FocusMode for RX100',
1379
- Writable => 'int16u',
1380
- PrintConv => {
1381
- 0 => 'Manual',
1382
- 2 => 'AF-S',
1383
- 3 => 'AF-C',
1384
- 5 => 'Semi-manual', #12 (HX9V)
1385
- 6 => 'Direct Manual Focus',
1386
- },
1387
- },{ #2
1388
- Name => 'LongExposureNoiseReduction',
1389
- Notes => 'LongExposureNoiseReduction for other models',
1390
- Writable => 'int16u',
1391
- RawConv => '$val == 65535 ? undef : $val',
1392
- PrintConv => {
1393
- 0 => 'Off',
1394
- 1 => 'On',
1395
- 2 => 'On 2', #PH (TX10, TX100, WX9, WX10, etc)
1396
- # 4 - seen this (CX360E, CX700E)
1397
- 65535 => 'n/a', #PH (A100)
1398
- },
1411
+ # (the Kamisaka decoding of 0xb04e seems wrong - ref 12)
1412
+ # 0xb04e => { #2
1413
+ # Name => 'LongExposureNoiseReduction',
1414
+ # Notes => 'LongExposureNoiseReduction for other models',
1415
+ # Writable => 'int16u',
1416
+ # RawConv => '$val == 65535 ? undef : $val',
1417
+ # PrintConv => {
1418
+ # 0 => 'Off',
1419
+ # 1 => 'On',
1420
+ # 2 => 'On 2', #PH (TX10, TX100, WX9, WX10, etc)
1421
+ # # 4 - seen this (CX360E, CX700E)
1422
+ # 65535 => 'n/a', #PH (A100)
1423
+ # },
1424
+ # },
1425
+ 0xb04e => { #PH (RX100)
1426
+ 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
1431
+ Notes => 'valid for DSC-HX9V generation and newer',
1432
+ Writable => 'int16u',
1433
+ PrintConv => {
1434
+ 0 => 'Manual',
1435
+ # 1 - seen for DSC-WX7 burst, HDR-CX130E/CX560E
1436
+ 2 => 'AF-S',
1437
+ 3 => 'AF-C',
1438
+ # 4 - seen for HDR-CX360E/CX700E
1439
+ 5 => 'Semi-manual', #12 (HX9V)
1440
+ 6 => 'Direct Manual Focus',
1399
1441
  },
1400
- ],
1442
+ },
1401
1443
  0xb04f => { #PH (TX1)
1402
1444
  Name => 'DynamicRangeOptimizer',
1403
1445
  Writable => 'int16u',
@@ -1746,6 +1788,7 @@ my %unknownCipherData = (
1746
1788
  },
1747
1789
  0x3f => { #12
1748
1790
  Name => 'ExposureProgram',
1791
+ SeparateTable => 'ExposureProgram',
1749
1792
  PrintConv => \%sonyExposureProgram,
1750
1793
  },
1751
1794
  0x41 => { #12 style actually used (combination of mode dial + creative style menu)
@@ -1801,11 +1844,17 @@ my %unknownCipherData = (
1801
1844
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::MoreSettings' },
1802
1845
  },
1803
1846
  # (byte sizes for a single A580 image -- not checked for other images)
1804
- 0x0002 => { # (256 bytes)
1805
- Name => 'FaceInfo',
1806
- Condition => '$$self{Model} !~ /^DSLR-(A450|A500|A550)$/',
1807
- SubDirectory => { TagTable => 'Image::ExifTool::Sony::FaceInfo' },
1808
- },
1847
+ 0x0002 => [ # (256 bytes)
1848
+ {
1849
+ Name => 'FaceInfo',
1850
+ Condition => '$$self{Model} !~ /^DSLR-(A450|A500|A550)$/',
1851
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::FaceInfo' },
1852
+ },{
1853
+ Name => 'FaceInfoA',
1854
+ Condition => '$$self{Model} =~ /^DSLR-(A450|A500|A550)$/',
1855
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::FaceInfoA' },
1856
+ },
1857
+ ],
1809
1858
  # 0x0101: 512 bytes
1810
1859
  # 0x0102: 1804 bytes
1811
1860
  # 0x0103: 176 bytes
@@ -1937,6 +1986,7 @@ my %unknownCipherData = (
1937
1986
  },
1938
1987
  0x02 => {
1939
1988
  Name => 'ExposureProgram',
1989
+ SeparateTable => 'ExposureProgram2',
1940
1990
  PrintConv => \%sonyExposureProgram2,
1941
1991
  },
1942
1992
  0x03 => {
@@ -2177,6 +2227,7 @@ my %unknownCipherData = (
2177
2227
  Condition => '$$self{Model} !~ /^(NEX-(3|5)|DSLR-(A450|A500|A550)$)/',
2178
2228
  PrintConv => {
2179
2229
  1 => 'Horizontal (normal)',
2230
+ 2 => 'Rotate 180',
2180
2231
  6 => 'Rotate 90 CW',
2181
2232
  8 => 'Rotate 270 CW',
2182
2233
  },
@@ -2271,6 +2322,102 @@ my %faceInfo = (
2271
2322
  },
2272
2323
  );
2273
2324
 
2325
+ %Image::ExifTool::Sony::FaceInfoA = ( # different offsets for A450/A500/A550
2326
+ %binaryDataAttrs,
2327
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2328
+ FORMAT => 'int16u',
2329
+ DATAMEMBER => [ 0x02, 0x03, 0x08 ],
2330
+ #
2331
+ # The FacesDetected number at 0x03 below is often 1 lower than the one at Tag900b 0x02.
2332
+ # The number of Face Positions starting at 0x5b (max. 4) corresponds to the number at 0x03.
2333
+ # The number of Face Positions starting at 0x0b usually corresponds to the FacesDetected number of Tag900b...
2334
+ # Therefore created the extra condition at 0x0b (11.1) to output an available FacePosition, even when 0x03=0...
2335
+ #
2336
+ 0x02 => {
2337
+ Name => 'FaceTest2',
2338
+ DataMember => 'FaceTest2',
2339
+ Hidden => 1,
2340
+ RawConv => '$$self{FaceTest2} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val',
2341
+ },
2342
+ 0x03 => {
2343
+ Name => 'FacesDetected',
2344
+ DataMember => 'FacesDetected',
2345
+ RawConv => '$$self{FacesDetected} = ($val > 8 ? 0 : $val); $val',
2346
+ ValueConv => '$val > 8 ? 0 : $val',
2347
+ },
2348
+ 0x08 => {
2349
+ Name => 'FaceTest8',
2350
+ DataMember => 'FaceTest8',
2351
+ Hidden => 1,
2352
+ RawConv => '$$self{FaceTest8} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val',
2353
+ },
2354
+ # 0x0b - start of 8 Face Positions of 10 int16u values each
2355
+ 0x0b => {
2356
+ Name => 'PotentialFace1Position',
2357
+ Condition => q{
2358
+ $$self{FacesDetected} >= 1 or
2359
+ ($$self{FaceTest8} > 0 and ($$self{FaceTest2} == 1 or $$self{FaceTest2} == 257))
2360
+ },
2361
+ %faceInfo,
2362
+ },
2363
+ 0x15 => {
2364
+ Name => 'PotentialFace2Position',
2365
+ Condition => '$$self{FacesDetected} >= 2 or ($$self{FacesDetected} == 1 and $$self{FaceTest8} > 0)',
2366
+ %faceInfo,
2367
+ },
2368
+ 0x1f => {
2369
+ Name => 'PotentialFace3Position',
2370
+ Condition => '$$self{FacesDetected} >= 3 or ($$self{FacesDetected} == 2 and $$self{FaceTest8} > 0)',
2371
+ %faceInfo,
2372
+ },
2373
+ 0x29 => {
2374
+ Name => 'PotentialFace4Position',
2375
+ Condition => '$$self{FacesDetected} >= 4 or ($$self{FacesDetected} == 3 and $$self{FaceTest8} > 0)',
2376
+ %faceInfo,
2377
+ },
2378
+ 0x33 => {
2379
+ Name => 'PotentialFace5Position',
2380
+ Condition => '$$self{FacesDetected} >= 5 or ($$self{FacesDetected} == 4 and $$self{FaceTest8} > 0)',
2381
+ %faceInfo,
2382
+ },
2383
+ 0x3d => {
2384
+ Name => 'PotentialFace6Position',
2385
+ Condition => '$$self{FacesDetected} >= 6 or ($$self{FacesDetected} == 5 and $$self{FaceTest8} > 0)',
2386
+ %faceInfo,
2387
+ },
2388
+ 0x47 => {
2389
+ Name => 'PotentialFace7Position',
2390
+ Condition => '$$self{FacesDetected} >= 7 or ($$self{FacesDetected} == 6 and $$self{FaceTest8} > 0)',
2391
+ %faceInfo,
2392
+ },
2393
+ 0x51 => {
2394
+ Name => 'PotentialFace8Position',
2395
+ Condition => '$$self{FacesDetected} >= 8 or ($$self{FacesDetected} == 7 and $$self{FaceTest8} > 0)',
2396
+ %faceInfo,
2397
+ },
2398
+ # 0x5b - start of max. 4 further Face Positions here
2399
+ 0x5b => {
2400
+ Name => 'Face1Position',
2401
+ Condition => '$$self{FacesDetected} >= 1',
2402
+ %faceInfo,
2403
+ },
2404
+ 0x65 => {
2405
+ Name => 'Face2Position',
2406
+ Condition => '$$self{FacesDetected} >= 2',
2407
+ %faceInfo,
2408
+ },
2409
+ 0x6f => {
2410
+ Name => 'Face3Position',
2411
+ Condition => '$$self{FacesDetected} >= 3',
2412
+ %faceInfo,
2413
+ },
2414
+ 0x79 => {
2415
+ Name => 'Face4Position',
2416
+ Condition => '$$self{FacesDetected} >= 4',
2417
+ %faceInfo,
2418
+ },
2419
+ );
2420
+
2274
2421
  # Camera settings (ref PH) (decoded mainly from A200)
2275
2422
  %Image::ExifTool::Sony::CameraSettings = (
2276
2423
  %binaryDataAttrs,
@@ -2547,6 +2694,7 @@ my %faceInfo = (
2547
2694
  },
2548
2695
  0x3c => {
2549
2696
  Name => 'ExposureProgram',
2697
+ SeparateTable => 'ExposureProgram',
2550
2698
  PrintConv => \%sonyExposureProgram,
2551
2699
  },
2552
2700
  0x3d => {
@@ -2831,6 +2979,7 @@ my %faceInfo = (
2831
2979
  ### 0x3c-0x59: same TagID as CameraSettings
2832
2980
  0x3c => {
2833
2981
  Name => 'ExposureProgram',
2982
+ SeparateTable => 'ExposureProgram',
2834
2983
  PrintConv => \%sonyExposureProgram,
2835
2984
  },
2836
2985
  0x3d => { # (copied from CameraSettings, ref 12)
@@ -3001,6 +3150,7 @@ my %faceInfo = (
3001
3150
  # Camera exposure program/mode as selected with the Mode dial.
3002
3151
  # For SCN a further selection is done via the menu
3003
3152
  # Matches OK with 0xb023
3153
+ SeparateTable => 'ExposureProgram2',
3004
3154
  PrintConv => \%sonyExposureProgram2,
3005
3155
  },
3006
3156
  0x06 => { #12
@@ -3370,6 +3520,15 @@ my %faceInfo = (
3370
3520
  16 => 'Manual',
3371
3521
  },
3372
3522
  },
3523
+ 0x99 => { #12
3524
+ Name => 'LensMount',
3525
+ Condition => '$$self{Model} !~ /^DSLR-(A450|A500|A550)$/',
3526
+ PrintConv => {
3527
+ 1 => 'Unknown',
3528
+ 16 => 'A-Mount',
3529
+ 17 => 'E-Mount',
3530
+ },
3531
+ },
3373
3532
  0x10c => { #12
3374
3533
  Name => 'SequenceNumber',
3375
3534
  Condition => '$$self{Model} !~ /^DSLR-(A450|A500|A550)$/', # seen 18 for A550, so better exclude ?
@@ -3784,10 +3943,11 @@ my %faceInfo = (
3784
3943
  0x00 => 'Horizontal (normal)',
3785
3944
  0x10 => 'Rotate 90 CW',
3786
3945
  0x20 => 'Rotate 270 CW',
3946
+ 0x30 => 'Rotate 180',
3787
3947
  },
3788
3948
  },
3789
3949
  # 0x0019:
3790
- # A500/550: 0 - 6 and 251 - 255: could be something from -6 to +6 ?
3950
+ # A450/500/550: 0 - 12 and 233 - 255
3791
3951
  # A560/580: 1 or 64, seen a few 0 and 8
3792
3952
  # A33/35/55: seen 0, 1, 64
3793
3953
  # NEX: 204
@@ -3864,8 +4024,443 @@ my %faceInfo = (
3864
4024
  },
3865
4025
  );
3866
4026
 
3867
- # Tag9050 information (ref 12)
3868
- %Image::ExifTool::Sony::Tag9050 = (
4027
+ # tags used in Tag2010 and Tag9400 tables
4028
+ my %sequenceImageNumber = ( #PH
4029
+ Name => 'SequenceImageNumber',
4030
+ Notes => 'number of images captured in burst sequence',
4031
+ # (not shutter count because it increments for auto portrait framing)
4032
+ Format => 'int32u',
4033
+ ValueConv => '$val + 1',
4034
+ ValueConvInv => '$val - 1',
4035
+ );
4036
+ my %sequenceFileNumber = ( #PH
4037
+ Name => 'SequenceFileNumber',
4038
+ Notes => 'file number in burst sequence',
4039
+ Format => 'int32u',
4040
+ ValueConv => '$val + 1', #12
4041
+ ValueConvInv => '$val - 1',
4042
+ );
4043
+ my %releaseMode2 = ( #12
4044
+ Name => 'ReleaseMode2',
4045
+ SeparateTable => 'ReleaseMode2',
4046
+ PrintConv => {
4047
+ 0 => 'Normal',
4048
+ 1 => 'Continuous', # (RX100 "Continuous - Self-timer")
4049
+ 2 => 'Continuous - Exposure Bracketing', # (RX100)
4050
+ 3 => 'Continuous - White Balance Bracketing', # (HX9V) (RX100)
4051
+ 5 => 'Continuous - Burst', # (HX9V)
4052
+ 6 => 'Single Frame - Capture During Movie', #PH (RX100)
4053
+ 7 => 'Continuous - Sweep Panorama',
4054
+ 8 => 'Continuous - Anti-Motion Blur, Hand-held Twilight', # (HX9V)
4055
+ 9 => 'Continuous - HDR',
4056
+ 10 => 'Continuous - Background defocus', # (HX9V)
4057
+ 13 => 'Continuous - 3D Sweep Panorama', #PH/12
4058
+ 15 => 'Continuous - High Resolution Sweep Panorama', #12 (HX50V)
4059
+ 16 => 'Continuous - 3D Image', # (HX9V)
4060
+ 17 => 'Continuous - Burst 2', # (WX7 - PH) (#12 9400-SequenceLength=10 shots)
4061
+ 19 => 'Continuous - Speed/Advance Priority', #PH/12 (RX100)
4062
+ 20 => 'Continuous - Multi Frame NR',
4063
+ 26 => 'Continuous Low', #PH (A77)
4064
+ 27 => 'Continuous - High Sensitivity', # seen for DSC-WX60 and WX300
4065
+ 28 => 'Smile Shutter', #PH (RX100)
4066
+ 29 => 'Continuous - Tele-zoom Advance Priority',
4067
+ 146 => 'Single Frame - Movie Capture', #PH (seen in Tag2010 ReleaseMode2 values)
4068
+ },
4069
+ );
4070
+
4071
+ # tag definitions for Tag2010 tables (ref 12)
4072
+ my %sonyDateTime2010 = (
4073
+ Name => 'SonyDateTime',
4074
+ Format => 'undef[7]',
4075
+ Shift => 'Time',
4076
+ ValueConv => q{
4077
+ my @v = unpack('vC*', $val);
4078
+ return sprintf("%.4d:%.2d:%.2d %.2d:%.2d:%.2d", @v)
4079
+ },
4080
+ ValueConvInv => q{
4081
+ my @v = ($val =~ /\d+/g);
4082
+ return undef unless @v == 6;
4083
+ return pack('vC*', @v);
4084
+ },
4085
+ PrintConv => '$self->ConvertDateTime($val)',
4086
+ PrintConvInv => '$self->InverseDateTime($val,0)',
4087
+ );
4088
+ my %releaseMode2010 = (
4089
+ Name => 'ReleaseMode3',
4090
+ PrintConv => {
4091
+ 0 => 'Normal',
4092
+ 1 => 'Continuous',
4093
+ 2 => 'Continuous - Bracketing', # (also white balance bracketing - PH)
4094
+ # 3 => 'Remote Commander', (NC) (seen this when other ReleaseMode and ReleaseMode2 are 'Normal' - PH, A77)
4095
+ # 4 => 'Continuous - Burst', (NC)
4096
+ 5 => 'Continuous - Speed/Advance Priority',
4097
+ },
4098
+ );
4099
+ my %gain2010 = (
4100
+ Name => 'StopsAboveBaseISO',
4101
+ # BaseISO is 100 for SLT, ILCE-3000, NEX-5N/5R/5T/6/7/VG20/VG30/VG900, DSC-RX1/RX1R
4102
+ # BaseISO is 200 for NEX-F3/3N
4103
+ # BaseISO is 160 for DSC-RX100M2
4104
+ # BaseISO is 125 for DSC-RX100
4105
+ # Also several other DSC models have BaseISO different from 100.
4106
+ Format => 'int16u',
4107
+ ValueConv => '16 - $val/256',
4108
+ ValueConvInv => '(16 - $val) * 256',
4109
+ PrintConv => '$val ? sprintf("%.1f",$val) : $val',
4110
+ PrintConvInv => '$val',
4111
+ );
4112
+ my %brightnessValue2010 = (
4113
+ Name => 'BrightnessValue',
4114
+ Format => 'int16u',
4115
+ ValueConv => '$val/256 - 56.6',
4116
+ ValueConvInv => '($val + 56.6) * 256',
4117
+ );
4118
+ my %dynamicRangeOptimizer2010 = (
4119
+ Name => 'DynamicRangeOptimizer',
4120
+ PrintConv => {
4121
+ 0 => 'Off',
4122
+ 1 => 'Auto',
4123
+ 3 => 'Lv1',
4124
+ 4 => 'Lv2',
4125
+ 5 => 'Lv3',
4126
+ 6 => 'Lv4',
4127
+ 7 => 'Lv5',
4128
+ 8 => 'n/a',
4129
+ },
4130
+ );
4131
+ my %hdr2010 = (
4132
+ Name => 'HDRSetting', # (Off when HDR tag is On for RX100 superior auto backlight - PH)
4133
+ PrintConv => {
4134
+ 0 => 'Off',
4135
+ 1 => 'HDR Auto',
4136
+ 7 => 'HDR 3 EV',
4137
+ 9 => 'HDR 4 EV',
4138
+ 11 => 'HDR 5 EV',
4139
+ 13 => 'HDR 6 EV',
4140
+ },
4141
+ );
4142
+ my %exposureComp2010 = (
4143
+ Name => 'ExposureCompensation',
4144
+ Format=>'int16s',
4145
+ ValueConv => '-$val/256',
4146
+ ValueConvInv => '-$val*256',
4147
+ PrintConv => '$val ? sprintf("%+.1f",$val) : $val',
4148
+ PrintConvInv => '$val',
4149
+ );
4150
+ my %effect2010 = (
4151
+ Name => 'Effect',
4152
+ PrintConv => {
4153
+ 0 => 'Off',
4154
+ 1 => 'Toy Camera',
4155
+ 2 => 'Pop Color',
4156
+ 3 => 'Posterization',
4157
+ 4 => 'Retro Photo',
4158
+ 5 => 'Soft High Key',
4159
+ 6 => 'Partial Color',
4160
+ 7 => 'High Contrast Monochrome',
4161
+ 8 => 'Soft Focus',
4162
+ 9 => 'HDR Painting',
4163
+ 10 => 'Rich-tone Monochrome',
4164
+ 11 => 'Miniature',
4165
+ 12 => 'Water Color',
4166
+ 13 => 'Illustration',
4167
+ },
4168
+ );
4169
+ my %quality2010 = (
4170
+ Name => 'Quality2',
4171
+ PrintConv => {
4172
+ 0 => 'JPEG',
4173
+ 1 => 'RAW',
4174
+ 2 => 'RAW + JPEG',
4175
+ },
4176
+ );
4177
+ my %meteringMode2010 = (
4178
+ Name => 'MeteringMode',
4179
+ PrintConv => {
4180
+ 0 => 'Multi-segment',
4181
+ 2 => 'Center-weighted average',
4182
+ 3 => 'Spot',
4183
+ },
4184
+ );
4185
+ my %exposureProgram2010 = (
4186
+ Name => 'ExposureProgram',
4187
+ SeparateTable => 'ExposureProgram3',
4188
+ PrintConv => \%sonyExposureProgram3,
4189
+ );
4190
+
4191
+ %Image::ExifTool::Sony::Tag2010a = ( #12
4192
+ PROCESS_PROC => \&ProcessEnciphered,
4193
+ WRITE_PROC => \&WriteEnciphered,
4194
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4195
+ FORMAT => 'int8u',
4196
+ NOTES => 'Valid for NEX-5N.',
4197
+ WRITABLE => 1,
4198
+ FIRST_ENTRY => 0,
4199
+ PRIORITY => 0,
4200
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4201
+ 0x1128 => { %releaseMode2010 },
4202
+ 0x112c => { %releaseMode2 },
4203
+ 0x113e => { %gain2010 },
4204
+ 0x1140 => { %brightnessValue2010 },
4205
+ 0x1144 => { %dynamicRangeOptimizer2010 },
4206
+ 0x1148 => { %hdr2010 },
4207
+ 0x114c => { %exposureComp2010 },
4208
+ 0x1163 => { %effect2010 },
4209
+ 0x1170 => { %quality2010 },
4210
+ 0x1174 => { %meteringMode2010 },
4211
+ 0x1175 => { %exposureProgram2010 },
4212
+ 0x117c => { Name => 'WB_RGBLevels', Format => 'int16u[3]' },
4213
+ #0x1a08 => { Name => 'SonyImageWidth', Format => 'int16u' },
4214
+ #0x1a0c => { Name => 'SonyImageHeight', Format => 'int16u' },
4215
+ );
4216
+
4217
+ %Image::ExifTool::Sony::Tag2010b = ( #12
4218
+ PROCESS_PROC => \&ProcessEnciphered,
4219
+ WRITE_PROC => \&WriteEnciphered,
4220
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4221
+ FORMAT => 'int8u',
4222
+ NOTES => 'Valid for SLT-A65/A77, NEX-7/VG20E.',
4223
+ WRITABLE => 1,
4224
+ FIRST_ENTRY => 0,
4225
+ PRIORITY => 0,
4226
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4227
+ 0x0000 => { %sequenceImageNumber }, #PH
4228
+ 0x0004 => { %sequenceFileNumber }, #PH
4229
+ 0x0008 => { %releaseMode2, Format => 'int32u' },
4230
+ #0x0044 => { Name => 'SonyImageWidth3', Format => 'int16u' },
4231
+ #0x0048 => { Name => 'SonyImageHeight3', Format => 'int16u' },
4232
+ #0x0054 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4233
+ #0x0058 => { Name => 'SonyImageHeight2', Format => 'int16u' },
4234
+ #0x0064 => { Name => 'SonyImageWidth', Format => 'int16u' },
4235
+ #0x0068 => { Name => 'SonyImageHeight', Format => 'int16u' },
4236
+ #0x00a8 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4237
+ #0x00ac => { Name => 'SonyImageHeight2', Format => 'int16u' },
4238
+ #0x00b8 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4239
+ #0x00bc => { Name => 'SonyImageHeight2', Format => 'int16u' },
4240
+ #0x00c8 => { Name => 'SonyImageWidth', Format => 'int16u' },
4241
+ #0x00cc => { Name => 'SonyImageHeight', Format => 'int16u' },
4242
+ 0x01b6 => { %sonyDateTime2010, Groups => { 2 => 'Time' } },
4243
+ #0x0204 => { Name => 'SonyImageWidth', Format => 'int16u' },
4244
+ #0x0206 => { Name => 'SonyImageHeight', Format => 'int16u' },
4245
+ 0x1128 => { %releaseMode2010 },
4246
+ 0x112c => { %releaseMode2 },
4247
+ 0x113e => { %gain2010 },
4248
+ 0x1140 => { %brightnessValue2010 },
4249
+ 0x1144 => { %dynamicRangeOptimizer2010 },
4250
+ 0x1148 => { %hdr2010 },
4251
+ 0x114c => { %exposureComp2010 },
4252
+ 0x1167 => { %effect2010 },
4253
+ 0x1174 => { %quality2010 },
4254
+ 0x1178 => { %meteringMode2010 }, #1154
4255
+ 0x1179 => { %exposureProgram2010 },
4256
+ 0x1180 => { Name => 'WB_RGBLevels', Format => 'int16u[3]' },
4257
+ #0x1a08 => { Name => 'SonyImageWidth', Format => 'int16u' },
4258
+ #0x1a0c => { Name => 'SonyImageHeight', Format => 'int16u' },
4259
+ );
4260
+
4261
+ %Image::ExifTool::Sony::Tag2010c = ( #12
4262
+ PROCESS_PROC => \&ProcessEnciphered,
4263
+ WRITE_PROC => \&WriteEnciphered,
4264
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4265
+ FORMAT => 'int8u',
4266
+ NOTES => 'Valid for SLT-A37/A57 and NEX-F3.',
4267
+ WRITABLE => 1,
4268
+ FIRST_ENTRY => 0,
4269
+ PRIORITY => 0,
4270
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4271
+ 0x0000 => { %sequenceImageNumber }, #PH
4272
+ 0x0004 => { %sequenceFileNumber }, #PH
4273
+ 0x0008 => { %releaseMode2, Format => 'int32u' },
4274
+ #0x0048 => { Name => 'SonyImageWidth3', Format => 'int16u' },
4275
+ #0x004c => { Name => 'SonyImageHeight3', Format => 'int16u' },
4276
+ #0x0058 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4277
+ #0x005c => { Name => 'SonyImageHeight2', Format => 'int16u' },
4278
+ #0x0068 => { Name => 'SonyImageWidth', Format => 'int16u' },
4279
+ #0x006c => { Name => 'SonyImageHeight', Format => 'int16u' },
4280
+ #0x00c0 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4281
+ #0x00c4 => { Name => 'SonyImageHeight2', Format => 'int16u' },
4282
+ #0x00d0 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4283
+ #0x00d4 => { Name => 'SonyImageHeight2', Format => 'int16u' },
4284
+ #0x00e0 => { Name => 'SonyImageWidth', Format => 'int16u' },
4285
+ #0x00e4 => { Name => 'SonyImageHeight', Format => 'int16u' },
4286
+ #0x0134 => { Name => 'SonyImageHeight', Format => 'int16u' },
4287
+ #0x0144 => { Name => 'SonyImageHeight', Format => 'int16u' },
4288
+ #0x0154 => { Name => 'SonyImageHeight', Format => 'int16u' },
4289
+ 0x0200 => { Name => 'DigitalZoomRatio', ValueConv => '$val/16', ValueConvInv => '$val*16' },
4290
+ 0x0210 => { %sonyDateTime2010, Groups => { 2 => 'Time' } },
4291
+ 0x1104 => { %releaseMode2010 },
4292
+ 0x1108 => { %releaseMode2 },
4293
+ 0x111a => { %gain2010 },
4294
+ 0x111c => { %brightnessValue2010 },
4295
+ 0x1120 => { %dynamicRangeOptimizer2010 },
4296
+ 0x1124 => { %hdr2010 },
4297
+ 0x1128 => { %exposureComp2010 },
4298
+ 0x1143 => { %effect2010 },
4299
+ 0x1150 => { %quality2010 },
4300
+ 0x1154 => { %meteringMode2010 },
4301
+ 0x1155 => { %exposureProgram2010 },
4302
+ 0x115c => { Name => 'WB_RGBLevels', Format => 'int16u[3]' },
4303
+ #0x1a08 => { Name => 'SonyImageWidth', Format => 'int16u' },
4304
+ #0x1a0c => { Name => 'SonyImageHeight', Format => 'int16u' },
4305
+ );
4306
+
4307
+ %Image::ExifTool::Sony::Tag2010d = ( #12
4308
+ PROCESS_PROC => \&ProcessEnciphered,
4309
+ WRITE_PROC => \&WriteEnciphered,
4310
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4311
+ FORMAT => 'int8u',
4312
+ NOTES => q{
4313
+ Valid for DSC-HX10V/HX20V/HX200V/TX66/TX200V/TX300V/WX50/WX100/WX150, but
4314
+ not valid for panorama images.
4315
+ },
4316
+ WRITABLE => 1,
4317
+ FIRST_ENTRY => 0,
4318
+ PRIORITY => 0,
4319
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4320
+ 0x0000 => { %sequenceImageNumber }, #PH
4321
+ 0x0004 => { %sequenceFileNumber }, #PH
4322
+ 0x0008 => { %releaseMode2, Format => 'int32u' },
4323
+ #0x0048 => { Name => 'SonyImageWidth3', Format => 'int16u' },
4324
+ #0x004c => { Name => 'SonyImageHeight3', Format => 'int16u' },
4325
+ #0x0058 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4326
+ #0x005c => { Name => 'SonyImageHeight2', Format => 'int16u' },
4327
+ #0x0068 => { Name => 'SonyImageWidth', Format => 'int16u' },
4328
+ #0x006c => { Name => 'SonyImageHeight', Format => 'int16u' },
4329
+ #0x00c0 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4330
+ #0x00c4 => { Name => 'SonyImageHeight2', Format => 'int16u' },
4331
+ #0x00d0 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4332
+ #0x00d4 => { Name => 'SonyImageHeight2', Format => 'int16u' },
4333
+ #0x00e0 => { Name => 'SonyImageWidth', Format => 'int16u' },
4334
+ #0x00e4 => { Name => 'SonyImageHeight', Format => 'int16u' },
4335
+ 0x01fe => { %sonyDateTime2010, Groups => { 2 => 'Time' } },
4336
+ 0x1180 => { %releaseMode2010 },
4337
+ 0x1184 => { %releaseMode2 },
4338
+ 0x1196 => { %gain2010 },
4339
+ 0x1198 => { %brightnessValue2010 },
4340
+ 0x119c => { %dynamicRangeOptimizer2010 },
4341
+ 0x11a0 => { %hdr2010 },
4342
+ 0x11bf => { %effect2010 },
4343
+ 0x11d0 => { %meteringMode2010 },
4344
+ # 0x11d1 - not valid for HX20V panorama images - PH
4345
+ 0x11d1 => { %exposureProgram2010 },
4346
+ 0x11d8 => { Name => 'WB_RGBLevels', Format => 'int16u[3]' },
4347
+ );
4348
+
4349
+ %Image::ExifTool::Sony::Tag2010e = ( #12
4350
+ PROCESS_PROC => \&ProcessEnciphered,
4351
+ WRITE_PROC => \&WriteEnciphered,
4352
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4353
+ FORMAT => 'int8u',
4354
+ NOTES => q{
4355
+ Valid for SLT-A58/A99, ILCE-3000, NEX-3N/5R/5T/6/VG30E/VG900, DSC-RX100,
4356
+ DSC-RX1/RX1R. Also valid for DSC-HX300/HX50V/TX30/WX60/WX200/WX300, but not
4357
+ for panorama images.
4358
+ },
4359
+ WRITABLE => 1,
4360
+ FIRST_ENTRY => 0,
4361
+ PRIORITY => 0,
4362
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4363
+ 0x0000 => { %sequenceImageNumber }, #PH
4364
+ 0x0004 => { %sequenceFileNumber }, #PH
4365
+ 0x0008 => { %releaseMode2, Format => 'int32u' },
4366
+ #0x0048 => { Name => 'SonyImageWidth3', Format => 'int16u' },
4367
+ #0x004c => { Name => 'SonyImageHeight3', Format => 'int16u' },
4368
+ #0x0058 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4369
+ #0x005c => { Name => 'SonyImageHeight2', Format => 'int16u' },
4370
+ #0x0068 => { Name => 'SonyImageWidth', Format => 'int16u' },
4371
+ #0x006c => { Name => 'SonyImageHeight', Format => 'int16u' },
4372
+ #0x00c0 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4373
+ #0x00c4 => { Name => 'SonyImageHeight2', Format => 'int16u' },
4374
+ #0x00d0 => { Name => 'SonyImageWidth2', Format => 'int16u' },
4375
+ #0x00d4 => { Name => 'SonyImageHeight2', Format => 'int16u' },
4376
+ #0x00e0 => { Name => 'SonyImageWidth', Format => 'int16u' },
4377
+ #0x00e4 => { Name => 'SonyImageHeight', Format => 'int16u' },
4378
+ #0x01fa => { Name => 'SonyImageHeight', Format => 'int16u' },
4379
+ #0x0200 => { Name => 'SonyImageWidth', Format => 'int16u' },
4380
+ 0x021c => { Name => 'DigitalZoomRatio', ValueConv => '$val/16', ValueConvInv => '$val*16' },
4381
+ 0x022c => { %sonyDateTime2010, Groups => { 2 => 'Time' } },
4382
+ 0x115c => { %releaseMode2010 },
4383
+ 0x1160 => { %releaseMode2 },
4384
+ 0x1172 => { %gain2010 },
4385
+ 0x1174 => { %brightnessValue2010 },
4386
+ 0x1178 => { %dynamicRangeOptimizer2010 },
4387
+ 0x117c => { %hdr2010 },
4388
+ 0x1180 => { %exposureComp2010 },
4389
+ 0x119b => { %effect2010 },
4390
+ 0x11a8 => { %quality2010 },
4391
+ 0x11ac => { %meteringMode2010 },
4392
+ 0x11ad => { %exposureProgram2010 },
4393
+ 0x11b4 => { Name => 'WB_RGBLevels', Format => 'int16u[3]' },
4394
+ #0x1914 => { Name => 'SonyImageWidth', Format => 'int16u' },
4395
+ #0x1918 => { Name => 'SonyImageHeight', Format => 'int16u' },
4396
+ #0x192e => { Name => 'SonyImageWidth', Format => 'int16u' },
4397
+ #0x1930 => { Name => 'SonyImageHeight', Format => 'int16u' },
4398
+ );
4399
+
4400
+ %Image::ExifTool::Sony::Tag2010f = ( #12
4401
+ PROCESS_PROC => \&ProcessEnciphered,
4402
+ WRITE_PROC => \&WriteEnciphered,
4403
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4404
+ FORMAT => 'int8u',
4405
+ NOTES => 'Valid for DSC-RX100M2, DSC-QX10/QX100.',
4406
+ WRITABLE => 1,
4407
+ FIRST_ENTRY => 0,
4408
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4409
+ 0x0004 => { %releaseMode2, Format => 'int32u' }, # NOT at offset 0x08 !
4410
+ #0x002e => { Name => 'SonyImageWidth3', Format => 'int16u' },
4411
+ #0x0042 => { Name => 'SonyImageWidth3', Format => 'int16u' },
4412
+ 0x1014 => { %releaseMode2010 },
4413
+ 0x1018 => { %releaseMode2 },
4414
+ 0x102a => { %gain2010 },
4415
+ 0x102c => { %brightnessValue2010 },
4416
+ 0x1030 => { %dynamicRangeOptimizer2010 },
4417
+ 0x1034 => { %hdr2010 },
4418
+ 0x1038 => { %exposureComp2010 },
4419
+ 0x1053 => { %effect2010 },
4420
+ 0x1060 => { %quality2010 },
4421
+ 0x1064 => { %meteringMode2010 },
4422
+ 0x1065 => { %exposureProgram2010 },
4423
+ 0x106c => { Name => 'WB_RGBLevels', Format => 'int16u[3]' },
4424
+ #0x1096 => { Name => 'SonyImageWidth3', Format => 'int16u' },
4425
+ #0x10aa => { Name => 'SonyImageWidth3', Format => 'int16u' },
4426
+ #0x1914 => { Name => 'SonyImageWidth', Format => 'int16u' },
4427
+ #0x1918 => { Name => 'SonyImageHeight', Format => 'int16u' },
4428
+ #0x192e => { Name => 'SonyImageWidth', Format => 'int16u' },
4429
+ #0x1930 => { Name => 'SonyImageHeight', Format => 'int16u' },
4430
+ );
4431
+
4432
+ %Image::ExifTool::Sony::Tag900b = ( #12
4433
+ PROCESS_PROC => \&ProcessEnciphered,
4434
+ WRITE_PROC => \&WriteEnciphered,
4435
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4436
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
4437
+ # 0x0000 - always 174 (e)
4438
+ 0x0002 => {
4439
+ Name => 'FacesDetected',
4440
+ PrintConv => {
4441
+ 0 => '0',
4442
+ 98 => '1',
4443
+ 57 => '2',
4444
+ 93 => '3',
4445
+ 77 => '4',
4446
+ 33 => '5',
4447
+ 168 => '6',
4448
+ 241 => '7',
4449
+ 115 => '8',
4450
+ },
4451
+ },
4452
+ # 0x00bc - always 98 (221 (e))
4453
+ 0x00bd => {
4454
+ Condition => '$$self{Model} !~ /^DSLR-(A450|A500|A550)$/', # always 98 for A450/A500/A550: exclude
4455
+ Name => 'FaceDetection',
4456
+ PrintConv => {
4457
+ 0 => 'Off',
4458
+ 98 => 'On',
4459
+ },
4460
+ },
4461
+ );
4462
+
4463
+ %Image::ExifTool::Sony::Tag9050 = ( #12
3869
4464
  PROCESS_PROC => \&ProcessEnciphered,
3870
4465
  WRITE_PROC => \&WriteEnciphered,
3871
4466
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
@@ -3879,7 +4474,7 @@ my %faceInfo = (
3879
4474
  substitution cipher, but the deciphered values are listed below.
3880
4475
  },
3881
4476
  0x0000 => {
3882
- Condition => '$$self{Model} !~ /^(NEX-|DSC-)/',
4477
+ Condition => '$$self{Model} !~ /^(NEX-|ILCE-|DSC-)/',
3883
4478
  Name => 'MaxAperture',
3884
4479
  # seen values from 17 - 48
3885
4480
  ValueConv => '2 ** (($val/8 - 1.06) / 2)',
@@ -3888,7 +4483,7 @@ my %faceInfo = (
3888
4483
  PrintConvInv => '$val',
3889
4484
  },
3890
4485
  0x0001 => {
3891
- Condition => '$$self{Model} !~ /^(NEX-|DSC-)/',
4486
+ Condition => '$$self{Model} !~ /^(NEX-|ILCE-|DSC-)/',
3892
4487
  Name => 'MinAperture',
3893
4488
  # seen values from 80 - 95
3894
4489
  ValueConv => '2 ** (($val/8 - 1.06) / 2)',
@@ -3987,47 +4582,34 @@ my %faceInfo = (
3987
4582
  # 0x0262 - int16u LensType Condition => '$$self{Model} =~ /^(SLT-A(37|57|65V|77V)|NEX-(F3|5N|7|VG20E))/',
3988
4583
  );
3989
4584
 
3990
- # (decoding based on limited number of SLT-A37/A57/A65/A77, NEX-F3/5R, and DSC-HX9V images)
3991
- # Note: "(e)" in a comment indicates an enciphered value, all other values are deciphered
3992
- # 0x0000-0x0007: 7 1 1 1 0 0 0 0 (e) for several DSC models, e.g. DSC-HX9V
3993
- # 9 1 1 1 0 0 0 0 (e) for several DSC models
3994
- # 10 1 1 1 0 0 0 0 (e) for most SLT, NEX, DSC-RX100, DSC-RX1
3995
- # 12 1 1 1 0 0 0 0 (e) for NEX-3N, SLT-A58, DSC-WX60, DSC-WX300
3996
- # 208 1 1 0 0 0 0 0 (e) H90, W650: tag9400 decoding appears not valid
3997
- %Image::ExifTool::Sony::Tag9400a = (
4585
+ %Image::ExifTool::Sony::Tag9400a = ( #12
3998
4586
  PROCESS_PROC => \&ProcessEnciphered,
3999
4587
  WRITE_PROC => \&WriteEnciphered,
4000
4588
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4001
4589
  FORMAT => 'int8u',
4590
+ NOTES => 'Valid for many DSC, NEX and SLT models',
4002
4591
  WRITABLE => 1,
4003
4592
  FIRST_ENTRY => 0,
4004
4593
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4005
- 0x0008 => { #PH
4006
- Name => 'SequenceImageNumber',
4007
- Notes => 'number of images captured in burst sequence',
4008
- # (not shutter count because it increments for auto portrait framing)
4009
- Format => 'int32u',
4010
- ValueConv => '$val + 1',
4011
- ValueConvInv => '$val - 1',
4012
- },
4013
- 0x000c => { #PH
4014
- Name => 'SequenceFileNumber',
4015
- Notes => 'file number in burst sequence',
4016
- Format => 'int32u',
4017
- ValueConv => '$val + 1', #12
4018
- ValueConvInv => '$val - 1',
4019
- },
4020
- 0x0010 => {
4021
- Name => 'ReleaseMode2',
4022
- PrintConv => \%sonyReleaseMode2,
4594
+ 0x0008 => { %sequenceImageNumber }, #PH
4595
+ 0x000c => { %sequenceFileNumber }, #PH
4596
+ 0x0010 => { %releaseMode2 },
4597
+ 0x0012 => {
4598
+ Name => 'DigitalZoom',
4599
+ Condition => '$$self{Model} !~ /^(SLT-(A65|A77)V?|NEX-(5N|7|VG20E)|DSC-(HX10V|HX20V|HX200V|TX20|TX55|TX300V|WX30|WX70))\b/',
4600
+ PrintConv => {
4601
+ 0 => 'No',
4602
+ 1 => 'Yes',
4603
+ },
4023
4604
  },
4024
- # 0x0012 - Digital Zoom used 0=no, 1=yes (but not for A65V, A77V)
4025
4605
  # 0x0013 - Flash fired 0=no, 1=yes
4606
+ # 0x0014 - related to flash / RedEyeReduction ?
4607
+ # 0x0015 - CameraType: 1=HDR, 2=DSC, 3=SLT/NEX
4026
4608
  0x001a => { #PH
4027
4609
  Name => 'ShotNumberSincePowerUp',
4028
4610
  Format => 'int32u',
4029
4611
  },
4030
- # 0x001e - increments by 4 each shutter release press since power up?,
4612
+ # 0x001e - increments by 4 or 6 or 8 each shutter release press since power up
4031
4613
  # 0x001f - 0=most pictures, 1='Self-timer/Self-portrait', 2='Self-portrait (2 people)',
4032
4614
  # 3='Continuous Self-timer', 26='Sweep Panorama' (PH, RX100)
4033
4615
  # 0x0021 - maybe related to Image Stabilization or Smile Shutter ?
@@ -4070,35 +4652,45 @@ my %faceInfo = (
4070
4652
  # 0x0031 - smile shutter used 0=no, 1=yes (PH, RX100)
4071
4653
  # 0x0033 - 0 for DSC-HX9V, 8 for SLT, NEX
4072
4654
  # 0x0034 and 0x0038 - different offset for HX9V and SLT/NEX, but similar numbers, non-zero when flash fired
4655
+ 0x0044 => {
4656
+ Condition => '$$self{Model} =~ /^(SLT-|NEX-|DSC-RX)/', # not valid for most other DSC and HDR models
4657
+ Name => 'SonyImageHeight',
4658
+ Format => 'int16u',
4659
+ PrintConv => '$val > 0 ? 8*$val : "n.a."',
4660
+ },
4661
+ 0x0052 => {
4662
+ Name => 'ModelReleaseYear',
4663
+ Condition => '$$self{Model} =~ /^(SLT-|NEX-|DSC-RX)/', # not valid for most other DSC and HDR models
4664
+ Format => 'int8u',
4665
+ PrintConv => 'sprintf("20%.2d", $val)',
4666
+ },
4073
4667
  );
4074
4668
 
4075
- %Image::ExifTool::Sony::Tag9400b = (
4669
+ %Image::ExifTool::Sony::Tag9400b = ( #12
4076
4670
  PROCESS_PROC => \&ProcessEnciphered,
4077
4671
  WRITE_PROC => \&WriteEnciphered,
4078
4672
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
4079
4673
  FORMAT => 'int8u',
4674
+ NOTES => q{
4675
+ Valid for NEX-3N, ILCE-3000, SLT-A58, DSC-WX60, DSC-WX300, DSC-RX100M2,
4676
+ DSC-HX50V, DSC-QX10/QX100.
4677
+ },
4080
4678
  WRITABLE => 1,
4081
4679
  FIRST_ENTRY => 0,
4082
4680
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
4083
- 0x0008 => { #PH
4084
- Name => 'SequenceImageNumber',
4085
- Notes => 'number of images captured in burst sequence',
4086
- # (not shutter count because it increments for auto portrait framing)
4087
- Format => 'int32u',
4088
- ValueConv => '$val + 1',
4089
- ValueConvInv => '$val - 1',
4090
- },
4091
- 0x000c => { #PH
4092
- Name => 'SequenceFileNumber',
4093
- Notes => 'file number in burst sequence',
4094
- Format => 'int32u',
4095
- ValueConv => '$val + 1', #12
4096
- ValueConvInv => '$val - 1',
4097
- },
4098
- 0x0010 => {
4099
- Name => 'ReleaseMode2',
4100
- PrintConv => \%sonyReleaseMode2,
4681
+ 0x0008 => { %sequenceImageNumber }, #PH
4682
+ 0x000c => { %sequenceFileNumber }, #PH
4683
+ 0x0010 => { %releaseMode2 },
4684
+ 0x0012 => {
4685
+ Name => 'DigitalZoom',
4686
+ PrintConv => {
4687
+ 0 => 'No',
4688
+ 1 => 'Yes',
4689
+ },
4101
4690
  },
4691
+ # 0x0013 - Flash fired 0=no, 1=yes
4692
+ # 0x0014 - related to flash / RedEyeReduction ?
4693
+ # 0x0015 - CameraType: 1=HDR, 2=DSC, 3=SLT/NEX
4102
4694
  0x0016 => { #PH
4103
4695
  Name => 'ShotNumberSincePowerUp',
4104
4696
  Format => 'int32u',
@@ -4136,6 +4728,18 @@ my %faceInfo = (
4136
4728
  3 => 'JPEG + MPO', # 3D images
4137
4729
  },
4138
4730
  },
4731
+ # 0x0027 - FacesDetected_OK 0=no, 1=yes
4732
+ # 0x002c - long exposure noise reduction used 0=no, 1=yes (PH, RX100)
4733
+ 0x003f => {
4734
+ Name => 'SonyImageHeight',
4735
+ Format => 'int16u',
4736
+ PrintConv => '$val > 0 ? 8*$val : "n.a."',
4737
+ },
4738
+ 0x0046 => { # but Panorama images give incorrect result
4739
+ Name => 'ModelReleaseYear',
4740
+ Format => 'int8u',
4741
+ PrintConv => 'sprintf("20%.2d", $val)',
4742
+ },
4139
4743
  );
4140
4744
 
4141
4745
 
@@ -4168,9 +4772,9 @@ my %faceInfo = (
4168
4772
  PrintConv => {
4169
4773
  0 => 'Multi',
4170
4774
  1 => 'Center',
4171
- # 2 - seen for DSC-WX300,WX60
4775
+ 2 => 'Spot', # (NC) seen for DSC-WX300
4172
4776
  3 => 'Flexible Spot',
4173
- # 10 - seen for DSC-WX100,WX300,WX60
4777
+ 10 => 'Selective (for Miniature effect)', # seen for DSC-HX30V,TX30,WX60,WX100
4174
4778
  14 => 'Tracking',
4175
4779
  15 => 'Face Tracking',
4176
4780
  255 => 'Manual',
@@ -4333,6 +4937,7 @@ my %faceInfo = (
4333
4937
  },
4334
4938
  },
4335
4939
  # 0x0a - int16u: 0,1,2,3
4940
+ # 0xa6 - 8 bytes face detection info ?; starts with 1, otherwise all 0
4336
4941
  );
4337
4942
 
4338
4943
  # AFInfo (SLT models only) (ref PH, decoded mainly from A77)
@@ -4453,27 +5058,16 @@ my %faceInfo = (
4453
5058
  0x017e => { #12
4454
5059
  Name => 'ExposureProgram',
4455
5060
  Priority => 0,
4456
- PrintConv => {
4457
- 0 => 'Program AE',
4458
- 1 => 'Aperture-priority AE',
4459
- 2 => 'Shutter speed priority AE',
4460
- 3 => 'Manual',
4461
- 4 => 'Auto', # seen for NEX-VG900
4462
- 5 => 'iAuto',
4463
- 6 => 'Superior Auto', # seen for DSC-WX60,WX300
4464
- 7 => 'iAuto+',
4465
- 8 => 'Portrait',
4466
- 9 => 'Landscape', # seen for DSC-WX300
4467
- 12 => 'Sunset',
4468
- 17 => 'Handheld Night Shot', # seen for DSC-WX60
4469
- 29 => 'Macro',
4470
- 33 => 'Sweep Panorama',
4471
- 36 => 'Background Defocus', # seen for DSC-WX60
4472
- 43 => 'Cont. Priority AE',
4473
- },
5061
+ SeparateTable => 'ExposureProgram3',
5062
+ PrintConv => \%sonyExposureProgram3,
4474
5063
  },
4475
5064
  # 0x01b8 start 65 Blocks of 180 bytes each for SLT (ref 12)
4476
- # In each block, the 9th, 10th and 11th byte appear to relate to AFPoint as at offsets 0x07, 0x08, 0x09.
5065
+ # In each block, the 9th, 10th and 11th byte appear to relate to AFPoint as at offsets 0x07, 0x08, 0x09 above..
5066
+ # For the NEX probably only the 11th byte might be the AFPoint.
5067
+ # Possibly, these blocks relate to sequential focusing attempts and/or object tracking,
5068
+ # the first byte being an Index or Counter.
5069
+ # The last block before the block with index 0, appears to relate to the AF data at ShutterRelease.
5070
+
4477
5071
  # 0xf38,0x1208,0x14d8,0x158c,0x1640,(and more) - 0 if AFMicroAdj is On, 1 if Off
4478
5072
  # 0x1ab6 - 0x80 if AFMicroAdj is On, 0 if Off
4479
5073
  # tags also related to AFPoint (PH, A77):
@@ -4762,6 +5356,47 @@ my %faceInfo = (
4762
5356
  },
4763
5357
  );
4764
5358
 
5359
+ # extract information from "SONY PIC\0" maker notes (ref PH)
5360
+ %Image::ExifTool::Sony::PIC = (
5361
+ PROCESS_PROC => \&ProcessSonyPIC,
5362
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
5363
+ NOTES => q{
5364
+ The TextInfo data is extracted as a block to preserve the formatting, and
5365
+ some of the more interesting information is extracted as separate tags.
5366
+ },
5367
+ TextInfo1 => { Binary => 1 },
5368
+ TextInfo2 => { Binary => 1 },
5369
+ # tags extracted from TextInfo blocks (ID's must end with ':')
5370
+ 'Temp:' => {
5371
+ Name => 'CameraTemperature',
5372
+ RawConv => '$val =~ /^-?\d+/ ? $val : undef',
5373
+ PrintConv => '"$val C"',
5374
+ },
5375
+ 'Temp:Clbt:' => { Name => 'BoardTemperature', PrintConv => '"$val C"' }, #(NC)
5376
+ 'Capt:' => { Name => 'SensorTemperature', PrintConv => '"$val C"' }, #(NC)
5377
+ 'VR Enable C:' => {
5378
+ Name => 'VibrationReduction',
5379
+ PrintConv => { 0 => 'Off', 1 => 'On' }, #(NC)
5380
+ },
5381
+ 'FWVer:' => 'FirmwareVersion',
5382
+ 'BC:' => {
5383
+ Name => 'Barcode',
5384
+ Condition => 'not $$self{VALUE}{Barcode}',
5385
+ ValueConv => '$val=~s/IP1.*//; $val',
5386
+ },
5387
+ 'barcode:' => 'Barcode',
5388
+ 'BarCode:' => {
5389
+ Name => 'Barcode',
5390
+ ValueConv => 'length($val) > 12 ? substr($val,0,12) : $val',
5391
+ },
5392
+ # 'EvA:' - exposure compensation * 10 (ref 12)
5393
+ # for documentation only -- this IFD is handled manually
5394
+ IFD => {
5395
+ Name => 'PIC_IFD',
5396
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::Main' },
5397
+ },
5398
+ );
5399
+
4765
5400
  # tags found in DSC-F1 PMP header (ref 10)
4766
5401
  %Image::ExifTool::Sony::PMP = (
4767
5402
  PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
@@ -4907,6 +5542,58 @@ Image::ExifTool::AddCompositeTags('Image::ExifTool::Sony');
4907
5542
  $$minoltaTypes{Notes} = $sonyLensTypes{Notes}; # (restore original Notes)
4908
5543
  }
4909
5544
 
5545
+ #------------------------------------------------------------------------------
5546
+ # Process "SONY PIC\0" maker notes (DSC-H200/J10/W370/W510, MHS-TS20, ref PH)
5547
+ # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
5548
+ # Returns: 1
5549
+ sub ProcessSonyPIC($$$)
5550
+ {
5551
+ my ($exifTool, $dirInfo, $tagTablePtr) = @_;
5552
+ my $dataPt = $$dirInfo{DataPt};
5553
+ my $start = $$dirInfo{DirStart} || 0;
5554
+ my $len = $$dirInfo{DirLen} || (length($$dataPt) - $start);
5555
+ my $data = substr($$dataPt, $start, $len);
5556
+
5557
+ # H200 panorama images have an IFD at offset 12 (non-panoramas have 0's here)
5558
+ # - assume other images could too, but do a bit of validation to check
5559
+ # - MHS-TS20 images have some other data here
5560
+ if ($len >= 26) {
5561
+ my $count = Get16u($dataPt, $start + 12);
5562
+ if ($count > 256) {
5563
+ SwapByteOrder();
5564
+ $count = Get16u($dataPt, $start + 12);
5565
+ }
5566
+ if ($count and $count < 256) {
5567
+ my $format = Get16u($dataPt, $start + 16);
5568
+ if ($format >= 1 and $format <= 10) {
5569
+ $$dirInfo{DirStart} = $start + 12;
5570
+ $$dirInfo{DirLen} = $len - 12;
5571
+ my $sonyTable = GetTagTable('Image::ExifTool::Sony::Main');
5572
+ Image::ExifTool::Exif::ProcessExif($exifTool, $dirInfo, $sonyTable);
5573
+ }
5574
+ }
5575
+ }
5576
+ # Do a brute force search for text data:
5577
+ # For the DSC-J10/W370/W510 the first text block is at offset 0x1ec and
5578
+ # starts with "BarCode:". For the H200 it is at 0x1f0 and starts with "BC:".
5579
+ # For the TS20 it is at 0x5b and starts with "V400 AELOG\nbarcode:".
5580
+ # The second text block starts with "AFLOG" (Auto-Focus log) and is at
5581
+ # 0x600 for all models, except for the TS20 it is at 0x45b.
5582
+ my $i = 0;
5583
+ while ($data =~ /(\w[\x09\x0a\x0d\x20-\x7e]+)/sg) {
5584
+ next unless length $1 > 32;
5585
+ my ($tag, $val) = ('TextInfo' . (++$i), $1);
5586
+ $$tagTablePtr{$tag} or AddTagToTable($tagTablePtr, $tag, { Name => $tag, Binary => 1 });
5587
+ $exifTool->HandleTag($tagTablePtr, $tag, $val);
5588
+ # extract interesting tags separately (might want to speed this up)
5589
+ foreach $tag (sort { lc $a cmp lc $b } keys %$tagTablePtr) {
5590
+ next unless $tag =~ /:$/ and $val =~ /\b$tag\s*([^\s;,:]+)/;
5591
+ $exifTool->HandleTag($tagTablePtr, $tag, $1);
5592
+ }
5593
+ }
5594
+ return 1;
5595
+ }
5596
+
4910
5597
  #------------------------------------------------------------------------------
4911
5598
  # Make TIFF header for raw data
4912
5599
  # Inputs: 0) width, 1) height, 2) num colour components, 3) bits, 4) resolution