exiftool_vendored 9.37.0 → 9.41.0

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

Potentially problematic release.


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

Files changed (889) hide show
  1. checksums.yaml +6 -14
  2. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/Changes +74 -0
  3. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/MANIFEST +14 -0
  4. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/META.yml +1 -1
  5. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/Makefile.PL +0 -0
  6. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/README +30 -30
  7. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/exif2iptc.args +0 -0
  8. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/exif2xmp.args +0 -0
  9. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/gps2xmp.args +0 -0
  10. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptc2exif.args +0 -0
  11. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptc2xmp.args +0 -0
  12. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptcCore.args +0 -0
  13. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/pdf2xmp.args +0 -0
  14. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2exif.args +0 -0
  15. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2gps.args +0 -0
  16. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2iptc.args +0 -0
  17. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2pdf.args +0 -0
  18. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/config_files/ExifTool_config +0 -0
  19. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/config_files/convert_regions.config +0 -0
  20. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/exiftool +266 -226
  21. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/gpx.fmt +0 -0
  22. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/gpx_wpt.fmt +0 -0
  23. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/kml.fmt +0 -0
  24. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/ExifTool.html +79 -54
  25. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/MIE1.1-20070121.pdf +0 -0
  26. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/Shift.html +0 -0
  27. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/AFCP.html +0 -0
  28. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/AIFF.html +0 -0
  29. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/APE.html +0 -0
  30. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/APP12.html +0 -0
  31. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ASF.html +0 -0
  32. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Apple.html +11 -8
  33. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/BMP.html +0 -0
  34. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Canon.html +138 -14
  35. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonCustom.html +0 -0
  36. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonRaw.html +0 -0
  37. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonVRD.html +0 -0
  38. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Casio.html +0 -0
  39. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Composite.html +19 -13
  40. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DICOM.html +0 -0
  41. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DNG.html +0 -0
  42. data/bin/Image-ExifTool-9.41/html/TagNames/DPX.html +190 -0
  43. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DV.html +0 -0
  44. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DarwinCore.html +0 -0
  45. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DjVu.html +0 -0
  46. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/EXE.html +0 -0
  47. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/EXIF.html +0 -0
  48. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Extra.html +13 -6
  49. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FLAC.html +0 -0
  50. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FLIR.html +166 -2
  51. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Flash.html +0 -0
  52. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FlashPix.html +0 -0
  53. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Font.html +0 -0
  54. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FotoStation.html +0 -0
  55. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FujiFilm.html +11 -1
  56. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GE.html +0 -0
  57. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GIF.html +0 -0
  58. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GIMP.html +0 -0
  59. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GPS.html +0 -0
  60. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GeoTiff.html +0 -0
  61. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/H264.html +0 -0
  62. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/HP.html +0 -0
  63. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/HTML.html +0 -0
  64. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ICC_Profile.html +0 -0
  65. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ID3.html +0 -0
  66. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/IPTC.html +3 -3
  67. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ITC.html +0 -0
  68. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JFIF.html +0 -0
  69. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JPEG.html +6 -4
  70. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JVC.html +0 -0
  71. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Jpeg2000.html +0 -0
  72. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Kodak.html +0 -0
  73. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/KyoceraRaw.html +0 -0
  74. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/LNK.html +0 -0
  75. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Leaf.html +0 -0
  76. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/M2TS.html +0 -0
  77. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MIE.html +0 -0
  78. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MIFF.html +0 -0
  79. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MNG.html +0 -0
  80. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPC.html +0 -0
  81. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPEG.html +0 -0
  82. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPF.html +0 -0
  83. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MWG.html +0 -0
  84. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MXF.html +0 -0
  85. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Matroska.html +0 -0
  86. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Microsoft.html +0 -0
  87. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Minolta.html +30 -19
  88. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MinoltaRaw.html +0 -0
  89. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Nikon.html +81 -60
  90. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/NikonCapture.html +0 -0
  91. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/NikonCustom.html +0 -0
  92. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/OOXML.html +0 -0
  93. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Ogg.html +0 -0
  94. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Olympus.html +0 -0
  95. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/OpenEXR.html +0 -0
  96. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PDF.html +6 -6
  97. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PGF.html +0 -0
  98. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PICT.html +0 -0
  99. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PLIST.html +0 -0
  100. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PNG.html +25 -18
  101. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PSP.html +0 -0
  102. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Panasonic.html +51 -14
  103. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PanasonicRaw.html +0 -0
  104. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Pentax.html +23 -6
  105. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhaseOne.html +0 -0
  106. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhotoCD.html +0 -0
  107. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhotoMechanic.html +0 -0
  108. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Photoshop.html +0 -0
  109. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PostScript.html +0 -0
  110. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PrintIM.html +0 -0
  111. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Qualcomm.html +0 -0
  112. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/QuickTime.html +404 -126
  113. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RIFF.html +19 -13
  114. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RSRC.html +0 -0
  115. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RTF.html +0 -0
  116. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Radiance.html +0 -0
  117. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Rawzor.html +0 -0
  118. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Real.html +0 -0
  119. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Reconyx.html +0 -0
  120. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Ricoh.html +0 -0
  121. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Samsung.html +27 -1
  122. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sanyo.html +0 -0
  123. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Scalado.html +0 -0
  124. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Shortcuts.html +0 -0
  125. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sigma.html +0 -0
  126. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/SigmaRaw.html +0 -0
  127. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sony.html +491 -121
  128. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/SonyIDC.html +0 -0
  129. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Stim.html +0 -0
  130. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Theora.html +0 -0
  131. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Torrent.html +0 -0
  132. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Unknown.html +0 -0
  133. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Vorbis.html +0 -0
  134. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/XMP.html +824 -175
  135. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ZIP.html +0 -0
  136. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/iWork.html +0 -0
  137. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/index.html +7 -5
  138. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/style.css +0 -0
  139. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/ancient_history.html +201 -0
  140. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/canon_raw.html +0 -0
  141. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/commentary.html +0 -0
  142. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/config.html +0 -0
  143. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/data_members.html +9 -0
  144. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/exiftool_pod.html +92 -71
  145. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/faq.html +0 -0
  146. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/filename.html +0 -0
  147. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/geotag.html +13 -9
  148. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/history.html +82 -201
  149. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/htmldump.html +0 -0
  150. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/idiosyncracies.html +4 -2
  151. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/index.html +46 -35
  152. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/install.html +0 -0
  153. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/metafiles.html +0 -0
  154. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/overview.png +0 -0
  155. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/standards.html +0 -0
  156. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/struct.html +0 -0
  157. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/style.css +0 -0
  158. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/under.html +0 -0
  159. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/verbose.html +0 -0
  160. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/writing.html +0 -0
  161. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/File/RandomAccess.pm +0 -0
  162. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/File/RandomAccess.pod +0 -0
  163. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool.pm +387 -331
  164. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool.pod +101 -81
  165. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AES.pm +0 -0
  166. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AFCP.pm +14 -14
  167. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AIFF.pm +17 -17
  168. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/APE.pm +18 -18
  169. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/APP12.pm +21 -21
  170. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ASF.pm +48 -48
  171. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Apple.pm +31 -19
  172. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BMP.pm +4 -4
  173. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BZZ.pm +0 -0
  174. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BigTIFF.pm +36 -36
  175. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BuildTagLookup.pm +12 -12
  176. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Canon.pm +126 -38
  177. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonCustom.pm +37 -37
  178. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonRaw.pm +30 -30
  179. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonVRD.pm +75 -75
  180. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CaptureOne.pm +18 -18
  181. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Casio.pm +0 -0
  182. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset.pm +13 -13
  183. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  184. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  185. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  186. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  187. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  188. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  189. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  190. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  191. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  192. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  193. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  194. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  195. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  196. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  197. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  198. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  199. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  200. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  201. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  202. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  203. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  204. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  205. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  206. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  207. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  208. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  209. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  210. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  211. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  212. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  213. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DICOM.pm +56 -17
  214. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DNG.pm +85 -85
  215. data/bin/Image-ExifTool-9.41/lib/Image/ExifTool/DPX.pm +151 -0
  216. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DV.pm +6 -6
  217. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DarwinCore.pm +0 -0
  218. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DjVu.pm +14 -14
  219. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/EXE.pm +47 -47
  220. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Exif.pm +126 -116
  221. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FLAC.pm +14 -14
  222. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FLIR.pm +282 -22
  223. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Fixup.pm +0 -0
  224. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Flash.pm +41 -41
  225. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FlashPix.pm +97 -97
  226. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Font.pm +46 -46
  227. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FotoStation.pm +21 -20
  228. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FujiFilm.pm +40 -38
  229. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GE.pm +0 -0
  230. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GIF.pm +32 -32
  231. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GIMP.pm +11 -11
  232. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GPS.pm +3 -3
  233. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GeoTiff.pm +19 -19
  234. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Geotag.pm +69 -66
  235. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/H264.pm +42 -42
  236. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HP.pm +9 -9
  237. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HTML.pm +16 -16
  238. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HtmlDump.pm +10 -10
  239. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ICC_Profile.pm +48 -48
  240. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ID3.pm +84 -84
  241. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/IPTC.pm +38 -38
  242. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ITC.pm +11 -11
  243. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Import.pm +0 -0
  244. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/InDesign.pm +18 -18
  245. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JPEG.pm +10 -6
  246. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JPEGDigest.pm +4 -4
  247. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JVC.pm +8 -8
  248. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Jpeg2000.pm +50 -58
  249. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Kodak.pm +15 -15
  250. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/KyoceraRaw.pm +4 -4
  251. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/LNK.pm +24 -24
  252. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/cs.pm +0 -0
  253. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/de.pm +0 -0
  254. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/en_ca.pm +0 -0
  255. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/en_gb.pm +0 -0
  256. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/es.pm +0 -0
  257. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/fi.pm +0 -0
  258. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/fr.pm +1 -1
  259. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/it.pm +0 -0
  260. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ja.pm +0 -0
  261. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ko.pm +0 -0
  262. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/nl.pm +0 -0
  263. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/pl.pm +0 -0
  264. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ru.pm +0 -0
  265. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/sv.pm +0 -0
  266. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/tr.pm +0 -0
  267. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/zh_cn.pm +0 -0
  268. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/zh_tw.pm +0 -0
  269. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Leaf.pm +11 -11
  270. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/M2TS.pm +37 -37
  271. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIE.pm +95 -95
  272. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIEUnits.pod +0 -0
  273. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIFF.pm +17 -17
  274. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MNG.pm +0 -0
  275. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPC.pm +11 -11
  276. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPEG.pm +28 -28
  277. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPF.pm +22 -22
  278. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MWG.pm +9 -9
  279. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MXF.pm +46 -46
  280. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MakerNotes.pm +61 -59
  281. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Matroska.pm +27 -27
  282. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Microsoft.pm +8 -8
  283. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Minolta.pm +50 -28
  284. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MinoltaRaw.pm +17 -17
  285. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Nikon.pm +80 -63
  286. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/NikonCapture.pm +29 -29
  287. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/NikonCustom.pm +0 -0
  288. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/OOXML.pm +20 -20
  289. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Ogg.pm +19 -19
  290. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Olympus.pm +3 -3
  291. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/OpenEXR.pm +16 -16
  292. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PDF.pm +126 -126
  293. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PGF.pm +7 -7
  294. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PICT.pm +18 -18
  295. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PLIST.pm +39 -39
  296. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PNG.pm +141 -95
  297. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PPM.pm +11 -11
  298. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PSP.pm +14 -14
  299. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Panasonic.pm +82 -37
  300. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PanasonicRaw.pm +40 -40
  301. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Pentax.pm +86 -14
  302. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhaseOne.pm +36 -36
  303. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhotoCD.pm +4 -4
  304. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhotoMechanic.pm +12 -12
  305. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Photoshop.pm +23 -23
  306. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PostScript.pm +36 -36
  307. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PrintIM.pm +10 -10
  308. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Qualcomm.pm +5 -5
  309. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/QuickTime.pm +528 -219
  310. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/README +5 -3
  311. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RIFF.pm +40 -32
  312. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RSRC.pm +15 -15
  313. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RTF.pm +15 -15
  314. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Radiance.pm +9 -9
  315. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Rawzor.pm +19 -19
  316. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Real.pm +43 -43
  317. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Reconyx.pm +0 -0
  318. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Ricoh.pm +24 -24
  319. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Samsung.pm +41 -15
  320. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sanyo.pm +0 -0
  321. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Scalado.pm +5 -5
  322. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Shift.pl +0 -0
  323. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Shortcuts.pm +0 -0
  324. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sigma.pm +0 -0
  325. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/SigmaRaw.pm +56 -56
  326. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sony.pm +450 -166
  327. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/SonyIDC.pm +9 -9
  328. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Stim.pm +0 -0
  329. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagInfoXML.pm +6 -4
  330. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagLookup.pm +1707 -1468
  331. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagNames.pod +568 -102
  332. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Theora.pm +0 -0
  333. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Torrent.pm +11 -11
  334. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Unknown.pm +0 -0
  335. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Vorbis.pm +5 -5
  336. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteCanonRaw.pl +51 -51
  337. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteExif.pl +273 -273
  338. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteIPTC.pl +44 -44
  339. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePDF.pl +45 -39
  340. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePNG.pl +86 -40
  341. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePhotoshop.pl +27 -27
  342. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePostScript.pl +47 -47
  343. data/bin/Image-ExifTool-9.41/lib/Image/ExifTool/WriteQuickTime.pl +344 -0
  344. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteXMP.pl +112 -112
  345. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Writer.pl +428 -360
  346. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMP.pm +195 -104
  347. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMP2.pl +1 -0
  348. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMPStruct.pl +53 -52
  349. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ZIP.pm +50 -50
  350. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/iWork.pm +17 -17
  351. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/perl-Image-ExifTool.spec +31 -31
  352. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP.t +0 -0
  353. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP_2.out +0 -0
  354. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP_3.out +0 -0
  355. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AIFF.t +0 -0
  356. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AIFF_2.out +0 -0
  357. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE.t +0 -0
  358. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE_2.out +0 -0
  359. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE_3.out +0 -0
  360. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ASF.t +0 -0
  361. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ASF_2.out +0 -0
  362. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BMP.t +0 -0
  363. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BMP_2.out +0 -0
  364. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BigTIFF.t +0 -0
  365. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BigTIFF_2.out +0 -0
  366. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon.t +0 -0
  367. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw.t +0 -0
  368. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_2.out +0 -0
  369. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_4.out +5 -7
  370. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_5.out +0 -0
  371. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_6.out +0 -0
  372. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_7.out +0 -0
  373. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD.t +0 -0
  374. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_11.out +0 -0
  375. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_12.out +0 -0
  376. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_2.out +0 -0
  377. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_3.out +0 -0
  378. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_4.out +0 -0
  379. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_5.out +0 -0
  380. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_6.out +0 -0
  381. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_7.out +0 -0
  382. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_8.out +0 -0
  383. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_9.out +0 -0
  384. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon_2.out +4 -3
  385. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon_3.out +0 -0
  386. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio.t +0 -0
  387. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_2.out +0 -0
  388. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_3.out +0 -0
  389. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_4.out +0 -0
  390. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_5.out +0 -0
  391. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_6.out +0 -0
  392. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DICOM.t +0 -0
  393. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DICOM_2.out +0 -0
  394. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG.t +0 -0
  395. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG_2.out +0 -0
  396. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG_3.out +0 -0
  397. data/bin/Image-ExifTool-9.41/t/DPX.t +28 -0
  398. data/bin/Image-ExifTool-9.41/t/DPX_2.out +35 -0
  399. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DV.t +0 -0
  400. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DV_2.out +0 -0
  401. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DjVu.t +0 -0
  402. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DjVu_2.out +0 -0
  403. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE.t +0 -0
  404. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_2.out +0 -0
  405. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_3.out +0 -0
  406. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_4.out +0 -0
  407. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool.t +0 -0
  408. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_16.out +0 -0
  409. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_17.out +0 -0
  410. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_2.out +0 -0
  411. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_20.out +0 -0
  412. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_21.out +0 -0
  413. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_22.out +0 -0
  414. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_23.out +0 -0
  415. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_24.out +0 -0
  416. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_25.out +0 -0
  417. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_26.out +0 -0
  418. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_3.out +0 -0
  419. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_4.out +0 -0
  420. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_5.out +0 -0
  421. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_6.out +0 -0
  422. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_7.out +0 -0
  423. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_8.out +0 -0
  424. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_9.out +0 -0
  425. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC.t +0 -0
  426. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC_2.out +0 -0
  427. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC_3.out +0 -0
  428. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR.t +0 -0
  429. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR_2.out +0 -0
  430. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR_3.out +0 -0
  431. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash.t +0 -0
  432. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FlashPix.t +0 -0
  433. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FlashPix_2.out +0 -0
  434. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash_2.out +0 -0
  435. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash_3.out +0 -0
  436. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font.t +0 -0
  437. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_2.out +0 -0
  438. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_3.out +0 -0
  439. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_4.out +0 -0
  440. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_5.out +0 -0
  441. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_6.out +0 -0
  442. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_7.out +0 -0
  443. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation.t +0 -0
  444. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation_2.out +0 -0
  445. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation_3.out +0 -0
  446. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm.t +0 -0
  447. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_2.out +0 -0
  448. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_3.out +0 -0
  449. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_4.out +0 -0
  450. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_5.out +0 -0
  451. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE.t +0 -0
  452. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE_2.out +0 -0
  453. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE_3.out +0 -0
  454. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF.t +0 -0
  455. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_2.out +0 -0
  456. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_3.out +0 -0
  457. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_4.out +0 -0
  458. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIMP.t +0 -0
  459. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIMP_2.out +0 -0
  460. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS.t +0 -0
  461. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS_2.out +0 -0
  462. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS_3.out +0 -0
  463. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff.t +0 -0
  464. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff_2.out +0 -0
  465. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff_3.out +0 -0
  466. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag.t +18 -1
  467. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_2.out +0 -0
  468. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_3.out +0 -0
  469. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_5.out +0 -0
  470. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_6.out +0 -0
  471. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_7.out +0 -0
  472. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_8.out +0 -0
  473. data/bin/Image-ExifTool-9.41/t/Geotag_9.out +7 -0
  474. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/HTML.t +0 -0
  475. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/HTML_2.out +0 -0
  476. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC.t +0 -0
  477. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_2.out +0 -0
  478. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_4.out +0 -0
  479. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_5.out +0 -0
  480. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_6.out +0 -0
  481. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_7.out +0 -0
  482. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_8.out +0 -0
  483. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ITC.t +0 -0
  484. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ITC_2.out +0 -0
  485. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign.t +0 -0
  486. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_2.out +0 -0
  487. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_3.out +0 -0
  488. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_4.out +0 -0
  489. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC.t +0 -0
  490. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC_2.out +0 -0
  491. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC_3.out +0 -0
  492. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000.t +0 -0
  493. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_2.out +0 -0
  494. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_3.out +0 -0
  495. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_4.out +0 -0
  496. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak.t +0 -0
  497. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak_2.out +0 -0
  498. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak_3.out +0 -0
  499. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/KyoceraRaw.t +0 -0
  500. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/KyoceraRaw_2.out +0 -0
  501. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/LNK.t +0 -0
  502. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/LNK_2.out +0 -0
  503. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang.t +0 -0
  504. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_1.out +0 -0
  505. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_10.out +0 -0
  506. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_11.out +0 -0
  507. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_12.out +0 -0
  508. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_13.out +0 -0
  509. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_14.out +0 -0
  510. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_15.out +0 -0
  511. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_16.out +0 -0
  512. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_17.out +0 -0
  513. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_18.out +0 -0
  514. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_2.out +0 -0
  515. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_3.out +0 -0
  516. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_4.out +0 -0
  517. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_5.out +0 -0
  518. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_6.out +0 -0
  519. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_7.out +0 -0
  520. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_8.out +0 -0
  521. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_9.out +0 -0
  522. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/M2TS.t +0 -0
  523. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/M2TS_2.out +0 -0
  524. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE.t +0 -0
  525. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_2.out +0 -0
  526. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_3.out +0 -0
  527. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_5.out +0 -0
  528. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_6.out +0 -0
  529. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIFF.t +0 -0
  530. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIFF_2.out +0 -0
  531. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MP3.t +0 -0
  532. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MP3_2.out +0 -0
  533. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG.t +0 -0
  534. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_2.out +0 -0
  535. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_3.out +0 -0
  536. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_4.out +0 -0
  537. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_5.out +0 -0
  538. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_6.out +0 -0
  539. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MXF.t +0 -0
  540. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MXF_2.out +0 -0
  541. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Matroska.t +0 -0
  542. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Matroska_2.out +0 -0
  543. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta.t +0 -0
  544. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_2.out +0 -0
  545. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_3.out +0 -0
  546. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_4.out +0 -0
  547. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon.t +0 -0
  548. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_2.out +0 -0
  549. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_3.out +0 -0
  550. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_4.out +0 -0
  551. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_5.out +0 -0
  552. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_7.out +0 -0
  553. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_8.out +0 -0
  554. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus.t +0 -0
  555. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_2.out +0 -0
  556. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_3.out +0 -0
  557. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_4.out +0 -0
  558. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_5.out +0 -0
  559. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_6.out +0 -0
  560. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_7.out +0 -0
  561. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/OpenEXR.t +0 -0
  562. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/OpenEXR_2.out +0 -0
  563. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF.t +0 -0
  564. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_10.out +0 -0
  565. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_11.out +0 -0
  566. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_12.out +0 -0
  567. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_14.out +0 -0
  568. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_15.out +0 -0
  569. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_16.out +0 -0
  570. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_17.out +0 -0
  571. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_18.out +0 -0
  572. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_19.out +0 -0
  573. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_2.out +0 -0
  574. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_20.out +0 -0
  575. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_22.out +0 -0
  576. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_4.out +0 -0
  577. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_5.out +0 -0
  578. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_6.out +0 -0
  579. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_7.out +0 -0
  580. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_8.out +0 -0
  581. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_9.out +0 -0
  582. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PGF.t +0 -0
  583. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PGF_2.out +0 -0
  584. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PICT.t +0 -0
  585. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PICT_2.out +0 -0
  586. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST.t +0 -0
  587. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST_2.out +0 -0
  588. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST_3.out +0 -0
  589. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG.t +31 -1
  590. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_2.out +0 -0
  591. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_3.out +0 -0
  592. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_4.out +0 -0
  593. data/bin/Image-ExifTool-9.41/t/PNG_5.out +17 -0
  594. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM.t +0 -0
  595. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM_2.out +0 -0
  596. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM_3.out +0 -0
  597. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PSP.t +0 -0
  598. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PSP_2.out +0 -0
  599. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic.t +0 -0
  600. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_2.out +0 -0
  601. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_3.out +0 -0
  602. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_4.out +0 -0
  603. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_5.out +0 -0
  604. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax.t +0 -0
  605. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_2.out +0 -0
  606. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_3.out +0 -0
  607. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_4.out +0 -0
  608. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoCD.t +0 -0
  609. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoCD_2.out +0 -0
  610. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic.t +0 -0
  611. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic_2.out +0 -0
  612. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic_3.out +0 -0
  613. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop.t +0 -0
  614. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop_2.out +0 -0
  615. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop_3.out +0 -0
  616. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript.t +0 -0
  617. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript_2.out +0 -0
  618. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript_3.out +0 -0
  619. data/bin/Image-ExifTool-9.41/t/QuickTime.t +54 -0
  620. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/QuickTime_2.out +10 -8
  621. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/QuickTime_3.out +10 -8
  622. data/bin/Image-ExifTool-9.41/t/QuickTime_4.out +16 -0
  623. data/bin/Image-ExifTool-9.41/t/QuickTime_5.out +12 -0
  624. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF.t +0 -0
  625. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_2.out +0 -0
  626. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_3.out +0 -0
  627. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_4.out +0 -0
  628. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RTF.t +0 -0
  629. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RTF_2.out +0 -0
  630. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Radiance.t +0 -0
  631. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Radiance_2.out +0 -0
  632. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real.t +0 -0
  633. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_2.out +0 -0
  634. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_3.out +0 -0
  635. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_4.out +0 -0
  636. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh.t +0 -0
  637. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_2.out +0 -0
  638. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_3.out +0 -0
  639. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_4.out +0 -0
  640. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo.t +0 -0
  641. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo_2.out +0 -0
  642. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo_3.out +0 -0
  643. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma.t +0 -0
  644. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_2.out +0 -0
  645. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_3.out +0 -0
  646. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_4.out +0 -0
  647. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_5.out +0 -0
  648. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony.t +0 -0
  649. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_2.out +0 -0
  650. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_3.out +0 -0
  651. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_5.out +0 -0
  652. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/TestLib.pm +0 -0
  653. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Torrent.t +0 -0
  654. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Torrent_2.out +0 -0
  655. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown.t +0 -0
  656. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown_2.out +0 -0
  657. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown_3.out +0 -0
  658. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Vorbis.t +0 -0
  659. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Vorbis_2.out +0 -0
  660. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer.t +53 -1
  661. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_10.out +0 -0
  662. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_11.out +0 -0
  663. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_13.out +0 -0
  664. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_14.out +0 -0
  665. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_15.out +0 -0
  666. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_16.out +0 -0
  667. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_17.out +0 -0
  668. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_18.out +0 -0
  669. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_19.out +0 -0
  670. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_2.out +0 -0
  671. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_22.out +0 -0
  672. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_24.out +0 -0
  673. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_25.out +0 -0
  674. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_26.out +0 -0
  675. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_27.out +0 -0
  676. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_28.out +0 -0
  677. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_29.out +0 -0
  678. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_30.out +0 -0
  679. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_31.out +0 -0
  680. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_32.out +0 -0
  681. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_33.out +0 -0
  682. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_34.out +0 -0
  683. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_35.out +0 -0
  684. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_36.out +0 -0
  685. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_37.out +0 -0
  686. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_38.out +0 -0
  687. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_39.out +0 -0
  688. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_4.out +0 -0
  689. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_40.out +0 -0
  690. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_41.out +0 -0
  691. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_42.out +0 -0
  692. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_43.out +0 -0
  693. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_44.out +0 -0
  694. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_45.out +0 -0
  695. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_46.out +8 -6
  696. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_47.out +0 -0
  697. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_48.out +0 -0
  698. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_50.out +0 -0
  699. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_51.out +0 -0
  700. data/bin/Image-ExifTool-9.41/t/Writer_52.out +22 -0
  701. data/bin/Image-ExifTool-9.41/t/Writer_53.out +33 -0
  702. data/bin/Image-ExifTool-9.41/t/Writer_54.out +2 -0
  703. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_6.out +0 -0
  704. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_7.out +0 -0
  705. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_9.out +0 -0
  706. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP.t +0 -0
  707. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_10.out +0 -0
  708. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_11.out +0 -0
  709. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_12.out +0 -0
  710. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_13.out +0 -0
  711. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_14.out +0 -0
  712. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_15.out +0 -0
  713. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_16.out +0 -0
  714. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_17.out +0 -0
  715. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_18.out +0 -0
  716. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_19.out +0 -0
  717. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_2.out +0 -0
  718. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_20.out +0 -0
  719. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_21.out +0 -0
  720. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_22.out +0 -0
  721. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_23.out +0 -0
  722. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_24.out +0 -0
  723. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_25.out +0 -0
  724. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_26.out +0 -0
  725. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_27.out +0 -0
  726. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_28.out +0 -0
  727. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_29.out +0 -0
  728. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_3.out +0 -0
  729. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_30.out +0 -0
  730. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_31.out +0 -0
  731. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_32.out +0 -0
  732. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_34.out +0 -0
  733. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_36.out +0 -0
  734. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_37.out +0 -0
  735. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_39.out +0 -0
  736. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_40.out +0 -0
  737. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_41.out +0 -0
  738. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_5.out +0 -0
  739. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_6.out +0 -0
  740. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_7.out +0 -0
  741. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_8.out +0 -0
  742. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_9.out +0 -0
  743. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP.t +0 -0
  744. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_2.out +0 -0
  745. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_3.out +0 -0
  746. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_4.out +0 -0
  747. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_5.out +0 -0
  748. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_6.out +0 -0
  749. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_7.out +0 -0
  750. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/AFCP.jpg +0 -0
  751. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/AIFF.aif +0 -0
  752. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/APE.ape +0 -0
  753. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/APE.mpc +0 -0
  754. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ASF.wmv +0 -0
  755. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/BMP.bmp +0 -0
  756. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/BigTIFF.btf +0 -0
  757. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Canon.jpg +0 -0
  758. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Canon1DmkIII.jpg +0 -0
  759. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonRaw.cr2 +0 -0
  760. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonRaw.crw +0 -0
  761. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonVRD.vrd +0 -0
  762. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CaptureOne.eip +0 -0
  763. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Casio.jpg +0 -0
  764. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Casio2.jpg +0 -0
  765. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CasioQVCI.jpg +0 -0
  766. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DICOM.dcm +0 -0
  767. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DNG.dng +0 -0
  768. data/bin/Image-ExifTool-9.41/t/images/DPX.dpx +0 -0
  769. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DV.dv +0 -0
  770. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DjVu.djvu +0 -0
  771. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.elf +0 -0
  772. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.exe +0 -0
  773. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.macho +0 -0
  774. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExifTool.jpg +0 -0
  775. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExifTool.tif +0 -0
  776. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExtendedXMP.jpg +0 -0
  777. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLAC.flac +0 -0
  778. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLAC.ogg +0 -0
  779. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLIR.fpf +0 -0
  780. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLIR.jpg +0 -0
  781. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Flash.flv +0 -0
  782. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Flash.swf +0 -0
  783. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FlashPix.ppt +0 -0
  784. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.afm +0 -0
  785. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.dfont +0 -0
  786. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfa +0 -0
  787. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfb +0 -0
  788. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfm +0 -0
  789. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.ttf +0 -0
  790. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FotoStation.jpg +0 -0
  791. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FujiFilm.jpg +0 -0
  792. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FujiFilm.raf +0 -0
  793. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GE.jpg +0 -0
  794. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GIF.gif +0 -0
  795. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GIMP.xcf +0 -0
  796. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GPS.jpg +0 -0
  797. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GeoTiff.tif +0 -0
  798. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.gpx +0 -0
  799. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.igc +0 -0
  800. data/bin/Image-ExifTool-9.41/t/images/Geotag.kml +55 -0
  801. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.log +0 -0
  802. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.xml +0 -0
  803. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag2.log +0 -0
  804. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/HTML.html +0 -0
  805. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/IPTC.jpg +0 -0
  806. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ITC.itc +0 -0
  807. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/InDesign.indd +0 -0
  808. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/JVC.jpg +0 -0
  809. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/JVC2.jpg +0 -0
  810. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Jpeg2000.j2c +0 -0
  811. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Jpeg2000.jp2 +0 -0
  812. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Kodak.jpg +0 -0
  813. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/KyoceraRaw.raw +0 -0
  814. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/LNK.lnk +0 -0
  815. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/M2TS.mts +0 -0
  816. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MIE.mie +0 -0
  817. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MIFF.miff +0 -0
  818. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MP3.mp3 +0 -0
  819. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MWG.jpg +0 -0
  820. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MXF.mxf +0 -0
  821. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Matroska.mkv +0 -0
  822. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Minolta.jpg +0 -0
  823. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Minolta.mrw +0 -0
  824. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Nikon.jpg +0 -0
  825. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Nikon.nef +0 -0
  826. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/NikonD2Hs.jpg +0 -0
  827. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/NikonD70.jpg +0 -0
  828. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OOXML.docx +0 -0
  829. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Olympus.jpg +0 -0
  830. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Olympus2.jpg +0 -0
  831. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OlympusE1.jpg +0 -0
  832. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OpenDoc.ods +0 -0
  833. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OpenEXR.exr +0 -0
  834. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PDF.pdf +0 -0
  835. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PDF2.pdf +0 -0
  836. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PGF.pgf +0 -0
  837. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PICT.pict +0 -0
  838. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PLIST-bin.plist +0 -0
  839. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PLIST-xml.plist +0 -0
  840. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PNG.png +0 -0
  841. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PPM.ppm +0 -0
  842. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PSP.psp +0 -0
  843. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Panasonic.jpg +0 -0
  844. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Panasonic.rw2 +0 -0
  845. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Pentax.avi +0 -0
  846. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Pentax.jpg +0 -0
  847. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PhotoCD.pcd +0 -0
  848. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PhotoMechanic.jpg +0 -0
  849. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Photoshop.psd +0 -0
  850. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PostScript.eps +0 -0
  851. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/QuickTime.m4a +0 -0
  852. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/QuickTime.mov +0 -0
  853. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.avi +0 -0
  854. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.wav +0 -0
  855. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.webp +0 -0
  856. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RTF.rtf +0 -0
  857. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Radiance.hdr +0 -0
  858. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.ra +0 -0
  859. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.ram +0 -0
  860. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.rm +0 -0
  861. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Ricoh.jpg +0 -0
  862. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Ricoh2.jpg +0 -0
  863. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sanyo.jpg +0 -0
  864. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sigma.jpg +0 -0
  865. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sigma.x3f +0 -0
  866. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/SigmaDP2.x3f +0 -0
  867. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sony.jpg +0 -0
  868. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sony.pmp +0 -0
  869. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Torrent.torrent +0 -0
  870. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Unknown.jpg +0 -0
  871. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Vorbis.ogg +0 -0
  872. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Writer.jpg +0 -0
  873. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.inx +0 -0
  874. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.jpg +0 -0
  875. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.svg +0 -0
  876. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.xml +0 -0
  877. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.xmp +0 -0
  878. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP2.xmp +0 -0
  879. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP3.xmp +0 -0
  880. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP4.xmp +0 -0
  881. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP5.xmp +0 -0
  882. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ZIP.gz +0 -0
  883. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ZIP.zip +0 -0
  884. data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/iWork.numbers +0 -0
  885. data/lib/exiftool_vendored.rb +11 -3
  886. data/lib/exiftool_vendored/version.rb +1 -1
  887. data/lib/exiftool_vendored/version_extractor.rb +5 -7
  888. metadata +942 -886
  889. data/bin/Image-ExifTool-9.37/t/QuickTime.t +0 -31
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OTMxNTQzN2RjYzdmY2M4NDJiMjM0ZGIyMGNiNDI1OTFlNTI1M2JkYw==
5
- data.tar.gz: !binary |-
6
- MmMyZTU0MjYyNjA3ZGY2MTY0Y2I2YWRmZWQzYWJmMGI1MmYzNjcwOA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YTQ2NGUwMTMwNDkzMjdhYzRkNDk1MWNmODBiYjZiNzRmOWRhYzdhZTU4NmY5
10
- NWRhMTU5MDk1ZWM1ZmFkYzdlYWY0NTQ1MWVjZjM1YzFiYzMwYzlkZjQwMmQ4
11
- ZjdjODNiMjI2NzUyMjdkYjg2MjdkMmY2ZDgzYTU2NTRmMTY2ZDA=
12
- data.tar.gz: !binary |-
13
- MzAzZWIwMDNmYWFjN2IyZjUxODU3YjQ5ZTBkZTI2MDNiNjE0ZTRhMzI0Njlm
14
- MzY0OWFmNWFhNjg5OTYyZjk1N2UzMWViZDJkZTI0MzM5MTk5YjBhOTY0NDZh
15
- MTcxMzkzODZjNmRkNWQ4ZjdmYjc0NTY0NGMwNGM1M2JkNjg0ZmQ=
2
+ SHA1:
3
+ metadata.gz: 82a88f2db7526ba7bc68a0b3cf6ee97290b10b15
4
+ data.tar.gz: 284960cf2566cc5e9f2abf143a73fab6f23298a4
5
+ SHA512:
6
+ metadata.gz: 87de268fa289ad7491061cf2ecdda5d41acecf3a22b2025f30b7080ddabf3a2ff54dfd37c4f870238a0f28a1e37b3577e0c0a8bfd32cf6932267c1ebfa73a973
7
+ data.tar.gz: cbb852739d5f267ecbc1f0e0251ac8b9c48470f76c920a6620d2daf186c4a268f84272b32b2568e5b05e8589104c10a906fa90288a7e42c0a66f02cf3b7351e6
@@ -7,6 +7,80 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
7
7
  Note: The most recent production release is Version 9.27. (Other versions are
8
8
  considered development releases, and are not uploaded to CPAN.)
