exiftool_vendored 10.31.0 → 10.40.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 (1296) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Image-ExifTool-10.40/Changes +7693 -0
  3. data/bin/Image-ExifTool-10.40/MANIFEST +998 -0
  4. data/bin/Image-ExifTool-10.40/META.json +51 -0
  5. data/bin/Image-ExifTool-10.40/META.yml +31 -0
  6. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/Makefile.PL +0 -0
  7. data/bin/Image-ExifTool-10.40/README +240 -0
  8. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/exif2iptc.args +0 -0
  9. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/exif2xmp.args +0 -0
  10. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/gps2xmp.args +0 -0
  11. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/iptc2exif.args +0 -0
  12. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/iptc2xmp.args +0 -0
  13. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/iptcCore.args +0 -0
  14. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/pdf2xmp.args +0 -0
  15. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2exif.args +0 -0
  16. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2gps.args +0 -0
  17. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2iptc.args +0 -0
  18. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/arg_files/xmp2pdf.args +0 -0
  19. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/bibble.config +0 -0
  20. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/convert_regions.config +0 -0
  21. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/example.config +0 -0
  22. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/fotoware.config +0 -0
  23. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/gps2utm.config +0 -0
  24. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/photoshop_paths.config +0 -0
  25. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/config_files/picasa_faces.config +0 -0
  26. data/bin/Image-ExifTool-10.40/config_files/time_zone.config +76 -0
  27. data/bin/Image-ExifTool-10.40/exiftool +6462 -0
  28. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/fmt_files/gpx.fmt +0 -0
  29. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/fmt_files/gpx_wpt.fmt +0 -0
  30. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/fmt_files/kml.fmt +0 -0
  31. data/bin/Image-ExifTool-10.40/html/ExifTool.html +2122 -0
  32. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/MIE1.1-20070121.pdf +0 -0
  33. data/bin/Image-ExifTool-10.40/html/Shift.html +179 -0
  34. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/AFCP.html +0 -0
  35. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/AIFF.html +0 -0
  36. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/APE.html +0 -0
  37. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/APP12.html +0 -0
  38. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ASF.html +0 -0
  39. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Apple.html +0 -0
  40. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Audible.html +0 -0
  41. data/bin/Image-ExifTool-10.40/html/TagNames/BMP.html +233 -0
  42. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/BPG.html +0 -0
  43. data/bin/Image-ExifTool-10.40/html/TagNames/Canon.html +9741 -0
  44. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/CanonCustom.html +0 -0
  45. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/CanonRaw.html +0 -0
  46. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/CanonVRD.html +0 -0
  47. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Casio.html +0 -0
  48. data/bin/Image-ExifTool-10.40/html/TagNames/Composite.html +745 -0
  49. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DICOM.html +0 -0
  50. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DJI.html +0 -0
  51. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DNG.html +0 -0
  52. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DPX.html +0 -0
  53. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DV.html +0 -0
  54. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DarwinCore.html +0 -0
  55. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/DjVu.html +0 -0
  56. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/EXE.html +0 -0
  57. data/bin/Image-ExifTool-10.40/html/TagNames/EXIF.html +3484 -0
  58. data/bin/Image-ExifTool-10.40/html/TagNames/Extra.html +471 -0
  59. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/FLAC.html +0 -0
  60. data/bin/Image-ExifTool-10.40/html/TagNames/FLIF.html +84 -0
  61. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/FLIR.html +0 -0
  62. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Flash.html +0 -0
  63. data/bin/Image-ExifTool-10.40/html/TagNames/FlashPix.html +1475 -0
  64. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Font.html +0 -0
  65. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/FotoStation.html +0 -0
  66. data/bin/Image-ExifTool-10.40/html/TagNames/FujiFilm.html +867 -0
  67. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GE.html +0 -0
  68. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GIF.html +0 -0
  69. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GIMP.html +0 -0
  70. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GPS.html +0 -0
  71. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/GeoTiff.html +0 -0
  72. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/H264.html +0 -0
  73. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/HP.html +0 -0
  74. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/HTML.html +0 -0
  75. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ICC_Profile.html +0 -0
  76. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ID3.html +0 -0
  77. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/IPTC.html +0 -0
  78. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ISO.html +0 -0
  79. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ITC.html +0 -0
  80. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/JFIF.html +0 -0
  81. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/JPEG.html +0 -0
  82. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/JVC.html +0 -0
  83. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Jpeg2000.html +0 -0
  84. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Kodak.html +0 -0
  85. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/KyoceraRaw.html +0 -0
  86. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/LNK.html +0 -0
  87. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Leaf.html +0 -0
  88. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Lytro.html +0 -0
  89. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/M2TS.html +0 -0
  90. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MIE.html +0 -0
  91. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MIFF.html +0 -0
  92. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MNG.html +0 -0
  93. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MOI.html +0 -0
  94. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MPC.html +0 -0
  95. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MPEG.html +0 -0
  96. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MPF.html +0 -0
  97. data/bin/Image-ExifTool-10.40/html/TagNames/MWG.html +584 -0
  98. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MXF.html +0 -0
  99. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Matroska.html +0 -0
  100. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Microsoft.html +0 -0
  101. data/bin/Image-ExifTool-10.40/html/TagNames/Minolta.html +2634 -0
  102. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/MinoltaRaw.html +0 -0
  103. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Motorola.html +0 -0
  104. data/bin/Image-ExifTool-10.40/html/TagNames/Nikon.html +6016 -0
  105. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/NikonCapture.html +0 -0
  106. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/NikonCustom.html +0 -0
  107. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Nintendo.html +0 -0
  108. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/OOXML.html +0 -0
  109. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Ogg.html +0 -0
  110. data/bin/Image-ExifTool-10.40/html/TagNames/Olympus.html +3655 -0
  111. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/OpenEXR.html +0 -0
  112. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Opus.html +0 -0
  113. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PDF.html +0 -0
  114. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PGF.html +0 -0
  115. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PICT.html +0 -0
  116. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PLIST.html +0 -0
  117. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PLUS.html +0 -0
  118. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PNG.html +0 -0
  119. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PSP.html +0 -0
  120. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Palm.html +0 -0
  121. data/bin/Image-ExifTool-10.40/html/TagNames/Panasonic.html +1701 -0
  122. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PanasonicRaw.html +0 -0
  123. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Pentax.html +0 -0
  124. data/bin/Image-ExifTool-10.40/html/TagNames/PhaseOne.html +263 -0
  125. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PhotoCD.html +0 -0
  126. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PhotoMechanic.html +0 -0
  127. data/bin/Image-ExifTool-10.40/html/TagNames/Photoshop.html +739 -0
  128. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PostScript.html +0 -0
  129. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/PrintIM.html +0 -0
  130. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Qualcomm.html +0 -0
  131. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/QuickTime.html +0 -0
  132. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/RIFF.html +0 -0
  133. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/RSRC.html +0 -0
  134. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/RTF.html +0 -0
  135. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Radiance.html +0 -0
  136. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Rawzor.html +0 -0
  137. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Real.html +0 -0
  138. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Reconyx.html +0 -0
  139. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Ricoh.html +0 -0
  140. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Samsung.html +0 -0
  141. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Sanyo.html +0 -0
  142. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Scalado.html +0 -0
  143. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Shortcuts.html +0 -0
  144. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Sigma.html +0 -0
  145. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/SigmaRaw.html +0 -0
  146. data/bin/Image-ExifTool-10.40/html/TagNames/Sony.html +10305 -0
  147. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/SonyIDC.html +0 -0
  148. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Stim.html +0 -0
  149. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Theora.html +0 -0
  150. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Torrent.html +0 -0
  151. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Unknown.html +0 -0
  152. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/VCard.html +0 -0
  153. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/Vorbis.html +0 -0
  154. data/bin/Image-ExifTool-10.40/html/TagNames/XMP.html +10158 -0
  155. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/ZIP.html +0 -0
  156. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/iWork.html +0 -0
  157. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/index.html +0 -0
  158. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/TagNames/style.css +0 -0
  159. data/bin/Image-ExifTool-10.40/html/ancient_history.html +8365 -0
  160. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/canon_raw.html +0 -0
  161. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/commentary.html +0 -0
  162. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/config.html +0 -0
  163. data/bin/Image-ExifTool-10.40/html/data_members.html +286 -0
  164. data/bin/Image-ExifTool-10.40/html/exiftool_pod.html +1873 -0
  165. data/bin/Image-ExifTool-10.40/html/faq.html +1591 -0
  166. data/bin/Image-ExifTool-10.40/html/filename.html +353 -0
  167. data/bin/Image-ExifTool-10.40/html/geotag.html +661 -0
  168. data/bin/Image-ExifTool-10.40/html/history.html +317 -0
  169. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/htmldump.html +0 -0
  170. data/bin/Image-ExifTool-10.40/html/idiosyncracies.html +272 -0
  171. data/bin/Image-ExifTool-10.40/html/index.html +1363 -0
  172. data/bin/Image-ExifTool-10.40/html/install.html +261 -0
  173. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/metafiles.html +0 -0
  174. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/overview.png +0 -0
  175. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/standards.html +0 -0
  176. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/struct.html +0 -0
  177. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/style.css +0 -0
  178. data/bin/Image-ExifTool-10.40/html/under.html +137 -0
  179. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/verbose.html +0 -0
  180. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/html/writing.html +0 -0
  181. data/bin/Image-ExifTool-10.40/lib/File/RandomAccess.pm +378 -0
  182. data/bin/Image-ExifTool-10.40/lib/File/RandomAccess.pod +231 -0
  183. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool.pm +7773 -0
  184. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool.pod +2569 -0
  185. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/AES.pm +501 -0
  186. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/AFCP.pm +286 -0
  187. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/AIFF.pm +289 -0
  188. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/APE.pm +282 -0
  189. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/APP12.pm +322 -0
  190. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ASF.pm +885 -0
  191. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Apple.pm +153 -0
  192. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Audible.pm +317 -0
  193. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BMP.pm +361 -0
  194. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BPG.pm +251 -0
  195. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BZZ.pm +472 -0
  196. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BigTIFF.pm +282 -0
  197. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/BuildTagLookup.pm +2562 -0
  198. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Canon.pm +8929 -0
  199. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CanonCustom.pm +2667 -0
  200. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CanonRaw.pm +910 -0
  201. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CanonVRD.pm +2273 -0
  202. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/CaptureOne.pm +235 -0
  203. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Casio.pm +2060 -0
  204. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Charset.pm +423 -0
  205. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  206. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  207. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  208. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  209. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  210. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  211. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  212. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  213. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  214. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  215. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  216. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  217. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  218. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  219. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  220. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  221. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  222. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  223. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  224. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  225. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  226. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  227. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  228. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  229. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  230. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  231. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  232. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  233. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  234. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  235. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DICOM.pm +3874 -0
  236. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DJI.pm +71 -0
  237. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DNG.pm +835 -0
  238. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DPX.pm +182 -0
  239. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DV.pm +319 -0
  240. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DarwinCore.pm +322 -0
  241. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/DjVu.pm +376 -0
  242. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/EXE.pm +1401 -0
  243. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Exif.pm +6097 -0
  244. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FLAC.pm +297 -0
  245. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FLIF.pm +353 -0
  246. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FLIR.pm +1535 -0
  247. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Fixup.pm +366 -0
  248. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Flash.pm +755 -0
  249. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FlashPix.pm +1960 -0
  250. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Font.pm +647 -0
  251. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FotoStation.pm +261 -0
  252. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/FujiFilm.pm +1264 -0
  253. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GE.pm +81 -0
  254. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GIF.pm +542 -0
  255. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GIMP.pm +258 -0
  256. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GPS.pm +559 -0
  257. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/GeoTiff.pm +2263 -0
  258. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Geotag.pm +1287 -0
  259. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/H264.pm +1110 -0
  260. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/HP.pm +263 -0
  261. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/HTML.pm +576 -0
  262. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/HtmlDump.pm +898 -0
  263. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ICC_Profile.pm +1013 -0
  264. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ID3.pm +1570 -0
  265. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/IPTC.pm +1264 -0
  266. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ISO.pm +206 -0
  267. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ITC.pm +215 -0
  268. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Import.pm +329 -0
  269. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/InDesign.pm +277 -0
  270. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/JPEG.pm +605 -0
  271. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/JPEGDigest.pm +2616 -0
  272. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/JVC.pm +130 -0
  273. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Jpeg2000.pm +898 -0
  274. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Kodak.pm +2096 -0
  275. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/KyoceraRaw.pm +173 -0
  276. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/LNK.pm +723 -0
  277. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/cs.pm +1588 -0
  278. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/de.pm +8692 -0
  279. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/en_ca.pm +940 -0
  280. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/en_gb.pm +983 -0
  281. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/es.pm +4019 -0
  282. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/fi.pm +2854 -0
  283. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/fr.pm +4758 -0
  284. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/it.pm +7918 -0
  285. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/ja.pm +5835 -0
  286. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/ko.pm +2330 -0
  287. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/nl.pm +3222 -0
  288. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/pl.pm +1276 -0
  289. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/ru.pm +768 -0
  290. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/sv.pm +638 -0
  291. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/tr.pm +544 -0
  292. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/zh_cn.pm +1330 -0
  293. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lang/zh_tw.pm +801 -0
  294. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Leaf.pm +517 -0
  295. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Lytro.pm +217 -0
  296. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/M2TS.pm +729 -0
  297. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MIE.pm +2564 -0
  298. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MIEUnits.pod +377 -0
  299. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MIFF.pm +279 -0
  300. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MNG.pm +684 -0
  301. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MOI.pm +158 -0
  302. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MPC.pm +156 -0
  303. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MPEG.pm +736 -0
  304. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MPF.pm +288 -0
  305. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MWG.pm +757 -0
  306. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MXF.pm +3031 -0
  307. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MakerNotes.pm +1745 -0
  308. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Matroska.pm +932 -0
  309. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Microsoft.pm +904 -0
  310. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Minolta.pm +2996 -0
  311. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/MinoltaRaw.pm +535 -0
  312. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Motorola.pm +62 -0
  313. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Nikon.pm +8173 -0
  314. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/NikonCapture.pm +940 -0
  315. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/NikonCustom.pm +8682 -0
  316. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Nintendo.pm +128 -0
  317. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/OOXML.pm +409 -0
  318. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Ogg.pm +240 -0
  319. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Olympus.pm +3998 -0
  320. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/OpenEXR.pm +323 -0
  321. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Opus.pm +98 -0
  322. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PDF.pm +2367 -0
  323. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PGF.pm +143 -0
  324. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PICT.pm +1260 -0
  325. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PLIST.pm +448 -0
  326. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PLUS.pm +2607 -0
  327. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PNG.pm +1255 -0
  328. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PPM.pm +169 -0
  329. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PSP.pm +306 -0
  330. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Palm.pm +403 -0
  331. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Panasonic.pm +2378 -0
  332. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PanasonicRaw.pm +643 -0
  333. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Pentax.pm +6135 -0
  334. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PhaseOne.pm +725 -0
  335. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PhotoCD.pm +507 -0
  336. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PhotoMechanic.pm +256 -0
  337. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Photoshop.pm +952 -0
  338. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PostScript.pm +699 -0
  339. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/PrintIM.pm +125 -0
  340. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Qualcomm.pm +1344 -0
  341. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/QuickTime.pm +6708 -0
  342. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/README +1010 -0
  343. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/RIFF.pm +1587 -0
  344. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/RSRC.pm +241 -0
  345. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/RTF.pm +383 -0
  346. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Radiance.pm +144 -0
  347. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Rawzor.pm +189 -0
  348. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Real.pm +739 -0
  349. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Reconyx.pm +190 -0
  350. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Ricoh.pm +1150 -0
  351. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Samsung.pm +1271 -0
  352. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Sanyo.pm +440 -0
  353. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Scalado.pm +141 -0
  354. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Shift.pl +627 -0
  355. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Shortcuts.pm +338 -0
  356. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Sigma.pm +764 -0
  357. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/SigmaRaw.pm +670 -0
  358. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Sony.pm +9800 -0
  359. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/SonyIDC.pm +333 -0
  360. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Stim.pm +196 -0
  361. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/TagInfoXML.pm +827 -0
  362. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/TagLookup.pm +9515 -0
  363. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/TagNames.pod +30714 -0
  364. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Theora.pm +145 -0
  365. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Torrent.pm +317 -0
  366. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Unknown.pm +66 -0
  367. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/VCard.pm +405 -0
  368. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Vorbis.pm +255 -0
  369. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteCanonRaw.pl +637 -0
  370. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteExif.pl +2483 -0
  371. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteIPTC.pl +706 -0
  372. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePDF.pl +771 -0
  373. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePNG.pl +390 -0
  374. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePhotoshop.pl +266 -0
  375. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WritePostScript.pl +772 -0
  376. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteQuickTime.pl +358 -0
  377. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/WriteXMP.pl +1381 -0
  378. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/Writer.pl +6322 -0
  379. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/XMP.pm +3897 -0
  380. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/XMP2.pl +1705 -0
  381. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/XMPStruct.pl +843 -0
  382. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/ZIP.pm +667 -0
  383. data/bin/Image-ExifTool-10.40/lib/Image/ExifTool/iWork.pm +223 -0
  384. data/bin/Image-ExifTool-10.40/perl-Image-ExifTool.spec +113 -0
  385. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AFCP.t +0 -0
  386. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AFCP_2.out +0 -0
  387. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AFCP_3.out +0 -0
  388. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AIFF.t +0 -0
  389. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/AIFF_2.out +0 -0
  390. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/APE.t +0 -0
  391. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/APE_2.out +0 -0
  392. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/APE_3.out +0 -0
  393. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ASF.t +0 -0
  394. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ASF_2.out +0 -0
  395. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Apple.t +0 -0
  396. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Apple_2.out +0 -0
  397. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Audible.t +0 -0
  398. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Audible_2.out +0 -0
  399. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BMP.t +0 -0
  400. data/bin/Image-ExifTool-10.40/t/BMP_2.out +24 -0
  401. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BPG.t +0 -0
  402. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BPG_2.out +0 -0
  403. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BigTIFF.t +0 -0
  404. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/BigTIFF_2.out +0 -0
  405. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Canon.t +0 -0
  406. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw.t +0 -0
  407. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_2.out +0 -0
  408. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_4.out +0 -0
  409. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_5.out +0 -0
  410. data/bin/Image-ExifTool-10.40/t/CanonRaw_6.out +233 -0
  411. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonRaw_7.out +0 -0
  412. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD.t +0 -0
  413. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_11.out +0 -0
  414. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_12.out +0 -0
  415. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_13.out +0 -0
  416. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_14.out +0 -0
  417. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_15.out +0 -0
  418. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_16.out +0 -0
  419. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_17.out +0 -0
  420. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_18.out +0 -0
  421. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_19.out +0 -0
  422. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_2.out +0 -0
  423. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_20.out +0 -0
  424. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_21.out +0 -0
  425. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_3.out +0 -0
  426. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_4.out +0 -0
  427. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_5.out +0 -0
  428. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_6.out +0 -0
  429. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_7.out +0 -0
  430. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_8.out +0 -0
  431. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/CanonVRD_9.out +0 -0
  432. data/bin/Image-ExifTool-10.40/t/Canon_2.out +358 -0
  433. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Canon_3.out +0 -0
  434. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Casio.t +0 -0
  435. data/bin/Image-ExifTool-10.40/t/Casio_2.out +72 -0
  436. data/bin/Image-ExifTool-10.40/t/Casio_3.out +102 -0
  437. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Casio_4.out +0 -0
  438. data/bin/Image-ExifTool-10.40/t/Casio_5.out +80 -0
  439. data/bin/Image-ExifTool-10.40/t/Casio_6.out +117 -0
  440. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DICOM.t +0 -0
  441. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DICOM_2.out +0 -0
  442. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DNG.t +0 -0
  443. data/bin/Image-ExifTool-10.40/t/DNG_2.out +329 -0
  444. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DNG_3.out +0 -0
  445. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DPX.t +0 -0
  446. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DPX_2.out +0 -0
  447. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DV.t +0 -0
  448. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DV_2.out +0 -0
  449. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DjVu.t +0 -0
  450. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/DjVu_2.out +0 -0
  451. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE.t +0 -0
  452. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_2.out +0 -0
  453. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_3.out +0 -0
  454. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_4.out +0 -0
  455. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_5.out +0 -0
  456. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_6.out +0 -0
  457. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/EXE_7.out +0 -0
  458. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool.t +0 -0
  459. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_16.out +0 -0
  460. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_17.out +0 -0
  461. data/bin/Image-ExifTool-10.40/t/ExifTool_2.out +427 -0
  462. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_20.out +0 -0
  463. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_21.out +0 -0
  464. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_22.out +0 -0
  465. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_23.out +0 -0
  466. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_24.out +0 -0
  467. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_25.out +0 -0
  468. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_26.out +0 -0
  469. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_27.out +0 -0
  470. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_28.out +0 -0
  471. data/bin/Image-ExifTool-10.40/t/ExifTool_29.out +426 -0
  472. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_3.out +0 -0
  473. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_30.out +0 -0
  474. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_4.out +0 -0
  475. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_5.out +0 -0
  476. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_6.out +0 -0
  477. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_7.out +0 -0
  478. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_8.out +0 -0
  479. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ExifTool_9.out +0 -0
  480. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLAC.t +0 -0
  481. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLAC_2.out +0 -0
  482. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLAC_3.out +0 -0
  483. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF.t +0 -0
  484. data/bin/Image-ExifTool-10.40/t/FLIF_2.out +51 -0
  485. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF_3.out +0 -0
  486. data/bin/Image-ExifTool-10.40/t/FLIF_4.out +18 -0
  487. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF_5.out +0 -0
  488. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIF_6.out +0 -0
  489. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIR.t +0 -0
  490. data/bin/Image-ExifTool-10.40/t/FLIR_2.out +118 -0
  491. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FLIR_3.out +0 -0
  492. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Flash.t +0 -0
  493. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FlashPix.t +0 -0
  494. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FlashPix_2.out +0 -0
  495. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Flash_2.out +0 -0
  496. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Flash_3.out +0 -0
  497. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font.t +0 -0
  498. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_2.out +0 -0
  499. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_3.out +0 -0
  500. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_4.out +0 -0
  501. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_5.out +0 -0
  502. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_6.out +0 -0
  503. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Font_7.out +0 -0
  504. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FotoStation.t +0 -0
  505. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FotoStation_2.out +0 -0
  506. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FotoStation_3.out +0 -0
  507. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FujiFilm.t +0 -0
  508. data/bin/Image-ExifTool-10.40/t/FujiFilm_2.out +89 -0
  509. data/bin/Image-ExifTool-10.40/t/FujiFilm_3.out +90 -0
  510. data/bin/Image-ExifTool-10.40/t/FujiFilm_4.out +143 -0
  511. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/FujiFilm_5.out +0 -0
  512. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GE.t +0 -0
  513. data/bin/Image-ExifTool-10.40/t/GE_2.out +86 -0
  514. data/bin/Image-ExifTool-10.40/t/GE_3.out +86 -0
  515. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF.t +0 -0
  516. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF_2.out +0 -0
  517. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF_3.out +0 -0
  518. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIF_4.out +0 -0
  519. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIMP.t +0 -0
  520. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GIMP_2.out +0 -0
  521. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GPS.t +0 -0
  522. data/bin/Image-ExifTool-10.40/t/GPS_2.out +96 -0
  523. data/bin/Image-ExifTool-10.40/t/GPS_3.out +98 -0
  524. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff.t +0 -0
  525. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff_2.out +0 -0
  526. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff_3.out +0 -0
  527. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/GeoTiff_4.out +0 -0
  528. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag.t +0 -0
  529. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_10.out +0 -0
  530. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_11.out +0 -0
  531. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_2.out +0 -0
  532. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_3.out +0 -0
  533. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_5.out +0 -0
  534. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_6.out +0 -0
  535. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_7.out +0 -0
  536. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_8.out +0 -0
  537. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Geotag_9.out +0 -0
  538. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/HTML.t +0 -0
  539. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/HTML_2.out +0 -0
  540. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC.t +0 -0
  541. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_2.out +0 -0
  542. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_4.out +0 -0
  543. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_5.out +0 -0
  544. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_6.out +0 -0
  545. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_7.out +0 -0
  546. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/IPTC_8.out +0 -0
  547. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ISO.t +0 -0
  548. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ISO_2.out +0 -0
  549. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ITC.t +0 -0
  550. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ITC_2.out +0 -0
  551. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign.t +0 -0
  552. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign_2.out +0 -0
  553. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign_3.out +0 -0
  554. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/InDesign_4.out +0 -0
  555. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/JVC.t +0 -0
  556. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/JVC_2.out +0 -0
  557. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/JVC_3.out +0 -0
  558. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000.t +0 -0
  559. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000_2.out +0 -0
  560. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000_3.out +0 -0
  561. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Jpeg2000_4.out +0 -0
  562. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Kodak.t +0 -0
  563. data/bin/Image-ExifTool-10.40/t/Kodak_2.out +111 -0
  564. data/bin/Image-ExifTool-10.40/t/Kodak_3.out +121 -0
  565. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/KyoceraRaw.t +0 -0
  566. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/KyoceraRaw_2.out +0 -0
  567. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/LNK.t +0 -0
  568. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/LNK_2.out +0 -0
  569. data/bin/Image-ExifTool-10.40/t/Lang.t +42 -0
  570. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Lang_1.out +0 -0
  571. data/bin/Image-ExifTool-10.40/t/Lang_10.out +47 -0
  572. data/bin/Image-ExifTool-10.40/t/Lang_11.out +47 -0
  573. data/bin/Image-ExifTool-10.40/t/Lang_12.out +47 -0
  574. data/bin/Image-ExifTool-10.40/t/Lang_13.out +47 -0
  575. data/bin/Image-ExifTool-10.40/t/Lang_14.out +47 -0
  576. data/bin/Image-ExifTool-10.40/t/Lang_15.out +47 -0
  577. data/bin/Image-ExifTool-10.40/t/Lang_16.out +47 -0
  578. data/bin/Image-ExifTool-10.40/t/Lang_17.out +47 -0
  579. data/bin/Image-ExifTool-10.40/t/Lang_18.out +47 -0
  580. data/bin/Image-ExifTool-10.40/t/Lang_2.out +47 -0
  581. data/bin/Image-ExifTool-10.40/t/Lang_3.out +47 -0
  582. data/bin/Image-ExifTool-10.40/t/Lang_4.out +47 -0
  583. data/bin/Image-ExifTool-10.40/t/Lang_5.out +47 -0
  584. data/bin/Image-ExifTool-10.40/t/Lang_6.out +47 -0
  585. data/bin/Image-ExifTool-10.40/t/Lang_7.out +47 -0
  586. data/bin/Image-ExifTool-10.40/t/Lang_8.out +47 -0
  587. data/bin/Image-ExifTool-10.40/t/Lang_9.out +47 -0
  588. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Lytro.t +0 -0
  589. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Lytro_2.out +0 -0
  590. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/M2TS.t +0 -0
  591. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/M2TS_2.out +0 -0
  592. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE.t +0 -0
  593. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE_2.out +0 -0
  594. data/bin/Image-ExifTool-10.40/t/MIE_3.out +136 -0
  595. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE_5.out +0 -0
  596. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIE_6.out +0 -0
  597. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIFF.t +0 -0
  598. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MIFF_2.out +0 -0
  599. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MOI.t +0 -0
  600. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MOI_2.out +0 -0
  601. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MP3.t +0 -0
  602. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MP3_2.out +0 -0
  603. data/bin/Image-ExifTool-10.40/t/MWG.t +99 -0
  604. data/bin/Image-ExifTool-10.40/t/MWG_2.out +13 -0
  605. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_3.out +0 -0
  606. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_4.out +0 -0
  607. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_5.out +0 -0
  608. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MWG_6.out +0 -0
  609. data/bin/Image-ExifTool-10.40/t/MWG_7.out +11 -0
  610. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MXF.t +0 -0
  611. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/MXF_2.out +0 -0
  612. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Matroska.t +0 -0
  613. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Matroska_2.out +0 -0
  614. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Minolta.t +0 -0
  615. data/bin/Image-ExifTool-10.40/t/Minolta_2.out +135 -0
  616. data/bin/Image-ExifTool-10.40/t/Minolta_3.out +148 -0
  617. data/bin/Image-ExifTool-10.40/t/Minolta_4.out +150 -0
  618. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Motorola.t +0 -0
  619. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Motorola_2.out +0 -0
  620. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Nikon.t +0 -0
  621. data/bin/Image-ExifTool-10.40/t/Nikon_2.out +84 -0
  622. data/bin/Image-ExifTool-10.40/t/Nikon_3.out +100 -0
  623. data/bin/Image-ExifTool-10.40/t/Nikon_4.out +176 -0
  624. data/bin/Image-ExifTool-10.40/t/Nikon_5.out +169 -0
  625. data/bin/Image-ExifTool-10.40/t/Nikon_7.out +261 -0
  626. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Nikon_8.out +0 -0
  627. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Olympus.t +0 -0
  628. data/bin/Image-ExifTool-10.40/t/Olympus_2.out +81 -0
  629. data/bin/Image-ExifTool-10.40/t/Olympus_3.out +83 -0
  630. data/bin/Image-ExifTool-10.40/t/Olympus_4.out +194 -0
  631. data/bin/Image-ExifTool-10.40/t/Olympus_5.out +266 -0
  632. data/bin/Image-ExifTool-10.40/t/Olympus_6.out +153 -0
  633. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Olympus_7.out +0 -0
  634. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Olympus_8.out +0 -0
  635. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/OpenEXR.t +0 -0
  636. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/OpenEXR_2.out +0 -0
  637. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Opus.t +0 -0
  638. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Opus_2.out +0 -0
  639. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF.t +0 -0
  640. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_10.out +0 -0
  641. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_11.out +0 -0
  642. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_12.out +0 -0
  643. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_14.out +0 -0
  644. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_15.out +0 -0
  645. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_16.out +0 -0
  646. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_17.out +0 -0
  647. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_18.out +0 -0
  648. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_19.out +0 -0
  649. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_2.out +0 -0
  650. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_20.out +0 -0
  651. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_22.out +0 -0
  652. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_4.out +0 -0
  653. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_5.out +0 -0
  654. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_6.out +0 -0
  655. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_7.out +0 -0
  656. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_8.out +0 -0
  657. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PDF_9.out +0 -0
  658. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PGF.t +0 -0
  659. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PGF_2.out +0 -0
  660. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PICT.t +0 -0
  661. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PICT_2.out +0 -0
  662. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLIST.t +0 -0
  663. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLIST_2.out +0 -0
  664. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLIST_3.out +0 -0
  665. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLUS.t +0 -0
  666. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PLUS_2.out +0 -0
  667. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG.t +0 -0
  668. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_2.out +0 -0
  669. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_3.out +0 -0
  670. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_4.out +0 -0
  671. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PNG_5.out +0 -0
  672. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PPM.t +0 -0
  673. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PPM_2.out +0 -0
  674. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PPM_3.out +0 -0
  675. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PSP.t +0 -0
  676. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PSP_2.out +0 -0
  677. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Palm.t +0 -0
  678. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Palm_2.out +0 -0
  679. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Panasonic.t +0 -0
  680. data/bin/Image-ExifTool-10.40/t/Panasonic_2.out +101 -0
  681. data/bin/Image-ExifTool-10.40/t/Panasonic_3.out +121 -0
  682. data/bin/Image-ExifTool-10.40/t/Panasonic_4.out +206 -0
  683. data/bin/Image-ExifTool-10.40/t/Panasonic_5.out +244 -0
  684. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Pentax.t +0 -0
  685. data/bin/Image-ExifTool-10.40/t/Pentax_2.out +225 -0
  686. data/bin/Image-ExifTool-10.40/t/Pentax_3.out +266 -0
  687. data/bin/Image-ExifTool-10.40/t/Pentax_4.out +132 -0
  688. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhaseOne.t +0 -0
  689. data/bin/Image-ExifTool-10.40/t/PhaseOne_2.out +99 -0
  690. data/bin/Image-ExifTool-10.40/t/PhaseOne_3.out +170 -0
  691. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoCD.t +0 -0
  692. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoCD_2.out +0 -0
  693. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoMechanic.t +0 -0
  694. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoMechanic_2.out +0 -0
  695. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PhotoMechanic_3.out +0 -0
  696. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Photoshop.t +0 -0
  697. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Photoshop_2.out +0 -0
  698. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Photoshop_3.out +0 -0
  699. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PostScript.t +0 -0
  700. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PostScript_2.out +0 -0
  701. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/PostScript_3.out +0 -0
  702. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime.t +0 -0
  703. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_2.out +0 -0
  704. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_3.out +0 -0
  705. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_4.out +0 -0
  706. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/QuickTime_5.out +0 -0
  707. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RIFF.t +0 -0
  708. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RIFF_2.out +0 -0
  709. data/bin/Image-ExifTool-10.40/t/RIFF_3.out +55 -0
  710. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RIFF_4.out +0 -0
  711. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RTF.t +0 -0
  712. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/RTF_2.out +0 -0
  713. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Radiance.t +0 -0
  714. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Radiance_2.out +0 -0
  715. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real.t +0 -0
  716. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real_2.out +0 -0
  717. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real_3.out +0 -0
  718. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Real_4.out +0 -0
  719. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Ricoh.t +0 -0
  720. data/bin/Image-ExifTool-10.40/t/Ricoh_2.out +72 -0
  721. data/bin/Image-ExifTool-10.40/t/Ricoh_3.out +100 -0
  722. data/bin/Image-ExifTool-10.40/t/Ricoh_4.out +114 -0
  723. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sanyo.t +0 -0
  724. data/bin/Image-ExifTool-10.40/t/Sanyo_2.out +103 -0
  725. data/bin/Image-ExifTool-10.40/t/Sanyo_3.out +113 -0
  726. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sigma.t +0 -0
  727. data/bin/Image-ExifTool-10.40/t/Sigma_2.out +93 -0
  728. data/bin/Image-ExifTool-10.40/t/Sigma_3.out +96 -0
  729. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sigma_4.out +0 -0
  730. data/bin/Image-ExifTool-10.40/t/Sigma_5.out +194 -0
  731. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Sony.t +0 -0
  732. data/bin/Image-ExifTool-10.40/t/Sony_2.out +86 -0
  733. data/bin/Image-ExifTool-10.40/t/Sony_3.out +87 -0
  734. data/bin/Image-ExifTool-10.40/t/Sony_5.out +34 -0
  735. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/TestLib.pm +0 -0
  736. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Torrent.t +0 -0
  737. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Torrent_2.out +0 -0
  738. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Unknown.t +0 -0
  739. data/bin/Image-ExifTool-10.40/t/Unknown_2.out +92 -0
  740. data/bin/Image-ExifTool-10.40/t/Unknown_3.out +92 -0
  741. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/VCard.t +0 -0
  742. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/VCard_2.out +0 -0
  743. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/VCard_3.out +0 -0
  744. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Vorbis.t +0 -0
  745. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Vorbis_2.out +0 -0
  746. data/bin/Image-ExifTool-10.40/t/Writer.t +1071 -0
  747. data/bin/Image-ExifTool-10.40/t/Writer_10.out +246 -0
  748. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_11.out +0 -0
  749. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_13.out +0 -0
  750. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_14.out +0 -0
  751. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_15.out +0 -0
  752. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_16.out +0 -0
  753. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_17.out +0 -0
  754. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_18.out +0 -0
  755. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_19.out +0 -0
  756. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_2.out +0 -0
  757. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_22.out +0 -0
  758. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_24.out +0 -0
  759. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_25.out +0 -0
  760. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_26.out +0 -0
  761. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_27.out +0 -0
  762. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_28.out +0 -0
  763. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_29.out +0 -0
  764. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_30.out +0 -0
  765. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_31.out +0 -0
  766. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_32.out +0 -0
  767. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_33.out +0 -0
  768. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_34.out +0 -0
  769. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_35.out +0 -0
  770. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_36.out +0 -0
  771. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_37.out +0 -0
  772. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_38.out +0 -0
  773. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_39.out +0 -0
  774. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_4.out +0 -0
  775. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_40.out +0 -0
  776. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_41.out +0 -0
  777. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_42.out +0 -0
  778. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_43.out +0 -0
  779. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_44.out +0 -0
  780. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_45.out +0 -0
  781. data/bin/Image-ExifTool-10.40/t/Writer_46.out +111 -0
  782. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_47.out +0 -0
  783. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_48.out +0 -0
  784. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_50.out +0 -0
  785. data/bin/Image-ExifTool-10.40/t/Writer_51.out +414 -0
  786. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_52.out +0 -0
  787. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_53.out +0 -0
  788. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_54.out +0 -0
  789. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_55.out +0 -0
  790. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_56.out +0 -0
  791. data/bin/Image-ExifTool-10.40/t/Writer_58.out +44 -0
  792. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_6.out +0 -0
  793. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/Writer_7.out +0 -0
  794. data/bin/Image-ExifTool-10.40/t/Writer_9.out +243 -0
  795. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP.t +0 -0
  796. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_10.out +0 -0
  797. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_11.out +0 -0
  798. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_12.out +0 -0
  799. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_13.out +0 -0
  800. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_14.out +0 -0
  801. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_15.out +0 -0
  802. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_16.out +0 -0
  803. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_17.out +0 -0
  804. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_18.out +0 -0
  805. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_19.out +0 -0
  806. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_2.out +0 -0
  807. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_20.out +0 -0
  808. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_21.out +0 -0
  809. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_22.out +0 -0
  810. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_23.out +0 -0
  811. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_24.out +0 -0
  812. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_25.out +0 -0
  813. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_26.out +0 -0
  814. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_27.out +0 -0
  815. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_28.out +0 -0
  816. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_29.out +0 -0
  817. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_3.out +0 -0
  818. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_30.out +0 -0
  819. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_31.out +0 -0
  820. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_32.out +0 -0
  821. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_34.out +0 -0
  822. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_36.out +0 -0
  823. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_37.out +0 -0
  824. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_39.out +0 -0
  825. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_40.out +0 -0
  826. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_41.out +0 -0
  827. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_42.out +0 -0
  828. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_43.out +0 -0
  829. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_44.out +0 -0
  830. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_45.out +0 -0
  831. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_5.out +0 -0
  832. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_6.out +0 -0
  833. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_7.out +0 -0
  834. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_8.out +0 -0
  835. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/XMP_9.out +0 -0
  836. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP.t +0 -0
  837. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_2.out +0 -0
  838. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_3.out +0 -0
  839. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_4.out +0 -0
  840. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_5.out +0 -0
  841. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_6.out +0 -0
  842. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/ZIP_7.out +0 -0
  843. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/AFCP.jpg +0 -0
  844. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/AIFF.aif +0 -0
  845. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/APE.ape +0 -0
  846. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/APE.mpc +0 -0
  847. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ASF.wmv +0 -0
  848. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Apple.jpg +0 -0
  849. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Audible.aa +0 -0
  850. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/BMP.bmp +0 -0
  851. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/BPG.bpg +0 -0
  852. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/BigTIFF.btf +0 -0
  853. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Canon.jpg +0 -0
  854. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Canon1DmkIII.jpg +0 -0
  855. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonRaw.cr2 +0 -0
  856. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonRaw.crw +0 -0
  857. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonVRD.dr4 +0 -0
  858. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CanonVRD.vrd +0 -0
  859. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CaptureOne.eip +0 -0
  860. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Casio.jpg +0 -0
  861. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Casio2.jpg +0 -0
  862. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/CasioQVCI.jpg +0 -0
  863. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DICOM.dcm +0 -0
  864. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DNG.dng +0 -0
  865. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DPX.dpx +0 -0
  866. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DV.dv +0 -0
  867. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/DjVu.djvu +0 -0
  868. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.a +0 -0
  869. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.dylib +0 -0
  870. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.elf +0 -0
  871. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.exe +0 -0
  872. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.macho +0 -0
  873. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/EXE.so +0 -0
  874. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ExifTool.jpg +0 -0
  875. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ExifTool.tif +0 -0
  876. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ExtendedXMP.jpg +0 -0
  877. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLAC.flac +0 -0
  878. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLAC.ogg +0 -0
  879. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLIF.flif +0 -0
  880. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLIR.fpf +0 -0
  881. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FLIR.jpg +0 -0
  882. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Flash.flv +0 -0
  883. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Flash.swf +0 -0
  884. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FlashPix.ppt +0 -0
  885. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.afm +0 -0
  886. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.dfont +0 -0
  887. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.pfa +0 -0
  888. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.pfb +0 -0
  889. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.pfm +0 -0
  890. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Font.ttf +0 -0
  891. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FotoStation.jpg +0 -0
  892. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FujiFilm.jpg +0 -0
  893. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/FujiFilm.raf +0 -0
  894. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GE.jpg +0 -0
  895. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GIF.gif +0 -0
  896. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GIMP.xcf +0 -0
  897. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GPS.jpg +0 -0
  898. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/GeoTiff.tif +0 -0
  899. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.gpx +0 -0
  900. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.igc +0 -0
  901. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.kml +0 -0
  902. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.log +0 -0
  903. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag.xml +0 -0
  904. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag2.log +0 -0
  905. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Geotag3.log +0 -0
  906. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/HTML.html +0 -0
  907. data/bin/Image-ExifTool-10.40/t/images/ICC_Profile.icc +0 -0
  908. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/IPTC.jpg +0 -0
  909. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ISO.iso +0 -0
  910. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ITC.itc +0 -0
  911. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/InDesign.indd +0 -0
  912. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/JVC.jpg +0 -0
  913. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/JVC2.jpg +0 -0
  914. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Jpeg2000.j2c +0 -0
  915. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Jpeg2000.jp2 +0 -0
  916. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Kodak.jpg +0 -0
  917. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/KyoceraRaw.raw +0 -0
  918. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/LNK.lnk +0 -0
  919. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Lytro.lfp +0 -0
  920. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/M2TS.mts +0 -0
  921. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MIE.mie +0 -0
  922. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MIFF.miff +0 -0
  923. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MOI.moi +0 -0
  924. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MP3.mp3 +0 -0
  925. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MWG.jpg +0 -0
  926. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/MXF.mxf +0 -0
  927. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Matroska.mkv +0 -0
  928. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Minolta.jpg +0 -0
  929. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Minolta.mrw +0 -0
  930. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Motorola.jpg +0 -0
  931. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Nikon.jpg +0 -0
  932. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Nikon.nef +0 -0
  933. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/NikonD2Hs.jpg +0 -0
  934. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/NikonD70.jpg +0 -0
  935. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OOXML.docx +0 -0
  936. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Olympus.dss +0 -0
  937. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Olympus.jpg +0 -0
  938. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Olympus2.jpg +0 -0
  939. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OlympusE1.jpg +0 -0
  940. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OpenDoc.ods +0 -0
  941. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/OpenEXR.exr +0 -0
  942. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Opus.opus +0 -0
  943. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PDF.pdf +0 -0
  944. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PDF2.pdf +0 -0
  945. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PGF.pgf +0 -0
  946. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PICT.pict +0 -0
  947. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PLIST-bin.plist +0 -0
  948. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PLIST-xml.plist +0 -0
  949. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PLUS.xmp +0 -0
  950. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PNG.png +0 -0
  951. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PPM.ppm +0 -0
  952. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PSP.psp +0 -0
  953. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Palm.mobi +0 -0
  954. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Panasonic.jpg +0 -0
  955. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Panasonic.rw2 +0 -0
  956. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Pentax.avi +0 -0
  957. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Pentax.jpg +0 -0
  958. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PhaseOne.iiq +0 -0
  959. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PhotoCD.pcd +0 -0
  960. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PhotoMechanic.jpg +0 -0
  961. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Photoshop.psd +0 -0
  962. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/PostScript.eps +0 -0
  963. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/QuickTime.m4a +0 -0
  964. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/QuickTime.mov +0 -0
  965. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RIFF.avi +0 -0
  966. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RIFF.wav +0 -0
  967. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RIFF.webp +0 -0
  968. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/RTF.rtf +0 -0
  969. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Radiance.hdr +0 -0
  970. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Real.ra +0 -0
  971. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Real.ram +0 -0
  972. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Real.rm +0 -0
  973. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Ricoh.jpg +0 -0
  974. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Ricoh2.jpg +0 -0
  975. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sanyo.jpg +0 -0
  976. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sigma.jpg +0 -0
  977. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sigma.x3f +0 -0
  978. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/SigmaDP2.x3f +0 -0
  979. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sony.jpg +0 -0
  980. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Sony.pmp +0 -0
  981. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Torrent.torrent +0 -0
  982. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Unknown.jpg +0 -0
  983. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/VCard.ics +0 -0
  984. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/VCard.vcf +0 -0
  985. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Vorbis.ogg +0 -0
  986. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/Writer.jpg +0 -0
  987. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.inx +0 -0
  988. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.jpg +0 -0
  989. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.svg +0 -0
  990. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.xml +0 -0
  991. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP.xmp +0 -0
  992. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP2.xmp +0 -0
  993. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP3.xmp +0 -0
  994. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP4.xmp +0 -0
  995. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP5.xmp +0 -0
  996. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/XMP6.xmp +0 -0
  997. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ZIP.gz +0 -0
  998. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/ZIP.zip +0 -0
  999. data/bin/{Image-ExifTool-10.31 → Image-ExifTool-10.40}/t/images/iWork.numbers +0 -0
  1000. data/lib/exiftool_vendored/version.rb +1 -1
  1001. metadata +1000 -997
  1002. data/bin/Image-ExifTool-10.31/Changes +0 -7604
  1003. data/bin/Image-ExifTool-10.31/MANIFEST +0 -995
  1004. data/bin/Image-ExifTool-10.31/META.json +0 -51
  1005. data/bin/Image-ExifTool-10.31/META.yml +0 -31
  1006. data/bin/Image-ExifTool-10.31/README +0 -239
  1007. data/bin/Image-ExifTool-10.31/config_files/time_zone.config +0 -56
  1008. data/bin/Image-ExifTool-10.31/exiftool +0 -6431
  1009. data/bin/Image-ExifTool-10.31/html/ExifTool.html +0 -2114
  1010. data/bin/Image-ExifTool-10.31/html/Shift.html +0 -209
  1011. data/bin/Image-ExifTool-10.31/html/TagNames/BMP.html +0 -110
  1012. data/bin/Image-ExifTool-10.31/html/TagNames/Canon.html +0 -9740
  1013. data/bin/Image-ExifTool-10.31/html/TagNames/Composite.html +0 -739
  1014. data/bin/Image-ExifTool-10.31/html/TagNames/EXIF.html +0 -3482
  1015. data/bin/Image-ExifTool-10.31/html/TagNames/Extra.html +0 -469
  1016. data/bin/Image-ExifTool-10.31/html/TagNames/FLIF.html +0 -79
  1017. data/bin/Image-ExifTool-10.31/html/TagNames/FlashPix.html +0 -1465
  1018. data/bin/Image-ExifTool-10.31/html/TagNames/FujiFilm.html +0 -849
  1019. data/bin/Image-ExifTool-10.31/html/TagNames/MWG.html +0 -584
  1020. data/bin/Image-ExifTool-10.31/html/TagNames/Minolta.html +0 -2633
  1021. data/bin/Image-ExifTool-10.31/html/TagNames/Nikon.html +0 -6002
  1022. data/bin/Image-ExifTool-10.31/html/TagNames/Olympus.html +0 -3655
  1023. data/bin/Image-ExifTool-10.31/html/TagNames/Panasonic.html +0 -1700
  1024. data/bin/Image-ExifTool-10.31/html/TagNames/PhaseOne.html +0 -253
  1025. data/bin/Image-ExifTool-10.31/html/TagNames/Photoshop.html +0 -739
  1026. data/bin/Image-ExifTool-10.31/html/TagNames/Sony.html +0 -10219
  1027. data/bin/Image-ExifTool-10.31/html/TagNames/XMP.html +0 -9332
  1028. data/bin/Image-ExifTool-10.31/html/ancient_history.html +0 -8209
  1029. data/bin/Image-ExifTool-10.31/html/data_members.html +0 -280
  1030. data/bin/Image-ExifTool-10.31/html/exiftool_pod.html +0 -2567
  1031. data/bin/Image-ExifTool-10.31/html/faq.html +0 -1589
  1032. data/bin/Image-ExifTool-10.31/html/filename.html +0 -352
  1033. data/bin/Image-ExifTool-10.31/html/geotag.html +0 -658
  1034. data/bin/Image-ExifTool-10.31/html/history.html +0 -375
  1035. data/bin/Image-ExifTool-10.31/html/idiosyncracies.html +0 -272
  1036. data/bin/Image-ExifTool-10.31/html/index.html +0 -1358
  1037. data/bin/Image-ExifTool-10.31/html/install.html +0 -259
  1038. data/bin/Image-ExifTool-10.31/html/under.html +0 -128
  1039. data/bin/Image-ExifTool-10.31/lib/File/RandomAccess.pm +0 -378
  1040. data/bin/Image-ExifTool-10.31/lib/File/RandomAccess.pod +0 -231
  1041. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool.pm +0 -7765
  1042. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool.pod +0 -2556
  1043. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/AES.pm +0 -501
  1044. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/AFCP.pm +0 -286
  1045. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/AIFF.pm +0 -289
  1046. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/APE.pm +0 -282
  1047. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/APP12.pm +0 -322
  1048. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ASF.pm +0 -885
  1049. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Apple.pm +0 -153
  1050. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Audible.pm +0 -317
  1051. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BMP.pm +0 -179
  1052. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BPG.pm +0 -251
  1053. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BZZ.pm +0 -472
  1054. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BigTIFF.pm +0 -282
  1055. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/BuildTagLookup.pm +0 -2563
  1056. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Canon.pm +0 -8926
  1057. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CanonCustom.pm +0 -2667
  1058. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CanonRaw.pm +0 -910
  1059. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CanonVRD.pm +0 -2273
  1060. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/CaptureOne.pm +0 -235
  1061. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Casio.pm +0 -2058
  1062. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Charset.pm +0 -423
  1063. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DICOM.pm +0 -3874
  1064. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DJI.pm +0 -71
  1065. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DNG.pm +0 -835
  1066. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DPX.pm +0 -182
  1067. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DV.pm +0 -319
  1068. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DarwinCore.pm +0 -322
  1069. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/DjVu.pm +0 -376
  1070. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/EXE.pm +0 -1401
  1071. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Exif.pm +0 -6038
  1072. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FLAC.pm +0 -297
  1073. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FLIF.pm +0 -345
  1074. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FLIR.pm +0 -1533
  1075. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Fixup.pm +0 -366
  1076. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Flash.pm +0 -755
  1077. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FlashPix.pm +0 -1935
  1078. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Font.pm +0 -647
  1079. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FotoStation.pm +0 -261
  1080. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/FujiFilm.pm +0 -1257
  1081. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GE.pm +0 -81
  1082. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GIF.pm +0 -542
  1083. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GIMP.pm +0 -258
  1084. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GPS.pm +0 -558
  1085. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/GeoTiff.pm +0 -2263
  1086. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Geotag.pm +0 -1287
  1087. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/H264.pm +0 -1110
  1088. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/HP.pm +0 -263
  1089. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/HTML.pm +0 -576
  1090. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/HtmlDump.pm +0 -898
  1091. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ICC_Profile.pm +0 -1013
  1092. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ID3.pm +0 -1570
  1093. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/IPTC.pm +0 -1264
  1094. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ISO.pm +0 -206
  1095. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ITC.pm +0 -215
  1096. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Import.pm +0 -329
  1097. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/InDesign.pm +0 -277
  1098. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/JPEG.pm +0 -605
  1099. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/JPEGDigest.pm +0 -2616
  1100. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/JVC.pm +0 -130
  1101. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Jpeg2000.pm +0 -898
  1102. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Kodak.pm +0 -2096
  1103. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/KyoceraRaw.pm +0 -173
  1104. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/LNK.pm +0 -723
  1105. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/cs.pm +0 -1588
  1106. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/de.pm +0 -8692
  1107. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/en_ca.pm +0 -934
  1108. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/en_gb.pm +0 -977
  1109. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/es.pm +0 -4019
  1110. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/fi.pm +0 -2854
  1111. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/fr.pm +0 -4758
  1112. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/it.pm +0 -7918
  1113. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/ja.pm +0 -5835
  1114. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/ko.pm +0 -2330
  1115. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/nl.pm +0 -3222
  1116. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/pl.pm +0 -1276
  1117. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/ru.pm +0 -768
  1118. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/sv.pm +0 -638
  1119. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/tr.pm +0 -544
  1120. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1330
  1121. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lang/zh_tw.pm +0 -801
  1122. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Leaf.pm +0 -517
  1123. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Lytro.pm +0 -217
  1124. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/M2TS.pm +0 -729
  1125. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MIE.pm +0 -2564
  1126. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MIEUnits.pod +0 -377
  1127. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MIFF.pm +0 -279
  1128. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MNG.pm +0 -684
  1129. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MOI.pm +0 -158
  1130. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MPC.pm +0 -156
  1131. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MPEG.pm +0 -736
  1132. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MPF.pm +0 -292
  1133. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MWG.pm +0 -751
  1134. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MXF.pm +0 -3031
  1135. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MakerNotes.pm +0 -1745
  1136. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Matroska.pm +0 -932
  1137. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Microsoft.pm +0 -904
  1138. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Minolta.pm +0 -2993
  1139. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/MinoltaRaw.pm +0 -535
  1140. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Motorola.pm +0 -62
  1141. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Nikon.pm +0 -8155
  1142. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/NikonCapture.pm +0 -940
  1143. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/NikonCustom.pm +0 -8682
  1144. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Nintendo.pm +0 -128
  1145. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/OOXML.pm +0 -409
  1146. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Ogg.pm +0 -240
  1147. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Olympus.pm +0 -3989
  1148. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/OpenEXR.pm +0 -323
  1149. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Opus.pm +0 -98
  1150. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PDF.pm +0 -2367
  1151. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PGF.pm +0 -143
  1152. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PICT.pm +0 -1260
  1153. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PLIST.pm +0 -448
  1154. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PLUS.pm +0 -2607
  1155. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PNG.pm +0 -1255
  1156. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PPM.pm +0 -169
  1157. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PSP.pm +0 -306
  1158. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Palm.pm +0 -403
  1159. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Panasonic.pm +0 -2374
  1160. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PanasonicRaw.pm +0 -643
  1161. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Pentax.pm +0 -6133
  1162. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PhaseOne.pm +0 -707
  1163. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PhotoCD.pm +0 -507
  1164. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PhotoMechanic.pm +0 -256
  1165. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Photoshop.pm +0 -939
  1166. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PostScript.pm +0 -699
  1167. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/PrintIM.pm +0 -125
  1168. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Qualcomm.pm +0 -1344
  1169. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/QuickTime.pm +0 -6697
  1170. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/README +0 -1000
  1171. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/RIFF.pm +0 -1587
  1172. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/RSRC.pm +0 -241
  1173. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/RTF.pm +0 -383
  1174. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Radiance.pm +0 -144
  1175. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Rawzor.pm +0 -189
  1176. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Real.pm +0 -739
  1177. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Reconyx.pm +0 -190
  1178. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Ricoh.pm +0 -1148
  1179. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Samsung.pm +0 -1269
  1180. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Sanyo.pm +0 -440
  1181. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Scalado.pm +0 -141
  1182. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Shift.pl +0 -627
  1183. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Shortcuts.pm +0 -338
  1184. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Sigma.pm +0 -760
  1185. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/SigmaRaw.pm +0 -670
  1186. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Sony.pm +0 -9634
  1187. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/SonyIDC.pm +0 -332
  1188. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Stim.pm +0 -196
  1189. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/TagInfoXML.pm +0 -827
  1190. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/TagLookup.pm +0 -9367
  1191. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/TagNames.pod +0 -30437
  1192. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Theora.pm +0 -145
  1193. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Torrent.pm +0 -317
  1194. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Unknown.pm +0 -66
  1195. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/VCard.pm +0 -405
  1196. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Vorbis.pm +0 -255
  1197. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteCanonRaw.pl +0 -637
  1198. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteExif.pl +0 -2472
  1199. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteIPTC.pl +0 -706
  1200. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePDF.pl +0 -771
  1201. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePNG.pl +0 -390
  1202. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePhotoshop.pl +0 -266
  1203. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WritePostScript.pl +0 -772
  1204. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteQuickTime.pl +0 -358
  1205. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/WriteXMP.pl +0 -1381
  1206. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/Writer.pl +0 -6260
  1207. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/XMP.pm +0 -4087
  1208. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/XMP2.pl +0 -1321
  1209. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/XMPStruct.pl +0 -843
  1210. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/ZIP.pm +0 -667
  1211. data/bin/Image-ExifTool-10.31/lib/Image/ExifTool/iWork.pm +0 -223
  1212. data/bin/Image-ExifTool-10.31/perl-Image-ExifTool.spec +0 -113
  1213. data/bin/Image-ExifTool-10.31/t/BMP_2.out +0 -23
  1214. data/bin/Image-ExifTool-10.31/t/CanonRaw_6.out +0 -233
  1215. data/bin/Image-ExifTool-10.31/t/Canon_2.out +0 -358
  1216. data/bin/Image-ExifTool-10.31/t/Casio_2.out +0 -72
  1217. data/bin/Image-ExifTool-10.31/t/Casio_3.out +0 -102
  1218. data/bin/Image-ExifTool-10.31/t/Casio_5.out +0 -80
  1219. data/bin/Image-ExifTool-10.31/t/Casio_6.out +0 -117
  1220. data/bin/Image-ExifTool-10.31/t/DNG_2.out +0 -329
  1221. data/bin/Image-ExifTool-10.31/t/ExifTool_2.out +0 -427
  1222. data/bin/Image-ExifTool-10.31/t/ExifTool_29.out +0 -426
  1223. data/bin/Image-ExifTool-10.31/t/FLIF_2.out +0 -50
  1224. data/bin/Image-ExifTool-10.31/t/FLIF_4.out +0 -17
  1225. data/bin/Image-ExifTool-10.31/t/FLIR_2.out +0 -118
  1226. data/bin/Image-ExifTool-10.31/t/FujiFilm_2.out +0 -89
  1227. data/bin/Image-ExifTool-10.31/t/FujiFilm_3.out +0 -90
  1228. data/bin/Image-ExifTool-10.31/t/FujiFilm_4.out +0 -143
  1229. data/bin/Image-ExifTool-10.31/t/GE_2.out +0 -86
  1230. data/bin/Image-ExifTool-10.31/t/GE_3.out +0 -86
  1231. data/bin/Image-ExifTool-10.31/t/GPS_2.out +0 -96
  1232. data/bin/Image-ExifTool-10.31/t/GPS_3.out +0 -98
  1233. data/bin/Image-ExifTool-10.31/t/Kodak_2.out +0 -111
  1234. data/bin/Image-ExifTool-10.31/t/Kodak_3.out +0 -121
  1235. data/bin/Image-ExifTool-10.31/t/Lang.t +0 -40
  1236. data/bin/Image-ExifTool-10.31/t/Lang_10.out +0 -46
  1237. data/bin/Image-ExifTool-10.31/t/Lang_11.out +0 -46
  1238. data/bin/Image-ExifTool-10.31/t/Lang_12.out +0 -46
  1239. data/bin/Image-ExifTool-10.31/t/Lang_13.out +0 -46
  1240. data/bin/Image-ExifTool-10.31/t/Lang_14.out +0 -46
  1241. data/bin/Image-ExifTool-10.31/t/Lang_15.out +0 -46
  1242. data/bin/Image-ExifTool-10.31/t/Lang_16.out +0 -46
  1243. data/bin/Image-ExifTool-10.31/t/Lang_17.out +0 -46
  1244. data/bin/Image-ExifTool-10.31/t/Lang_18.out +0 -46
  1245. data/bin/Image-ExifTool-10.31/t/Lang_2.out +0 -46
  1246. data/bin/Image-ExifTool-10.31/t/Lang_3.out +0 -46
  1247. data/bin/Image-ExifTool-10.31/t/Lang_4.out +0 -46
  1248. data/bin/Image-ExifTool-10.31/t/Lang_5.out +0 -46
  1249. data/bin/Image-ExifTool-10.31/t/Lang_6.out +0 -46
  1250. data/bin/Image-ExifTool-10.31/t/Lang_7.out +0 -46
  1251. data/bin/Image-ExifTool-10.31/t/Lang_8.out +0 -46
  1252. data/bin/Image-ExifTool-10.31/t/Lang_9.out +0 -46
  1253. data/bin/Image-ExifTool-10.31/t/MIE_3.out +0 -136
  1254. data/bin/Image-ExifTool-10.31/t/MWG.t +0 -90
  1255. data/bin/Image-ExifTool-10.31/t/MWG_2.out +0 -13
  1256. data/bin/Image-ExifTool-10.31/t/Minolta_2.out +0 -135
  1257. data/bin/Image-ExifTool-10.31/t/Minolta_3.out +0 -148
  1258. data/bin/Image-ExifTool-10.31/t/Minolta_4.out +0 -150
  1259. data/bin/Image-ExifTool-10.31/t/Nikon_2.out +0 -84
  1260. data/bin/Image-ExifTool-10.31/t/Nikon_3.out +0 -100
  1261. data/bin/Image-ExifTool-10.31/t/Nikon_4.out +0 -176
  1262. data/bin/Image-ExifTool-10.31/t/Nikon_5.out +0 -169
  1263. data/bin/Image-ExifTool-10.31/t/Nikon_7.out +0 -261
  1264. data/bin/Image-ExifTool-10.31/t/Olympus_2.out +0 -81
  1265. data/bin/Image-ExifTool-10.31/t/Olympus_3.out +0 -83
  1266. data/bin/Image-ExifTool-10.31/t/Olympus_4.out +0 -194
  1267. data/bin/Image-ExifTool-10.31/t/Olympus_5.out +0 -266
  1268. data/bin/Image-ExifTool-10.31/t/Olympus_6.out +0 -153
  1269. data/bin/Image-ExifTool-10.31/t/Panasonic_2.out +0 -101
  1270. data/bin/Image-ExifTool-10.31/t/Panasonic_3.out +0 -121
  1271. data/bin/Image-ExifTool-10.31/t/Panasonic_4.out +0 -206
  1272. data/bin/Image-ExifTool-10.31/t/Panasonic_5.out +0 -244
  1273. data/bin/Image-ExifTool-10.31/t/Pentax_2.out +0 -225
  1274. data/bin/Image-ExifTool-10.31/t/Pentax_3.out +0 -266
  1275. data/bin/Image-ExifTool-10.31/t/Pentax_4.out +0 -131
  1276. data/bin/Image-ExifTool-10.31/t/PhaseOne_2.out +0 -99
  1277. data/bin/Image-ExifTool-10.31/t/PhaseOne_3.out +0 -170
  1278. data/bin/Image-ExifTool-10.31/t/RIFF_3.out +0 -54
  1279. data/bin/Image-ExifTool-10.31/t/Ricoh_2.out +0 -72
  1280. data/bin/Image-ExifTool-10.31/t/Ricoh_3.out +0 -100
  1281. data/bin/Image-ExifTool-10.31/t/Ricoh_4.out +0 -114
  1282. data/bin/Image-ExifTool-10.31/t/Sanyo_2.out +0 -103
  1283. data/bin/Image-ExifTool-10.31/t/Sanyo_3.out +0 -113
  1284. data/bin/Image-ExifTool-10.31/t/Sigma_2.out +0 -93
  1285. data/bin/Image-ExifTool-10.31/t/Sigma_3.out +0 -96
  1286. data/bin/Image-ExifTool-10.31/t/Sigma_5.out +0 -194
  1287. data/bin/Image-ExifTool-10.31/t/Sony_2.out +0 -86
  1288. data/bin/Image-ExifTool-10.31/t/Sony_3.out +0 -87
  1289. data/bin/Image-ExifTool-10.31/t/Sony_5.out +0 -34
  1290. data/bin/Image-ExifTool-10.31/t/Unknown_2.out +0 -92
  1291. data/bin/Image-ExifTool-10.31/t/Unknown_3.out +0 -92
  1292. data/bin/Image-ExifTool-10.31/t/Writer.t +0 -999
  1293. data/bin/Image-ExifTool-10.31/t/Writer_10.out +0 -246
  1294. data/bin/Image-ExifTool-10.31/t/Writer_46.out +0 -107
  1295. data/bin/Image-ExifTool-10.31/t/Writer_51.out +0 -414
  1296. data/bin/Image-ExifTool-10.31/t/Writer_9.out +0 -243
