exiftool_vendored 10.04.0 → 10.23.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 (1225) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Image-ExifTool-10.23/Changes +7480 -0
  3. data/bin/Image-ExifTool-10.23/MANIFEST +977 -0
  4. data/bin/Image-ExifTool-10.23/META.yml +28 -0
  5. data/bin/Image-ExifTool-10.23/Makefile.PL +46 -0
  6. data/bin/Image-ExifTool-10.23/README +236 -0
  7. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/exif2iptc.args +0 -0
  8. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/exif2xmp.args +0 -0
  9. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/gps2xmp.args +0 -0
  10. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/iptc2exif.args +0 -0
  11. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/iptc2xmp.args +0 -0
  12. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/iptcCore.args +0 -0
  13. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/pdf2xmp.args +0 -0
  14. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/xmp2exif.args +0 -0
  15. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/xmp2gps.args +0 -0
  16. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/xmp2iptc.args +0 -0
  17. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/arg_files/xmp2pdf.args +0 -0
  18. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/config_files/convert_regions.config +0 -0
  19. data/bin/Image-ExifTool-10.23/config_files/example.config +343 -0
  20. data/bin/Image-ExifTool-10.23/config_files/gps2utm.config +256 -0
  21. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/config_files/photoshop_paths.config +0 -0
  22. data/bin/Image-ExifTool-10.23/config_files/picasa_faces.config +382 -0
  23. data/bin/Image-ExifTool-10.23/exiftool +6311 -0
  24. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/fmt_files/gpx.fmt +0 -0
  25. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/fmt_files/gpx_wpt.fmt +0 -0
  26. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/fmt_files/kml.fmt +0 -0
  27. data/bin/Image-ExifTool-10.23/html/ExifTool.html +2093 -0
  28. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/MIE1.1-20070121.pdf +0 -0
  29. data/bin/Image-ExifTool-10.23/html/Shift.html +173 -0
  30. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/AFCP.html +0 -0
  31. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/AIFF.html +0 -0
  32. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/APE.html +0 -0
  33. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/APP12.html +0 -0
  34. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/ASF.html +0 -0
  35. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Apple.html +0 -0
  36. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Audible.html +0 -0
  37. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/BMP.html +0 -0
  38. data/bin/Image-ExifTool-10.23/html/TagNames/BPG.html +118 -0
  39. data/bin/Image-ExifTool-10.23/html/TagNames/Canon.html +9534 -0
  40. data/bin/Image-ExifTool-10.23/html/TagNames/CanonCustom.html +2141 -0
  41. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/CanonRaw.html +0 -0
  42. data/bin/Image-ExifTool-10.23/html/TagNames/CanonVRD.html +2020 -0
  43. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Casio.html +0 -0
  44. data/bin/Image-ExifTool-10.23/html/TagNames/Composite.html +736 -0
  45. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/DICOM.html +0 -0
  46. data/bin/Image-ExifTool-10.23/html/TagNames/DNG.html +293 -0
  47. data/bin/Image-ExifTool-10.23/html/TagNames/DPX.html +229 -0
  48. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/DV.html +0 -0
  49. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/DarwinCore.html +0 -0
  50. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/DjVu.html +0 -0
  51. data/bin/Image-ExifTool-10.23/html/TagNames/EXE.html +741 -0
  52. data/bin/Image-ExifTool-10.23/html/TagNames/EXIF.html +3394 -0
  53. data/bin/Image-ExifTool-10.23/html/TagNames/Extra.html +469 -0
  54. data/bin/Image-ExifTool-10.23/html/TagNames/FLAC.html +183 -0
  55. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/FLIR.html +0 -0
  56. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Flash.html +0 -0
  57. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/FlashPix.html +0 -0
  58. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Font.html +0 -0
  59. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/FotoStation.html +0 -0
  60. data/bin/Image-ExifTool-10.23/html/TagNames/FujiFilm.html +824 -0
  61. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/GE.html +0 -0
  62. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/GIF.html +0 -0
  63. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/GIMP.html +0 -0
  64. data/bin/Image-ExifTool-10.23/html/TagNames/GPS.html +230 -0
  65. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/GeoTiff.html +0 -0
  66. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/H264.html +0 -0
  67. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/HP.html +0 -0
  68. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/HTML.html +0 -0
  69. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/ICC_Profile.html +0 -0
  70. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/ID3.html +0 -0
  71. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/IPTC.html +0 -0
  72. data/bin/Image-ExifTool-10.23/html/TagNames/ISO.html +159 -0
  73. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/ITC.html +0 -0
  74. data/bin/Image-ExifTool-10.23/html/TagNames/JFIF.html +62 -0
  75. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/JPEG.html +0 -0
  76. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/JVC.html +0 -0
  77. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Jpeg2000.html +0 -0
  78. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Kodak.html +0 -0
  79. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/KyoceraRaw.html +0 -0
  80. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/LNK.html +0 -0
  81. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Leaf.html +0 -0
  82. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Lytro.html +0 -0
  83. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/M2TS.html +0 -0
  84. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MIE.html +0 -0
  85. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MIFF.html +0 -0
  86. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MNG.html +0 -0
  87. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MOI.html +0 -0
  88. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MPC.html +0 -0
  89. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MPEG.html +0 -0
  90. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MPF.html +0 -0
  91. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MWG.html +0 -0
  92. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MXF.html +0 -0
  93. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Matroska.html +0 -0
  94. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Microsoft.html +0 -0
  95. data/bin/Image-ExifTool-10.23/html/TagNames/Minolta.html +2625 -0
  96. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/MinoltaRaw.html +0 -0
  97. data/bin/Image-ExifTool-10.23/html/TagNames/Motorola.html +32 -0
  98. data/bin/Image-ExifTool-10.23/html/TagNames/Nikon.html +5907 -0
  99. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/NikonCapture.html +0 -0
  100. data/bin/Image-ExifTool-10.23/html/TagNames/NikonCustom.html +6590 -0
  101. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Nintendo.html +0 -0
  102. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/OOXML.html +0 -0
  103. data/bin/Image-ExifTool-10.23/html/TagNames/Ogg.html +49 -0
  104. data/bin/Image-ExifTool-10.23/html/TagNames/Olympus.html +3649 -0
  105. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/OpenEXR.html +0 -0
  106. data/bin/Image-ExifTool-10.23/html/TagNames/Opus.html +62 -0
  107. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PDF.html +0 -0
  108. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PGF.html +0 -0
  109. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PICT.html +0 -0
  110. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PLIST.html +0 -0
  111. data/bin/Image-ExifTool-10.23/html/TagNames/PLUS.html +2613 -0
  112. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PNG.html +0 -0
  113. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PSP.html +0 -0
  114. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Palm.html +0 -0
  115. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Panasonic.html +0 -0
  116. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PanasonicRaw.html +0 -0
  117. data/bin/Image-ExifTool-10.23/html/TagNames/Pentax.html +4770 -0
  118. data/bin/Image-ExifTool-10.23/html/TagNames/PhaseOne.html +253 -0
  119. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PhotoCD.html +0 -0
  120. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PhotoMechanic.html +0 -0
  121. data/bin/Image-ExifTool-10.23/html/TagNames/Photoshop.html +739 -0
  122. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PostScript.html +0 -0
  123. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/PrintIM.html +0 -0
  124. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Qualcomm.html +0 -0
  125. data/bin/Image-ExifTool-10.23/html/TagNames/QuickTime.html +6060 -0
  126. data/bin/Image-ExifTool-10.23/html/TagNames/RIFF.html +1382 -0
  127. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/RSRC.html +0 -0
  128. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/RTF.html +0 -0
  129. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Radiance.html +0 -0
  130. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Rawzor.html +0 -0
  131. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Real.html +0 -0
  132. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Reconyx.html +0 -0
  133. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Ricoh.html +0 -0
  134. data/bin/Image-ExifTool-10.23/html/TagNames/Samsung.html +616 -0
  135. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Sanyo.html +0 -0
  136. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Scalado.html +0 -0
  137. data/bin/Image-ExifTool-10.23/html/TagNames/Shortcuts.html +279 -0
  138. data/bin/Image-ExifTool-10.23/html/TagNames/Sigma.html +528 -0
  139. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/SigmaRaw.html +0 -0
  140. data/bin/Image-ExifTool-10.23/html/TagNames/Sony.html +10264 -0
  141. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/SonyIDC.html +0 -0
  142. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Stim.html +0 -0
  143. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Theora.html +0 -0
  144. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Torrent.html +0 -0
  145. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/Unknown.html +0 -0
  146. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/VCard.html +0 -0
  147. data/bin/Image-ExifTool-10.23/html/TagNames/Vorbis.html +243 -0
  148. data/bin/Image-ExifTool-10.23/html/TagNames/XMP.html +8945 -0
  149. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/ZIP.html +0 -0
  150. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/iWork.html +0 -0
  151. data/bin/Image-ExifTool-10.23/html/TagNames/index.html +217 -0
  152. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/TagNames/style.css +0 -0
  153. data/bin/Image-ExifTool-10.23/html/ancient_history.html +8209 -0
  154. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/canon_raw.html +0 -0
  155. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/commentary.html +0 -0
  156. data/bin/Image-ExifTool-10.23/html/config.html +355 -0
  157. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/data_members.html +0 -0
  158. data/bin/Image-ExifTool-10.23/html/exiftool_pod.html +2535 -0
  159. data/bin/Image-ExifTool-10.23/html/faq.html +1566 -0
  160. data/bin/Image-ExifTool-10.23/html/filename.html +352 -0
  161. data/bin/Image-ExifTool-10.23/html/geotag.html +659 -0
  162. data/bin/Image-ExifTool-10.23/html/history.html +243 -0
  163. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/htmldump.html +0 -0
  164. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/idiosyncracies.html +0 -0
  165. data/bin/Image-ExifTool-10.23/html/index.html +1341 -0
  166. data/bin/Image-ExifTool-10.23/html/install.html +261 -0
  167. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/metafiles.html +0 -0
  168. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/overview.png +0 -0
  169. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/standards.html +0 -0
  170. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/struct.html +0 -0
  171. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/style.css +0 -0
  172. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/under.html +0 -0
  173. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/verbose.html +0 -0
  174. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/html/writing.html +0 -0
  175. data/bin/Image-ExifTool-10.23/lib/File/RandomAccess.pm +378 -0
  176. data/bin/Image-ExifTool-10.23/lib/File/RandomAccess.pod +231 -0
  177. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool.pm +7747 -0
  178. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool.pod +2542 -0
  179. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/AES.pm +501 -0
  180. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/AFCP.pm +286 -0
  181. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/AIFF.pm +289 -0
  182. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/APE.pm +282 -0
  183. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/APP12.pm +322 -0
  184. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/ASF.pm +885 -0
  185. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Apple.pm +129 -0
  186. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Audible.pm +317 -0
  187. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/BMP.pm +179 -0
  188. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/BPG.pm +251 -0
  189. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/BZZ.pm +472 -0
  190. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/BigTIFF.pm +282 -0
  191. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/BuildTagLookup.pm +2527 -0
  192. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Canon.pm +8734 -0
  193. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/CanonCustom.pm +2667 -0
  194. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/CanonRaw.pm +910 -0
  195. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/CanonVRD.pm +2273 -0
  196. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/CaptureOne.pm +235 -0
  197. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Casio.pm +2058 -0
  198. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Charset.pm +423 -0
  199. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
  200. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
  201. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
  202. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
  203. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
  204. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
  205. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
  206. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
  207. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
  208. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
  209. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
  210. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
  211. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
  212. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
  213. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
  214. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
  215. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
  216. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
  217. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
  218. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
  219. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
  220. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
  221. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
  222. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
  223. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
  224. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
  225. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
  226. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
  227. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
  228. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
  229. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/DICOM.pm +3874 -0
  230. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/DNG.pm +835 -0
  231. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/DPX.pm +182 -0
  232. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/DV.pm +319 -0
  233. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/DarwinCore.pm +322 -0
  234. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/DjVu.pm +376 -0
  235. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/EXE.pm +1401 -0
  236. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Exif.pm +5863 -0
  237. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/FLAC.pm +297 -0
  238. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/FLIR.pm +1533 -0
  239. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Fixup.pm +366 -0
  240. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Flash.pm +755 -0
  241. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/FlashPix.pm +1935 -0
  242. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Font.pm +647 -0
  243. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/FotoStation.pm +261 -0
  244. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/FujiFilm.pm +1232 -0
  245. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/GE.pm +81 -0
  246. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/GIF.pm +542 -0
  247. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/GIMP.pm +258 -0
  248. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/GPS.pm +558 -0
  249. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/GeoTiff.pm +2263 -0
  250. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Geotag.pm +1241 -0
  251. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/H264.pm +1110 -0
  252. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/HP.pm +263 -0
  253. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/HTML.pm +576 -0
  254. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/HtmlDump.pm +897 -0
  255. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/ICC_Profile.pm +1000 -0
  256. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/ID3.pm +1570 -0
  257. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/IPTC.pm +1264 -0
  258. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/ISO.pm +206 -0
  259. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/ITC.pm +215 -0
  260. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Import.pm +329 -0
  261. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/InDesign.pm +277 -0
  262. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/JPEG.pm +605 -0
  263. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/JPEGDigest.pm +2616 -0
  264. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/JVC.pm +130 -0
  265. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Jpeg2000.pm +882 -0
  266. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Kodak.pm +2096 -0
  267. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/KyoceraRaw.pm +173 -0
  268. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/LNK.pm +723 -0
  269. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/cs.pm +1588 -0
  270. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/de.pm +8692 -0
  271. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/en_ca.pm +934 -0
  272. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/en_gb.pm +977 -0
  273. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/es.pm +4019 -0
  274. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/fi.pm +2854 -0
  275. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/fr.pm +4758 -0
  276. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/it.pm +7918 -0
  277. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/ja.pm +5835 -0
  278. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/ko.pm +2330 -0
  279. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/nl.pm +3222 -0
  280. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/pl.pm +1276 -0
  281. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/ru.pm +768 -0
  282. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/sv.pm +638 -0
  283. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/tr.pm +544 -0
  284. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/zh_cn.pm +1330 -0
  285. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lang/zh_tw.pm +801 -0
  286. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Leaf.pm +516 -0
  287. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Lytro.pm +217 -0
  288. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/M2TS.pm +729 -0
  289. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MIE.pm +2564 -0
  290. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MIEUnits.pod +377 -0
  291. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MIFF.pm +279 -0
  292. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MNG.pm +684 -0
  293. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MOI.pm +158 -0
  294. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MPC.pm +156 -0
  295. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MPEG.pm +736 -0
  296. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MPF.pm +292 -0
  297. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MWG.pm +753 -0
  298. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MXF.pm +3031 -0
  299. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MakerNotes.pm +1736 -0
  300. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Matroska.pm +892 -0
  301. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Microsoft.pm +904 -0
  302. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Minolta.pm +2981 -0
  303. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/MinoltaRaw.pm +534 -0
  304. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Motorola.pm +62 -0
  305. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Nikon.pm +7970 -0
  306. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/NikonCapture.pm +940 -0
  307. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/NikonCustom.pm +7361 -0
  308. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Nintendo.pm +128 -0
  309. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/OOXML.pm +409 -0
  310. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Ogg.pm +240 -0
  311. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Olympus.pm +3985 -0
  312. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/OpenEXR.pm +323 -0
  313. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Opus.pm +98 -0
  314. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PDF.pm +2367 -0
  315. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PGF.pm +143 -0
  316. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PICT.pm +1260 -0
  317. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PLIST.pm +448 -0
  318. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PLUS.pm +2607 -0
  319. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PNG.pm +1227 -0
  320. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PPM.pm +169 -0
  321. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PSP.pm +306 -0
  322. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Palm.pm +403 -0
  323. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Panasonic.pm +2374 -0
  324. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PanasonicRaw.pm +643 -0
  325. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Pentax.pm +6063 -0
  326. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PhaseOne.pm +707 -0
  327. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PhotoCD.pm +507 -0
  328. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PhotoMechanic.pm +256 -0
  329. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Photoshop.pm +939 -0
  330. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PostScript.pm +699 -0
  331. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/PrintIM.pm +125 -0
  332. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Qualcomm.pm +1344 -0
  333. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/QuickTime.pm +6601 -0
  334. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/README +994 -0
  335. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/RIFF.pm +1587 -0
  336. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/RSRC.pm +241 -0
  337. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/RTF.pm +383 -0
  338. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Radiance.pm +144 -0
  339. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Rawzor.pm +189 -0
  340. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Real.pm +739 -0
  341. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Reconyx.pm +190 -0
  342. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Ricoh.pm +1148 -0
  343. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Samsung.pm +1177 -0
  344. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Sanyo.pm +440 -0
  345. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Scalado.pm +141 -0
  346. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Shift.pl +596 -0
  347. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Shortcuts.pm +337 -0
  348. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Sigma.pm +754 -0
  349. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/SigmaRaw.pm +670 -0
  350. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Sony.pm +9623 -0
  351. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/SonyIDC.pm +332 -0
  352. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Stim.pm +196 -0
  353. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/TagInfoXML.pm +827 -0
  354. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/TagLookup.pm +9250 -0
  355. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/TagNames.pod +29842 -0
  356. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Theora.pm +145 -0
  357. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Torrent.pm +317 -0
  358. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Unknown.pm +66 -0
  359. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/VCard.pm +405 -0
  360. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Vorbis.pm +255 -0
  361. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WriteCanonRaw.pl +637 -0
  362. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WriteExif.pl +2466 -0
  363. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WriteIPTC.pl +706 -0
  364. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WritePDF.pl +771 -0
  365. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WritePNG.pl +390 -0
  366. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WritePhotoshop.pl +266 -0
  367. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WritePostScript.pl +772 -0
  368. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WriteQuickTime.pl +358 -0
  369. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/WriteXMP.pl +1380 -0
  370. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/Writer.pl +6220 -0
  371. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/XMP.pm +4071 -0
  372. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/XMP2.pl +1284 -0
  373. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/XMPStruct.pl +843 -0
  374. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/ZIP.pm +667 -0
  375. data/bin/Image-ExifTool-10.23/lib/Image/ExifTool/iWork.pm +223 -0
  376. data/bin/Image-ExifTool-10.23/perl-Image-ExifTool.spec +113 -0
  377. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/AFCP.t +0 -0
  378. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/AFCP_2.out +0 -0
  379. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/AFCP_3.out +0 -0
  380. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/AIFF.t +0 -0
  381. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/AIFF_2.out +0 -0
  382. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/APE.t +0 -0
  383. data/bin/Image-ExifTool-10.23/t/APE_2.out +30 -0
  384. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/APE_3.out +0 -0
  385. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ASF.t +0 -0
  386. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ASF_2.out +0 -0
  387. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Audible.t +0 -0
  388. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Audible_2.out +0 -0
  389. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/BMP.t +0 -0
  390. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/BMP_2.out +0 -0
  391. data/bin/Image-ExifTool-10.23/t/BPG.t +28 -0
  392. data/bin/Image-ExifTool-10.23/t/BPG_2.out +92 -0
  393. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/BigTIFF.t +0 -0
  394. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/BigTIFF_2.out +0 -0
  395. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Canon.t +0 -0
  396. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonRaw.t +0 -0
  397. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonRaw_2.out +0 -0
  398. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonRaw_4.out +0 -0
  399. data/bin/Image-ExifTool-10.23/t/CanonRaw_5.out +209 -0
  400. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonRaw_6.out +0 -0
  401. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonRaw_7.out +0 -0
  402. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD.t +0 -0
  403. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_11.out +0 -0
  404. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_12.out +0 -0
  405. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_13.out +0 -0
  406. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_14.out +0 -0
  407. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_15.out +0 -0
  408. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_16.out +0 -0
  409. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_17.out +0 -0
  410. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_18.out +0 -0
  411. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_19.out +0 -0
  412. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_2.out +0 -0
  413. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_20.out +0 -0
  414. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_21.out +0 -0
  415. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_3.out +0 -0
  416. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_4.out +0 -0
  417. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_5.out +0 -0
  418. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_6.out +0 -0
  419. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_7.out +0 -0
  420. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_8.out +0 -0
  421. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/CanonVRD_9.out +0 -0
  422. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Canon_2.out +0 -0
  423. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Canon_3.out +0 -0
  424. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Casio.t +0 -0
  425. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Casio_2.out +0 -0
  426. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Casio_3.out +0 -0
  427. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Casio_4.out +0 -0
  428. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Casio_5.out +0 -0
  429. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Casio_6.out +0 -0
  430. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DICOM.t +0 -0
  431. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DICOM_2.out +0 -0
  432. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DNG.t +0 -0
  433. data/bin/Image-ExifTool-10.23/t/DNG_2.out +329 -0
  434. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DNG_3.out +0 -0
  435. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DPX.t +0 -0
  436. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DPX_2.out +0 -0
  437. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DV.t +0 -0
  438. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DV_2.out +0 -0
  439. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DjVu.t +0 -0
  440. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/DjVu_2.out +0 -0
  441. data/bin/Image-ExifTool-10.23/t/EXE.t +31 -0
  442. data/bin/Image-ExifTool-10.23/t/EXE_2.out +34 -0
  443. data/bin/Image-ExifTool-10.23/t/EXE_3.out +10 -0
  444. data/bin/Image-ExifTool-10.23/t/EXE_4.out +8 -0
  445. data/bin/Image-ExifTool-10.23/t/EXE_5.out +9 -0
  446. data/bin/Image-ExifTool-10.23/t/EXE_6.out +8 -0
  447. data/bin/Image-ExifTool-10.23/t/EXE_7.out +10 -0
  448. data/bin/Image-ExifTool-10.23/t/ExifTool.t +328 -0
  449. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_16.out +0 -0
  450. data/bin/Image-ExifTool-10.23/t/ExifTool_17.out +598 -0
  451. data/bin/Image-ExifTool-10.23/t/ExifTool_2.out +427 -0
  452. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_20.out +0 -0
  453. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_21.out +0 -0
  454. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_22.out +0 -0
  455. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_23.out +0 -0
  456. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_24.out +0 -0
  457. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_25.out +0 -0
  458. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_26.out +0 -0
  459. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_27.out +0 -0
  460. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_28.out +0 -0
  461. data/bin/Image-ExifTool-10.23/t/ExifTool_29.out +426 -0
  462. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_3.out +0 -0
  463. data/bin/Image-ExifTool-10.23/t/ExifTool_30.out +2 -0
  464. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_4.out +0 -0
  465. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_5.out +0 -0
  466. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_6.out +0 -0
  467. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_7.out +0 -0
  468. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_8.out +0 -0
  469. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ExifTool_9.out +0 -0
  470. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FLAC.t +0 -0
  471. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FLAC_2.out +0 -0
  472. data/bin/Image-ExifTool-10.23/t/FLAC_3.out +20 -0
  473. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FLIR.t +0 -0
  474. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FLIR_2.out +0 -0
  475. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FLIR_3.out +0 -0
  476. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Flash.t +0 -0
  477. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FlashPix.t +0 -0
  478. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FlashPix_2.out +0 -0
  479. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Flash_2.out +0 -0
  480. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Flash_3.out +0 -0
  481. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Font.t +0 -0
  482. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Font_2.out +0 -0
  483. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Font_3.out +0 -0
  484. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Font_4.out +0 -0
  485. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Font_5.out +0 -0
  486. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Font_6.out +0 -0
  487. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Font_7.out +0 -0
  488. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FotoStation.t +0 -0
  489. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FotoStation_2.out +0 -0
  490. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FotoStation_3.out +0 -0
  491. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FujiFilm.t +0 -0
  492. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FujiFilm_2.out +0 -0
  493. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FujiFilm_3.out +0 -0
  494. data/bin/Image-ExifTool-10.23/t/FujiFilm_4.out +143 -0
  495. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/FujiFilm_5.out +0 -0
  496. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GE.t +0 -0
  497. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GE_2.out +0 -0
  498. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GE_3.out +0 -0
  499. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GIF.t +0 -0
  500. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GIF_2.out +0 -0
  501. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GIF_3.out +0 -0
  502. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GIF_4.out +0 -0
  503. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GIMP.t +0 -0
  504. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GIMP_2.out +0 -0
  505. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GPS.t +0 -0
  506. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GPS_2.out +0 -0
  507. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GPS_3.out +0 -0
  508. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GeoTiff.t +0 -0
  509. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GeoTiff_2.out +0 -0
  510. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GeoTiff_3.out +0 -0
  511. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/GeoTiff_4.out +0 -0
  512. data/bin/Image-ExifTool-10.23/t/Geotag.t +201 -0
  513. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_10.out +0 -0
  514. data/bin/Image-ExifTool-10.23/t/Geotag_11.out +3 -0
  515. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_2.out +0 -0
  516. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_3.out +0 -0
  517. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_5.out +0 -0
  518. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_6.out +0 -0
  519. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_7.out +0 -0
  520. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_8.out +0 -0
  521. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Geotag_9.out +0 -0
  522. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/HTML.t +0 -0
  523. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/HTML_2.out +0 -0
  524. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/IPTC.t +0 -0
  525. data/bin/Image-ExifTool-10.23/t/IPTC_2.out +69 -0
  526. data/bin/Image-ExifTool-10.23/t/IPTC_4.out +67 -0
  527. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/IPTC_5.out +0 -0
  528. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/IPTC_6.out +0 -0
  529. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/IPTC_7.out +0 -0
  530. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/IPTC_8.out +0 -0
  531. data/bin/Image-ExifTool-10.23/t/ISO.t +28 -0
  532. data/bin/Image-ExifTool-10.23/t/ISO_2.out +19 -0
  533. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ITC.t +0 -0
  534. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ITC_2.out +0 -0
  535. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/InDesign.t +0 -0
  536. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/InDesign_2.out +0 -0
  537. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/InDesign_3.out +0 -0
  538. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/InDesign_4.out +0 -0
  539. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/JVC.t +0 -0
  540. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/JVC_2.out +0 -0
  541. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/JVC_3.out +0 -0
  542. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Jpeg2000.t +0 -0
  543. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Jpeg2000_2.out +0 -0
  544. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Jpeg2000_3.out +0 -0
  545. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Jpeg2000_4.out +0 -0
  546. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Kodak.t +0 -0
  547. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Kodak_2.out +0 -0
  548. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Kodak_3.out +0 -0
  549. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/KyoceraRaw.t +0 -0
  550. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/KyoceraRaw_2.out +0 -0
  551. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/LNK.t +0 -0
  552. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/LNK_2.out +0 -0
  553. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang.t +0 -0
  554. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_1.out +0 -0
  555. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_10.out +0 -0
  556. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_11.out +0 -0
  557. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_12.out +0 -0
  558. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_13.out +0 -0
  559. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_14.out +0 -0
  560. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_15.out +0 -0
  561. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_16.out +0 -0
  562. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_17.out +0 -0
  563. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_18.out +0 -0
  564. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_2.out +0 -0
  565. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_3.out +0 -0
  566. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_4.out +0 -0
  567. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_5.out +0 -0
  568. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_6.out +0 -0
  569. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_7.out +0 -0
  570. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_8.out +0 -0
  571. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lang_9.out +0 -0
  572. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lytro.t +0 -0
  573. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Lytro_2.out +0 -0
  574. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/M2TS.t +0 -0
  575. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/M2TS_2.out +0 -0
  576. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MIE.t +0 -0
  577. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MIE_2.out +0 -0
  578. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MIE_3.out +0 -0
  579. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MIE_5.out +0 -0
  580. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MIE_6.out +0 -0
  581. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MIFF.t +0 -0
  582. data/bin/Image-ExifTool-10.23/t/MIFF_2.out +114 -0
  583. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MOI.t +0 -0
  584. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MOI_2.out +0 -0
  585. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MP3.t +0 -0
  586. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MP3_2.out +0 -0
  587. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MWG.t +0 -0
  588. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MWG_2.out +0 -0
  589. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MWG_3.out +0 -0
  590. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MWG_4.out +0 -0
  591. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MWG_5.out +0 -0
  592. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MWG_6.out +0 -0
  593. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MXF.t +0 -0
  594. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/MXF_2.out +0 -0
  595. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Matroska.t +0 -0
  596. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Matroska_2.out +0 -0
  597. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Minolta.t +0 -0
  598. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Minolta_2.out +0 -0
  599. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Minolta_3.out +0 -0
  600. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Minolta_4.out +0 -0
  601. data/bin/Image-ExifTool-10.23/t/Motorola.t +29 -0
  602. data/bin/Image-ExifTool-10.23/t/Motorola_2.out +97 -0
  603. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Nikon.t +0 -0
  604. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Nikon_2.out +0 -0
  605. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Nikon_3.out +0 -0
  606. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Nikon_4.out +0 -0
  607. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Nikon_5.out +0 -0
  608. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Nikon_7.out +0 -0
  609. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Nikon_8.out +0 -0
  610. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Olympus.t +0 -0
  611. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Olympus_2.out +0 -0
  612. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Olympus_3.out +0 -0
  613. data/bin/Image-ExifTool-10.23/t/Olympus_4.out +194 -0
  614. data/bin/Image-ExifTool-10.23/t/Olympus_5.out +266 -0
  615. data/bin/Image-ExifTool-10.23/t/Olympus_6.out +153 -0
  616. data/bin/Image-ExifTool-10.23/t/Olympus_7.out +483 -0
  617. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Olympus_8.out +0 -0
  618. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/OpenEXR.t +0 -0
  619. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/OpenEXR_2.out +0 -0
  620. data/bin/Image-ExifTool-10.23/t/Opus.t +27 -0
  621. data/bin/Image-ExifTool-10.23/t/Opus_2.out +26 -0
  622. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF.t +0 -0
  623. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_10.out +0 -0
  624. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_11.out +0 -0
  625. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_12.out +0 -0
  626. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_14.out +0 -0
  627. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_15.out +0 -0
  628. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_16.out +0 -0
  629. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_17.out +0 -0
  630. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_18.out +0 -0
  631. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_19.out +0 -0
  632. data/bin/Image-ExifTool-10.23/t/PDF_2.out +127 -0
  633. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_20.out +0 -0
  634. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_22.out +0 -0
  635. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_4.out +0 -0
  636. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_5.out +0 -0
  637. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_6.out +0 -0
  638. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_7.out +0 -0
  639. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_8.out +0 -0
  640. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PDF_9.out +0 -0
  641. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PGF.t +0 -0
  642. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PGF_2.out +0 -0
  643. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PICT.t +0 -0
  644. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PICT_2.out +0 -0
  645. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PLIST.t +0 -0
  646. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PLIST_2.out +0 -0
  647. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PLIST_3.out +0 -0
  648. data/bin/Image-ExifTool-10.23/t/PLUS.t +45 -0
  649. data/bin/Image-ExifTool-10.23/t/PLUS_2.out +31 -0
  650. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PNG.t +0 -0
  651. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PNG_2.out +0 -0
  652. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PNG_3.out +0 -0
  653. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PNG_4.out +0 -0
  654. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PNG_5.out +0 -0
  655. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PPM.t +0 -0
  656. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PPM_2.out +0 -0
  657. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PPM_3.out +0 -0
  658. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PSP.t +0 -0
  659. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PSP_2.out +0 -0
  660. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Palm.t +0 -0
  661. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Palm_2.out +0 -0
  662. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Panasonic.t +0 -0
  663. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Panasonic_2.out +0 -0
  664. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Panasonic_3.out +0 -0
  665. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Panasonic_4.out +0 -0
  666. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Panasonic_5.out +0 -0
  667. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Pentax.t +0 -0
  668. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Pentax_2.out +0 -0
  669. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Pentax_3.out +0 -0
  670. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Pentax_4.out +0 -0
  671. data/bin/Image-ExifTool-10.23/t/PhaseOne.t +38 -0
  672. data/bin/Image-ExifTool-10.23/t/PhaseOne_2.out +99 -0
  673. data/bin/Image-ExifTool-10.23/t/PhaseOne_3.out +170 -0
  674. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PhotoCD.t +0 -0
  675. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PhotoCD_2.out +0 -0
  676. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PhotoMechanic.t +0 -0
  677. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PhotoMechanic_2.out +0 -0
  678. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PhotoMechanic_3.out +0 -0
  679. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Photoshop.t +0 -0
  680. data/bin/Image-ExifTool-10.23/t/Photoshop_2.out +109 -0
  681. data/bin/Image-ExifTool-10.23/t/Photoshop_3.out +117 -0
  682. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PostScript.t +0 -0
  683. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PostScript_2.out +0 -0
  684. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/PostScript_3.out +0 -0
  685. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/QuickTime.t +0 -0
  686. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/QuickTime_2.out +0 -0
  687. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/QuickTime_3.out +0 -0
  688. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/QuickTime_4.out +0 -0
  689. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/QuickTime_5.out +0 -0
  690. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/RIFF.t +0 -0
  691. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/RIFF_2.out +0 -0
  692. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/RIFF_3.out +0 -0
  693. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/RIFF_4.out +0 -0
  694. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/RTF.t +0 -0
  695. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/RTF_2.out +0 -0
  696. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Radiance.t +0 -0
  697. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Radiance_2.out +0 -0
  698. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Real.t +0 -0
  699. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Real_2.out +0 -0
  700. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Real_3.out +0 -0
  701. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Real_4.out +0 -0
  702. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Ricoh.t +0 -0
  703. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Ricoh_2.out +0 -0
  704. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Ricoh_3.out +0 -0
  705. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Ricoh_4.out +0 -0
  706. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sanyo.t +0 -0
  707. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sanyo_2.out +0 -0
  708. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sanyo_3.out +0 -0
  709. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sigma.t +0 -0
  710. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sigma_2.out +0 -0
  711. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sigma_3.out +0 -0
  712. data/bin/Image-ExifTool-10.23/t/Sigma_4.out +65 -0
  713. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sigma_5.out +0 -0
  714. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sony.t +0 -0
  715. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sony_2.out +0 -0
  716. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sony_3.out +0 -0
  717. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Sony_5.out +0 -0
  718. data/bin/Image-ExifTool-10.23/t/TestLib.pm +431 -0
  719. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Torrent.t +0 -0
  720. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Torrent_2.out +0 -0
  721. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Unknown.t +0 -0
  722. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Unknown_2.out +0 -0
  723. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Unknown_3.out +0 -0
  724. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/VCard.t +0 -0
  725. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/VCard_2.out +0 -0
  726. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/VCard_3.out +0 -0
  727. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Vorbis.t +0 -0
  728. data/bin/Image-ExifTool-10.23/t/Vorbis_2.out +29 -0
  729. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer.t +0 -0
  730. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_10.out +0 -0
  731. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_11.out +0 -0
  732. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_13.out +0 -0
  733. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_14.out +0 -0
  734. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_15.out +0 -0
  735. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_16.out +0 -0
  736. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_17.out +0 -0
  737. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_18.out +0 -0
  738. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_19.out +0 -0
  739. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_2.out +0 -0
  740. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_22.out +0 -0
  741. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_24.out +0 -0
  742. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_25.out +0 -0
  743. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_26.out +0 -0
  744. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_27.out +0 -0
  745. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_28.out +0 -0
  746. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_29.out +0 -0
  747. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_30.out +0 -0
  748. data/bin/Image-ExifTool-10.23/t/Writer_31.out +108 -0
  749. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_32.out +0 -0
  750. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_33.out +0 -0
  751. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_34.out +0 -0
  752. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_35.out +0 -0
  753. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_36.out +0 -0
  754. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_37.out +0 -0
  755. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_38.out +0 -0
  756. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_39.out +0 -0
  757. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_4.out +0 -0
  758. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_40.out +0 -0
  759. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_41.out +0 -0
  760. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_42.out +0 -0
  761. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_43.out +0 -0
  762. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_44.out +0 -0
  763. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_45.out +0 -0
  764. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_46.out +0 -0
  765. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_47.out +0 -0
  766. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_48.out +0 -0
  767. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_50.out +0 -0
  768. data/bin/Image-ExifTool-10.23/t/Writer_51.out +414 -0
  769. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_52.out +0 -0
  770. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_53.out +0 -0
  771. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_54.out +0 -0
  772. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_55.out +0 -0
  773. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_56.out +0 -0
  774. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_6.out +0 -0
  775. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_7.out +0 -0
  776. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/Writer_9.out +0 -0
  777. data/bin/Image-ExifTool-10.23/t/XMP.t +570 -0
  778. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_10.out +0 -0
  779. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_11.out +0 -0
  780. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_12.out +0 -0
  781. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_13.out +0 -0
  782. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_14.out +0 -0
  783. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_15.out +0 -0
  784. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_16.out +0 -0
  785. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_17.out +0 -0
  786. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_18.out +0 -0
  787. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_19.out +0 -0
  788. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_2.out +0 -0
  789. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_20.out +0 -0
  790. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_21.out +0 -0
  791. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_22.out +0 -0
  792. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_23.out +0 -0
  793. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_24.out +0 -0
  794. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_25.out +0 -0
  795. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_26.out +0 -0
  796. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_27.out +0 -0
  797. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_28.out +0 -0
  798. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_29.out +0 -0
  799. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_3.out +0 -0
  800. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_30.out +0 -0
  801. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_31.out +0 -0
  802. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_32.out +0 -0
  803. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_34.out +0 -0
  804. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_36.out +0 -0
  805. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_37.out +0 -0
  806. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_39.out +0 -0
  807. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_40.out +0 -0
  808. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_41.out +0 -0
  809. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_42.out +0 -0
  810. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_43.out +0 -0
  811. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_44.out +0 -0
  812. data/bin/Image-ExifTool-10.23/t/XMP_45.out +23 -0
  813. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_5.out +0 -0
  814. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_6.out +0 -0
  815. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_7.out +0 -0
  816. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_8.out +0 -0
  817. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/XMP_9.out +0 -0
  818. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ZIP.t +0 -0
  819. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ZIP_2.out +0 -0
  820. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ZIP_3.out +0 -0
  821. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ZIP_4.out +0 -0
  822. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ZIP_5.out +0 -0
  823. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ZIP_6.out +0 -0
  824. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/ZIP_7.out +0 -0
  825. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/AFCP.jpg +0 -0
  826. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/AIFF.aif +0 -0
  827. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/APE.ape +0 -0
  828. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/APE.mpc +0 -0
  829. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/ASF.wmv +0 -0
  830. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Audible.aa +0 -0
  831. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/BMP.bmp +0 -0
  832. data/bin/Image-ExifTool-10.23/t/images/BPG.bpg +0 -0
  833. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/BigTIFF.btf +0 -0
  834. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Canon.jpg +0 -0
  835. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Canon1DmkIII.jpg +0 -0
  836. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/CanonRaw.cr2 +0 -0
  837. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/CanonRaw.crw +0 -0
  838. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/CanonVRD.dr4 +0 -0
  839. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/CanonVRD.vrd +0 -0
  840. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/CaptureOne.eip +0 -0
  841. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Casio.jpg +0 -0
  842. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Casio2.jpg +0 -0
  843. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/CasioQVCI.jpg +0 -0
  844. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/DICOM.dcm +0 -0
  845. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/DNG.dng +0 -0
  846. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/DPX.dpx +0 -0
  847. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/DV.dv +0 -0
  848. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/DjVu.djvu +0 -0
  849. data/bin/Image-ExifTool-10.23/t/images/EXE.a +0 -0
  850. data/bin/Image-ExifTool-10.23/t/images/EXE.dylib +0 -0
  851. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/EXE.elf +0 -0
  852. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/EXE.exe +0 -0
  853. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/EXE.macho +0 -0
  854. data/bin/Image-ExifTool-10.23/t/images/EXE.so +0 -0
  855. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/ExifTool.jpg +0 -0
  856. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/ExifTool.tif +0 -0
  857. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/ExtendedXMP.jpg +0 -0
  858. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FLAC.flac +0 -0
  859. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FLAC.ogg +0 -0
  860. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FLIR.fpf +0 -0
  861. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FLIR.jpg +0 -0
  862. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Flash.flv +0 -0
  863. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Flash.swf +0 -0
  864. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FlashPix.ppt +0 -0
  865. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Font.afm +0 -0
  866. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Font.dfont +0 -0
  867. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Font.pfa +0 -0
  868. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Font.pfb +0 -0
  869. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Font.pfm +0 -0
  870. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Font.ttf +0 -0
  871. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FotoStation.jpg +0 -0
  872. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FujiFilm.jpg +0 -0
  873. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/FujiFilm.raf +0 -0
  874. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/GE.jpg +0 -0
  875. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/GIF.gif +0 -0
  876. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/GIMP.xcf +0 -0
  877. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/GPS.jpg +0 -0
  878. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/GeoTiff.tif +0 -0
  879. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Geotag.gpx +0 -0
  880. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Geotag.igc +0 -0
  881. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Geotag.kml +0 -0
  882. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Geotag.log +0 -0
  883. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Geotag.xml +0 -0
  884. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Geotag2.log +0 -0
  885. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Geotag3.log +0 -0
  886. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/HTML.html +0 -0
  887. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/IPTC.jpg +0 -0
  888. data/bin/Image-ExifTool-10.23/t/images/ISO.iso +0 -0
  889. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/ITC.itc +0 -0
  890. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/InDesign.indd +0 -0
  891. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/JVC.jpg +0 -0
  892. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/JVC2.jpg +0 -0
  893. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Jpeg2000.j2c +0 -0
  894. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Jpeg2000.jp2 +0 -0
  895. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Kodak.jpg +0 -0
  896. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/KyoceraRaw.raw +0 -0
  897. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/LNK.lnk +0 -0
  898. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Lytro.lfp +0 -0
  899. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/M2TS.mts +0 -0
  900. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/MIE.mie +0 -0
  901. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/MIFF.miff +0 -0
  902. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/MOI.moi +0 -0
  903. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/MP3.mp3 +0 -0
  904. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/MWG.jpg +0 -0
  905. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/MXF.mxf +0 -0
  906. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Matroska.mkv +0 -0
  907. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Minolta.jpg +0 -0
  908. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Minolta.mrw +0 -0
  909. data/bin/Image-ExifTool-10.23/t/images/Motorola.jpg +0 -0
  910. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Nikon.jpg +0 -0
  911. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Nikon.nef +0 -0
  912. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/NikonD2Hs.jpg +0 -0
  913. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/NikonD70.jpg +0 -0
  914. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/OOXML.docx +0 -0
  915. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Olympus.dss +0 -0
  916. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Olympus.jpg +0 -0
  917. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Olympus2.jpg +0 -0
  918. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/OlympusE1.jpg +0 -0
  919. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/OpenDoc.ods +0 -0
  920. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/OpenEXR.exr +0 -0
  921. data/bin/Image-ExifTool-10.23/t/images/Opus.opus +0 -0
  922. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PDF.pdf +0 -0
  923. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PDF2.pdf +0 -0
  924. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PGF.pgf +0 -0
  925. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PICT.pict +0 -0
  926. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PLIST-bin.plist +0 -0
  927. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PLIST-xml.plist +0 -0
  928. data/bin/Image-ExifTool-10.23/t/images/PLUS.xmp +127 -0
  929. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PNG.png +0 -0
  930. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PPM.ppm +0 -0
  931. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PSP.psp +0 -0
  932. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Palm.mobi +0 -0
  933. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Panasonic.jpg +0 -0
  934. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Panasonic.rw2 +0 -0
  935. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Pentax.avi +0 -0
  936. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Pentax.jpg +0 -0
  937. data/bin/Image-ExifTool-10.23/t/images/PhaseOne.iiq +0 -0
  938. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PhotoCD.pcd +0 -0
  939. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PhotoMechanic.jpg +0 -0
  940. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Photoshop.psd +0 -0
  941. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/PostScript.eps +0 -0
  942. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/QuickTime.m4a +0 -0
  943. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/QuickTime.mov +0 -0
  944. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/RIFF.avi +0 -0
  945. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/RIFF.wav +0 -0
  946. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/RIFF.webp +0 -0
  947. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/RTF.rtf +0 -0
  948. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Radiance.hdr +0 -0
  949. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Real.ra +0 -0
  950. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Real.ram +0 -0
  951. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Real.rm +0 -0
  952. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Ricoh.jpg +0 -0
  953. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Ricoh2.jpg +0 -0
  954. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Sanyo.jpg +0 -0
  955. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Sigma.jpg +0 -0
  956. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Sigma.x3f +0 -0
  957. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/SigmaDP2.x3f +0 -0
  958. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Sony.jpg +0 -0
  959. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Sony.pmp +0 -0
  960. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Torrent.torrent +0 -0
  961. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Unknown.jpg +0 -0
  962. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/VCard.ics +0 -0
  963. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/VCard.vcf +0 -0
  964. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Vorbis.ogg +0 -0
  965. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/Writer.jpg +0 -0
  966. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP.inx +0 -0
  967. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP.jpg +0 -0
  968. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP.svg +0 -0
  969. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP.xml +0 -0
  970. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP.xmp +0 -0
  971. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP2.xmp +0 -0
  972. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP3.xmp +0 -0
  973. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP4.xmp +0 -0
  974. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP5.xmp +0 -0
  975. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/XMP6.xmp +0 -0
  976. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/ZIP.gz +0 -0
  977. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/ZIP.zip +0 -0
  978. data/bin/{Image-ExifTool-10.04 → Image-ExifTool-10.23}/t/images/iWork.numbers +0 -0
  979. data/lib/exiftool_vendored/version.rb +1 -1
  980. metadata +980 -941
  981. data/bin/Image-ExifTool-10.04/Changes +0 -7227
  982. data/bin/Image-ExifTool-10.04/MANIFEST +0 -937
  983. data/bin/Image-ExifTool-10.04/META.yml +0 -27
  984. data/bin/Image-ExifTool-10.04/Makefile.PL +0 -41
  985. data/bin/Image-ExifTool-10.04/README +0 -233
  986. data/bin/Image-ExifTool-10.04/config_files/example.config +0 -343
  987. data/bin/Image-ExifTool-10.04/config_files/picasa_faces.config +0 -370
  988. data/bin/Image-ExifTool-10.04/exiftool +0 -6260
  989. data/bin/Image-ExifTool-10.04/html/ExifTool.html +0 -2070
  990. data/bin/Image-ExifTool-10.04/html/Shift.html +0 -173
  991. data/bin/Image-ExifTool-10.04/html/TagNames/Canon.html +0 -9344
  992. data/bin/Image-ExifTool-10.04/html/TagNames/CanonCustom.html +0 -2081
  993. data/bin/Image-ExifTool-10.04/html/TagNames/CanonVRD.html +0 -1958
  994. data/bin/Image-ExifTool-10.04/html/TagNames/Composite.html +0 -705
  995. data/bin/Image-ExifTool-10.04/html/TagNames/DNG.html +0 -291
  996. data/bin/Image-ExifTool-10.04/html/TagNames/DPX.html +0 -224
  997. data/bin/Image-ExifTool-10.04/html/TagNames/EXE.html +0 -697
  998. data/bin/Image-ExifTool-10.04/html/TagNames/EXIF.html +0 -3383
  999. data/bin/Image-ExifTool-10.04/html/TagNames/Extra.html +0 -437
  1000. data/bin/Image-ExifTool-10.04/html/TagNames/FLAC.html +0 -183
  1001. data/bin/Image-ExifTool-10.04/html/TagNames/FujiFilm.html +0 -813
  1002. data/bin/Image-ExifTool-10.04/html/TagNames/GPS.html +0 -230
  1003. data/bin/Image-ExifTool-10.04/html/TagNames/JFIF.html +0 -61
  1004. data/bin/Image-ExifTool-10.04/html/TagNames/Minolta.html +0 -2614
  1005. data/bin/Image-ExifTool-10.04/html/TagNames/Nikon.html +0 -4836
  1006. data/bin/Image-ExifTool-10.04/html/TagNames/NikonCustom.html +0 -5633
  1007. data/bin/Image-ExifTool-10.04/html/TagNames/Ogg.html +0 -44
  1008. data/bin/Image-ExifTool-10.04/html/TagNames/Olympus.html +0 -3534
  1009. data/bin/Image-ExifTool-10.04/html/TagNames/Pentax.html +0 -4693
  1010. data/bin/Image-ExifTool-10.04/html/TagNames/PhaseOne.html +0 -253
  1011. data/bin/Image-ExifTool-10.04/html/TagNames/Photoshop.html +0 -575
  1012. data/bin/Image-ExifTool-10.04/html/TagNames/QuickTime.html +0 -6040
  1013. data/bin/Image-ExifTool-10.04/html/TagNames/RIFF.html +0 -1344
  1014. data/bin/Image-ExifTool-10.04/html/TagNames/Samsung.html +0 -604
  1015. data/bin/Image-ExifTool-10.04/html/TagNames/Shortcuts.html +0 -277
  1016. data/bin/Image-ExifTool-10.04/html/TagNames/Sigma.html +0 -469
  1017. data/bin/Image-ExifTool-10.04/html/TagNames/Sony.html +0 -8781
  1018. data/bin/Image-ExifTool-10.04/html/TagNames/Vorbis.html +0 -228
  1019. data/bin/Image-ExifTool-10.04/html/TagNames/XMP.html +0 -9175
  1020. data/bin/Image-ExifTool-10.04/html/TagNames/index.html +0 -211
  1021. data/bin/Image-ExifTool-10.04/html/ancient_history.html +0 -7903
  1022. data/bin/Image-ExifTool-10.04/html/config.html +0 -355
  1023. data/bin/Image-ExifTool-10.04/html/exiftool_pod.html +0 -2514
  1024. data/bin/Image-ExifTool-10.04/html/faq.html +0 -1534
  1025. data/bin/Image-ExifTool-10.04/html/filename.html +0 -352
  1026. data/bin/Image-ExifTool-10.04/html/geotag.html +0 -654
  1027. data/bin/Image-ExifTool-10.04/html/history.html +0 -263
  1028. data/bin/Image-ExifTool-10.04/html/index.html +0 -1331
  1029. data/bin/Image-ExifTool-10.04/html/install.html +0 -255
  1030. data/bin/Image-ExifTool-10.04/lib/File/RandomAccess.pm +0 -378
  1031. data/bin/Image-ExifTool-10.04/lib/File/RandomAccess.pod +0 -231
  1032. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool.pm +0 -7499
  1033. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool.pod +0 -2504
  1034. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/AES.pm +0 -501
  1035. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/AFCP.pm +0 -286
  1036. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/AIFF.pm +0 -289
  1037. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/APE.pm +0 -264
  1038. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/APP12.pm +0 -322
  1039. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/ASF.pm +0 -885
  1040. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Apple.pm +0 -128
  1041. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Audible.pm +0 -317
  1042. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/BMP.pm +0 -179
  1043. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/BZZ.pm +0 -472
  1044. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/BigTIFF.pm +0 -282
  1045. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/BuildTagLookup.pm +0 -2513
  1046. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Canon.pm +0 -8482
  1047. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/CanonCustom.pm +0 -2582
  1048. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/CanonRaw.pm +0 -910
  1049. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/CanonVRD.pm +0 -2240
  1050. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/CaptureOne.pm +0 -235
  1051. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Casio.pm +0 -2058
  1052. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Charset.pm +0 -396
  1053. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/DICOM.pm +0 -3874
  1054. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/DNG.pm +0 -835
  1055. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/DPX.pm +0 -181
  1056. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/DV.pm +0 -319
  1057. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/DarwinCore.pm +0 -322
  1058. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/DjVu.pm +0 -376
  1059. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/EXE.pm +0 -1253
  1060. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Exif.pm +0 -4687
  1061. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/FLAC.pm +0 -297
  1062. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/FLIR.pm +0 -1533
  1063. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Fixup.pm +0 -354
  1064. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Flash.pm +0 -755
  1065. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/FlashPix.pm +0 -1935
  1066. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Font.pm +0 -647
  1067. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/FotoStation.pm +0 -261
  1068. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/FujiFilm.pm +0 -1196
  1069. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/GE.pm +0 -81
  1070. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/GIF.pm +0 -542
  1071. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/GIMP.pm +0 -258
  1072. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/GPS.pm +0 -558
  1073. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/GeoTiff.pm +0 -2263
  1074. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Geotag.pm +0 -1221
  1075. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/H264.pm +0 -1112
  1076. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/HP.pm +0 -263
  1077. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/HTML.pm +0 -576
  1078. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/HtmlDump.pm +0 -895
  1079. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/ICC_Profile.pm +0 -1000
  1080. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/ID3.pm +0 -1569
  1081. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/IPTC.pm +0 -1264
  1082. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/ITC.pm +0 -215
  1083. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Import.pm +0 -329
  1084. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/InDesign.pm +0 -277
  1085. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/JPEG.pm +0 -605
  1086. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/JPEGDigest.pm +0 -2511
  1087. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/JVC.pm +0 -130
  1088. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Jpeg2000.pm +0 -882
  1089. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Kodak.pm +0 -2096
  1090. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/KyoceraRaw.pm +0 -173
  1091. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/LNK.pm +0 -723
  1092. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/cs.pm +0 -1588
  1093. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/de.pm +0 -8692
  1094. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/en_ca.pm +0 -848
  1095. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/en_gb.pm +0 -863
  1096. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/es.pm +0 -4019
  1097. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/fi.pm +0 -2854
  1098. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/fr.pm +0 -4758
  1099. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/it.pm +0 -7918
  1100. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/ja.pm +0 -5835
  1101. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/ko.pm +0 -2330
  1102. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/nl.pm +0 -3222
  1103. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/pl.pm +0 -1276
  1104. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/ru.pm +0 -768
  1105. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/sv.pm +0 -638
  1106. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/tr.pm +0 -544
  1107. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1330
  1108. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lang/zh_tw.pm +0 -801
  1109. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Leaf.pm +0 -516
  1110. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Lytro.pm +0 -217
  1111. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/M2TS.pm +0 -725
  1112. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MIE.pm +0 -2564
  1113. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MIEUnits.pod +0 -377
  1114. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MIFF.pm +0 -279
  1115. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MNG.pm +0 -684
  1116. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MOI.pm +0 -158
  1117. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MPC.pm +0 -156
  1118. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MPEG.pm +0 -736
  1119. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MPF.pm +0 -292
  1120. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MWG.pm +0 -753
  1121. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MXF.pm +0 -3031
  1122. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MakerNotes.pm +0 -1725
  1123. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Matroska.pm +0 -892
  1124. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Microsoft.pm +0 -904
  1125. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Minolta.pm +0 -2961
  1126. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/MinoltaRaw.pm +0 -534
  1127. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Nikon.pm +0 -6751
  1128. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/NikonCapture.pm +0 -940
  1129. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/NikonCustom.pm +0 -6331
  1130. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Nintendo.pm +0 -128
  1131. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/OOXML.pm +0 -409
  1132. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Ogg.pm +0 -237
  1133. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Olympus.pm +0 -3797
  1134. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/OpenEXR.pm +0 -324
  1135. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PDF.pm +0 -2328
  1136. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PGF.pm +0 -143
  1137. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PICT.pm +0 -1260
  1138. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PLIST.pm +0 -453
  1139. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PNG.pm +0 -1227
  1140. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PPM.pm +0 -169
  1141. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PSP.pm +0 -306
  1142. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Palm.pm +0 -403
  1143. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Panasonic.pm +0 -2374
  1144. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PanasonicRaw.pm +0 -643
  1145. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Pentax.pm +0 -5973
  1146. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PhaseOne.pm +0 -551
  1147. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PhotoCD.pm +0 -507
  1148. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PhotoMechanic.pm +0 -256
  1149. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Photoshop.pm +0 -650
  1150. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PostScript.pm +0 -696
  1151. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/PrintIM.pm +0 -125
  1152. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Qualcomm.pm +0 -1344
  1153. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/QuickTime.pm +0 -6576
  1154. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/README +0 -981
  1155. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/RIFF.pm +0 -1530
  1156. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/RSRC.pm +0 -241
  1157. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/RTF.pm +0 -383
  1158. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Radiance.pm +0 -144
  1159. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Rawzor.pm +0 -189
  1160. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Real.pm +0 -739
  1161. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Reconyx.pm +0 -190
  1162. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Ricoh.pm +0 -1148
  1163. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Samsung.pm +0 -1168
  1164. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Sanyo.pm +0 -440
  1165. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Scalado.pm +0 -141
  1166. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Shift.pl +0 -596
  1167. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Shortcuts.pm +0 -336
  1168. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Sigma.pm +0 -684
  1169. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/SigmaRaw.pm +0 -668
  1170. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Sony.pm +0 -9219
  1171. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/SonyIDC.pm +0 -331
  1172. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Stim.pm +0 -196
  1173. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/TagInfoXML.pm +0 -827
  1174. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/TagLookup.pm +0 -8948
  1175. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/TagNames.pod +0 -29199
  1176. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Theora.pm +0 -145
  1177. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Torrent.pm +0 -317
  1178. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Unknown.pm +0 -66
  1179. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/VCard.pm +0 -405
  1180. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Vorbis.pm +0 -238
  1181. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WriteCanonRaw.pl +0 -637
  1182. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WriteExif.pl +0 -3741
  1183. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WriteIPTC.pl +0 -706
  1184. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WritePDF.pl +0 -768
  1185. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WritePNG.pl +0 -390
  1186. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WritePhotoshop.pl +0 -266
  1187. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WritePostScript.pl +0 -772
  1188. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WriteQuickTime.pl +0 -358
  1189. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/WriteXMP.pl +0 -1367
  1190. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/Writer.pl +0 -6165
  1191. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/XMP.pm +0 -4034
  1192. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/XMP2.pl +0 -1579
  1193. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/XMPStruct.pl +0 -828
  1194. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/ZIP.pm +0 -667
  1195. data/bin/Image-ExifTool-10.04/lib/Image/ExifTool/iWork.pm +0 -223
  1196. data/bin/Image-ExifTool-10.04/perl-Image-ExifTool.spec +0 -112
  1197. data/bin/Image-ExifTool-10.04/t/APE_2.out +0 -29
  1198. data/bin/Image-ExifTool-10.04/t/CanonRaw_5.out +0 -209
  1199. data/bin/Image-ExifTool-10.04/t/DNG_2.out +0 -328
  1200. data/bin/Image-ExifTool-10.04/t/EXE.t +0 -31
  1201. data/bin/Image-ExifTool-10.04/t/EXE_2.out +0 -41
  1202. data/bin/Image-ExifTool-10.04/t/EXE_3.out +0 -16
  1203. data/bin/Image-ExifTool-10.04/t/EXE_4.out +0 -15
  1204. data/bin/Image-ExifTool-10.04/t/ExifTool.t +0 -304
  1205. data/bin/Image-ExifTool-10.04/t/ExifTool_17.out +0 -598
  1206. data/bin/Image-ExifTool-10.04/t/ExifTool_2.out +0 -418
  1207. data/bin/Image-ExifTool-10.04/t/FLAC_3.out +0 -20
  1208. data/bin/Image-ExifTool-10.04/t/FujiFilm_4.out +0 -141
  1209. data/bin/Image-ExifTool-10.04/t/Geotag.t +0 -185
  1210. data/bin/Image-ExifTool-10.04/t/IPTC_2.out +0 -60
  1211. data/bin/Image-ExifTool-10.04/t/IPTC_4.out +0 -58
  1212. data/bin/Image-ExifTool-10.04/t/MIFF_2.out +0 -110
  1213. data/bin/Image-ExifTool-10.04/t/Olympus_4.out +0 -194
  1214. data/bin/Image-ExifTool-10.04/t/Olympus_5.out +0 -266
  1215. data/bin/Image-ExifTool-10.04/t/Olympus_6.out +0 -153
  1216. data/bin/Image-ExifTool-10.04/t/Olympus_7.out +0 -483
  1217. data/bin/Image-ExifTool-10.04/t/PDF_2.out +0 -118
  1218. data/bin/Image-ExifTool-10.04/t/Photoshop_2.out +0 -98
  1219. data/bin/Image-ExifTool-10.04/t/Photoshop_3.out +0 -110
  1220. data/bin/Image-ExifTool-10.04/t/Sigma_4.out +0 -65
  1221. data/bin/Image-ExifTool-10.04/t/TestLib.pm +0 -427
  1222. data/bin/Image-ExifTool-10.04/t/Vorbis_2.out +0 -29
  1223. data/bin/Image-ExifTool-10.04/t/Writer_31.out +0 -99
  1224. data/bin/Image-ExifTool-10.04/t/Writer_51.out +0 -405
  1225. data/bin/Image-ExifTool-10.04/t/XMP.t +0 -557