9
9
 
10
+ Nov. 16, 2013 - Version 9.41
11
+
12
+ - Added the ability to use multiple group qualifiers on tag names when writing
13
+ and copying (ie. "-QuickTime:Time:All=now")
14
+ - Added ability to geotag from Google Location Services KML files
15
+ - Added a new Pentax LensType (thanks Louis Granboulan)
16
+ - Added a new Canon LensType (thanks David Monro)
17
+ - Added a new Sony LensType2 (thanks Jos Roost)
18
+ - Decode a bunch more Nikon, Canon, Sony and FujiFilm WhiteBalance tags
19
+ (thanks Iliah Borg)
20
+ - Extract information from the new Pentax APP7 segment
21
+
22
+ Nov. 8, 2013 - Version 9.40 - "Write QuickTime"
23
+
24
+ - Added ability to write XMP and edit date/time tags in QuickTime-format files
25
+ (ie. MOV, MP4)
26
+ - Added -api option to allow API options to be set via the command line
27
+ - Added ability to specify family 2 group name when writing
28
+ - Added write support for a number of new XMP tags
29
+ - Added a new Nikon LensID
30
+ - Added new Canon and Minolta/Sony LensType values (thanks Jos Roost)
31
+ - Added a few of the new values defined in the DICOM 2011 specification
32
+ - Add standard XMP to a PNG image when writing, even if XMP already exists in
33
+ another non-standard chunk
34
+ - Decode a few more Sony tags (thanks Jos Roost)
35
+ - Decode a few more QuickTime tags
36
+ - Decode a few more Panasonic tags (thanks Thomas Modes)
37
+ - Extract EXIF information from WEBP images
38
+ - Extract a few more unknown tags in Samsung MP4 videos
39
+ - Extract ProfileName from the PNG iCCP chunk
40
+ - Improved error message if no matches found when writing to tag(s) specified
41
+ by wildcards
42
+ - Improved XML output so EXIF tags now report a count (if constant, and > 1)
43
+ - Avoid writing a few XMP-crs tags which have XMP-exifEX equivalents unless
44
+ specified explicitly
45
+ - Patched POD documentation in MIE.pm to remove non-ASCII characters
46
+ - Fixed bug adding back XMP tags in PDF files after deleting all in the same
47
+ command (also made XMP the preferred group when writing PDF files)
48
+ - Fixed bug extracting some font information from QuickTime videos
49
+ - Fixed inconsistencies in behaviour when extracting XML as a block from
50
+ JPEG2000 images
51
+ - Fixed problem where FileName was changed when using -srcfile option and
52
+ writing only the Directory
53
+ - API Changes:
54
+ - Added the PNGEarlyXMP option
55
+ - Internal Changes:
56
+ - Changed all "$exifTool" variable names to "$et" throughout -- my
57
+ apologies to the diff engines
58
+
59
+ Oct. 19, 2013 - Version 9.39
60
+
61
+ - Added a new PentaxCameraID and some new LensTypes (thanks Louis Granboulan)
62
+ - Added a new Nikon LensID
63
+ - Added a new Panasonic ShutterType
64
+ - Additions and improvements to Pentax makernote decoding for K-3
65
+ - Decode a number of new tags including purchase information from MP4 videos
66
+ - Decode FLIR information acquired by Extech MeterLink meters (thanks Tomas)
67
+ - Decode more Sony tags (thanks Jos Roost)
68
+ - Patched to suppress the run-time "No such file or directory" error that has
69
+ been seen when using the -csv option on Windows systems
70
+
71
+ Oct. 7, 2013 - Version 9.38
72
+
73
+ - Added read support for DPX images
74
+ - Added a new Pentax LensType
75
+ - Added a few new CanonModelID values
76
+ - Added a new XMP-apple-fi tag
77
+ - Decode a few more Canon tags (thanks Tomasz Kawecki)
78
+ - Decode a few more Sony tags (thanks Jos Roost)
79
+ - Improved the names of a few Apple tags (thanks Neal Krawetz) and added new
80
+ Composite tag
81
+ - Tolerate NMEA sentences with missing degrees written by some crappy software
82
+ - Changed Duration conversion to print number of days if more than 24 hours
83
+
10
84
  Sept. 14, 2013 - Version 9.37