@@ -0,0 +1,1587 @@
1
+ #------------------------------------------------------------------------------
2
+ # File: RIFF.pm
3
+ #
4
+ # Description: Read RIFF/AVI/WAV meta information
5
+ #
6
+ # Revisions: 09/14/2005 - P. Harvey Created
7
+ #
8
+ # References: 1) http://www.exif.org/Exif2-2.PDF
9
+ # 2) http://www.vlsi.fi/datasheets/vs1011.pdf
10
+ # 3) http://www.music-center.com.br/spec_rif.htm
11
+ # 4) http://www.codeproject.com/audio/wavefiles.asp
12
+ # 5) http://msdn.microsoft.com/archive/en-us/directx9_c/directx/htm/avirifffilereference.asp
13
+ # 6) http://research.microsoft.com/invisible/tests/riff.h.htm
14
+ # 7) http://www.onicos.com/staff/iz/formats/wav.html
15
+ # 8) http://graphics.cs.uni-sb.de/NMM/dist-0.9.1/Docs/Doxygen/html/mmreg_8h-source.html
16
+ # 9) http://developers.videolan.org/vlc/vlc/doc/doxygen/html/codecs_8h-source.html
17
+ # 10) http://wiki.multimedia.cx/index.php?title=TwoCC
18
+ # 11) Andreas Winter (SCLive) private communication
19
+ # 12) http://abcavi.kibi.ru/infotags.htm
20
+ # 13) http://tech.ebu.ch/docs/tech/tech3285.pdf
21
+ # 14) https://developers.google.com/speed/webp/docs/riff_container
22
+ #------------------------------------------------------------------------------
23
+
24
+ package Image::ExifTool::RIFF;
25
+
26
+ use strict;
27
+ use vars qw($VERSION);
28
+ use Image::ExifTool qw(:DataAccess :Utils);
29
+
30
+ $VERSION = '1.42';
31
+
32
+ sub ConvertTimecode($);
33
+
34
+ # recognized RIFF variants
35
+ my %riffType = (
36
+ 'WAVE' => 'WAV', 'AVI ' => 'AVI', 'WEBP' => 'WEBP',
37
+ 'LA02' => 'LA', 'LA03' => 'LA', 'LA04' => 'LA',
38
+ 'OFR ' => 'OFR', 'LPAC' => 'PAC', 'wvpk' => 'WV',
39
+ );
40
+
41
+ # MIME types of recognized RIFF-format files
42
+ my %riffMimeType = (
43
+ WAV => 'audio/x-wav',
44
+ AVI => 'video/x-msvideo',
45
+ WEBP => 'image/webp',
46
+ LA => 'audio/x-nspaudio',
47
+ OFR => 'audio/x-ofr',
48
+ PAC => 'audio/x-lpac',
49
+ WV => 'audio/x-wavpack',
50
+ );
51
+
52
+ # character sets for recognized Windows code pages
53
+ my %code2charset = (
54
+ 0 => 'Latin',
55
+ 65001 => 'UTF8',
56
+ 1252 => 'Latin',
57
+ 1250 => 'Latin2',
58
+ 1251 => 'Cyrillic',
59
+ 1253 => 'Greek',
60
+ 1254 => 'Turkish',
61
+ 1255 => 'Hebrew',
62
+ 1256 => 'Arabic',
63
+ 1257 => 'Baltic',
64
+ 1258 => 'Vietnam',
65
+ 874 => 'Thai',
66
+ 10000 => 'MacRoman',
67
+ 10029 => 'MacLatin2',
68
+ 10007 => 'MacCyrillic',
69
+ 10006 => 'MacGreek',
70
+ 10081 => 'MacTurkish',
71
+ 10010 => 'MacRomanian',
72
+ 10079 => 'MacIceland',
73
+ 10082 => 'MacCroatian',
74
+ );
75
+
76
+ %Image::ExifTool::RIFF::audioEncoding = ( #2
77
+ Notes => 'These "TwoCC" audio encoding codes are used in RIFF and ASF files.',
78
+ 0x01 => 'Microsoft PCM',
79
+ 0x02 => 'Microsoft ADPCM',
80
+ 0x03 => 'Microsoft IEEE float',
81
+ 0x04 => 'Compaq VSELP', #4
82
+ 0x05 => 'IBM CVSD', #4
83
+ 0x06 => 'Microsoft a-Law',
84
+ 0x07 => 'Microsoft u-Law',
85
+ 0x08 => 'Microsoft DTS', #4
86
+ 0x09 => 'DRM', #4
87
+ 0x0a => 'WMA 9 Speech', #9
88
+ 0x0b => 'Microsoft Windows Media RT Voice', #10
89
+ 0x10 => 'OKI-ADPCM',
90
+ 0x11 => 'Intel IMA/DVI-ADPCM',
91
+ 0x12 => 'Videologic Mediaspace ADPCM', #4
92
+ 0x13 => 'Sierra ADPCM', #4
93
+ 0x14 => 'Antex G.723 ADPCM', #4
94
+ 0x15 => 'DSP Solutions DIGISTD',
95
+ 0x16 => 'DSP Solutions DIGIFIX',
96
+ 0x17 => 'Dialoic OKI ADPCM', #6
97
+ 0x18 => 'Media Vision ADPCM', #6
98
+ 0x19 => 'HP CU', #7
99
+ 0x1a => 'HP Dynamic Voice', #10
100
+ 0x20 => 'Yamaha ADPCM', #6
101
+ 0x21 => 'SONARC Speech Compression', #6
102
+ 0x22 => 'DSP Group True Speech', #6
103
+ 0x23 => 'Echo Speech Corp.', #6
104
+ 0x24 => 'Virtual Music Audiofile AF36', #6
105
+ 0x25 => 'Audio Processing Tech.', #6
106
+ 0x26 => 'Virtual Music Audiofile AF10', #6
107
+ 0x27 => 'Aculab Prosody 1612', #7
108
+ 0x28 => 'Merging Tech. LRC', #7
109
+ 0x30 => 'Dolby AC2',
110
+ 0x31 => 'Microsoft GSM610',
111
+ 0x32 => 'MSN Audio', #6
112
+ 0x33 => 'Antex ADPCME', #6
113
+ 0x34 => 'Control Resources VQLPC', #6
114
+ 0x35 => 'DSP Solutions DIGIREAL', #6
115
+ 0x36 => 'DSP Solutions DIGIADPCM', #6
116
+ 0x37 => 'Control Resources CR10', #6
117
+ 0x38 => 'Natural MicroSystems VBX ADPCM', #6
118
+ 0x39 => 'Crystal Semiconductor IMA ADPCM', #6
119
+ 0x3a => 'Echo Speech ECHOSC3', #6
120
+ 0x3b => 'Rockwell ADPCM',
121
+ 0x3c => 'Rockwell DIGITALK',
122
+ 0x3d => 'Xebec Multimedia', #6
123
+ 0x40 => 'Antex G.721 ADPCM',
124
+ 0x41 => 'Antex G.728 CELP',
125
+ 0x42 => 'Microsoft MSG723', #7
126
+ 0x43 => 'IBM AVC ADPCM', #10
127
+ 0x45 => 'ITU-T G.726', #9
128
+ 0x50 => 'Microsoft MPEG',
129
+ 0x51 => 'RT23 or PAC', #7
130
+ 0x52 => 'InSoft RT24', #4
131
+ 0x53 => 'InSoft PAC', #4
132
+ 0x55 => 'MP3',
133
+ 0x59 => 'Cirrus', #7
134
+ 0x60 => 'Cirrus Logic', #6
135
+ 0x61 => 'ESS Tech. PCM', #6
136
+ 0x62 => 'Voxware Inc.', #6
137
+ 0x63 => 'Canopus ATRAC', #6
138
+ 0x64 => 'APICOM G.726 ADPCM',
139
+ 0x65 => 'APICOM G.722 ADPCM',
140
+ 0x66 => 'Microsoft DSAT', #6
141
+ 0x67 => 'Micorsoft DSAT DISPLAY', #6
142
+ 0x69 => 'Voxware Byte Aligned', #7
143
+ 0x70 => 'Voxware AC8', #7
144
+ 0x71 => 'Voxware AC10', #7
145
+ 0x72 => 'Voxware AC16', #7
146
+ 0x73 => 'Voxware AC20', #7
147
+ 0x74 => 'Voxware MetaVoice', #7
148
+ 0x75 => 'Voxware MetaSound', #7
149
+ 0x76 => 'Voxware RT29HW', #7
150
+ 0x77 => 'Voxware VR12', #7
151
+ 0x78 => 'Voxware VR18', #7
152
+ 0x79 => 'Voxware TQ40', #7
153
+ 0x7a => 'Voxware SC3', #10
154
+ 0x7b => 'Voxware SC3', #10
155
+ 0x80 => 'Soundsoft', #6
156
+ 0x81 => 'Voxware TQ60', #7
157
+ 0x82 => 'Microsoft MSRT24', #7
158
+ 0x83 => 'AT&T G.729A', #7
159
+ 0x84 => 'Motion Pixels MVI MV12', #7
160
+ 0x85 => 'DataFusion G.726', #7
161
+ 0x86 => 'DataFusion GSM610', #7
162
+ 0x88 => 'Iterated Systems Audio', #7
163
+ 0x89 => 'Onlive', #7
164
+ 0x8a => 'Multitude, Inc. FT SX20', #10
165
+ 0x8b => 'Infocom ITS A/S G.721 ADPCM', #10
166
+ 0x8c => 'Convedia G729', #10
167
+ 0x8d => 'Not specified congruency, Inc.', #10
168
+ 0x91 => 'Siemens SBC24', #7
169
+ 0x92 => 'Sonic Foundry Dolby AC3 APDIF', #7
170
+ 0x93 => 'MediaSonic G.723', #8
171
+ 0x94 => 'Aculab Prosody 8kbps', #8
172
+ 0x97 => 'ZyXEL ADPCM', #7,
173
+ 0x98 => 'Philips LPCBB', #7
174
+ 0x99 => 'Studer Professional Audio Packed', #7
175
+ 0xa0 => 'Malden PhonyTalk', #8
176
+ 0xa1 => 'Racal Recorder GSM', #10
177
+ 0xa2 => 'Racal Recorder G720.a', #10
178
+ 0xa3 => 'Racal G723.1', #10
179
+ 0xa4 => 'Racal Tetra ACELP', #10
180
+ 0xb0 => 'NEC AAC NEC Corporation', #10
181
+ 0xff => 'AAC', #10
182
+ 0x100 => 'Rhetorex ADPCM', #6
183
+ 0x101 => 'IBM u-Law', #3
184
+ 0x102 => 'IBM a-Law', #3
185
+ 0x103 => 'IBM ADPCM', #3
186
+ 0x111 => 'Vivo G.723', #7
187
+ 0x112 => 'Vivo Siren', #7
188
+ 0x120 => 'Philips Speech Processing CELP', #10
189
+ 0x121 => 'Philips Speech Processing GRUNDIG', #10
190
+ 0x123 => 'Digital G.723', #7
191
+ 0x125 => 'Sanyo LD ADPCM', #8
192
+ 0x130 => 'Sipro Lab ACEPLNET', #8
193
+ 0x131 => 'Sipro Lab ACELP4800', #8
194
+ 0x132 => 'Sipro Lab ACELP8V3', #8
195
+ 0x133 => 'Sipro Lab G.729', #8
196
+ 0x134 => 'Sipro Lab G.729A', #8
197
+ 0x135 => 'Sipro Lab Kelvin', #8
198
+ 0x136 => 'VoiceAge AMR', #10
199
+ 0x140 => 'Dictaphone G.726 ADPCM', #8
200
+ 0x150 => 'Qualcomm PureVoice', #8
201
+ 0x151 => 'Qualcomm HalfRate', #8
202
+ 0x155 => 'Ring Zero Systems TUBGSM', #8
203
+ 0x160 => 'Microsoft Audio1', #8
204
+ 0x161 => 'Windows Media Audio V2 V7 V8 V9 / DivX audio (WMA) / Alex AC3 Audio', #10
205
+ 0x162 => 'Windows Media Audio Professional V9', #10
206
+ 0x163 => 'Windows Media Audio Lossless V9', #10
207
+ 0x164 => 'WMA Pro over S/PDIF', #10
208
+ 0x170 => 'UNISYS NAP ADPCM', #10
209
+ 0x171 => 'UNISYS NAP ULAW', #10
210
+ 0x172 => 'UNISYS NAP ALAW', #10
211
+ 0x173 => 'UNISYS NAP 16K', #10
212
+ 0x174 => 'MM SYCOM ACM SYC008 SyCom Technologies', #10
213
+ 0x175 => 'MM SYCOM ACM SYC701 G726L SyCom Technologies', #10
214
+ 0x176 => 'MM SYCOM ACM SYC701 CELP54 SyCom Technologies', #10
215
+ 0x177 => 'MM SYCOM ACM SYC701 CELP68 SyCom Technologies', #10
216
+ 0x178 => 'Knowledge Adventure ADPCM', #10
217
+ 0x180 => 'Fraunhofer IIS MPEG2AAC', #10
218
+ 0x190 => 'Digital Theater Systems DTS DS', #10
219
+ 0x200 => 'Creative Labs ADPCM', #6
220
+ 0x202 => 'Creative Labs FASTSPEECH8', #6
221
+ 0x203 => 'Creative Labs FASTSPEECH10', #6
222
+ 0x210 => 'UHER ADPCM', #8
223
+ 0x215 => 'Ulead DV ACM', #10
224
+ 0x216 => 'Ulead DV ACM', #10
225
+ 0x220 => 'Quarterdeck Corp.', #6
226
+ 0x230 => 'I-Link VC', #8
227
+ 0x240 => 'Aureal Semiconductor Raw Sport', #8
228
+ 0x241 => 'ESST AC3', #10
229
+ 0x250 => 'Interactive Products HSX', #8
230
+ 0x251 => 'Interactive Products RPELP', #8
231
+ 0x260 => 'Consistent CS2', #8
232
+ 0x270 => 'Sony SCX', #8
233
+ 0x271 => 'Sony SCY', #10
234
+ 0x272 => 'Sony ATRAC3', #10
235
+ 0x273 => 'Sony SPC', #10
236
+ 0x280 => 'TELUM Telum Inc.', #10
237
+ 0x281 => 'TELUMIA Telum Inc.', #10
238
+ 0x285 => 'Norcom Voice Systems ADPCM', #10
239
+ 0x300 => 'Fujitsu FM TOWNS SND', #6
240
+ 0x301 => 'Fujitsu (not specified)', #10
241
+ 0x302 => 'Fujitsu (not specified)', #10
242
+ 0x303 => 'Fujitsu (not specified)', #10
243
+ 0x304 => 'Fujitsu (not specified)', #10
244
+ 0x305 => 'Fujitsu (not specified)', #10
245
+ 0x306 => 'Fujitsu (not specified)', #10
246
+ 0x307 => 'Fujitsu (not specified)', #10
247
+ 0x308 => 'Fujitsu (not specified)', #10
248
+ 0x350 => 'Micronas Semiconductors, Inc. Development', #10
249
+ 0x351 => 'Micronas Semiconductors, Inc. CELP833', #10
250
+ 0x400 => 'Brooktree Digital', #6
251
+ 0x401 => 'Intel Music Coder (IMC)', #10
252
+ 0x402 => 'Ligos Indeo Audio', #10
253
+ 0x450 => 'QDesign Music', #8
254
+ 0x500 => 'On2 VP7 On2 Technologies', #10
255
+ 0x501 => 'On2 VP6 On2 Technologies', #10
256
+ 0x680 => 'AT&T VME VMPCM', #7
257
+ 0x681 => 'AT&T TCP', #8
258
+ 0x700 => 'YMPEG Alpha (dummy for MPEG-2 compressor)', #10
259
+ 0x8ae => 'ClearJump LiteWave (lossless)', #10
260
+ 0x1000 => 'Olivetti GSM', #6
261
+ 0x1001 => 'Olivetti ADPCM', #6
262
+ 0x1002 => 'Olivetti CELP', #6
263
+ 0x1003 => 'Olivetti SBC', #6
264
+ 0x1004 => 'Olivetti OPR', #6
265
+ 0x1100 => 'Lernout & Hauspie', #6
266
+ 0x1101 => 'Lernout & Hauspie CELP codec', #10
267
+ 0x1102 => 'Lernout & Hauspie SBC codec', #10
268
+ 0x1103 => 'Lernout & Hauspie SBC codec', #10
269
+ 0x1104 => 'Lernout & Hauspie SBC codec', #10
270
+ 0x1400 => 'Norris Comm. Inc.', #6
271
+ 0x1401 => 'ISIAudio', #7
272
+ 0x1500 => 'AT&T Soundspace Music Compression', #7
273
+ 0x181c => 'VoxWare RT24 speech codec', #10
274
+ 0x181e => 'Lucent elemedia AX24000P Music codec', #10
275
+ 0x1971 => 'Sonic Foundry LOSSLESS', #10
276
+ 0x1979 => 'Innings Telecom Inc. ADPCM', #10
277
+ 0x1c07 => 'Lucent SX8300P speech codec', #10
278
+ 0x1c0c => 'Lucent SX5363S G.723 compliant codec', #10
279
+ 0x1f03 => 'CUseeMe DigiTalk (ex-Rocwell)', #10
280
+ 0x1fc4 => 'NCT Soft ALF2CD ACM', #10
281
+ 0x2000 => 'FAST Multimedia DVM', #7
282
+ 0x2001 => 'Dolby DTS (Digital Theater System)', #10
283
+ 0x2002 => 'RealAudio 1 / 2 14.4', #10
284
+ 0x2003 => 'RealAudio 1 / 2 28.8', #10
285
+ 0x2004 => 'RealAudio G2 / 8 Cook (low bitrate)', #10
286
+ 0x2005 => 'RealAudio 3 / 4 / 5 Music (DNET)', #10
287
+ 0x2006 => 'RealAudio 10 AAC (RAAC)', #10
288
+ 0x2007 => 'RealAudio 10 AAC+ (RACP)', #10
289
+ 0x2500 => 'Reserved range to 0x2600 Microsoft', #10
290
+ 0x3313 => 'makeAVIS (ffvfw fake AVI sound from AviSynth scripts)', #10
291
+ 0x4143 => 'Divio MPEG-4 AAC audio', #10
292
+ 0x4201 => 'Nokia adaptive multirate', #10
293
+ 0x4243 => 'Divio G726 Divio, Inc.', #10
294
+ 0x434c => 'LEAD Speech', #10
295
+ 0x564c => 'LEAD Vorbis', #10
296
+ 0x5756 => 'WavPack Audio', #10
297
+ 0x674f => 'Ogg Vorbis (mode 1)', #10
298
+ 0x6750 => 'Ogg Vorbis (mode 2)', #10
299
+ 0x6751 => 'Ogg Vorbis (mode 3)', #10
300
+ 0x676f => 'Ogg Vorbis (mode 1+)', #10
301
+ 0x6770 => 'Ogg Vorbis (mode 2+)', #10
302
+ 0x6771 => 'Ogg Vorbis (mode 3+)', #10
303
+ 0x7000 => '3COM NBX 3Com Corporation', #10
304
+ 0x706d => 'FAAD AAC', #10
305
+ 0x7a21 => 'GSM-AMR (CBR, no SID)', #10
306
+ 0x7a22 => 'GSM-AMR (VBR, including SID)', #10
307
+ 0xa100 => 'Comverse Infosys Ltd. G723 1', #10
308
+ 0xa101 => 'Comverse Infosys Ltd. AVQSBC', #10
309
+ 0xa102 => 'Comverse Infosys Ltd. OLDSBC', #10
310
+ 0xa103 => 'Symbol Technologies G729A', #10
311
+ 0xa104 => 'VoiceAge AMR WB VoiceAge Corporation', #10
312
+ 0xa105 => 'Ingenient Technologies Inc. G726', #10
313
+ 0xa106 => 'ISO/MPEG-4 advanced audio Coding', #10
314
+ 0xa107 => 'Encore Software Ltd G726', #10
315
+ 0xa109 => 'Speex ACM Codec xiph.org', #10
316
+ 0xdfac => 'DebugMode SonicFoundry Vegas FrameServer ACM Codec', #10
317
+ 0xe708 => 'Unknown -', #10
318
+ 0xf1ac => 'Free Lossless Audio Codec FLAC', #10
319
+ 0xfffe => 'Extensible', #7
320
+ 0xffff => 'Development', #4
321
+ );
322
+
323
+ # RIFF info
324
+ %Image::ExifTool::RIFF::Main = (
325
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessChunks,
326
+ NOTES => q{
327
+ The RIFF container format is used various types of fines including AVI, WAV,
328
+ WEBP, LA, OFR, PAC and WV. According to the EXIF specification, Meta
329
+ information is embedded in two types of RIFF C<LIST> chunks: C<INFO> and
330
+ C<exif>, and information about the audio content is stored in the C<fmt >
331
+ chunk. As well as this information, some video information and proprietary
332
+ manufacturer-specific information is also extracted.
333
+
334
+ Large AVI videos may be a concatenation of two or more RIFF chunks. For
335
+ these files, information is extracted from subsequent RIFF chunks as
336
+ sub-documents, but the Duration is calculated for the full video.
337
+ },
338
+ # (not 100% sure that the concatination technique mentioned above is valid - PH)
339
+ 'fmt ' => {
340
+ Name => 'AudioFormat',
341
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::AudioFormat' },
342
+ },
343
+ 'bext' => {
344
+ Name => 'BroadcastExtension',
345
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::BroadcastExt' },
346
+ },
347
+ LIST_INFO => {
348
+ Name => 'Info',
349
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Info' },
350
+ },
351
+ LIST_exif => {
352
+ Name => 'Exif',
353
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Exif' },
354
+ },
355
+ LIST_hdrl => { # AVI header LIST chunk
356
+ Name => 'Hdrl',
357
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Hdrl' },
358
+ },
359
+ LIST_Tdat => { #PH (Adobe CS3 Bridge)
360
+ Name => 'Tdat',
361
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Tdat' },
362
+ },
363
+ LIST_ncdt => { #PH (Nikon metadata)
364
+ Name => 'NikonData',
365
+ SubDirectory => {
366
+ TagTable => 'Image::ExifTool::Nikon::AVI',
367
+ # define ProcessProc here so we don't need to load RIFF.pm from Nikon.pm
368
+ ProcessProc => \&Image::ExifTool::RIFF::ProcessChunks,
369
+ },
370
+ },
371
+ LIST_hydt => { #PH (Pentax metadata)
372
+ Name => 'PentaxData',
373
+ SubDirectory => {
374
+ TagTable => 'Image::ExifTool::Pentax::AVI',
375
+ ProcessProc => \&Image::ExifTool::RIFF::ProcessChunks,
376
+ },
377
+ },
378
+ # seen LIST_JUNK
379
+ JUNK => [
380
+ {
381
+ Name => 'OlympusJunk',
382
+ Condition => '$$valPt =~ /^OLYMDigital Camera/',
383
+ SubDirectory => { TagTable => 'Image::ExifTool::Olympus::AVI' },
384
+ },
385
+ {
386
+ Name => 'CasioJunk',
387
+ Condition => '$$valPt =~ /^QVMI/',
388
+ # Casio stores standard EXIF-format information in AVI videos (EX-S600)
389
+ SubDirectory => {
390
+ TagTable => 'Image::ExifTool::Exif::Main',
391
+ DirName => 'IFD0',
392
+ Multi => 0, # (IFD1 is not written)
393
+ Start => 10,
394
+ ByteOrder => 'BigEndian',
395
+ },
396
+ },
397
+ {
398
+ Name => 'RicohJunk',
399
+ # the Ricoh Caplio GX stores sub-chunks in here
400
+ Condition => '$$valPt =~ /^ucmt/',
401
+ SubDirectory => {
402
+ TagTable => 'Image::ExifTool::Ricoh::AVI',
403
+ ProcessProc => \&Image::ExifTool::RIFF::ProcessChunks,
404
+ },
405
+ },
406
+ {
407
+ Name => 'PentaxJunk', # (Optio RS1000)
408
+ Condition => '$$valPt =~ /^IIII\x01\0/',
409
+ SubDirectory => { TagTable => 'Image::ExifTool::Pentax::Junk' },
410
+ },
411
+ {
412
+ Name => 'PentaxJunk2', # (Optio RZ18)
413
+ Condition => '$$valPt =~ /^PENTDigital Camera/',
414
+ SubDirectory => { TagTable => 'Image::ExifTool::Pentax::Junk2' },
415
+ },
416
+ {
417
+ Name => 'TextJunk',
418
+ # try to interpret unknown junk as an ASCII string
419
+ RawConv => '$val =~ /^([^\0-\x1f\x7f-\xff]+)\0*$/ ? $1 : undef',
420
+ }
421
+ ],
422
+ _PMX => { #PH (Adobe CS3 Bridge)
423
+ Name => 'XMP',
424
+ Notes => 'AVI and WAV files',
425
+ SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
426
+ },
427
+ JUNQ => { #PH (Adobe CS3 Bridge)
428
+ # old XMP is preserved when metadata is replaced in Bridge
429
+ Name => 'OldXMP',
430
+ Binary => 1,
431
+ },
432
+ olym => {
433
+ Name => 'Olym',
434
+ SubDirectory => { TagTable => 'Image::ExifTool::Olympus::WAV' },
435
+ },
436
+ fact => {
437
+ Name => 'NumberOfSamples',
438
+ RawConv => 'Get32u(\$val, 0)',
439
+ },
440
+ 'cue ' => {
441
+ Name => 'CuePoints',
442
+ Binary => 1,
443
+ },
444
+ afsp => { },
445
+ IDIT => {
446
+ Name => 'DateTimeOriginal',
447
+ Description => 'Date/Time Original',
448
+ Groups => { 2 => 'Time' },
449
+ ValueConv => 'Image::ExifTool::RIFF::ConvertRIFFDate($val)',
450
+ PrintConv => '$self->ConvertDateTime($val)',
451
+ },
452
+ CSET => {
453
+ Name => 'CharacterSet',
454
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::CSET' },
455
+ },
456
+ #
457
+ # WebP-specific tags
458
+ #
459
+ EXIF => { # (WebP)
460
+ Name => 'EXIF',
461
+ Notes => 'WebP files',
462
+ SubDirectory => {
463
+ TagTable => 'Image::ExifTool::Exif::Main',
464
+ ProcessProc => \&Image::ExifTool::ProcessTIFF,
465
+ },
466
+ },
467
+ 'XMP ' => { #14 (WebP)
468
+ Name => 'XMP',
469
+ Notes => 'WebP files',
470
+ SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
471
+ },
472
+ ICCP => { #14 (WebP)
473
+ Name => 'ICC_Profile',
474
+ Notes => 'WebP files',
475
+ SubDirectory => { TagTable => 'Image::ExifTool::ICC_Profile::Main' },
476
+ },
477
+ 'VP8 ' => { # (WebP lossy)
478
+ Name => 'VP8Bitstream',
479
+ Condition => '$$valPt =~ /^...\x9d\x01\x2a/s',
480
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::VP8' },
481
+ },
482
+ VP8L => { #14 (WebP lossless)
483
+ Name => 'VP8L',
484
+ Condition => '$$valPt =~ /^\x2f/',
485
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::VP8L' },
486
+ },
487
+ VP8X => { #14 (WebP extended)
488
+ Name => 'VP8X',
489
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::VP8X' },
490
+ },
491
+ ANIM => { #14 (WebP animation)
492
+ Name => 'ANIM',
493
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::ANIM' },
494
+ },
495
+ ANMF => { #14 (WebP animation frame)
496
+ Name => 'ANMF',
497
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::ANMF' },
498
+ },
499
+ ALPH => { #14 (WebP alpha)
500
+ Name => 'ALPH',
501
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::ALPH' },
502
+ },
503
+ );
504
+
505
+ # the maker notes used by some digital cameras
506
+ %Image::ExifTool::RIFF::Junk = (
507
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
508
+ GROUPS => { 2 => 'Audio' },
509
+ );
510
+
511
+ # Format and Audio Stream Format chunk data
512
+ %Image::ExifTool::RIFF::AudioFormat = (
513
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
514
+ GROUPS => { 2 => 'Audio' },
515
+ FORMAT => 'int16u',
516
+ 0 => {
517
+ Name => 'Encoding',
518
+ PrintHex => 1,
519
+ PrintConv => \%Image::ExifTool::RIFF::audioEncoding,
520
+ SeparateTable => 'AudioEncoding',
521
+ },
522
+ 1 => 'NumChannels',
523
+ 2 => {
524
+ Name => 'SampleRate',
525
+ Format => 'int32u',
526
+ },
527
+ 4 => {
528
+ Name => 'AvgBytesPerSec',
529
+ Format => 'int32u',
530
+ },
531
+ # uninteresting
532
+ # 6 => 'BlockAlignment',
533
+ 7 => 'BitsPerSample',
534
+ );
535
+
536
+ # Broadcast Audio Extension 'bext' information (ref 13)
537
+ %Image::ExifTool::RIFF::BroadcastExt = (
538
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
539
+ GROUPS => { 2 => 'Audio' },
540
+ NOTES => q{
541
+ Information found in the Broadcast Audio Extension chunk (see
542
+ L<http://tech.ebu.ch/docs/tech/tech3285.pdf>).
543
+ },
544
+ 0 => {
545
+ Name => 'Description',
546
+ Format => 'string[256]',
547
+ },
548
+ 256 => {
549
+ Name => 'Originator',
550
+ Format => 'string[32]',
551
+ },
552
+ 288 => {
553
+ Name => 'OriginatorReference',
554
+ Format => 'string[32]',
555
+ },
556
+ 320 => {
557
+ Name => 'DateTimeOriginal',
558
+ Description => 'Date/Time Original',
559
+ Groups => { 2 => 'Time' },
560
+ Format => 'string[18]',
561
+ ValueConv => '$_=$val; tr/-/:/; s/^(\d{4}:\d{2}:\d{2})/$1 /; $_',
562
+ PrintConv => '$self->ConvertDateTime($val)',
563
+ },
564
+ 338 => {
565
+ Name => 'TimeReference',
566
+ Notes => 'first sample count since midnight',
567
+ Format => 'int32u[2]',
568
+ ValueConv => 'my @v=split(" ",$val); $v[0] + $v[1] * 4294967296',
569
+ },
570
+ 346 => {
571
+ Name => 'BWFVersion',
572
+ Format => 'int16u',
573
+ },
574
+ # 348 - int8u[64] - SMPTE 330M UMID (Unique Material Identifier)
575
+ # 412 - int8u[190] - reserved
576
+ 602 => {
577
+ Name => 'CodingHistory',
578
+ Format => 'string[$size-602]',
579
+ },
580
+ );
581
+
582
+ # Sub chunks of INFO LIST chunk
583
+ %Image::ExifTool::RIFF::Info = (
584
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessChunks,
585
+ GROUPS => { 2 => 'Audio' },
586
+ FORMAT => 'string',
587
+ NOTES => q{
588
+ RIFF INFO tags found in AVI video and WAV audio files. Tags which are part
589
+ of the EXIF 2.3 specification have an underlined Tag Name in the HTML
590
+ version of this documentation. Other tags are found in AVI files generated
591
+ by some software.
592
+ },
593
+ IARL => 'ArchivalLocation',
594
+ IART => { Name => 'Artist', Groups => { 2 => 'Author' } },
595
+ ICMS => 'Commissioned',
596
+ ICMT => 'Comment',
597
+ ICOP => { Name => 'Copyright', Groups => { 2 => 'Author' } },
598
+ ICRD => {
599
+ Name => 'DateCreated',
600
+ Groups => { 2 => 'Time' },
601
+ ValueConv => '$_=$val; s/-/:/g; $_',
602
+ },
603
+ ICRP => 'Cropped',
604
+ IDIM => 'Dimensions',
605
+ IDPI => 'DotsPerInch',
606
+ IENG => 'Engineer',
607
+ IGNR => 'Genre',
608
+ IKEY => 'Keywords',
609
+ ILGT => 'Lightness',
610
+ IMED => 'Medium',
611
+ INAM => 'Title',
612
+ IPLT => 'NumColors',
613
+ IPRD => 'Product',
614
+ ISBJ => 'Subject',
615
+ ISFT => {
616
+ Name => 'Software',
617
+ # remove trailing nulls/spaces and split at first null
618
+ # (Casio writes "CASIO" in unicode after the first null)
619
+ ValueConv => '$_=$val; s/(\s*\0)+$//; s/(\s*\0)/, /; s/\0+//g; $_',
620
+ },
621
+ ISHP => 'Sharpness',
622
+ ISRC => 'Source',
623
+ ISRF => 'SourceForm',
624
+ ITCH => 'Technician',
625
+ #
626
+ # 3rd party tags
627
+ #
628
+ # internet movie database (ref 12)
629
+ ISGN => 'SecondaryGenre',
630
+ IWRI => 'WrittenBy',
631
+ IPRO => 'ProducedBy',
632
+ ICNM => 'Cinematographer',
633
+ IPDS => 'ProductionDesigner',
634
+ IEDT => 'EditedBy',
635
+ ICDS => 'CostumeDesigner',
636
+ IMUS => 'MusicBy',
637
+ ISTD => 'ProductionStudio',
638
+ IDST => 'DistributedBy',
639
+ ICNT => 'Country',
640
+ ILNG => 'Language',
641
+ IRTD => 'Rating',
642
+ ISTR => 'Starring',
643
+ # MovieID (ref12)
644
+ TITL => 'Title',
645
+ DIRC => 'Directory',
646
+ YEAR => 'Year',
647
+ GENR => 'Genre',
648
+ COMM => 'Comments',
649
+ LANG => 'Language',
650
+ AGES => 'Rated',
651
+ STAR => 'Starring',
652
+ CODE => 'EncodedBy',
653
+ PRT1 => 'Part',
654
+ PRT2 => 'NumberOfParts',
655
+ # Morgan Multimedia INFO tags (ref 12)
656
+ IAS1 => 'FirstLanguage',
657
+ IAS2 => 'SecondLanguage',
658
+ IAS3 => 'ThirdLanguage',
659
+ IAS4 => 'FourthLanguage',
660
+ IAS5 => 'FifthLanguage',
661
+ IAS6 => 'SixthLanguage',
662
+ IAS7 => 'SeventhLanguage',
663
+ IAS8 => 'EighthLanguage',
664
+ IAS9 => 'NinthLanguage',
665
+ ICAS => 'DefaultAudioStream',
666
+ IBSU => 'BaseURL',
667
+ ILGU => 'LogoURL',
668
+ ILIU => 'LogoIconURL',
669
+ IWMU => 'WatermarkURL',
670
+ IMIU => 'MoreInfoURL',
671
+ IMBI => 'MoreInfoBannerImage',
672
+ IMBU => 'MoreInfoBannerURL',
673
+ IMIT => 'MoreInfoText',
674
+ # GSpot INFO tags (ref 12)
675
+ IENC => 'EncodedBy',
676
+ IRIP => 'RippedBy',
677
+ # Sound Forge Pro tags
678
+ DISP => 'SoundSchemeTitle',
679
+ TLEN => { Name => 'Length', ValueConv => '$val/1000', PrintConv => '"$val s"' },
680
+ TRCK => 'TrackNumber',
681
+ TURL => 'URL',
682
+ TVER => 'Version',
683
+ LOCA => 'Location',
684
+ TORG => 'Organization',
685
+ # Sony Vegas AVI tags, also used by SCLive and Adobe Premier (ref 11)
686
+ TAPE => {
687
+ Name => 'TapeName',
688
+ Groups => { 2 => 'Video' },
689
+ },
690
+ TCOD => {
691
+ Name => 'StartTimecode',
692
+ # this is the tape time code for the start of the video
693
+ Groups => { 2 => 'Video' },
694
+ ValueConv => '$val * 1e-7',
695
+ PrintConv => \&ConvertTimecode,
696
+ },
697
+ TCDO => {
698
+ Name => 'EndTimecode',
699
+ Groups => { 2 => 'Video' },
700
+ ValueConv => '$val * 1e-7',
701
+ PrintConv => \&ConvertTimecode,
702
+ },
703
+ VMAJ => {
704
+ Name => 'VegasVersionMajor',
705
+ Groups => { 2 => 'Video' },
706
+ },
707
+ VMIN => {
708
+ Name => 'VegasVersionMinor',
709
+ Groups => { 2 => 'Video' },
710
+ },
711
+ CMNT => {
712
+ Name => 'Comment',
713
+ Groups => { 2 => 'Video' },
714
+ },
715
+ RATE => {
716
+ Name => 'Rate', #? (video? units?)
717
+ Groups => { 2 => 'Video' },
718
+ },
719
+ STAT => {
720
+ Name => 'Statistics',
721
+ Groups => { 2 => 'Video' },
722
+ # ("7318 0 3.430307 1", "0 0 3500.000000 1", "7 0 3.433228 1")
723
+ PrintConv => [
724
+ '"$val frames captured"',
725
+ '"$val dropped"',
726
+ '"Data rate $val"',
727
+ { 0 => 'Bad', 1 => 'OK' }, # capture OK?
728
+ ],
729
+ },
730
+ DTIM => {
731
+ Name => 'DateTimeOriginal',
732
+ Description => 'Date/Time Original',
733
+ Groups => { 2 => 'Time' },
734
+ ValueConv => q{
735
+ my @v = split ' ', $val;
736
+ return undef unless @v == 2;
737
+ # the Kodak EASYSHARE Sport stores this incorrectly as a string:
738
+ return $val if $val =~ /^\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2}$/;
739
+ # get time in seconds
740
+ $val = 1e-7 * ($v[0] * 4294967296 + $v[1]);
741
+ # shift from Jan 1, 1601 to Jan 1, 1970
742
+ $val -= 134774 * 24 * 3600 if $val != 0;
743
+ return Image::ExifTool::ConvertUnixTime($val);
744
+ },
745
+ PrintConv => '$self->ConvertDateTime($val)',
746
+ },
747
+ # not observed, but apparently part of the standard:
748
+ IDIT => {
749
+ Name => 'DateTimeOriginal',
750
+ Description => 'Date/Time Original',
751
+ Groups => { 2 => 'Time' },
752
+ ValueConv => 'Image::ExifTool::RIFF::ConvertRIFFDate($val)',
753
+ PrintConv => '$self->ConvertDateTime($val)',
754
+ },
755
+ ISMP => 'TimeCode',
756
+ );
757
+
758
+ # Sub chunks of EXIF LIST chunk
759
+ %Image::ExifTool::RIFF::Exif = (
760
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessChunks,
761
+ GROUPS => { 2 => 'Audio' },
762
+ NOTES => 'These tags are part of the EXIF 2.3 specification for WAV audio files.',
763
+ ever => 'ExifVersion',
764
+ erel => 'RelatedImageFile',
765
+ etim => { Name => 'TimeCreated', Groups => { 2 => 'Time' } },
766
+ ecor => { Name => 'Make', Groups => { 2 => 'Camera' } },
767
+ emdl => { Name => 'Model', Groups => { 2 => 'Camera' } },
768
+ emnt => { Name => 'MakerNotes', Binary => 1 },
769
+ eucm => {
770
+ Name => 'UserComment',
771
+ PrintConv => 'Image::ExifTool::Exif::ConvertExifText($self,$val,"RIFF:UserComment")',
772
+ },
773
+ );
774
+
775
+ # Sub chunks of hdrl LIST chunk
776
+ %Image::ExifTool::RIFF::Hdrl = (
777
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessChunks,
778
+ GROUPS => { 2 => 'Image' },
779
+ avih => {
780
+ Name => 'AVIHeader',
781
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::AVIHeader' },
782
+ },
783
+ IDIT => {
784
+ Name => 'DateTimeOriginal',
785
+ Description => 'Date/Time Original',
786
+ Groups => { 2 => 'Time' },
787
+ ValueConv => 'Image::ExifTool::RIFF::ConvertRIFFDate($val)',
788
+ PrintConv => '$self->ConvertDateTime($val)',
789
+ },
790
+ ISMP => 'TimeCode',
791
+ LIST_strl => {
792
+ Name => 'Stream',
793
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::Stream' },
794
+ },
795
+ LIST_odml => {
796
+ Name => 'OpenDML',
797
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::OpenDML' },
798
+ },
799
+ );
800
+
801
+ # Sub chunks of Tdat LIST chunk (ref PH)
802
+ %Image::ExifTool::RIFF::Tdat = (
803
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessChunks,
804
+ GROUPS => { 2 => 'Video' },
805
+ # (have seen tc_O, tc_A, rn_O and rn_A)
806
+ );
807
+
808
+ # RIFF character set chunk
809
+ %Image::ExifTool::RIFF::CSET = (
810
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessBinaryData,
811
+ GROUPS => { 2 => 'Other' },
812
+ Format => 'int16u',
813
+ 0 => {
814
+ Name => 'CodePage',
815
+ RawConv => '$$self{CodePage} = $val',
816
+ },
817
+ 1 => 'CountryCode',
818
+ 2 => 'LanguageCode',
819
+ 3 => 'Dialect',
820
+ );
821
+
822
+ %Image::ExifTool::RIFF::AVIHeader = (
823
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
824
+ GROUPS => { 2 => 'Video' },
825
+ FORMAT => 'int32u',
826
+ FIRST_ENTRY => 0,
827
+ 0 => {
828
+ Name => 'FrameRate',
829
+ # (must use RawConv because raw value used in Composite tag)
830
+ RawConv => '$val ? 1e6 / $val : undef',
831
+ PrintConv => 'int($val * 1000 + 0.5) / 1000',
832
+ },
833
+ 1 => {
834
+ Name => 'MaxDataRate',
835
+ PrintConv => 'sprintf("%.4g kB/s",$val / 1024)',
836
+ },
837
+ # 2 => 'PaddingGranularity',
838
+ # 3 => 'Flags',
839
+ 4 => 'FrameCount',
840
+ # 5 => 'InitialFrames',
841
+ 6 => 'StreamCount',
842
+ # 7 => 'SuggestedBufferSize',
843
+ 8 => 'ImageWidth',
844
+ 9 => 'ImageHeight',
845
+ );
846
+
847
+ %Image::ExifTool::RIFF::Stream = (
848
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessChunks,
849
+ GROUPS => { 2 => 'Image' },
850
+ strh => {
851
+ Name => 'StreamHeader',
852
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::StreamHeader' },
853
+ },
854
+ strn => 'StreamName',
855
+ strd => { #PH
856
+ Name => 'StreamData',
857
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::StreamData' },
858
+ },
859
+ strf => [
860
+ {
861
+ Name => 'AudioFormat',
862
+ Condition => '$$self{RIFFStreamType} eq "auds"',
863
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::AudioFormat' },
864
+ },
865
+ {
866
+ Name => 'VideoFormat',
867
+ Condition => '$$self{RIFFStreamType} eq "vids"',
868
+ SubDirectory => { TagTable => 'Image::ExifTool::BMP::Main' },
869
+ },
870
+ ],
871
+ );
872
+
873
+ # Open DML tags (ref http://www.morgan-multimedia.com/download/odmlff2.pdf)
874
+ %Image::ExifTool::RIFF::OpenDML = (
875
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessChunks,
876
+ GROUPS => { 2 => 'Video' },
877
+ dmlh => {
878
+ Name => 'ExtendedAVIHeader',
879
+ SubDirectory => { TagTable => 'Image::ExifTool::RIFF::ExtAVIHdr' },
880
+ },
881
+ );
882
+
883
+ # Extended AVI Header tags (ref http://www.morgan-multimedia.com/download/odmlff2.pdf)
884
+ %Image::ExifTool::RIFF::ExtAVIHdr = (
885
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
886
+ GROUPS => { 2 => 'Video' },
887
+ FORMAT => 'int32u',
888
+ 0 => 'TotalFrameCount',
889
+ );
890
+
891
+ %Image::ExifTool::RIFF::StreamHeader = (
892
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
893
+ GROUPS => { 2 => 'Video' },
894
+ FORMAT => 'int32u',
895
+ FIRST_ENTRY => 0,
896
+ PRIORITY => 0, # so we get values from the first stream
897
+ 0 => {
898
+ Name => 'StreamType',
899
+ Format => 'string[4]',
900
+ RawConv => '$$self{RIFFStreamType} = $val',
901
+ PrintConv => {
902
+ auds => 'Audio',
903
+ mids => 'MIDI',
904
+ txts => 'Text',
905
+ vids => 'Video',
906
+ iavs => 'Interleaved Audio+Video',
907
+ },
908
+ },
909
+ 1 => [
910
+ {
911
+ Name => 'AudioCodec',
912
+ Condition => '$$self{RIFFStreamType} eq "auds"',
913
+ Format => 'string[4]',
914
+ },
915
+ {
916
+ Name => 'VideoCodec',
917
+ Condition => '$$self{RIFFStreamType} eq "vids"',
918
+ Format => 'string[4]',
919
+ },
920
+ {
921
+ Name => 'Codec',
922
+ Format => 'string[4]',
923
+ },
924
+ ],
925
+ # 2 => 'StreamFlags',
926
+ # 3 => 'StreamPriority',
927
+ # 3.5 => 'Language',
928
+ # 4 => 'InitialFrames',
929
+ 5 => [
930
+ {
931
+ Name => 'AudioSampleRate',
932
+ Condition => '$$self{RIFFStreamType} eq "auds"',
933
+ Format => 'rational64u',
934
+ ValueConv => '$val ? 1/$val : 0',
935
+ PrintConv => 'int($val * 100 + 0.5) / 100',
936
+ },
937
+ {
938
+ Name => 'VideoFrameRate',
939
+ Condition => '$$self{RIFFStreamType} eq "vids"',
940
+ Format => 'rational64u',
941
+ # (must use RawConv because raw value used in Composite tag)
942
+ RawConv => '$val ? 1/$val : undef',
943
+ PrintConv => 'int($val * 1000 + 0.5) / 1000',
944
+ },
945
+ {
946
+ Name => 'StreamSampleRate',
947
+ Format => 'rational64u',
948
+ ValueConv => '$val ? 1/$val : 0',
949
+ PrintConv => 'int($val * 1000 + 0.5) / 1000',
950
+ },
951
+ ],
952
+ # 7 => 'Start',
953
+ 8 => [
954
+ {
955
+ Name => 'AudioSampleCount',
956
+ Condition => '$$self{RIFFStreamType} eq "auds"',
957
+ },
958
+ {
959
+ Name => 'VideoFrameCount',
960
+ Condition => '$$self{RIFFStreamType} eq "vids"',
961
+ },
962
+ {
963
+ Name => 'StreamSampleCount',
964
+ },
965
+ ],
966
+ # 9 => 'SuggestedBufferSize',
967
+ 10 => {
968
+ Name => 'Quality',
969
+ PrintConv => '$val eq 0xffffffff ? "Default" : $val',
970
+ },
971
+ 11 => {
972
+ Name => 'SampleSize',
973
+ PrintConv => '$val ? "$val byte" . ($val==1 ? "" : "s") : "Variable"',
974
+ },
975
+ # 12 => { Name => 'Frame', Format => 'int16u[4]' },
976
+ );
977
+
978
+ %Image::ExifTool::RIFF::StreamData = ( #PH
979
+ PROCESS_PROC => \&Image::ExifTool::RIFF::ProcessStreamData,
980
+ GROUPS => { 2 => 'Video' },
981
+ NOTES => q{
982
+ This chunk is used to store proprietary information in AVI videos from some
983
+ cameras. The first 4 characters of the data are used as the Tag ID below.
984
+ },
985
+ AVIF => {
986
+ Name => 'AVIF',
987
+ SubDirectory => {
988
+ TagTable => 'Image::ExifTool::Exif::Main',
989
+ DirName => 'IFD0',
990
+ Start => 8,
991
+ ByteOrder => 'LittleEndian',
992
+ },
993
+ },
994
+ CASI => { # (used by Casio GV-10)
995
+ Name => 'CasioData',
996
+ SubDirectory => { TagTable => 'Image::ExifTool::Casio::AVI' },
997
+ },
998
+ Zora => 'VendorName', # (Samsung PL90 AVI files)
999
+ unknown => {
1000
+ Name => 'UnknownData',
1001
+ # try to interpret unknown stream data as a string
1002
+ RawConv => '$_=$val; /^[^\0-\x1f\x7f-\xff]+$/ ? $_ : undef',
1003
+ },
1004
+ );
1005
+
1006
+ # VP8 bitstream (ref http://www.rfc-editor.org/rfc/pdfrfc/rfc6386.txt.pdf)
1007
+ %Image::ExifTool::RIFF::VP8 = (
1008
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1009
+ GROUPS => { 2 => 'Image' },
1010
+ NOTES => q{
1011
+ This chunk is found in simple-format (lossy) WebP files. See
1012
+ L<https://developers.google.com/speed/webp/docs/riff_container> for the WebP
1013
+ container specification.
1014
+ },
1015
+ 0 => {
1016
+ Name => 'VP8Version',
1017
+ Mask => 0x0e,
1018
+ ValueConv => '$val >> 1',
1019
+ PrintConv => {
1020
+ 0 => '0 (bicubic reconstruction, normal loop)',
1021
+ 1 => '1 (bilinear reconstruction, simple loop)',
1022
+ 2 => '2 (bilinear reconstruction, no loop)',
1023
+ 3 => '3 (no reconstruction, no loop)',
1024
+ },
1025
+ },
1026
+ 6 => {
1027
+ Name => 'ImageWidth',
1028
+ Format => 'int16u',
1029
+ Mask => 0x3fff,
1030
+ },
1031
+ 6.1 => {
1032
+ Name => 'HorizontalScale',
1033
+ Format => 'int16u',
1034
+ Mask => 0xc000,
1035
+ ValueConv => '$val >> 14',
1036
+ },
1037
+ 8 => {
1038
+ Name => 'ImageHeight',
1039
+ Format => 'int16u',
1040
+ Mask => 0x3fff,
1041
+ },
1042
+ 8.1 => {
1043
+ Name => 'VerticalScale',
1044
+ Format => 'int16u',
1045
+ Mask => 0xc000,
1046
+ ValueConv => '$val >> 14',
1047
+ },
1048
+ );
1049
+
1050
+ # WebP lossless info (ref 14)
1051
+ %Image::ExifTool::RIFF::VP8L = (
1052
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1053
+ NOTES => 'This chunk is found in lossless WebP files.',
1054
+ GROUPS => { 2 => 'Image' },
1055
+ 1 => {
1056
+ Name => 'ImageWidth',
1057
+ Format => 'int16u',
1058
+ ValueConv => '($val & 0x3fff) + 1',
1059
+ },
1060
+ 2 => {
1061
+ Name => 'ImageHeight',
1062
+ Format => 'int32u',
1063
+ ValueConv => '(($val >> 6) & 0x3fff) + 1',
1064
+ },
1065
+ );
1066
+
1067
+ # WebP extended info (ref 14)
1068
+ %Image::ExifTool::RIFF::VP8X = (
1069
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1070
+ GROUPS => { 2 => 'Image' },
1071
+ NOTES => 'This chunk is found in extended WebP files.',
1072
+ # 0 - bitmask: 2=ICC, 3=alpha, 4=EXIF, 5=XMP, 6=animation
1073
+ 4 => {
1074
+ Name => 'ImageWidth',
1075
+ Format => 'int32u',
1076
+ ValueConv => '($val & 0xffffff) + 1',
1077
+ },
1078
+ 6 => {
1079
+ Name => 'ImageHeight',
1080
+ Format => 'int32u',
1081
+ ValueConv => '($val >> 8) + 1',
1082
+ },
1083
+ );
1084
+
1085
+ # WebP animation info (ref 14)
1086
+ %Image::ExifTool::RIFF::ANIM = (
1087
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1088
+ GROUPS => { 2 => 'Image' },
1089
+ NOTES => 'WebP animation chunk.',
1090
+ 0 => {
1091
+ Name => 'BackgroundColor',
1092
+ Format => 'int8u[4]',
1093
+ },
1094
+ 4 => {
1095
+ Name => 'AnimationLoopCount',
1096
+ PrintConv => '$val || "inf"',
1097
+ },
1098
+ );
1099
+
1100
+ # WebP animation frame info (ref 14)
1101
+ %Image::ExifTool::RIFF::ANMF = (
1102
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1103
+ GROUPS => { 2 => 'Image' },
1104
+ NOTES => 'WebP animation frame chunk.',
1105
+ 12 => {
1106
+ Name => 'Duration',
1107
+ Format => 'int32u',
1108
+ Notes => 'extracted as the sum of durations of all animation frames',
1109
+ RawConv => q{
1110
+ if (defined $$self{VALUE}{Duration}) {
1111
+ $$self{VALUE}{Duration} += $val & 0x0fff;
1112
+ return undef;
1113
+ }
1114
+ return $val & 0x0fff;
1115
+ },
1116
+ ValueConv => '$val / 1000',
1117
+ PrintConv => 'ConvertDuration($val)',
1118
+ },
1119
+ );
1120
+
1121
+ # WebP alpha info (ref 14)
1122
+ %Image::ExifTool::RIFF::ALPH = (
1123
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1124
+ GROUPS => { 2 => 'Image' },
1125
+ NOTES => 'WebP alpha chunk.',
1126
+ 0 => {
1127
+ Name => 'AlphaPreprocessing',
1128
+ Mask => 0x03,
1129
+ PrintConv => {
1130
+ 0 => 'none',
1131
+ 1 => 'Level Reduction',
1132
+ },
1133
+ },
1134
+ 0.1 => {
1135
+ Name => 'AlphaFiltering',
1136
+ Mask => 0x03,
1137
+ PrintConv => {
1138
+ 0 => 'none',
1139
+ 1 => 'Horizontal',
1140
+ 2 => 'Vertical',
1141
+ 3 => 'Gradient',
1142
+ },
1143
+ },
1144
+ 0.2 => {
1145
+ Name => 'AlphaCompression',
1146
+ Mask => 0x03,
1147
+ PrintConv => {
1148
+ 0 => 'none',
1149
+ 1 => 'Lossless',
1150
+ },
1151
+ },
1152
+ );
1153
+
1154
+ # RIFF composite tags
1155
+ %Image::ExifTool::RIFF::Composite = (
1156
+ Duration => {
1157
+ Require => {
1158
+ 0 => 'RIFF:FrameRate',
1159
+ 1 => 'RIFF:FrameCount',
1160
+ },
1161
+ Desire => {
1162
+ 2 => 'VideoFrameRate',
1163
+ 3 => 'VideoFrameCount',
1164
+ },
1165
+ RawConv => 'Image::ExifTool::RIFF::CalcDuration($self, @val)',
1166
+ PrintConv => 'ConvertDuration($val)',
1167
+ },
1168
+ Duration2 => {
1169
+ Name => 'Duration',
1170
+ Require => {
1171
+ 0 => 'RIFF:AvgBytesPerSec',
1172
+ 1 => 'FileSize',
1173
+ },
1174
+ Desire => {
1175
+ # check FrameCount because this calculation only applies
1176
+ # to audio-only files (eg. WAV)
1177
+ 2 => 'FrameCount',
1178
+ 3 => 'VideoFrameCount',
1179
+ },
1180
+ # (can't calculate duration like this for compressed audio types)
1181
+ RawConv => q{
1182
+ return undef if $$self{VALUE}{FileType} =~ /^(LA|OFR|PAC|WV)$/;
1183
+ return ($val[0] and not ($val[2] or $val[3])) ? $val[1] / $val[0] : undef;
1184
+ },
1185
+ PrintConv => 'ConvertDuration($val)',
1186
+ },
1187
+ );
1188
+
1189
+ # add our composite tags
1190
+ Image::ExifTool::AddCompositeTags('Image::ExifTool::RIFF');
1191
+
1192
+
1193
+ #------------------------------------------------------------------------------
1194
+ # Convert RIFF date to EXIF format
1195
+ my %monthNum = (
1196
+ Jan=>1, Feb=>2, Mar=>3, Apr=>4, May=>5, Jun=>6,
1197
+ Jul=>7, Aug=>8, Sep=>9, Oct=>10,Nov=>11,Dec=>12
1198
+ );
1199
+ sub ConvertRIFFDate($)
1200
+ {
1201
+ my $val = shift;
1202
+ my @part = split ' ', $val;
1203
+ my $mon;
1204
+ if (@part >= 5 and $mon = $monthNum{ucfirst(lc($part[1]))}) {
1205
+ # the standard AVI date format (eg. "Mon Mar 10 15:04:43 2003")
1206
+ $val = sprintf("%.4d:%.2d:%.2d %s", $part[4],
1207
+ $mon, $part[2], $part[3]);
1208
+ } elsif ($val =~ m{(\d{4})/\s*(\d+)/\s*(\d+)/?\s+(\d+):\s*(\d+)\s*(P?)}) {
1209
+ # but the Casio QV-3EX writes dates like "2001/ 1/27 1:42PM",
1210
+ # and the Casio EX-Z30 writes "2005/11/28/ 09:19"... doh!
1211
+ $val = sprintf("%.4d:%.2d:%.2d %.2d:%.2d:00",$1,$2,$3,$4+($6?12:0),$5);
1212
+ } elsif ($val =~ m{(\d{4})[-/](\d+)[-/](\d+)\s+(\d+:\d+:\d+)}) {
1213
+ # the Konica KD500Z writes "2002-12-16 15:35:01\0\0"
1214
+ $val = "$1:$2:$3 $4";
1215
+ }
1216
+ return $val;
1217
+ }
1218
+
1219
+ #------------------------------------------------------------------------------
1220
+ # Print time
1221
+ # Inputs: 0) time in seconds
1222
+ # Returns: time string
1223
+ sub ConvertTimecode($)
1224
+ {
1225
+ my $val = shift;
1226
+ my $hr = int($val / 3600);
1227
+ $val -= $hr * 3600;
1228
+ my $min = int($val / 60);
1229
+ $val -= $min * 60;
1230
+ return sprintf("%d:%.2d:%05.2f", $hr, $min, $val);
1231
+ }
1232
+
1233
+ #------------------------------------------------------------------------------
1234
+ # Calculate duration of RIFF
1235
+ # Inputs: 0) ExifTool ref, 1/2) RIFF:FrameRate/Count, 2/3) VideoFrameRate/Count
1236
+ # Returns: Duration in seconds or undef
1237
+ # Notes: Sums duration of all sub-documents (concatenated AVI files)
1238
+ sub CalcDuration($@)
1239
+ {
1240
+ my ($et, @val) = @_;
1241
+ my $totalDuration = 0;
1242
+ my $subDoc = 0;
1243
+ my @keyList;
1244
+ for (;;) {
1245
+ # this is annoying. Apparently (although I couldn't verify this), FrameCount
1246
+ # in the RIFF header includes multiple video tracks if they exist (eg. with the
1247
+ # FujiFilm REAL 3D AVI's), but the video stream information isn't reliable for
1248
+ # some cameras (eg. Olympus FE models), so use the video stream information
1249
+ # only if the RIFF header duration is 2 to 3 times longer
1250
+ my $dur1 = $val[1] / $val[0] if $val[0];
1251
+ if ($val[2] and $val[3]) {
1252
+ my $dur2 = $val[3] / $val[2];
1253
+ my $rat = $dur1 / $dur2;
1254
+ $dur1 = $dur2 if $rat > 1.9 and $rat < 3.1;
1255
+ }
1256
+ $totalDuration += $dur1 if defined $dur1;
1257
+ last unless $subDoc++ < $$et{DOC_COUNT};
1258
+ # get tag values for next sub-document
1259
+ my @tags = qw(FrameRate FrameCount VideoFrameRate VideoFrameCount);
1260
+ my $rawValue = $$et{VALUE};
1261
+ my ($i, $j, $key, $keys);
1262
+ for ($i=0; $i<@tags; ++$i) {
1263
+ if ($subDoc == 1) {
1264
+ # generate list of available keys for each tag
1265
+ $keys = $keyList[$i] = [ ];
1266
+ for ($j=0; ; ++$j) {
1267
+ $key = $tags[$i];
1268
+ $key .= " ($j)" if $j;
1269
+ last unless defined $$rawValue{$key};
1270
+ push @$keys, $key;
1271
+ }
1272
+ } else {
1273
+ $keys = $keyList[$i];
1274
+ }
1275
+ # find key for tag in this sub-document
1276
+ my $grp = "Doc$subDoc";
1277
+ $grp .= ":RIFF" if $i < 2; # (tags 0 and 1 also in RIFF group)
1278
+ $key = $et->GroupMatches($grp, $keys);
1279
+ $val[$i] = $key ? $$rawValue{$key} : undef;
1280
+ }
1281
+ last unless defined $val[0] and defined $val[1]; # (Require'd tags)
1282
+ }
1283
+ return $totalDuration;
1284
+ }
1285
+
1286
+ #------------------------------------------------------------------------------
1287
+ # Process stream data
1288
+ # Inputs: 0) ExifTool object ref, 1) dirInfo reference, 2) tag table ref
1289
+ # Returns: 1 on success
1290
+ sub ProcessStreamData($$$)
1291
+ {
1292
+ my ($et, $dirInfo, $tagTablePtr) = @_;
1293
+ my $dataPt = $$dirInfo{DataPt};
1294
+ my $start = $$dirInfo{DirStart};
1295
+ my $size = $$dirInfo{DirLen};
1296
+ return 0 if $size < 4;
1297
+ if ($et->Options('Verbose')) {
1298
+ $et->VerboseDir($$dirInfo{DirName}, 0, $size);
1299
+ }
1300
+ my $tag = substr($$dataPt, $start, 4);
1301
+ my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
1302
+ unless ($tagInfo) {
1303
+ $tagInfo = $et->GetTagInfo($tagTablePtr, 'unknown');
1304
+ return 1 unless $tagInfo;
1305
+ }
1306
+ my $subdir = $$tagInfo{SubDirectory};
1307
+ if ($$tagInfo{SubDirectory}) {
1308
+ my $offset = $$subdir{Start} || 0;
1309
+ my $baseShift = $$dirInfo{DataPos} + $$dirInfo{DirStart} + $offset;
1310
+ my %subdirInfo = (
1311
+ DataPt => $dataPt,
1312
+ DataPos => $$dirInfo{DataPos} - $baseShift,
1313
+ Base => ($$dirInfo{Base} || 0) + $baseShift,
1314
+ DataLen => $$dirInfo{DataLen},
1315
+ DirStart=> $$dirInfo{DirStart} + $offset,
1316
+ DirLen => $$dirInfo{DirLen} - $offset,
1317
+ DirName => $$subdir{DirName},
1318
+ Parent => $$dirInfo{DirName},
1319
+ );
1320
+ unless ($offset) {
1321
+ # allow processing of 2nd directory at the same address
1322
+ my $addr = $subdirInfo{DirStart} + $subdirInfo{DataPos} + $subdirInfo{Base};
1323
+ delete $$et{PROCESSED}{$addr}
1324
+ }
1325
+ # (we could set FIRST_EXIF_POS to $subdirInfo{Base} here to make
1326
+ # htmlDump offsets relative to EXIF base if we wanted...)
1327
+ my $subTable = GetTagTable($$subdir{TagTable});
1328
+ $et->ProcessDirectory(\%subdirInfo, $subTable);
1329
+ } else {
1330
+ $et->HandleTag($tagTablePtr, $tag, undef,
1331
+ DataPt => $dataPt,
1332
+ DataPos => $$dirInfo{DataPos},
1333
+ Start => $start,
1334
+ Size => $size,
1335
+ TagInfo => $tagInfo,
1336
+ );
1337
+ }
1338
+ return 1;
1339
+ }
1340
+
1341
+ #------------------------------------------------------------------------------
1342
+ # Make tag information hash for unknown tag
1343
+ # Inputs: 0) Tag table ref, 1) tag ID
1344
+ sub MakeTagInfo($$)
1345
+ {
1346
+ my ($tagTablePtr, $tag) = @_;
1347
+ my $name = $tag;
1348
+ my $n = ($name =~ s/([\x00-\x1f\x7f-\xff])/'x'.unpack('H*',$1)/eg);
1349
+ # print in hex if tag is numerical
1350
+ $name = sprintf('0x%.4x',unpack('N',$tag)) if $n > 2;
1351
+ AddTagToTable($tagTablePtr, $tag, {
1352
+ Name => "Unknown_$name",
1353
+ Description => "Unknown $name",
1354
+ Unknown => 1,
1355
+ Binary => 1,
1356
+ });
1357
+ }
1358
+
1359
+ #------------------------------------------------------------------------------
1360
+ # Process RIFF chunks
1361
+ # Inputs: 0) ExifTool object reference, 1) directory information reference
1362
+ # 2) tag table reference
1363
+ # Returns: 1 on success
1364
+ sub ProcessChunks($$$)
1365
+ {
1366
+ my ($et, $dirInfo, $tagTablePtr) = @_;
1367
+ my $dataPt = $$dirInfo{DataPt};
1368
+ my $start = $$dirInfo{DirStart};
1369
+ my $size = $$dirInfo{DirLen};
1370
+ my $end = $start + $size;
1371
+ my $base = $$dirInfo{Base};
1372
+ my $verbose = $et->Options('Verbose');
1373
+ my $unknown = $et->Options('Unknown');
1374
+ my $charset = $et->Options('CharsetRIFF');
1375
+
1376
+ unless ($charset) {
1377
+ if ($$et{CodePage}) {
1378
+ $charset = $$et{CodePage};
1379
+ } elsif (defined $charset and $charset eq '0') {
1380
+ $charset = 'Latin';
1381
+ }
1382
+ }
1383
+
1384
+ $et->VerboseDir($$dirInfo{DirName}, 0, $size) if $verbose;
1385
+
1386
+ while ($start + 8 < $end) {
1387
+ my $tag = substr($$dataPt, $start, 4);
1388
+ my $len = Get32u($dataPt, $start + 4);
1389
+ $start += 8;
1390
+ if ($start + $len > $end) {
1391
+ $et->Warn("Bad $tag chunk");
1392
+ return 0;
1393
+ }
1394
+ if ($tag eq 'LIST' and $len >= 4) {
1395
+ $tag .= '_' . substr($$dataPt, $start, 4);
1396
+ $len -= 4;
1397
+ $start += 4;
1398
+ }
1399
+ my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
1400
+ my $baseShift = 0;
1401
+ my $val;
1402
+ if ($tagInfo) {
1403
+ if ($$tagInfo{SubDirectory}) {
1404
+ # adjust base if necessary (needed for Ricoh maker notes)
1405
+ my $newBase = $tagInfo->{SubDirectory}{Base};
1406
+ if (defined $newBase) {
1407
+ # different than your average Base eval...
1408
+ # here we use an absolute $start address
1409
+ $start += $base;
1410
+ #### eval Base ($start)
1411
+ $newBase = eval $newBase;
1412
+ $baseShift = $newBase - $base;
1413
+ $start -= $base;
1414
+ }
1415
+ } elsif (not $$tagInfo{Binary}) {
1416
+ my $format = $$tagInfo{Format} || $$tagTablePtr{FORMAT};
1417
+ if ($format and $format eq 'string') {
1418
+ $val = substr($$dataPt, $start, $len);
1419
+ $val =~ s/\0+$//; # remove trailing nulls from strings
1420
+ # decode if necessary
1421
+ $val = $et->Decode($val, $charset) if $charset;
1422
+ }
1423
+ }
1424
+ } elsif ($verbose or $unknown) {
1425
+ MakeTagInfo($tagTablePtr, $tag);
1426
+ }
1427
+ $et->HandleTag($tagTablePtr, $tag, $val,
1428
+ DataPt => $dataPt,
1429
+ DataPos => $$dirInfo{DataPos} - $baseShift,
1430
+ Start => $start,
1431
+ Size => $len,
1432
+ Base => $base + $baseShift,
1433
+ Addr => $base + $baseShift + $start,
1434
+ );
1435
+ ++$len if $len & 0x01; # must account for padding if odd number of bytes
1436
+ $start += $len;
1437
+ }
1438
+ return 1;
1439
+ }
1440
+
1441
+ #------------------------------------------------------------------------------
1442
+ # Extract information from a RIFF file
1443
+ # Inputs: 0) ExifTool object reference, 1) DirInfo reference
1444
+ # Returns: 1 on success, 0 if this wasn't a valid RIFF file
1445
+ sub ProcessRIFF($$)
1446
+ {
1447
+ my ($et, $dirInfo) = @_;
1448
+ my $raf = $$dirInfo{RAF};
1449
+ my ($buff, $buf2, $type, $mime, $err);
1450
+ my $verbose = $et->Options('Verbose');
1451
+ my $unknown = $et->Options('Unknown');
1452
+
1453
+ # verify this is a valid RIFF file
1454
+ return 0 unless $raf->Read($buff, 12) == 12;
1455
+ if ($buff =~ /^RIFF....(.{4})/s) {
1456
+ $type = $riffType{$1};
1457
+ } else {
1458
+ # minimal support for a few obscure lossless audio formats...
1459
+ return 0 unless $buff =~ /^(LA0[234]|OFR |LPAC|wvpk)/ and $raf->Read($buf2, 1024);
1460
+ $type = $riffType{$1};
1461
+ $buff .= $buf2;
1462
+ return 0 unless $buff =~ /WAVE(.{4})?fmt /sg and $raf->Seek(pos($buff) - 4, 0);
1463
+ }
1464
+ $mime = $riffMimeType{$type} if $type;
1465
+ $et->SetFileType($type, $mime);
1466
+ $$et{RIFFStreamType} = ''; # initialize stream type
1467
+ SetByteOrder('II');
1468
+ my $tagTablePtr = GetTagTable('Image::ExifTool::RIFF::Main');
1469
+ my $pos = 12;
1470
+ #
1471
+ # Read chunks in RIFF image
1472
+ #
1473
+ for (;;) {
1474
+ my $num = $raf->Read($buff, 8);
1475
+ if ($num < 8) {
1476
+ $err = 1 if $num;
1477
+ last;
1478
+ }
1479
+ $pos += 8;
1480
+ my ($tag, $len) = unpack('a4V', $buff);
1481
+ # special case: construct new tag name from specific LIST type
1482
+ if ($tag eq 'LIST') {
1483
+ $raf->Read($buff, 4) == 4 or $err=1, last;
1484
+ $pos += 4;
1485
+ $tag .= "_$buff";
1486
+ $len -= 4; # already read 4 bytes (the LIST type)
1487
+ }
1488
+ $et->VPrint(0, "RIFF '$tag' chunk ($len bytes of data):\n");
1489
+ if ($len <= 0) {
1490
+ if ($len < 0) {
1491
+ $et->Warn('Invalid chunk length');
1492
+ } elsif ($tag eq "\0\0\0\0") {
1493
+ # avoid reading through corupted files filled with nulls because it takes forever
1494
+ $et->Warn('Encountered empty null chunk. Processing aborted');
1495
+ } else {
1496
+ next;
1497
+ }
1498
+ last;
1499
+ }
1500
+ # stop when we hit the audio data or AVI index or AVI movie data
1501
+ # --> no more because Adobe Bridge stores XMP after this!!
1502
+ # (so now we only do this on the FastScan option)
1503
+ if (($tag eq 'data' or $tag eq 'idx1' or $tag eq 'LIST_movi') and
1504
+ $et->Options('FastScan'))
1505
+ {
1506
+ $et->VPrint(0, "(end of parsing)\n");
1507
+ last;
1508
+ }
1509
+ # RIFF chunks are padded to an even number of bytes
1510
+ my $len2 = $len + ($len & 0x01);
1511
+ if ($$tagTablePtr{$tag} or (($verbose or $unknown) and $tag !~ /^(data|idx1|LIST_movi|RIFF)$/)) {
1512
+ $raf->Read($buff, $len2) == $len2 or $err=1, last;
1513
+ MakeTagInfo($tagTablePtr, $tag) if not $$tagTablePtr{$tag} and ($verbose or $unknown);
1514
+ $et->HandleTag($tagTablePtr, $tag, $buff,
1515
+ DataPt => \$buff,
1516
+ DataPos => 0, # (relative to Base)
1517
+ Start => 0,
1518
+ Size => $len2,
1519
+ Base => $pos,
1520
+ );
1521
+ } elsif ($tag eq 'RIFF') {
1522
+ # don't read into RIFF chunk (eg. concatenated video file)
1523
+ $raf->Read($buff, 4) == 4 or $err=1, last;
1524
+ # extract information from remaining file as an embedded file
1525
+ $$et{DOC_NUM} = ++$$et{DOC_COUNT}
1526
+ } else {
1527
+ $raf->Seek($len2, 1) or $err=1, last;
1528
+ }
1529
+ $pos += $len2;
1530
+ }
1531
+ delete $$et{DOC_NUM};
1532
+ $err and $et->Warn('Error reading RIFF file (corrupted?)');
1533
+ return 1;
1534
+ }
1535
+
1536
+ 1; # end
1537
+
1538
+ __END__
1539
+
1540
+ =head1 NAME
1541
+
1542
+ Image::ExifTool::RIFF - Read RIFF/AVI/WAV meta information
1543
+
1544
+ =head1 SYNOPSIS
1545
+
1546
+ This module is used by Image::ExifTool
1547
+
1548
+ =head1 DESCRIPTION
1549
+
1550
+ This module contains routines required by Image::ExifTool to extract
1551
+ information from RIFF-based (Resource Interchange File Format) files,
1552
+ including AVI videos, WAV audio files and WEBP images.
1553
+
1554
+ =head1 AUTHOR
1555
+
1556
+ Copyright 2003-2017, Phil Harvey (phil at owl.phy.queensu.ca)
1557
+
1558
+ This library is free software; you can redistribute it and/or modify it
1559
+ under the same terms as Perl itself.
1560
+
1561
+ =head1 REFERENCES
1562
+
1563
+ =over 4
1564
+
1565
+ =item L<http://www.exif.org/Exif2-2.PDF>
1566
+
1567
+ =item L<http://www.vlsi.fi/datasheets/vs1011.pdf>
1568
+
1569
+ =item L<http://www.music-center.com.br/spec_rif.htm>
1570
+
1571
+ =item L<http://www.codeproject.com/audio/wavefiles.asp>
1572
+
1573
+ =item L<http://msdn.microsoft.com/archive/en-us/directx9_c/directx/htm/avirifffilereference.asp>
1574
+
1575
+ =item L<http://wiki.multimedia.cx/index.php?title=TwoCC>
1576
+
1577
+ =item L<https://developers.google.com/speed/webp/docs/riff_container>
1578
+
1579
+ =back
1580
+
1581
+ =head1 SEE ALSO
1582
+
1583
+ L<Image::ExifTool::TagNames/RIFF Tags>,
1584
+ L<Image::ExifTool(3pm)|Image::ExifTool>
1585
+
1586
+ =cut
1587
+