@@ -1,2240 +0,0 @@
1
- #------------------------------------------------------------------------------
2
- # File: CanonVRD.pm
3
- #
4
- # Description: Read/write Canon VRD and DR4 information
5
- #
6
- # Revisions: 2006/10/30 - P. Harvey Created
7
- # 2007/10/23 - PH Added new VRD 3.0 tags
8
- # 2008/08/29 - PH Added new VRD 3.4 tags
9
- # 2008/12/02 - PH Added new VRD 3.5 tags
10
- # 2010/06/18 - PH Support variable-length CustomPictureStyle data
11
- # 2010/09/14 - PH Added r/w support for XMP in VRD
12
- # 2015/05/16 - PH Added DR4 support (DPP 4.1.50.0)
13
- #
14
- # References: 1) Bogdan private communication (Canon DPP v3.4.1.1)
15
- # 2) Gert Kello private communiation (DPP 3.8)
16
- #------------------------------------------------------------------------------
17
-
18
- package Image::ExifTool::CanonVRD;
19
-
20
- use strict;
21
- use vars qw($VERSION);
22
- use Image::ExifTool qw(:DataAccess :Utils);
23
- use Image::ExifTool::Canon;
24
-
25
- $VERSION = '1.26';
26
-
27
- sub ProcessCanonVRD($$;$);
28
- sub WriteCanonVRD($$;$);
29
- sub ProcessEditData($$$);
30
- sub ProcessIHL($$$);
31
- sub ProcessIHLExif($$$);
32
- sub ProcessDR4($$;$);
33
- sub SortDR4($$);
34
-
35
- # map for adding directories to VRD
36
- my %vrdMap = (
37
- XMP => 'CanonVRD',
38
- CanonVRD => 'VRD',
39
- );
40
-
41
- my %noYes = (
42
- PrintConvColumns => 2,
43
- PrintConv => { 0 => 'No', 1 => 'Yes' },
44
- );
45
-
46
- # DR4 format codes
47
- my %vrdFormat = (
48
- 1 => 'int32u',
49
- 2 => 'string',
50
- 8 => 'int32u',
51
- 9 => 'int32s',
52
- 13 => 'double',
53
- 33 => 'int32u', # (array)
54
- 38 => 'double', # (array)
55
- # 254 => 'undef', ?
56
- 255 => 'undef',
57
- );
58
-
59
- # empty VRD header/footer for creating VRD from scratch
60
- my $blankHeader = "CANON OPTIONAL DATA\0\0\x01\0\0\0\0\0\0";
61
- my $blankFooter = "CANON OPTIONAL DATA\0" . ("\0" x 42) . "\xff\xd9";
62
-
63
- # main tag table blocks in CanonVRD trailer (ref PH)
64
- %Image::ExifTool::CanonVRD::Main = (
65
- WRITE_PROC => \&WriteCanonVRD,
66
- PROCESS_PROC => \&ProcessCanonVRD,
67
- NOTES => q{
68
- Canon Digital Photo Professional writes VRD (Recipe Data) information as a
69
- trailer record to JPEG, TIFF, CRW and CR2 images, or as stand-alone VRD or
70
- DR4 files. The tags listed below represent information found in these
71
- records. The complete VRD/DR4 data record may be accessed as a block using
72
- the Extra 'CanonVRD' or 'CanonDR4' tag, but this tag is not extracted or
73
- copied unless specified explicitly.
74
- },
75
- 0xffff00f4 => {
76
- Name => 'EditData',
77
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::Edit' },
78
- },
79
- 0xffff00f5 => {
80
- Name => 'IHLData',
81
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::IHL' },
82
- },
83
- 0xffff00f6 => {
84
- Name => 'XMP',
85
- Flags => [ 'Binary', 'Protected' ],
86
- Writable => 'undef', # allow writing/deleting as a block
87
- SubDirectory => {
88
- DirName => 'XMP',
89
- TagTable => 'Image::ExifTool::XMP::Main',
90
- },
91
- },
92
- 0xffff00f7 => {
93
- Name => 'Edit4Data',
94
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::Edit4' },
95
- },
96
- );
97
-
98
- # the VRD edit information is divided into sections
99
- %Image::ExifTool::CanonVRD::Edit = (
100
- WRITE_PROC => \&ProcessEditData,
101
- PROCESS_PROC => \&ProcessEditData,
102
- VARS => { ID_LABEL => 'Index' }, # change TagID label in documentation
103
- NOTES => 'Canon VRD edit information.',
104
- 0 => {
105
- Name => 'VRD1',
106
- Size => 0x272, # size of version 1.0 edit information in bytes
107
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::Ver1' },
108
- },
109
- 1 => {
110
- Name => 'VRDStampTool',
111
- Size => 0, # size is variable, and obtained from int32u at directory start
112
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::StampTool' },
113
- },
114
- 2 => {
115
- Name => 'VRD2',
116
- Size => undef, # size is the remaining edit data
117
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::Ver2' },
118
- },
119
- );
120
-
121
- # Canon DPP version 4 edit information
122
- %Image::ExifTool::CanonVRD::Edit4 = (
123
- WRITE_PROC => \&ProcessEditData,
124
- PROCESS_PROC => \&ProcessEditData,
125
- VARS => { ID_LABEL => 'Index' }, # change TagID label in documentation
126
- NOTES => 'Canon DPP version 4 edit information.',
127
- 0 => {
128
- Name => 'DR4',
129
- Size => undef, # size is the remaining edit data
130
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::DR4' },
131
- },
132
- );
133
-
134
- # "IHL Created Optional Item Data" tags (not yet writable)
135
- %Image::ExifTool::CanonVRD::IHL = (
136
- PROCESS_PROC => \&ProcessIHL,
137
- TAG_PREFIX => 'VRD_IHL',
138
- GROUPS => { 2 => 'Image' },
139
- 1 => [
140
- # this contains edited TIFF-format data, with an original IFD at 0x0008
141
- # and an edited IFD with offset given in the TIFF header.
142
- {
143
- Name => 'IHL_EXIF',
144
- Condition => '$self->Options("ExtractEmbedded")',
145
- SubDirectory => {
146
- TagTable => 'Image::ExifTool::Exif::Main',
147
- ProcessProc => \&ProcessIHLExif,
148
- },
149
- },{
150
- Name => 'IHL_EXIF',
151
- Notes => q{
152
- extracted as a block if the Unknown option is used, or processed as the
153
- first sub-document with the ExtractEmbedded option
154
- },
155
- Binary => 1,
156
- Unknown => 1,
157
- },
158
- ],
159
- # 2 - written by DPP 3.0.2.6, and it looks something like edit data,
160
- # but I haven't decoded it yet - PH
161
- 3 => {
162
- # (same size as the PreviewImage with DPP 3.0.2.6)
163
- Name => 'ThumbnailImage',
164
- Groups => { 2 => 'Preview' },
165
- Binary => 1,
166
- },
167
- 4 => {
168
- Name => 'PreviewImage',
169
- Groups => { 2 => 'Preview' },
170
- Binary => 1,
171
- },
172
- 5 => {
173
- Name => 'RawCodecVersion',
174
- ValueConv => '$val =~ s/\0.*//s; $val', # truncate string at null
175
- },
176
- 6 => {
177
- Name => 'CRCDevelParams',
178
- Binary => 1,
179
- Unknown => 1,
180
- },
181
- );
182
-
183
- # VRD version 1 tags (ref PH)
184
- %Image::ExifTool::CanonVRD::Ver1 = (
185
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
186
- WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
187
- CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
188
- WRITABLE => 1,
189
- FIRST_ENTRY => 0,
190
- GROUPS => { 2 => 'Image' },
191
- DATAMEMBER => [ 0x002 ], # necessary for writing
192
- #
193
- # RAW image adjustment
194
- #
195
- 0x002 => {
196
- Name => 'VRDVersion',
197
- Format => 'int16u',
198
- Writable => 0,
199
- DataMember => 'VRDVersion',
200
- RawConv => '$$self{VRDVersion} = $val',
201
- PrintConv => '$val =~ s/^(\d)(\d*)(\d)$/$1.$2.$3/; $val',
202
- },
203
- 0x006 => {
204
- Name => 'WBAdjRGGBLevels',
205
- Format => 'int16u[4]',
206
- },
207
- 0x018 => {
208
- Name => 'WhiteBalanceAdj',
209
- Format => 'int16u',
210
- PrintConvColumns => 2,
211
- PrintConv => {
212
- 0 => 'Auto',
213
- 1 => 'Daylight',
214
- 2 => 'Cloudy',
215
- 3 => 'Tungsten',
216
- 4 => 'Fluorescent',
217
- 5 => 'Flash',
218
- 8 => 'Shade',
219
- 9 => 'Kelvin',
220
- 30 => 'Manual (Click)',
221
- 31 => 'Shot Settings',
222
- },
223
- },
224
- 0x01a => {
225
- Name => 'WBAdjColorTemp',
226
- Format => 'int16u',
227
- },
228
- # 0x01c similar to 0x006
229
- 0x024 => {
230
- Name => 'WBFineTuneActive',
231
- Format => 'int16u',
232
- %noYes,
233
- },
234
- 0x028 => {
235
- Name => 'WBFineTuneSaturation',
236
- Format => 'int16u',
237
- },
238
- 0x02c => {
239
- Name => 'WBFineTuneTone',
240
- Format => 'int16u',
241
- },
242
- 0x02e => {
243
- Name => 'RawColorAdj',
244
- Format => 'int16u',
245
- PrintConv => {
246
- 0 => 'Shot Settings',
247
- 1 => 'Faithful',
248
- 2 => 'Custom',
249
- },
250
- },
251
- 0x030 => {
252
- Name => 'RawCustomSaturation',
253
- Format => 'int32s',
254
- },
255
- 0x034 => {
256
- Name => 'RawCustomTone',
257
- Format => 'int32s',
258
- },
259
- 0x038 => {
260
- Name => 'RawBrightnessAdj',
261
- Format => 'int32s',
262
- ValueConv => '$val / 6000',
263
- ValueConvInv => 'int($val * 6000 + ($val < 0 ? -0.5 : 0.5))',
264
- PrintConv => 'sprintf("%.2f",$val)',
265
- PrintConvInv => '$val',
266
- },
267
- 0x03c => {
268
- Name => 'ToneCurveProperty',
269
- Format => 'int16u',
270
- PrintConvColumns => 2,
271
- PrintConv => {
272
- 0 => 'Shot Settings',
273
- 1 => 'Linear',
274
- 2 => 'Custom 1',
275
- 3 => 'Custom 2',
276
- 4 => 'Custom 3',
277
- 5 => 'Custom 4',
278
- 6 => 'Custom 5',
279
- },
280
- },
281
- # 0x040 usually "10 9 2"
282
- 0x07a => {
283
- Name => 'DynamicRangeMin',
284
- Format => 'int16u',
285
- },
286
- 0x07c => {
287
- Name => 'DynamicRangeMax',
288
- Format => 'int16u',
289
- },
290
- # 0x0c6 usually "10 9 2"
291
- #
292
- # RGB image adjustment
293
- #
294
- 0x110 => {
295
- Name => 'ToneCurveActive',
296
- Format => 'int16u',
297
- %noYes,
298
- },
299
- 0x113 => {
300
- Name => 'ToneCurveMode',
301
- PrintConv => { 0 => 'RGB', 1 => 'Luminance' },
302
- },
303
- 0x114 => {
304
- Name => 'BrightnessAdj',
305
- Format => 'int8s',
306
- },
307
- 0x115 => {
308
- Name => 'ContrastAdj',
309
- Format => 'int8s',
310
- },
311
- 0x116 => {
312
- Name => 'SaturationAdj',
313
- Format => 'int16s',
314
- },
315
- 0x11e => {
316
- Name => 'ColorToneAdj',
317
- Notes => 'in degrees, so -1 is the same as 359',
318
- Format => 'int32s',
319
- },
320
- 0x126 => {
321
- Name => 'LuminanceCurvePoints',
322
- Format => 'int16u[21]',
323
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
324
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
325
- },
326
- 0x150 => {
327
- Name => 'LuminanceCurveLimits',
328
- Notes => '4 numbers: input and output highlight and shadow points',
329
- Format => 'int16u[4]',
330
- },
331
- 0x159 => {
332
- Name => 'ToneCurveInterpolation',
333
- PrintConv => { 0 => 'Curve', 1 => 'Straight' },
334
- },
335
- 0x160 => {
336
- Name => 'RedCurvePoints',
337
- Format => 'int16u[21]',
338
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
339
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
340
- },
341
- # 0x193 same as 0x159
342
- 0x19a => {
343
- Name => 'GreenCurvePoints',
344
- Format => 'int16u[21]',
345
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
346
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
347
- },
348
- # 0x1cd same as 0x159
349
- 0x1d4 => {
350
- Name => 'BlueCurvePoints',
351
- Format => 'int16u[21]',
352
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
353
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
354
- },
355
- 0x18a => {
356
- Name => 'RedCurveLimits',
357
- Format => 'int16u[4]',
358
- },
359
- 0x1c4 => {
360
- Name => 'GreenCurveLimits',
361
- Format => 'int16u[4]',
362
- },
363
- 0x1fe => {
364
- Name => 'BlueCurveLimits',
365
- Format => 'int16u[4]',
366
- },
367
- # 0x207 same as 0x159
368
- 0x20e => {
369
- Name => 'RGBCurvePoints',
370
- Format => 'int16u[21]',
371
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
372
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
373
- },
374
- 0x238 => {
375
- Name => 'RGBCurveLimits',
376
- Format => 'int16u[4]',
377
- },
378
- # 0x241 same as 0x159
379
- 0x244 => {
380
- Name => 'CropActive',
381
- Format => 'int16u',
382
- %noYes,
383
- },
384
- 0x246 => {
385
- Name => 'CropLeft',
386
- Notes => 'crop coordinates in original unrotated image',
387
- Format => 'int16u',
388
- },
389
- 0x248 => {
390
- Name => 'CropTop',
391
- Format => 'int16u',
392
- },
393
- 0x24a => {
394
- Name => 'CropWidth',
395
- Format => 'int16u',
396
- },
397
- 0x24c => {
398
- Name => 'CropHeight',
399
- Format => 'int16u',
400
- },
401
- 0x25a => {
402
- Name => 'SharpnessAdj',
403
- Format => 'int16u',
404
- },
405
- 0x260 => {
406
- Name => 'CropAspectRatio',
407
- Format => 'int16u',
408
- PrintConv => {
409
- 0 => 'Free',
410
- 1 => '3:2',
411
- 2 => '2:3',
412
- 3 => '4:3',
413
- 4 => '3:4',
414
- 5 => 'A-size Landscape',
415
- 6 => 'A-size Portrait',
416
- 7 => 'Letter-size Landscape',
417
- 8 => 'Letter-size Portrait',
418
- 9 => '4:5',
419
- 10 => '5:4',
420
- 11 => '1:1',
421
- 12 => 'Circle',
422
- 65535 => 'Custom',
423
- },
424
- },
425
- 0x262 => {
426
- Name => 'ConstrainedCropWidth',
427
- Format => 'float',
428
- PrintConv => 'sprintf("%.7g",$val)',
429
- PrintConvInv => '$val',
430
- },
431
- 0x266 => {
432
- Name => 'ConstrainedCropHeight',
433
- Format => 'float',
434
- PrintConv => 'sprintf("%.7g",$val)',
435
- PrintConvInv => '$val',
436
- },
437
- 0x26a => {
438
- Name => 'CheckMark',
439
- Format => 'int16u',
440
- PrintConv => {
441
- 0 => 'Clear',
442
- 1 => 1,
443
- 2 => 2,
444
- 3 => 3,
445
- },
446
- },
447
- 0x26e => {
448
- Name => 'Rotation',
449
- Format => 'int16u',
450
- PrintConv => {
451
- 0 => 0,
452
- 1 => 90,
453
- 2 => 180,
454
- 3 => 270,
455
- },
456
- },
457
- 0x270 => {
458
- Name => 'WorkColorSpace',
459
- Format => 'int16u',
460
- PrintConv => {
461
- 0 => 'sRGB',
462
- 1 => 'Adobe RGB',
463
- 2 => 'Wide Gamut RGB',
464
- 3 => 'Apple RGB',
465
- 4 => 'ColorMatch RGB',
466
- },
467
- },
468
- # (VRD 1.0.0 edit data ends here -- 0x272 bytes)
469
- );
470
-
471
- # VRD Stamp Tool tags (ref PH)
472
- %Image::ExifTool::CanonVRD::StampTool = (
473
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
474
- GROUPS => { 2 => 'Image' },
475
- 0x00 => {
476
- Name => 'StampToolCount',
477
- Format => 'int32u',
478
- },
479
- );
480
-
481
- # VRD version 2 and 3 tags (ref PH)
482
- %Image::ExifTool::CanonVRD::Ver2 = (
483
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
484
- WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
485
- CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
486
- WRITABLE => 1,
487
- FIRST_ENTRY => 0,
488
- FORMAT => 'int16s',
489
- DATAMEMBER => [ 0x58, 0xdf, 0xea ], # (required for DataMember and var-format tags)
490
- GROUPS => { 2 => 'Image' },
491
- NOTES => 'Tags added in DPP version 2.0 and later.',
492
- 0x02 => {
493
- Name => 'PictureStyle',
494
- PrintConvColumns => 2,
495
- PrintConv => {
496
- 0 => 'Standard',
497
- 1 => 'Portrait',
498
- 2 => 'Landscape',
499
- 3 => 'Neutral',
500
- 4 => 'Faithful',
501
- 5 => 'Monochrome',
502
- 6 => 'Unknown?', # PH (maybe in-camera custom picture style?)
503
- 7 => 'Custom',
504
- },
505
- },
506
- 0x03 => { Name => 'IsCustomPictureStyle', %noYes },
507
- # 0x08: 3
508
- # 0x09: 4095
509
- # 0x0a: 0
510
- # 0x0b: 4095
511
- # 0x0c: 0
512
- 0x0d => 'StandardRawColorTone',
513
- 0x0e => 'StandardRawSaturation',
514
- 0x0f => 'StandardRawContrast',
515
- 0x10 => { Name => 'StandardRawLinear', %noYes },
516
- 0x11 => 'StandardRawSharpness',
517
- 0x12 => 'StandardRawHighlightPoint',
518
- 0x13 => 'StandardRawShadowPoint',
519
- 0x14 => 'StandardOutputHighlightPoint', #2
520
- 0x15 => 'StandardOutputShadowPoint', #2
521
- 0x16 => 'PortraitRawColorTone',
522
- 0x17 => 'PortraitRawSaturation',
523
- 0x18 => 'PortraitRawContrast',
524
- 0x19 => { Name => 'PortraitRawLinear', %noYes },
525
- 0x1a => 'PortraitRawSharpness',
526
- 0x1b => 'PortraitRawHighlightPoint',
527
- 0x1c => 'PortraitRawShadowPoint',
528
- 0x1d => 'PortraitOutputHighlightPoint',
529
- 0x1e => 'PortraitOutputShadowPoint',
530
- 0x1f => 'LandscapeRawColorTone',
531
- 0x20 => 'LandscapeRawSaturation',
532
- 0x21 => 'LandscapeRawContrast',
533
- 0x22 => { Name => 'LandscapeRawLinear', %noYes },
534
- 0x23 => 'LandscapeRawSharpness',
535
- 0x24 => 'LandscapeRawHighlightPoint',
536
- 0x25 => 'LandscapeRawShadowPoint',
537
- 0x26 => 'LandscapeOutputHighlightPoint',
538
- 0x27 => 'LandscapeOutputShadowPoint',
539
- 0x28 => 'NeutralRawColorTone',
540
- 0x29 => 'NeutralRawSaturation',
541
- 0x2a => 'NeutralRawContrast',
542
- 0x2b => { Name => 'NeutralRawLinear', %noYes },
543
- 0x2c => 'NeutralRawSharpness',
544
- 0x2d => 'NeutralRawHighlightPoint',
545
- 0x2e => 'NeutralRawShadowPoint',
546
- 0x2f => 'NeutralOutputHighlightPoint',
547
- 0x30 => 'NeutralOutputShadowPoint',
548
- 0x31 => 'FaithfulRawColorTone',
549
- 0x32 => 'FaithfulRawSaturation',
550
- 0x33 => 'FaithfulRawContrast',
551
- 0x34 => { Name => 'FaithfulRawLinear', %noYes },
552
- 0x35 => 'FaithfulRawSharpness',
553
- 0x36 => 'FaithfulRawHighlightPoint',
554
- 0x37 => 'FaithfulRawShadowPoint',
555
- 0x38 => 'FaithfulOutputHighlightPoint',
556
- 0x39 => 'FaithfulOutputShadowPoint',
557
- 0x3a => {
558
- Name => 'MonochromeFilterEffect',
559
- PrintConv => {
560
- -2 => 'None',
561
- -1 => 'Yellow',
562
- 0 => 'Orange',
563
- 1 => 'Red',
564
- 2 => 'Green',
565
- },
566
- },
567
- 0x3b => {
568
- Name => 'MonochromeToningEffect',
569
- PrintConv => {
570
- -2 => 'None',
571
- -1 => 'Sepia',
572
- 0 => 'Blue',
573
- 1 => 'Purple',
574
- 2 => 'Green',
575
- },
576
- },
577
- 0x3c => 'MonochromeContrast',
578
- 0x3d => { Name => 'MonochromeLinear', %noYes },
579
- 0x3e => 'MonochromeSharpness',
580
- 0x3f => 'MonochromeRawHighlightPoint',
581
- 0x40 => 'MonochromeRawShadowPoint',
582
- 0x41 => 'MonochromeOutputHighlightPoint',
583
- 0x42 => 'MonochromeOutputShadowPoint',
584
- 0x45 => { Name => 'UnknownContrast', Unknown => 1 },
585
- 0x46 => { Name => 'UnknownLinear', %noYes, Unknown => 1 },
586
- 0x47 => { Name => 'UnknownSharpness', Unknown => 1 },
587
- 0x48 => { Name => 'UnknownRawHighlightPoint', Unknown => 1 },
588
- 0x49 => { Name => 'UnknownRawShadowPoint', Unknown => 1 },
589
- 0x4a => { Name => 'UnknownOutputHighlightPoint',Unknown => 1 },
590
- 0x4b => { Name => 'UnknownOutputShadowPoint', Unknown => 1 },
591
- 0x4c => 'CustomColorTone',
592
- 0x4d => 'CustomSaturation',
593
- 0x4e => 'CustomContrast',
594
- 0x4f => { Name => 'CustomLinear', %noYes },
595
- 0x50 => 'CustomSharpness',
596
- 0x51 => 'CustomRawHighlightPoint',
597
- 0x52 => 'CustomRawShadowPoint',
598
- 0x53 => 'CustomOutputHighlightPoint',
599
- 0x54 => 'CustomOutputShadowPoint',
600
- 0x58 => {
601
- Name => 'CustomPictureStyleData',
602
- Format => 'var_int16u',
603
- Binary => 1,
604
- Notes => 'variable-length data structure',
605
- Writable => 0,
606
- RawConv => 'length($val) == 2 ? undef : $val', # ignore if no data
607
- },
608
- # (VRD 2.0.0 edit data ends here: 178 bytes, index 0x59)
609
- 0x5e => [{
610
- Name => 'ChrominanceNoiseReduction',
611
- Condition => '$$self{VRDVersion} < 330',
612
- Notes => 'VRDVersion prior to 3.3.0',
613
- PrintConv => {
614
- 0 => 'Off',
615
- 58 => 'Low',
616
- 100 => 'High',
617
- },
618
- },{ #1
619
- Name => 'ChrominanceNoiseReduction',
620
- Notes => 'VRDVersion 3.3.0 or later',
621
- PrintHex => 1,
622
- PrintConvColumns => 4,
623
- PrintConv => {
624
- 0x00 => 0,
625
- 0x10 => 1,
626
- 0x21 => 2,
627
- 0x32 => 3,
628
- 0x42 => 4,
629
- 0x53 => 5,
630
- 0x64 => 6,
631
- 0x74 => 7,
632
- 0x85 => 8,
633
- 0x96 => 9,
634
- 0xa6 => 10,
635
- 0xa7 => 11,
636
- 0xa8 => 12,
637
- 0xa9 => 13,
638
- 0xaa => 14,
639
- 0xab => 15,
640
- 0xac => 16,
641
- 0xad => 17,
642
- 0xae => 18,
643
- 0xaf => 19,
644
- 0xb0 => 20,
645
- },
646
- }],
647
- 0x5f => [{
648
- Name => 'LuminanceNoiseReduction',
649
- Condition => '$$self{VRDVersion} < 330',
650
- Notes => 'VRDVersion prior to 3.3.0',
651
- PrintConv => {
652
- 0 => 'Off',
653
- 65 => 'Low',
654
- 100 => 'High',
655
- },
656
- },{ #1
657
- Name => 'LuminanceNoiseReduction',
658
- Notes => 'VRDVersion 3.3.0 or later',
659
- PrintHex => 1,
660
- PrintConvColumns => 4,
661
- PrintConv => {
662
- 0x00 => 0,
663
- 0x41 => 1,
664
- 0x64 => 2,
665
- 0x6e => 3,
666
- 0x78 => 4,
667
- 0x82 => 5,
668
- 0x8c => 6,
669
- 0x96 => 7,
670
- 0xa0 => 8,
671
- 0xaa => 9,
672
- 0xb4 => 10,
673
- 0xb5 => 11,
674
- 0xb6 => 12,
675
- 0xb7 => 13,
676
- 0xb8 => 14,
677
- 0xb9 => 15,
678
- 0xba => 16,
679
- 0xbb => 17,
680
- 0xbc => 18,
681
- 0xbd => 19,
682
- 0xbe => 20,
683
- },
684
- }],
685
- 0x60 => [{
686
- Name => 'ChrominanceNR_TIFF_JPEG',
687
- Condition => '$$self{VRDVersion} < 330',
688
- Notes => 'VRDVersion prior to 3.3.0',
689
- PrintConv => {
690
- 0 => 'Off',
691
- 33 => 'Low',
692
- 100 => 'High',
693
- },
694
- },{ #1
695
- Name => 'ChrominanceNR_TIFF_JPEG',
696
- Notes => 'VRDVersion 3.3.0 or later',
697
- PrintHex => 1,
698
- PrintConvColumns => 4,
699
- PrintConv => {
700
- 0x00 => 0,
701
- 0x10 => 1,
702
- 0x21 => 2,
703
- 0x32 => 3,
704
- 0x42 => 4,
705
- 0x53 => 5,
706
- 0x64 => 6,
707
- 0x74 => 7,
708
- 0x85 => 8,
709
- 0x96 => 9,
710
- 0xa6 => 10,
711
- 0xa7 => 11,
712
- 0xa8 => 12,
713
- 0xa9 => 13,
714
- 0xaa => 14,
715
- 0xab => 15,
716
- 0xac => 16,
717
- 0xad => 17,
718
- 0xae => 18,
719
- 0xaf => 19,
720
- 0xb0 => 20,
721
- },
722
- }],
723
- # 0x61: 1
724
- # (VRD 3.0.0 edit data ends here: 196 bytes, index 0x62)
725
- 0x62 => { Name => 'ChromaticAberrationOn', %noYes },
726
- 0x63 => { Name => 'DistortionCorrectionOn', %noYes },
727
- 0x64 => { Name => 'PeripheralIlluminationOn', %noYes },
728
- 0x65 => { Name => 'ColorBlur', %noYes },
729
- 0x66 => {
730
- Name => 'ChromaticAberration',
731
- ValueConv => '$val / 0x400',
732
- ValueConvInv => 'int($val * 0x400 + 0.5)',
733
- PrintConv => 'sprintf("%.0f%%", $val * 100)',
734
- PrintConvInv => 'ToFloat($val) / 100',
735
- },
736
- 0x67 => {
737
- Name => 'DistortionCorrection',
738
- ValueConv => '$val / 0x400',
739
- ValueConvInv => 'int($val * 0x400 + 0.5)',
740
- PrintConv => 'sprintf("%.0f%%", $val * 100)',
741
- PrintConvInv => 'ToFloat($val) / 100',
742
- },
743
- 0x68 => {
744
- Name => 'PeripheralIllumination',
745
- ValueConv => '$val / 0x400',
746
- ValueConvInv => 'int($val * 0x400 + 0.5)',
747
- PrintConv => 'sprintf("%.0f%%", $val * 100)',
748
- PrintConvInv => 'ToFloat($val) / 100',
749
- },
750
- 0x69 => {
751
- Name => 'AberrationCorrectionDistance',
752
- Notes => '100% = infinity',
753
- RawConv => '$val == 0x7fff ? undef : $val',
754
- ValueConv => '1 - $val / 0x400',
755
- ValueConvInv => 'int((1 - $val) * 0x400 + 0.5)',
756
- PrintConv => 'sprintf("%.0f%%", $val * 100)',
757
- PrintConvInv => 'ToFloat($val) / 100',
758
- },
759
- 0x6a => 'ChromaticAberrationRed',
760
- 0x6b => 'ChromaticAberrationBlue',
761
- 0x6d => { #1
762
- Name => 'LuminanceNR_TIFF_JPEG',
763
- Notes => 'val = raw / 10',
764
- ValueConv => '$val / 10',
765
- ValueConvInv => 'int($val * 10 + 0.5)',
766
- },
767
- # (VRD 3.4.0 edit data ends here: 220 bytes, index 0x6e)
768
- 0x6e => { Name => 'AutoLightingOptimizerOn', %noYes },
769
- 0x6f => {
770
- Name => 'AutoLightingOptimizer',
771
- PrintConv => {
772
- 100 => 'Low',
773
- 200 => 'Standard',
774
- 300 => 'Strong',
775
- 0x7fff => 'n/a', #1
776
- },
777
- },
778
- # 0x71: 200
779
- # 0x73: 100
780
- # (VRD 3.5.0 edit data ends here: 232 bytes, index 0x74)
781
- 0x75 => {
782
- Name => 'StandardRawHighlight',
783
- ValueConv => '$val / 10',
784
- ValueConvInv => '$val * 10',
785
- },
786
- 0x76 => {
787
- Name => 'PortraitRawHighlight',
788
- ValueConv => '$val / 10',
789
- ValueConvInv => '$val * 10',
790
- },
791
- 0x77 => {
792
- Name => 'LandscapeRawHighlight',
793
- ValueConv => '$val / 10',
794
- ValueConvInv => '$val * 10',
795
- },
796
- 0x78 => {
797
- Name => 'NeutralRawHighlight',
798
- ValueConv => '$val / 10',
799
- ValueConvInv => '$val * 10',
800
- },
801
- 0x79 => {
802
- Name => 'FaithfulRawHighlight',
803
- ValueConv => '$val / 10',
804
- ValueConvInv => '$val * 10',
805
- },
806
- 0x7a => {
807
- Name => 'MonochromeRawHighlight',
808
- ValueConv => '$val / 10',
809
- ValueConvInv => '$val * 10',
810
- },
811
- 0x7b => {
812
- Name => 'UnknownRawHighlight',
813
- Unknown => 1,
814
- ValueConv => '$val / 10',
815
- ValueConvInv => '$val * 10',
816
- },
817
- 0x7c => {
818
- Name => 'CustomRawHighlight',
819
- ValueConv => '$val / 10',
820
- ValueConvInv => '$val * 10',
821
- },
822
- 0x7e => {
823
- Name => 'StandardRawShadow',
824
- ValueConv => '$val / 10',
825
- ValueConvInv => '$val * 10',
826
- },
827
- 0x7f => {
828
- Name => 'PortraitRawShadow',
829
- ValueConv => '$val / 10',
830
- ValueConvInv => '$val * 10',
831
- },
832
- 0x80 => {
833
- Name => 'LandscapeRawShadow',
834
- ValueConv => '$val / 10',
835
- ValueConvInv => '$val * 10',
836
- },
837
- 0x81 => {
838
- Name => 'NeutralRawShadow',
839
- ValueConv => '$val / 10',
840
- ValueConvInv => '$val * 10',
841
- },
842
- 0x82 => {
843
- Name => 'FaithfulRawShadow',
844
- ValueConv => '$val / 10',
845
- ValueConvInv => '$val * 10',
846
- },
847
- 0x83 => {
848
- Name => 'MonochromeRawShadow',
849
- ValueConv => '$val / 10',
850
- ValueConvInv => '$val * 10',
851
- },
852
- 0x84 => {
853
- Name => 'UnknownRawShadow',
854
- Unknown => 1,
855
- ValueConv => '$val / 10',
856
- ValueConvInv => '$val * 10',
857
- },
858
- 0x85 => {
859
- Name => 'CustomRawShadow',
860
- ValueConv => '$val / 10',
861
- ValueConvInv => '$val * 10',
862
- },
863
- 0x8b => { #2
864
- Name => 'AngleAdj',
865
- Format => 'int32s',
866
- ValueConv => '$val / 100',
867
- ValueConvInv => '$val * 100',
868
- },
869
- 0x8e => {
870
- Name => 'CheckMark2',
871
- Format => 'int16u',
872
- PrintConvColumns => 2,
873
- PrintConv => {
874
- 0 => 'Clear',
875
- 1 => 1,
876
- 2 => 2,
877
- 3 => 3,
878
- 4 => 4,
879
- 5 => 5,
880
- },
881
- },
882
- # (VRD 3.8.0 edit data ends here: 286 bytes, index 0x8f)
883
- 0x90 => {
884
- Name => 'UnsharpMask',
885
- PrintConv => { 0 => 'Off', 1 => 'On' },
886
- },
887
- 0x92 => 'StandardUnsharpMaskStrength',
888
- 0x94 => 'StandardUnsharpMaskFineness',
889
- 0x96 => 'StandardUnsharpMaskThreshold',
890
- 0x98 => 'PortraitUnsharpMaskStrength',
891
- 0x9a => 'PortraitUnsharpMaskFineness',
892
- 0x9c => 'PortraitUnsharpMaskThreshold',
893
- 0x9e => 'LandscapeUnsharpMaskStrength',
894
- 0xa0 => 'LandscapeUnsharpMaskFineness',
895
- 0xa2 => 'LandscapeUnsharpMaskThreshold',
896
- 0xa4 => 'NeutraUnsharpMaskStrength',
897
- 0xa6 => 'NeutralUnsharpMaskFineness',
898
- 0xa8 => 'NeutralUnsharpMaskThreshold',
899
- 0xaa => 'FaithfulUnsharpMaskStrength',
900
- 0xac => 'FaithfulUnsharpMaskFineness',
901
- 0xae => 'FaithfulUnsharpMaskThreshold',
902
- 0xb0 => 'MonochromeUnsharpMaskStrength',
903
- 0xb2 => 'MonochromeUnsharpMaskFineness',
904
- 0xb4 => 'MonochromeUnsharpMaskThreshold',
905
- 0xb6 => 'CustomUnsharpMaskStrength',
906
- 0xb8 => 'CustomUnsharpMaskFineness',
907
- 0xba => 'CustomUnsharpMaskThreshold',
908
- 0xbc => 'CustomDefaultUnsharpStrength',
909
- 0xbe => 'CustomDefaultUnsharpFineness',
910
- 0xc0 => 'CustomDefaultUnsharpThreshold',
911
- # (VRD 3.9.1 edit data ends here: 392 bytes, index 0xc4)
912
- # 0xc9: 3 - some RawSharpness
913
- # 0xca: 4095 - some RawHighlightPoint
914
- # 0xcb: 0 - some RawShadowPoint
915
- # 0xcc: 4095 - some OutputHighlightPoint
916
- # 0xcd: 0 - some OutputShadowPoint
917
- # 0xd1: 3 - some UnsharpMaskStrength
918
- # 0xd3: 7 - some UnsharpMaskFineness
919
- # 0xd5: 3,4 - some UnsharpMaskThreshold
920
- 0xd6 => { Name => 'CropCircleActive', %noYes },
921
- 0xd7 => 'CropCircleX',
922
- 0xd8 => 'CropCircleY',
923
- 0xd9 => 'CropCircleRadius',
924
- # 0xda: 0, 1
925
- # 0xdb: 100
926
- 0xdc => { Name => 'DLOOn', %noYes },
927
- 0xdd => 'DLOSetting',
928
- # (VRD 3.11.0 edit data ends here: 444 bytes, index 0xde)
929
- 0xde => {
930
- Name => 'DLOShootingDistance',
931
- Notes => '100% = infinity',
932
- RawConv => '$val == 0x7fff ? undef : $val',
933
- ValueConv => '1 - $val / 0x400',
934
- ValueConvInv => 'int((1 - $val) * 0x400 + 0.5)',
935
- PrintConv => 'sprintf("%.0f%%", $val * 100)',
936
- PrintConvInv => 'ToFloat($val) / 100',
937
- },
938
- 0xdf => {
939
- Name => 'DLODataLength',
940
- Format => 'int32u',
941
- Writable => 0,
942
- # - have seen 65536 when DLO is Off
943
- # --> this is my only sample where 0xda is 1 -- coincidence?
944
- },
945
- # 0xe1 - 0 without DLO, seen 3112 with DLO
946
- # (VRD 3.11.2 edit data ends here: 452 bytes, index 0xe2, unless DLO is on)
947
- 0xe4 => 'DLOSettingApplied',
948
- 0xe5 => {
949
- Name => 'DLOVersion', #(NC)
950
- Format => 'string[10]',
951
- },
952
- 0xea => {
953
- Name => 'DLOData',
954
- LargeTag => 1, # large tag, so avoid storing unnecessarily
955
- Notes => 'variable-length Digital Lens Optimizer data, stored in JPEG-like format',
956
- Format => 'var_undef[$val{0xdf}]',
957
- Writable => 0,
958
- Binary => 1,
959
- RawConv => 'length($val) ? \$val : undef', # (don't extract if zero length)
960
- },
961
- );
962
-
963
- # VRD version 4 tags (ref PH)
964
- %Image::ExifTool::CanonVRD::DR4 = (
965
- PROCESS_PROC => \&ProcessDR4,
966
- WRITE_PROC => \&ProcessDR4,
967
- WRITABLE => 1,
968
- GROUPS => { 2 => 'Image' },
969
- VARS => { HEX_ID => 1, SORT_PROC => \&SortDR4 },
970
- NOTES => q{
971
- Tags written by Canon DPP version 4 in CanonVRD trailers and DR4 files. Each
972
- tag has three associated flag words which are stored with the directory
973
- entry, some of which are extracted as a separate tag, indicated in the table
974
- below by a decimal appended to the tag ID (.0, .1 or .2).
975
- },
976
- header => {
977
- Name => 'DR4Header',
978
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::DR4Header' },
979
- },
980
- 0x10002 => 'Rotation', # left/right rotation 90,180,270
981
- 0x10003 => 'AngleAdj', # crop angle
982
- # 0x10018 - fmt=8: 0
983
- # 0x10020 - fmt=2: ''
984
- 0x10021 => 'CustomPictureStyle', # (string)
985
- 0x10101 => {
986
- Name => 'CheckMark',
987
- PrintConv => {
988
- 0 => 'Clear',
989
- 1 => 1,
990
- 2 => 2,
991
- 3 => 3,
992
- 4 => 4,
993
- 5 => 5,
994
- },
995
- },
996
- 0x10200 => {
997
- Name => 'WorkColorSpace',
998
- PrintConv => {
999
- 1 => 'sRGB',
1000
- 2 => 'Adobe RGB',
1001
- 3 => 'Wide Gamut RGB',
1002
- 4 => 'Apple RGB',
1003
- 5 => 'ColorMatch RGB',
1004
- },
1005
- },
1006
- # 0x10201 - fmt=9: 0
1007
- # 0x10f20 - fmt=9: 350
1008
- 0x20001 => 'RawBrightnessAdj',
1009
- 0x20101 => {
1010
- Name => 'WhiteBalanceAdj',
1011
- PrintConvColumns => 2,
1012
- PrintConv => {
1013
- -1 => 'Manual (Click)',
1014
- 0 => 'Auto',
1015
- 1 => 'Daylight',
1016
- 2 => 'Cloudy',
1017
- 3 => 'Tungsten',
1018
- 4 => 'Fluorescent',
1019
- 5 => 'Flash',
1020
- 8 => 'Shade',
1021
- 9 => 'Kelvin',
1022
- 255 => 'Shot Settings',
1023
- },
1024
- },
1025
- 0x20102 => 'WBAdjColorTemp',
1026
- 0x20105 => 'WBAdjMagentaGreen',
1027
- 0x20106 => 'WBAdjBlueAmber',
1028
- 0x20125 => {
1029
- Name => 'WBAdjRGGBLevels',
1030
- PrintConv => '$val =~ s/^\d+ //; $val', # remove first integer (14: what is this for?)
1031
- PrintConvInv => '"14 $val"',
1032
- },
1033
- 0x20200 => { Name => 'GammaLinear', %noYes },
1034
- 0x20301 => {
1035
- Name => 'PictureStyle',
1036
- PrintHex => 1,
1037
- PrintConv => {
1038
- 0x81 => 'Standard',
1039
- 0x82 => 'Portrait',
1040
- 0x83 => 'Landscape',
1041
- 0x84 => 'Neutral',
1042
- 0x85 => 'Faithful',
1043
- 0x86 => 'Monochrome',
1044
- 0x87 => 'Auto',
1045
- 0x88 => 'Fine Detail',
1046
- 0xf0 => 'Shot Settings',
1047
- 0xff => 'Custom',
1048
- },
1049
- },
1050
- # 0x20302 - Gamma curve data
1051
- 0x20303 => 'ContrastAdj',
1052
- 0x20304 => 'ColorToneAdj',
1053
- 0x20305 => 'ColorSaturationAdj',
1054
- 0x20306 => {
1055
- Name => 'MonochromeToningEffect',
1056
- PrintConv => {
1057
- 0 => 'None',
1058
- 1 => 'Sepia',
1059
- 2 => 'Blue',
1060
- 3 => 'Purple',
1061
- 4 => 'Green',
1062
- },
1063
- },
1064
- 0x20307 => {
1065
- Name => 'MonochromeFilterEffect',
1066
- PrintConv => {
1067
- 0 => 'None',
1068
- 1 => 'Yellow',
1069
- 2 => 'Orange',
1070
- 3 => 'Red',
1071
- 4 => 'Green',
1072
- },
1073
- },
1074
- 0x20308 => 'UnsharpMaskStrength',
1075
- 0x20309 => 'UnsharpMaskFineness',
1076
- 0x2030a => 'UnsharpMaskThreshold',
1077
- 0x2030b => 'ShadowAdj',
1078
- 0x2030c => 'HighlightAdj',
1079
- 0x20310 => {
1080
- Name => 'SharpnessAdj',
1081
- PrintConv => {
1082
- 0 => 'Sharpness',
1083
- 1 => 'Unsharp Mask',
1084
- },
1085
- },
1086
- '0x20310.0' => { Name => 'SharpnessAdjOn', %noYes },
1087
- 0x20311 => 'SharpnessStrength',
1088
- 0x20400 => {
1089
- Name => 'ToneCurve',
1090
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::ToneCurve' },
1091
- },
1092
- '0x20400.1' => { Name => 'ToneCurveOriginal', %noYes },
1093
- # 0x20401 - fmt=33 (312 bytes)
1094
- 0x20410 => 'ToneCurveBrightness',
1095
- 0x20411 => 'ToneCurveContrast',
1096
- 0x20500 => {
1097
- Name => 'AutoLightingOptimizer',
1098
- PrintConv => {
1099
- 0 => 'Low',
1100
- 1 => 'Standard',
1101
- 2 => 'Strong',
1102
- },
1103
- },
1104
- '0x20500.0' => {
1105
- Name => 'AutoLightingOptimizerOn',
1106
- Notes => 'ignored if gamma is linear',
1107
- %noYes,
1108
- },
1109
- # 0x20501 - fmt=13: 0
1110
- # 0x20502 - fmt=13: 0
1111
- 0x20600 => 'LuminanceNoiseReduction',
1112
- 0x20601 => 'ChrominanceNoiseReduction',
1113
- # 0x20650 - fmt=9: 0 (JPG images)
1114
- 0x20701 => {
1115
- Name => 'ShootingDistance',
1116
- Notes => '100% = infinity',
1117
- ValueConv => '$val / 10',
1118
- ValueConvInv => '$val * 10',
1119
- PrintConv => 'sprintf("%.0f%%", $val * 100)',
1120
- PrintConvInv => 'ToFloat($val) / 100',
1121
- },
1122
- 0x20702 => {
1123
- Name => 'PeripheralIllumination',
1124
- PrintConv => 'sprintf "%g", $val',
1125
- PrintConvInv => '$val',
1126
- },
1127
- '0x20702.0' => { Name => 'PeripheralIlluminationOn', %noYes },
1128
- 0x20703 => {
1129
- Name => 'ChromaticAberration',
1130
- PrintConv => 'sprintf "%g", $val',
1131
- PrintConvInv => '$val',
1132
- },
1133
- '0x20703.0' => { Name => 'ChromaticAberrationOn', %noYes },
1134
- 0x20704 => { Name => 'ColorBlurOn', %noYes },
1135
- 0x20705 => {
1136
- Name => 'DistortionCorrection',
1137
- PrintConv => 'sprintf "%g", $val',
1138
- PrintConvInv => '$val',
1139
- },
1140
- '0x20705.0' => { Name => 'DistortionCorrectionOn', %noYes },
1141
- 0x20706 => 'DLOSetting',
1142
- '0x20706.0' => { Name => 'DLOOn', %noYes },
1143
- 0x20707 => {
1144
- Name => 'ChromaticAberrationRed',
1145
- PrintConv => 'sprintf "%g", $val',
1146
- PrintConvInv => '$val',
1147
- },
1148
- 0x20708 => {
1149
- Name => 'ChromaticAberrationBlue',
1150
- PrintConv => 'sprintf "%g", $val',
1151
- PrintConvInv => '$val',
1152
- },
1153
- 0x20709 => {
1154
- Name => 'DistortionEffect',
1155
- PrintConv => {
1156
- 0 => 'Shot Settings',
1157
- 1 => 'Emphasize Linearity',
1158
- 2 => 'Emphasize Distance',
1159
- 3 => 'Emphasize Periphery',
1160
- 4 => 'Emphasize Center',
1161
- },
1162
- },
1163
- # 0x20800 - fmt=1: 0
1164
- # 0x20801 - fmt=1: 0
1165
- 0x20900 => 'ColorHue',
1166
- 0x20901 => 'SaturationAdj',
1167
- 0x20910 => 'RedHSL',
1168
- 0x20911 => 'OrangeHSL',
1169
- 0x20912 => 'GreenHSL',
1170
- 0x20913 => 'AquaHSL',
1171
- 0x20914 => 'BlueHSL',
1172
- 0x20915 => 'BlueHSL',
1173
- 0x20916 => 'PurpleHSL',
1174
- 0x20917 => 'MagentaHSL',
1175
- 0x20a00 => {
1176
- Name => 'GammaInfo',
1177
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::GammaInfo' },
1178
- },
1179
- # 0x20a01 - Auto picture style settings
1180
- # 0x20a02 - Standard picture style settings
1181
- # 0x20a03 - Portrait picture style settings
1182
- # 0x20a04 - Landscape picture style settings
1183
- # 0x20a05 - Neutral picture style settings
1184
- # 0x20a06 - Faithful picture style settings
1185
- # 0x20a07 - Monochrome picture style settings
1186
- # 0x20a08 - (unknown picture style settings)
1187
- # 0x20a09 - Custom picture style settings
1188
- # 0x20a20 - Fine Detail picture style settings
1189
- 0x30101 => {
1190
- Name => 'CropAspectRatio',
1191
- PrintConv => {
1192
- 0 => 'Free',
1193
- 1 => 'Custom',
1194
- 2 => '1:1',
1195
- 3 => '3:2',
1196
- 4 => '2:3',
1197
- 5 => '4:3',
1198
- 6 => '3:4',
1199
- 7 => '5:4',
1200
- 8 => '4:5',
1201
- 9 => '16:9',
1202
- 10 => '9:16',
1203
- },
1204
- },
1205
- 0x30102 => 'CropAspectRatioCustom',
1206
- # 0x30103 - fmt=33: "0 0 8"
1207
- 0xf0100 => {
1208
- Name => 'CropInfo',
1209
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::CropInfo' },
1210
- },
1211
- 0xf0500 => {
1212
- Name => 'CustomPictureStyleData',
1213
- Binary => 1,
1214
- },
1215
- 0xf0510 => {
1216
- Name => 'StampInfo',
1217
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::StampInfo' },
1218
- },
1219
- 0xf0511 => {
1220
- Name => 'DustInfo',
1221
- SubDirectory => { TagTable => 'Image::ExifTool::CanonVRD::DustInfo' },
1222
- },
1223
- 0xf0512 => 'LensFocalLength',
1224
- # 0xf0521 - DLO data
1225
- # 0xf0520 - DLO data
1226
- # 0xf0530 - created when dust delete data applied (4 bytes, all zero)
1227
- # 0xf0600 - fmt=253 (2308 bytes, JPG images)
1228
- # 0xf0601 - fmt=253 (2308 bytes, JPG images)
1229
- # 0x1ff52c - values: 129,130,132 (related to custom picture style somehow)
1230
- # to do:
1231
- # - find 8-15mm CR2 sample and decode linear distortion effect fine-tune
1232
- );
1233
-
1234
- # Version 4 header information (ref PH)
1235
- %Image::ExifTool::CanonVRD::DR4Header = (
1236
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1237
- WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
1238
- CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
1239
- WRITABLE => 1,
1240
- FIRST_ENTRY => 0,
1241
- FORMAT => 'int32u',
1242
- GROUPS => { 2 => 'Image' },
1243
- # 0 - value: 'IIII' (presumably byte order)
1244
- # 1 - value: 0x00040004 (currently use this for magic number)
1245
- # 2 - value: 6
1246
- 3 => {
1247
- Name => 'DR4CameraModel',
1248
- Writable => 'int32u',
1249
- PrintHex => 1,
1250
- SeparateTable => 'Canon CameraModelID',
1251
- PrintConv => \%Image::ExifTool::Canon::canonModelID,
1252
- },
1253
- # 4 - value: 3
1254
- # 5 - value: 4
1255
- # 6 - value: 5
1256
- # 7 - DR4 directory entry count
1257
- );
1258
-
1259
- # Version 4 RGB tone curve information (ref PH)
1260
- %Image::ExifTool::CanonVRD::ToneCurve = (
1261
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1262
- WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
1263
- CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
1264
- WRITABLE => 1,
1265
- FIRST_ENTRY => 0,
1266
- FORMAT => 'int32u',
1267
- GROUPS => { 2 => 'Image' },
1268
- 0x00 => {
1269
- Name => 'ToneCurveColorSpace',
1270
- PrintConv => {
1271
- 0 => 'RGB',
1272
- 1 => 'Luminance',
1273
- },
1274
- },
1275
- 0x01 => {
1276
- Name => 'ToneCurveShape',
1277
- PrintConv => {
1278
- 0 => 'Curve',
1279
- 1 => 'Straight',
1280
- },
1281
- },
1282
- 0x03 => { Name => 'ToneCurveInputRange', Format => 'int32u[2]', Notes => '255 max' },
1283
- 0x05 => { Name => 'ToneCurveOutputRange', Format => 'int32u[2]', Notes => '255 max' },
1284
- 0x07 => {
1285
- Name => 'RGBCurvePoints',
1286
- Format => 'int32u[21]',
1287
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
1288
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
1289
- },
1290
- 0x0a => 'ToneCurveX',
1291
- 0x0b => 'ToneCurveY',
1292
- 0x2d => {
1293
- Name => 'RedCurvePoints',
1294
- Format => 'int32u[21]',
1295
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
1296
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
1297
- },
1298
- 0x53 => {
1299
- Name => 'GreenCurvePoints',
1300
- Format => 'int32u[21]',
1301
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
1302
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
1303
- },
1304
- 0x79 => {
1305
- Name => 'BlueCurvePoints',
1306
- Format => 'int32u[21]',
1307
- PrintConv => 'Image::ExifTool::CanonVRD::ToneCurvePrint($val)',
1308
- PrintConvInv => 'Image::ExifTool::CanonVRD::ToneCurvePrintInv($val)',
1309
- },
1310
- );
1311
-
1312
- # Version 4 gamma curve information (ref PH)
1313
- %Image::ExifTool::CanonVRD::GammaInfo = (
1314
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1315
- WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
1316
- CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
1317
- WRITABLE => 1,
1318
- FIRST_ENTRY => 0,
1319
- FORMAT => 'double',
1320
- GROUPS => { 2 => 'Image' },
1321
- 0x02 => 'GammaContrast',
1322
- 0x03 => 'GammaColorTone',
1323
- 0x04 => 'GammaSaturation',
1324
- 0x05 => 'GammaUnsharpMaskStrength',
1325
- 0x06 => 'GammaUnsharpMaskFineness',
1326
- 0x07 => 'GammaUnsharpMaskThreshold',
1327
- 0x08 => 'GammaSharpnessStrength',
1328
- 0x09 => 'GammaShadow',
1329
- 0x0a => 'GammaHighlight',
1330
- # 0x0b-0x10 are the same as first 6 doubles of tag DR4_0x20302
1331
- # 0x0b - value: 14
1332
- 0x0c => {
1333
- Name => 'GammaBlackPoint',
1334
- ValueConv => q{
1335
- return 0 if $val <= 0;
1336
- $val = log($val / 4.6875) / log(2) + 1;
1337
- return abs($val) > 1e-10 ? $val : 0;
1338
- },
1339
- ValueConvInv => '$val ? exp(($val - 1) * log(2)) * 4.6876 : 0',
1340
- PrintConv => 'sprintf("%+.3f", $val)',
1341
- PrintConvInv => '$val',
1342
- },
1343
- 0x0d => {
1344
- Name => 'GammaWhitePoint',
1345
- ValueConv => q{
1346
- return $val if $val <= 0;
1347
- $val = log($val / 4.6875) / log(2) - 11.77109325169954;
1348
- return abs($val) > 1e-10 ? $val : 0;
1349
- },
1350
- ValueConvInv => '$val ? exp(($val + 11.77109325169954) * log(2)) * 4.6875 : 0',
1351
- PrintConv => 'sprintf("%+.3f", $val)',
1352
- PrintConvInv => '$val',
1353
- },
1354
- 0x0e => {
1355
- Name => 'GammaMidPoint',
1356
- ValueConv => q{
1357
- return $val if $val <= 0;
1358
- $val = log($val / 4.6875) / log(2) - 8;
1359
- return abs($val) > 1e-10 ? $val : 0;
1360
- },
1361
- ValueConvInv => '$val ? exp(($val + 8) * log(2)) * 4.6876 : 0',
1362
- PrintConv => 'sprintf("%+.3f", $val)',
1363
- PrintConvInv => '$val',
1364
- },
1365
- 0x0f => { Name => 'GammaCurveOutputRange', Format => 'double[2]', Notes => '16383 max' },
1366
- );
1367
-
1368
- # Version 4 crop information (ref PH)
1369
- %Image::ExifTool::CanonVRD::CropInfo = (
1370
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1371
- WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
1372
- CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
1373
- WRITABLE => 1,
1374
- FIRST_ENTRY => 0,
1375
- FORMAT => 'int32s',
1376
- GROUPS => { 2 => 'Image' },
1377
- 0 => { Name => 'CropActive', %noYes },
1378
- 1 => 'CropRotatedOriginalWidth',
1379
- 2 => 'CropRotatedOriginalHeight',
1380
- 3 => 'CropX',
1381
- 4 => 'CropY',
1382
- 5 => 'CropWidth',
1383
- 6 => 'CropHeight',
1384
- 8 => {
1385
- Name => 'CropRotation',
1386
- Format => 'double',
1387
- PrintConv => 'sprintf("%.7g",$val)',
1388
- PrintConvInv => '$val',
1389
- },
1390
- 0x0a => 'CropOriginalWidth',
1391
- 0x0b => 'CropOriginalHeight',
1392
- # 0x0c double - value: 100
1393
- );
1394
-
1395
- # DR4 Stamp Tool tags (ref PH)
1396
- %Image::ExifTool::CanonVRD::StampInfo = (
1397
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1398
- GROUPS => { 2 => 'Image' },
1399
- FORMAT => 'int32u',
1400
- FIRST_ENTRY => 0,
1401
- 0x02 => 'StampToolCount',
1402
- );
1403
-
1404
- # DR4 dust delete information (ref PH)
1405
- %Image::ExifTool::CanonVRD::DustInfo = (
1406
- PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
1407
- GROUPS => { 2 => 'Image' },
1408
- FORMAT => 'int32u',
1409
- FIRST_ENTRY => 0,
1410
- 0x02 => { Name => 'DustDeleteApplied', %noYes },
1411
- );
1412
-
1413
- #------------------------------------------------------------------------------
1414
- # sort DR4 tag ID's for the documentation
1415
- sub SortDR4($$)
1416
- {
1417
- my ($a, $b) = @_;
1418
- my ($aHex, $aDec, $bHex, $bDec);
1419
- ($aHex, $aDec) = ($1, $2) if $a =~ /^(0x[0-9a-f]+)?\.?(\d*?)$/;
1420
- ($bHex, $bDec) = ($1, $2) if $b =~ /^(0x[0-9a-f]+)?\.?(\d*?)$/;
1421
- if ($aHex) {
1422
- return 1 unless defined $bDec; # $b is 'header';
1423
- return hex($aHex) <=> hex($bHex) || $aDec <=> $bDec if $bHex;
1424
- return hex($aHex) <=> $bDec || 1;
1425
- } elsif ($bHex) {
1426
- return -1 unless defined $aDec;
1427
- return $aDec <=> hex($bHex) || -1;
1428
- } else {
1429
- return 1 unless defined $bDec;
1430
- return -1 unless defined $aDec;
1431
- return $aDec <=> $bDec;
1432
- }
1433
- }
1434
-
1435
- #------------------------------------------------------------------------------
1436
- # Tone curve print conversion
1437
- sub ToneCurvePrint($)
1438
- {
1439
- my $val = shift;
1440
- my @vals = split ' ', $val;
1441
- return $val unless @vals == 21;
1442
- my $n = shift @vals;
1443
- return $val unless $n >= 2 and $n <= 10;
1444
- $val = '';
1445
- while ($n--) {
1446
- $val and $val .= ' ';
1447
- $val .= '(' . shift(@vals) . ',' . shift(@vals) . ')';
1448
- }
1449
- return $val;
1450
- }
1451
-
1452
- #------------------------------------------------------------------------------
1453
- # Inverse print conversion for tone curve
1454
- sub ToneCurvePrintInv($)
1455
- {
1456
- my $val = shift;
1457
- my @vals = ($val =~ /\((\d+),(\d+)\)/g);
1458
- return undef unless @vals >= 4 and @vals <= 20 and not @vals & 0x01;
1459
- unshift @vals, scalar(@vals) / 2;
1460
- while (@vals < 21) { push @vals, 0 }
1461
- return join(' ',@vals);
1462
- }
1463
-
1464
- #------------------------------------------------------------------------------
1465
- # Read/Write VRD edit data
1466
- # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
1467
- # Returns: Reading: 1 on success; Writing: modified edit data, or undef if nothing changed
1468
- sub ProcessEditData($$$)
1469
- {
1470
- my ($et, $dirInfo, $tagTablePtr) = @_;
1471
- $et or return 1; # allow dummy access
1472
- my $dataPt = $$dirInfo{DataPt};
1473
- my $pos = $$dirInfo{DirStart};
1474
- my $dataPos = $$dirInfo{DataPos};
1475
- my $outfile = $$dirInfo{OutFile};
1476
- my $dirLen = $$dirInfo{DirLen};
1477
- my $verbose = $et->Options('Verbose');
1478
- my $out = $et->Options('TextOut');
1479
- my $oldChanged = $$et{CHANGED};
1480
-
1481
- $et->VerboseDir('VRD Edit Data', 0, $dirLen) unless $outfile;
1482
-
1483
- if ($outfile) {
1484
- # make a copy for editing in place
1485
- my $buff = substr($$dataPt, $pos, $dirLen);
1486
- $dataPt = $$dirInfo{DataPt} = \$buff;
1487
- $pos = $$dirInfo{DirStart} = 0;
1488
- }
1489
- my $dirEnd = $pos + $dirLen;
1490
-
1491
- # loop through all records in the edit data
1492
- my ($recNum, $recLen, $err);
1493
- for ($recNum=0;; ++$recNum, $pos+=$recLen) {
1494
- if ($pos + 4 > $dirEnd) {
1495
- last if $pos == $dirEnd; # all done if we arrived at end
1496
- $recLen = 0; # just reset record size (will exit loop on test below)
1497
- } else {
1498
- $recLen = Get32u($dataPt, $pos);
1499
- # (DR4 has a null terminator)
1500
- last if $recLen == 0 and $pos + 4 == $dirEnd;
1501
- }
1502
- $pos += 4; # move to start of record
1503
- if ($pos + $recLen > $dirEnd) {
1504
- $et->Warn('Possibly corrupt CanonVRD Edit record');
1505
- $err = 1;
1506
- last;
1507
- }
1508
- my $saveRecLen = $recLen;
1509
- if ($verbose > 1 and not $outfile) {
1510
- printf $out "$$et{INDENT}CanonVRD Edit record ($recLen bytes at offset 0x%x)\n",
1511
- $pos + $dataPos;
1512
- if ($recNum and $verbose > 2) {
1513
- my %parms = (
1514
- Start => $pos,
1515
- Addr => $pos + $dataPos,
1516
- Out => $out,
1517
- Prefix => $$et{INDENT},
1518
- );
1519
- $parms{MaxLen} = $verbose == 3 ? 96 : 2048 if $verbose < 5;
1520
- HexDump($dataPt, $recLen, %parms);
1521
- }
1522
- }
1523
-
1524
- # our edit information is the 0th record, so don't process the others
1525
- next if $recNum;
1526
-
1527
- # process VRD edit information
1528
- my $subTablePtr = $tagTablePtr;
1529
- my $index;
1530
- my %subdirInfo = (
1531
- DataPt => $dataPt,
1532
- DataPos => $dataPos,
1533
- DirStart => $pos,
1534
- DirLen => $recLen,
1535
- OutFile => $outfile,
1536
- );
1537
- my $subStart = 0;
1538
- # loop through various sections of the VRD edit data
1539
- for ($index=0; ; ++$index) {
1540
- my $tagInfo = $$subTablePtr{$index} or last;
1541
- my $subLen;
1542
- my $maxLen = $recLen - $subStart;
1543
- if ($$tagInfo{Size}) {
1544
- $subLen = $$tagInfo{Size};
1545
- } elsif (defined $$tagInfo{Size}) {
1546
- # get size from int32u at $subStart
1547
- last unless $subStart + 4 <= $recLen;
1548
- $subLen = Get32u($dataPt, $subStart + $pos);
1549
- $subStart += 4; # skip the length word
1550
- } else {
1551
- $subLen = $maxLen;
1552
- }
1553
- $subLen > $maxLen and $subLen = $maxLen;
1554
- if ($subLen) {
1555
- my $subTable = GetTagTable($$tagInfo{SubDirectory}{TagTable});
1556
- my $subName = $$tagInfo{Name};
1557
- $subdirInfo{DirStart} = $subStart + $pos;
1558
- $subdirInfo{DirLen} = $subLen;
1559
- $subdirInfo{DirName} = $subName;
1560
- if ($outfile) {
1561
- # rewrite this section of the VRD edit information
1562
- $verbose and print $out " Rewriting Canon $subName\n";
1563
- my $newVal = $et->WriteDirectory(\%subdirInfo, $subTable);
1564
- if ($newVal) {
1565
- my $sizeDiff = length($newVal) - $subLen;
1566
- substr($$dataPt, $pos+$subStart, $subLen) = $newVal;
1567
- if ($sizeDiff) {
1568
- $subLen = length $newVal;
1569
- $recLen += $sizeDiff;
1570
- $dirEnd += $sizeDiff;
1571
- $dirLen += $sizeDiff;
1572
- }
1573
- }
1574
- } else {
1575
- $et->VPrint(0, "$$et{INDENT}$subName (SubDirectory) -->\n");
1576
- $et->VerboseDump($dataPt,
1577
- Start => $pos + $subStart,
1578
- Addr => $dataPos + $pos + $subStart,
1579
- Len => $subLen,
1580
- );
1581
- # extract tags from this section of the VRD edit information
1582
- $et->ProcessDirectory(\%subdirInfo, $subTable);
1583
- }
1584
- }
1585
- # next section starts at the end of this one
1586
- $subStart += $subLen;
1587
- }
1588
- if ($outfile and $saveRecLen ne $recLen) {
1589
- # update record length if necessary
1590
- Set32u($recLen, $dataPt, $pos - 4)
1591
- }
1592
- }
1593
- if ($outfile) {
1594
- return undef if $oldChanged == $$et{CHANGED};
1595
- return substr($$dataPt, $$dirInfo{DirStart}, $dirLen);
1596
- }
1597
- return $err ? 0 : 1;
1598
- }
1599
-
1600
- #------------------------------------------------------------------------------
1601
- # Process VRD IHL data
1602
- # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
1603
- # Returns: 1 on success
1604
- sub ProcessIHL($$$)
1605
- {
1606
- my ($et, $dirInfo, $tagTablePtr) = @_;
1607
- my $dataPt = $$dirInfo{DataPt};
1608
- my $dataPos = $$dirInfo{DataPos};
1609
- my $pos = $$dirInfo{DirStart};
1610
- my $dirLen = $$dirInfo{DirLen};
1611
- my $dirEnd = $pos + $dirLen;
1612
-
1613
- $et->VerboseDir('VRD IHL', 0, $dirLen);
1614
-
1615
- SetByteOrder('II'); # (make up your mind, Canon!)
1616
- while ($pos + 48 <= $dirEnd) {
1617
- my $hdr = substr($$dataPt, $pos, 48);
1618
- unless ($hdr =~ /^IHL Created Optional Item Data\0\0/) {
1619
- $et->Warn('Possibly corrupted VRD IHL data');
1620
- last;
1621
- }
1622
- my $tag = Get32u($dataPt, $pos + 36);
1623
- my $size = Get32u($dataPt, $pos + 40); # size of data in IHL record
1624
- my $next = Get32u($dataPt, $pos + 44); # size of complete IHL record
1625
- if ($size > $next or $pos + 48 + $next > $dirEnd) {
1626
- $et->Warn(sprintf('Bad size for VRD IHL tag 0x%.4x', $tag));
1627
- last;
1628
- }
1629
- $pos += 48;
1630
- $et->HandleTag($tagTablePtr, $tag, substr($$dataPt, $pos, $size),
1631
- DataPt => $dataPt,
1632
- DataPos => $dataPos,
1633
- Start => $pos,
1634
- Size => $size
1635
- );
1636
- $pos += $next;
1637
- }
1638
- return 1;
1639
- }
1640
-
1641
- #------------------------------------------------------------------------------
1642
- # Process VRD IHL EXIF data
1643
- # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
1644
- # Returns: 1 on success
1645
- sub ProcessIHLExif($$$)
1646
- {
1647
- my ($et, $dirInfo, $tagTablePtr) = @_;
1648
- $$et{DOC_NUM} = 1;
1649
- # the IHL-edited maker notes may look messed up, but the offsets should be OK
1650
- my $oldFix = $et->Options(FixBase => 0);
1651
- my $rtnVal = $et->ProcessTIFF($dirInfo, $tagTablePtr);
1652
- $et->Options(FixBase => $oldFix);
1653
- delete $$et{DOC_NUM};
1654
- return $rtnVal;
1655
- }
1656
-
1657
- #------------------------------------------------------------------------------
1658
- # Wrap DR4 data with the VRD header/footer and edit record
1659
- # Inputs: 0) DR4 record
1660
- # Returns: VRD[Edit[DR4]] data
1661
- sub WrapDR4($)
1662
- {
1663
- my $val = shift;
1664
- my $n = length $val;
1665
- my $oldOrder = GetByteOrder();
1666
- SetByteOrder('MM');
1667
- $val = $blankHeader . "\xff\xff\0\xf7" . Set32u($n+8) . Set32u($n) .
1668
- $val . "\0\0\0\0" . $blankFooter;
1669
- # update the new VRD length in the header/footer
1670
- Set32u($n + 16, \$val, 0x18); # (extra 16 bytes for the edit record wrapper)
1671
- Set32u($n + 16, \$val, length($val) - 0x2c);
1672
- SetByteOrder($oldOrder);
1673
- return $val;
1674
- }
1675
-
1676
- #------------------------------------------------------------------------------
1677
- # Read/Write DPP version 4 edit data or DR4 file
1678
- # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
1679
- # Returns:
1680
- # Reading from memory (not RAF and not IsWriting): 1 on success
1681
- # Editing from memory (not RAF and IsWriting): modified edit data, or undef if nothing changed
1682
- # Reading file (RAF and not OutFile): 1 if a valid DR4 file, 0 if not
1683
- # Writing file (RAF and OutFile): 1 if valid DR4 file, 0 if not, -1 on write error
1684
- # (serves me right for not having a consistent interface for the various modes of operation)
1685
- sub ProcessDR4($$;$)
1686
- {
1687
- my ($et, $dirInfo, $tagTablePtr) = @_;
1688
- $et or return 1; # allow dummy access
1689
- my $dataPt = $$dirInfo{DataPt};
1690
- my $raf = $$dirInfo{RAF};
1691
- my $outfile = $$dirInfo{OutFile};
1692
- my $isWriting = $outfile || $$dirInfo{IsWriting};
1693
- my $dataPos = $$dirInfo{DataPos} || 0;
1694
- my $verbose = $et->Options('Verbose');
1695
- my $unknown = $et->Options('Unknown');
1696
- my ($pos, $dirLen, $numEntries, $err, $newTags);
1697
-
1698
- # write CanonDR4 as a block if specified
1699
- if ($isWriting) {
1700
- my $nvHash;
1701
- my $newVal = $et->GetNewValues('CanonDR4', \$nvHash);
1702
- if ($newVal) {
1703
- $et->VPrint(0, " Writing CanonDR4 as a block\n");
1704
- $$et{DidCanonVRD} = 1; # set flag so we don't add this twice
1705
- ++$$et{CHANGED};
1706
- if ($outfile) {
1707
- Write($$dirInfo{OutFile}, $newVal) or return -1;
1708
- return 1;
1709
- } else {
1710
- return $newVal;
1711
- }
1712
- } elsif (not $dataPt and ($nvHash or $$et{DEL_GROUP}{CanonVRD})) {
1713
- $et->Error("Can't delete all CanonDR4 information from a DR4 file");
1714
- return 1;
1715
- }
1716
- }
1717
- if ($dataPt) {
1718
- $pos = $$dirInfo{DirStart} || 0;
1719
- $dirLen = $$dirInfo{DirLen} || length($$dataPt) - $pos;
1720
- } else {
1721
- # load DR4 file into memory
1722
- my $buff;
1723
- $raf->Read($buff, 8) == 8 and $buff eq "IIII\x04\0\x04\0" or return 0;
1724
- $et->SetFileType();
1725
- $raf->Seek(0, 2) or return $err = 1;
1726
- $dirLen = $raf->Tell();
1727
- $raf->Seek(0, 0) or return $err = 1;
1728
- $raf->Read($buff, $dirLen) == $dirLen or $err = 1;
1729
- $err and $et->Warn('Error reading DR4 file'), return 1;
1730
- $tagTablePtr = GetTagTable('Image::ExifTool::CanonVRD::DR4');
1731
- $dataPt = \$buff;
1732
- $pos = 0;
1733
- }
1734
- my $dirEnd = $pos + $dirLen;
1735
-
1736
- if (($$et{TAGS_FROM_FILE} and
1737
- not $$et{EXCL_TAG_LOOKUP}{canondr4}) or $$et{REQ_TAG_LOOKUP}{canondr4})
1738
- {
1739
- # extract CanonDR4 block if copying tags, or if requested
1740
- $et->FoundTag('CanonDR4', substr($$dataPt, $pos, $dirLen));
1741
- }
1742
-
1743
- # version 4 header is 32 bytes (int32u[8])
1744
- if ($dirLen < 32) {
1745
- $err = 1;
1746
- } else {
1747
- SetByteOrder(substr($$dataPt, $pos, 2)) or $err = 1;
1748
- # process the DR4 header
1749
- my %hdrInfo = (
1750
- DataPt => $dataPt,
1751
- DirStart => $pos,
1752
- DirLen => 32,
1753
- DirName => 'DR4Header',
1754
- );
1755
- my $hdrTable = GetTagTable('Image::ExifTool::CanonVRD::DR4Header');
1756
- if ($outfile) {
1757
- my $hdr = $et->WriteDirectory(\%hdrInfo, $hdrTable);
1758
- substr($$dataPt, $pos, 32) = $hdr if $hdr and length $hdr == 32;
1759
- } else {
1760
- $et->VerboseDir('DR4Header', undef, 32);
1761
- $et->ProcessDirectory(\%hdrInfo, $hdrTable);
1762
- }
1763
- # number of entries in the DR4 directory
1764
- $numEntries = Get32u($dataPt, $pos + 28);
1765
- $err = 1 if $dirLen < 36 + 28 * $numEntries;
1766
- }
1767
- $err and $et->Warn('Invalid DR4 directory'), return $outfile ? undef : 0;
1768
-
1769
- if ($outfile) {
1770
- $newTags = $et->GetNewTagInfoHash($tagTablePtr);
1771
- } else {
1772
- $et->VerboseDir('DR4', $numEntries, $dirLen);
1773
- }
1774
-
1775
- my $index;
1776
- for ($index=0; $index<$numEntries; ++$index) {
1777
- my ($val, @flg, $i);
1778
- my $entry = $pos + 36 + 28 * $index;
1779
- last if $entry + 28 > $dirEnd;
1780
- my $tag = Get32u($dataPt, $entry);
1781
- my $fmt = Get32u($dataPt, $entry + 4);
1782
- $flg[0] = Get32u($dataPt, $entry + 8);
1783
- $flg[1] = Get32u($dataPt, $entry + 12);
1784
- $flg[2] = Get32u($dataPt, $entry + 16);
1785
- my $off = Get32u($dataPt, $entry + 20) + $pos;
1786
- my $len = Get32u($dataPt, $entry + 24);
1787
- next if $off + $len >= $dirEnd;
1788
- my $format = $vrdFormat{$fmt};
1789
- if (not $format) {
1790
- $val = unpack 'H*', substr($$dataPt, $off, $len);
1791
- $format = 'undef';
1792
- } elsif ($format eq 'double' and $len eq 8) {
1793
- # avoid teeny weeny values
1794
- $val = ReadValue($dataPt, $off, $format, undef, $len);
1795
- $val = 0 if abs($val) < 1e-100;
1796
- }
1797
- if ($outfile) {
1798
- # write (binary data) subdirectory if it exists
1799
- my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
1800
- if ($tagInfo and $$tagInfo{SubDirectory}) {
1801
- my %subdirInfo = (
1802
- DataPt => $dataPt,
1803
- DirStart => $off,
1804
- DirLen => $len,
1805
- DirName => $$tagInfo{Name},
1806
- );
1807
- my $subTablePtr = GetTagTable($$tagInfo{SubDirectory}{TagTable});
1808
- my $saveChanged = $$et{CHANGED};
1809
- my $dat = $et->WriteDirectory(\%subdirInfo, $subTablePtr);
1810
- if (defined $dat and length($dat) == $len) {
1811
- substr($$dataPt, $off, $len) = $dat;
1812
- } else {
1813
- $$et{CHANGED} = $saveChanged; # didn't change anything after all
1814
- }
1815
- } else {
1816
- # loop through main tag and flags (don't yet consider flag 2)
1817
- for ($i=-1; $i<2; ++$i) {
1818
- $tagInfo = $$newTags{$i>=0 ? sprintf('0x%x.%d',$tag,$i) : $tag};
1819
- next unless $tagInfo;
1820
- if ($i >= 0) {
1821
- $off = $entry + 8 + 4 * $i;
1822
- $format = 'int32u';
1823
- $len = 4;
1824
- undef $val;
1825
- }
1826
- $val = ReadValue($dataPt, $off, $format, undef, $len) unless defined $val;
1827
- my $nvHash;
1828
- my $newVal = $et->GetNewValues($tagInfo, \$nvHash);
1829
- if ($et->IsOverwriting($nvHash, $val) and defined $newVal) {
1830
- my $count = int($len / Image::ExifTool::FormatSize($format));
1831
- my $rtnVal = WriteValue($newVal, $format, $count, $dataPt, $off);
1832
- if (defined $rtnVal) {
1833
- $et->VerboseValue("- CanonVRD:$$tagInfo{Name}", $val);
1834
- $et->VerboseValue("+ CanonVRD:$$tagInfo{Name}", $newVal);
1835
- ++$$et{CHANGED};
1836
- }
1837
- }
1838
- }
1839
- }
1840
- next;
1841
- }
1842
- $et->HandleTag($tagTablePtr, $tag, $val,
1843
- DataPt => $dataPt,
1844
- DataPos => $dataPos,
1845
- Start => $off,
1846
- Size => $len,
1847
- Index => $index,
1848
- Format => $format,
1849
- # $flg[0] is on/off flag
1850
- # $flg[1] "is default" flag?
1851
- # $flg[2] changed to 0 when some unsharp mask settings were changed
1852
- Extra => ", fmt=$fmt flags=" . join(',', @flg),
1853
- );
1854
- foreach $i (0..2) {
1855
- my $flagID = sprintf('0x%x.%d', $tag, $i);
1856
- $et->HandleTag($tagTablePtr, $flagID, $flg[$i]) if $$tagTablePtr{$flagID};
1857
- }
1858
- }
1859
- return 1 unless $isWriting;
1860
- return substr($$dataPt, $pos, $dirLen) unless $raf;
1861
- return 1 if Write($outfile, substr($$dataPt, $pos, $dirLen));
1862
- return -1;
1863
- }
1864
-
1865
- #------------------------------------------------------------------------------
1866
- # Read/write Canon VRD file
1867
- # Inputs: 0) ExifTool object reference, 1) dirInfo reference
1868
- # Returns: 1 if this was a Canon VRD file, 0 otherwise, -1 on write error
1869
- sub ProcessVRD($$)
1870
- {
1871
- my ($et, $dirInfo) = @_;
1872
- my $raf = $$dirInfo{RAF};
1873
- my $buff;
1874
- my $num = $raf->Read($buff, 0x1c);
1875
-
1876
- # initialize write directories if necessary
1877
- $et->InitWriteDirs(\%vrdMap, 'XMP') if $$dirInfo{OutFile};
1878
-
1879
- if (not $num and $$dirInfo{OutFile}) {
1880
- # create new VRD file from scratch
1881
- my $newVal = $et->GetNewValues('CanonVRD');
1882
- if ($newVal) {
1883
- $et->VPrint(0, " Writing CanonVRD as a block\n");
1884
- Write($$dirInfo{OutFile}, $newVal) or return -1;
1885
- $$et{DidCanonVRD} = 1;
1886
- ++$$et{CHANGED};
1887
- } else {
1888
- # allow VRD to be created from individual tags
1889
- if ($$et{ADD_DIRS}{CanonVRD}) {
1890
- my $newVal = '';
1891
- if (ProcessCanonVRD($et, { OutFile => \$newVal }) > 0) {
1892
- Write($$dirInfo{OutFile}, $newVal) or return -1;
1893
- ++$$et{CHANGED};
1894
- return 1;
1895
- }
1896
- }
1897
- $et->Error('No CanonVRD information to write');
1898
- }
1899
- } else {
1900
- $num == 0x1c or return 0;
1901
- $buff =~ /^CANON OPTIONAL DATA\0/ or return 0;
1902
- $et->SetFileType();
1903
- $$dirInfo{DirName} = 'CanonVRD'; # set directory name for verbose output
1904
- my $result = ProcessCanonVRD($et, $dirInfo);
1905
- return $result if $result < 0;
1906
- $result or $et->Warn('Format error in VRD file');
1907
- }
1908
- return 1;
1909
- }
1910
-
1911
- #------------------------------------------------------------------------------
1912
- # Write VRD data record as a block
1913
- # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
1914
- # Returns: VRD data block (may be empty if no VRD data)
1915
- # Notes: Increments ExifTool CHANGED flag if changed
1916
- sub WriteCanonVRD($$;$)
1917
- {
1918
- my ($et, $dirInfo, $tagTablePtr) = @_;
1919
- $et or return 1; # allow dummy access
1920
- my $nvHash = $et->GetNewValueHash($Image::ExifTool::Extra{CanonVRD});
1921
- my $val = $et->GetNewValues($nvHash);
1922
- $val = '' unless defined $val;
1923
- return undef unless $et->IsOverwriting($nvHash, $val);
1924
- ++$$et{CHANGED};
1925
- return $val;
1926
- }
1927
-
1928
- #------------------------------------------------------------------------------
1929
- # Read/write CanonVRD information (from VRD file or VRD trailer)
1930
- # Inputs: 0) ExifTool object reference, 1) dirInfo reference
1931
- # Returns: 1 on success, 0 not valid VRD, or -1 error writing
1932
- # - updates DataPos to point to start of CanonVRD information
1933
- # - updates DirLen to existing trailer length
1934
- sub ProcessCanonVRD($$;$)
1935
- {
1936
- my ($et, $dirInfo, $tagTablePtr) = @_;
1937
- my $raf = $$dirInfo{RAF};
1938
- my $offset = $$dirInfo{Offset} || 0;
1939
- my $outfile = $$dirInfo{OutFile};
1940
- my $dataPt = $$dirInfo{DataPt};
1941
- my $verbose = $et->Options('Verbose');
1942
- my $out = $et->Options('TextOut');
1943
- my ($buff, $created, $err, $blockLen, $blockType, %didDir, $fromFile);
1944
- #
1945
- # The CanonVRD trailer has a 0x1c-byte header and a 0x40-byte footer,
1946
- # each beginning with "CANON OPTIONAL DATA\0" and containing an int32u
1947
- # giving the size of the contained data (at byte 0x18 and 0x14 respectively)
1948
- #
1949
- if ($raf) {
1950
- $fromFile = 1;
1951
- } else {
1952
- unless ($dataPt) {
1953
- return 1 unless $outfile;
1954
- # create blank VRD data from scratch
1955
- my $blank = $blankHeader . $blankFooter;
1956
- $dataPt = \$blank;
1957
- $verbose and print $out " Creating CanonVRD trailer\n";
1958
- $created = 1;
1959
- }
1960
- $raf = new File::RandomAccess($dataPt);
1961
- }
1962
- # read and validate the footer
1963
- $raf->Seek(-0x40-$offset, 2) or return 0;
1964
- $raf->Read($buff, 0x40) == 0x40 or return 0;
1965
- $buff =~ /^CANON OPTIONAL DATA\0(.{4})/s or return 0;
1966
- my $dirLen = unpack('N', $1) + 0x5c; # size including header+footer
1967
-
1968
- # read and validate the header
1969
- unless ($dirLen < 0x80000000 and
1970
- $raf->Seek(-$dirLen, 1) and
1971
- $raf->Read($buff, 0x1c) == 0x1c and
1972
- $buff =~ /^CANON OPTIONAL DATA\0/ and
1973
- $raf->Seek(-0x1c, 1))
1974
- {
1975
- $et->Warn('Bad CanonVRD trailer');
1976
- return 0;
1977
- }
1978
- # set variables returned in dirInfo hash
1979
- $$dirInfo{DataPos} = $raf->Tell();
1980
- $$dirInfo{DirLen} = $dirLen;
1981
-
1982
- if ($outfile and ref $outfile eq 'SCALAR' and not length $$outfile) {
1983
- # write directly to outfile to avoid duplicating data in memory
1984
- $$outfile = $$dataPt unless $fromFile;
1985
- # TRICKY! -- copy to outfile memory buffer and edit in place
1986
- # (so we must disable all Write() calls for this case)
1987
- $dataPt = $outfile;
1988
- }
1989
- if ($fromFile) {
1990
- $dataPt = \$buff unless $dataPt;
1991
- # read VRD data into memory if necessary
1992
- unless ($raf->Read($$dataPt, $dirLen) == $dirLen) {
1993
- $$dataPt = '' if $outfile and $outfile eq $dataPt;
1994
- $et->Warn('Error reading CanonVRD data');
1995
- return 0;
1996
- }
1997
- }
1998
- # exit quickly if writing and no CanonVRD tags are being edited
1999
- if ($outfile and not exists $$et{EDIT_DIRS}{CanonVRD}) {
2000
- print $out "$$et{INDENT} [nothing changed]\n" if $verbose;
2001
- return 1 if $outfile eq $dataPt;
2002
- return Write($outfile, $$dataPt) ? 1 : -1;
2003
- }
2004
-
2005
- my $vrdType = 'VRD';
2006
-
2007
- if ($outfile) {
2008
- $verbose and not $created and print $out " Rewriting CanonVRD trailer\n";
2009
- # delete CanonVRD information if specified
2010
- my $doDel = $$et{DEL_GROUP}{CanonVRD};
2011
- unless ($doDel) {
2012
- $doDel = 1 if $$et{DEL_GROUP}{Trailer} and $$et{FILE_TYPE} ne 'VRD';
2013
- unless ($doDel) {
2014
- # also delete if writing as a block (will get added back again later)
2015
- if ($$et{NEW_VALUE}{$Image::ExifTool::Extra{CanonVRD}}) {
2016
- # delete if this isn't version 4
2017
- $doDel = 1 unless $$dataPt =~ /^.{28}\xff\xff\0\xf7/s;
2018
- }
2019
- if ($$et{NEW_VALUE}{$Image::ExifTool::Extra{CanonDR4}} and not $doDel) {
2020
- # delete if this is version 4
2021
- $doDel = 1 if $$dataPt =~ /^.{28}\xff\xff\0\xf7/s;
2022
- }
2023
- }
2024
- }
2025
- if ($doDel) {
2026
- if ($$et{FILE_TYPE} eq 'VRD') {
2027
- my $newVal = $et->GetNewValues('CanonVRD');
2028
- if ($newVal) {
2029
- $verbose and print $out " Writing CanonVRD as a block\n";
2030
- if ($outfile eq $dataPt) {
2031
- $$outfile = $newVal;
2032
- } else {
2033
- Write($outfile, $newVal) or return -1;
2034
- }
2035
- $$et{DidCanonVRD} = 1;
2036
- ++$$et{CHANGED};
2037
- } else {
2038
- $et->Error("Can't delete all CanonVRD information from a VRD file");
2039
- }
2040
- } else {
2041
- $verbose and print $out " Deleting CanonVRD trailer\n";
2042
- $$outfile = '' if $outfile eq $dataPt;
2043
- ++$$et{CHANGED};
2044
- }
2045
- return 1;
2046
- }
2047
- # write now and return if CanonVRD was set as a block
2048
- my $val = $et->GetNewValues('CanonVRD');
2049
- unless ($val) {
2050
- $val = $et->GetNewValues('CanonDR4');
2051
- $vrdType = 'DR4' if $val;
2052
- }
2053
- if ($val) {
2054
- $verbose and print $out " Writing Canon$vrdType as a block\n";
2055
- # must wrap DR4 data with the VRD header/footer and edit record
2056
- $val = WrapDR4($val) if $vrdType eq 'DR4';
2057
- if ($outfile eq $dataPt) {
2058
- $$outfile = $val;
2059
- } else {
2060
- Write($outfile, $val) or return -1;
2061
- }
2062
- $$et{DidCanonVRD} = 1;
2063
- ++$$et{CHANGED};
2064
- return 1;
2065
- }
2066
- } elsif ($verbose or $$et{HTML_DUMP}) {
2067
- $et->DumpTrailer($dirInfo) if $$dirInfo{RAF};
2068
- }
2069
-
2070
- $tagTablePtr = GetTagTable('Image::ExifTool::CanonVRD::Main');
2071
-
2072
- # validate VRD trailer and get position and length of edit record
2073
- SetByteOrder('MM'); # VRD header/footer is big-endian
2074
- my $pos = 0x1c; # start at end of header
2075
-
2076
- # loop through the VRD blocks
2077
- for (;;) {
2078
- my $end = $dirLen - 0x40; # end of last VRD block (and start of footer)
2079
- if ($pos + 8 > $end) {
2080
- last if $pos == $end;
2081
- $blockLen = $end; # mark as invalid
2082
- } else {
2083
- $blockType = Get32u($dataPt, $pos);
2084
- $blockLen = Get32u($dataPt, $pos + 4);
2085
- }
2086
- $vrdType = 'DR4' if $blockType eq 0xffff00f7;
2087
- $pos += 8; # move to start of block
2088
- if ($pos + $blockLen > $end) {
2089
- $et->Warn('Possibly corrupt CanonVRD block');
2090
- last;
2091
- }
2092
- if ($verbose > 1 and not $outfile) {
2093
- printf $out " CanonVRD block 0x%.8x ($blockLen bytes at offset 0x%x)\n",
2094
- $blockType, $pos + $$dirInfo{DataPos};
2095
- if ($verbose > 2) {
2096
- my %parms = (
2097
- Start => $pos,
2098
- Addr => $pos + $$dirInfo{DataPos},
2099
- Out => $out,
2100
- Prefix => $$et{INDENT},
2101
- );
2102
- $parms{MaxLen} = $verbose == 3 ? 96 : 2048 if $verbose < 5;
2103
- HexDump($dataPt, $blockLen, %parms);
2104
- }
2105
- }
2106
- my $tagInfo = $$tagTablePtr{$blockType};
2107
- unless ($tagInfo) {
2108
- unless ($et->Options('Unknown')) {
2109
- $pos += $blockLen; # step to next block
2110
- next;
2111
- }
2112
- my $name = sprintf('CanonVRD_0x%.8x', $blockType);
2113
- my $desc = $name;
2114
- $desc =~ tr/_/ /;
2115
- $tagInfo = {
2116
- Name => $name,
2117
- Description => $desc,
2118
- Binary => 1,
2119
- };
2120
- AddTagToTable($tagTablePtr, $blockType, $tagInfo);
2121
- }
2122
- if ($$tagInfo{SubDirectory}) {
2123
- my $subTablePtr = GetTagTable($$tagInfo{SubDirectory}{TagTable});
2124
- my %subdirInfo = (
2125
- DataPt => $dataPt,
2126
- DataLen => length $$dataPt,
2127
- DataPos => $$dirInfo{DataPos},
2128
- DirStart => $pos,
2129
- DirLen => $blockLen,
2130
- DirName => $$tagInfo{Name},
2131
- Parent => 'CanonVRD',
2132
- OutFile => $outfile,
2133
- );
2134
- if ($outfile) {
2135
- # set flag indicating we did this directory
2136
- $didDir{$$tagInfo{Name}} = 1;
2137
- my ($dat, $diff);
2138
- if ($$et{NEW_VALUE}{$tagInfo}) {
2139
- # write as a block
2140
- $et->VPrint(0, "Writing $$tagInfo{Name} as a block\n");
2141
- $dat = $et->GetNewValues($tagInfo);
2142
- $dat = '' unless defined $dat;
2143
- ++$$et{CHANGED};
2144
- } else {
2145
- $dat = $et->WriteDirectory(\%subdirInfo, $subTablePtr);
2146
- }
2147
- # update data with new directory
2148
- if (defined $dat) {
2149
- if (length $dat or $$et{FILE_TYPE} !~ /^(CRW|VRD)$/) {
2150
- # replace with new block (updating the block length word)
2151
- substr($$dataPt, $pos-4, $blockLen+4) = Set32u(length $dat) . $dat;
2152
- } else {
2153
- # remove block totally (CRW/VRD files only)
2154
- substr($$dataPt, $pos-8, $blockLen+8) = '';
2155
- }
2156
- # make necessary adjustments if block changes length
2157
- if (($diff = length($$dataPt) - $dirLen) != 0) {
2158
- $pos += $diff;
2159
- $dirLen += $diff;
2160
- # update the new VRD length in the header/footer
2161
- Set32u($dirLen - 0x5c, $dataPt, 0x18);
2162
- Set32u($dirLen - 0x5c, $dataPt, $dirLen - 0x2c);
2163
- }
2164
- }
2165
- } else {
2166
- # extract as a block if requested
2167
- $et->ProcessDirectory(\%subdirInfo, $subTablePtr);
2168
- }
2169
- } else {
2170
- $et->HandleTag($tagTablePtr, $blockType, substr($$dataPt, $pos, $blockLen));
2171
- }
2172
- $pos += $blockLen; # step to next block
2173
- }
2174
- if ($outfile) {
2175
- # create XMP block if necessary (CRW/VRD files only)
2176
- if ($$et{ADD_DIRS}{CanonVRD} and not $didDir{XMP}) {
2177
- my $subTablePtr = GetTagTable('Image::ExifTool::XMP::Main');
2178
- my $dat = $et->WriteDirectory({ Parent => 'CanonVRD' }, $subTablePtr);
2179
- if ($dat) {
2180
- my $blockLen = length $dat;
2181
- substr($$dataPt, -0x40, 0) = Set32u(0xffff00f6) . Set32u(length $dat) . $dat;
2182
- $dirLen = length $$dataPt;
2183
- # update the new VRD length in the header/footer
2184
- Set32u($dirLen - 0x5c, $dataPt, 0x18);
2185
- Set32u($dirLen - 0x5c, $dataPt, $dirLen - 0x2c);
2186
- }
2187
- }
2188
- # write CanonVRD trailer unless it is empty
2189
- if (length $$dataPt) {
2190
- Write($outfile, $$dataPt) or $err = 1 unless $outfile eq $dataPt;
2191
- } else {
2192
- $verbose and print $out " Deleting CanonVRD trailer\n";
2193
- }
2194
- } elsif ($vrdType eq 'VRD' and (($$et{TAGS_FROM_FILE} and
2195
- not $$et{EXCL_TAG_LOOKUP}{canonvrd}) or $$et{REQ_TAG_LOOKUP}{canonvrd}))
2196
- {
2197
- # extract CanonVRD block if copying tags, or if requested (and not DR4 info)
2198
- $et->FoundTag('CanonVRD', $buff);
2199
- }
2200
- undef $buff;
2201
- return $err ? -1 : 1;
2202
- }
2203
-
2204
- 1; # end
2205
-
2206
- __END__
2207
-
2208
- =head1 NAME
2209
-
2210
- Image::ExifTool::CanonVRD - Read/write Canon VRD and DR4 information
2211
-
2212
- =head1 SYNOPSIS
2213
-
2214
- This module is used by Image::ExifTool
2215
-
2216
- =head1 DESCRIPTION
2217
-
2218
- This module contains definitions required by Image::ExifTool to read and
2219
- write VRD and DR4 Recipe Data information as written by the Canon Digital
2220
- Photo Professional software. This information is written to VRD and DR4
2221
- files, and as a trailer in JPEG, CRW, CR2 and TIFF images.
2222
-
2223
- =head1 AUTHOR
2224
-
2225
- Copyright 2003-2015, Phil Harvey (phil at owl.phy.queensu.ca)
2226
-
2227
- This library is free software; you can redistribute it and/or modify it
2228
- under the same terms as Perl itself.
2229
-
2230
- =head1 ACKNOWLEDGEMENTS
2231
-
2232
- Thanks to Bogdan and Gert Kello for decoding some tags.
2233
-
2234
- =head1 SEE ALSO
2235
-
2236
- L<Image::ExifTool::TagNames/CanonVRD Tags>,
2237
- L<Image::ExifTool(3pm)|Image::ExifTool>
2238
-
2239
- =cut
2240
-