11
85
 
12
86
  - Added support for maker notes from Apple iPhone5 iOS 7
@@ -38,6 +38,7 @@ html/TagNames/Casio.html
38
38
  html/TagNames/Composite.html
39
39
  html/TagNames/DICOM.html
40
40
  html/TagNames/DNG.html
41
+ html/TagNames/DPX.html
41
42
  html/TagNames/DV.html
42
43
  html/TagNames/DarwinCore.html
43
44
  html/TagNames/DjVu.html
@@ -210,6 +211,7 @@ lib/Image/ExifTool/Charset/Turkish.pm
210
211
  lib/Image/ExifTool/Charset/Vietnam.pm
211
212
  lib/Image/ExifTool/DICOM.pm
212
213
  lib/Image/ExifTool/DNG.pm
214
+ lib/Image/ExifTool/DPX.pm
213
215
  lib/Image/ExifTool/DV.pm
214
216
  lib/Image/ExifTool/DarwinCore.pm
215
217
  lib/Image/ExifTool/DjVu.pm
@@ -337,6 +339,7 @@ lib/Image/ExifTool/WritePDF.pl
337
339
  lib/Image/ExifTool/WritePNG.pl
338
340
  lib/Image/ExifTool/WritePhotoshop.pl
339
341
  lib/Image/ExifTool/WritePostScript.pl
342
+ lib/Image/ExifTool/WriteQuickTime.pl
340
343
  lib/Image/ExifTool/WriteXMP.pl
341
344
  lib/Image/ExifTool/Writer.pl
342
345
  lib/Image/ExifTool/XMP.pm
@@ -390,6 +393,8 @@ t/DICOM_2.out
390
393
  t/DNG.t
391
394
  t/DNG_2.out
392
395
  t/DNG_3.out
396
+ t/DPX.t
397
+ t/DPX_2.out
393
398
  t/DV.t
394
399
  t/DV_2.out
395
400
  t/DjVu.t
@@ -464,6 +469,7 @@ t/Geotag_5.out
464
469
  t/Geotag_6.out
465
470
  t/Geotag_7.out
466
471
  t/Geotag_8.out
472
+ t/Geotag_9.out
467
473
  t/HTML.t
468
474
  t/HTML_2.out
469
475
  t/IPTC.t
@@ -583,6 +589,7 @@ t/PNG.t
583
589
  t/PNG_2.out
584
590
  t/PNG_3.out
585
591
  t/PNG_4.out
592
+ t/PNG_5.out
586
593
  t/PPM.t
587
594
  t/PPM_2.out
588
595
  t/PPM_3.out
@@ -611,6 +618,8 @@ t/PostScript_3.out
611
618
  t/QuickTime.t
612
619
  t/QuickTime_2.out
613
620
  t/QuickTime_3.out
621
+ t/QuickTime_4.out
622
+ t/QuickTime_5.out
614
623
  t/RIFF.t
615
624
  t/RIFF_2.out
616
625
  t/RIFF_3.out
@@ -687,6 +696,9 @@ t/Writer_47.out
687
696
  t/Writer_48.out
688
697
  t/Writer_50.out
689
698
  t/Writer_51.out
699
+ t/Writer_52.out
700
+ t/Writer_53.out
701
+ t/Writer_54.out
690
702
  t/Writer_6.out
691
703
  t/Writer_7.out
692
704
  t/Writer_9.out
@@ -752,6 +764,7 @@ t/images/Casio2.jpg
752
764
  t/images/CasioQVCI.jpg
753
765
  t/images/DICOM.dcm
754
766
  t/images/DNG.dng
767
+ t/images/DPX.dpx
755
768
  t/images/DV.dv
756
769
  t/images/DjVu.djvu
757
770
  t/images/EXE.elf
@@ -783,6 +796,7 @@ t/images/GPS.jpg
783
796
  t/images/GeoTiff.tif
784
797
  t/images/Geotag.gpx
785
798
  t/images/Geotag.igc
799
+ t/images/Geotag.kml
786
800
  t/images/Geotag.log
787
801
  t/images/Geotag.xml
788
802
  t/images/Geotag2.log
@@ -1,6 +1,6 @@
1
1
  --- #YAML:1.0
2
2
  name: Image-ExifTool
3
- version: 9.37
3
+ version: 9.41
4
4
  abstract: Read and write meta information
5
5
  author:
6
6
  - Phil Harvey (phil@owl.phy.queensu.ca)
@@ -14,38 +14,38 @@ supported by ExifTool (r = read, w = write, c = create):
14
14
 
15
15
  File Types
16
16
  ------------+-------------+-------------+-------------+------------
17
- 3FR r | EPS r/w | M2TS r | PAGES r | RWZ r
18
- 3G2 r | ERF r/w | M4A/V r | PBM r/w | RM r
19
- 3GP r | EXE r | MEF r/w | PCD r | SO r
20
- ACR r | EXIF r/w/c | MIE r/w/c | PDF r/w | SR2 r/w
21
- AFM r | EXR r | MIFF r | PEF r/w | SRF r
22
- AI r/w | F4A/V r | MKA r | PFA r | SRW r/w
23
- AIFF r | FFF r/w | MKS r | PFB r | SVG r
24
- APE r | FLA r | MKV r | PFM r | SWF r
25
- ARW r/w | FLAC r | MNG r/w | PGF r | THM r/w
26
- ASF r | FLV r | MODD r | PGM r/w | TIFF r/w
27
- AVI r | FPF r | MOS r/w | PLIST r | TORRENT r
28
- BMP r | FPX r | MOV r | PICT r | TTC r
29
- BTF r | GIF r/w | MP3 r | PMP r | TTF r
30
- CHM r | GZ r | MP4 r | PNG r/w | VRD r/w/c
31
- COS r | HDP r/w | MPC r | PPM r/w | VSD r
32
- CR2 r/w | HDR r | MPG r | PPT r | WAV r
33
- CRW r/w | HTML r | MPO r/w | PPTX r | WDP r/w
34
- CS1 r/w | ICC r/w/c | MQV r | PS r/w | WEBP r
35
- DCM r | IDML r | MRW r/w | PSB r/w | WEBM r
36
- DCP r/w | IIQ r/w | MXF r | PSD r/w | WMA r
37
- DCR r | IND r/w | NEF r/w | PSP r | WMV r
38
- DFONT r | INX r | NRW r/w | QTIF r | WV r
39
- DIVX r | ITC r | NUMBERS r | RA r | X3F r/w
40
- DJVU r | J2C r | ODP r | RAF r/w | XCF r
41
- DLL r | JNG r/w | ODS r | RAM r | XLS r
42
- DNG r/w | JP2 r/w | ODT r | RAR r | XLSX r
43
- DOC r | JPEG r/w | OFR r | RAW r/w | XMP r/w/c
44
- DOCX r | K25 r | OGG r | RIFF r | ZIP r
17
+ 3FR r | EIP r | LNK r | PAC r | RWL r/w
18
+ 3G2 r/w | EPS r/w | M2TS r | PAGES r | RWZ r
19
+ 3GP r/w | ERF r/w | M4A/V r/w | PBM r/w | RM r
20
+ ACR r | EXE r | MEF r/w | PCD r | SO r
21
+ AFM r | EXIF r/w/c | MIE r/w/c | PDF r/w | SR2 r/w
22
+ AI r/w | EXR r | MIFF r | PEF r/w | SRF r
23
+ AIFF r | F4A/V r/w | MKA r | PFA r | SRW r/w
24
+ APE r | FFF r/w | MKS r | PFB r | SVG r
25
+ ARW r/w | FLA r | MKV r | PFM r | SWF r
26
+ ASF r | FLAC r | MNG r/w | PGF r | THM r/w
27
+ AVI r | FLV r | MODD r | PGM r/w | TIFF r/w
28
+ BMP r | FPF r | MOS r/w | PLIST r | TORRENT r
29
+ BTF r | FPX r | MOV r/w | PICT r | TTC r
30
+ CHM r | GIF r/w | MP3 r | PMP r | TTF r
31
+ COS r | GZ r | MP4 r/w | PNG r/w | VRD r/w/c
32
+ CR2 r/w | HDP r/w | MPC r | PPM r/w | VSD r
33
+ CRW r/w | HDR r | MPG r | PPT r | WAV r
34
+ CS1 r/w | HTML r | MPO r/w | PPTX r | WDP r/w
35
+ DCM r | ICC r/w/c | MQV r/w | PS r/w | WEBP r
36
+ DCP r/w | IDML r | MRW r/w | PSB r/w | WEBM r
37
+ DCR r | IIQ r/w | MXF r | PSD r/w | WMA r
38
+ DFONT r | IND r/w | NEF r/w | PSP r | WMV r
39
+ DIVX r | INX r | NRW r/w | QTIF r/w | WV r
40
+ DJVU r | ITC r | NUMBERS r | RA r | X3F r/w
41
+ DLL r | J2C r | ODP r | RAF r/w | XCF r
42
+ DNG r/w | JNG r/w | ODS r | RAM r | XLS r
43
+ DOC r | JP2 r/w | ODT r | RAR r | XLSX r
44
+ DOCX r | JPEG r/w | OFR r | RAW r/w | XMP r/w/c
45
+ DPX r | K25 r | OGG r | RIFF r | ZIP r
45
46
  DV r | KDC r | OGV r | RSRC r |
