exiftool_vendored 9.45.0 → 9.46.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 (1073) hide show
  1. checksums.yaml +8 -8
  2. data/bin/Image-ExifTool-9.46/Changes +6444 -0
  3. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/MANIFEST +0 -0
  4. data/bin/Image-ExifTool-9.46/META.yml +27 -0
  5. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/Makefile.PL +0 -0
  6. data/bin/Image-ExifTool-9.46/README +228 -0
  7. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/exif2iptc.args +0 -0
  8. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/exif2xmp.args +0 -0
  9. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/gps2xmp.args +0 -0
  10. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/iptc2exif.args +0 -0
  11. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/iptc2xmp.args +0 -0
  12. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/iptcCore.args +0 -0
  13. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/pdf2xmp.args +0 -0
  14. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2exif.args +0 -0
  15. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2gps.args +0 -0
  16. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2iptc.args +0 -0
  17. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2pdf.args +0 -0
  18. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/config_files/ExifTool_config +0 -0
  19. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/config_files/convert_regions.config +0 -0
  20. data/bin/Image-ExifTool-9.46/exiftool +5767 -0
  21. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/fmt_files/gpx.fmt +0 -0
  22. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/fmt_files/gpx_wpt.fmt +0 -0
  23. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/fmt_files/kml.fmt +0 -0
  24. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/ExifTool.html +0 -0
  25. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/MIE1.1-20070121.pdf +0 -0
  26. data/bin/Image-ExifTool-9.46/html/Shift.html +173 -0
  27. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/AFCP.html +0 -0
  28. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/AIFF.html +0 -0
  29. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/APE.html +0 -0
  30. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/APP12.html +0 -0
  31. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ASF.html +0 -0
  32. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Apple.html +0 -0
  33. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/BMP.html +0 -0
  34. data/bin/Image-ExifTool-9.46/html/TagNames/Canon.html +8322 -0
  35. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/CanonCustom.html +0 -0
  36. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/CanonRaw.html +0 -0
  37. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/CanonVRD.html +0 -0
  38. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Casio.html +0 -0
  39. data/bin/Image-ExifTool-9.46/html/TagNames/Composite.html +673 -0
  40. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DICOM.html +0 -0
  41. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DNG.html +0 -0
  42. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DPX.html +0 -0
  43. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DV.html +0 -0
  44. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DarwinCore.html +0 -0
  45. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DjVu.html +0 -0
  46. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/EXE.html +0 -0
  47. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/EXIF.html +0 -0
  48. data/bin/Image-ExifTool-9.46/html/TagNames/Extra.html +309 -0
  49. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FLAC.html +0 -0
  50. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FLIR.html +0 -0
  51. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Flash.html +0 -0
  52. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FlashPix.html +0 -0
  53. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Font.html +0 -0
  54. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FotoStation.html +0 -0
  55. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FujiFilm.html +0 -0
  56. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GE.html +0 -0
  57. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GIF.html +0 -0
  58. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GIMP.html +0 -0
  59. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GPS.html +0 -0
  60. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GeoTiff.html +0 -0
  61. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/H264.html +0 -0
  62. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/HP.html +0 -0
  63. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/HTML.html +0 -0
  64. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ICC_Profile.html +0 -0
  65. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ID3.html +0 -0
  66. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/IPTC.html +0 -0
  67. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ITC.html +0 -0
  68. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/JFIF.html +0 -0
  69. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/JPEG.html +0 -0
  70. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/JVC.html +0 -0
  71. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Jpeg2000.html +0 -0
  72. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Kodak.html +0 -0
  73. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/KyoceraRaw.html +0 -0
  74. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/LNK.html +0 -0
  75. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Leaf.html +0 -0
  76. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/M2TS.html +0 -0
  77. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MIE.html +0 -0
  78. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MIFF.html +0 -0
  79. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MNG.html +0 -0
  80. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MPC.html +0 -0
  81. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MPEG.html +0 -0
  82. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MPF.html +0 -0
  83. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MWG.html +0 -0
  84. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MXF.html +0 -0
  85. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Matroska.html +0 -0
  86. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Microsoft.html +0 -0
  87. data/bin/Image-ExifTool-9.46/html/TagNames/Minolta.html +2568 -0
  88. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MinoltaRaw.html +0 -0
  89. data/bin/Image-ExifTool-9.46/html/TagNames/Nikon.html +4498 -0
  90. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/NikonCapture.html +0 -0
  91. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/NikonCustom.html +0 -0
  92. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/OOXML.html +0 -0
  93. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Ogg.html +0 -0
  94. data/bin/Image-ExifTool-9.46/html/TagNames/Olympus.html +3401 -0
  95. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/OpenEXR.html +0 -0
  96. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PDF.html +0 -0
  97. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PGF.html +0 -0
  98. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PICT.html +0 -0
  99. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PLIST.html +0 -0
  100. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PNG.html +0 -0
  101. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PSP.html +0 -0
  102. data/bin/Image-ExifTool-9.46/html/TagNames/Panasonic.html +1599 -0
  103. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PanasonicRaw.html +0 -0
  104. data/bin/Image-ExifTool-9.46/html/TagNames/Pentax.html +4528 -0
  105. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PhaseOne.html +0 -0
  106. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PhotoCD.html +0 -0
  107. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PhotoMechanic.html +0 -0
  108. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Photoshop.html +0 -0
  109. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PostScript.html +0 -0
  110. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PrintIM.html +0 -0
  111. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Qualcomm.html +0 -0
  112. data/bin/Image-ExifTool-9.46/html/TagNames/QuickTime.html +3438 -0
  113. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/RIFF.html +0 -0
  114. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/RSRC.html +0 -0
  115. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/RTF.html +0 -0
  116. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Radiance.html +0 -0
  117. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Rawzor.html +0 -0
  118. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Real.html +0 -0
  119. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Reconyx.html +0 -0
  120. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Ricoh.html +0 -0
  121. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Samsung.html +0 -0
  122. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Sanyo.html +0 -0
  123. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Scalado.html +0 -0
  124. data/bin/Image-ExifTool-9.46/html/TagNames/Shortcuts.html +240 -0
  125. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Sigma.html +0 -0
  126. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/SigmaRaw.html +0 -0
  127. data/bin/Image-ExifTool-9.46/html/TagNames/Sony.html +5721 -0
  128. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/SonyIDC.html +0 -0
  129. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Stim.html +0 -0
  130. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Theora.html +0 -0
  131. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Torrent.html +0 -0
  132. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Unknown.html +0 -0
  133. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Vorbis.html +0 -0
  134. data/bin/Image-ExifTool-9.46/html/TagNames/XMP.html +7939 -0
  135. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ZIP.html +0 -0
  136. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/iWork.html +0 -0
  137. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/index.html +0 -0
  138. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/style.css +0 -0
  139. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/ancient_history.html +0 -0
  140. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/canon_raw.html +0 -0
  141. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/commentary.html +0 -0
  142. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/config.html +0 -0
  143. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/data_members.html +0 -0
  144. data/bin/Image-ExifTool-9.46/html/exiftool_pod.html +2370 -0
  145. data/bin/Image-ExifTool-9.46/html/faq.html +1435 -0
  146. data/bin/Image-ExifTool-9.46/html/filename.html +294 -0
  147. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/geotag.html +0 -0
  148. data/bin/Image-ExifTool-9.46/html/history.html +377 -0
  149. data/bin/Image-ExifTool-9.46/html/htmldump.html +733 -0
  150. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/idiosyncracies.html +0 -0
  151. data/bin/Image-ExifTool-9.46/html/index.html +1283 -0
  152. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/install.html +0 -0
  153. data/bin/Image-ExifTool-9.46/html/metafiles.html +274 -0
  154. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/overview.png +0 -0
  155. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/standards.html +0 -0
  156. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/struct.html +0 -0
  157. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/style.css +0 -0
  158. data/bin/Image-ExifTool-9.46/html/under.html +126 -0
  159. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/verbose.html +0 -0
  160. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/writing.html +0 -0
  161. data/bin/Image-ExifTool-9.46/lib/File/RandomAccess.pm +378 -0
  162. data/bin/Image-ExifTool-9.46/lib/File/RandomAccess.pod +231 -0
  163. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool.pm +6916 -0
  164. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool.pod +2406 -0
  165. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/AES.pm +501 -0
  166. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/AFCP.pm +284 -0
  167. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/AIFF.pm +271 -0
  168. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/APE.pm +262 -0
  169. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/APP12.pm +322 -0
  170. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ASF.pm +884 -0
  171. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Apple.pm +113 -0
  172. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BMP.pm +179 -0
  173. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BZZ.pm +472 -0
  174. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BigTIFF.pm +282 -0
  175. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BuildTagLookup.pm +2425 -0
  176. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Canon.pm +7983 -0
  177. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CanonCustom.pm +2523 -0
  178. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CanonRaw.pm +931 -0
  179. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CanonVRD.pm +1481 -0
  180. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CaptureOne.pm +235 -0
  181. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Casio.pm +2013 -0
  182. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Charset.pm +396 -0
  183. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  184. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  185. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  186. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  187. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  188. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  189. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  190. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  191. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  192. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  193. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  194. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  195. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  196. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  197. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  198. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  199. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  200. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  201. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  202. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  203. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  204. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  205. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  206. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  207. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  208. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  209. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  210. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  211. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  212. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  213. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DICOM.pm +3874 -0
  214. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DNG.pm +835 -0
  215. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DPX.pm +151 -0
  216. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DV.pm +319 -0
  217. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DarwinCore.pm +317 -0
  218. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DjVu.pm +376 -0
  219. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/EXE.pm +1228 -0
  220. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Exif.pm +4596 -0
  221. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FLAC.pm +296 -0
  222. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FLIR.pm +1232 -0
  223. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Fixup.pm +354 -0
  224. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Flash.pm +755 -0
  225. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FlashPix.pm +1882 -0
  226. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Font.pm +643 -0
  227. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FotoStation.pm +259 -0
  228. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FujiFilm.pm +1088 -0
  229. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GE.pm +80 -0
  230. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GIF.pm +542 -0
  231. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GIMP.pm +258 -0
  232. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GPS.pm +514 -0
  233. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GeoTiff.pm +2187 -0
  234. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Geotag.pm +1176 -0
  235. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/H264.pm +1102 -0
  236. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/HP.pm +262 -0
  237. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/HTML.pm +576 -0
  238. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/HtmlDump.pm +895 -0
  239. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ICC_Profile.pm +999 -0
  240. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ID3.pm +1532 -0
  241. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/IPTC.pm +1244 -0
  242. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ITC.pm +215 -0
  243. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Import.pm +308 -0
  244. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/InDesign.pm +277 -0
  245. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/JPEG.pm +522 -0
  246. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/JPEGDigest.pm +2511 -0
  247. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/JVC.pm +130 -0
  248. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Jpeg2000.pm +873 -0
  249. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Kodak.pm +2014 -0
  250. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/KyoceraRaw.pm +173 -0
  251. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/LNK.pm +723 -0
  252. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/cs.pm +1586 -0
  253. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/de.pm +7356 -0
  254. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/en_ca.pm +557 -0
  255. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/en_gb.pm +572 -0
  256. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/es.pm +4017 -0
  257. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/fi.pm +2856 -0
  258. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/fr.pm +4738 -0
  259. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/it.pm +7918 -0
  260. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/ja.pm +5815 -0
  261. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/ko.pm +2332 -0
  262. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/nl.pm +3220 -0
  263. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/pl.pm +1140 -0
  264. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/ru.pm +769 -0
  265. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/sv.pm +639 -0
  266. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/tr.pm +544 -0
  267. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/zh_cn.pm +1329 -0
  268. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/zh_tw.pm +802 -0
  269. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Leaf.pm +515 -0
  270. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/M2TS.pm +725 -0
  271. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MIE.pm +2561 -0
  272. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MIEUnits.pod +377 -0
  273. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MIFF.pm +279 -0
  274. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MNG.pm +684 -0
  275. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MPC.pm +156 -0
  276. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MPEG.pm +736 -0
  277. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MPF.pm +289 -0
  278. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MWG.pm +748 -0
  279. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MXF.pm +3032 -0
  280. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MakerNotes.pm +1598 -0
  281. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Matroska.pm +891 -0
  282. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Microsoft.pm +879 -0
  283. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Minolta.pm +2861 -0
  284. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MinoltaRaw.pm +534 -0
  285. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Nikon.pm +6145 -0
  286. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/NikonCapture.pm +911 -0
  287. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/NikonCustom.pm +4405 -0
  288. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/OOXML.pm +409 -0
  289. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Ogg.pm +237 -0
  290. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Olympus.pm +3630 -0
  291. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/OpenEXR.pm +324 -0
  292. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PDF.pm +2327 -0
  293. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PGF.pm +143 -0
  294. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PICT.pm +1260 -0
  295. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PLIST.pm +453 -0
  296. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PNG.pm +1161 -0
  297. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PPM.pm +169 -0
  298. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PSP.pm +305 -0
  299. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Panasonic.pm +2205 -0
  300. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PanasonicRaw.pm +535 -0
  301. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Pentax.pm +5792 -0
  302. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PhaseOne.pm +557 -0
  303. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PhotoCD.pm +507 -0
  304. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PhotoMechanic.pm +256 -0
  305. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Photoshop.pm +629 -0
  306. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PostScript.pm +693 -0
  307. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PrintIM.pm +125 -0
  308. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Qualcomm.pm +1344 -0
  309. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/QuickTime.pm +3910 -0
  310. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/README +0 -0
  311. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/RIFF.pm +1332 -0
  312. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/RSRC.pm +241 -0
  313. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/RTF.pm +383 -0
  314. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Radiance.pm +144 -0
  315. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Rawzor.pm +190 -0
  316. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Real.pm +736 -0
  317. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Reconyx.pm +190 -0
  318. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Ricoh.pm +1039 -0
  319. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Samsung.pm +846 -0
  320. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Sanyo.pm +439 -0
  321. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Scalado.pm +141 -0
  322. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Shift.pl +594 -0
  323. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Shortcuts.pm +298 -0
  324. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Sigma.pm +574 -0
  325. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/SigmaRaw.pm +649 -0
  326. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Sony.pm +7072 -0
  327. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/SonyIDC.pm +330 -0
  328. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Stim.pm +196 -0
  329. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/TagInfoXML.pm +794 -0
  330. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/TagLookup.pm +8365 -0
  331. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/TagNames.pod +26883 -0
  332. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Theora.pm +145 -0
  333. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Torrent.pm +317 -0
  334. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Unknown.pm +66 -0
  335. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Vorbis.pm +237 -0
  336. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteCanonRaw.pl +637 -0
  337. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteExif.pl +3685 -0
  338. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteIPTC.pl +702 -0
  339. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePDF.pl +765 -0
  340. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePNG.pl +376 -0
  341. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePhotoshop.pl +266 -0
  342. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePostScript.pl +777 -0
  343. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteQuickTime.pl +344 -0
  344. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteXMP.pl +1318 -0
  345. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Writer.pl +5851 -0
  346. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/XMP.pm +3755 -0
  347. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/XMP2.pl +1303 -0
  348. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/XMPStruct.pl +814 -0
  349. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ZIP.pm +623 -0
  350. data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/iWork.pm +223 -0
  351. data/bin/Image-ExifTool-9.46/perl-Image-ExifTool.spec +105 -0
  352. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AFCP.t +0 -0
  353. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AFCP_2.out +0 -0
  354. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AFCP_3.out +0 -0
  355. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AIFF.t +0 -0
  356. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AIFF_2.out +0 -0
  357. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/APE.t +0 -0
  358. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/APE_2.out +0 -0
  359. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/APE_3.out +0 -0
  360. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ASF.t +0 -0
  361. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ASF_2.out +0 -0
  362. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BMP.t +0 -0
  363. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BMP_2.out +0 -0
  364. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BigTIFF.t +0 -0
  365. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BigTIFF_2.out +0 -0
  366. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Canon.t +0 -0
  367. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw.t +0 -0
  368. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_2.out +0 -0
  369. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_4.out +0 -0
  370. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_5.out +0 -0
  371. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_6.out +0 -0
  372. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_7.out +0 -0
  373. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD.t +0 -0
  374. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_11.out +0 -0
  375. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_12.out +0 -0
  376. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_2.out +0 -0
  377. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_3.out +0 -0
  378. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_4.out +0 -0
  379. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_5.out +0 -0
  380. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_6.out +0 -0
  381. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_7.out +0 -0
  382. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_8.out +0 -0
  383. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_9.out +0 -0
  384. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Canon_2.out +0 -0
  385. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Canon_3.out +0 -0
  386. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio.t +0 -0
  387. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_2.out +0 -0
  388. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_3.out +0 -0
  389. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_4.out +0 -0
  390. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_5.out +0 -0
  391. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_6.out +0 -0
  392. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DICOM.t +0 -0
  393. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DICOM_2.out +0 -0
  394. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DNG.t +0 -0
  395. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DNG_2.out +0 -0
  396. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DNG_3.out +0 -0
  397. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DPX.t +0 -0
  398. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DPX_2.out +0 -0
  399. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DV.t +0 -0
  400. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DV_2.out +0 -0
  401. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DjVu.t +0 -0
  402. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DjVu_2.out +0 -0
  403. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE.t +0 -0
  404. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE_2.out +0 -0
  405. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE_3.out +0 -0
  406. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE_4.out +0 -0
  407. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool.t +0 -0
  408. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_16.out +0 -0
  409. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_17.out +0 -0
  410. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_2.out +0 -0
  411. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_20.out +0 -0
  412. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_21.out +0 -0
  413. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_22.out +0 -0
  414. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_23.out +0 -0
  415. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_24.out +0 -0
  416. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_25.out +0 -0
  417. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_26.out +0 -0
  418. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_3.out +0 -0
  419. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_4.out +0 -0
  420. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_5.out +0 -0
  421. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_6.out +0 -0
  422. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_7.out +0 -0
  423. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_8.out +0 -0
  424. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_9.out +0 -0
  425. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLAC.t +0 -0
  426. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLAC_2.out +0 -0
  427. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLAC_3.out +0 -0
  428. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLIR.t +0 -0
  429. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLIR_2.out +0 -0
  430. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLIR_3.out +0 -0
  431. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Flash.t +0 -0
  432. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FlashPix.t +0 -0
  433. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FlashPix_2.out +0 -0
  434. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Flash_2.out +0 -0
  435. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Flash_3.out +0 -0
  436. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font.t +0 -0
  437. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_2.out +0 -0
  438. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_3.out +0 -0
  439. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_4.out +0 -0
  440. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_5.out +0 -0
  441. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_6.out +0 -0
  442. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_7.out +0 -0
  443. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FotoStation.t +0 -0
  444. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FotoStation_2.out +0 -0
  445. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FotoStation_3.out +0 -0
  446. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm.t +0 -0
  447. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_2.out +0 -0
  448. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_3.out +0 -0
  449. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_4.out +0 -0
  450. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_5.out +0 -0
  451. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GE.t +0 -0
  452. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GE_2.out +0 -0
  453. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GE_3.out +0 -0
  454. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF.t +0 -0
  455. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF_2.out +0 -0
  456. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF_3.out +0 -0
  457. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF_4.out +0 -0
  458. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIMP.t +0 -0
  459. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIMP_2.out +0 -0
  460. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GPS.t +0 -0
  461. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GPS_2.out +0 -0
  462. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GPS_3.out +0 -0
  463. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GeoTiff.t +0 -0
  464. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GeoTiff_2.out +0 -0
  465. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GeoTiff_3.out +0 -0
  466. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag.t +0 -0
  467. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_2.out +0 -0
  468. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_3.out +0 -0
  469. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_5.out +0 -0
  470. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_6.out +0 -0
  471. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_7.out +0 -0
  472. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_8.out +0 -0
  473. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_9.out +0 -0
  474. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/HTML.t +0 -0
  475. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/HTML_2.out +0 -0
  476. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC.t +0 -0
  477. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_2.out +0 -0
  478. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_4.out +0 -0
  479. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_5.out +0 -0
  480. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_6.out +0 -0
  481. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_7.out +0 -0
  482. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_8.out +0 -0
  483. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ITC.t +0 -0
  484. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ITC_2.out +0 -0
  485. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign.t +0 -0
  486. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign_2.out +0 -0
  487. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign_3.out +0 -0
  488. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign_4.out +0 -0
  489. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/JVC.t +0 -0
  490. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/JVC_2.out +0 -0
  491. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/JVC_3.out +0 -0
  492. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000.t +0 -0
  493. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000_2.out +0 -0
  494. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000_3.out +0 -0
  495. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000_4.out +0 -0
  496. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Kodak.t +0 -0
  497. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Kodak_2.out +0 -0
  498. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Kodak_3.out +0 -0
  499. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/KyoceraRaw.t +0 -0
  500. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/KyoceraRaw_2.out +0 -0
  501. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/LNK.t +0 -0
  502. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/LNK_2.out +0 -0
  503. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang.t +0 -0
  504. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_1.out +0 -0
  505. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_10.out +0 -0
  506. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_11.out +0 -0
  507. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_12.out +0 -0
  508. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_13.out +0 -0
  509. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_14.out +0 -0
  510. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_15.out +0 -0
  511. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_16.out +0 -0
  512. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_17.out +0 -0
  513. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_18.out +0 -0
  514. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_2.out +0 -0
  515. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_3.out +0 -0
  516. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_4.out +0 -0
  517. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_5.out +0 -0
  518. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_6.out +0 -0
  519. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_7.out +0 -0
  520. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_8.out +0 -0
  521. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_9.out +0 -0
  522. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/M2TS.t +0 -0
  523. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/M2TS_2.out +0 -0
  524. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE.t +0 -0
  525. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_2.out +0 -0
  526. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_3.out +0 -0
  527. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_5.out +0 -0
  528. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_6.out +0 -0
  529. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIFF.t +0 -0
  530. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIFF_2.out +0 -0
  531. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MP3.t +0 -0
  532. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MP3_2.out +0 -0
  533. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG.t +0 -0
  534. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_2.out +0 -0
  535. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_3.out +0 -0
  536. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_4.out +0 -0
  537. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_5.out +0 -0
  538. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_6.out +0 -0
  539. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MXF.t +0 -0
  540. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MXF_2.out +0 -0
  541. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Matroska.t +0 -0
  542. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Matroska_2.out +0 -0
  543. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta.t +0 -0
  544. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta_2.out +0 -0
  545. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta_3.out +0 -0
  546. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta_4.out +0 -0
  547. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon.t +0 -0
  548. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_2.out +0 -0
  549. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_3.out +0 -0
  550. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_4.out +0 -0
  551. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_5.out +0 -0
  552. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_7.out +0 -0
  553. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_8.out +0 -0
  554. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus.t +0 -0
  555. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_2.out +0 -0
  556. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_3.out +0 -0
  557. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_4.out +0 -0
  558. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_5.out +0 -0
  559. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_6.out +0 -0
  560. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_7.out +0 -0
  561. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/OpenEXR.t +0 -0
  562. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/OpenEXR_2.out +0 -0
  563. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF.t +0 -0
  564. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_10.out +0 -0
  565. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_11.out +0 -0
  566. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_12.out +0 -0
  567. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_14.out +0 -0
  568. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_15.out +0 -0
  569. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_16.out +0 -0
  570. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_17.out +0 -0
  571. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_18.out +0 -0
  572. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_19.out +0 -0
  573. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_2.out +0 -0
  574. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_20.out +0 -0
  575. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_22.out +0 -0
  576. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_4.out +0 -0
  577. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_5.out +0 -0
  578. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_6.out +0 -0
  579. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_7.out +0 -0
  580. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_8.out +0 -0
  581. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_9.out +0 -0
  582. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PGF.t +0 -0
  583. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PGF_2.out +0 -0
  584. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PICT.t +0 -0
  585. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PICT_2.out +0 -0
  586. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PLIST.t +0 -0
  587. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PLIST_2.out +0 -0
  588. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PLIST_3.out +0 -0
  589. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG.t +0 -0
  590. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_2.out +0 -0
  591. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_3.out +0 -0
  592. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_4.out +0 -0
  593. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_5.out +0 -0
  594. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PPM.t +0 -0
  595. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PPM_2.out +0 -0
  596. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PPM_3.out +0 -0
  597. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PSP.t +0 -0
  598. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PSP_2.out +0 -0
  599. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic.t +0 -0
  600. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_2.out +0 -0
  601. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_3.out +0 -0
  602. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_4.out +0 -0
  603. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_5.out +0 -0
  604. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax.t +0 -0
  605. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax_2.out +0 -0
  606. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax_3.out +0 -0
  607. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax_4.out +0 -0
  608. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoCD.t +0 -0
  609. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoCD_2.out +0 -0
  610. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoMechanic.t +0 -0
  611. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoMechanic_2.out +0 -0
  612. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoMechanic_3.out +0 -0
  613. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Photoshop.t +0 -0
  614. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Photoshop_2.out +0 -0
  615. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Photoshop_3.out +0 -0
  616. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PostScript.t +0 -0
  617. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PostScript_2.out +0 -0
  618. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PostScript_3.out +0 -0
  619. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/QuickTime.t +0 -0
  620. data/bin/Image-ExifTool-9.46/t/QuickTime_2.out +131 -0
  621. data/bin/Image-ExifTool-9.46/t/QuickTime_3.out +72 -0
  622. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/QuickTime_4.out +0 -0
  623. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/QuickTime_5.out +0 -0
  624. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF.t +0 -0
  625. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF_2.out +0 -0
  626. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF_3.out +0 -0
  627. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF_4.out +0 -0
  628. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RTF.t +0 -0
  629. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RTF_2.out +0 -0
  630. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Radiance.t +0 -0
  631. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Radiance_2.out +0 -0
  632. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real.t +0 -0
  633. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real_2.out +0 -0
  634. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real_3.out +0 -0
  635. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real_4.out +0 -0
  636. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh.t +0 -0
  637. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh_2.out +0 -0
  638. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh_3.out +0 -0
  639. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh_4.out +0 -0
  640. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sanyo.t +0 -0
  641. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sanyo_2.out +0 -0
  642. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sanyo_3.out +0 -0
  643. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma.t +0 -0
  644. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_2.out +0 -0
  645. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_3.out +0 -0
  646. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_4.out +0 -0
  647. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_5.out +0 -0
  648. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony.t +0 -0
  649. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony_2.out +0 -0
  650. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony_3.out +0 -0
  651. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony_5.out +0 -0
  652. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/TestLib.pm +0 -0
  653. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Torrent.t +0 -0
  654. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Torrent_2.out +0 -0
  655. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Unknown.t +0 -0
  656. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Unknown_2.out +0 -0
  657. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Unknown_3.out +0 -0
  658. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Vorbis.t +0 -0
  659. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Vorbis_2.out +0 -0
  660. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer.t +0 -0
  661. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_10.out +0 -0
  662. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_11.out +0 -0
  663. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_13.out +0 -0
  664. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_14.out +0 -0
  665. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_15.out +0 -0
  666. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_16.out +0 -0
  667. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_17.out +0 -0
  668. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_18.out +0 -0
  669. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_19.out +0 -0
  670. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_2.out +0 -0
  671. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_22.out +0 -0
  672. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_24.out +0 -0
  673. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_25.out +0 -0
  674. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_26.out +0 -0
  675. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_27.out +0 -0
  676. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_28.out +0 -0
  677. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_29.out +0 -0
  678. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_30.out +0 -0
  679. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_31.out +0 -0
  680. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_32.out +0 -0
  681. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_33.out +0 -0
  682. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_34.out +0 -0
  683. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_35.out +0 -0
  684. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_36.out +0 -0
  685. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_37.out +0 -0
  686. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_38.out +0 -0
  687. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_39.out +0 -0
  688. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_4.out +0 -0
  689. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_40.out +0 -0
  690. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_41.out +0 -0
  691. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_42.out +0 -0
  692. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_43.out +0 -0
  693. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_44.out +0 -0
  694. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_45.out +0 -0
  695. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_46.out +0 -0
  696. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_47.out +0 -0
  697. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_48.out +0 -0
  698. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_50.out +0 -0
  699. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_51.out +0 -0
  700. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_52.out +0 -0
  701. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_53.out +0 -0
  702. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_54.out +0 -0
  703. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_6.out +0 -0
  704. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_7.out +0 -0
  705. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_9.out +0 -0
  706. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP.t +0 -0
  707. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_10.out +0 -0
  708. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_11.out +0 -0
  709. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_12.out +0 -0
  710. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_13.out +0 -0
  711. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_14.out +0 -0
  712. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_15.out +0 -0
  713. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_16.out +0 -0
  714. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_17.out +0 -0
  715. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_18.out +0 -0
  716. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_19.out +0 -0
  717. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_2.out +0 -0
  718. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_20.out +0 -0
  719. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_21.out +0 -0
  720. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_22.out +0 -0
  721. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_23.out +0 -0
  722. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_24.out +0 -0
  723. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_25.out +0 -0
  724. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_26.out +0 -0
  725. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_27.out +0 -0
  726. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_28.out +0 -0
  727. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_29.out +0 -0
  728. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_3.out +0 -0
  729. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_30.out +0 -0
  730. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_31.out +0 -0
  731. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_32.out +0 -0
  732. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_34.out +0 -0
  733. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_36.out +0 -0
  734. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_37.out +0 -0
  735. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_39.out +0 -0
  736. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_40.out +0 -0
  737. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_41.out +0 -0
  738. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_5.out +0 -0
  739. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_6.out +0 -0
  740. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_7.out +0 -0
  741. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_8.out +0 -0
  742. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_9.out +0 -0
  743. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP.t +0 -0
  744. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_2.out +0 -0
  745. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_3.out +0 -0
  746. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_4.out +0 -0
  747. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_5.out +0 -0
  748. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_6.out +0 -0
  749. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_7.out +0 -0
  750. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/AFCP.jpg +0 -0
  751. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/AIFF.aif +0 -0
  752. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/APE.ape +0 -0
  753. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/APE.mpc +0 -0
  754. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ASF.wmv +0 -0
  755. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/BMP.bmp +0 -0
  756. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/BigTIFF.btf +0 -0
  757. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Canon.jpg +0 -0
  758. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Canon1DmkIII.jpg +0 -0
  759. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CanonRaw.cr2 +0 -0
  760. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CanonRaw.crw +0 -0
  761. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CanonVRD.vrd +0 -0
  762. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CaptureOne.eip +0 -0
  763. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Casio.jpg +0 -0
  764. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Casio2.jpg +0 -0
  765. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CasioQVCI.jpg +0 -0
  766. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DICOM.dcm +0 -0
  767. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DNG.dng +0 -0
  768. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DPX.dpx +0 -0
  769. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DV.dv +0 -0
  770. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DjVu.djvu +0 -0
  771. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/EXE.elf +0 -0
  772. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/EXE.exe +0 -0
  773. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/EXE.macho +0 -0
  774. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ExifTool.jpg +0 -0
  775. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ExifTool.tif +0 -0
  776. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ExtendedXMP.jpg +0 -0
  777. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLAC.flac +0 -0
  778. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLAC.ogg +0 -0
  779. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLIR.fpf +0 -0
  780. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLIR.jpg +0 -0
  781. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Flash.flv +0 -0
  782. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Flash.swf +0 -0
  783. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FlashPix.ppt +0 -0
  784. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.afm +0 -0
  785. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.dfont +0 -0
  786. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.pfa +0 -0
  787. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.pfb +0 -0
  788. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.pfm +0 -0
  789. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.ttf +0 -0
  790. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FotoStation.jpg +0 -0
  791. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FujiFilm.jpg +0 -0
  792. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FujiFilm.raf +0 -0
  793. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GE.jpg +0 -0
  794. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GIF.gif +0 -0
  795. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GIMP.xcf +0 -0
  796. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GPS.jpg +0 -0
  797. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GeoTiff.tif +0 -0
  798. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.gpx +0 -0
  799. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.igc +0 -0
  800. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.kml +0 -0
  801. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.log +0 -0
  802. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.xml +0 -0
  803. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag2.log +0 -0
  804. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/HTML.html +0 -0
  805. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/IPTC.jpg +0 -0
  806. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ITC.itc +0 -0
  807. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/InDesign.indd +0 -0
  808. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/JVC.jpg +0 -0
  809. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/JVC2.jpg +0 -0
  810. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Jpeg2000.j2c +0 -0
  811. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Jpeg2000.jp2 +0 -0
  812. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Kodak.jpg +0 -0
  813. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/KyoceraRaw.raw +0 -0
  814. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/LNK.lnk +0 -0
  815. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/M2TS.mts +0 -0
  816. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MIE.mie +0 -0
  817. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MIFF.miff +0 -0
  818. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MP3.mp3 +0 -0
  819. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MWG.jpg +0 -0
  820. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MXF.mxf +0 -0
  821. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Matroska.mkv +0 -0
  822. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Minolta.jpg +0 -0
  823. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Minolta.mrw +0 -0
  824. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Nikon.jpg +0 -0
  825. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Nikon.nef +0 -0
  826. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/NikonD2Hs.jpg +0 -0
  827. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/NikonD70.jpg +0 -0
  828. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OOXML.docx +0 -0
  829. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Olympus.jpg +0 -0
  830. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Olympus2.jpg +0 -0
  831. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OlympusE1.jpg +0 -0
  832. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OpenDoc.ods +0 -0
  833. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OpenEXR.exr +0 -0
  834. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PDF.pdf +0 -0
  835. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PDF2.pdf +0 -0
  836. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PGF.pgf +0 -0
  837. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PICT.pict +0 -0
  838. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PLIST-bin.plist +0 -0
  839. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PLIST-xml.plist +0 -0
  840. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PNG.png +0 -0
  841. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PPM.ppm +0 -0
  842. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PSP.psp +0 -0
  843. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Panasonic.jpg +0 -0
  844. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Panasonic.rw2 +0 -0
  845. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Pentax.avi +0 -0
  846. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Pentax.jpg +0 -0
  847. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PhotoCD.pcd +0 -0
  848. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PhotoMechanic.jpg +0 -0
  849. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Photoshop.psd +0 -0
  850. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PostScript.eps +0 -0
  851. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/QuickTime.m4a +0 -0
  852. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/QuickTime.mov +0 -0
  853. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RIFF.avi +0 -0
  854. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RIFF.wav +0 -0
  855. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RIFF.webp +0 -0
  856. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RTF.rtf +0 -0
  857. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Radiance.hdr +0 -0
  858. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Real.ra +0 -0
  859. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Real.ram +0 -0
  860. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Real.rm +0 -0
  861. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Ricoh.jpg +0 -0
  862. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Ricoh2.jpg +0 -0
  863. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sanyo.jpg +0 -0
  864. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sigma.jpg +0 -0
  865. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sigma.x3f +0 -0
  866. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/SigmaDP2.x3f +0 -0
  867. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sony.jpg +0 -0
  868. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sony.pmp +0 -0
  869. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Torrent.torrent +0 -0
  870. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Unknown.jpg +0 -0
  871. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Vorbis.ogg +0 -0
  872. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Writer.jpg +0 -0
  873. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.inx +0 -0
  874. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.jpg +0 -0
  875. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.svg +0 -0
  876. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.xml +0 -0
  877. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.xmp +0 -0
  878. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP2.xmp +0 -0
  879. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP3.xmp +0 -0
  880. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP4.xmp +0 -0
  881. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP5.xmp +0 -0
  882. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ZIP.gz +0 -0
  883. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ZIP.zip +0 -0
  884. data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/iWork.numbers +0 -0
  885. data/lib/exiftool_vendored/version.rb +1 -1
  886. metadata +886 -886
  887. data/bin/Image-ExifTool-9.45/Changes +0 -6430
  888. data/bin/Image-ExifTool-9.45/META.yml +0 -27
  889. data/bin/Image-ExifTool-9.45/README +0 -228
  890. data/bin/Image-ExifTool-9.45/exiftool +0 -5767
  891. data/bin/Image-ExifTool-9.45/html/Shift.html +0 -173
  892. data/bin/Image-ExifTool-9.45/html/TagNames/Canon.html +0 -8302
  893. data/bin/Image-ExifTool-9.45/html/TagNames/Composite.html +0 -672
  894. data/bin/Image-ExifTool-9.45/html/TagNames/Extra.html +0 -308
  895. data/bin/Image-ExifTool-9.45/html/TagNames/Minolta.html +0 -2568
  896. data/bin/Image-ExifTool-9.45/html/TagNames/Nikon.html +0 -4495
  897. data/bin/Image-ExifTool-9.45/html/TagNames/Olympus.html +0 -3400
  898. data/bin/Image-ExifTool-9.45/html/TagNames/Panasonic.html +0 -1585
  899. data/bin/Image-ExifTool-9.45/html/TagNames/Pentax.html +0 -4527
  900. data/bin/Image-ExifTool-9.45/html/TagNames/QuickTime.html +0 -3397
  901. data/bin/Image-ExifTool-9.45/html/TagNames/Shortcuts.html +0 -239
  902. data/bin/Image-ExifTool-9.45/html/TagNames/Sony.html +0 -5721
  903. data/bin/Image-ExifTool-9.45/html/TagNames/XMP.html +0 -7927
  904. data/bin/Image-ExifTool-9.45/html/exiftool_pod.html +0 -2370
  905. data/bin/Image-ExifTool-9.45/html/faq.html +0 -1434
  906. data/bin/Image-ExifTool-9.45/html/filename.html +0 -282
  907. data/bin/Image-ExifTool-9.45/html/history.html +0 -362
  908. data/bin/Image-ExifTool-9.45/html/htmldump.html +0 -732
  909. data/bin/Image-ExifTool-9.45/html/index.html +0 -1283
  910. data/bin/Image-ExifTool-9.45/html/metafiles.html +0 -266
  911. data/bin/Image-ExifTool-9.45/html/under.html +0 -124
  912. data/bin/Image-ExifTool-9.45/lib/File/RandomAccess.pm +0 -378
  913. data/bin/Image-ExifTool-9.45/lib/File/RandomAccess.pod +0 -231
  914. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool.pm +0 -6894
  915. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool.pod +0 -2406
  916. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/AES.pm +0 -501
  917. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/AFCP.pm +0 -284
  918. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/AIFF.pm +0 -271
  919. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/APE.pm +0 -262
  920. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/APP12.pm +0 -322
  921. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ASF.pm +0 -884
  922. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Apple.pm +0 -113
  923. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BMP.pm +0 -179
  924. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BZZ.pm +0 -472
  925. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BigTIFF.pm +0 -282
  926. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BuildTagLookup.pm +0 -2421
  927. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Canon.pm +0 -7985
  928. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CanonCustom.pm +0 -2523
  929. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CanonRaw.pm +0 -931
  930. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CanonVRD.pm +0 -1481
  931. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CaptureOne.pm +0 -235
  932. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Casio.pm +0 -2013
  933. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Charset.pm +0 -396
  934. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DICOM.pm +0 -3874
  935. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DNG.pm +0 -835
  936. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DPX.pm +0 -151
  937. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DV.pm +0 -319
  938. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DarwinCore.pm +0 -317
  939. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DjVu.pm +0 -376
  940. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/EXE.pm +0 -1228
  941. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Exif.pm +0 -4596
  942. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FLAC.pm +0 -296
  943. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FLIR.pm +0 -1232
  944. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Fixup.pm +0 -354
  945. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Flash.pm +0 -755
  946. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FlashPix.pm +0 -1882
  947. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Font.pm +0 -643
  948. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FotoStation.pm +0 -259
  949. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FujiFilm.pm +0 -1088
  950. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GE.pm +0 -80
  951. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GIF.pm +0 -542
  952. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GIMP.pm +0 -258
  953. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GPS.pm +0 -514
  954. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GeoTiff.pm +0 -2187
  955. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Geotag.pm +0 -1176
  956. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/H264.pm +0 -1102
  957. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/HP.pm +0 -262
  958. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/HTML.pm +0 -576
  959. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/HtmlDump.pm +0 -895
  960. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ICC_Profile.pm +0 -999
  961. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ID3.pm +0 -1532
  962. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/IPTC.pm +0 -1244
  963. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ITC.pm +0 -215
  964. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Import.pm +0 -308
  965. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/InDesign.pm +0 -277
  966. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/JPEG.pm +0 -522
  967. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/JPEGDigest.pm +0 -2511
  968. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/JVC.pm +0 -130
  969. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Jpeg2000.pm +0 -873
  970. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Kodak.pm +0 -2014
  971. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/KyoceraRaw.pm +0 -173
  972. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/LNK.pm +0 -723
  973. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/cs.pm +0 -1586
  974. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/de.pm +0 -7356
  975. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/en_ca.pm +0 -557
  976. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/en_gb.pm +0 -572
  977. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/es.pm +0 -4017
  978. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/fi.pm +0 -2856
  979. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/fr.pm +0 -4720
  980. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/it.pm +0 -7918
  981. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/ja.pm +0 -5815
  982. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/ko.pm +0 -2332
  983. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/nl.pm +0 -3220
  984. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/pl.pm +0 -1140
  985. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/ru.pm +0 -769
  986. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/sv.pm +0 -639
  987. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/tr.pm +0 -544
  988. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1329
  989. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/zh_tw.pm +0 -802
  990. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Leaf.pm +0 -515
  991. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/M2TS.pm +0 -725
  992. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MIE.pm +0 -2561
  993. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MIEUnits.pod +0 -377
  994. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MIFF.pm +0 -279
  995. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MNG.pm +0 -684
  996. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MPC.pm +0 -156
  997. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MPEG.pm +0 -736
  998. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MPF.pm +0 -289
  999. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MWG.pm +0 -748
  1000. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MXF.pm +0 -3032
  1001. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MakerNotes.pm +0 -1598
  1002. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Matroska.pm +0 -891
  1003. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Microsoft.pm +0 -879
  1004. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Minolta.pm +0 -2859
  1005. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MinoltaRaw.pm +0 -534
  1006. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Nikon.pm +0 -6141
  1007. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/NikonCapture.pm +0 -911
  1008. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/NikonCustom.pm +0 -4405
  1009. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/OOXML.pm +0 -409
  1010. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Ogg.pm +0 -237
  1011. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Olympus.pm +0 -3628
  1012. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/OpenEXR.pm +0 -324
  1013. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PDF.pm +0 -2327
  1014. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PGF.pm +0 -143
  1015. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PICT.pm +0 -1260
  1016. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PLIST.pm +0 -453
  1017. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PNG.pm +0 -1161
  1018. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PPM.pm +0 -169
  1019. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PSP.pm +0 -305
  1020. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Panasonic.pm +0 -2180
  1021. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PanasonicRaw.pm +0 -535
  1022. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Pentax.pm +0 -5788
  1023. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PhaseOne.pm +0 -557
  1024. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PhotoCD.pm +0 -507
  1025. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PhotoMechanic.pm +0 -256
  1026. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Photoshop.pm +0 -629
  1027. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PostScript.pm +0 -693
  1028. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PrintIM.pm +0 -125
  1029. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Qualcomm.pm +0 -1344
  1030. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/QuickTime.pm +0 -3849
  1031. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/RIFF.pm +0 -1332
  1032. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/RSRC.pm +0 -241
  1033. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/RTF.pm +0 -383
  1034. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Radiance.pm +0 -144
  1035. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Rawzor.pm +0 -190
  1036. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Real.pm +0 -736
  1037. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Reconyx.pm +0 -190
  1038. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Ricoh.pm +0 -1039
  1039. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Samsung.pm +0 -846
  1040. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Sanyo.pm +0 -439
  1041. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Scalado.pm +0 -141
  1042. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Shift.pl +0 -594
  1043. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Shortcuts.pm +0 -293
  1044. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Sigma.pm +0 -574
  1045. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/SigmaRaw.pm +0 -649
  1046. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Sony.pm +0 -7072
  1047. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/SonyIDC.pm +0 -330
  1048. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Stim.pm +0 -196
  1049. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/TagInfoXML.pm +0 -794
  1050. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/TagLookup.pm +0 -8351
  1051. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/TagNames.pod +0 -26867
  1052. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Theora.pm +0 -145
  1053. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Torrent.pm +0 -317
  1054. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Unknown.pm +0 -66
  1055. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Vorbis.pm +0 -237
  1056. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteCanonRaw.pl +0 -637
  1057. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteExif.pl +0 -3685
  1058. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteIPTC.pl +0 -702
  1059. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePDF.pl +0 -765
  1060. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePNG.pl +0 -376
  1061. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePhotoshop.pl +0 -266
  1062. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePostScript.pl +0 -777
  1063. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteQuickTime.pl +0 -344
  1064. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteXMP.pl +0 -1318
  1065. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Writer.pl +0 -5851
  1066. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/XMP.pm +0 -3755
  1067. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/XMP2.pl +0 -1299
  1068. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/XMPStruct.pl +0 -814
  1069. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ZIP.pm +0 -623
  1070. data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/iWork.pm +0 -223
  1071. data/bin/Image-ExifTool-9.45/perl-Image-ExifTool.spec +0 -105
  1072. data/bin/Image-ExifTool-9.45/t/QuickTime_2.out +0 -130
  1073. data/bin/Image-ExifTool-9.45/t/QuickTime_3.out +0 -71
@@ -1,3628 +0,0 @@
1
- #------------------------------------------------------------------------------
2
- # File: Olympus.pm
3
- #
4
- # Description: Olympus/Epson EXIF maker notes tags
5
- #
6
- # Revisions: 12/09/2003 - P. Harvey Created
7
- # 11/11/2004 - P. Harvey Added Epson support
8
- #
9
- # References: 1) http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html
10
- # 2) http://www.cybercom.net/~dcoffin/dcraw/
11
- # 3) http://www.ozhiker.com/electronics/pjmt/jpeg_info/olympus_mn.html
12
- # 4) Markku H�nninen private communication (tests with E-1)
13
- # 5) R�mi Guyomarch from http://forums.dpreview.com/forums/read.asp?forum=1022&message=12790396
14
- # 6) Frank Ledwon private communication (tests with E/C-series cameras)
15
- # 7) Michael Meissner private communication
16
- # 8) Shingo Noguchi, PhotoXP (http://www.daifukuya.com/photoxp/)
17
- # 9) Mark Dapoz private communication
18
- # 10) Lilo Huang private communication (E-330)
19
- # 11) http://olypedia.de/Olympus_Makernotes (May 30, 2013)
20
- # 12) Ioannis Panagiotopoulos private communication (E-510)
21
- # 13) Chris Shaw private communication (E-3)
22
- # 14) Viktor Lushnikov private communication (E-400)
23
- # 15) Yrjo Rauste private communication (E-30)
24
- # 16) Godfrey DiGiorgi private communcation (E-P1) + http://forums.dpreview.com/forums/read.asp?message=33187567
25
- # 17) Martin Hibers private communication
26
- # 18) Tomasz Kawecki private communication
27
- # 19) Brad Grier private communication
28
- # 20) Niels Kristian Bech Jensen private communication
29
- #------------------------------------------------------------------------------
30
-
31
- package Image::ExifTool::Olympus;
32
-
33
- use strict;
34
- use vars qw($VERSION);
35
- use Image::ExifTool::Exif;
36
- use Image::ExifTool::APP12;
37
-
38
- $VERSION = '2.12';
39
-
40
- sub PrintLensInfo($$$);
41
-
42
- my %offOn = ( 0 => 'Off', 1 => 'On' );
43
-
44
- # lookup for Olympus LensType values
45
- # (as of ExifTool 9.15, this was the complete list of chipped lenses at www.four-thirds.org)
46
- my %olympusLensTypes = (
47
- Notes => q{
48
- The numerical values below are given in hexadecimal. (Prior to ExifTool
49
- 9.15 these were in decimal.)
50
- },
51
- '0 00 00' => 'None',
52
- # Olympus lenses (also Kenko Tokina)
53
- '0 01 00' => 'Olympus Zuiko Digital ED 50mm F2.0 Macro',
54
- '0 01 01' => 'Olympus Zuiko Digital 40-150mm F3.5-4.5', #8
55
- '0 01 10' => 'Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6', #PH (E-P1 pre-production)
56
- '0 02 00' => 'Olympus Zuiko Digital ED 150mm F2.0',
57
- '0 02 10' => 'Olympus M.Zuiko Digital 17mm F2.8 Pancake', #PH (E-P1 pre-production)
58
- '0 03 00' => 'Olympus Zuiko Digital ED 300mm F2.8',
59
- '0 03 10' => 'Olympus M.Zuiko Digital ED 14-150mm F4.0-5.6', #11
60
- '0 04 10' => 'Olympus M.Zuiko Digital ED 9-18mm F4.0-5.6', #11
61
- '0 05 00' => 'Olympus Zuiko Digital 14-54mm F2.8-3.5',
62
- '0 05 01' => 'Olympus Zuiko Digital Pro ED 90-250mm F2.8', #9
63
- '0 05 10' => 'Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 L', #11 (E-PL1)
64
- '0 06 00' => 'Olympus Zuiko Digital ED 50-200mm F2.8-3.5',
65
- '0 06 01' => 'Olympus Zuiko Digital ED 8mm F3.5 Fisheye', #9
66
- '0 06 10' => 'Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6', #PH
67
- '0 07 00' => 'Olympus Zuiko Digital 11-22mm F2.8-3.5',
68
- '0 07 01' => 'Olympus Zuiko Digital 18-180mm F3.5-6.3', #6
69
- '0 07 10' => 'Olympus M.Zuiko Digital ED 12mm F2.0', #PH
70
- '0 08 01' => 'Olympus Zuiko Digital 70-300mm F4.0-5.6', #7 (seen as release 1 - PH)
71
- '0 08 10' => 'Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7', #PH
72
- '0 09 10' => 'Olympus M.Zuiko Digital 14-42mm F3.5-5.6 II', #PH (E-PL2)
73
- '0 10 01' => 'Kenko Tokina Reflex 300mm F6.3 MF Macro', #20
74
- '0 10 10' => 'Olympus M.Zuiko Digital ED 12-50mm F3.5-6.3 EZ', #PH
75
- '0 11 10' => 'Olympus M.Zuiko Digital 45mm F1.8', #17
76
- '0 12 10' => 'Olympus M.Zuiko Digital ED 60mm F2.8 Macro', #20
77
- '0 13 10' => 'Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 II R', #PH
78
- '0 14 10' => 'Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6 R', #19
79
- # '0 14 10.1' => 'Olympus M.Zuiko Digital ED 14-150mm F4.0-5.6 II', #11 (questionable & unconfirmed)
80
- '0 15 00' => 'Olympus Zuiko Digital ED 7-14mm F4.0',
81
- '0 15 10' => 'Olympus M.Zuiko Digital ED 75mm F1.8', #PH
82
- '0 16 10' => 'Olympus M.Zuiko Digital 17mm F1.8', #20
83
- '0 17 00' => 'Olympus Zuiko Digital Pro ED 35-100mm F2.0', #7
84
- '0 18 00' => 'Olympus Zuiko Digital 14-45mm F3.5-5.6',
85
- '0 18 10' => 'Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7 II', #20
86
- '0 19 10' => 'Olympus M.Zuiko Digital ED 12-40mm F2.8 Pro', #PH
87
- '0 20 00' => 'Olympus Zuiko Digital 35mm F3.5 Macro', #9
88
- # '0 20 10' => 'Olympus M.Zuiko Digital ED 40-150mm F2.8 Pro', #PH (guess)
89
- '0 22 00' => 'Olympus Zuiko Digital 17.5-45mm F3.5-5.6', #9
90
- '0 23 00' => 'Olympus Zuiko Digital ED 14-42mm F3.5-5.6', #PH
91
- '0 24 00' => 'Olympus Zuiko Digital ED 40-150mm F4.0-5.6', #PH
92
- '0 30 00' => 'Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD', #7
93
- '0 31 00' => 'Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD', #7
94
- '0 32 00' => 'Olympus Zuiko Digital ED 14-35mm F2.0 SWD', #PH
95
- '0 33 00' => 'Olympus Zuiko Digital 25mm F2.8', #PH
96
- '0 34 00' => 'Olympus Zuiko Digital ED 9-18mm F4.0-5.6', #7
97
- '0 35 00' => 'Olympus Zuiko Digital 14-54mm F2.8-3.5 II', #PH
98
- # Sigma lenses
99
- '1 01 00' => 'Sigma 18-50mm F3.5-5.6 DC', #8
100
- '1 01 10' => 'Sigma 30mm F2.8 EX DN', #20
101
- '1 02 00' => 'Sigma 55-200mm F4.0-5.6 DC',
102
- '1 02 10' => 'Sigma 19mm F2.8 EX DN', #20
103
- '1 03 00' => 'Sigma 18-125mm F3.5-5.6 DC',
104
- '1 03 10' => 'Sigma 30mm F2.8 DN | A', #20
105
- '1 04 00' => 'Sigma 18-125mm F3.5-5.6 DC', #7
106
- '1 04 10' => 'Sigma 19mm F2.8 DN | A', #20
107
- '1 05 00' => 'Sigma 30mm F1.4 EX DC HSM', #10
108
- '1 05 10' => 'Sigma 60mm F2.8 DN | A', #20
109
- '1 06 00' => 'Sigma APO 50-500mm F4.0-6.3 EX DG HSM', #6
110
- '1 07 00' => 'Sigma Macro 105mm F2.8 EX DG', #PH
111
- '1 08 00' => 'Sigma APO Macro 150mm F2.8 EX DG HSM', #PH
112
- '1 09 00' => 'Sigma 18-50mm F2.8 EX DC Macro', #20
113
- '1 10 00' => 'Sigma 24mm F1.8 EX DG Aspherical Macro', #PH
114
- '1 11 00' => 'Sigma APO 135-400mm F4.5-5.6 DG', #11
115
- '1 12 00' => 'Sigma APO 300-800mm F5.6 EX DG HSM', #11
116
- '1 13 00' => 'Sigma 30mm F1.4 EX DC HSM', #11
117
- '1 14 00' => 'Sigma APO 50-500mm F4.0-6.3 EX DG HSM', #11
118
- '1 15 00' => 'Sigma 10-20mm F4.0-5.6 EX DC HSM', #11
119
- '1 16 00' => 'Sigma APO 70-200mm F2.8 II EX DG Macro HSM', #11
120
- '1 17 00' => 'Sigma 50mm F1.4 EX DG HSM', #11
121
- # Panasonic/Leica lenses (ref 11)
122
- '2 01 00' => 'Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph.',
123
- '2 01 10' => 'Lumix G Vario 14-45mm F3.5-5.6 Asph. Mega OIS', #16
124
- '2 02 00' => 'Leica D Summilux 25mm F1.4 Asph.',
125
- '2 02 10' => 'Lumix G Vario 45-200mm F4.0-5.6 Mega OIS', #16
126
- '2 03 00' => 'Leica D Vario Elmar 14-50mm F3.8-5.6 Asph. Mega OIS', #11
127
- '2 03 01' => 'Leica D Vario Elmar 14-50mm F3.8-5.6 Asph.', #14 (L10 kit)
128
- '2 03 10' => 'Lumix G Vario HD 14-140mm F4.0-5.8 Asph. Mega OIS', #16
129
- '2 04 00' => 'Leica D Vario Elmar 14-150mm F3.5-5.6', #13
130
- '2 04 10' => 'Lumix G Vario 7-14mm F4.0 Asph.', #PH (E-P1 pre-production)
131
- '2 05 10' => 'Lumix G 20mm F1.7 Asph.', #16
132
- '2 06 10' => 'Leica DG Macro-Elmarit 45mm F2.8 Asph. Mega OIS', #PH
133
- '2 07 10' => 'Lumix G Vario 14-42mm F3.5-5.6 Asph. Mega OIS', #20
134
- '2 08 10' => 'Lumix G Fisheye 8mm F3.5', #PH
135
- '2 09 10' => 'Lumix G Vario 100-300mm F4.0-5.6 Mega OIS', #11
136
- '2 10 10' => 'Lumix G 14mm F2.5 Asph.', #17
137
- '2 11 10' => 'Lumix G 12.5mm F12 3D', #20 (H-FT012)
138
- '2 12 10' => 'Leica DG Summilux 25mm F1.4 Asph.', #20
139
- '2 13 10' => 'Lumix G X Vario PZ 45-175mm F4.0-5.6 Asph. Power OIS', #20
140
- '2 14 10' => 'Lumix G X Vario PZ 14-42mm F3.5-5.6 Asph. Power OIS', #20
141
- '2 15 10' => 'Lumix G X Vario 12-35mm F2.8 Asph. Power OIS', #PH
142
- '2 16 10' => 'Lumix G Vario 45-150mm F4.0-5.6 Asph. Mega OIS', #20
143
- '2 17 10' => 'Lumix G X Vario 35-100mm F2.8 Power OIS', #PH
144
- '2 18 10' => 'Lumix G Vario 14-42mm F3.5-5.6 II Asph. Mega OIS', #20
145
- '2 19 10' => 'Lumix G Vario 14-140mm F3.5-5.6 Asph. Power OIS', #20
146
- '3 01 00' => 'Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph.',
147
- '3 02 00' => 'Leica D Summilux 25mm F1.4 Asph.',
148
- );
149
-
150
- # lookup for Olympus camera types (ref PH)
151
- my %olympusCameraTypes = (
152
- Notes => q{
153
- These values are currently decoded only for Olympus models. Models with
154
- Olympus-style maker notes from other brands such as Acer, BenQ, Hitachi, HP,
155
- Premier, Konica-Minolta, Maginon, Ricoh, Rollei, SeaLife, Sony, Supra,
156
- Vivitar are not listed.
157
- },
158
- D4028 => 'X-2,C-50Z',
159
- D4029 => 'E-20,E-20N,E-20P',
160
- D4034 => 'C720UZ',
161
- D4040 => 'E-1',
162
- D4041 => 'E-300',
163
- D4083 => 'C2Z,D520Z,C220Z',
164
- D4106 => 'u20D,S400D,u400D',
165
- D4120 => 'X-1',
166
- D4122 => 'u10D,S300D,u300D',
167
- D4125 => 'AZ-1',
168
- D4141 => 'C150,D390',
169
- D4193 => 'C-5000Z',
170
- D4194 => 'X-3,C-60Z',
171
- D4199 => 'u30D,S410D,u410D',
172
- D4205 => 'X450,D535Z,C370Z',
173
- D4210 => 'C160,D395',
174
- D4211 => 'C725UZ',
175
- D4213 => 'FerrariMODEL2003',
176
- D4216 => 'u15D',
177
- D4217 => 'u25D',
178
- D4220 => 'u-miniD,Stylus V',
179
- D4221 => 'u40D,S500,uD500',
180
- D4231 => 'FerrariMODEL2004',
181
- D4240 => 'X500,D590Z,C470Z',
182
- D4244 => 'uD800,S800',
183
- D4256 => 'u720SW,S720SW',
184
- D4261 => 'X600,D630,FE5500',
185
- D4262 => 'uD600,S600',
186
- D4301 => 'u810/S810', # (yes, "/". Olympus is not consistent in the notation)
187
- D4302 => 'u710,S710',
188
- D4303 => 'u700,S700',
189
- D4304 => 'FE100,X710',
190
- D4305 => 'FE110,X705',
191
- D4310 => 'FE-130,X-720',
192
- D4311 => 'FE-140,X-725',
193
- D4312 => 'FE150,X730',
194
- D4313 => 'FE160,X735',
195
- D4314 => 'u740,S740',
196
- D4315 => 'u750,S750',
197
- D4316 => 'u730/S730',
198
- D4317 => 'FE115,X715',
199
- D4321 => 'SP550UZ',
200
- D4322 => 'SP510UZ',
201
- D4324 => 'FE170,X760',
202
- D4326 => 'FE200',
203
- D4327 => 'FE190/X750', # (also SX876)
204
- D4328 => 'u760,S760',
205
- D4330 => 'FE180/X745', # (also SX875)
206
- D4331 => 'u1000/S1000',
207
- D4332 => 'u770SW,S770SW',
208
- D4333 => 'FE240/X795',
209
- D4334 => 'FE210,X775',
210
- D4336 => 'FE230/X790',
211
- D4337 => 'FE220,X785',
212
- D4338 => 'u725SW,S725SW',
213
- D4339 => 'FE250/X800',
214
- D4341 => 'u780,S780',
215
- D4343 => 'u790SW,S790SW',
216
- D4344 => 'u1020,S1020',
217
- D4346 => 'FE15,X10',
218
- D4348 => 'FE280,X820,C520',
219
- D4349 => 'FE300,X830',
220
- D4350 => 'u820,S820',
221
- D4351 => 'u1200,S1200',
222
- D4352 => 'FE270,X815,C510',
223
- D4353 => 'u795SW,S795SW',
224
- D4354 => 'u1030SW,S1030SW',
225
- D4355 => 'SP560UZ',
226
- D4356 => 'u1010,S1010',
227
- D4357 => 'u830,S830',
228
- D4359 => 'u840,S840',
229
- D4360 => 'FE350WIDE,X865',
230
- D4361 => 'u850SW,S850SW',
231
- D4362 => 'FE340,X855,C560',
232
- D4363 => 'FE320,X835,C540',
233
- D4364 => 'SP570UZ',
234
- D4366 => 'FE330,X845,C550',
235
- D4368 => 'FE310,X840,C530',
236
- D4370 => 'u1050SW,S1050SW',
237
- D4371 => 'u1060,S1060',
238
- D4372 => 'FE370,X880,C575',
239
- D4374 => 'SP565UZ',
240
- D4377 => 'u1040,S1040',
241
- D4378 => 'FE360,X875,C570',
242
- D4379 => 'FE20,X15,C25',
243
- D4380 => 'uT6000,ST6000',
244
- D4381 => 'uT8000,ST8000',
245
- D4382 => 'u9000,S9000',
246
- D4384 => 'SP590UZ',
247
- D4385 => 'FE3010,X895',
248
- D4386 => 'FE3000,X890',
249
- D4387 => 'FE35,X30',
250
- D4388 => 'u550WP,S550WP',
251
- D4390 => 'FE5000,X905',
252
- D4391 => 'u5000',
253
- D4392 => 'u7000,S7000',
254
- D4396 => 'FE5010,X915',
255
- D4397 => 'FE25,X20',
256
- D4398 => 'FE45,X40',
257
- D4401 => 'XZ-1',
258
- D4402 => 'uT6010,ST6010',
259
- D4406 => 'u7010,S7010 / u7020,S7020',
260
- D4407 => 'FE4010,X930',
261
- D4408 => 'X560WP',
262
- D4409 => 'FE26,X21',
263
- D4410 => 'FE4000,X920,X925',
264
- D4411 => 'FE46,X41,X42',
265
- D4412 => 'FE5020,X935',
266
- D4413 => 'uTough-3000',
267
- D4414 => 'StylusTough-6020',
268
- D4415 => 'StylusTough-8010',
269
- D4417 => 'u5010,S5010',
270
- D4418 => 'u7040,S7040',
271
- D4419 => 'u9010,S9010',
272
- D4423 => 'FE4040',
273
- D4424 => 'FE47,X43',
274
- D4426 => 'FE4030,X950',
275
- D4428 => 'FE5030,X965,X960',
276
- D4430 => 'u7030,S7030',
277
- D4432 => 'SP600UZ',
278
- D4434 => 'SP800UZ',
279
- D4439 => 'FE4020,X940',
280
- D4442 => 'FE5035',
281
- D4448 => 'FE4050,X970',
282
- D4450 => 'FE5050,X985',
283
- D4454 => 'u-7050',
284
- D4464 => 'T10,X27',
285
- D4470 => 'FE5040,X980',
286
- D4472 => 'TG-310',
287
- D4474 => 'TG-610',
288
- D4476 => 'TG-810',
289
- D4478 => 'VG145,VG140,D715',
290
- D4479 => 'VG130,D710',
291
- D4480 => 'VG120,D705',
292
- D4482 => 'VR310,D720',
293
- D4484 => 'VR320,D725',
294
- D4486 => 'VR330,D730',
295
- D4488 => 'VG110,D700',
296
- D4490 => 'SP-610UZ',
297
- D4492 => 'SZ-10',
298
- D4494 => 'SZ-20',
299
- D4496 => 'SZ-30MR',
300
- D4498 => 'SP-810UZ',
301
- D4500 => 'SZ-11',
302
- D4504 => 'TG-615',
303
- D4508 => 'TG-620',
304
- D4510 => 'TG-820',
305
- D4512 => 'TG-1',
306
- D4516 => 'SH-21',
307
- D4519 => 'SZ-14',
308
- D4520 => 'SZ-31MR',
309
- D4521 => 'SH-25MR',
310
- D4523 => 'SP-720UZ',
311
- D4529 => 'VG170',
312
- D4531 => 'XZ-2',
313
- D4535 => 'SP-620UZ',
314
- D4536 => 'TG-320',
315
- D4537 => 'VR340,D750',
316
- D4541 => 'SZ-12',
317
- D4545 => 'VH410',
318
- D4547 => 'TG-2',
319
- D4548 => 'TG-830',
320
- D4549 => 'TG-630',
321
- D4550 => 'SH-50',
322
- D4553 => 'SZ-16,DZ-105',
323
- D4562 => 'SP-820UZ',
324
- D4566 => 'SZ-15',
325
- D4572 => 'STYLUS1',
326
- D4809 => 'C2500L',
327
- D4842 => 'E-10',
328
- D4856 => 'C-1',
329
- D4857 => 'C-1Z,D-150Z',
330
- DCHC => 'D500L',
331
- DCHT => 'D600L / D620L',
332
- S0003 => 'E-330',
333
- S0004 => 'E-500',
334
- S0009 => 'E-400',
335
- S0010 => 'E-510',
336
- S0011 => 'E-3',
337
- S0013 => 'E-410',
338
- S0016 => 'E-420',
339
- S0017 => 'E-30',
340
- S0018 => 'E-520',
341
- S0019 => 'E-P1',
342
- S0023 => 'E-620',
343
- S0026 => 'E-P2',
344
- S0027 => 'E-PL1',
345
- S0029 => 'E-450',
346
- S0030 => 'E-600',
347
- S0032 => 'E-P3',
348
- S0033 => 'E-5',
349
- S0034 => 'E-PL2',
350
- S0036 => 'E-M5',
351
- S0038 => 'E-PL3',
352
- S0039 => 'E-PM1',
353
- S0040 => 'E-PL1s',
354
- S0042 => 'E-PL5',
355
- S0043 => 'E-PM2',
356
- S0044 => 'E-P5',
357
- S0045 => 'E-PL6',
358
- S0047 => 'E-M1',
359
- SR45 => 'D220',
360
- SR55 => 'D320L',
361
- SR83 => 'D340L',
362
- SR85 => 'C830L,D340R',
363
- SR852 => 'C860L,D360L',
364
- SR872 => 'C900Z,D400Z',
365
- SR874 => 'C960Z,D460Z',
366
- SR951 => 'C2000Z',
367
- SR952 => 'C21',
368
- SR953 => 'C21T.commu',
369
- SR954 => 'C2020Z',
370
- SR955 => 'C990Z,D490Z',
371
- SR956 => 'C211Z',
372
- SR959 => 'C990ZS,D490Z',
373
- SR95A => 'C2100UZ',
374
- SR971 => 'C100,D370',
375
- SR973 => 'C2,D230',
376
- SX151 => 'E100RS',
377
- SX351 => 'C3000Z / C3030Z',
378
- SX354 => 'C3040Z',
379
- SX355 => 'C2040Z',
380
- SX357 => 'C700UZ',
381
- SX358 => 'C200Z,D510Z',
382
- SX374 => 'C3100Z,C3020Z',
383
- SX552 => 'C4040Z',
384
- SX553 => 'C40Z,D40Z',
385
- SX556 => 'C730UZ',
386
- SX558 => 'C5050Z',
387
- SX571 => 'C120,D380',
388
- SX574 => 'C300Z,D550Z',
389
- SX575 => 'C4100Z,C4000Z',
390
- SX751 => 'X200,D560Z,C350Z',
391
- SX752 => 'X300,D565Z,C450Z',
392
- SX753 => 'C750UZ',
393
- SX754 => 'C740UZ',
394
- SX755 => 'C755UZ',
395
- SX756 => 'C5060WZ',
396
- SX757 => 'C8080WZ',
397
- SX758 => 'X350,D575Z,C360Z',
398
- SX759 => 'X400,D580Z,C460Z',
399
- SX75A => 'AZ-2ZOOM',
400
- SX75B => 'D595Z,C500Z',
401
- SX75C => 'X550,D545Z,C480Z',
402
- SX75D => 'IR-300',
403
- SX75F => 'C55Z,C5500Z',
404
- SX75G => 'C170,D425',
405
- SX75J => 'C180,D435',
406
- SX771 => 'C760UZ',
407
- SX772 => 'C770UZ',
408
- SX773 => 'C745UZ',
409
- SX774 => 'X250,D560Z,C350Z',
410
- SX775 => 'X100,D540Z,C310Z',
411
- SX776 => 'C460ZdelSol',
412
- SX777 => 'C765UZ',
413
- SX77A => 'D555Z,C315Z',
414
- SX851 => 'C7070WZ',
415
- SX852 => 'C70Z,C7000Z',
416
- SX853 => 'SP500UZ',
417
- SX854 => 'SP310',
418
- SX855 => 'SP350',
419
- SX873 => 'SP320',
420
- SX875 => 'FE180/X745', # (also D4330)
421
- SX876 => 'FE190/X750', # (also D4327)
422
- # other brands
423
- # 4MP9Q3 => 'Camera 4MP-9Q3'
424
- # 4MP9T2 => 'BenQ DC C420 / Camera 4MP-9T2'
425
- # 5MP9Q3 => 'Camera 5MP-9Q3',
426
- # 5MP9X9 => 'Camera 5MP-9X9',
427
- # '5MP-9T'=> 'Camera 5MP-9T3',
428
- # '5MP-9Y'=> 'Camera 5MP-9Y2',
429
- # '6MP-9U'=> 'Camera 6MP-9U9',
430
- # 7MP9Q3 => 'Camera 7MP-9Q3',
431
- # '8MP-9U'=> 'Camera 8MP-9U4',
432
- # CE5330 => 'Acer CE-5330',
433
- # 'CP-853'=> 'Acer CP-8531',
434
- # CS5531 => 'Acer CS5531',
435
- # DC500 => 'SeaLife DC500',
436
- # DC7370 => 'Camera 7MP-9GA',
437
- # DC7371 => 'Camera 7MP-9GM',
438
- # DC7371 => 'Hitachi HDC-751E',
439
- # DC7375 => 'Hitachi HDC-763E / Rollei RCP-7330X / Ricoh Caplio RR770 / Vivitar ViviCam 7330',
440
- # 'DC E63'=> 'BenQ DC E63+',
441
- # 'DC P86'=> 'BenQ DC P860',
442
- # DS5340 => 'Maginon Performic S5 / Premier 5MP-9M7',
443
- # DS5341 => 'BenQ E53+ / Supra TCM X50 / Maginon X50 / Premier 5MP-9P8',
444
- # DS5346 => 'Premier 5MP-9Q2',
445
- # E500 => 'Konica Minolta DiMAGE E500',
446
- # MAGINO => 'Maginon X60',
447
- # Mz60 => 'HP Photosmart Mz60',
448
- # Q3DIGI => 'Camera 5MP-9Q3',
449
- # SLIMLI => 'Supra Slimline X6',
450
- # V8300s => 'Vivitar V8300s',
451
- );
452
-
453
- # ArtFilter, ArtFilterEffect and MagicFilter values (ref PH)
454
- my %filters = (
455
- 0 => 'Off',
456
- 1 => 'Soft Focus', # (XZ-1)
457
- 2 => 'Pop Art', # (SZ-10 magic filter 1,SZ-31MR,E-M5,E-PL3)
458
- 3 => 'Pale & Light Color',
459
- 4 => 'Light Tone',
460
- 5 => 'Pin Hole', # (SZ-10 magic filter 2,SZ-31MR,E-PL3)
461
- 6 => 'Grainy Film',
462
- 9 => 'Diorama',
463
- 10 => 'Cross Process',
464
- 12 => 'Fish Eye', # (SZ-10 magic filter 3)
465
- 13 => 'Drawing', # (SZ-10 magic filter 4)
466
- 14 => 'Gentle Sepia', # (E-5)
467
- 15 => 'Tender Light', #11
468
- 16 => 'Pop Art II', #11 (E-PL3 "(dark)" - PH)
469
- 17 => 'Pin Hole II', #11 (E-PL3 "(color 2)" - PH)
470
- 18 => 'Pin Hole III', #11 (E-M5, E-PL3 "(color 3)" - PH)
471
- 19 => 'Grainy Film II', #11
472
- 20 => 'Dramatic Tone', # (XZ-1,SZ-31MR)
473
- 21 => 'Punk', # (SZ-10 magic filter 6)
474
- 22 => 'Soft Focus 2', # (SZ-10 magic filter 5)
475
- 23 => 'Sparkle', # (SZ-10 magic filter 7)
476
- 24 => 'Watercolor', # (SZ-10 magic filter 8)
477
- 25 => 'Key Line', # (E-M5)
478
- 27 => 'Miniature', # (SZ-31MR)
479
- 28 => 'Reflection', # (TG-820,SZ-31MR)
480
- 29 => 'Fragmented', # (TG-820,SZ-31MR)
481
- 32 => 'Dramatic Tone B&W', # (E-M5)
482
- 33 => 'Watercolor II', # (E-PM2)
483
- );
484
-
485
- # tag information for WAV "Index" tags
486
- my %indexInfo = (
487
- Format => 'int32u',
488
- RawConv => '$val == 0xffffffff ? undef : $val',
489
- ValueConv => '$val / 1000',
490
- PrintConv => 'ConvertDuration($val)',
491
- );
492
-
493
- # Olympus tags
494
- %Image::ExifTool::Olympus::Main = (
495
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
496
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
497
- WRITABLE => 1,
498
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
499
- #
500
- # Tags 0x0000 through 0x0103 are the same as Konica/Minolta cameras (ref 3)
501
- # (removed 0x0101-0x0103 because they weren't supported by my samples - PH)
502
- #
503
- 0x0000 => {
504
- Name => 'MakerNoteVersion',
505
- Writable => 'undef',
506
- },
507
- 0x0001 => {
508
- Name => 'MinoltaCameraSettingsOld',
509
- SubDirectory => {
510
- TagTable => 'Image::ExifTool::Minolta::CameraSettings',
511
- ByteOrder => 'BigEndian',
512
- },
513
- },
514
- 0x0003 => {
515
- Name => 'MinoltaCameraSettings',
516
- SubDirectory => {
517
- TagTable => 'Image::ExifTool::Minolta::CameraSettings',
518
- ByteOrder => 'BigEndian',
519
- },
520
- },
521
- 0x0040 => {
522
- Name => 'CompressedImageSize',
523
- Writable => 'int32u',
524
- },
525
- 0x0081 => {
526
- Name => 'PreviewImageData',
527
- Binary => 1,
528
- Writable => 0,
529
- },
530
- 0x0088 => {
531
- Name => 'PreviewImageStart',
532
- Flags => 'IsOffset',
533
- OffsetPair => 0x0089, # point to associated byte count
534
- DataTag => 'PreviewImage',
535
- Writable => 0,
536
- Protected => 2,
537
- },
538
- 0x0089 => {
539
- Name => 'PreviewImageLength',
540
- OffsetPair => 0x0088, # point to associated offset
541
- DataTag => 'PreviewImage',
542
- Writable => 0,
543
- Protected => 2,
544
- },
545
- 0x0100 => {
546
- Name => 'ThumbnailImage',
547
- Writable => 'undef',
548
- WriteCheck => '$self->CheckImage(\$val)',
549
- Binary => 1,
550
- },
551
- 0x0104 => { Name => 'BodyFirmwareVersion', Writable => 'string' }, #11
552
- #
553
- # end Konica/Minolta tags
554
- #
555
- 0x0200 => {
556
- Name => 'SpecialMode',
557
- Notes => q{
558
- 3 numbers: 1. Shooting mode: 0=Normal, 2=Fast, 3=Panorama;
559
- 2. Sequence Number; 3. Panorama Direction: 1=Left-Right,
560
- 2=Right-Left, 3=Bottom-Top, 4=Top-Bottom
561
- },
562
- Writable => 'int32u',
563
- Count => 3,
564
- PrintConv => sub { #3
565
- my $val = shift;
566
- my @v = split ' ', $val;
567
- return $val unless @v >= 3;
568
- my @v0 = ('Normal','Unknown (1)','Fast','Panorama');
569
- my @v2 = ('(none)','Left to Right','Right to Left','Bottom to Top','Top to Bottom');
570
- $val = $v0[$v[0]] || "Unknown ($v[0])";
571
- $val .= ", Sequence: $v[1]";
572
- $val .= ', Panorama: ' . ($v2[$v[2]] || "Unknown ($v[2])");
573
- return $val;
574
- },
575
- },
576
- 0x0201 => {
577
- Name => 'Quality',
578
- Writable => 'int16u',
579
- Notes => q{
580
- Quality values are decoded based on the CameraType tag. All types
581
- represent SQ, HQ and SHQ as sequential integers, but in general
582
- SX-type cameras start with a value of 0 for SQ while others start
583
- with 1
584
- },
585
- # These values are different for different camera types
586
- # (can't have Condition based on CameraType because it isn't known
587
- # when this tag is extracted)
588
- PrintConv => sub {
589
- my ($val, $self) = @_;
590
- my %t1 = ( # all SX camera types except SX151
591
- 0 => 'SQ (Low)',
592
- 1 => 'HQ (Normal)',
593
- 2 => 'SHQ (Fine)',
594
- 6 => 'RAW', #PH - C5050WZ
595
- );
596
- my %t2 = ( # all other types
597
- 1 => 'SQ (Low)',
598
- 2 => 'HQ (Normal)',
599
- 3 => 'SHQ (Fine)',
600
- 4 => 'RAW',
601
- 5 => 'Medium-Fine', #PH
602
- 6 => 'Small-Fine', #PH
603
- 33 => 'Uncompressed', #PH - C2100Z
604
- );
605
- my $conv = $self->{CameraType} =~ /^SX(?!151\b)/ ? \%t1 : \%t2;
606
- return $$conv{$val} ? $$conv{$val} : "Unknown ($val)";
607
- },
608
- # (no PrintConvInv because we don't know CameraType at write time)
609
- },
610
- 0x0202 => {
611
- Name => 'Macro',
612
- Writable => 'int16u',
613
- PrintConv => {
614
- 0 => 'Off',
615
- 1 => 'On',
616
- 2 => 'Super Macro', #6
617
- },
618
- },
619
- 0x0203 => { #6
620
- Name => 'BWMode',
621
- Description => 'Black And White Mode',
622
- Writable => 'int16u',
623
- PrintConv => \%offOn,
624
- },
625
- 0x0204 => {
626
- Name => 'DigitalZoom',
627
- Writable => 'rational64u',
628
- PrintConv => '$val=~/\./ or $val.=".0"; $val',
629
- PrintConvInv => '$val',
630
- },
631
- 0x0205 => { #6
632
- Name => 'FocalPlaneDiagonal',
633
- Writable => 'rational64u',
634
- PrintConv => '"$val mm"',
635
- PrintConvInv => '$val=~s/\s*mm$//;$val',
636
- },
637
- 0x0206 => { Name => 'LensDistortionParams', Writable => 'int16s', Count => 6 }, #6
638
- 0x0207 => { #PH (was incorrectly FirmwareVersion, ref 1,3)
639
- Name => 'CameraType',
640
- Condition => '$$valPt ne "NORMAL"', # FE240, SP510, u730 and u1000 write this
641
- Writable => 'string',
642
- DataMember => 'CameraType',
643
- RawConv => '$self->{CameraType} = $val',
644
- SeparateTable => 'CameraType',
645
- ValueConv => '$val =~ s/\s+$//; $val', # ("SX151 " has trailing space)
646
- ValueConvInv => '$val',
647
- PrintConv => \%olympusCameraTypes,
648
- Priority => 0,
649
- # 'NORMAL' for some models: u730,SP510UZ,u1000,FE240
650
- },
651
- 0x0208 => {
652
- Name => 'TextInfo',
653
- SubDirectory => {
654
- TagTable => 'Image::ExifTool::Olympus::TextInfo',
655
- },
656
- },
657
- 0x0209 => {
658
- Name => 'CameraID',
659
- Format => 'string', # this really should have been a string
660
- },
661
- 0x020b => { Name => 'EpsonImageWidth', Writable => 'int16u' }, #PH
662
- 0x020c => { Name => 'EpsonImageHeight', Writable => 'int16u' }, #PH
663
- 0x020d => { Name => 'EpsonSoftware', Writable => 'string' }, #PH
664
- 0x0280 => { #PH
665
- %Image::ExifTool::previewImageTagInfo,
666
- Notes => 'found in ERF and JPG images from some Epson models',
667
- Format => 'undef',
668
- Writable => 'int8u',
669
- },
670
- 0x0300 => { Name => 'PreCaptureFrames', Writable => 'int16u' }, #6
671
- 0x0301 => { Name => 'WhiteBoard', Writable => 'int16u' }, #11
672
- 0x0302 => { #6
673
- Name => 'OneTouchWB',
674
- Writable => 'int16u',
675
- PrintConv => {
676
- 0 => 'Off',
677
- 1 => 'On',
678
- 2 => 'On (Preset)',
679
- },
680
- },
681
- 0x0303 => { Name => 'WhiteBalanceBracket', Writable => 'int16u' }, #11
682
- 0x0304 => { Name => 'WhiteBalanceBias', Writable => 'int16u' }, #11
683
- # 0x0305 => 'PrintMaching', ? #11
684
- 0x0403 => { #11
685
- Name => 'SceneMode',
686
- Writable => 'int16u',
687
- PrintConvColumns => 2,
688
- PrintConv => {
689
- 0 => 'Normal',
690
- 1 => 'Standard',
691
- 2 => 'Auto',
692
- 3 => 'Intelligent Auto', #PH (guess, u7040)
693
- 4 => 'Portrait',
694
- 5 => 'Landscape+Portrait',
695
- 6 => 'Landscape',
696
- 7 => 'Night Scene',
697
- 8 => 'Night+Portrait',
698
- 9 => 'Sport',
699
- 10 => 'Self Portrait',
700
- 11 => 'Indoor',
701
- 12 => 'Beach & Snow',
702
- 13 => 'Beach',
703
- 14 => 'Snow',
704
- 15 => 'Self Portrait+Self Timer',
705
- 16 => 'Sunset',
706
- 17 => 'Cuisine',
707
- 18 => 'Documents',
708
- 19 => 'Candle',
709
- 20 => 'Fireworks',
710
- 21 => 'Available Light',
711
- 22 => 'Vivid',
712
- 23 => 'Underwater Wide1',
713
- 24 => 'Underwater Macro',
714
- 25 => 'Museum',
715
- 26 => 'Behind Glass',
716
- 27 => 'Auction',
717
- 28 => 'Shoot & Select1',
718
- 29 => 'Shoot & Select2',
719
- 30 => 'Underwater Wide2',
720
- 31 => 'Digital Image Stabilization',
721
- 32 => 'Face Portrait',
722
- 33 => 'Pet',
723
- 34 => 'Smile Shot',
724
- 35 => 'Quick Shutter',
725
- 43 => 'Hand-held Starlight', #PH (SH-21)
726
- 100 => 'Panorama', #PH (SH-21)
727
- 101 => 'Magic Filter', #PH
728
- 103 => 'HDR', #PH (XZ-2)
729
- },
730
- },
731
- 0x0404 => { Name => 'SerialNumber', Writable => 'string' }, #PH (D595Z, C7070WZ)
732
- 0x0405 => { Name => 'Firmware', Writable => 'string' }, #11
733
- 0x0e00 => {
734
- Name => 'PrintIM',
735
- Description => 'Print Image Matching',
736
- Writable => 0,
737
- SubDirectory => {
738
- TagTable => 'Image::ExifTool::PrintIM::Main',
739
- },
740
- },
741
- 0x0f00 => {
742
- Name => 'DataDump',
743
- Writable => 0,
744
- Binary => 1,
745
- },
746
- 0x0f01 => { #6
747
- Name => 'DataDump2',
748
- Writable => 0,
749
- Binary => 1,
750
- },
751
- 0x0f04 => {
752
- Name => 'ZoomedPreviewStart',
753
- # NOTE: this tag is currently not updated properly when the image is rewritten!
754
- OffsetPair => 0xf05,
755
- DataTag => 'ZoomedPreviewImage',
756
- Writable => 'int32u',
757
- Protected => 2,
758
- },
759
- 0x0f05 => {
760
- Name => 'ZoomedPreviewLength',
761
- OffsetPair => 0xf04,
762
- DataTag => 'ZoomedPreviewImage',
763
- Writable => 'int32u',
764
- Protected => 2,
765
- },
766
- 0x0f06 => {
767
- Name => 'ZoomedPreviewSize',
768
- Writable => 'int16u',
769
- Count => 2,
770
- },
771
- 0x1000 => { #6
772
- Name => 'ShutterSpeedValue',
773
- Writable => 'rational64s',
774
- Priority => 0,
775
- ValueConv => 'abs($val)<100 ? 2**(-$val) : 0',
776
- ValueConvInv => '$val>0 ? -log($val)/log(2) : -100',
777
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
778
- PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
779
- },
780
- 0x1001 => { #6
781
- Name => 'ISOValue',
782
- Writable => 'rational64s',
783
- Priority => 0,
784
- ValueConv => '100 * 2 ** ($val - 5)',
785
- ValueConvInv => '$val>0 ? log($val/100)/log(2)+5 : 0',
786
- PrintConv => 'int($val * 100 + 0.5) / 100',
787
- PrintConvInv => '$val',
788
- },
789
- 0x1002 => { #6
790
- Name => 'ApertureValue',
791
- Writable => 'rational64s',
792
- Priority => 0,
793
- ValueConv => '2 ** ($val / 2)',
794
- ValueConvInv => '$val>0 ? 2*log($val)/log(2) : 0',
795
- PrintConv => 'sprintf("%.1f",$val)',
796
- PrintConvInv => '$val',
797
- },
798
- 0x1003 => { #6
799
- Name => 'BrightnessValue',
800
- Writable => 'rational64s',
801
- Priority => 0,
802
- },
803
- 0x1004 => { #3
804
- Name => 'FlashMode',
805
- Writable => 'int16u',
806
- PrintConv => {
807
- 2 => 'On', #PH
808
- 3 => 'Off', #PH
809
- },
810
- },
811
- 0x1005 => { #6
812
- Name => 'FlashDevice',
813
- Writable => 'int16u',
814
- PrintConv => {
815
- 0 => 'None',
816
- 1 => 'Internal',
817
- 4 => 'External',
818
- 5 => 'Internal + External',
819
- },
820
- },
821
- 0x1006 => { #6
822
- Name =>'ExposureCompensation',
823
- Writable => 'rational64s',
824
- },
825
- 0x1007 => { Name => 'SensorTemperature',Writable => 'int16s' }, #6 (E-10, E-20 and C2500L - numbers usually around 30-40)
826
- 0x1008 => { Name => 'LensTemperature', Writable => 'int16s' }, #6
827
- 0x1009 => { Name => 'LightCondition', Writable => 'int16u' }, #11
828
- 0x100a => { #11
829
- Name => 'FocusRange',
830
- Writable => 'int16u',
831
- PrintConv => {
832
- 0 => 'Normal',
833
- 1 => 'Macro',
834
- },
835
- },
836
- 0x100b => { #6
837
- Name => 'FocusMode',
838
- Writable => 'int16u',
839
- PrintConv => {
840
- 0 => 'Auto',
841
- 1 => 'Manual',
842
- },
843
- },
844
- 0x100c => { #6
845
- Name => 'ManualFocusDistance',
846
- Writable => 'rational64u',
847
- PrintConv => '"$val mm"', #11
848
- PrintConvInv => '$val=~s/\s*mm$//; $val',
849
- },
850
- 0x100d => { Name => 'ZoomStepCount', Writable => 'int16u' }, #6
851
- 0x100e => { Name => 'FocusStepCount', Writable => 'int16u' }, #6
852
- 0x100f => { #6
853
- Name => 'Sharpness',
854
- Writable => 'int16u',
855
- Priority => 0,
856
- PrintConv => {
857
- 0 => 'Normal',
858
- 1 => 'Hard',
859
- 2 => 'Soft',
860
- },
861
- },
862
- 0x1010 => { Name => 'FlashChargeLevel', Writable => 'int16u' }, #6
863
- 0x1011 => { #3
864
- Name => 'ColorMatrix',
865
- Writable => 'int16u',
866
- Format => 'int16s',
867
- Count => 9,
868
- },
869
- 0x1012 => { Name => 'BlackLevel', Writable => 'int16u', Count => 4 }, #3
870
- 0x1013 => { #11
871
- Name => 'ColorTemperatureBG',
872
- Writable => 'int16u',
873
- Unknown => 1, # (doesn't look like a temperature)
874
- },
875
- 0x1014 => { #11
876
- Name => 'ColorTemperatureRG',
877
- Writable => 'int16u',
878
- Unknown => 1, # (doesn't look like a temperature)
879
- },
880
- 0x1015 => { #6
881
- Name => 'WBMode',
882
- Writable => 'int16u',
883
- Count => 2,
884
- PrintConvColumns => 2,
885
- PrintConv => {
886
- '1' => 'Auto',
887
- '1 0' => 'Auto',
888
- '1 2' => 'Auto (2)',
889
- '1 4' => 'Auto (4)',
890
- '2 2' => '3000 Kelvin',
891
- '2 3' => '3700 Kelvin',
892
- '2 4' => '4000 Kelvin',
893
- '2 5' => '4500 Kelvin',
894
- '2 6' => '5500 Kelvin',
895
- '2 7' => '6500 Kelvin',
896
- '2 8' => '7500 Kelvin',
897
- '3 0' => 'One-touch',
898
- },
899
- },
900
- 0x1017 => { #2
901
- Name => 'RedBalance',
902
- Writable => 'int16u',
903
- Count => 2,
904
- ValueConv => '$val=~s/ .*//; $val / 256',
905
- ValueConvInv => '$val*=256;"$val 64"',
906
- },
907
- 0x1018 => { #2
908
- Name => 'BlueBalance',
909
- Writable => 'int16u',
910
- Count => 2,
911
- ValueConv => '$val=~s/ .*//; $val / 256',
912
- ValueConvInv => '$val*=256;"$val 64"',
913
- },
914
- 0x1019 => { Name => 'ColorMatrixNumber', Writable => 'int16u' }, #11
915
- # 0x101a is same as CameraID ("OLYMPUS DIGITAL CAMERA") for C2500L - PH
916
- 0x101a => { Name => 'SerialNumber', Writable => 'string' }, #3
917
- 0x101b => { #11
918
- Name => 'ExternalFlashAE1_0',
919
- Writable => 'int32u',
920
- Unknown => 1, # (what are these?)
921
- },
922
- 0x101c => { Name => 'ExternalFlashAE2_0', Writable => 'int32u', Unknown => 1 }, #11
923
- 0x101d => { Name => 'InternalFlashAE1_0', Writable => 'int32u', Unknown => 1 }, #11
924
- 0x101e => { Name => 'InternalFlashAE2_0', Writable => 'int32u', Unknown => 1 }, #11
925
- 0x101f => { Name => 'ExternalFlashAE1', Writable => 'int32u', Unknown => 1 }, #11
926
- 0x1020 => { Name => 'ExternalFlashAE2', Writable => 'int32u', Unknown => 1 }, #11
927
- 0x1021 => { Name => 'InternalFlashAE1', Writable => 'int32u', Unknown => 1 }, #11
928
- 0x1022 => { Name => 'InternalFlashAE2', Writable => 'int32u', Unknown => 1 }, #11
929
- 0x1023 => { Name => 'FlashExposureComp', Writable => 'rational64s' }, #6
930
- 0x1024 => { Name => 'InternalFlashTable', Writable => 'int16u' }, #11
931
- 0x1025 => { Name => 'ExternalFlashGValue', Writable => 'rational64s' }, #11
932
- 0x1026 => { #6
933
- Name => 'ExternalFlashBounce',
934
- Writable => 'int16u',
935
- PrintConv => {
936
- 0 => 'No',
937
- 1 => 'Yes',
938
- },
939
- },
940
- 0x1027 => { Name => 'ExternalFlashZoom', Writable => 'int16u' }, #6
941
- 0x1028 => { Name => 'ExternalFlashMode', Writable => 'int16u' }, #6
942
- 0x1029 => { #3
943
- Name => 'Contrast',
944
- Writable => 'int16u',
945
- PrintConv => { #PH (works with E1)
946
- 0 => 'High',
947
- 1 => 'Normal',
948
- 2 => 'Low',
949
- },
950
- },
951
- 0x102a => { Name => 'SharpnessFactor', Writable => 'int16u' }, #3
952
- 0x102b => { Name => 'ColorControl', Writable => 'int16u', Count => 6 }, #3
953
- 0x102c => { Name => 'ValidBits', Writable => 'int16u', Count => 2 }, #3
954
- 0x102d => { Name => 'CoringFilter', Writable => 'int16u' }, #3
955
- 0x102e => { Name => 'OlympusImageWidth', Writable => 'int32u' }, #PH
956
- 0x102f => { Name => 'OlympusImageHeight', Writable => 'int32u' }, #PH
957
- 0x1030 => { Name => 'SceneDetect', Writable => 'int16u' }, #11
958
- 0x1031 => { #11
959
- Name => 'SceneArea',
960
- Writable => 'int32u',
961
- Count => 8,
962
- Unknown => 1, # (numbers don't make much sense?)
963
- },
964
- # 0x1032 HAFFINAL? #11
965
- 0x1033 => { #11
966
- Name => 'SceneDetectData',
967
- Writable => 'int32u',
968
- Count => 720,
969
- Binary => 1,
970
- Unknown => 1, # (but what does it mean?)
971
- },
972
- 0x1034 => { Name => 'CompressionRatio', Writable => 'rational64u' }, #3
973
- 0x1035 => { #6
974
- Name => 'PreviewImageValid',
975
- Writable => 'int32u',
976
- PrintConv => { 0 => 'No', 1 => 'Yes' },
977
- },
978
- 0x1036 => { #6
979
- Name => 'PreviewImageStart',
980
- Flags => 'IsOffset',
981
- OffsetPair => 0x1037, # point to associated byte count
982
- DataTag => 'PreviewImage',
983
- Writable => 'int32u',
984
- Protected => 2,
985
- },
986
- 0x1037 => { #6
987
- # (may contain data from multiple previews - PH, FE320)
988
- Name => 'PreviewImageLength',
989
- OffsetPair => 0x1036, # point to associated offset
990
- DataTag => 'PreviewImage',
991
- Writable => 'int32u',
992
- Protected => 2,
993
- },
994
- 0x1038 => { Name => 'AFResult', Writable => 'int16u' }, #11
995
- 0x1039 => { #6
996
- Name => 'CCDScanMode',
997
- Writable => 'int16u',
998
- PrintConv => {
999
- 0 => 'Interlaced',
1000
- 1 => 'Progressive',
1001
- },
1002
- },
1003
- 0x103a => { #6
1004
- Name => 'NoiseReduction',
1005
- Writable => 'int16u',
1006
- PrintConv => \%offOn,
1007
- },
1008
- 0x103b => { Name => 'FocusStepInfinity', Writable => 'int16u' }, #6
1009
- 0x103c => { Name => 'FocusStepNear', Writable => 'int16u' }, #6
1010
- 0x103d => { Name => 'LightValueCenter', Writable => 'rational64s' }, #11
1011
- 0x103e => { Name => 'LightValuePeriphery', Writable => 'rational64s' }, #11
1012
- 0x103f => { #11
1013
- Name => 'FieldCount',
1014
- Writable => 'int16u',
1015
- Unknown => 1, # (but what does it mean?)
1016
- },
1017
- #
1018
- # Olympus really screwed up the format of the following subdirectories (for the
1019
- # E-1 and E-300 anyway). Not only is the subdirectory value data not included in
1020
- # the size, but also the count is 2 bytes short for the subdirectory itself
1021
- # (presumably the Olympus programmers forgot about the 2-byte entry count at the
1022
- # start of the subdirectory). This mess is straightened out and these subdirs
1023
- # are written properly when ExifTool rewrites the file. Note that this problem
1024
- # has been fixed by Olympus in the new-style IFD maker notes since a standard
1025
- # SubIFD offset value is used. As written by the camera, the old style
1026
- # directories have format 'undef' or 'string', and the new style has format
1027
- # 'ifd'. However, some older versions of exiftool may have rewritten the new
1028
- # style as 'int32u', so handle both cases. - PH
1029
- #
1030
- 0x2010 => [ #PH
1031
- {
1032
- Name => 'Equipment',
1033
- Condition => '$format ne "ifd" and $format ne "int32u"',
1034
- NestedHtmlDump => 2, # (so HtmlDump doesn't show these as double-referenced)
1035
- SubDirectory => {
1036
- TagTable => 'Image::ExifTool::Olympus::Equipment',
1037
- ByteOrder => 'Unknown',
1038
- },
1039
- },
1040
- {
1041
- Name => 'EquipmentIFD',
1042
- Groups => { 1 => 'MakerNotes' }, # SubIFD needs group 1 set
1043
- Flags => 'SubIFD',
1044
- FixFormat => 'ifd',
1045
- SubDirectory => {
1046
- TagTable => 'Image::ExifTool::Olympus::Equipment',
1047
- Start => '$val',
1048
- },
1049
- },
1050
- ],
1051
- 0x2020 => [ #PH
1052
- {
1053
- Name => 'CameraSettings',
1054
- Condition => '$format ne "ifd" and $format ne "int32u"',
1055
- NestedHtmlDump => 2,
1056
- SubDirectory => {
1057
- TagTable => 'Image::ExifTool::Olympus::CameraSettings',
1058
- ByteOrder => 'Unknown',
1059
- },
1060
- },
1061
- {
1062
- Name => 'CameraSettingsIFD',
1063
- Groups => { 1 => 'MakerNotes' },
1064
- Flags => 'SubIFD',
1065
- FixFormat => 'ifd',
1066
- SubDirectory => {
1067
- TagTable => 'Image::ExifTool::Olympus::CameraSettings',
1068
- Start => '$val',
1069
- },
1070
- },
1071
- ],
1072
- 0x2030 => [ #PH
1073
- {
1074
- Name => 'RawDevelopment',
1075
- Condition => '$format ne "ifd" and $format ne "int32u"',
1076
- NestedHtmlDump => 2,
1077
- SubDirectory => {
1078
- TagTable => 'Image::ExifTool::Olympus::RawDevelopment',
1079
- ByteOrder => 'Unknown',
1080
- },
1081
- },
1082
- {
1083
- Name => 'RawDevelopmentIFD',
1084
- Groups => { 1 => 'MakerNotes' },
1085
- Flags => 'SubIFD',
1086
- FixFormat => 'ifd',
1087
- SubDirectory => {
1088
- TagTable => 'Image::ExifTool::Olympus::RawDevelopment',
1089
- Start => '$val',
1090
- },
1091
- },
1092
- ],
1093
- 0x2031 => [ #11
1094
- {
1095
- Name => 'RawDev2',
1096
- Condition => '$format ne "ifd" and $format ne "int32u"',
1097
- NestedHtmlDump => 2,
1098
- SubDirectory => {
1099
- TagTable => 'Image::ExifTool::Olympus::RawDevelopment2',
1100
- ByteOrder => 'Unknown',
1101
- },
1102
- },
1103
- {
1104
- Name => 'RawDev2IFD',
1105
- Groups => { 1 => 'MakerNotes' },
1106
- Flags => 'SubIFD',
1107
- FixFormat => 'ifd',
1108
- SubDirectory => {
1109
- TagTable => 'Image::ExifTool::Olympus::RawDevelopment2',
1110
- Start => '$val',
1111
- },
1112
- },
1113
- ],
1114
- 0x2040 => [ #PH
1115
- {
1116
- Name => 'ImageProcessing',
1117
- Condition => '$format ne "ifd" and $format ne "int32u"',
1118
- NestedHtmlDump => 2,
1119
- SubDirectory => {
1120
- TagTable => 'Image::ExifTool::Olympus::ImageProcessing',
1121
- ByteOrder => 'Unknown',
1122
- },
1123
- },
1124
- {
1125
- Name => 'ImageProcessingIFD',
1126
- Groups => { 1 => 'MakerNotes' },
1127
- Flags => 'SubIFD',
1128
- FixFormat => 'ifd',
1129
- SubDirectory => {
1130
- TagTable => 'Image::ExifTool::Olympus::ImageProcessing',
1131
- Start => '$val',
1132
- },
1133
- },
1134
- ],
1135
- 0x2050 => [ #PH
1136
- {
1137
- Name => 'FocusInfo',
1138
- Condition => '$format ne "ifd" and $format ne "int32u" and not $$self{OlympusCAMER}',
1139
- NestedHtmlDump => 2,
1140
- SubDirectory => {
1141
- TagTable => 'Image::ExifTool::Olympus::FocusInfo',
1142
- ByteOrder => 'Unknown',
1143
- },
1144
- },
1145
- {
1146
- Name => 'FocusInfoIFD',
1147
- Condition => 'not $$self{OlympusCAMER}',
1148
- Groups => { 1 => 'MakerNotes' },
1149
- Flags => 'SubIFD',
1150
- FixFormat => 'ifd',
1151
- SubDirectory => {
1152
- TagTable => 'Image::ExifTool::Olympus::FocusInfo',
1153
- Start => '$val',
1154
- },
1155
- },
1156
- {
1157
- # ASCII-based camera parameters if makernotes starts with "CAMER\0"
1158
- # (or for Sony models starting with "SONY PI\0" or "PREMI\0")
1159
- Name => 'CameraParameters',
1160
- Writable => 'undef',
1161
- Binary => 1,
1162
- },
1163
- ],
1164
- 0x2100 => [
1165
- { #11
1166
- Name => 'Olympus2100',
1167
- Condition => '$format ne "ifd" and $format ne "int32u"',
1168
- NestedHtmlDump => 2,
1169
- SubDirectory => {
1170
- TagTable => 'Image::ExifTool::Olympus::FETags',
1171
- ByteOrder => 'Unknown',
1172
- },
1173
- },
1174
- { #PH
1175
- Name => 'Olympus2100IFD',
1176
- Groups => { 1 => 'MakerNotes' },
1177
- Flags => 'SubIFD',
1178
- FixFormat => 'ifd',
1179
- SubDirectory => {
1180
- TagTable => 'Image::ExifTool::Olympus::FETags',
1181
- ByteOrder => 'Unknown',
1182
- Start => '$val',
1183
- },
1184
- },
1185
- ],
1186
- 0x2200 => [
1187
- { #11
1188
- Name => 'Olympus2200',
1189
- Condition => '$format ne "ifd" and $format ne "int32u"',
1190
- NestedHtmlDump => 2,
1191
- SubDirectory => {
1192
- TagTable => 'Image::ExifTool::Olympus::FETags',
1193
- ByteOrder => 'Unknown',
1194
- },
1195
- },
1196
- { #PH
1197
- Name => 'Olympus2200IFD',
1198
- Groups => { 1 => 'MakerNotes' },
1199
- Flags => 'SubIFD',
1200
- FixFormat => 'ifd',
1201
- SubDirectory => {
1202
- TagTable => 'Image::ExifTool::Olympus::FETags',
1203
- ByteOrder => 'Unknown',
1204
- Start => '$val',
1205
- },
1206
- },
1207
- ],
1208
- 0x2300 => [
1209
- { #11
1210
- Name => 'Olympus2300',
1211
- Condition => '$format ne "ifd" and $format ne "int32u"',
1212
- NestedHtmlDump => 2,
1213
- SubDirectory => {
1214
- TagTable => 'Image::ExifTool::Olympus::FETags',
1215
- ByteOrder => 'Unknown',
1216
- },
1217
- },
1218
- { #PH
1219
- Name => 'Olympus2300IFD',
1220
- Groups => { 1 => 'MakerNotes' },
1221
- Flags => 'SubIFD',
1222
- FixFormat => 'ifd',
1223
- SubDirectory => {
1224
- TagTable => 'Image::ExifTool::Olympus::FETags',
1225
- ByteOrder => 'Unknown',
1226
- Start => '$val',
1227
- },
1228
- },
1229
- ],
1230
- 0x2400 => [
1231
- { #11
1232
- Name => 'Olympus2400',
1233
- Condition => '$format ne "ifd" and $format ne "int32u"',
1234
- NestedHtmlDump => 2,
1235
- SubDirectory => {
1236
- TagTable => 'Image::ExifTool::Olympus::FETags',
1237
- ByteOrder => 'Unknown',
1238
- },
1239
- },
1240
- { #PH
1241
- Name => 'Olympus2400IFD',
1242
- Groups => { 1 => 'MakerNotes' },
1243
- Flags => 'SubIFD',
1244
- FixFormat => 'ifd',
1245
- SubDirectory => {
1246
- TagTable => 'Image::ExifTool::Olympus::FETags',
1247
- ByteOrder => 'Unknown',
1248
- Start => '$val',
1249
- },
1250
- },
1251
- ],
1252
- 0x2500 => [
1253
- { #11
1254
- Name => 'Olympus2500',
1255
- Condition => '$format ne "ifd" and $format ne "int32u"',
1256
- NestedHtmlDump => 2,
1257
- SubDirectory => {
1258
- TagTable => 'Image::ExifTool::Olympus::FETags',
1259
- ByteOrder => 'Unknown',
1260
- },
1261
- },
1262
- { #PH
1263
- Name => 'Olympus2500IFD',
1264
- Groups => { 1 => 'MakerNotes' },
1265
- Flags => 'SubIFD',
1266
- FixFormat => 'ifd',
1267
- SubDirectory => {
1268
- TagTable => 'Image::ExifTool::Olympus::FETags',
1269
- ByteOrder => 'Unknown',
1270
- Start => '$val',
1271
- },
1272
- },
1273
- ],
1274
- 0x2600 => [
1275
- { #11
1276
- Name => 'Olympus2600',
1277
- Condition => '$format ne "ifd" and $format ne "int32u"',
1278
- NestedHtmlDump => 2,
1279
- SubDirectory => {
1280
- TagTable => 'Image::ExifTool::Olympus::FETags',
1281
- ByteOrder => 'Unknown',
1282
- },
1283
- },
1284
- { #PH
1285
- Name => 'Olympus2600IFD',
1286
- Groups => { 1 => 'MakerNotes' },
1287
- Flags => 'SubIFD',
1288
- FixFormat => 'ifd',
1289
- SubDirectory => {
1290
- TagTable => 'Image::ExifTool::Olympus::FETags',
1291
- ByteOrder => 'Unknown',
1292
- Start => '$val',
1293
- },
1294
- },
1295
- ],
1296
- 0x2700 => [
1297
- { #11
1298
- Name => 'Olympus2700',
1299
- Condition => '$format ne "ifd" and $format ne "int32u"',
1300
- NestedHtmlDump => 2,
1301
- SubDirectory => {
1302
- TagTable => 'Image::ExifTool::Olympus::FETags',
1303
- ByteOrder => 'Unknown',
1304
- },
1305
- },
1306
- { #PH
1307
- Name => 'Olympus2700IFD',
1308
- Groups => { 1 => 'MakerNotes' },
1309
- Flags => 'SubIFD',
1310
- FixFormat => 'ifd',
1311
- SubDirectory => {
1312
- TagTable => 'Image::ExifTool::Olympus::FETags',
1313
- ByteOrder => 'Unknown',
1314
- Start => '$val',
1315
- },
1316
- },
1317
- ],
1318
- 0x2800 => [
1319
- { #11
1320
- Name => 'Olympus2800',
1321
- Condition => '$format ne "ifd" and $format ne "int32u"',
1322
- NestedHtmlDump => 2,
1323
- SubDirectory => {
1324
- TagTable => 'Image::ExifTool::Olympus::FETags',
1325
- ByteOrder => 'Unknown',
1326
- },
1327
- },
1328
- { #PH
1329
- Name => 'Olympus2800IFD',
1330
- Groups => { 1 => 'MakerNotes' },
1331
- Flags => 'SubIFD',
1332
- FixFormat => 'ifd',
1333
- SubDirectory => {
1334
- TagTable => 'Image::ExifTool::Olympus::FETags',
1335
- ByteOrder => 'Unknown',
1336
- Start => '$val',
1337
- },
1338
- },
1339
- ],
1340
- 0x2900 => [
1341
- { #11
1342
- Name => 'Olympus2900',
1343
- Condition => '$format ne "ifd" and $format ne "int32u"',
1344
- NestedHtmlDump => 2,
1345
- SubDirectory => {
1346
- TagTable => 'Image::ExifTool::Olympus::FETags',
1347
- ByteOrder => 'Unknown',
1348
- },
1349
- },
1350
- { #PH
1351
- Name => 'Olympus2900IFD',
1352
- Groups => { 1 => 'MakerNotes' },
1353
- Flags => 'SubIFD',
1354
- FixFormat => 'ifd',
1355
- SubDirectory => {
1356
- TagTable => 'Image::ExifTool::Olympus::FETags',
1357
- ByteOrder => 'Unknown',
1358
- Start => '$val',
1359
- },
1360
- },
1361
- ],
1362
- 0x3000 => [
1363
- { #6
1364
- Name => 'RawInfo',
1365
- Condition => '$format ne "ifd" and $format ne "int32u"',
1366
- NestedHtmlDump => 2,
1367
- SubDirectory => {
1368
- TagTable => 'Image::ExifTool::Olympus::RawInfo',
1369
- ByteOrder => 'Unknown',
1370
- },
1371
- },
1372
- { #PH
1373
- Name => 'RawInfoIFD',
1374
- Groups => { 1 => 'MakerNotes' },
1375
- Flags => 'SubIFD',
1376
- FixFormat => 'ifd',
1377
- SubDirectory => {
1378
- TagTable => 'Image::ExifTool::Olympus::RawInfo',
1379
- Start => '$val',
1380
- },
1381
- },
1382
- ],
1383
- 0x4000 => [ #PH
1384
- {
1385
- Name => 'MainInfo',
1386
- Condition => '$format ne "ifd" and $format ne "int32u"',
1387
- NestedHtmlDump => 2,
1388
- SubDirectory => {
1389
- TagTable => 'Image::ExifTool::Olympus::Main',
1390
- ByteOrder => 'Unknown',
1391
- },
1392
- },
1393
- {
1394
- Name => 'MainInfoIFD',
1395
- Groups => { 1 => 'MakerNotes' },
1396
- Flags => 'SubIFD',
1397
- FixFormat => 'ifd',
1398
- SubDirectory => {
1399
- TagTable => 'Image::ExifTool::Olympus::Main',
1400
- Start => '$val',
1401
- },
1402
- },
1403
- ],
1404
- 0x5000 => [ #PH
1405
- {
1406
- Name => 'UnknownInfo',
1407
- Condition => '$format ne "ifd" and $format ne "int32u"',
1408
- NestedHtmlDump => 2,
1409
- SubDirectory => {
1410
- TagTable => 'Image::ExifTool::Olympus::UnknownInfo',
1411
- ByteOrder => 'Unknown',
1412
- },
1413
- },
1414
- {
1415
- Name => 'UnknownInfoIFD',
1416
- Groups => { 1 => 'MakerNotes' },
1417
- Flags => 'SubIFD',
1418
- FixFormat => 'ifd',
1419
- SubDirectory => {
1420
- TagTable => 'Image::ExifTool::Olympus::UnknownInfo',
1421
- Start => '$val',
1422
- },
1423
- },
1424
- ],
1425
- );
1426
-
1427
- # TextInfo tags
1428
- %Image::ExifTool::Olympus::TextInfo = (
1429
- PROCESS_PROC => \&Image::ExifTool::APP12::ProcessAPP12,
1430
- NOTES => q{
1431
- This information is in text format (similar to APP12 information, but with
1432
- spaces instead of linefeeds). Below are tags which have been observed, but
1433
- any information found here will be extracted, even if the tag is not listed.
1434
- },
1435
- GROUPS => { 0 => 'MakerNotes', 1 => 'Olympus', 2 => 'Image' },
1436
- Resolution => { },
1437
- Type => {
1438
- Name => 'CameraType',
1439
- Groups => { 2 => 'Camera' },
1440
- DataMember => 'CameraType',
1441
- RawConv => '$self->{CameraType} = $val',
1442
- SeparateTable => 'CameraType',
1443
- PrintConv => \%olympusCameraTypes,
1444
- },
1445
- );
1446
-
1447
- # Olympus Equipment IFD
1448
- %Image::ExifTool::Olympus::Equipment = (
1449
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
1450
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
1451
- WRITABLE => 1,
1452
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
1453
- 0x000 => { #PH
1454
- Name => 'EquipmentVersion',
1455
- Writable => 'undef',
1456
- RawConv => '$val=~s/\0+$//; $val', # (may be null terminated)
1457
- Count => 4,
1458
- },
1459
- 0x100 => { #6
1460
- Name => 'CameraType2',
1461
- Writable => 'string',
1462
- Count => 6,
1463
- SeparateTable => 'CameraType',
1464
- PrintConv => \%olympusCameraTypes,
1465
- },
1466
- 0x101 => { #PH
1467
- Name => 'SerialNumber',
1468
- Writable => 'string',
1469
- Count => 32,
1470
- PrintConv => '$val=~s/\s+$//;$val',
1471
- PrintConvInv => 'pack("A31",$val)', # pad with spaces to 31 chars
1472
- },
1473
- 0x102 => { #6
1474
- Name => 'InternalSerialNumber',
1475
- Notes => '16 digits: 0-3=model, 4=year, 5-6=month, 8-12=unit number',
1476
- Writable => 'string',
1477
- Count => 32,
1478
- },
1479
- 0x103 => { #6
1480
- Name => 'FocalPlaneDiagonal',
1481
- Writable => 'rational64u',
1482
- PrintConv => '"$val mm"',
1483
- PrintConvInv => '$val=~s/\s*mm$//;$val',
1484
- },
1485
- 0x104 => { #6
1486
- Name => 'BodyFirmwareVersion',
1487
- Writable => 'int32u',
1488
- PrintConv => '$val=sprintf("%x",$val);$val=~s/(.{3})$/\.$1/;$val',
1489
- PrintConvInv => '$val=sprintf("%.3f",$val);$val=~s/\.//;hex($val)',
1490
- },
1491
- 0x201 => { #6
1492
- Name => 'LensType',
1493
- Writable => 'int8u',
1494
- Count => 6,
1495
- Notes => q{
1496
- 6 numbers: 0. Make, 1. Unknown, 2. Model, 3. Sub-model, 4-5. Unknown. Only
1497
- the Make, Model and Sub-model are used to identify the lens type
1498
- },
1499
- SeparateTable => 'LensType',
1500
- # Have seen these values for the unknown numbers:
1501
- # 1: 0
1502
- # 4: 0, 2(Olympus lenses for which I have also seen 0 for this number)
1503
- # 5: 0, 16(new Lumix lenses)
1504
- ValueConv => 'my @a=split(" ",$val); sprintf("%x %.2x %.2x",@a[0,2,3])',
1505
- # set unknown values to zero when writing
1506
- ValueConvInv => 'my @a=split(" ",$val); hex($a[0])." 0 ".hex($a[1]).hex($a[2])." 0 0"',
1507
- PrintConv => \%olympusLensTypes,
1508
- },
1509
- # apparently the first 3 digits of the lens s/n give the type (ref 4):
1510
- # 010 = 50macro
1511
- # 040 = EC-14
1512
- # 050 = 14-54
1513
- # 060 = 50-200
1514
- # 080 = EX-25
1515
- # 101 = FL-50
1516
- # 272 = EC-20 #7
1517
- 0x202 => { #PH
1518
- Name => 'LensSerialNumber',
1519
- Writable => 'string',
1520
- Count => 32,
1521
- PrintConv => '$val=~s/\s+$//;$val',
1522
- PrintConvInv => 'pack("A31",$val)', # pad with spaces to 31 chars
1523
- },
1524
- 0x203 => { Name => 'LensModel', Writable => 'string' }, #17
1525
- 0x204 => { #6
1526
- Name => 'LensFirmwareVersion',
1527
- Writable => 'int32u',
1528
- PrintConv => '$val=sprintf("%x",$val);$val=~s/(.{3})$/\.$1/;$val',
1529
- PrintConvInv => '$val=sprintf("%.3f",$val);$val=~s/\.//;hex($val)',
1530
- },
1531
- 0x205 => { #11
1532
- Name => 'MaxApertureAtMinFocal',
1533
- Writable => 'int16u',
1534
- ValueConv => '$val ? sqrt(2)**($val/256) : 0',
1535
- ValueConvInv => '$val>0 ? int(512*log($val)/log(2)+0.5) : 0',
1536
- PrintConv => 'sprintf("%.1f",$val)',
1537
- PrintConvInv => '$val',
1538
- },
1539
- 0x206 => { #5
1540
- Name => 'MaxApertureAtMaxFocal',
1541
- Writable => 'int16u',
1542
- ValueConv => '$val ? sqrt(2)**($val/256) : 0',
1543
- ValueConvInv => '$val>0 ? int(512*log($val)/log(2)+0.5) : 0',
1544
- PrintConv => 'sprintf("%.1f",$val)',
1545
- PrintConvInv => '$val',
1546
- },
1547
- 0x207 => { Name => 'MinFocalLength', Writable => 'int16u' }, #PH
1548
- 0x208 => { Name => 'MaxFocalLength', Writable => 'int16u' }, #PH
1549
- 0x20a => { #9
1550
- Name => 'MaxAperture', # (at current focal length)
1551
- Writable => 'int16u',
1552
- ValueConv => '$val ? sqrt(2)**($val/256) : 0',
1553
- ValueConvInv => '$val>0 ? int(512*log($val)/log(2)+0.5) : 0',
1554
- PrintConv => 'sprintf("%.1f",$val)',
1555
- PrintConvInv => '$val',
1556
- },
1557
- 0x20b => { #11
1558
- Name => 'LensProperties',
1559
- Writable => 'int16u',
1560
- PrintConv => 'sprintf("0x%x",$val)',
1561
- PrintConvInv => '$val',
1562
- },
1563
- 0x301 => { #6
1564
- Name => 'Extender',
1565
- Writable => 'int8u',
1566
- Count => 6,
1567
- Notes => q{
1568
- 6 numbers: 0. Make, 1. Unknown, 2. Model, 3. Sub-model, 4-5. Unknown. Only
1569
- the Make and Model are used to identify the extender
1570
- },
1571
- ValueConv => 'my @a=split(" ",$val); sprintf("%x %.2x",@a[0,2])',
1572
- ValueConvInv => 'my @a=split(" ",$val); hex($a[0])." 0 ".hex($a[1])." 0 0 0"',
1573
- PrintConv => {
1574
- '0 00' => 'None',
1575
- '0 04' => 'Olympus Zuiko Digital EC-14 1.4x Teleconverter',
1576
- '0 08' => 'Olympus EX-25 Extension Tube',
1577
- '0 10' => 'Olympus Zuiko Digital EC-20 2.0x Teleconverter', #7
1578
- },
1579
- },
1580
- 0x302 => { Name => 'ExtenderSerialNumber', Writable => 'string', Count => 32 }, #4
1581
- 0x303 => { Name => 'ExtenderModel', Writable => 'string' }, #9
1582
- 0x304 => { #6
1583
- Name => 'ExtenderFirmwareVersion',
1584
- Writable => 'int32u',
1585
- PrintConv => '$val=sprintf("%x",$val);$val=~s/(.{3})$/\.$1/;$val',
1586
- PrintConvInv => '$val=sprintf("%.3f",$val);$val=~s/\.//;hex($val)',
1587
- },
1588
- 0x403 => { #http://dev.exiv2.org/issues/870
1589
- Name => 'ConversionLens',
1590
- Writable => 'string',
1591
- # (observed values: '','TCON','FCON','WCON')
1592
- },
1593
- 0x1000 => { #6
1594
- Name => 'FlashType',
1595
- Writable => 'int16u',
1596
- PrintConv => {
1597
- 0 => 'None',
1598
- 2 => 'Simple E-System',
1599
- 3 => 'E-System',
1600
- },
1601
- },
1602
- 0x1001 => { #6
1603
- Name => 'FlashModel',
1604
- Writable => 'int16u',
1605
- PrintConvColumns => 2,
1606
- PrintConv => {
1607
- 0 => 'None',
1608
- 1 => 'FL-20', # (or subtronic digital or Inon UW flash, ref 11)
1609
- 2 => 'FL-50', # (or Metzblitz+SCA or Cullmann 34, ref 11)
1610
- 3 => 'RF-11',
1611
- 4 => 'TF-22',
1612
- 5 => 'FL-36',
1613
- 6 => 'FL-50R', #11 (or Metz mecablitz digital)
1614
- 7 => 'FL-36R', #11
1615
- # have seen value of 9 - PH
1616
- },
1617
- },
1618
- 0x1002 => { #6
1619
- Name => 'FlashFirmwareVersion',
1620
- Writable => 'int32u',
1621
- PrintConv => '$val=sprintf("%x",$val);$val=~s/(.{3})$/\.$1/;$val',
1622
- PrintConvInv => '$val=sprintf("%.3f",$val);$val=~s/\.//;hex($val)',
1623
- },
1624
- 0x1003 => { Name => 'FlashSerialNumber', Writable => 'string', Count => 32 }, #4
1625
- );
1626
-
1627
- # Olympus camera settings IFD
1628
- %Image::ExifTool::Olympus::CameraSettings = (
1629
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
1630
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
1631
- WRITABLE => 1,
1632
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
1633
- 0x000 => { #PH
1634
- Name => 'CameraSettingsVersion',
1635
- Writable => 'undef',
1636
- RawConv => '$val=~s/\0+$//; $val', # (may be null terminated)
1637
- Count => 4,
1638
- },
1639
- 0x100 => { #6
1640
- Name => 'PreviewImageValid',
1641
- Writable => 'int32u',
1642
- PrintConv => { 0 => 'No', 1 => 'Yes' },
1643
- },
1644
- 0x101 => { #PH
1645
- Name => 'PreviewImageStart',
1646
- Flags => 'IsOffset',
1647
- OffsetPair => 0x102,
1648
- DataTag => 'PreviewImage',
1649
- Writable => 'int32u',
1650
- Protected => 2,
1651
- },
1652
- 0x102 => { #PH
1653
- Name => 'PreviewImageLength',
1654
- OffsetPair => 0x101,
1655
- DataTag => 'PreviewImage',
1656
- Writable => 'int32u',
1657
- Protected => 2,
1658
- },
1659
- 0x200 => { #4
1660
- Name => 'ExposureMode',
1661
- Writable => 'int16u',
1662
- PrintConv => {
1663
- 1 => 'Manual',
1664
- 2 => 'Program', #6
1665
- 3 => 'Aperture-priority AE',
1666
- 4 => 'Shutter speed priority AE',
1667
- 5 => 'Program-shift', #6
1668
- }
1669
- },
1670
- 0x201 => { #6
1671
- Name => 'AELock',
1672
- Writable => 'int16u',
1673
- PrintConv => \%offOn,
1674
- },
1675
- 0x202 => { #PH/4
1676
- Name => 'MeteringMode',
1677
- Writable => 'int16u',
1678
- PrintConv => {
1679
- 2 => 'Center-weighted average',
1680
- 3 => 'Spot',
1681
- 5 => 'ESP',
1682
- 261 => 'Pattern+AF', #6
1683
- 515 => 'Spot+Highlight control', #6
1684
- 1027 => 'Spot+Shadow control', #6
1685
- },
1686
- },
1687
- 0x203 => { Name => 'ExposureShift', Writable => 'rational64s' }, #11 (some E-models only)
1688
- 0x204 => { #11 (XZ-1)
1689
- Name => 'NDFilter',
1690
- PrintConv => \%offOn,
1691
- },
1692
- 0x300 => { #6
1693
- Name => 'MacroMode',
1694
- Writable => 'int16u',
1695
- PrintConv => {
1696
- 0 => 'Off',
1697
- 1 => 'On',
1698
- 2 => 'Super Macro', #11
1699
- },
1700
- },
1701
- 0x301 => { #6
1702
- Name => 'FocusMode',
1703
- Writable => 'int16u',
1704
- Count => -1,
1705
- Notes => '1 or 2 values',
1706
- PrintConv => [{
1707
- 0 => 'Single AF',
1708
- 1 => 'Sequential shooting AF',
1709
- 2 => 'Continuous AF',
1710
- 3 => 'Multi AF',
1711
- 5 => 'Face detect', #11
1712
- 10 => 'MF',
1713
- }, { BITMASK => { #11
1714
- 0 => 'S-AF',
1715
- 2 => 'C-AF',
1716
- 4 => 'MF',
1717
- 5 => 'Face detect',
1718
- 6 => 'Imager AF',
1719
- 7 => 'Live View Magnification Frame',
1720
- 8 => 'AF sensor',
1721
- }}],
1722
- },
1723
- 0x302 => { #6
1724
- Name => 'FocusProcess',
1725
- Writable => 'int16u',
1726
- Count => -1,
1727
- Notes => '1 or 2 values',
1728
- PrintConv => [{
1729
- 0 => 'AF Not Used',
1730
- 1 => 'AF Used',
1731
- }],
1732
- # 2nd value written only by some models (u1050SW, u9000, uT6000, uT6010,
1733
- # uT8000, E-30, E-420, E-450, E-520, E-620, E-P1 and E-P2): - PH
1734
- # observed values when "AF Not Used": 0, 16
1735
- # observed values when "AF Used": 64, 96(face detect on), 256
1736
- },
1737
- 0x303 => { #6
1738
- Name => 'AFSearch',
1739
- Writable => 'int16u',
1740
- PrintConv => {
1741
- 0 => 'Not Ready',
1742
- 1 => 'Ready',
1743
- },
1744
- },
1745
- 0x304 => { #PH/4
1746
- Name => 'AFAreas',
1747
- Notes => 'coordinates range from 0 to 255',
1748
- Writable => 'int32u',
1749
- Count => 64,
1750
- PrintConv => 'Image::ExifTool::Olympus::PrintAFAreas($val)',
1751
- },
1752
- 0x0305 => { #PH
1753
- Name => 'AFPointSelected',
1754
- Notes => 'coordinates expressed as a percent',
1755
- Writable => 'rational64s',
1756
- Count => 5,
1757
- ValueConv => '$val =~ s/\S* //; $val', # ignore first undefined value
1758
- ValueConvInv => '"undef $val"',
1759
- PrintConv => q{
1760
- return $val if $val =~ /undef/;
1761
- sprintf("(%d%%,%d%%) (%d%%,%d%%)", map {$_ * 100} split(" ",$val));
1762
- }
1763
- },
1764
- 0x306 => { #11
1765
- Name => 'AFFineTune',
1766
- Writable => 'int8u',
1767
- PrintConv => { 0 => 'Off', 1 => 'On' },
1768
- },
1769
- 0x307 => { #15
1770
- Name => 'AFFineTuneAdj',
1771
- Format => 'int16s',
1772
- Count => 3, # not sure what the 3 values mean
1773
- },
1774
- 0x400 => { #6
1775
- Name => 'FlashMode',
1776
- Writable => 'int16u',
1777
- PrintConv => {
1778
- 0 => 'Off',
1779
- BITMASK => {
1780
- 0 => 'On',
1781
- 1 => 'Fill-in',
1782
- 2 => 'Red-eye',
1783
- 3 => 'Slow-sync',
1784
- 4 => 'Forced On',
1785
- 5 => '2nd Curtain',
1786
- },
1787
- },
1788
- },
1789
- 0x401 => { Name => 'FlashExposureComp', Writable => 'rational64s' }, #6
1790
- # 0x402 - FlashMode? bit0=TTL, bit1=auto, bit2=SuperFP (ref 11)
1791
- 0x403 => { #11
1792
- Name => 'FlashRemoteControl',
1793
- Writable => 'int16u',
1794
- PrintHex => 1,
1795
- PrintConvColumns => 2,
1796
- PrintConv => {
1797
- 0 => 'Off',
1798
- 0x01 => 'Channel 1, Low',
1799
- 0x02 => 'Channel 2, Low',
1800
- 0x03 => 'Channel 3, Low',
1801
- 0x04 => 'Channel 4, Low',
1802
- 0x09 => 'Channel 1, Mid',
1803
- 0x0a => 'Channel 2, Mid',
1804
- 0x0b => 'Channel 3, Mid',
1805
- 0x0c => 'Channel 4, Mid',
1806
- 0x11 => 'Channel 1, High',
1807
- 0x12 => 'Channel 2, High',
1808
- 0x13 => 'Channel 3, High',
1809
- 0x14 => 'Channel 4, High',
1810
- },
1811
- },
1812
- 0x404 => { #11
1813
- Name => 'FlashControlMode',
1814
- Writable => 'int16u',
1815
- Count => 3,
1816
- PrintConv => [{
1817
- 0 => 'Off',
1818
- 3 => 'TTL',
1819
- 4 => 'Auto',
1820
- 5 => 'Manual',
1821
- }],
1822
- },
1823
- 0x405 => { #11
1824
- Name => 'FlashIntensity',
1825
- Writable => 'rational64s',
1826
- Count => 3,
1827
- PrintConv => '$val eq "undef undef undef" ? "n/a" : $val',
1828
- PrintConvInv => '$val eq "n/a" ? "undef undef undef" : $val',
1829
- },
1830
- 0x406 => { #11
1831
- Name => 'ManualFlashStrength',
1832
- Writable => 'rational64s',
1833
- Count => 3,
1834
- PrintConv => '$val eq "undef undef undef" ? "n/a" : $val',
1835
- PrintConvInv => '$val eq "n/a" ? "undef undef undef" : $val',
1836
- },
1837
- 0x500 => { #6
1838
- Name => 'WhiteBalance2',
1839
- Writable => 'int16u',
1840
- PrintConv => {
1841
- 0 => 'Auto',
1842
- 16 => '7500K (Fine Weather with Shade)',
1843
- 17 => '6000K (Cloudy)',
1844
- 18 => '5300K (Fine Weather)',
1845
- 20 => '3000K (Tungsten light)',
1846
- 21 => '3600K (Tungsten light-like)',
1847
- 33 => '6600K (Daylight fluorescent)',
1848
- 34 => '4500K (Neutral white fluorescent)',
1849
- 35 => '4000K (Cool white fluorescent)',
1850
- 48 => '3600K (Tungsten light-like)',
1851
- 256 => 'Custom WB 1',
1852
- 257 => 'Custom WB 2',
1853
- 258 => 'Custom WB 3',
1854
- 259 => 'Custom WB 4',
1855
- 512 => 'Custom WB 5400K',
1856
- 513 => 'Custom WB 2900K',
1857
- 514 => 'Custom WB 8000K',
1858
- },
1859
- },
1860
- 0x501 => { #PH/4
1861
- Name => 'WhiteBalanceTemperature',
1862
- Writable => 'int16u',
1863
- PrintConv => '$val ? $val : "Auto"',
1864
- PrintConvInv => '$val=~/^\d+$/ ? $val : 0',
1865
- },
1866
- 0x502 => { #PH/4
1867
- Name => 'WhiteBalanceBracket',
1868
- Writable => 'int16s',
1869
- },
1870
- 0x503 => { #PH/4/6
1871
- Name => 'CustomSaturation',
1872
- Writable => 'int16s',
1873
- Count => 3,
1874
- Notes => '3 numbers: 1. CS Value, 2. Min, 3. Max',
1875
- PrintConv => q{
1876
- my ($a,$b,$c)=split ' ',$val;
1877
- if ($self->{Model} =~ /^E-1\b/) {
1878
- $a-=$b; $c-=$b;
1879
- return "CS$a (min CS0, max CS$c)";
1880
- } else {
1881
- return "$a (min $b, max $c)";
1882
- }
1883
- },
1884
- },
1885
- 0x504 => { #PH/4
1886
- Name => 'ModifiedSaturation',
1887
- Writable => 'int16u',
1888
- PrintConv => {
1889
- 0 => 'Off',
1890
- 1 => 'CM1 (Red Enhance)',
1891
- 2 => 'CM2 (Green Enhance)',
1892
- 3 => 'CM3 (Blue Enhance)',
1893
- 4 => 'CM4 (Skin Tones)',
1894
- },
1895
- },
1896
- 0x505 => { #PH/4
1897
- Name => 'ContrastSetting',
1898
- Writable => 'int16s',
1899
- Count => 3,
1900
- Notes => 'value, min, max',
1901
- PrintConv => 'my @v=split " ",$val; "$v[0] (min $v[1], max $v[2])"',
1902
- PrintConvInv => '$val=~tr/-0-9 //dc;$val',
1903
- },
1904
- 0x506 => { #PH/4
1905
- Name => 'SharpnessSetting',
1906
- Writable => 'int16s',
1907
- Count => 3,
1908
- Notes => 'value, min, max',
1909
- PrintConv => 'my @v=split " ",$val; "$v[0] (min $v[1], max $v[2])"',
1910
- PrintConvInv => '$val=~tr/-0-9 //dc;$val',
1911
- },
1912
- 0x507 => { #PH/4
1913
- Name => 'ColorSpace',
1914
- Writable => 'int16u',
1915
- PrintConv => { #6
1916
- 0 => 'sRGB',
1917
- 1 => 'Adobe RGB',
1918
- 2 => 'Pro Photo RGB',
1919
- },
1920
- },
1921
- 0x509 => { #6
1922
- Name => 'SceneMode',
1923
- Writable => 'int16u',
1924
- PrintConvColumns => 2,
1925
- PrintConv => {
1926
- 0 => 'Standard',
1927
- 6 => 'Auto', #6
1928
- 7 => 'Sport',
1929
- 8 => 'Portrait',
1930
- 9 => 'Landscape+Portrait',
1931
- 10 => 'Landscape',
1932
- 11 => 'Night Scene',
1933
- 12 => 'Self Portrait', #11
1934
- 13 => 'Panorama', #6
1935
- 14 => '2 in 1', #11
1936
- 15 => 'Movie', #11
1937
- 16 => 'Landscape+Portrait', #6
1938
- 17 => 'Night+Portrait',
1939
- 18 => 'Indoor', #11 (Party - PH)
1940
- 19 => 'Fireworks',
1941
- 20 => 'Sunset',
1942
- 21 => 'Beauty Skin', #PH
1943
- 22 => 'Macro',
1944
- 23 => 'Super Macro', #11
1945
- 24 => 'Food', #11
1946
- 25 => 'Documents',
1947
- 26 => 'Museum',
1948
- 27 => 'Shoot & Select', #11
1949
- 28 => 'Beach & Snow',
1950
- 29 => 'Self Protrait+Timer', #11
1951
- 30 => 'Candle',
1952
- 31 => 'Available Light', #11
1953
- 32 => 'Behind Glass', #11
1954
- 33 => 'My Mode', #11
1955
- 34 => 'Pet', #11
1956
- 35 => 'Underwater Wide1', #6
1957
- 36 => 'Underwater Macro', #6
1958
- 37 => 'Shoot & Select1', #11
1959
- 38 => 'Shoot & Select2', #11
1960
- 39 => 'High Key',
1961
- 40 => 'Digital Image Stabilization', #6
1962
- 41 => 'Auction', #11
1963
- 42 => 'Beach', #11
1964
- 43 => 'Snow', #11
1965
- 44 => 'Underwater Wide2', #6
1966
- 45 => 'Low Key', #6
1967
- 46 => 'Children', #6
1968
- 47 => 'Vivid', #11
1969
- 48 => 'Nature Macro', #6
1970
- 49 => 'Underwater Snapshot', #11
1971
- 50 => 'Shooting Guide', #11
1972
- 54 => 'Face Portrait', #11
1973
- 57 => 'Bulb', #11
1974
- 59 => 'Smile Shot', #11
1975
- 60 => 'Quick Shutter', #11
1976
- 63 => 'Slow Shutter', #11
1977
- 64 => 'Bird Watching', #11
1978
- 65 => 'Multiple Exposure', #11
1979
- 66 => 'e-Portrait', #11
1980
- 67 => 'Soft Background Shot', #11
1981
- 142 => 'Hand-held Starlight', #PH (SH-21)
1982
- 154 => 'HDR', #PH (XZ-2)
1983
- },
1984
- },
1985
- 0x50a => { #PH/4/6
1986
- Name => 'NoiseReduction',
1987
- Writable => 'int16u',
1988
- PrintConv => {
1989
- BITMASK => {
1990
- 0 => 'Noise Reduction',
1991
- 1 => 'Noise Filter',
1992
- 2 => 'Noise Filter (ISO Boost)',
1993
- 3 => 'Auto', #11
1994
- },
1995
- },
1996
- },
1997
- 0x50b => { #6
1998
- Name => 'DistortionCorrection',
1999
- Writable => 'int16u',
2000
- PrintConv => \%offOn,
2001
- },
2002
- 0x50c => { #PH/4
2003
- Name => 'ShadingCompensation',
2004
- Writable => 'int16u',
2005
- PrintConv => \%offOn,
2006
- },
2007
- 0x50d => { Name => 'CompressionFactor', Writable => 'rational64u' }, #PH/4
2008
- 0x50f => { #6
2009
- Name => 'Gradation',
2010
- Writable => 'int16s',
2011
- Notes => '3 or 4 values',
2012
- Count => -1,
2013
- Relist => [ [0..2], 3 ], # join values 0-2 for PrintConv
2014
- PrintConv => [{
2015
- '0 0 0' => 'n/a', #PH (?)
2016
- '-1 -1 1' => 'Low Key',
2017
- '0 -1 1' => 'Normal',
2018
- '1 -1 1' => 'High Key',
2019
- },{
2020
- 0 => 'User-Selected',
2021
- 1 => 'Auto-Override',
2022
- }],
2023
- },
2024
- 0x520 => { #6
2025
- Name => 'PictureMode',
2026
- Writable => 'int16u',
2027
- Notes => '1 or 2 values',
2028
- Count => -1,
2029
- PrintConv => [{
2030
- 1 => 'Vivid',
2031
- 2 => 'Natural',
2032
- 3 => 'Muted',
2033
- 4 => 'Portrait',
2034
- 5 => 'i-Enhance', #11
2035
- 256 => 'Monotone',
2036
- 512 => 'Sepia',
2037
- }],
2038
- },
2039
- 0x521 => { #6
2040
- Name => 'PictureModeSaturation',
2041
- Writable => 'int16s',
2042
- Count => 3,
2043
- Notes => 'value, min, max',
2044
- PrintConv => 'my @v=split " ",$val; "$v[0] (min $v[1], max $v[2])"',
2045
- PrintConvInv => '$val=~tr/-0-9 //dc;$val',
2046
- },
2047
- 0x522 => { #6
2048
- Name => 'PictureModeHue',
2049
- Writable => 'int16s',
2050
- Unknown => 1, # (needs verification)
2051
- },
2052
- 0x523 => { #6
2053
- Name => 'PictureModeContrast',
2054
- Writable => 'int16s',
2055
- Count => 3,
2056
- Notes => 'value, min, max',
2057
- PrintConv => 'my @v=split " ",$val; "$v[0] (min $v[1], max $v[2])"',
2058
- PrintConvInv => '$val=~tr/-0-9 //dc;$val',
2059
- },
2060
- 0x524 => { #6
2061
- Name => 'PictureModeSharpness',
2062
- # verified as the Sharpness setting in the Picture Mode menu for the E-410
2063
- Writable => 'int16s',
2064
- Count => 3,
2065
- Notes => 'value, min, max',
2066
- PrintConv => 'my @v=split " ",$val; "$v[0] (min $v[1], max $v[2])"',
2067
- PrintConvInv => '$val=~tr/-0-9 //dc;$val',
2068
- },
2069
- 0x525 => { #6
2070
- Name => 'PictureModeBWFilter',
2071
- Writable => 'int16s',
2072
- PrintConvColumns => 2,
2073
- PrintConv => {
2074
- 0 => 'n/a',
2075
- 1 => 'Neutral',
2076
- 2 => 'Yellow',
2077
- 3 => 'Orange',
2078
- 4 => 'Red',
2079
- 5 => 'Green',
2080
- },
2081
- },
2082
- 0x526 => { #6
2083
- Name => 'PictureModeTone',
2084
- Writable => 'int16s',
2085
- PrintConvColumns => 2,
2086
- PrintConv => {
2087
- 0 => 'n/a',
2088
- 1 => 'Neutral',
2089
- 2 => 'Sepia',
2090
- 3 => 'Blue',
2091
- 4 => 'Purple',
2092
- 5 => 'Green',
2093
- },
2094
- },
2095
- 0x527 => { #12
2096
- Name => 'NoiseFilter',
2097
- Writable => 'int16s',
2098
- Count => 3,
2099
- PrintConv => {
2100
- '0 0 0' => 'n/a', #PH (?)
2101
- '-2 -2 1' => 'Off',
2102
- '-1 -2 1' => 'Low',
2103
- '0 -2 1' => 'Standard',
2104
- '1 -2 1' => 'High',
2105
- },
2106
- },
2107
- 0x529 => { #PH
2108
- Name => 'ArtFilter',
2109
- Writable => 'int16u',
2110
- Count => 4,
2111
- PrintConvColumns => 2,
2112
- PrintConv => [ \%filters ],
2113
- },
2114
- 0x52c => { #PH
2115
- Name => 'MagicFilter',
2116
- Writable => 'int16u',
2117
- Count => 4, # (2nd number is 0, 1280 or 1792, 3rd/4th are 0)
2118
- # (1792 observed for E-5 Gentle Sepia and XZ-1 Dramatic Tone)
2119
- PrintConvColumns => 2,
2120
- PrintConv => [ \%filters ],
2121
- },
2122
- 0x52d => { #11
2123
- Name => 'PictureModeEffect',
2124
- Writable => 'int16s',
2125
- Count => 3,
2126
- PrintConv => {
2127
- '0 0 0' => 'n/a', #PH (?)
2128
- '-1 -1 1' => 'Low',
2129
- '0 -1 1' => 'Standard',
2130
- '1 -1 1' => 'High',
2131
- },
2132
- },
2133
- 0x52e => { #11/PH
2134
- Name => 'ToneLevel',
2135
- PrintConv => [
2136
- undef, # ?
2137
- '"Highlights $val"',
2138
- undef, # (highlights min)
2139
- undef, # (highlights max)
2140
- undef, # ?
2141
- '"Shadows $val"',
2142
- undef, # (shadows min)
2143
- undef, # (shadows max)
2144
- ]
2145
- },
2146
- 0x52f => { #PH
2147
- Name => 'ArtFilterEffect',
2148
- Writable => 'int16u',
2149
- Count => 20,
2150
- PrintHex => 1,
2151
- PrintConvColumns => 2,
2152
- PrintConv => [
2153
- \%filters, undef, undef, undef,
2154
- { # there are 5 available art filter effects for the E-PL3...
2155
- 0x0000 => 'No Effect',
2156
- 0x8010 => 'Star Light',
2157
- 0x8020 => 'Pin Hole',
2158
- 0x8030 => 'Frame',
2159
- 0x8040 => 'Soft Focus',
2160
- 0x8050 => 'White Edge',
2161
- 0x8060 => 'B&W', # (NC - E-PL2 with "Grainy Film" filter)
2162
- # (E-PL2 also has "Pict. Tone" effect)
2163
- },
2164
- ],
2165
- },
2166
- 0x600 => { #PH/4
2167
- Name => 'DriveMode',
2168
- Writable => 'int16u',
2169
- Count => -1,
2170
- Notes => '2 or 3 numbers: 1. Mode, 2. Shot number, 3. Mode bits',
2171
- PrintConv => q{
2172
- my ($a,$b,$c) = split ' ',$val;
2173
- return 'Single Shot' unless $a;
2174
- if ($a == 5 and defined $c) {
2175
- $a = DecodeBits($c, { #6
2176
- 0 => 'AE',
2177
- 1 => 'WB',
2178
- 2 => 'FL',
2179
- 3 => 'MF',
2180
- }) . ' Bracketing';
2181
- $a =~ s/, /+/g;
2182
- } else {
2183
- my %a = (
2184
- 1 => 'Continuous Shooting',
2185
- 2 => 'Exposure Bracketing',
2186
- 3 => 'White Balance Bracketing',
2187
- 4 => 'Exposure+WB Bracketing', #6
2188
- );
2189
- $a = $a{$a} || "Unknown ($a)";
2190
- }
2191
- return "$a, Shot $b";
2192
- },
2193
- },
2194
- 0x601 => { #6
2195
- Name => 'PanoramaMode',
2196
- Writable => 'int16u',
2197
- Notes => '2 numbers: 1. Mode, 2. Shot number',
2198
- PrintConv => q{
2199
- my ($a,$b) = split ' ',$val;
2200
- return 'Off' unless $a;
2201
- my %a = (
2202
- 1 => 'Left to Right',
2203
- 2 => 'Right to Left',
2204
- 3 => 'Bottom to Top',
2205
- 4 => 'Top to Bottom',
2206
- );
2207
- return ($a{$a} || "Unknown ($a)") . ', Shot ' . $b;
2208
- },
2209
- },
2210
- 0x603 => { #PH/4
2211
- Name => 'ImageQuality2',
2212
- Writable => 'int16u',
2213
- PrintConv => {
2214
- 1 => 'SQ',
2215
- 2 => 'HQ',
2216
- 3 => 'SHQ',
2217
- 4 => 'RAW',
2218
- 5 => 'SQ (5)', # (E-500)
2219
- },
2220
- },
2221
- 0x604 => { #PH
2222
- Name => 'ImageStabilization',
2223
- Writable => 'int32u',
2224
- DataMember => 'ImageStabilization',
2225
- RawConv => '$$self{ImageStabilization} = $val',
2226
- PrintConv => {
2227
- 0 => 'Off',
2228
- 1 => 'On, Mode 1',
2229
- 2 => 'On, Mode 2',
2230
- 3 => 'On, Mode 3',
2231
- 4 => 'On, Mode 4', # (NC, E-P5)
2232
- },
2233
- },
2234
- 0x900 => { #11
2235
- Name => 'ManometerPressure',
2236
- Writable => 'int16u',
2237
- ValueConv => '$val / 10',
2238
- ValueConvInv => '$val * 10',
2239
- PrintConv => '"$val kPa"',
2240
- PrintConvInv => '$val=~s/ ?kPa//i; $val',
2241
- },
2242
- 0x901 => { #PH (u770SW)
2243
- # 2 numbers: 1st looks like meters above sea level, 2nd is usually 3x the 1st (feet?)
2244
- Name => 'ManometerReading',
2245
- Writable => 'int32s',
2246
- Count => 2,
2247
- ValueConv => 'my @a=split(" ",$val); $_ /= 10 foreach @a; "@a"',
2248
- ValueConvInv => 'my @a=split(" ",$val); $_ *= 10 foreach @a; "@a"',
2249
- PrintConv => '$val=~s/(\S+) (\S+)/$1 m, $2 ft/; $val',
2250
- PrintConvInv => '$val=~s/ ?(m|ft)//gi; $val',
2251
- },
2252
- 0x902 => { #11
2253
- Name => 'ExtendedWBDetect',
2254
- Writable => 'int16u',
2255
- PrintConv => \%offOn,
2256
- },
2257
- 0x903 => { #11
2258
- Name => 'LevelGaugeRoll',
2259
- Writable => 'int16u',
2260
- PrintConv => \%offOn,
2261
- },
2262
- 0x904 => { #11
2263
- Name => 'LevelGaugePitch',
2264
- Writable => 'int16u',
2265
- PrintConv => \%offOn,
2266
- },
2267
- 0x908 => { #PH (NC, E-M1)
2268
- Name => 'DateTimeUTC',
2269
- Writable => 'string',
2270
- Groups => { 2 => 'Time' },
2271
- Shift => 'Time',
2272
- PrintConv => '$self->ConvertDateTime($val)',
2273
- PrintConvInv => '$self->InverseDateTime($val,undef,1)',
2274
- },
2275
- );
2276
-
2277
- # Olympus RAW processing IFD (ref 6)
2278
- %Image::ExifTool::Olympus::RawDevelopment = (
2279
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
2280
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
2281
- WRITABLE => 1,
2282
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2283
- 0x000 => { #PH
2284
- Name => 'RawDevVersion',
2285
- Writable => 'undef',
2286
- RawConv => '$val=~s/\0+$//; $val', # (may be null terminated)
2287
- Count => 4,
2288
- },
2289
- 0x100 => { Name => 'RawDevExposureBiasValue', Writable => 'rational64s' },
2290
- 0x101 => { Name => 'RawDevWhiteBalanceValue', Writable => 'int16u' },
2291
- 0x102 => { Name => 'RawDevWBFineAdjustment', Writable => 'int16s' },
2292
- 0x103 => { Name => 'RawDevGrayPoint', Writable => 'int16u', Count => 3 },
2293
- 0x104 => { Name => 'RawDevSaturationEmphasis', Writable => 'int16s', Count => 3 },
2294
- 0x105 => { Name => 'RawDevMemoryColorEmphasis', Writable => 'int16u' },
2295
- 0x106 => { Name => 'RawDevContrastValue', Writable => 'int16s', Count => 3 },
2296
- 0x107 => { Name => 'RawDevSharpnessValue', Writable => 'int16s', Count => 3 },
2297
- 0x108 => {
2298
- Name => 'RawDevColorSpace',
2299
- Writable => 'int16u',
2300
- PrintConv => { #11
2301
- 0 => 'sRGB',
2302
- 1 => 'Adobe RGB',
2303
- 2 => 'Pro Photo RGB',
2304
- },
2305
- },
2306
- 0x109 => {
2307
- Name => 'RawDevEngine',
2308
- Writable => 'int16u',
2309
- PrintConv => { #11
2310
- 0 => 'High Speed',
2311
- 1 => 'High Function',
2312
- 2 => 'Advanced High Speed',
2313
- 3 => 'Advanced High Function',
2314
- },
2315
- },
2316
- 0x10a => {
2317
- Name => 'RawDevNoiseReduction',
2318
- Writable => 'int16u',
2319
- PrintConv => { #11
2320
- BITMASK => {
2321
- 0 => 'Noise Reduction',
2322
- 1 => 'Noise Filter',
2323
- 2 => 'Noise Filter (ISO Boost)',
2324
- },
2325
- },
2326
- },
2327
- 0x10b => {
2328
- Name => 'RawDevEditStatus',
2329
- Writable => 'int16u',
2330
- PrintConv => { #11
2331
- 0 => 'Original',
2332
- 1 => 'Edited (Landscape)',
2333
- 6 => 'Edited (Portrait)',
2334
- 8 => 'Edited (Portrait)',
2335
- },
2336
- },
2337
- 0x10c => {
2338
- Name => 'RawDevSettings',
2339
- Writable => 'int16u',
2340
- PrintConv => { #11
2341
- BITMASK => {
2342
- 0 => 'WB Color Temp',
2343
- 1 => 'WB Gray Point',
2344
- 2 => 'Saturation',
2345
- 3 => 'Contrast',
2346
- 4 => 'Sharpness',
2347
- 5 => 'Color Space',
2348
- 6 => 'High Function',
2349
- 7 => 'Noise Reduction',
2350
- },
2351
- },
2352
- },
2353
- );
2354
-
2355
- # Olympus RAW processing B IFD (ref 11)
2356
- %Image::ExifTool::Olympus::RawDevelopment2 = (
2357
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
2358
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
2359
- WRITABLE => 1,
2360
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2361
- 0x000 => {
2362
- Name => 'RawDevVersion',
2363
- Writable => 'undef',
2364
- RawConv => '$val=~s/\0+$//; $val', # (may be null terminated)
2365
- Count => 4,
2366
- },
2367
- 0x100 => { Name => 'RawDevExposureBiasValue', Writable => 'rational64s' },
2368
- 0x101 => {
2369
- Name => 'RawDevWhiteBalance',
2370
- Writable => 'int16u',
2371
- PrintConv => {
2372
- 1 => 'Color Temperature',
2373
- 2 => 'Gray Point',
2374
- },
2375
- },
2376
- 0x102 => { Name => 'RawDevWhiteBalanceValue', Writable => 'int16u' },
2377
- 0x103 => { Name => 'RawDevWBFineAdjustment', Writable => 'int16s' },
2378
- 0x104 => { Name => 'RawDevGrayPoint', Writable => 'int16u', Count => 3 },
2379
- 0x105 => { Name => 'RawDevContrastValue', Writable => 'int16s', Count => 3 },
2380
- 0x106 => { Name => 'RawDevSharpnessValue', Writable => 'int16s', Count => 3 },
2381
- 0x107 => { Name => 'RawDevSaturationEmphasis', Writable => 'int16s', Count => 3 },
2382
- 0x108 => { Name => 'RawDevMemoryColorEmphasis', Writable => 'int16u' },
2383
- 0x109 => {
2384
- Name => 'RawDevColorSpace',
2385
- Writable => 'int16u',
2386
- PrintConv => {
2387
- 0 => 'sRGB',
2388
- 1 => 'Adobe RGB',
2389
- 2 => 'Pro Photo RGB',
2390
- },
2391
- },
2392
- 0x10a => {
2393
- Name => 'RawDevNoiseReduction',
2394
- Writable => 'int16u',
2395
- PrintConv => {
2396
- BITMASK => {
2397
- 0 => 'Noise Reduction',
2398
- 1 => 'Noise Filter',
2399
- 2 => 'Noise Filter (ISO Boost)',
2400
- },
2401
- },
2402
- },
2403
- 0x10b => {
2404
- Name => 'RawDevEngine',
2405
- Writable => 'int16u',
2406
- PrintConv => {
2407
- 0 => 'High Speed',
2408
- 1 => 'High Function',
2409
- },
2410
- },
2411
- 0x10c => {
2412
- Name => 'RawDevPictureMode',
2413
- Writable => 'int16u',
2414
- PrintConv => {
2415
- 1 => 'Vivid',
2416
- 2 => 'Natural',
2417
- 3 => 'Muted',
2418
- 256 => 'Monotone',
2419
- 512 => 'Sepia',
2420
- },
2421
- },
2422
- 0x10d => { Name => 'RawDevPMSaturation', Writable => 'int16s', Count => 3 },
2423
- 0x10e => { Name => 'RawDevPMContrast', Writable => 'int16s', Count => 3 },
2424
- 0x10f => { Name => 'RawDevPMSharpness', Writable => 'int16s', Count => 3 },
2425
- 0x110 => {
2426
- Name => 'RawDevPM_BWFilter',
2427
- Writable => 'int16u',
2428
- PrintConv => {
2429
- 1 => 'Neutral',
2430
- 2 => 'Yellow',
2431
- 3 => 'Orange',
2432
- 4 => 'Red',
2433
- 5 => 'Green',
2434
- },
2435
- },
2436
- 0x111 => {
2437
- Name => 'RawDevPMPictureTone',
2438
- Writable => 'int16u',
2439
- PrintConv => {
2440
- 1 => 'Neutral',
2441
- 2 => 'Sepia',
2442
- 3 => 'Blue',
2443
- 4 => 'Purple',
2444
- 5 => 'Green',
2445
- },
2446
- },
2447
- 0x112 => { Name => 'RawDevGradation', Writable => 'int16s', Count => 3 },
2448
- 0x113 => { Name => 'RawDevSaturation3', Writable => 'int16s', Count => 3 }, #(NC Count)
2449
- 0x119 => { Name => 'RawDevAutoGradation', Writable => 'int16u', PrintConv => \%offOn },
2450
- 0x120 => { Name => 'RawDevPMNoiseFilter', Writable => 'int16u' }, #(NC format)
2451
- 0x121 => { #PH (E-P5)
2452
- Name => 'RawDevArtFilter',
2453
- Writable => 'int16u',
2454
- Count => 4,
2455
- PrintConvColumns => 2,
2456
- PrintConv => [ \%filters ],
2457
- },
2458
- );
2459
-
2460
- # Olympus Image processing IFD
2461
- %Image::ExifTool::Olympus::ImageProcessing = (
2462
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
2463
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
2464
- WRITABLE => 1,
2465
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2466
- 0x000 => { #PH
2467
- Name => 'ImageProcessingVersion',
2468
- Writable => 'undef',
2469
- RawConv => '$val=~s/\0+$//; $val', # (may be null terminated)
2470
- Count => 4,
2471
- },
2472
- 0x100 => { Name => 'WB_RBLevels', Writable => 'int16u', Count => 2 }, #6
2473
- 0x102 => { Name => 'WB_RBLevels3000K', Writable => 'int16u', Count => 2 }, #11
2474
- 0x103 => { Name => 'WB_RBLevels3300K', Writable => 'int16u', Count => 2 }, #11
2475
- 0x104 => { Name => 'WB_RBLevels3600K', Writable => 'int16u', Count => 2 }, #11
2476
- 0x105 => { Name => 'WB_RBLevels3900K', Writable => 'int16u', Count => 2 }, #11
2477
- 0x106 => { Name => 'WB_RBLevels4000K', Writable => 'int16u', Count => 2 }, #11
2478
- 0x107 => { Name => 'WB_RBLevels4300K', Writable => 'int16u', Count => 2 }, #11
2479
- 0x108 => { Name => 'WB_RBLevels4500K', Writable => 'int16u', Count => 2 }, #11
2480
- 0x109 => { Name => 'WB_RBLevels4800K', Writable => 'int16u', Count => 2 }, #11
2481
- 0x10a => { Name => 'WB_RBLevels5300K', Writable => 'int16u', Count => 2 }, #11
2482
- 0x10b => { Name => 'WB_RBLevels6000K', Writable => 'int16u', Count => 2 }, #11
2483
- 0x10c => { Name => 'WB_RBLevels6600K', Writable => 'int16u', Count => 2 }, #11
2484
- 0x10d => { Name => 'WB_RBLevels7500K', Writable => 'int16u', Count => 2 }, #11
2485
- 0x10e => { Name => 'WB_RBLevelsCWB1', Writable => 'int16u', Count => 2 }, #11
2486
- 0x10f => { Name => 'WB_RBLevelsCWB2', Writable => 'int16u', Count => 2 }, #11
2487
- 0x110 => { Name => 'WB_RBLevelsCWB3', Writable => 'int16u', Count => 2 }, #11
2488
- 0x111 => { Name => 'WB_RBLevelsCWB4', Writable => 'int16u', Count => 2 }, #11
2489
- 0x113 => { Name => 'WB_GLevel3000K', Writable => 'int16u' }, #11
2490
- 0x114 => { Name => 'WB_GLevel3300K', Writable => 'int16u' }, #11
2491
- 0x115 => { Name => 'WB_GLevel3600K', Writable => 'int16u' }, #11
2492
- 0x116 => { Name => 'WB_GLevel3900K', Writable => 'int16u' }, #11
2493
- 0x117 => { Name => 'WB_GLevel4000K', Writable => 'int16u' }, #11
2494
- 0x118 => { Name => 'WB_GLevel4300K', Writable => 'int16u' }, #11
2495
- 0x119 => { Name => 'WB_GLevel4500K', Writable => 'int16u' }, #11
2496
- 0x11a => { Name => 'WB_GLevel4800K', Writable => 'int16u' }, #11
2497
- 0x11b => { Name => 'WB_GLevel5300K', Writable => 'int16u' }, #11
2498
- 0x11c => { Name => 'WB_GLevel6000K', Writable => 'int16u' }, #11
2499
- 0x11d => { Name => 'WB_GLevel6600K', Writable => 'int16u' }, #11
2500
- 0x11e => { Name => 'WB_GLevel7500K', Writable => 'int16u' }, #11
2501
- 0x11f => { Name => 'WB_GLevel', Writable => 'int16u' }, #11
2502
- 0x200 => { #6
2503
- Name => 'ColorMatrix',
2504
- Writable => 'int16u',
2505
- Format => 'int16s',
2506
- Count => 9,
2507
- },
2508
- # color matrices (ref 11):
2509
- # 0x0201-0x020d are sRGB color matrices
2510
- # 0x020e-0x021a are Adobe RGB color matrices
2511
- # 0x021b-0x0227 are ProPhoto RGB color matrices
2512
- # 0x0228 and 0x0229 are ColorMatrix for E-330
2513
- # 0x0250-0x0252 are sRGB color matrices
2514
- # 0x0253-0x0255 are Adobe RGB color matrices
2515
- # 0x0256-0x0258 are ProPhoto RGB color matrices
2516
- 0x300 => { Name => 'Enhancer', Writable => 'int16u' }, #11
2517
- 0x301 => { Name => 'EnhancerValues', Writable => 'int16u', Count => 7 }, #11
2518
- 0x310 => { Name => 'CoringFilter', Writable => 'int16u' }, #11
2519
- 0x311 => { Name => 'CoringValues', Writable => 'int16u', Count => 7 }, #11
2520
- 0x600 => { Name => 'BlackLevel2', Writable => 'int16u', Count => 4 }, #11
2521
- 0x610 => { Name => 'GainBase', Writable => 'int16u' }, #11
2522
- 0x611 => { Name => 'ValidBits', Writable => 'int16u', Count => 2 }, #4/6
2523
- 0x612 => { Name => 'CropLeft', Writable => 'int16u', Count => 2 }, #11
2524
- 0x613 => { Name => 'CropTop', Writable => 'int16u', Count => 2 }, #11
2525
- 0x614 => { Name => 'CropWidth', Writable => 'int32u' }, #PH/11
2526
- 0x615 => { Name => 'CropHeight', Writable => 'int32u' }, #PH/11
2527
- 0x635 => { #PH (data starts with "CMIO\x01\0")
2528
- Name => 'UnknownBlock1',
2529
- Writable => 'undef',
2530
- Notes => 'large unknown data block in ORF images but not JPG images',
2531
- # 'Drop' because too large for APP1 in JPEG images
2532
- Flags => [ 'Unknown', 'Binary', 'Drop' ],
2533
- },
2534
- 0x636 => { #PH (data starts with "CMIO\x01\0")
2535
- Name => 'UnknownBlock2',
2536
- Writable => 'undef',
2537
- Notes => 'large unknown data block in ORF images but not JPG images',
2538
- # 'Drop' because too large for APP1 in JPEG images
2539
- Flags => [ 'Unknown', 'Binary', 'Drop' ],
2540
- },
2541
- # 0x800 LensDistortionParams, float[9] (ref 11)
2542
- # 0x801 LensShadingParams, int16u[16] (ref 11)
2543
- # 0x1010-0x1012 are the processing options used in camera or in
2544
- # Olympus software, which 0x050a-0x050c are in-camera only (ref 6)
2545
- 0x1010 => { #PH/4
2546
- Name => 'NoiseReduction2',
2547
- Writable => 'int16u',
2548
- PrintConv => {
2549
- BITMASK => {
2550
- 0 => 'Noise Reduction',
2551
- 1 => 'Noise Filter',
2552
- 2 => 'Noise Filter (ISO Boost)',
2553
- },
2554
- },
2555
- },
2556
- 0x1011 => { #6
2557
- Name => 'DistortionCorrection2',
2558
- Writable => 'int16u',
2559
- PrintConv => \%offOn,
2560
- },
2561
- 0x1012 => { #PH/4
2562
- Name => 'ShadingCompensation2',
2563
- Writable => 'int16u',
2564
- PrintConv => \%offOn,
2565
- },
2566
- 0x101c => { #11
2567
- Name => 'MultipleExposureMode',
2568
- Writable => 'int16u',
2569
- Count => 2,
2570
- PrintConv => [{
2571
- 0 => 'Off',
2572
- 2 => 'On (2 frames)',
2573
- 3 => 'On (3 frames)',
2574
- }],
2575
- },
2576
- 0x1103 => { #PH
2577
- Name => 'UnknownBlock3',
2578
- Writable => 'undef',
2579
- Notes => 'large unknown data block in ORF images but not JPG images',
2580
- # 'Drop' because too large for APP1 in JPEG images
2581
- Flags => [ 'Unknown', 'Binary', 'Drop' ],
2582
- },
2583
- 0x1104 => { #PH
2584
- Name => 'UnknownBlock4',
2585
- Writable => 'undef',
2586
- Notes => 'large unknown data block in ORF images but not JPG images',
2587
- # 'Drop' because too large for APP1 in JPEG images
2588
- Flags => [ 'Unknown', 'Binary', 'Drop' ],
2589
- },
2590
- 0x1112 => { #11
2591
- Name => 'AspectRatio',
2592
- Writable => 'int8u',
2593
- Count => 2,
2594
- PrintConv => {
2595
- # '0 0' - have seen this with a 16:9 XZ-1 image - PH
2596
- '1 1' => '4:3',
2597
- '1 4' => '1:1', #PH (E-P5 Storyboard effect, does this indicate 4:3 converted to 6:6?)
2598
- '2 2' => '3:2',
2599
- '3 3' => '16:9',
2600
- '4 4' => '6:6',
2601
- '5 5' => '5:4',
2602
- '6 6' => '7:6',
2603
- '7 7' => '6:5',
2604
- '8 8' => '7:5',
2605
- '9 9' => '3:4',
2606
- },
2607
- },
2608
- 0x1113 => { Name => 'AspectFrame', Writable => 'int16u', Count => 4 }, #11
2609
- 0x1200 => { #11/PH
2610
- Name => 'FacesDetected',
2611
- Writable => 'int32u',
2612
- Count => -1,
2613
- Notes => '2 or 3 values',
2614
- },
2615
- 0x1201 => { #11/PH
2616
- Name => 'FaceDetectArea',
2617
- Writable => 'int16s',
2618
- Count => -1, # (varies with model)
2619
- Binary => 1, # (too long)
2620
- Notes => q{
2621
- for models with 2 values in FacesDetected this gives X/Y coordinates in the
2622
- FaceDetectFrame for all 4 corners of the face rectangle. For models with 3
2623
- values in FacesDetected this gives X/Y coordinates, size and rotation angle
2624
- of the face detect square
2625
- },
2626
- },
2627
- 0x1202 => { Name => 'MaxFaces', Writable => 'int32u', Count => 3 }, #PH
2628
- 0x1203 => { #PH
2629
- Name => 'FaceDetectFrameSize',
2630
- Writable => 'int16u',
2631
- Count => 6,
2632
- Notes => 'width/height of the full face detect frame',
2633
- },
2634
- 0x1207 => { #PH
2635
- Name => 'FaceDetectFrameCrop',
2636
- Writable => 'int16s',
2637
- Count => 12,
2638
- Notes => 'X/Y offset and width/height of the cropped face detect frame',
2639
- },
2640
- 0x1306 => { #PH (NC, E-M1)
2641
- Name => 'CameraTemperature',
2642
- Writable => 'int16u',
2643
- Format => 'int16s', #(NC)
2644
- ValueConv => '$val ? $val : undef', # zero for some models (how to differentiate from 0 C?)
2645
- Notes => 'this seems to be in degrees C only for some models',
2646
- },
2647
- );
2648
-
2649
- # Olympus Focus Info IFD
2650
- %Image::ExifTool::Olympus::FocusInfo = (
2651
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
2652
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
2653
- WRITABLE => 1,
2654
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2655
- 0x000 => { #PH
2656
- Name => 'FocusInfoVersion',
2657
- Writable => 'undef',
2658
- RawConv => '$val=~s/\0+$//; $val', # (may be null terminated)
2659
- Count => 4,
2660
- },
2661
- 0x209 => { #PH/4
2662
- Name => 'AutoFocus',
2663
- Writable => 'int16u',
2664
- PrintConv => \%offOn,
2665
- Unknown => 1, #6
2666
- },
2667
- 0x210 => { Name => 'SceneDetect', Writable => 'int16u' }, #11
2668
- 0x211 => { #11
2669
- Name => 'SceneArea',
2670
- Writable => 'int32u',
2671
- Count => 8,
2672
- Unknown => 1, # (numbers don't make much sense?)
2673
- },
2674
- 0x212 => { #11
2675
- Name => 'SceneDetectData',
2676
- Writable => 'int32u',
2677
- Count => 720,
2678
- Binary => 1,
2679
- Unknown => 1, # (but what does it mean?)
2680
- },
2681
- 0x300 => { Name => 'ZoomStepCount', Writable => 'int16u' }, #6
2682
- 0x301 => { Name => 'FocusStepCount', Writable => 'int16u' }, #11
2683
- 0x303 => { Name => 'FocusStepInfinity', Writable => 'int16u' }, #11
2684
- 0x304 => { Name => 'FocusStepNear', Writable => 'int16u' }, #11
2685
- 0x305 => { #4
2686
- Name => 'FocusDistance',
2687
- Writable => 'rational64u',
2688
- # this rational value looks like it is in mm when the denominator is
2689
- # 1 (E-1), and cm when denominator is 10 (E-300), so if we ignore the
2690
- # denominator we are consistently in mm - PH
2691
- Format => 'int32u',
2692
- Count => 2,
2693
- ValueConv => q{
2694
- my ($a,$b) = split ' ',$val;
2695
- return 0 if $a == 0xffffffff;
2696
- return $a / 1000;
2697
- },
2698
- ValueConvInv => q{
2699
- return '4294967295 1' unless $val;
2700
- $val = int($val * 1000 + 0.5);
2701
- return "$val 1";
2702
- },
2703
- PrintConv => '$val ? "$val m" : "inf"',
2704
- PrintConvInv => '$val eq "inf" ? 0 : $val=~s/\s*m$//, $val',
2705
- },
2706
- 0x308 => [ # NEED A BETTER WAY TO DETERMINE WHICH MODELS USE WHICH ENCODING!
2707
- {
2708
- Name => 'AFPoint',
2709
- Condition => '$$self{Model} =~ /E-(3|5|30)\b/',
2710
- Writable => 'int16u',
2711
- PrintHex => 1,
2712
- # decoded by ref 6
2713
- Notes => q{
2714
- for the E-3, E-5 and E-30 the value is separated into 2 parts: low 5 bits
2715
- give AF point, upper bits give AF target selection mode
2716
- },
2717
- ValueConv => '($val & 0x1f) . " " . ($val & 0xffe0)',
2718
- ValueConvInv => 'my @v=split(" ",$val); @v == 2 ? $v[0] + $v[1] : $val',
2719
- PrintConvColumns => 2,
2720
- PrintConv => [
2721
- {
2722
- 0x00 => '(none)',
2723
- 0x01 => 'Top-left (horizontal)',
2724
- 0x02 => 'Top-center (horizontal)',
2725
- 0x03 => 'Top-right (horizontal)',
2726
- 0x04 => 'Left (horizontal)',
2727
- 0x05 => 'Mid-left (horizontal)',
2728
- 0x06 => 'Center (horizontal)',
2729
- 0x07 => 'Mid-right (horizontal)',
2730
- 0x08 => 'Right (horizontal)',
2731
- 0x09 => 'Bottom-left (horizontal)',
2732
- 0x0a => 'Bottom-center (horizontal)',
2733
- 0x0b => 'Bottom-right (horizontal)',
2734
- 0x0c => 'Top-left (vertical)',
2735
- 0x0d => 'Top-center (vertical)',
2736
- 0x0e => 'Top-right (vertical)',
2737
- 0x0f => 'Left (vertical)',
2738
- 0x10 => 'Mid-left (vertical)',
2739
- 0x11 => 'Center (vertical)',
2740
- 0x12 => 'Mid-right (vertical)',
2741
- 0x13 => 'Right (vertical)',
2742
- 0x14 => 'Bottom-left (vertical)',
2743
- 0x15 => 'Bottom-center (vertical)',
2744
- 0x16 => 'Bottom-right (vertical)',
2745
- 0x1f => 'n/a', #PH (NC, E-3)
2746
- },
2747
- {
2748
- 0x00 => 'Single Target',
2749
- 0x40 => 'All Target',
2750
- 0x80 => 'Dynamic Single Target',
2751
- 0xe0 => 'n/a', #PH (NC, E-3)
2752
- }
2753
- ],
2754
- },{ #PH (models with 7-point AF)
2755
- Name => 'AFPoint',
2756
- Condition => '$$self{Model} =~ /E-(520|600|620)\b/',
2757
- Notes => 'models with 7-point AF',
2758
- Writable => 'int16u',
2759
- PrintHex => 1,
2760
- ValueConv => '($val & 0x1f) . " " . ($val & 0xffe0)',
2761
- ValueConvInv => 'my @v=split(" ",$val); @v == 2 ? $v[0] + $v[1] : $val',
2762
- PrintConv => [
2763
- {
2764
- 0x00 => '(none)',
2765
- 0x01 => 'Center',
2766
- # need to fill this in...
2767
- },
2768
- {
2769
- 0x00 => 'Single Target',
2770
- 0x40 => 'All Target', # (guess)
2771
- },
2772
- ]
2773
- },{ #11
2774
- Name => 'AFPoint',
2775
- Writable => 'int16u',
2776
- Notes => 'other models',
2777
- RawConv => '($val or $$self{Model} ne "E-P1") ? $val : undef',
2778
- PrintConv => {
2779
- # (E-P1 always writes 0, maybe other models do too - PH)
2780
- 0 => 'Left (or n/a)',
2781
- 1 => 'Center (horizontal)', #6 (E-510)
2782
- 2 => 'Right',
2783
- 3 => 'Center (vertical)', #6 (E-510)
2784
- 255 => 'None',
2785
- },
2786
- }
2787
- ],
2788
- # 0x31a Continuous AF parameters?
2789
- # 0x328 Related to AF (maybe Imager AF data?) (ref PH, E-PL1):
2790
- # - offset 0x2a (int8u) ImagerAFMode? 0=Manual, 1=Auto
2791
- # - offset 0x30 (int16u) AFAreaXPosition
2792
- # - offset 0x32 (int16u) AFAreaWidth (202)
2793
- # - offset 0x34 (int16u) AFAreaYPosition
2794
- # - offset 0x36 (int16u) AFAreaHeight (50)
2795
- # (AF area positions above give the top-left coordinates of the AF area in the
2796
- # AF frame. Increasing Y is downwards, and the AF frame size is about 1280x256)
2797
- # 0x1200-0x1209 Flash information:
2798
- 0x1201 => { #6
2799
- Name => 'ExternalFlash',
2800
- Writable => 'int16u',
2801
- Count => 2,
2802
- PrintConv => {
2803
- '0 0' => 'Off',
2804
- '1 0' => 'On',
2805
- },
2806
- },
2807
- 0x1203 => { #11
2808
- Name => 'ExternalFlashGuideNumber',
2809
- Writable => 'rational64s',
2810
- Unknown => 1, # (needs verification)
2811
- },
2812
- 0x1204 => { #11(reversed)/7
2813
- Name => 'ExternalFlashBounce',
2814
- Writable => 'int16u',
2815
- PrintConv => {
2816
- 0 => 'Bounce or Off',
2817
- 1 => 'Direct',
2818
- },
2819
- },
2820
- 0x1205 => { Name => 'ExternalFlashZoom', Writable => 'rational64u' }, #11 (ref converts to mm using table)
2821
- 0x1208 => { #6
2822
- Name => 'InternalFlash',
2823
- Writable => 'int16u',
2824
- Count => -1,
2825
- PrintConv => {
2826
- '0' => 'Off',
2827
- '1' => 'On',
2828
- '0 0' => 'Off',
2829
- '1 0' => 'On',
2830
- },
2831
- },
2832
- 0x1209 => { #6
2833
- Name => 'ManualFlash',
2834
- Writable => 'int16u',
2835
- Count => 2,
2836
- Notes => '2 numbers: 1. 0=Off, 1=On, 2. Flash strength',
2837
- PrintConv => q{
2838
- my ($a,$b) = split ' ',$val;
2839
- return 'Off' unless $a;
2840
- $b = ($b == 1) ? 'Full' : "1/$b";
2841
- return "On ($b strength)";
2842
- },
2843
- },
2844
- 0x120a => { #PH
2845
- Name => 'MacroLED',
2846
- Writable => 'int16u',
2847
- PrintConv => \%offOn,
2848
- },
2849
- 0x1500 => [{ #6
2850
- Name => 'SensorTemperature',
2851
- # (Stylus 1 stores values like "34 0 0")
2852
- Condition => '$$self{Model} =~ /E-(1|M5)\b/ || $count != 1',
2853
- Writable => 'int16s',
2854
- PrintConv => '$val=~s/ 0 0$//; "$val C"',
2855
- PrintConvInv => '$val=~s/ ?C$//; $val',
2856
- },{
2857
- Name => 'SensorTemperature',
2858
- Writable => 'int16s',
2859
- RawConv => '($val and $val ne "-32768") ? $val : undef', # ignore 0 and -32768
2860
- # ValueConv => '-2*(($val/135)**2)+55', #11
2861
- ValueConv => '84 - 3 * $val / 26', #http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,5423.0.html
2862
- ValueConvInv => 'int((84 - $val) * 26 / 3 + 0.5)',
2863
- PrintConv => 'sprintf("%.1f C",$val)',
2864
- PrintConvInv => '$val=~s/ ?C$//; $val',
2865
- # data from test shots by Eric Sibert:
2866
- # E-510 E-620
2867
- # Raw Ambient Raw Ambient
2868
- # --- ------- --- -------
2869
- # 534 22.7 518 22.7
2870
- # 550 20.6 531 19.3
2871
- # 552 20.8 533 17.9
2872
- # 558 19.3 582 17.2
2873
- # 564 19.1 621 12.3
2874
- # 567 17.8 634 9.7
2875
- # 576 18.6 650 8.0
2876
- # 582 17.2 660 7.7
2877
- # 599 13.8 703 3.3
2878
- # 631 10.7 880 -20.6
2879
- # 642 12.4 880 -20.6
2880
- # 652 9.6 892 -24.4
2881
- # 692 5.2 892 -22.7
2882
- # 714 3.3
2883
- # 895 -19.8
2884
- # 895 -19.2
2885
- # 900 -21.7
2886
- }],
2887
- 0x1600 => { # ref http://fourthirdsphoto.com/vbb/showpost.php?p=107607&postcount=15
2888
- Name => 'ImageStabilization',
2889
- # (the other value is more reliable, so ignore this totally if the other exists)
2890
- Condition => 'not defined $$self{ImageStabilization}',
2891
- Writable => 'undef',
2892
- # if the first 4 bytes are non-zero, then bit 0x01 of byte 44
2893
- # gives the stabilization mode
2894
- PrintConv => q{
2895
- $val =~ /^\0{4}/ ? 'Off' : 'On, ' .
2896
- (unpack('x44C',$val) & 0x01 ? 'Mode 1' : 'Mode 2')
2897
- },
2898
- },
2899
- # 0x102a same as Subdir4-0x300
2900
- );
2901
-
2902
- # Olympus raw information tags (ref 6)
2903
- %Image::ExifTool::Olympus::RawInfo = (
2904
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
2905
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
2906
- NOTES => 'These tags are found only in ORF images of some models (ie. C8080WZ).',
2907
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2908
- 0x000 => {
2909
- Name => 'RawInfoVersion',
2910
- Writable => 'undef',
2911
- RawConv => '$val=~s/\0+$//; $val', # (may be null terminated)
2912
- Count => 4,
2913
- },
2914
- 0x100 => { Name => 'WB_RBLevelsUsed', Writable => 'int16u', Count => 2 },
2915
- 0x110 => { Name => 'WB_RBLevelsAuto', Writable => 'int16u', Count => 2 },
2916
- 0x120 => { Name => 'WB_RBLevelsShade', Writable => 'int16u', Count => 2 },
2917
- 0x121 => { Name => 'WB_RBLevelsCloudy', Writable => 'int16u', Count => 2 },
2918
- 0x122 => { Name => 'WB_RBLevelsFineWeather', Writable => 'int16u', Count => 2 },
2919
- 0x123 => { Name => 'WB_RBLevelsTungsten', Writable => 'int16u', Count => 2 },
2920
- 0x124 => { Name => 'WB_RBLevelsEveningSunlight',Writable => 'int16u', Count => 2 },
2921
- 0x130 => { Name => 'WB_RBLevelsDaylightFluor', Writable => 'int16u', Count => 2 },
2922
- 0x131 => { Name => 'WB_RBLevelsDayWhiteFluor', Writable => 'int16u', Count => 2 },
2923
- 0x132 => { Name => 'WB_RBLevelsCoolWhiteFluor', Writable => 'int16u', Count => 2 },
2924
- 0x133 => { Name => 'WB_RBLevelsWhiteFluorescent',Writable => 'int16u', Count => 2 },
2925
- 0x200 => {
2926
- Name => 'ColorMatrix2',
2927
- Format => 'int16s',
2928
- Writable => 'int16u',
2929
- Count => 9,
2930
- },
2931
- # 0x240 => 'ColorMatrixDefault', ?
2932
- # 0x250 => 'ColorMatrixSaturation', ?
2933
- # 0x251 => 'ColorMatrixHue', ?
2934
- # 0x252 => 'ColorMatrixContrast', ?
2935
- # 0x300 => sharpness-related
2936
- # 0x301 => list of sharpness-related values
2937
- 0x310 => { Name => 'CoringFilter', Writable => 'int16u' },
2938
- 0x311 => { Name => 'CoringValues', Writable => 'int16u', Count => 11 },
2939
- 0x600 => { Name => 'BlackLevel2', Writable => 'int16u', Count => 4 },
2940
- 0x601 => {
2941
- Name => 'YCbCrCoefficients',
2942
- Notes => 'stored as int16u[6], but extracted as rational32u[3]',
2943
- Format => 'rational32u',
2944
- },
2945
- 0x611 => { Name => 'ValidPixelDepth', Writable => 'int16u', Count => 2 },
2946
- 0x612 => { Name => 'CropLeft', Writable => 'int16u' }, #11
2947
- 0x613 => { Name => 'CropTop', Writable => 'int16u' }, #11
2948
- 0x614 => { Name => 'CropWidth', Writable => 'int32u' },
2949
- 0x615 => { Name => 'CropHeight', Writable => 'int32u' },
2950
- 0x1000 => {
2951
- Name => 'LightSource',
2952
- Writable => 'int16u',
2953
- PrintConv => {
2954
- 0 => 'Unknown',
2955
- 16 => 'Shade',
2956
- 17 => 'Cloudy',
2957
- 18 => 'Fine Weather',
2958
- 20 => 'Tungsten (Incandescent)',
2959
- 22 => 'Evening Sunlight',
2960
- 33 => 'Daylight Fluorescent',
2961
- 34 => 'Day White Fluorescent',
2962
- 35 => 'Cool White Fluorescent',
2963
- 36 => 'White Fluorescent',
2964
- 256 => 'One Touch White Balance',
2965
- 512 => 'Custom 1-4',
2966
- },
2967
- },
2968
- # the following 5 tags all have 3 values: val, min, max
2969
- 0x1001 => { Name => 'WhiteBalanceComp', Writable => 'int16s', Count => 3 },
2970
- 0x1010 => { Name => 'SaturationSetting', Writable => 'int16s', Count => 3 },
2971
- 0x1011 => { Name => 'HueSetting', Writable => 'int16s', Count => 3 },
2972
- 0x1012 => { Name => 'ContrastSetting', Writable => 'int16s', Count => 3 },
2973
- 0x1013 => { Name => 'SharpnessSetting', Writable => 'int16s', Count => 3 },
2974
- # settings written by Camedia Master 4.x
2975
- 0x2000 => { Name => 'CMExposureCompensation', Writable => 'rational64s' },
2976
- 0x2001 => { Name => 'CMWhiteBalance', Writable => 'int16u' },
2977
- 0x2002 => { Name => 'CMWhiteBalanceComp', Writable => 'int16s' },
2978
- 0x2010 => { Name => 'CMWhiteBalanceGrayPoint', Writable => 'int16u', Count => 3 },
2979
- 0x2020 => { Name => 'CMSaturation', Writable => 'int16s', Count => 3 },
2980
- 0x2021 => { Name => 'CMHue', Writable => 'int16s', Count => 3 },
2981
- 0x2022 => { Name => 'CMContrast', Writable => 'int16s', Count => 3 },
2982
- 0x2023 => { Name => 'CMSharpness', Writable => 'int16s', Count => 3 },
2983
- );
2984
-
2985
- # Olympus unknown information tags
2986
- %Image::ExifTool::Olympus::UnknownInfo = (
2987
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
2988
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
2989
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2990
- );
2991
-
2992
- # Tags found only in some FE models
2993
- %Image::ExifTool::Olympus::FETags = (
2994
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
2995
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
2996
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
2997
- NOTES => q{
2998
- Some FE models write a large number of tags here, but most of this
2999
- information remains unknown.
3000
- },
3001
- 0x0100 => {
3002
- Name => 'BodyFirmwareVersion',
3003
- Writable => 'string',
3004
- },
3005
- );
3006
-
3007
- # tags in Olympus QuickTime videos (ref PH)
3008
- # (similar information in Kodak,Minolta,Nikon,Olympus,Pentax and Sanyo videos)
3009
- %Image::ExifTool::Olympus::MOV1 = (
3010
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3011
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3012
- FIRST_ENTRY => 0,
3013
- NOTES => q{
3014
- This information is found in MOV videos from Olympus models such as the
3015
- D540Z, D595Z, FE100, FE110, FE115, FE170 and FE200.
3016
- },
3017
- 0x00 => {
3018
- Name => 'Make',
3019
- Format => 'string[24]',
3020
- },
3021
- 0x18 => {
3022
- Name => 'Model',
3023
- Description => 'Camera Model Name',
3024
- Format => 'string[8]',
3025
- SeparateTable => 'CameraType',
3026
- PrintConv => \%olympusCameraTypes,
3027
- },
3028
- # (01 00 at offset 0x20)
3029
- 0x26 => {
3030
- Name => 'ExposureUnknown',
3031
- Unknown => 1,
3032
- Format => 'int32u',
3033
- # this conversion doesn't work for all models (ie. gives "1/100000")
3034
- ValueConv => '$val ? 10 / $val : 0',
3035
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
3036
- },
3037
- 0x2a => {
3038
- Name => 'FNumber',
3039
- Format => 'rational64u',
3040
- PrintConv => 'sprintf("%.1f",$val)',
3041
- },
3042
- 0x32 => { #(NC)
3043
- Name => 'ExposureCompensation',
3044
- Format => 'rational64s',
3045
- PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)',
3046
- },
3047
- # 0x44 => WhiteBalance ?
3048
- 0x48 => {
3049
- Name => 'FocalLength',
3050
- Format => 'rational64u',
3051
- PrintConv => 'sprintf("%.1f mm",$val)',
3052
- },
3053
- # 0xb1 => 'ISO', #(I don't think this works - PH)
3054
- );
3055
-
3056
- # tags in Olympus QuickTime videos (ref PH)
3057
- # (similar information in Kodak,Minolta,Nikon,Olympus,Pentax and Sanyo videos)
3058
- %Image::ExifTool::Olympus::MOV2 = (
3059
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3060
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3061
- FIRST_ENTRY => 0,
3062
- NOTES => q{
3063
- This information is found in MOV videos from Olympus models such as the
3064
- FE120, FE140 and FE190.
3065
- },
3066
- 0x00 => {
3067
- Name => 'Make',
3068
- Format => 'string[24]',
3069
- },
3070
- 0x18 => {
3071
- Name => 'Model',
3072
- Description => 'Camera Model Name',
3073
- Format => 'string[24]',
3074
- Notes => 'the actual model name, no decoding necessary',
3075
- },
3076
- # (01 00 at offset 0x30)
3077
- 0x36 => {
3078
- Name => 'ExposureTime',
3079
- Format => 'int32u',
3080
- ValueConv => '$val ? 10 / $val : 0',
3081
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
3082
- },
3083
- 0x3a => {
3084
- Name => 'FNumber',
3085
- Format => 'rational64u',
3086
- PrintConv => 'sprintf("%.1f",$val)',
3087
- },
3088
- 0x42 => { #(NC)
3089
- Name => 'ExposureCompensation',
3090
- Format => 'rational64s',
3091
- PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)',
3092
- },
3093
- 0x58 => {
3094
- Name => 'FocalLength',
3095
- Format => 'rational64u',
3096
- PrintConv => 'sprintf("%.1f mm",$val)',
3097
- },
3098
- 0xc1 => {
3099
- Name => 'ISO',
3100
- Format => 'int16u',
3101
- },
3102
- );
3103
-
3104
- # tags in Olympus MP4 videos (ref PH)
3105
- %Image::ExifTool::Olympus::MP4 = (
3106
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3107
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3108
- FIRST_ENTRY => 0,
3109
- NOTES => q{
3110
- This information is found in MP4 videos from Olympus models such as the
3111
- u7040 and u9010.
3112
- },
3113
- 0x00 => {
3114
- Name => 'Make',
3115
- Format => 'string[24]',
3116
- },
3117
- 0x18 => {
3118
- Name => 'Model',
3119
- Description => 'Camera Model Name',
3120
- Format => 'string[24]',
3121
- Notes => 'oddly different than CameraType values in JPEG images by the same camera',
3122
- PrintConv => {
3123
- SG472 => 'u7040,S7040',
3124
- SG473 => 'u9010,S9010',
3125
- SG475 => 'SP800UZ',
3126
- SG551 => 'SZ-30MR',
3127
- SG553 => 'SP-610UZ',
3128
- SG554 => 'SZ-10',
3129
- SG555 => 'SZ-20',
3130
- SG573 => 'SZ-14',
3131
- SG575 => 'SP-620UZ',
3132
- },
3133
- },
3134
- 0x28 => {
3135
- Name => 'FNumber',
3136
- Format => 'rational64u',
3137
- PrintConv => 'sprintf("%.1f",$val)',
3138
- },
3139
- 0x30 => { #(NC)
3140
- Name => 'ExposureCompensation',
3141
- Format => 'rational64s',
3142
- PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)',
3143
- },
3144
- # 0x38 - int32u: 3
3145
- # 0x3c - int32u: 1
3146
- # 0x40 - int16u: 5
3147
- # 0x42 - int16u: 0,4,9
3148
- # 0x64 - int32u: 0,6000,12000
3149
- # 0x48 - int32u: 100 (ISO?)
3150
- 0x68 => {
3151
- Name => 'MovableInfo',
3152
- Condition => '$$valPt =~ /^DIGI/',
3153
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::MovableInfo' },
3154
- },
3155
- 0x72 => {
3156
- Name => 'MovableInfo',
3157
- Condition => '$$valPt =~ /^DIGI/',
3158
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::MovableInfo' },
3159
- },
3160
- );
3161
-
3162
- # yet a different QuickTime TAGS format (PH, E-M5)
3163
- %Image::ExifTool::Olympus::MOV3 = (
3164
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3165
- NOTES => 'QuickTime information found in the TAGS atom of MOV videos from the E-M5.',
3166
- OLYM => {
3167
- Name => 'OlympusAtom',
3168
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::OLYM2' },
3169
- },
3170
- );
3171
-
3172
- # yet a different QuickTime OLYM atom format (PH, E-M5)
3173
- %Image::ExifTool::Olympus::OLYM2 = (
3174
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3175
- prms => {
3176
- Name => 'MakerNotes',
3177
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::prms' },
3178
- },
3179
- thmb =>{
3180
- Name => 'ThumbInfo',
3181
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::thmb2' },
3182
- },
3183
- scrn =>{
3184
- Name => 'PreviewInfo',
3185
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::scrn2' },
3186
- },
3187
- );
3188
-
3189
- # the "prms" atom in E-M5 MOV videos (PH, E-M5)
3190
- %Image::ExifTool::Olympus::prms = (
3191
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3192
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3193
- FIRST_ENTRY => 0,
3194
- NOTES => q{
3195
- Information extracted from the "prms" atom in MOV videos from Olympus models
3196
- such as the OM E-M5.
3197
- },
3198
- 0x12 => {
3199
- Name => 'Make',
3200
- Format => 'string[24]',
3201
- },
3202
- 0x2c => {
3203
- Name => 'Model',
3204
- Description => 'Camera Model Name',
3205
- Format => 'string[24]',
3206
- SeparateTable => 'CameraType',
3207
- PrintConv => \%olympusCameraTypes,
3208
- },
3209
- 0x83 => {
3210
- Name => 'DateTime1',
3211
- Format => 'string[24]',
3212
- Groups => { 2 => 'Time' },
3213
- },
3214
- 0x9d => {
3215
- Name => 'DateTime2',
3216
- Format => 'string[24]',
3217
- Groups => { 2 => 'Time' },
3218
- },
3219
- );
3220
-
3221
- # yet a different "thmb" atom format (PH, E-M5)
3222
- %Image::ExifTool::Olympus::thmb2 = (
3223
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3224
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3225
- 0 => {
3226
- Name => 'ThumbnailWidth',
3227
- Format => 'int16u',
3228
- },
3229
- 2 => {
3230
- Name => 'ThumbnailHeight',
3231
- Format => 'int16u',
3232
- },
3233
- 4 => {
3234
- Name => 'ThumbnailLength',
3235
- Format => 'int32u',
3236
- },
3237
- 8 => {
3238
- Name => 'ThumbnailImage',
3239
- Format => 'undef[$val{4}]',
3240
- Notes => '160x120 JPEG thumbnail image',
3241
- RawConv => '$self->ValidateImage(\$val,$tag)',
3242
- },
3243
- );
3244
-
3245
- # yet a different "scrn" atom format (PH, E-M5)
3246
- %Image::ExifTool::Olympus::scrn2 = (
3247
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3248
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3249
- # 0 => int16u: 1 - number of preview images?
3250
- 2 => {
3251
- Name => 'OlympusPreview',
3252
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::scrn' },
3253
- },
3254
- );
3255
-
3256
- # movable information found in MP4 videos
3257
- %Image::ExifTool::Olympus::MovableInfo = (
3258
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3259
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3260
- FIRST_ENTRY => 0,
3261
- 0x04 => { #(NC)
3262
- Name => 'ISO',
3263
- Format => 'int32u',
3264
- },
3265
- 0x2c => {
3266
- Name => 'EncoderVersion',
3267
- Format => 'string[16]',
3268
- },
3269
- 0x3c => {
3270
- Name => 'DecoderVersion',
3271
- Format => 'string[16]',
3272
- },
3273
- 0x83 => {
3274
- Name => 'Thumbnail',
3275
- SubDirectory => {
3276
- TagTable => 'Image::ExifTool::Olympus::Thumbnail',
3277
- Base => '$start', # (use a separate table because of this)
3278
- },
3279
- },
3280
- );
3281
-
3282
- # thumbnail image information found in MP4 videos (similar in Olympus,Samsung,Sanyo) (ref PH)
3283
- %Image::ExifTool::Olympus::Thumbnail = (
3284
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3285
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3286
- FIRST_ENTRY => 0,
3287
- FORMAT => 'int32u',
3288
- 1 => 'ThumbnailWidth',
3289
- 2 => 'ThumbnailHeight',
3290
- 3 => 'ThumbnailLength',
3291
- 4 => { Name => 'ThumbnailOffset', IsOffset => 1 },
3292
- );
3293
-
3294
- # thumbnail information found in 'thmb' atom of MP4 videos from the TG-810 (ref PH)
3295
- %Image::ExifTool::Olympus::thmb = (
3296
- NOTES => 'Information extracted from the "thmb" atom of Olympus MP4 videos.',
3297
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3298
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3299
- 0 => {
3300
- Name => 'ThumbnailLength',
3301
- Format => 'int32u',
3302
- },
3303
- 4 => {
3304
- Name => 'ThumbnailImage',
3305
- Format => 'undef[$val{0}]',
3306
- Notes => '160x120 JPEG thumbnail image',
3307
- RawConv => '$self->ValidateImage(\$val,$tag)',
3308
- },
3309
- );
3310
-
3311
- # thumbnail information found in 'scrn' atom of MP4 videos from the TG-810 (ref PH)
3312
- %Image::ExifTool::Olympus::scrn = (
3313
- NOTES => 'Information extracted from the "scrn" atom of Olympus MP4 videos.',
3314
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3315
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3316
- 0 => {
3317
- Name => 'PreviewImageLength',
3318
- Format => 'int32u',
3319
- },
3320
- 4 => {
3321
- Name => 'PreviewImage',
3322
- Format => 'undef[$val{0}]',
3323
- Notes => '640x480 JPEG preview image',
3324
- RawConv => '$self->ValidateImage(\$val,$tag)',
3325
- },
3326
- );
3327
-
3328
- # information in OLYM atom of MP4 videos from the TG-810 (ref PH)
3329
- %Image::ExifTool::Olympus::OLYM = (
3330
- NOTES => 'Tags found in the OLYM atom of MP4 videos from the TG-810.',
3331
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3332
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3333
- 0x0e => {
3334
- Name => 'Make',
3335
- Format => 'string[26]',
3336
- },
3337
- 0x28 => {
3338
- Name => 'Model',
3339
- Description => 'Camera Model Name',
3340
- Format => 'string[24]',
3341
- SeparateTable => 'CameraType',
3342
- PrintConv => \%olympusCameraTypes,
3343
- },
3344
- 0x5a => {
3345
- Name => 'FNumber',
3346
- Format => 'rational64u',
3347
- PrintConv => 'sprintf("%.1f",$val)',
3348
- },
3349
- 0x7f => {
3350
- Name => 'DateTimeOriginal', #(NC)
3351
- Format => 'string[24]',
3352
- Groups => { 2 => 'Time' },
3353
- PrintConv => '$self->ConvertDateTime($val)',
3354
- },
3355
- 0x99 => {
3356
- Name => 'DateTime2',
3357
- Format => 'string[24]',
3358
- Groups => { 2 => 'Time' },
3359
- },
3360
- 0x109 => {
3361
- Name => 'ThumbnailWidth',
3362
- Format => 'int16u',
3363
- },
3364
- 0x10b => {
3365
- Name => 'ThumbnailHeight',
3366
- Format => 'int16u',
3367
- },
3368
- );
3369
-
3370
- # tags in Olympus AVI videos (ref PH)
3371
- # (very similar to Pentax::Junk2 tags)
3372
- %Image::ExifTool::Olympus::AVI = (
3373
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3374
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
3375
- FIRST_ENTRY => 0,
3376
- NOTES => 'This information is found in Olympus AVI videos.',
3377
- 0x12 => {
3378
- Name => 'Make',
3379
- Format => 'string[24]',
3380
- },
3381
- 0x2c => {
3382
- Name => 'Model',
3383
- Description => 'Camera Model Name',
3384
- Format => 'string[24]',
3385
- SeparateTable => 'CameraType',
3386
- PrintConv => \%olympusCameraTypes,
3387
- },
3388
- 0x5e => {
3389
- Name => 'FNumber',
3390
- Format => 'rational64u',
3391
- PrintConv => 'sprintf("%.1f",$val)',
3392
- },
3393
- 0x83 => {
3394
- Name => 'DateTime1',
3395
- Format => 'string[24]',
3396
- Groups => { 2 => 'Time' },
3397
- },
3398
- 0x9d => {
3399
- Name => 'DateTime2',
3400
- Format => 'string[24]',
3401
- Groups => { 2 => 'Time' },
3402
- },
3403
- 0x129 => {
3404
- Name => 'ThumbInfo',
3405
- SubDirectory => { TagTable => 'Image::ExifTool::Olympus::thmb2' },
3406
- },
3407
- );
3408
-
3409
- # tags in WAV files from Olympus PCM linear recorders (ref 18)
3410
- %Image::ExifTool::Olympus::WAV = (
3411
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
3412
- GROUPS => { 0 => 'MakerNotes', 2 => 'Audio' },
3413
- FIRST_ENTRY => 0,
3414
- NOTES => q{
3415
- This information is found in WAV files from Olympus PCM linear recorders
3416
- like the LS-5, LS-10, LS-11.
3417
- },
3418
- 0x0c => {
3419
- Name => 'Model',
3420
- Description => 'Camera Model Name',
3421
- Format => 'string[16]',
3422
- },
3423
- 0x1c => {
3424
- Name => 'FileNumber',
3425
- Format => 'int32u',
3426
- PrintConv => 'sprintf("%.4d", $val)',
3427
- },
3428
- 0x26 => {
3429
- Name => 'DateTimeOriginal',
3430
- Description => 'Date/Time Original',
3431
- Groups => { 2 => 'Time' },
3432
- Format => 'undef[12]',
3433
- Notes => 'time at start of recording',
3434
- ValueConv => q{
3435
- return undef unless $val =~ /^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;
3436
- my $y = $1 < 70 ? "20$1" : "19$1";
3437
- return "$y:$2:$3 $4:$5:$6";
3438
- },
3439
- PrintConv => '$self->ConvertDateTime($val)',
3440
- },
3441
- 0x32 => {
3442
- Name => 'DateTimeEnd',
3443
- Groups => { 2 => 'Time' },
3444
- Format => 'undef[12]',
3445
- Notes => 'time at end of recording',
3446
- ValueConv => q{
3447
- return undef unless $val =~ /^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;
3448
- my $y = $1 < 70 ? "20$1" : "19$1";
3449
- return "$y:$2:$3 $4:$5:$6";
3450
- },
3451
- PrintConv => '$self->ConvertDateTime($val)',
3452
- },
3453
- 0x3e => {
3454
- Name => 'RecordingTime',
3455
- Format => 'undef[6]',
3456
- ValueConv => '$val =~ s/^(\d{2})(\d{2})/$1:$2:/; $val',
3457
- },
3458
- 0x200 => {
3459
- Name => 'Duration',
3460
- Format => 'int32u',
3461
- ValueConv => '$val / 1000',
3462
- PrintConv => 'ConvertDuration($val)',
3463
- },
3464
- 0x20a => { Name => 'Index01', %indexInfo },
3465
- 0x214 => { Name => 'Index02', %indexInfo },
3466
- 0x21e => { Name => 'Index03', %indexInfo },
3467
- 0x228 => { Name => 'Index04', %indexInfo },
3468
- 0x232 => { Name => 'Index05', %indexInfo },
3469
- 0x23c => { Name => 'Index06', %indexInfo },
3470
- 0x246 => { Name => 'Index07', %indexInfo },
3471
- 0x250 => { Name => 'Index08', %indexInfo },
3472
- 0x25a => { Name => 'Index09', %indexInfo },
3473
- 0x264 => { Name => 'Index10', %indexInfo },
3474
- 0x26e => { Name => 'Index11', %indexInfo },
3475
- 0x278 => { Name => 'Index12', %indexInfo },
3476
- 0x282 => { Name => 'Index13', %indexInfo },
3477
- 0x28c => { Name => 'Index14', %indexInfo },
3478
- 0x296 => { Name => 'Index15', %indexInfo },
3479
- 0x2a0 => { Name => 'Index16', %indexInfo },
3480
- );
3481
-
3482
- # Olympus composite tags
3483
- %Image::ExifTool::Olympus::Composite = (
3484
- GROUPS => { 2 => 'Camera' },
3485
- ExtenderStatus => {
3486
- Notes => q{
3487
- Olympus cameras have the quirk that they may retain the extender settings
3488
- after the extender is removed until the camera is powered off. This tag is
3489
- an attempt to represent the actual status of the extender.
3490
- },
3491
- Require => {
3492
- 0 => 'Olympus:Extender',
3493
- 1 => 'Olympus:LensType',
3494
- 2 => 'MaxApertureValue',
3495
- },
3496
- ValueConv => 'Image::ExifTool::Olympus::ExtenderStatus($val[0],$prt[1],$val[2])',
3497
- PrintConv => {
3498
- 0 => 'Not attached',
3499
- 1 => 'Attached',
3500
- 2 => 'Removed',
3501
- },
3502
- },
3503
- ZoomedPreviewImage => {
3504
- Require => {
3505
- 0 => 'ZoomedPreviewStart',
3506
- 1 => 'ZoomedPreviewLength',
3507
- },
3508
- RawConv => 'Image::ExifTool::Exif::ExtractImage($self,$val[0],$val[1],"ZoomedPreviewImage")',
3509
- },
3510
- );
3511
-
3512
- # add our composite tags
3513
- Image::ExifTool::AddCompositeTags('Image::ExifTool::Olympus');
3514
-
3515
-
3516
- #------------------------------------------------------------------------------
3517
- # Determine if the extender (EX-25/EC-14) was really attached (ref 9)
3518
- # Inputs: 0) Extender, 1) LensType string, 2) MaxApertureAtMaxFocal
3519
- # Returns: 0=not attached, 1=attached, 2=could have been removed
3520
- # Notes: Olympus has a bug in the in-camera firmware which results in the
3521
- # extender information being cached and written into the EXIF data even after
3522
- # the extender has been removed. You must power cycle the camera to prevent it
3523
- # from writing the cached extender information into the EXIF data.
3524
- sub ExtenderStatus($$$)
3525
- {
3526
- my ($extender, $lensType, $maxAperture) = @_;
3527
- my @info = split ' ', $extender;
3528
- # validate that extender identifier is reasonable
3529
- return 0 unless @info >= 2 and hex($info[1]);
3530
- # if it's not an EC-14 (id '0 04') then assume it was really attached
3531
- # (other extenders don't seem to affect the reported max aperture)
3532
- return 1 if "$info[0] $info[1]" ne '0 04';
3533
- # get the maximum aperture for this lens (in $1)
3534
- $lensType =~ / F(\d+(\.\d+)?)/ or return 1;
3535
- # If the maximum aperture at the maximum focal length is greater than the
3536
- # known max/max aperture of the lens, then the extender must be attached
3537
- return ($maxAperture - $1 > 0.2) ? 1 : 2;
3538
- }
3539
-
3540
- #------------------------------------------------------------------------------
3541
- # Print AF points
3542
- # Inputs: 0) AF point data (string of integers)
3543
- # Notes: I'm just guessing that the 2nd and 4th bytes are the Y coordinates,
3544
- # and that more AF points will show up in the future (derived from E-1 images,
3545
- # and the E-1 uses just one of 3 possible AF points, all centered in Y) - PH
3546
- sub PrintAFAreas($)
3547
- {
3548
- my $val = shift;
3549
- my @points = split ' ', $val;
3550
- my %afPointNames = (
3551
- 0x36794285 => 'Left',
3552
- 0x79798585 => 'Center',
3553
- 0xBD79C985 => 'Right',
3554
- );
3555
- $val = '';
3556
- my $pt;
3557
- foreach $pt (@points) {
3558
- next unless $pt;
3559
- $val and $val .= ', ';
3560
- $afPointNames{$pt} and $val .= $afPointNames{$pt} . ' ';
3561
- my @coords = unpack('C4',pack('N',$pt));
3562
- $val .= "($coords[0],$coords[1])-($coords[2],$coords[3])";
3563
- }
3564
- $val or $val = 'none';
3565
- return $val;
3566
- }
3567
-
3568
- #------------------------------------------------------------------------------
3569
- # Process ORF file
3570
- # Inputs: 0) ExifTool object reference, 1) directory information reference
3571
- # Returns: 1 if this looked like a valid ORF file, 0 otherwise
3572
- sub ProcessORF($$)
3573
- {
3574
- my ($et, $dirInfo) = @_;
3575
- return $et->ProcessTIFF($dirInfo);
3576
- }
3577
-
3578
- 1; # end
3579
-
3580
- __END__
3581
-
3582
- =head1 NAME
3583
-
3584
- Image::ExifTool::Olympus - Olympus/Epson maker notes tags
3585
-
3586
- =head1 SYNOPSIS
3587
-
3588
- This module is loaded automatically by Image::ExifTool when required.
3589
-
3590
- =head1 DESCRIPTION
3591
-
3592
- This module contains definitions required by Image::ExifTool to interpret
3593
- Olympus or Epson maker notes in EXIF information.
3594
-
3595
- =head1 AUTHOR
3596
-
3597
- Copyright 2003-2013, Phil Harvey (phil at owl.phy.queensu.ca)
3598
-
3599
- This library is free software; you can redistribute it and/or modify it
3600
- under the same terms as Perl itself.
3601
-
3602
- =head1 REFERENCES
3603
-
3604
- =over 4
3605
-
3606
- =item L<http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html>
3607
-
3608
- =item L<http://www.cybercom.net/~dcoffin/dcraw/>
3609
-
3610
- =item L<http://www.ozhiker.com/electronics/pjmt/jpeg_info/olympus_mn.html>
3611
-
3612
- =item L<http://olypedia.de/Olympus_Makernotes>
3613
-
3614
- =back
3615
-
3616
- =head1 ACKNOWLEDGEMENTS
3617
-
3618
- Thanks to Markku Hanninen, Remi Guyomarch, Frank Ledwon, Michael Meissner,
3619
- Mark Dapoz, Ioannis Panagiotopoulos and Tomasz Kawecki for their help
3620
- figuring out some Olympus tags, and Lilo Huang, Chris Shaw and Viktor
3621
- Lushnikov for adding to the LensType list.
3622
-
3623
- =head1 SEE ALSO
3624
-
3625
- L<Image::ExifTool::TagNames/Olympus Tags>,
3626
- L<Image::ExifTool(3pm)|Image::ExifTool>
3627
-
3628
- =cut