46
- DVB r | KEY r | ORF r/w | RTF r |
47
+ DVB r/w | KEY r | ORF r/w | RTF r |
47
48
  DYLIB r | LA r | OTF r | RW2 r/w |
48
- EIP r | LNK r | PAC r | RWL r/w |
49
49
 
50
50
  Meta Information
51
51
  ----------------------+----------------------+---------------------
@@ -12,7 +12,7 @@
12
12
  use strict;
13
13
  require 5.004;
14
14
 
15
- my $version = '9.37';
15
+ my $version = '9.41';
16
16
 
17
17
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
18
18
  my $exeDir;
@@ -137,7 +137,7 @@ my $joinLists; # flag set to join list values into a single string
137
137
  my $json; # flag for JSON/PHP output format (1=JSON, 2=PHP)
138
138
  my $listItem; # item number for extracting single item from a list
139
139
  my $listSep; # list item separator (', ' by default)
140
- my $mainTool; # main ExifTool object
140
+ my $mt; # main ExifTool object
141
141
  my $multiFile; # non-zero if we are scanning multiple files
142
142
  my $outFormat; # -1=Canon format, 0=same-line, 1=tag names, 2=values only
143
143
  my $outOpt; # output file or directory name
@@ -237,7 +237,14 @@ sub Exit {
237
237
  exit shift;
238
238
  }
239
239
  # my warning and error routines (NEVER say "die"!)
240
- sub Warn { warn(@_) if $quiet < 2 or $_[0] =~ /^Error/; }
240
+ sub Warn {
241
+ if ($quiet < 2 or $_[0] =~ /^Error/) {
242
+ my $oldWarn = $SIG{'__WARN__'};
243
+ delete $SIG{'__WARN__'};
244
+ warn(@_);
245
+ $SIG{'__WARN__'} = $oldWarn if defined $oldWarn;
246
+ }
247
+ }
241
248
  sub Error { Warn @_; $rtnVal = 1; }
242
249
  sub WarnOnce($) {
243
250
  Warn(@_) and $warnedOnce{$_[0]} = 1 unless $warnedOnce{$_[0]};
@@ -315,7 +322,7 @@ $rtnVal = 0 unless defined $rtnVal;
315
322
 
316
323
  # initialize necessary static file-scope variables
317
324
  # (not done: @commonArgs, @moreArgs, $critical, $binaryStdout, $helped,
318
- # $interrupted, $mainTool, $pause, $rtnVal, $stayOpen, $stayOpenBuff, $stayOpenFile)
325
+ # $interrupted, $mt, $pause, $rtnVal, $stayOpen, $stayOpenBuff, $stayOpenFile)
319
326
  undef @csvFiles;
320
327
  undef @csvTags;
321
328
  undef @delFiles;
@@ -428,14 +435,14 @@ if ($^O eq 'MSWin32' and eval 'require File::Glob') {
428
435
  $doGlob = 1;
429
436
  }
430
437
 
431
- $mainTool = new Image::ExifTool; # create ExifTool object
438
+ $mt = new Image::ExifTool; # create ExifTool object
432
439
 
433
440
  # don't extract duplicates by default unless set by UserDefined::Options
434
- $mainTool->Options(Duplicates => 0) unless %Image::ExifTool::UserDefined::Options
441
+ $mt->Options(Duplicates => 0) unless %Image::ExifTool::UserDefined::Options
435
442
  and defined $Image::ExifTool::UserDefined::Options{Duplicates};
436
443
 
437
444
  # default is to join lists if the List option was set in the config file
438
- $joinLists = 1 if defined $mainTool->Options('List') and not $mainTool->Options('List');
445
+ $joinLists = 1 if defined $mt->Options('List') and not $mt->Options('List');
439
446
 
440
447
  # parse command-line options in 2 passes...
441
448
  # pass 1: set all of our ExifTool options
@@ -619,13 +626,20 @@ for (;;) {
619
626
  unshift @ARGV, @newArgs;
620
627
  next;
621
628
  }
622
- /^(-?)(a|duplicates)$/i and $mainTool->Options(Duplicates => ($1 ? 0 : 1)), next;
629
+ /^(-?)(a|duplicates)$/i and $mt->Options(Duplicates => ($1 ? 0 : 1)), next;
630
+ if ($a eq 'api') {
631
+ my $opt = shift;
632
+ defined $opt or Error("Expected OPT[=VAL] argument for -api option\n"), $badCmd=1, next;
633
+ my $val = ($opt =~ s/=(.*)//) ? $1 : 1;
634
+ $mt->Options($opt => (length($val) ? $val : undef));
635
+ next;
636
+ }
623
637
  /^arg(s|format)$/i and $argFormat = 1, next;
624
- /^b(inary)?$/i and $mainTool->Options(Binary => 1), $binaryOutput = 1, next;
638
+ /^b(inary)?$/i and $mt->Options(Binary => 1), $binaryOutput = 1, next;
625
639
  if (/^c(oordFormat)?$/i) {
626
640
  my $fmt = shift;
627
641
  $fmt or Error("Expecting coordinate format for -c option\n"), $badCmd=1, next;
628
- $mainTool->Options('CoordFormat', $fmt);
642
+ $mt->Options('CoordFormat', $fmt);
629
643
  next;
630
644
  }
631
645
  if ($a eq 'charset') {
@@ -637,14 +651,14 @@ for (;;) {
637
651
  PrintTagList('Available character sets', sort keys %charsets);
638
652
  $helped = 1;
639
653
  } elsif ($charset !~ s/^(\w+)=// or lc($1) eq 'exiftool') {
640
- $mainTool->Options(Charset => $charset);
641
- $utf8 = ($mainTool->Options('Charset') eq 'UTF8');
654
+ $mt->Options(Charset => $charset);
655
+ $utf8 = ($mt->Options('Charset') eq 'UTF8');
642
656
  } else {
643
657
  # set internal encoding of specified metadata type
644
658
  my $type = { id3 => 'ID3', iptc => 'IPTC', exif => 'EXIF',
645
659
  photoshop => 'Photoshop', quicktime => 'QuickTime' }->{lc $1};
646
660
  $type or Warn("Unknown type for -charset option: $1\n"), next;
647
- $mainTool->Options("Charset$type" => $charset);
661
+ $mt->Options("Charset$type" => $charset);
648
662
  }
649
663
  next;
650
664
  }
@@ -676,13 +690,13 @@ for (;;) {
676
690
  if (/^d$/ or $a eq 'dateformat') {
677
691
  my $fmt = shift;
678
692
  $fmt or Error("Expecting date format for -d option\n"), $badCmd=1, next;
679
- $mainTool->Options('DateFormat', $fmt);
693
+ $mt->Options('DateFormat', $fmt);
680
694
  next;
681
695
  }
682
696
  (/^D$/ or $a eq 'decimal') and $showTagID = 'D', next;
683
697
  /^delete_original(!?)$/i and $deleteOrig = ($1 ? 2 : 1), next;
684
- (/^e$/ or $a eq '-composite') and $mainTool->Options(Composite => 0), next;
685
- (/^-e$/ or $a eq 'composite') and $mainTool->Options(Composite => 1), next;
698
+ (/^e$/ or $a eq '-composite') and $mt->Options(Composite => 0), next;
699
+ (/^-e$/ or $a eq 'composite') and $mt->Options(Composite => 1), next;
686
700
  (/^E$/ or $a eq 'escapehtml') and require Image::ExifTool::HTML and $escapeHTML = 1, next;
687
701
  ($a eq 'ex' or $a eq 'escapexml') and $escapeXML = 1, next;
688
702
  if (/^echo(\d)?$/i) {
@@ -699,8 +713,8 @@ for (;;) {
699
713
  next;
700
714
  }
701
715
  if (/^(ee|extractembedded)$/i) {
702
- $mainTool->Options(ExtractEmbedded => 1);
703
- $mainTool->Options(Duplicates => 1);
716
+ $mt->Options(ExtractEmbedded => 1);
717
+ $mt->Options(Duplicates => 1);
704
718
  next;
705
719
  }
706
720
  # (-execute handled at top of loop)
@@ -714,30 +728,30 @@ for (;;) {
714
728
  next;
715
729
  }
716
730
  if (/^f$/ or $a eq 'forceprint') {
717
- $forcePrint = $mainTool->Options('MissingTagValue');
731
+ $forcePrint = $mt->Options('MissingTagValue');
718
732
  unless (defined $forcePrint) {
719
733
  $forcePrint = '-';
720
- $mainTool->Options(MissingTagValue => '-');
734
+ $mt->Options(MissingTagValue => '-');
721
735
  }
722
736
  next;
723
737
  }
724
738
  if (/^F([-+]?\d*)$/ or /^fixbase([-+]?\d*)$/i) {
725
- $mainTool->Options(FixBase => $1);
739
+ $mt->Options(FixBase => $1);
726
740
  next;
727
741
  }
728
742
  if (/^fast(\d*)$/i) {
729
- $mainTool->Options(FastScan => (length $1 ? $1 : 1));
743
+ $mt->Options(FastScan => (length $1 ? $1 : 1));
730
744
  next;
731
745
  }
732
746
  if ($a eq 'fileorder') {
733
747
  push @fileOrder, shift if @ARGV;
734
748
  next;
735
749
  }
736
- $a eq 'globaltimeshift' and $mainTool->Options(GlobalTimeShift => shift), next;
750
+ $a eq 'globaltimeshift' and $mt->Options(GlobalTimeShift => shift), next;
737
751
  if (/^(g)(roupHeadings|roupNames)?([\d:]*)$/i) {
738
752
  $showGroup = $3 || 0;
739
753
  $allGroup = ($2 ? lc($2) eq 'roupnames' : $1 eq 'G');
740
- $mainTool->Options(SavePath => 1) if $showGroup =~ /\b5\b/;
754
+ $mt->Options(SavePath => 1) if $showGroup =~ /\b5\b/;
741
755
  next;
742
756
  }
743
757
  if ($a eq 'geotag') {
@@ -764,7 +778,7 @@ for (;;) {
764
778
  if (/^htmldump([-+]?\d+)?$/i) {
765
779
  $verbose = ($verbose || 0) + 1;
766
780
  $html = 2;
767
- $mainTool->Options(HtmlDumpBase => $1) if defined $1;
781
+ $mt->Options(HtmlDumpBase => $1) if defined $1;
768
782
  next;
769
783
  }
770
784
  if (/^i(gnore)?$/i) {
@@ -798,7 +812,7 @@ for (;;) {
798
812
  $csvAdd = 2 if $1 eq '+=';
799
813
  $vout = \*STDERR if $srcStdin;
800
814
  $verbose and print $vout "Reading JSON file $jsonFile\n";
801
- my $chset = $mainTool->Options('Charset');
815
+ my $chset = $mt->Options('Charset');
802
816
  require Image::ExifTool::Import;
803
817
  my $msg = Image::ExifTool::Import::ReadJSON($jsonFile, \%database, $forcePrint, $chset);
804
818
  $msg and Warn("$msg\n");
@@ -807,28 +821,28 @@ for (;;) {
807
821
  } else {
808
822
  $json = 1;
809
823
  $html = $xml = 0;
810
- $mainTool->Options(Duplicates => 1);
824
+ $mt->Options(Duplicates => 1);
811
825
  require Image::ExifTool::XMP; # for FixUTF8()
812
826
  }
813
827
  next;
814
828
  }
815
829
  /^(k|pause)$/i and $pause = 1, next;
816
830
  (/^l$/ or $a eq 'long') and --$outFormat, next;
817
- (/^L$/ or $a eq 'latin') and $utf8 = 0, $mainTool->Options(Charset => 'Latin'), next;
831
+ (/^L$/ or $a eq 'latin') and $utf8 = 0, $mt->Options(Charset => 'Latin'), next;
818
832
  if ($a eq 'lang') {
819
833
  my $lang = (@ARGV and $ARGV[0] !~ /^-/) ? shift : undef;
820
834
  if ($lang) {
821
835
  # make lower case and use underline as a separator (ie. 'en_ca')
822
836
  $lang =~ tr/-A-Z/_a-z/;
823
- $mainTool->Options(Lang => $lang);
824
- next if $lang eq $mainTool->Options('Lang');
837
+ $mt->Options(Lang => $lang);
838
+ next if $lang eq $mt->Options('Lang');
825
839
  } else {
826
840
  $pass or push(@nextPass, '-lang'), next;
827
841
  }
828
842
  my $langs = "Available languages:\n";
829
843
  $langs .= " $_ - $Image::ExifTool::langName{$_}\n" foreach @Image::ExifTool::langs;
830
844
  $langs =~ tr/_/-/; # display dashes instead of underlines in language codes
831
- $langs = $mainTool->Decode($langs, 'UTF8');
845
+ $langs = $mt->Decode($langs, 'UTF8');
832
846
  $langs = Image::ExifTool::HTML::EscapeHTML($langs) if $escapeHTML;
833
847
  $lang and Error("Invalid or unsupported language '$lang'.\n$langs"), $badCmd=1, next;
834
848
  print $langs;
@@ -840,9 +854,9 @@ for (;;) {
840
854
  defined $listItem or Warn("Expecting index for -listItem option\n");
841
855
  next;
842
856
  }
843
- /^(m|ignoreminorerrors)$/i and $mainTool->Options(IgnoreMinorErrors => 1), next;
844
- /^(n|-printconv)$/i and $mainTool->Options(PrintConv => 0), next;
845
- /^(-n|printconv)$/i and $mainTool->Options(PrintConv => 1), next;
857
+ /^(m|ignoreminorerrors)$/i and $mt->Options(IgnoreMinorErrors => 1), next;
858
+ /^(n|-printconv)$/i and $mt->Options(PrintConv => 0), next;
859
+ /^(-n|printconv)$/i and $mt->Options(PrintConv => 1), next;
846
860
  if (/^o(ut)?$/i) {
847
861
  $outOpt = shift;
848
862
  defined $outOpt or Error("Expected output file or directory name for -o option\n"), $badCmd=1, next;
@@ -855,7 +869,7 @@ for (;;) {
855
869
  /^overwrite_original_in_place$/i and $overwriteOrig = 2, next;
856
870
  (/^p$/ or $a eq 'printformat') and LoadPrintFormat(shift), next;
857
871
  (/^P$/ or $a eq 'preserve') and $preserveTime = 1, next;
858
- /^password$/i and $mainTool->Options(Password => shift), next;
872
+ /^password$/i and $mt->Options(Password => shift), next;
859
873
  if ($a eq 'progress') {
860
874
  $progress = 0;
861
875
  $verbose = 0 unless defined $verbose;
@@ -879,11 +893,11 @@ for (;;) {
879
893
  /^restore_original$/i and $deleteOrig = 0, next;
880
894
  (/^S$/ or $a eq 'veryshort') and $outFormat+=2, next;
881
895
  /^s(hort)?(\d*)$/i and $outFormat = $2 eq '' ? $outFormat + 1 : $2, next;
882
- /^scanforxmp$/i and $mainTool->Options(ScanForXMP => 1), next;
896
+ /^scanforxmp$/i and $mt->Options(ScanForXMP => 1), next;
883
897
  if (/^sep(arator)?$/i) {
884
898
  $listSep = shift;
885
899
  defined $listSep or Error("Expecting list item separator for -sep option\n"), $badCmd=1, next;
886
- $mainTool->Options(ListSep => $listSep);
900
+ $mt->Options(ListSep => $listSep);
887
901
  $joinLists = 1;
888
902
  # also split when writing values
889
903
  my $listSplit = quotemeta $listSep;
@@ -891,7 +905,7 @@ for (;;) {
891
905
  $listSplit =~ s/(\\ )+/\\s\*/g;
892
906
  # but a single space alone matches one or more whitespace characters
893
907
  $listSplit = '\\s+' if $listSplit eq '\\s*';
894
- $mainTool->Options(ListSplit => $listSplit);
908
+ $mt->Options(ListSplit => $listSplit);
895
909
  next;
896
910
  }
897
911
  /^sort$/i and $sortOpt = 1, next;
@@ -928,7 +942,7 @@ for (;;) {
928
942
  }
929
943
  if (/^(-)?struct$/i) {
930
944
  $structOpt = $1 ? 0 : 1;
931
- $mainTool->Options(Struct => $structOpt);
945
+ $mt->Options(Struct => $structOpt);
932
946
  # require XMPStruct in case we need to serialize a structure
933
947
  require 'Image/ExifTool/XMPStruct.pl' if $structOpt;
934
948
  next;
@@ -936,16 +950,16 @@ for (;;) {
936
950
  /^t(ab)?$/ and $tabFormat = 1, next;
937
951
  if (/^T$/ or $a eq 'table') {
938
952
  $tabFormat = 1; $outFormat+=2; ++$quiet;
939
- $forcePrint = $mainTool->Options('MissingTagValue');
953
+ $forcePrint = $mt->Options('MissingTagValue');
940
954
  unless (defined $forcePrint) {
941
955
  $forcePrint = '-';
942
- $mainTool->Options(MissingTagValue => '-');
956
+ $mt->Options(MissingTagValue => '-');
943
957
  }
944
958
  next;
945
959
  }
946
960
  if (/^(u)(nknown(2)?)?$/i) {
947
961
  my $inc = ($3 or (not $2 and $1 eq 'U')) ? 2 : 1;
948
- $mainTool->Options(Unknown => $mainTool->Options('Unknown') + $inc);
962
+ $mt->Options(Unknown => $mt->Options('Unknown') + $inc);
949
963
  next;
950
964
  }
951
965
  if ($a eq 'use') {
@@ -957,7 +971,6 @@ for (;;) {
957
971
  eval "require $module" or
958
972
  eval "require '$module'")
959
973
  {
960
- delete $SIG{'__WARN__'};
961
974
  Error("Error using module $module\n");
962
975
  $badCmd = 1;
963
976
  }
@@ -995,7 +1008,7 @@ for (;;) {
995
1008
  my $wm = shift;
996
1009
  defined $wm or Error("Expecting argument for -$_ option\n"), $badCmd=1, next;
997
1010
  $wm =~ /^[wcg]*$/i or Error("Invalid argument for -$_ option\n"), $badCmd=1, next;
998
- $mainTool->Options(WriteMode => $wm);
1011
+ $mt->Options(WriteMode => $wm);
999
1012
  next;
1000
1013
  }
1001
1014
  if (/^x$/ or $a eq 'exclude') {
@@ -1009,14 +1022,14 @@ for (;;) {
1009
1022
  }
1010
1023
  next;
1011
1024
  }
1012
- (/^X$/ or $a eq 'xmlformat') and $xml = 1, $html = $json = 0, $mainTool->Options(Duplicates => 1), next;
1025
+ (/^X$/ or $a eq 'xmlformat') and $xml = 1, $html = $json = 0, $mt->Options(Duplicates => 1), next;
1013
1026
  if (/^php$/i) {
1014
1027
  $json = 2;
1015
1028
  $html = $xml = 0;
1016
- $mainTool->Options(Duplicates=>1);
1029
+ $mt->Options(Duplicates=>1);
1017
1030
  next;
1018
1031
  }
1019
- /^z(ip)?$/i and $doUnzip = 1, $mainTool->Options(Compress => 1, Compact => 1), next;
1032
+ /^z(ip)?$/i and $doUnzip = 1, $mt->Options(Compress => 1, Compact => 1), next;
1020
1033
  $_ eq '' and push(@files, '-'), $srcStdin = 1, next; # read STDIN
1021
1034
  length $_ eq 1 and $_ ne '*' and Error("Unknown option -$_\n"), $badCmd=1, next;
1022
1035
  if (/^[^<]+(<?)=(.*)/s) {
@@ -1078,11 +1091,11 @@ for (;;) {
1078
1091
 
1079
1092
  # set verbose output to STDERR if output could be to console
1080
1093
  $vout = \*STDERR if $srcStdin and ($isWriting or @newValues);
1081
- $mainTool->Options(TextOut => $vout) if $vout eq \*STDERR;
1094
+ $mt->Options(TextOut => $vout) if $vout eq \*STDERR;
1082
1095
 
1083
1096
  # change default EXIF string encoding if MWG used
1084
- if ($useMWG and not defined $mainTool->Options('CharsetEXIF')) {
1085
- $mainTool->Options(CharsetEXIF => 'UTF8');
1097
+ if ($useMWG and not defined $mt->Options('CharsetEXIF')) {
1098
+ $mt->Options(CharsetEXIF => 'UTF8');
1086
1099
  }
1087
1100
 
1088
1101
  # print help
@@ -1152,24 +1165,24 @@ if ($textOut and $csv and $csv eq 'CSV' and not $isWriting) {
1152
1165
 
1153
1166
  if ($escapeHTML or $json) {
1154
1167
  # must be UTF8 for HTML conversion and JSON output
1155
- $mainTool->Options(Charset => 'UTF8');
1168
+ $mt->Options(Charset => 'UTF8');
1156
1169
  # use Escape option to do our HTML escaping unless XML output
1157
- $mainTool->Options(Escape => 'HTML') if $escapeHTML and not $xml;
1170
+ $mt->Options(Escape => 'HTML') if $escapeHTML and not $xml;
1158
1171
  } elsif ($escapeXML and not $xml) {
1159
- $mainTool->Options(Escape => 'XML');
1172
+ $mt->Options(Escape => 'XML');
1160
1173
  }
1161
1174
 
1162
1175
  # set sort option
1163
1176
  if ($sortOpt) {
1164
1177
  # (note that -csv sorts alphabetically by default anyway if more than 1 file)
1165
1178
  my $sort = ($outFormat > 0 or $xml or $json or $csv) ? 'Tag' : 'Descr';
1166
- $mainTool->Options(Sort => $sort, Sort2 => $sort);
1179
+ $mt->Options(Sort => $sort, Sort2 => $sort);
1167
1180
  }
1168
1181
 
1169
1182
  # set up for RDF/XML, JSON and PHP output formats
1170
1183
  if ($xml) {
1171
1184
  require Image::ExifTool::XMP; # for EscapeXML()
1172
- my $charset = $mainTool->Options('Charset');
1185
+ my $charset = $mt->Options('Charset');
1173
1186
  # standard XML encoding names for supported Charset settings
1174
1187
  # (ref http://www.iana.org/assignments/character-sets)
1175
1188
  my %encoding = (
@@ -1188,7 +1201,7 @@ if ($xml) {
1188
1201
  # switch to UTF-8 if we don't have a standard encoding name
1189
1202
  unless ($encoding{$charset}) {
1190
1203
  $charset = 'UTF8';
1191
- $mainTool->Options(Charset => $charset);
1204
+ $mt->Options(Charset => $charset);
1192
1205
  }
1193
1206
  # set file header/trailer for XML output
1194
1207
  $fileHeader = "<?xml version='1.0' encoding='$encoding{$charset}'?>\n" .
@@ -1196,7 +1209,7 @@ if ($xml) {
1196
1209
  $fileTrailer = "</rdf:RDF>\n";
1197
1210
  # extract as a list unless short output format
1198
1211
  $joinLists = 1 if $outFormat > 0;
1199
- $mainTool->Options(List => 1) unless $joinLists;
1212
+ $mt->Options(List => 1) unless $joinLists;
1200
1213
  $showGroup = $allGroup = 1; # always show group 1
1201
1214
  # set binaryOutput flag to 0 or undef (0 = output encoded binary in XML)
1202
1215
  $binaryOutput = ($outFormat > 0 ? undef : 0) if $binaryOutput;
@@ -1215,10 +1228,10 @@ if ($xml) {
1215
1228
  # to escape sequences in the strings)
1216
1229
  $binaryOutput = 0 if $binaryOutput;
1217
1230
  }
1218
- $mainTool->Options(List => 1) unless $joinLists;
1219
- $mainTool->Options(Duplicates => 0) unless defined $showGroup;
1231
+ $mt->Options(List => 1) unless $joinLists;
1232
+ $mt->Options(Duplicates => 0) unless defined $showGroup;
1220
1233
  } elsif ($structOpt) {
1221
- $mainTool->Options(List => 1);
1234
+ $mt->Options(List => 1);
1222
1235
  } else {
1223
1236
  $joinLists = 1; # join lists for all other unstructured output formats
1224
1237
  }
@@ -1249,9 +1262,9 @@ if ($verbose) {
1249
1262
  undef $binaryOutput unless $tagOut; # disable conflicting option
1250
1263
  if ($html) {
1251
1264
  $html = 2; # flag for html dump
1252
- $mainTool->Options(HtmlDump => $verbose);
1265
+ $mt->Options(HtmlDump => $verbose);
1253
1266
  } else {
1254
- $mainTool->Options(Verbose => $verbose) unless $tagOut;
1267
+ $mt->Options(Verbose => $verbose) unless $tagOut;
1255
1268
  }
1256
1269
  } elsif (defined $verbose) {
1257
1270
  # auto-flush output when -v0 is used
@@ -1277,7 +1290,7 @@ if (@newValues) {
1277
1290
  if (ref $_ eq 'HASH') {
1278
1291
  # save new values now if we stored a "SaveCount" marker
1279
1292
  if ($$_{SaveCount}) {
1280
- $saveCount = $mainTool->SaveNewValues();
1293
+ $saveCount = $mt->SaveNewValues();
1281
1294
  $needSave = 0;
1282
1295
  # insert marker to load values from CSV file now if this was the CSV file
1283
1296
  push @dynamicFiles, \$csv if $$_{SaveCount} == $csvSaveCount;
@@ -1309,7 +1322,7 @@ if (@newValues) {
1309
1322
  $setTags = $setTagsList{$newVal}[$i] if $setTagsList{$newVal}[$i];
1310
1323
  }
1311
1324
  # set specified tags from this file
1312
- unless (DoSetFromFile($mainTool, $newVal, $setTags)) {
1325
+ unless (DoSetFromFile($mt, $newVal, $setTags)) {
1313
1326
  $rtnVal = 1;
1314
1327
  next Command;
1315
1328
  }
@@ -1345,14 +1358,14 @@ if (@newValues) {
1345
1358
  # set $newVal to '' if deleting nothing
1346
1359
  $newVal = '' if $1 eq '-' and not defined $newVal;
1347
1360
  }
1348
- my ($rtn, $wrn) = $mainTool->SetNewValue($tag, $newVal, %opts);
1361
+ my ($rtn, $wrn) = $mt->SetNewValue($tag, $newVal, %opts);
1349
1362
  $needSave = 1;
1350
1363
  ++$isWriting if $rtn;
1351
1364
  $wrn and Warn "Warning: $wrn\n";
1352
1365
  }
1353
1366
  # exclude specified tags
1354
1367
  foreach (@exclude) {
1355
- $mainTool->SetNewValue($_, undef, Replace => 2);
1368
+ $mt->SetNewValue($_, undef, Replace => 2);
1356
1369
  $needSave = 1;
1357
1370
  }
1358
1371
  unless ($isWriting or $outOpt or @tags) {
@@ -1371,20 +1384,20 @@ if ($isWriting and @tags and not $outOpt) {
1371
1384
  }
1372
1385
  # save current state of new values if setting values from target file
1373
1386
  # or if we may be translating to a different format
1374
- $mainTool->SaveNewValues() if $outOpt or (@dynamicFiles and $needSave);
1387
+ $mt->SaveNewValues() if $outOpt or (@dynamicFiles and $needSave);
1375
1388
 
1376
1389
  $multiFile = 1 if @files > 1;
1377
- @exclude and $mainTool->Options(Exclude => \@exclude);
1390
+ @exclude and $mt->Options(Exclude => \@exclude);
1378
1391
 
1379
1392
  undef $binaryOutput if $html;
1380
1393
 
1381
1394
  if ($binaryOutput) {
1382
1395
  $outFormat = 99; # shortest possible output format
1383
- $mainTool->Options(PrintConv => 0);
1396
+ $mt->Options(PrintConv => 0);
1384
1397
  unless ($textOut or $binaryStdout) {
1385
1398
  binmode(STDOUT);
1386
1399
  $binaryStdout = 1;
1387
- $mainTool->Options(TextOut => ($vout = \*STDERR));
1400
+ $mt->Options(TextOut => ($vout = \*STDERR));
1388
1401
  }
1389
1402
  # disable conflicting options
1390
1403
  undef $showGroup;
@@ -1392,7 +1405,7 @@ if ($binaryOutput) {
1392
1405
 
1393
1406
  # sort by groups to look nicer depending on options
1394
1407
  if (defined $showGroup and not (@tags and $allGroup)) {
1395
- $mainTool->Options(Sort => "Group$showGroup");
1408
+ $mt->Options(Sort => "Group$showGroup");
1396
1409
  }
1397
1410
 
1398
1411
  if (defined $textOut) {
@@ -1420,14 +1433,14 @@ if ($outOpt) {
1420
1433
  }
1421
1434
 
1422
1435
  # set flag to fix description lengths if necessary
1423
- $fixLen = ($utf8 and $mainTool->Options('Lang') ne 'en' and eval 'require Encode');
1436
+ $fixLen = ($utf8 and $mt->Options('Lang') ne 'en' and eval 'require Encode');
1424
1437
 
1425
1438
  # sort input files if specified
1426
1439
  if (@fileOrder) {
1427
1440
  my @allFiles;
1428
1441
  ProcessFiles(undef, \@allFiles);
1429
1442
  my $sortTool = new Image::ExifTool;
1430
- $sortTool->Options(PrintConv => $mainTool->Options('PrintConv'));
1443
+ $sortTool->Options(PrintConv => $mt->Options('PrintConv'));
1431
1444
  $sortTool->Options(Duplicates => 0);
1432
1445
  my (%sortBy, %isFloat, @rev, $file);
1433
1446
  # save reverse sort flags
@@ -1469,22 +1482,24 @@ if (@fileOrder) {
1469
1482
  # set file count for progress message
1470
1483
  $progressMax = scalar @files if defined $progress;
1471
1484
 
1472
- # store duplicate database information under canonical filenames
1485
+ # store duplicate database information under absolute path
1473
1486
  my @dbKeys = keys %database;
1474
1487
  if (@dbKeys and require Cwd) {
1488
+ undef $evalWarning;
1489
+ local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] };
1475
1490
  foreach (@dbKeys) {
1476
- my $canonFile = Cwd::abs_path($_);
1477
- if (defined $canonFile) {
1478
- $database{$canonFile} = $database{$_} unless $database{$canonFile};
1491
+ my $absFile = Cwd::abs_path($_);
1492
+ if (defined $absFile) {
1493
+ $database{$absFile} = $database{$_} unless $database{$absFile};
1479
1494
  } else {
1480
1495
  # (may happen on Mac if the filename encoding is incorrect in the database)
1481
- Warn "Error generating canonical filename for $_\n";
1496
+ Warn "Error generating absolute path for $_\n";
1482
1497
  }
1483
1498
  }
1484
1499
  }
1485
1500
 
1486
1501
  # process all specified files
1487
- ProcessFiles($mainTool);
1502
+ ProcessFiles($mt);
1488
1503
 
1489
1504
  if ($filtered and not $validFile) {
1490
1505
  Warn "No file with specified extension\n";
@@ -1573,7 +1588,7 @@ Exit $rtnVal; # all done
1573
1588
  # Inputs: 0) ExifTool object reference, 1) file name
1574
1589
  sub GetImageInfo($$)
1575
1590
  {
1576
- my ($exifTool, $orig) = @_;
1591
+ my ($et, $orig) = @_;
1577
1592
  my (@foundTags, $info, $file, $ind);
1578
1593
 
1579
1594
  # determine the name of the source file based on the original input file name
@@ -1617,8 +1632,8 @@ sub GetImageInfo($$)
1617
1632
  # return all tags but explicitly mention tags on command line so
1618
1633
  # requested images will generate the appropriate warnings
1619
1634
  @foundTags = ('*', @tags) if @tags;
1620
- $info = $exifTool->ImageInfo(Infile($pipe,$isWriting), \@foundTags, $opts);
1621
- my $cond = $exifTool->InsertTagValues(\@foundTags, $condition, \%info);
1635
+ $info = $et->ImageInfo(Infile($pipe,$isWriting), \@foundTags, $opts);
1636
+ my $cond = $et->InsertTagValues(\@foundTags, $condition, \%info);
1622
1637
 
1623
1638
  #### eval "-if" condition (%info)
1624
1639
  my $result = eval $cond;
@@ -1630,7 +1645,6 @@ sub GetImageInfo($$)
1630
1645
  if ($verbose) {
1631
1646
  chomp $evalWarning;
1632
1647
  $evalWarning =~ s/ at \(eval .*//s;
1633
- delete $SIG{'__WARN__'};
1634
1648
  Warn "Condition: $evalWarning - $file\n";
1635
1649
  }
1636
1650
  }
@@ -1667,19 +1681,19 @@ sub GetImageInfo($$)
1667
1681
  $fp or ++$countBad, return;
1668
1682
  # delete file if we exit prematurely (unless appending)
1669
1683
  $tmpText = $outfile unless $append;
1670
- $exifTool->Options(TextOut => $fp);
1684
+ $et->Options(TextOut => $fp);
1671
1685
  }
1672
1686
 
1673
1687
  if ($isWriting) {
1674
1688
  print $vout "======== $file$progStr\n" if defined $verbose;
1675
- SetImageInfo($exifTool, $file, $orig);
1676
- $info = $exifTool->GetInfo('Warning', 'Error');
1677
- PrintErrors($exifTool, $info, $file);
1689
+ SetImageInfo($et, $file, $orig);
1690
+ $info = $et->GetInfo('Warning', 'Error');
1691
+ PrintErrors($et, $info, $file);
1678
1692
  # close output text file if necessary
1679
1693
  if ($outfile) {
1680
1694
  undef $tmpText;
1681
1695
  close($fp);
1682
- $exifTool->Options(TextOut => $vout);
1696
+ $et->Options(TextOut => $vout);
1683
1697
  if ($info->{Error}) {
1684
1698
  unlink $outfile; # erase bad file
1685
1699
  } elsif ($append) {
@@ -1715,25 +1729,25 @@ sub GetImageInfo($$)
1715
1729
  # get the information we wanted
1716
1730
  if (@tags and not %printFmt) {
1717
1731
  @foundTags = @tags;
1718
- $info = $exifTool->GetInfo(\@foundTags);
1732
+ $info = $et->GetInfo(\@foundTags);
1719
1733
  }
1720
1734
  } else {
1721
1735
  # request specified tags unless using print format option
1722
- my $oldDups = $exifTool->Options('Duplicates');
1736
+ my $oldDups = $et->Options('Duplicates');
1723
1737
  if (%printFmt) {
1724
- $exifTool->Options(Duplicates => 1);
1725
- $exifTool->Options(RequestAll => 1);
1738
+ $et->Options(Duplicates => 1);
1739
+ $et->Options(RequestAll => 1);
1726
1740
  } else {
1727
1741
  @foundTags = @tags;
1728
1742
  }
1729
1743
  # extract the information
1730
- $info = $exifTool->ImageInfo(Infile($pipe), \@foundTags);
1731
- $exifTool->Options(Duplicates => $oldDups);
1744
+ $info = $et->ImageInfo(Infile($pipe), \@foundTags);
1745
+ $et->Options(Duplicates => $oldDups);
1732
1746
  }
1733
1747
  # all done now if we already wrote output text file (ie. verbose option)
1734
1748
  if ($fp) {
1735
1749
  if ($outfile) {
1736
- $exifTool->Options(TextOut => \*STDOUT);
1750
+ $et->Options(TextOut => \*STDOUT);
1737
1751
  undef $tmpText;
1738
1752
  if ($info->{Error}) {
1739
1753
  close($fp);
@@ -1753,9 +1767,9 @@ sub GetImageInfo($$)
1753
1767
  # (because we are likely ignoring them and piping stdout to file)
1754
1768
  # or if there is none of the requested information available
1755
1769
  if ($binaryOutput or not %$info) {
1756
- my $errs = $exifTool->GetInfo('Warning', 'Error');
1757
- PrintErrors($exifTool, $errs, $file) and $rtnVal = 1;
1758
- } elsif ($exifTool->GetValue('Error')) {
1770
+ my $errs = $et->GetInfo('Warning', 'Error');
1771
+ PrintErrors($et, $errs, $file) and $rtnVal = 1;
1772
+ } elsif ($et->GetValue('Error')) {
1759
1773
  $rtnVal = 1;
1760
1774
  }
1761
1775
 
@@ -1772,7 +1786,7 @@ sub GetImageInfo($$)
1772
1786
  my ($type, $doc, $grp);
1773
1787
  undef $fileTrailer;
1774
1788
  # repeat for each embedded document if necessary
1775
- my $lastDoc = $exifTool->Options('ExtractEmbedded') ? $exifTool->{DOC_COUNT} : 0;
1789
+ my $lastDoc = $et->Options('ExtractEmbedded') ? $$et{DOC_COUNT} : 0;
1776
1790
  foreach $type ('HEAD', 'BODY', 'TAIL') {
1777
1791
  my $prf = $printFmt{$type} or next;
1778
1792
  for ($doc=0; $doc<=$lastDoc; ++$doc) {
@@ -1790,7 +1804,7 @@ sub GetImageInfo($$)
1790
1804
  }
1791
1805
  my @lines;
1792
1806
  foreach (@$prf) {
1793
- my $line = $exifTool->InsertTagValues(\@foundTags, $_, 'Warn');
1807
+ my $line = $et->InsertTagValues(\@foundTags, $_, 'Warn');
1794
1808
  push @lines, $line if defined $line;
1795
1809
  }
1796
1810
  $lineCount += scalar @lines;
@@ -1803,8 +1817,8 @@ sub GetImageInfo($$)
1803
1817
  }
1804
1818
  }
1805
1819
  delete $printFmt{HEAD} unless $outfile; # print header only once per output file
1806
- my $errs = $exifTool->GetInfo('Warning', 'Error');
1807
- PrintErrors($exifTool, $errs, $file);
1820
+ my $errs = $et->GetInfo('Warning', 'Error');
1821
+ PrintErrors($et, $errs, $file);
1808
1822
  } elsif (not $disableOutput) {
1809
1823
  my ($tag, $line, %noDups, %csvInfo, $bra, $ket, $sep);
1810
1824
  if ($fp) {
@@ -1824,7 +1838,7 @@ sub GetImageInfo($$)
1824
1838
  # define namespaces for all tag groups
1825
1839
  my %groups;
1826
1840
  foreach $tag (@foundTags) {
1827
- my ($grp, $grp1) = $exifTool->GetGroup($tag);
1841
+ my ($grp, $grp1) = $et->GetGroup($tag);
1828
1842
  unless ($grp1) {
1829
1843
  next unless defined $forcePrint;
1830
1844
  $grp = $grp1 = 'Unknown';
@@ -1853,7 +1867,7 @@ sub GetImageInfo($$)
1853
1867
  }
1854
1868
  # suppress duplicates manually in JSON and short XML output
1855
1869
  my $noDups = ($json or ($xml and $outFormat > 0));
1856
- my $printConv = $mainTool->Options('PrintConv');
1870
+ my $printConv = $mt->Options('PrintConv');
1857
1871
  my $lastGroup = '';
1858
1872
  TAG: foreach $tag (@foundTags) {
1859
1873
  my $tagName = GetTagName($tag);
@@ -1863,7 +1877,7 @@ TAG: foreach $tag (@foundTags) {
1863
1877
  if (ref $val) {
1864
1878
  if (defined $binaryOutput and not $binaryOutput) { # happens with -X -b or -php -b
1865
1879
  # avoid extracting Protected binary tags (ie. data blocks) [insider information]
1866
- next if $exifTool->{TAG_INFO}{$tag}{Protected};
1880
+ next if $$et{TAG_INFO}{$tag}{Protected};
1867
1881
  }
1868
1882
  $val = ConvertBinary($val); # convert SCALAR references
1869
1883
  if ($structOpt) {
@@ -1896,11 +1910,11 @@ TAG: foreach $tag (@foundTags) {
1896
1910
  }
1897
1911
  }
1898
1912
  if (defined $showGroup) {
1899
- $group = $exifTool->GetGroup($tag, $showGroup);
1913
+ $group = $et->GetGroup($tag, $showGroup);
1900
1914
  # look ahead to see if this tag may suppress a priority tag in
1901
1915
  # the same group, and if so suppress this tag instead
1902
1916
  next if $noDups and $tag =~ /^(.*?) ?\(/ and defined $$info{$1} and
1903
- $group eq $exifTool->GetGroup($1, $showGroup);
1917
+ $group eq $et->GetGroup($1, $showGroup);
1904
1918
  $group = 'Unknown' if not $group and ($xml or $json);
1905
1919
  if ($fp and not ($allGroup or $csv)) {
1906
1920
  if ($lastGroup ne $group) {
@@ -1930,14 +1944,14 @@ TAG: foreach $tag (@foundTags) {
1930
1944
  for (;;) {
1931
1945
  if ($tagOut) {
1932
1946
  # determine suggested extension for output file
1933
- my $ext = SuggestedExtension($exifTool, \$val, $tagName);
1947
+ my $ext = SuggestedExtension($et, \$val, $tagName);
1934
1948
  if (%wext and ($wext{$ext} || $wext{'*'} || -1) < 0) {
1935
1949
  if ($verbose and $verbose > 1) {
1936
1950
  print $vout "Not writing $ext output file for $tagName\n";
1937
1951
  }
1938
1952
  next TAG;
1939
1953
  }
1940
- my @groups = $mainTool->GetGroup($tag);
1954
+ my @groups = $mt->GetGroup($tag);
1941
1955
  $outfile and close($fp), undef($tmpText); # (shouldn't happen)
1942
1956
  ($fp, $outfile, $append) = OpenOutputFile($orig, $tagName, \@groups, $ext);
1943
1957
  $fp or ++$countBad, next TAG;
@@ -1992,7 +2006,7 @@ TAG: foreach $tag (@foundTags) {
1992
2006
  }
1993
2007
 
1994
2008
  # get description if we need it (use tag name if $outFormat > 0)
1995
- my $desc = $outFormat > 0 ? $tagName : $exifTool->GetDescription($tag);
2009
+ my $desc = $outFormat > 0 ? $tagName : $et->GetDescription($tag);
1996
2010
 
1997
2011
  if ($xml) {
1998
2012
  # RDF/XML output format
@@ -2020,7 +2034,7 @@ TAG: foreach $tag (@foundTags) {
2020
2034
  }
2021
2035
  my ($xtra, $valNum, $descClose);
2022
2036
  if ($showTagID) {
2023
- my ($id, $lang) = $exifTool->GetTagID($tag);
2037
+ my ($id, $lang) = $et->GetTagID($tag);
2024
2038
  if ($id =~ /^\d+$/) {
2025
2039
  $id = sprintf("0x%.4x", $id) if $showTagID eq 'H';
2026
2040
  } else {
@@ -2032,8 +2046,8 @@ TAG: foreach $tag (@foundTags) {
2032
2046
  $xtra = '';
2033
2047
  }
2034
2048
  if ($tabFormat) {
2035
- my $table = $exifTool->GetTableName($tag);
2036
- my $index = $exifTool->GetTagIndex($tag);
2049
+ my $table = $et->GetTableName($tag);
2050
+ my $index = $et->GetTagIndex($tag);
2037
2051
  $xtra .= " et:table='$table'";
2038
2052
  $xtra .= " et:index='$index'" if defined $index;
2039
2053
  }
@@ -2060,7 +2074,7 @@ TAG: foreach $tag (@foundTags) {
2060
2074
  if ($printConv) {
2061
2075
  # print PrintConv value
2062
2076
  print $fp "\n <et:prt$val</et:prt>";
2063
- $val = $exifTool->GetValue($tag, 'ValueConv');
2077
+ $val = $et->GetValue($tag, 'ValueConv');
2064
2078
  $val = '' unless defined $val;
2065
2079
  # go back to print ValueConv value only if different
2066
2080
  next unless IsEqual($val, $lastVal);
@@ -2086,14 +2100,14 @@ TAG: foreach $tag (@foundTags) {
2086
2100
  if ($showTagID or $outFormat < 0) {
2087
2101
  $val = { val => $val };
2088
2102
  if ($showTagID) {
2089
- my $id = $exifTool->GetTagID($tag);
2103
+ my $id = $et->GetTagID($tag);
2090
2104
  $id = sprintf('0x%.4x', $id) if $showTagID eq 'H' and $id =~ /^\d+$/;
2091
2105
  $$val{id} = $id;
2092
2106
  }
2093
2107
  if ($outFormat < 0) {
2094
2108
  $$val{desc} = $desc;
2095
2109
  if ($printConv) {
2096
- my $num = $exifTool->GetValue($tag, 'ValueConv');
2110
+ my $num = $et->GetValue($tag, 'ValueConv');
2097
2111
  $$val{num} = $num unless IsEqual($num, $$val{val});
2098
2112
  }
2099
2113
  }
@@ -2104,7 +2118,7 @@ TAG: foreach $tag (@foundTags) {
2104
2118
  }
2105
2119
  my $id;
2106
2120
  if ($showTagID) {
2107
- $id = $exifTool->GetTagID($tag);
2121
+ $id = $et->GetTagID($tag);
2108
2122
  if ($id =~ /^(\d+)(\.\d+)?$/) { # only print numeric ID's
2109
2123
  $id = sprintf("0x%.4x", $1) if $showTagID eq 'H';
2110
2124
  } else {
@@ -2228,15 +2242,15 @@ TAG: foreach $tag (@foundTags) {
2228
2242
  # Returns: true on success
2229
2243
  sub SetImageInfo($$$)
2230
2244
  {
2231
- my ($exifTool, $file, $orig) = @_;
2245
+ my ($et, $file, $orig) = @_;
2232
2246
  my ($outfile, $restored, $isTemporary, $isStdout, $outType, $tagsFromSrc);
2233
2247
  my $infile = $file; # save infile in case we change it again
2234
2248
 
2235
2249
  undef $tmpFile; # make sure this isn't defined
2236
2250
 
2237
2251
  # clear any existing errors or warnings since we check these on return
2238
- delete $exifTool->{VALUE}->{Error};
2239
- delete $exifTool->{VALUE}->{Warning};
2252
+ delete $$et{VALUE}{Error};
2253
+ delete $$et{VALUE}{Warning};
2240
2254
 
2241
2255
  # first, try to determine our output file name so we can return quickly
2242
2256
  # if it already exists (note: this test must be delayed until after we
@@ -2272,7 +2286,7 @@ sub SetImageInfo($$$)
2272
2286
  }
2273
2287
  if ($file ne '') {
2274
2288
  # restore previous new values unless done already
2275
- $exifTool->RestoreNewValues() unless $restored;
2289
+ $et->RestoreNewValues() unless $restored;
2276
2290
  $restored = 1;
2277
2291
  # translate to this type by setting specified tags from file
2278
2292
  my @setTags = @tags;
@@ -2288,7 +2302,7 @@ sub SetImageInfo($$$)
2288
2302
  # assume "-tagsFromFile @" unless -tagsFromFile already specified
2289
2303
  # (%setTags won't be empty if -tagsFromFile used)
2290
2304
  if (not %setTags or (@setTags and not $setTags{'@'})) {
2291
- return 0 unless DoSetFromFile($exifTool, $file, \@setTags);
2305
+ return 0 unless DoSetFromFile($et, $file, \@setTags);
2292
2306
  } elsif (@setTags) {
2293
2307
  # add orphaned tags to existing "-tagsFromFile @" for this file only
2294
2308
  push @setTags, @{$setTags{'@'}};
@@ -2313,7 +2327,7 @@ sub SetImageInfo($$$)
2313
2327
  # set tags from destination file if required
2314
2328
  if (@dynamicFiles) {
2315
2329
  # restore previous values if necessary
2316
- $exifTool->RestoreNewValues() unless $restored;
2330
+ $et->RestoreNewValues() unless $restored;
2317
2331
  my ($dyFile, %setTagsIndex);
2318
2332
  foreach $dyFile (@dynamicFiles) {
2319
2333
  if (not ref $dyFile) {
@@ -2334,7 +2348,7 @@ sub SetImageInfo($$$)
2334
2348
  $setTags = $setTagsList{$dyFile}[$i] if $setTagsList{$dyFile}[$i];
2335
2349
  }
2336
2350
  # set new values values from file
2337
- return 0 unless DoSetFromFile($exifTool, $fromFile, $setTags);
2351
+ return 0 unless DoSetFromFile($et, $fromFile, $setTags);
2338
2352
  } elsif (ref $dyFile eq 'ARRAY') {
2339
2353
  # a dynamic file containing a simple tag value
2340
2354
  my $fname = FilenameSPrintf($$dyFile[1], $orig);
@@ -2342,29 +2356,32 @@ sub SetImageInfo($$$)
2342
2356
  my $opts = $$dyFile[2];
2343
2357
  if (defined $fname and SlurpFile($fname, \$buff)) {
2344
2358
  $verbose and print $vout "Reading $$dyFile[0] from $fname\n";
2345
- ($rtn, $wrn) = $mainTool->SetNewValue($$dyFile[0], $buff, %$opts);
2359
+ ($rtn, $wrn) = $mt->SetNewValue($$dyFile[0], $buff, %$opts);
2346
2360
  $wrn and Warn "$wrn\n";
2347
2361
  }
2348
2362
  # remove this tag if we couldn't set it properly
2349
- $rtn or $mainTool->SetNewValue($$dyFile[0], undef, Replace => 2,
2350
- ProtectSaved => $$opts{ProtectSaved});
2363
+ $rtn or $mt->SetNewValue($$dyFile[0], undef, Replace => 2,
2364
+ ProtectSaved => $$opts{ProtectSaved});
2351
2365
  next;
2352
2366
  } elsif (ref $dyFile eq 'SCALAR') {
2353
2367
  # set new values from CSV database
2354
2368
  my ($f, $found, $tag);
2369
+ undef $evalWarning;
2370
+ local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] };
2355
2371
  # read tags for SourceFile '*' plus the specific file
2356
2372
  foreach $f ('*', $file) {
2357
2373
  my $csvInfo = $database{$f};
2358
2374
  unless ($csvInfo) {
2359
2375
  next if $f eq '*' or not require Cwd;
2360
- # check canonical file name
2361
- $csvInfo = $database{Cwd::abs_path($f)} or next;
2376
+ # check absolute path
2377
+ my $absPath = Cwd::abs_path($f);
2378
+ next unless defined $absPath and $csvInfo = $database{$absPath};
2362
2379
  }
2363
2380
  $found = 1;
2364
2381
  $verbose and print $vout "Setting new values from $csv database\n";
2365
2382
  foreach $tag (sort keys %$csvInfo) {
2366
2383
  next if $tag =~ /\b(SourceFile|Directory|FileName)$/i; # don't write these
2367
- my ($rtn, $wrn) = $mainTool->SetNewValue($tag, $$csvInfo{$tag},
2384
+ my ($rtn, $wrn) = $mt->SetNewValue($tag, $$csvInfo{$tag},
2368
2385
  Protected => 1, AddValue => $csvAdd,
2369
2386
  ProtectSaved => $csvSaveCount);
2370
2387
  $wrn and Warn "$wrn\n" if $verbose;
@@ -2373,8 +2390,8 @@ sub SetImageInfo($$$)
2373
2390
  unless ($found) {
2374
2391
  Warn("No SourceFile '$file' in imported $csv database\n");
2375
2392
  if (require Cwd) {
2376
- my $cFile = Cwd::abs_path($file);
2377
- Warn("(canonical path: '$cFile')\n");
2393
+ my $absFile = Cwd::abs_path($file);
2394
+ Warn("(absolute path: '$absFile')\n") if defined $absFile;
2378
2395
  }
2379
2396
  return 0;
2380
2397
  }
@@ -2390,21 +2407,21 @@ sub SetImageInfo($$$)
2390
2407
  }
2391
2408
  } else {
2392
2409
  # determine what our output file name should be
2393
- my $newFileName = $exifTool->GetNewValues('FileName');
2394
- my $newDir = $exifTool->GetNewValues('Directory');
2410
+ my $newFileName = $et->GetNewValues('FileName');
2411
+ my $newDir = $et->GetNewValues('Directory');
2395
2412
  if (defined $newFileName or defined $newDir or ($doSetFileName and defined $outfile)) {
2396
2413
  if ($newFileName) {
2397
2414
  $newFileName = FilenameSPrintf($newFileName, $orig);
2398
2415
  if (defined $outfile) {
2399
- $outfile = Image::ExifTool::GetNewFileName($orig, $outfile) if $orig ne '';
2416
+ $outfile = Image::ExifTool::GetNewFileName($file, $outfile) if $file ne '';
2400
2417
  $outfile = Image::ExifTool::GetNewFileName($outfile, $newFileName);
2401
- } elsif ($orig ne '') {
2402
- $outfile = Image::ExifTool::GetNewFileName($orig, $newFileName);
2418
+ } elsif ($file ne '') {
2419
+ $outfile = Image::ExifTool::GetNewFileName($file, $newFileName);
2403
2420
  }
2404
2421
  }
2405
2422
  if ($newDir) {
2406
2423
  $newDir = FilenameSPrintf($newDir, $orig);
2407
- $outfile = Image::ExifTool::GetNewFileName(defined $outfile ? $outfile : $orig, $newDir);
2424
+ $outfile = Image::ExifTool::GetNewFileName(defined $outfile ? $outfile : $file, $newDir);
2408
2425
  }
2409
2426
  $outfile = NextUnusedFilename($outfile, $infile);
2410
2427
  if (-e $outfile) {
@@ -2425,7 +2442,7 @@ sub SetImageInfo($$$)
2425
2442
  }
2426
2443
  unless (defined $tmpFile) {
2427
2444
  # count the number of tags and pseudo-tags we are writing
2428
- my ($numSet, $numPseudo) = $exifTool->CountNewValues();
2445
+ my ($numSet, $numPseudo) = $et->CountNewValues();
2429
2446
  if (-e $file) {
2430
2447
  unless ($numSet) {
2431
2448
  # no need to write if no tags set
@@ -2453,10 +2470,10 @@ sub SetImageInfo($$$)
2453
2470
  }
2454
2471
  # quickly rename file and/or set file date if this is all we are doing
2455
2472
  if ($numSet == $numPseudo) {
2456
- my $r1 = $exifTool->SetFileModifyDate($file,undef,'FileCreateDate');
2457
- my $r2 = $exifTool->SetFileModifyDate($file);
2473
+ my $r1 = $et->SetFileModifyDate($file,undef,'FileCreateDate');
2474
+ my $r2 = $et->SetFileModifyDate($file);
2458
2475
  my $r3 = 0;
2459
- $r3 = $exifTool->SetFileName($file, $outfile) if defined $outfile;
2476
+ $r3 = $et->SetFileName($file, $outfile) if defined $outfile;
2460
2477
  if ($r1 > 0 or $r2 > 0 or $r3 > 0) {
2461
2478
  ++$countGoodWr;
2462
2479
  } elsif ($r1 < 0 or $r2 < 0 or $r3 < 0) {
@@ -2482,7 +2499,7 @@ sub SetImageInfo($$$)
2482
2499
  }
2483
2500
  }
2484
2501
  # rewrite the file
2485
- my $success = $exifTool->WriteInfo(Infile($file), $outfile, $outType);
2502
+ my $success = $et->WriteInfo(Infile($file), $outfile, $outType);
2486
2503
 
2487
2504
  # get file time if preserving it
2488
2505
  my ($aTime, $mTime, $cTime);
@@ -2889,9 +2906,9 @@ sub Infile($;$)
2889
2906
  sub DoSetFromFile($$$)
2890
2907
  {
2891
2908
  local $_;
2892
- my ($exifTool, $file, $setTags) = @_;
2909
+ my ($et, $file, $setTags) = @_;
2893
2910
  $verbose and print $vout "Setting new values from $file\n";
2894
- my $info = $exifTool->SetNewValuesFromFile(Infile($file,1), @$setTags);
2911
+ my $info = $et->SetNewValuesFromFile(Infile($file,1), @$setTags);
2895
2912
  my $numSet = scalar(keys %$info);
2896
2913
  if ($$info{Error}) {
2897
2914
  # delete all error and warning tags
@@ -2908,7 +2925,7 @@ sub DoSetFromFile($$$)
2908
2925
  ++$warns while $$info{"Warning ($warns)"};
2909
2926
  $numSet -= $warns;
2910
2927
  }
2911
- PrintErrors($exifTool, $info, $file) and ++$countBadWr, return 0;
2928
+ PrintErrors($et, $info, $file) and ++$countBadWr, return 0;
2912
2929
  Warn "Warning: No writable tags set from $file\n" unless $numSet;
2913
2930
  return 1;
2914
2931
  }
@@ -2928,7 +2945,7 @@ sub CleanFilename($)
2928
2945
  # Notes: arg 0 is not used if arg 1 is defined
2929
2946
  sub ProcessFiles($;$)
2930
2947
  {
2931
- my ($exifTool, $list) = @_;
2948
+ my ($et, $list) = @_;
2932
2949
  my $file;
2933
2950
  foreach $file (@files) {
2934
2951
  if (defined $progressMax) {
@@ -2937,7 +2954,7 @@ sub ProcessFiles($;$)
2937
2954
  }
2938
2955
  if (-d $file) {
2939
2956
  $multiFile = $validFile = 1;
2940
- ScanDir($mainTool, $file, $list);
2957
+ ScanDir($mt, $file, $list);
2941
2958
  } elsif ($filterFlag and not AcceptFile($file)) {
2942
2959
  if (-e $file) {
2943
2960
  $filtered = 1;
@@ -2949,7 +2966,7 @@ sub ProcessFiles($;$)
2949
2966
  } else {
2950
2967
  $validFile = 1;
2951
2968
  $list and push(@$list, $file), next;
2952
- GetImageInfo($exifTool, $file);
2969
+ GetImageInfo($et, $file);
2953
2970
  }
2954
2971
  }
2955
2972
  }
@@ -2959,7 +2976,7 @@ sub ProcessFiles($;$)
2959
2976
  # Inputs: 0) ExifTool ref, 1) directory name, 2) list ref to return file names
2960
2977
  sub ScanDir($$;$)
2961
2978
  {
2962
- my ($exifTool, $dir, $list) = @_;
2979
+ my ($et, $dir, $list) = @_;
2963
2980
  opendir(DIR_HANDLE, $dir) or Warn("Error opening directory $dir\n"), return;
2964
2981
  my @fileList = readdir(DIR_HANDLE);
2965
2982
  closedir(DIR_HANDLE);
@@ -2971,7 +2988,7 @@ sub ScanDir($$;$)
2971
2988
  if (-d $path) {
2972
2989
  next unless $recurse and $file !~ /^\./; # ignore dirs starting with "."
2973
2990
  next if $ignore{$file} or ($ignore{SYMLINKS} and -l $path);
2974
- ScanDir($exifTool, $path, $list);
2991
+ ScanDir($et, $path, $list);
2975
2992
  next;
2976
2993
  }
2977
2994
  # apply rules from -ext options
@@ -2996,7 +3013,7 @@ sub ScanDir($$;$)
2996
3013
  }
2997
3014
  }
2998
3015
  $list and push(@$list, $path), next;
2999
- GetImageInfo($exifTool, $path);
3016
+ GetImageInfo($et, $path);
3000
3017
  }
3001
3018
  ++$countDir;
3002
3019
  }
@@ -3054,7 +3071,7 @@ sub AddPrintFormat($)
3054
3071
  # Returns: file extension (lower case), or 'dat' if unknown
3055
3072
  sub SuggestedExtension($$$)
3056
3073
  {
3057
- my ($exifTool, $valPt, $tag) = @_;
3074
+ my ($et, $valPt, $tag) = @_;
3058
3075
  my $ext;
3059
3076
  if (not $binaryOutput) {
3060
3077
  $ext = 'txt';
@@ -3073,7 +3090,7 @@ sub SuggestedExtension($$$)
3073
3090
  } elsif ($$valPt =~ /^RIFF....WAVE/s) {
3074
3091
  $ext = 'wav';
3075
3092
  } elsif ($tag eq 'OriginalRawFileData' and
3076
- defined($ext = $exifTool->GetValue('OriginalRawFileName')))
3093
+ defined($ext = $et->GetValue('OriginalRawFileName')))
3077
3094
  {
3078
3095
  $ext =~ s/^.*\.//s;
3079
3096
  $ext = $ext ? lc($ext) : 'raw';
@@ -3466,12 +3483,12 @@ sub PrintTagList($@)
3466
3483
  # Returns: true if there was an Error
3467
3484
  sub PrintErrors($$$)
3468
3485
  {
3469
- my ($exifTool, $info, $file) = @_;
3486
+ my ($et, $info, $file) = @_;
3470
3487
  my ($tag, $key);
3471
3488
  foreach $tag (qw(Warning Error)) {
3472
3489
  next unless $$info{$tag};
3473
3490
  my @keys = ( $tag );
3474
- push @keys, sort(grep /^$tag /, keys %$info) if $exifTool->Options('Duplicates');
3491
+ push @keys, sort(grep /^$tag /, keys %$info) if $et->Options('Duplicates');
3475
3492
  foreach $key (@keys) {
3476
3493
  Warn "$tag: $info->{$key} - $file\n";
3477
3494
  }
@@ -3531,38 +3548,38 @@ supported by ExifTool (r = read, w = write, c = create):
3531
3548
 
3532
3549
  File Types
3533
3550
  ------------+-------------+-------------+-------------+------------
3534
- 3FR r | EPS r/w | M2TS r | PAGES r | RWZ r
3535
- 3G2 r | ERF r/w | M4A/V r | PBM r/w | RM r
3536
- 3GP r | EXE r | MEF r/w | PCD r | SO r
3537
- ACR r | EXIF r/w/c | MIE r/w/c | PDF r/w | SR2 r/w
3538
- AFM r | EXR r | MIFF r | PEF r/w | SRF r
3539
- AI r/w | F4A/V r | MKA r | PFA r | SRW r/w
3540
- AIFF r | FFF r/w | MKS r | PFB r | SVG r
3541
- APE r | FLA r | MKV r | PFM r | SWF r
3542
- ARW r/w | FLAC r | MNG r/w | PGF r | THM r/w
3543
- ASF r | FLV r | MODD r | PGM r/w | TIFF r/w
3544
- AVI r | FPF r | MOS r/w | PLIST r | TORRENT r
3545
- BMP r | FPX r | MOV r | PICT r | TTC r
3546
- BTF r | GIF r/w | MP3 r | PMP r | TTF r
3547
- CHM r | GZ r | MP4 r | PNG r/w | VRD r/w/c
3548
- COS r | HDP r/w | MPC r | PPM r/w | VSD r
3549
- CR2 r/w | HDR r | MPG r | PPT r | WAV r
3550
- CRW r/w | HTML r | MPO r/w | PPTX r | WDP r/w
3551
- CS1 r/w | ICC r/w/c | MQV r | PS r/w | WEBP r
3552
- DCM r | IDML r | MRW r/w | PSB r/w | WEBM r
3553
- DCP r/w | IIQ r/w | MXF r | PSD r/w | WMA r
3554
- DCR r | IND r/w | NEF r/w | PSP r | WMV r
3555
- DFONT r | INX r | NRW r/w | QTIF r | WV r
3556
- DIVX r | ITC r | NUMBERS r | RA r | X3F r/w
3557
- DJVU r | J2C r | ODP r | RAF r/w | XCF r
3558
- DLL r | JNG r/w | ODS r | RAM r | XLS r
3559
- DNG r/w | JP2 r/w | ODT r | RAR r | XLSX r
3560
- DOC r | JPEG r/w | OFR r | RAW r/w | XMP r/w/c
3561
- DOCX r | K25 r | OGG r | RIFF r | ZIP r
3551
+ 3FR r | EIP r | LNK r | PAC r | RWL r/w
3552
+ 3G2 r/w | EPS r/w | M2TS r | PAGES r | RWZ r
3553
+ 3GP r/w | ERF r/w | M4A/V r/w | PBM r/w | RM r
3554
+ ACR r | EXE r | MEF r/w | PCD r | SO r
3555
+ AFM r | EXIF r/w/c | MIE r/w/c | PDF r/w | SR2 r/w
3556
+ AI r/w | EXR r | MIFF r | PEF r/w | SRF r
3557
+ AIFF r | F4A/V r/w | MKA r | PFA r | SRW r/w
3558
+ APE r | FFF r/w | MKS r | PFB r | SVG r
3559
+ ARW r/w | FLA r | MKV r | PFM r | SWF r
3560
+ ASF r | FLAC r | MNG r/w | PGF r | THM r/w
3561
+ AVI r | FLV r | MODD r | PGM r/w | TIFF r/w
3562
+ BMP r | FPF r | MOS r/w | PLIST r | TORRENT r
3563
+ BTF r | FPX r | MOV r/w | PICT r | TTC r
3564
+ CHM r | GIF r/w | MP3 r | PMP r | TTF r
3565
+ COS r | GZ r | MP4 r/w | PNG r/w | VRD r/w/c
3566
+ CR2 r/w | HDP r/w | MPC r | PPM r/w | VSD r
3567
+ CRW r/w | HDR r | MPG r | PPT r | WAV r
3568
+ CS1 r/w | HTML r | MPO r/w | PPTX r | WDP r/w
3569
+ DCM r | ICC r/w/c | MQV r/w | PS r/w | WEBP r
3570
+ DCP r/w | IDML r | MRW r/w | PSB r/w | WEBM r
3571
+ DCR r | IIQ r/w | MXF r | PSD r/w | WMA r
3572
+ DFONT r | IND r/w | NEF r/w | PSP r | WMV r
3573
+ DIVX r | INX r | NRW r/w | QTIF r/w | WV r
3574
+ DJVU r | ITC r | NUMBERS r | RA r | X3F r/w
3575
+ DLL r | J2C r | ODP r | RAF r/w | XCF r
3576
+ DNG r/w | JNG r/w | ODS r | RAM r | XLS r
3577
+ DOC r | JP2 r/w | ODT r | RAR r | XLSX r
3578
+ DOCX r | JPEG r/w | OFR r | RAW r/w | XMP r/w/c
3579
+ DPX r | K25 r | OGG r | RIFF r | ZIP r
3562
3580
  DV r | KDC r | OGV r | RSRC r |
3563
- DVB r | KEY r | ORF r/w | RTF r |
3581
+ DVB r/w | KEY r | ORF r/w | RTF r |
3564
3582
  DYLIB r | LA r | OTF r | RW2 r/w |
3565
- EIP r | LNK r | PAC r | RWL r/w |
3566
3583
 
3567
3584
  Meta Information
3568
3585
  ----------------------+----------------------+---------------------
@@ -3587,10 +3604,10 @@ Case is not significant for any command-line option (including tag and group
3587
3604
  names), except for single-character options when the corresponding
3588
3605
  upper-case option exists. Many single-character options have equivalent
3589
3606
  long-name versions (shown in brackets), and some options have inverses which
3590
- are invoked with a leading double-dash. Note that multiple single-character
3591
- options may NOT be combined into one argument because this would be
3592
- interpreted as a tag name. Contrary to standard practice, options may
3593
- appear after source file names on the exiftool command line.
3607
+ are invoked with a leading double-dash. Unrecognized options are
3608
+ interpreted as tag names (for this reason, multiple single-character options
3609
+ may NOT be combined into one argument). Contrary to standard practice,
3610
+ options may appear after source file names on the exiftool command line.
3594
3611
 
3595
3612
  =head2 Option Summary
3596
3613
 
@@ -3687,6 +3704,7 @@ L<Other options|/Other options>
3687
3704
 
3688
3705
  L<Advanced options|/Advanced options>
3689
3706
 
3707
+ -api OPT[=VAL] Set ExifTool API option
3690
3708
  -common_args Define common arguments
3691
3709
  -config CFGFILE Specify configuration file name
3692
3710
  -echo[NUM] TEXT Echo text to stdout or stderr
@@ -3742,9 +3760,10 @@ tags from being copied (when redirecting to another tag, it is the source
3742
3760
  tag that should be excluded), or to exclude groups from being deleted when
3743
3761
  deleting all information (ie. C<-all= --exif:all> deletes all but EXIF
3744
3762
  information). But note that this will not exclude individual tags from a
3745
- group delete. Instead, individual tags may be recovered using the
3746
- B<-tagsFromFile> option (ie. C<-all= -tagsfromfile @ -artist>). Wildcards
3747
- are permitted as described above for B<-TAG>.
3763
+ group delete (unless a family 2 group is specified, see note 4 below).
3764
+ Instead, individual tags may be recovered using the B<-tagsFromFile> option
3765
+ (ie. C<-all= -tagsfromfile @ -artist>). Wildcards are permitted as described
3766
+ above for B<-TAG>.
3748
3767
 
3749
3768
  =item B<->I<TAG>[+-]B<=>[I<VALUE>]
3750
3769
 
@@ -3756,24 +3775,25 @@ C<+=> may also be used to increment numerical values, and C<-=> may be used
3756
3775
  to conditionally delete or replace a tag (see L</WRITING EXAMPLES> for
3757
3776
  examples).
3758
3777
 
3759
- I<TAG> may contain a leading family 0 or 1 group name separated by a colon.
3760
- If no group name is specified, the tag is created in the preferred group,
3761
- and updated in any other location where a same-named tag already exists.
3762
- The preferred group is the first group in the following list where I<TAG> is
3763
- valid: 1) EXIF, 2) IPTC, 3) XMP.
3778
+ I<TAG> may contain one or more leading family 0, 1 or 2 group names,
3779
+ prefixed by optional family numbers, and separated colons. If no group name
3780
+ is specified, the tag is created in the preferred group, and updated in any
3781
+ other location where a same-named tag already exists. The preferred group
3782
+ is the first group in the following list where I<TAG> is valid: 1) EXIF, 2)
3783
+ IPTC, 3) XMP.
3764
3784
 
3765
3785
  The wildcards C<*> and C<?> may be used in tag names to assign the same
3766
3786
  value to multiple tags. When specified with wildcards, "unsafe" tags are
3767
3787
  not written. A tag name of C<All> is eqivalent to C<*> (except that it
3768
3788
  doesn't require quoting, while arguments with wildcards do on systems with
3769
3789
  shell globbing), and is often used when deleting all metadata (ie. C<-All=>)
3770
- or an entire group (ie. C<-GROUP:All=>). Note that not all groups are
3771
- deletable, and that the JPEG APP14 "Adobe" group is not removed by default
3772
- with C<-All=> because it may affect the appearance of the image. Use the
3773
- B<-listd> option for a complete list of deletable groups, and see note 3
3774
- below regarding the "APP" groups. Also, within an image some groups may be
3775
- contained within others, and these groups are removed if the containing
3776
- group is deleted:
3790
+ or an entire group (ie. C<-GROUP:All=>, see note 4 below). Note that not
3791
+ all groups are deletable, and that the JPEG APP14 "Adobe" group is not
3792
+ removed by default with C<-All=> because it may affect the appearance of the
3793
+ image. Use the B<-listd> option for a complete list of deletable groups,
3794
+ and see note 5 below regarding the "APP" groups. Also, within an image some
3795
+ groups may be contained within others, and these groups are removed if the
3796
+ containing group is deleted:
3777
3797
 
3778
3798
  JPEG Image:
3779
3799
  - Deleting EXIF or IFD0 also deletes ExifIFD, GlobParamIFD,
@@ -3787,9 +3807,9 @@ group is deleted:
3787
3807
 
3788
3808
  Notes:
3789
3809
 
3790
- 1) Many tag values may be assigned in a single command. If two assignments
3791
- affect the same tag, the latter takes precedence (except for list-type tags,
3792
- where both values are written).
3810
+ 1) B<Many tag values may be assigned in a single command>. If two
3811
+ assignments affect the same tag, the latter takes precedence (except for
3812
+ list-type tags, where both values are written).
3793
3813
 
3794
3814
  2) In general, MakerNotes tags are considered "Permanent", and may be edited
3795
3815
  but not created or deleted individually. This avoids many potential
@@ -3801,7 +3821,16 @@ maker notes.
3801
3821
  never actually deleted from the file. So ExifTool alone may not be used to
3802
3822
  securely edit metadata in PDF files.
3803
3823
 
3804
- 4) The "APP" group names ("APP0" through "APP15") are used to delete JPEG
3824
+ 4) Specifying C<-GROUP:all=> deletes the entire group as a block unless a
3825
+ family 2 group is specified, in which case the tags are deleted
3826
+ individually. (Since the family 2 categories do not represent physical
3827
+ metadata blocks.) So only in this case may individual tags be excluded from
3828
+ the mass delete. For example, C<-time:all --Exif:Time:All> removes all
3829
+ deletable Time tags except those in the EXIF. This difference also applies
3830
+ when deleting all by family 2 group (ie. C<-2all:all=>) which deletes tags
3831
+ individually, as opposed to C<-all:all=> which deletes entire blocks.
3832
+
3833
+ 5) The "APP" group names ("APP0" through "APP15") are used to delete JPEG
3805
3834
  application segments which are not associated with another deletable group.
3806
3835
  For example, specifying C<-APP14:All=> will NOT delete the APP14 "Adobe"
3807
3836
  segment because this is accomplished with C<-Adobe:All>.
@@ -3835,10 +3864,10 @@ groups. This allows some information to be automatically transferred to the
3835
3864
  appropriate group when copying between images of different formats. However,
3836
3865
  if a group name is specified for a tag then the information is written only
3837
3866
  to this group (unless redirected to another group, see below). If C<All> is
3838
- used as a group name, then the information is written to the same family 1
3839
- group in the destination I<FILE>. In this way, C<-All:All> is used to copy
3840
- all information while preserving the family 1 group (ie. the specific
3841
- location in the metadata) of each tag.
3867
+ used as a group name, then each tag is written to the same family 1 group it
3868
+ had in the source file (ie. the same specific location in the metadata), but
3869
+ a different family may be specified by adding a leading family number to the
3870
+ group name (ie. C<-0All:all>).
3842
3871
 
3843
3872
  I<SRCFILE> may be the same as I<FILE> to move information around within a
3844
3873
  single file. In this case, C<@> may be used to represent the source file
@@ -4060,13 +4089,17 @@ examples demonstrate basic use of this option:
4060
4089
  # update metadata for all images in a directory from CSV file
4061
4090
  exiftool -csv=a.csv dir
4062
4091
 
4063
- Empty values are ignored when importing. To force a tag to be deleted, use
4064
- the B<-f> option and set the value to "-" in the CSV file (or to the
4065
- MissingTagValue if this API option was used). May be combined with the
4066
- B<-g> or B<-G> option to add group names to the tags. If the B<-a> option
4067
- is used to allow duplicate tag names, the duplicate tags are only included
4068
- in the CSV output if the column headings are unique. Adding the B<-G4>
4069
- option ensures a unique column heading for each tag.
4092
+ Empty values are ignored when importing. Also, FileName and Directory
4093
+ columns are ignored if they exist (ie. ExifTool will not attempt to write
4094
+ these tags with a CSV import). To force a tag to be deleted, use the B<-f>
4095
+ option and set the value to "-" in the CSV file (or to the MissingTagValue
4096
+ if this API option was used).
4097
+
4098
+ When exporting a CSV file, the B<-g> or B<-G> option to add group names to
4099
+ the tag headings. If the B<-a> option is used to allow duplicate tag names,
4100
+ the duplicate tags are only included in the CSV output if the column
4101
+ headings are unique. Adding the B<-G4> option ensures a unique column
4102
+ heading for each tag.
4070
4103
 
4071
4104
  List-type tags are stored as simple strings in a CSV file, but the B<-sep>
4072
4105
  option may be used to split them back into separate items when importing.
@@ -4180,8 +4213,8 @@ may be suffixed with a C<#> to disable print conversion.
4180
4213
  =item B<-l> (B<-long>)
4181
4214
 
4182
4215
  Use long 2-line Canon-style output format. Adds a description and
4183
- unconverted value to the XML, JSON or PHP output when B<-X>, B<-j> or
4184
- B<-php> is used.
4216
+ unconverted value (if it is different from the converted value) to the XML,
4217
+ JSON or PHP output when B<-X>, B<-j> or B<-php> is used.
4185
4218
 
4186
4219
  =item B<-L> (B<-latin>)
4187
4220
 
@@ -4266,7 +4299,7 @@ with this command:
4266
4299
 
4267
4300
  produces output like this:
4268
4301
 
4269
- -- Generated by ExifTool 9.37 --
4302
+ -- Generated by ExifTool 9.41 --
4270
4303
  File: a.jpg - 2003:10:31 15:44:19
4271
4304
  (f/5.6, 1/60s, ISO 100)
4272
4305
  File: b.jpg - 2006:05:23 11:57:38
@@ -4498,7 +4531,7 @@ although %c is only valid for output file names.
4498
4531
 
4499
4532
  This enhanced version of the B<-w> option allows a separate output file to
4500
4533
  be created for each extracted tag. The differences between B<-W> and B<-w>
4501
- are listed below:
4534
+ are as follows:
4502
4535
 
4503
4536
  1) With B<-W>, a new output file is created for each extracted tag.
4504
4537
 
@@ -4933,8 +4966,8 @@ read/write support for tags as recommended by the Metadata Working Group.
4933
4966
  To save typing, C<-use MWG> is assumed if the C<MWG> group is specified for
4934
4967
  any tag on the command line. See the
4935
4968
  L<MWG Tags documentation|Image::ExifTool::TagNames/MWG Tags> for more
4936
- details. (Note that this option is not reversible, and remains in effect
4937
- until the application terminates, even across the C<-execute> option.)
4969
+ details. Note that this option is not reversible, and remains in effect
4970
+ until the application terminates, even across the C<-execute> option.
4938
4971
 
4939
4972
  =back
4940
4973
 
@@ -5052,6 +5085,13 @@ load exiftool for each invocation.
5052
5085
 
5053
5086
  =over 5
5054
5087
 
5088
+ =item B<-api> I<OPT[=VAL]>
5089
+
5090
+ Set ExifTool API option. I<OPT> is a case-sensitive API option name. The
5091
+ option value is set to 1 if I<=VAL> is omitted. See L<Image::ExifTool
5092
+ Options|Image::ExifTool/Options> for a list of available API options. This
5093
+ overrides API options set via the config file.
5094
+
5055
5095
  =item B<-common_args>
5056
5096
 
5057
5097
  Specifies that all arguments following this option are common to all