exiftool_vendored 9.45.0 → 9.46.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/bin/Image-ExifTool-9.46/Changes +6444 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/MANIFEST +0 -0
- data/bin/Image-ExifTool-9.46/META.yml +27 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/Makefile.PL +0 -0
- data/bin/Image-ExifTool-9.46/README +228 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/exif2iptc.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/exif2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/gps2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/iptc2exif.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/iptc2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/iptcCore.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/pdf2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2exif.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2gps.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2iptc.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/arg_files/xmp2pdf.args +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/config_files/ExifTool_config +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/config_files/convert_regions.config +0 -0
- data/bin/Image-ExifTool-9.46/exiftool +5767 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/fmt_files/gpx.fmt +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/fmt_files/gpx_wpt.fmt +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/fmt_files/kml.fmt +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/ExifTool.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/MIE1.1-20070121.pdf +0 -0
- data/bin/Image-ExifTool-9.46/html/Shift.html +173 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/AFCP.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/AIFF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/APE.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/APP12.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ASF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Apple.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/BMP.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Canon.html +8322 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/CanonCustom.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/CanonRaw.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/CanonVRD.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Casio.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Composite.html +673 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DICOM.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DNG.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DPX.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DV.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DarwinCore.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/DjVu.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/EXE.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/EXIF.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Extra.html +309 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FLAC.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FLIR.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Flash.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FlashPix.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Font.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FotoStation.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/FujiFilm.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GE.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GIF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GIMP.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GPS.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/GeoTiff.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/H264.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/HP.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/HTML.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ICC_Profile.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ID3.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/IPTC.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ITC.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/JFIF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/JPEG.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/JVC.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Jpeg2000.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Kodak.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/KyoceraRaw.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/LNK.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Leaf.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/M2TS.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MIE.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MIFF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MNG.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MPC.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MPEG.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MPF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MWG.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MXF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Matroska.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Microsoft.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Minolta.html +2568 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/MinoltaRaw.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Nikon.html +4498 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/NikonCapture.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/NikonCustom.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/OOXML.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Ogg.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Olympus.html +3401 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/OpenEXR.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PDF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PGF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PICT.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PLIST.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PNG.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PSP.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Panasonic.html +1599 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PanasonicRaw.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Pentax.html +4528 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PhaseOne.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PhotoCD.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PhotoMechanic.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Photoshop.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PostScript.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/PrintIM.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Qualcomm.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/QuickTime.html +3438 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/RIFF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/RSRC.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/RTF.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Radiance.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Rawzor.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Real.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Reconyx.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Ricoh.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Samsung.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Sanyo.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Scalado.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Shortcuts.html +240 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Sigma.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/SigmaRaw.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/Sony.html +5721 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/SonyIDC.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Stim.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Theora.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Torrent.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Unknown.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/Vorbis.html +0 -0
- data/bin/Image-ExifTool-9.46/html/TagNames/XMP.html +7939 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/ZIP.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/iWork.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/index.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/TagNames/style.css +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/ancient_history.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/canon_raw.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/commentary.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/config.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/data_members.html +0 -0
- data/bin/Image-ExifTool-9.46/html/exiftool_pod.html +2370 -0
- data/bin/Image-ExifTool-9.46/html/faq.html +1435 -0
- data/bin/Image-ExifTool-9.46/html/filename.html +294 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/geotag.html +0 -0
- data/bin/Image-ExifTool-9.46/html/history.html +377 -0
- data/bin/Image-ExifTool-9.46/html/htmldump.html +733 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/idiosyncracies.html +0 -0
- data/bin/Image-ExifTool-9.46/html/index.html +1283 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/install.html +0 -0
- data/bin/Image-ExifTool-9.46/html/metafiles.html +274 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/overview.png +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/standards.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/struct.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/style.css +0 -0
- data/bin/Image-ExifTool-9.46/html/under.html +126 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/verbose.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/html/writing.html +0 -0
- data/bin/Image-ExifTool-9.46/lib/File/RandomAccess.pm +378 -0
- data/bin/Image-ExifTool-9.46/lib/File/RandomAccess.pod +231 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool.pm +6916 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool.pod +2406 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/AES.pm +501 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/AFCP.pm +284 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/AIFF.pm +271 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/APE.pm +262 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/APP12.pm +322 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ASF.pm +884 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Apple.pm +113 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BMP.pm +179 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BZZ.pm +472 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BigTIFF.pm +282 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/BuildTagLookup.pm +2425 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Canon.pm +7983 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CanonCustom.pm +2523 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CanonRaw.pm +931 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CanonVRD.pm +1481 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/CaptureOne.pm +235 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Casio.pm +2013 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Charset.pm +396 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DICOM.pm +3874 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DNG.pm +835 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DPX.pm +151 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DV.pm +319 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DarwinCore.pm +317 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/DjVu.pm +376 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/EXE.pm +1228 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Exif.pm +4596 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FLAC.pm +296 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FLIR.pm +1232 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Fixup.pm +354 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Flash.pm +755 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FlashPix.pm +1882 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Font.pm +643 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FotoStation.pm +259 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/FujiFilm.pm +1088 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GE.pm +80 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GIF.pm +542 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GIMP.pm +258 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GPS.pm +514 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/GeoTiff.pm +2187 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Geotag.pm +1176 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/H264.pm +1102 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/HP.pm +262 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/HTML.pm +576 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/HtmlDump.pm +895 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ICC_Profile.pm +999 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ID3.pm +1532 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/IPTC.pm +1244 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ITC.pm +215 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Import.pm +308 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/InDesign.pm +277 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/JPEG.pm +522 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/JPEGDigest.pm +2511 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/JVC.pm +130 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Jpeg2000.pm +873 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Kodak.pm +2014 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/KyoceraRaw.pm +173 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/LNK.pm +723 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/cs.pm +1586 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/de.pm +7356 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/en_ca.pm +557 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/en_gb.pm +572 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/es.pm +4017 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/fi.pm +2856 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/fr.pm +4738 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/it.pm +7918 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/ja.pm +5815 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/ko.pm +2332 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/nl.pm +3220 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/pl.pm +1140 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/ru.pm +769 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/sv.pm +639 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/tr.pm +544 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/zh_cn.pm +1329 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Lang/zh_tw.pm +802 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Leaf.pm +515 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/M2TS.pm +725 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MIE.pm +2561 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MIEUnits.pod +377 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MIFF.pm +279 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MNG.pm +684 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MPC.pm +156 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MPEG.pm +736 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MPF.pm +289 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MWG.pm +748 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MXF.pm +3032 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MakerNotes.pm +1598 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Matroska.pm +891 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Microsoft.pm +879 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Minolta.pm +2861 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/MinoltaRaw.pm +534 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Nikon.pm +6145 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/NikonCapture.pm +911 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/NikonCustom.pm +4405 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/OOXML.pm +409 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Ogg.pm +237 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Olympus.pm +3630 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/OpenEXR.pm +324 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PDF.pm +2327 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PGF.pm +143 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PICT.pm +1260 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PLIST.pm +453 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PNG.pm +1161 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PPM.pm +169 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PSP.pm +305 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Panasonic.pm +2205 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PanasonicRaw.pm +535 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Pentax.pm +5792 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PhaseOne.pm +557 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PhotoCD.pm +507 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PhotoMechanic.pm +256 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Photoshop.pm +629 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PostScript.pm +693 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/PrintIM.pm +125 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Qualcomm.pm +1344 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/QuickTime.pm +3910 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/lib/Image/ExifTool/README +0 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/RIFF.pm +1332 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/RSRC.pm +241 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/RTF.pm +383 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Radiance.pm +144 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Rawzor.pm +190 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Real.pm +736 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Reconyx.pm +190 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Ricoh.pm +1039 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Samsung.pm +846 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Sanyo.pm +439 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Scalado.pm +141 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Shift.pl +594 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Shortcuts.pm +298 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Sigma.pm +574 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/SigmaRaw.pm +649 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Sony.pm +7072 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/SonyIDC.pm +330 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Stim.pm +196 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/TagInfoXML.pm +794 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/TagLookup.pm +8365 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/TagNames.pod +26883 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Theora.pm +145 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Torrent.pm +317 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Unknown.pm +66 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Vorbis.pm +237 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteCanonRaw.pl +637 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteExif.pl +3685 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteIPTC.pl +702 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePDF.pl +765 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePNG.pl +376 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePhotoshop.pl +266 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WritePostScript.pl +777 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteQuickTime.pl +344 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/WriteXMP.pl +1318 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/Writer.pl +5851 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/XMP.pm +3755 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/XMP2.pl +1303 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/XMPStruct.pl +814 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/ZIP.pm +623 -0
- data/bin/Image-ExifTool-9.46/lib/Image/ExifTool/iWork.pm +223 -0
- data/bin/Image-ExifTool-9.46/perl-Image-ExifTool.spec +105 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AFCP.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AFCP_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AFCP_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AIFF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/AIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/APE.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/APE_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/APE_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ASF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ASF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BMP.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BMP_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BigTIFF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/BigTIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Canon.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonRaw_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_11.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_12.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/CanonVRD_9.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Canon_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Canon_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Casio_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DICOM.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DICOM_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DNG.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DNG_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DNG_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DPX.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DPX_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DV.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DV_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DjVu.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/DjVu_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/EXE_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_16.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_17.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_20.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_21.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_22.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_23.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_24.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_25.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_26.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ExifTool_9.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLAC.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLAC_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLAC_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLIR.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLIR_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FLIR_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Flash.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FlashPix.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FlashPix_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Flash_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Flash_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Font_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FotoStation.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FotoStation_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FotoStation_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/FujiFilm_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GE.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GE_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GE_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIF_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIMP.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GIMP_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GPS.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GPS_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GPS_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GeoTiff.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GeoTiff_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/GeoTiff_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Geotag_9.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/HTML.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/HTML_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/IPTC_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ITC.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ITC_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/InDesign_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/JVC.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/JVC_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/JVC_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Jpeg2000_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Kodak.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Kodak_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Kodak_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/KyoceraRaw.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/KyoceraRaw_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/LNK.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/LNK_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_1.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_10.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_11.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_12.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_13.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_14.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_15.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_16.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_17.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_18.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Lang_9.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/M2TS.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/M2TS_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIE_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIFF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MP3.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MP3_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MWG_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MXF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/MXF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Matroska.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Matroska_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Minolta_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Nikon_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Olympus_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/OpenEXR.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/OpenEXR_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_10.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_11.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_12.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_14.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_15.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_16.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_17.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_18.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_19.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_20.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_22.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PDF_9.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PGF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PGF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PICT.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PICT_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PLIST.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PLIST_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PLIST_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PNG_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PPM.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PPM_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PPM_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PSP.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PSP_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Panasonic_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Pentax_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoCD.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoCD_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoMechanic.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoMechanic_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PhotoMechanic_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Photoshop.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Photoshop_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Photoshop_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PostScript.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PostScript_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/PostScript_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/QuickTime.t +0 -0
- data/bin/Image-ExifTool-9.46/t/QuickTime_2.out +131 -0
- data/bin/Image-ExifTool-9.46/t/QuickTime_3.out +72 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/QuickTime_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/QuickTime_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RIFF_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RTF.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/RTF_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Radiance.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Radiance_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Real_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Ricoh_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sanyo.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sanyo_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sanyo_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sigma_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Sony_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/TestLib.pm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Torrent.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Torrent_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Unknown.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Unknown_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Unknown_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Vorbis.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Vorbis_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_10.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_11.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_13.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_14.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_15.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_16.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_17.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_18.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_19.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_22.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_24.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_25.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_26.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_27.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_28.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_29.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_30.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_31.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_32.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_33.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_34.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_35.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_36.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_37.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_38.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_39.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_40.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_41.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_42.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_43.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_44.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_45.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_46.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_47.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_48.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_50.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_51.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_52.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_53.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_54.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/Writer_9.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_10.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_11.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_12.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_13.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_14.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_15.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_16.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_17.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_18.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_19.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_20.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_21.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_22.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_23.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_24.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_25.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_26.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_27.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_28.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_29.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_30.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_31.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_32.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_34.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_36.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_37.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_39.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_40.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_41.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_8.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/XMP_9.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP.t +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_2.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_3.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_4.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_5.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_6.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/ZIP_7.out +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/AFCP.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/AIFF.aif +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/APE.ape +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/APE.mpc +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ASF.wmv +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/BMP.bmp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/BigTIFF.btf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Canon.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Canon1DmkIII.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CanonRaw.cr2 +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CanonRaw.crw +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CanonVRD.vrd +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CaptureOne.eip +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Casio.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Casio2.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/CasioQVCI.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DICOM.dcm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DNG.dng +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DPX.dpx +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DV.dv +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/DjVu.djvu +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/EXE.elf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/EXE.exe +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/EXE.macho +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ExifTool.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ExifTool.tif +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ExtendedXMP.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLAC.flac +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLAC.ogg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLIR.fpf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FLIR.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Flash.flv +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Flash.swf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FlashPix.ppt +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.afm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.dfont +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.pfa +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.pfb +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.pfm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Font.ttf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FotoStation.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FujiFilm.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/FujiFilm.raf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GE.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GIF.gif +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GIMP.xcf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GPS.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/GeoTiff.tif +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.gpx +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.igc +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.kml +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.log +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag.xml +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Geotag2.log +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/HTML.html +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/IPTC.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ITC.itc +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/InDesign.indd +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/JVC.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/JVC2.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Jpeg2000.j2c +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Jpeg2000.jp2 +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Kodak.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/KyoceraRaw.raw +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/LNK.lnk +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/M2TS.mts +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MIE.mie +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MIFF.miff +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MP3.mp3 +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MWG.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/MXF.mxf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Matroska.mkv +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Minolta.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Minolta.mrw +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Nikon.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Nikon.nef +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/NikonD2Hs.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/NikonD70.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OOXML.docx +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Olympus.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Olympus2.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OlympusE1.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OpenDoc.ods +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/OpenEXR.exr +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PDF.pdf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PDF2.pdf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PGF.pgf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PICT.pict +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PLIST-bin.plist +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PLIST-xml.plist +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PNG.png +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PPM.ppm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PSP.psp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Panasonic.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Panasonic.rw2 +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Pentax.avi +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Pentax.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PhotoCD.pcd +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PhotoMechanic.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Photoshop.psd +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/PostScript.eps +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/QuickTime.m4a +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/QuickTime.mov +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RIFF.avi +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RIFF.wav +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RIFF.webp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/RTF.rtf +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Radiance.hdr +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Real.ra +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Real.ram +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Real.rm +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Ricoh.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Ricoh2.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sanyo.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sigma.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sigma.x3f +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/SigmaDP2.x3f +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sony.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Sony.pmp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Torrent.torrent +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Unknown.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Vorbis.ogg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/Writer.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.inx +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.jpg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.svg +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.xml +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP.xmp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP2.xmp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP3.xmp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP4.xmp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/XMP5.xmp +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ZIP.gz +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/ZIP.zip +0 -0
- data/bin/{Image-ExifTool-9.45 → Image-ExifTool-9.46}/t/images/iWork.numbers +0 -0
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +886 -886
- data/bin/Image-ExifTool-9.45/Changes +0 -6430
- data/bin/Image-ExifTool-9.45/META.yml +0 -27
- data/bin/Image-ExifTool-9.45/README +0 -228
- data/bin/Image-ExifTool-9.45/exiftool +0 -5767
- data/bin/Image-ExifTool-9.45/html/Shift.html +0 -173
- data/bin/Image-ExifTool-9.45/html/TagNames/Canon.html +0 -8302
- data/bin/Image-ExifTool-9.45/html/TagNames/Composite.html +0 -672
- data/bin/Image-ExifTool-9.45/html/TagNames/Extra.html +0 -308
- data/bin/Image-ExifTool-9.45/html/TagNames/Minolta.html +0 -2568
- data/bin/Image-ExifTool-9.45/html/TagNames/Nikon.html +0 -4495
- data/bin/Image-ExifTool-9.45/html/TagNames/Olympus.html +0 -3400
- data/bin/Image-ExifTool-9.45/html/TagNames/Panasonic.html +0 -1585
- data/bin/Image-ExifTool-9.45/html/TagNames/Pentax.html +0 -4527
- data/bin/Image-ExifTool-9.45/html/TagNames/QuickTime.html +0 -3397
- data/bin/Image-ExifTool-9.45/html/TagNames/Shortcuts.html +0 -239
- data/bin/Image-ExifTool-9.45/html/TagNames/Sony.html +0 -5721
- data/bin/Image-ExifTool-9.45/html/TagNames/XMP.html +0 -7927
- data/bin/Image-ExifTool-9.45/html/exiftool_pod.html +0 -2370
- data/bin/Image-ExifTool-9.45/html/faq.html +0 -1434
- data/bin/Image-ExifTool-9.45/html/filename.html +0 -282
- data/bin/Image-ExifTool-9.45/html/history.html +0 -362
- data/bin/Image-ExifTool-9.45/html/htmldump.html +0 -732
- data/bin/Image-ExifTool-9.45/html/index.html +0 -1283
- data/bin/Image-ExifTool-9.45/html/metafiles.html +0 -266
- data/bin/Image-ExifTool-9.45/html/under.html +0 -124
- data/bin/Image-ExifTool-9.45/lib/File/RandomAccess.pm +0 -378
- data/bin/Image-ExifTool-9.45/lib/File/RandomAccess.pod +0 -231
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool.pm +0 -6894
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool.pod +0 -2406
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/AES.pm +0 -501
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/AFCP.pm +0 -284
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/AIFF.pm +0 -271
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/APE.pm +0 -262
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/APP12.pm +0 -322
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ASF.pm +0 -884
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Apple.pm +0 -113
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BMP.pm +0 -179
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BZZ.pm +0 -472
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BigTIFF.pm +0 -282
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/BuildTagLookup.pm +0 -2421
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Canon.pm +0 -7985
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CanonCustom.pm +0 -2523
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CanonRaw.pm +0 -931
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CanonVRD.pm +0 -1481
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/CaptureOne.pm +0 -235
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Casio.pm +0 -2013
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Charset.pm +0 -396
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DICOM.pm +0 -3874
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DNG.pm +0 -835
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DPX.pm +0 -151
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DV.pm +0 -319
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DarwinCore.pm +0 -317
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/DjVu.pm +0 -376
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/EXE.pm +0 -1228
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Exif.pm +0 -4596
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FLAC.pm +0 -296
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FLIR.pm +0 -1232
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Fixup.pm +0 -354
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Flash.pm +0 -755
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FlashPix.pm +0 -1882
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Font.pm +0 -643
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FotoStation.pm +0 -259
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/FujiFilm.pm +0 -1088
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GE.pm +0 -80
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GIF.pm +0 -542
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GIMP.pm +0 -258
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GPS.pm +0 -514
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/GeoTiff.pm +0 -2187
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Geotag.pm +0 -1176
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/H264.pm +0 -1102
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/HP.pm +0 -262
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/HTML.pm +0 -576
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/HtmlDump.pm +0 -895
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ICC_Profile.pm +0 -999
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ID3.pm +0 -1532
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/IPTC.pm +0 -1244
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ITC.pm +0 -215
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Import.pm +0 -308
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/InDesign.pm +0 -277
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/JPEG.pm +0 -522
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/JPEGDigest.pm +0 -2511
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/JVC.pm +0 -130
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Jpeg2000.pm +0 -873
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Kodak.pm +0 -2014
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/KyoceraRaw.pm +0 -173
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/LNK.pm +0 -723
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/cs.pm +0 -1586
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/de.pm +0 -7356
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/en_ca.pm +0 -557
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/en_gb.pm +0 -572
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/es.pm +0 -4017
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/fi.pm +0 -2856
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/fr.pm +0 -4720
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/it.pm +0 -7918
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/ja.pm +0 -5815
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/ko.pm +0 -2332
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/nl.pm +0 -3220
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/pl.pm +0 -1140
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/ru.pm +0 -769
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/sv.pm +0 -639
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/tr.pm +0 -544
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1329
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Lang/zh_tw.pm +0 -802
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Leaf.pm +0 -515
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/M2TS.pm +0 -725
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MIE.pm +0 -2561
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MIEUnits.pod +0 -377
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MIFF.pm +0 -279
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MNG.pm +0 -684
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MPC.pm +0 -156
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MPEG.pm +0 -736
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MPF.pm +0 -289
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MWG.pm +0 -748
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MXF.pm +0 -3032
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MakerNotes.pm +0 -1598
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Matroska.pm +0 -891
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Microsoft.pm +0 -879
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Minolta.pm +0 -2859
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/MinoltaRaw.pm +0 -534
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Nikon.pm +0 -6141
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/NikonCapture.pm +0 -911
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/NikonCustom.pm +0 -4405
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/OOXML.pm +0 -409
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Ogg.pm +0 -237
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Olympus.pm +0 -3628
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/OpenEXR.pm +0 -324
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PDF.pm +0 -2327
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PGF.pm +0 -143
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PICT.pm +0 -1260
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PLIST.pm +0 -453
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PNG.pm +0 -1161
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PPM.pm +0 -169
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PSP.pm +0 -305
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Panasonic.pm +0 -2180
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PanasonicRaw.pm +0 -535
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Pentax.pm +0 -5788
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PhaseOne.pm +0 -557
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PhotoCD.pm +0 -507
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PhotoMechanic.pm +0 -256
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Photoshop.pm +0 -629
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PostScript.pm +0 -693
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/PrintIM.pm +0 -125
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Qualcomm.pm +0 -1344
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/QuickTime.pm +0 -3849
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/RIFF.pm +0 -1332
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/RSRC.pm +0 -241
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/RTF.pm +0 -383
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Radiance.pm +0 -144
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Rawzor.pm +0 -190
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Real.pm +0 -736
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Reconyx.pm +0 -190
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Ricoh.pm +0 -1039
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Samsung.pm +0 -846
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Sanyo.pm +0 -439
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Scalado.pm +0 -141
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Shift.pl +0 -594
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Shortcuts.pm +0 -293
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Sigma.pm +0 -574
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/SigmaRaw.pm +0 -649
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Sony.pm +0 -7072
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/SonyIDC.pm +0 -330
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Stim.pm +0 -196
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/TagInfoXML.pm +0 -794
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/TagLookup.pm +0 -8351
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/TagNames.pod +0 -26867
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Theora.pm +0 -145
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Torrent.pm +0 -317
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Unknown.pm +0 -66
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Vorbis.pm +0 -237
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteCanonRaw.pl +0 -637
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteExif.pl +0 -3685
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteIPTC.pl +0 -702
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePDF.pl +0 -765
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePNG.pl +0 -376
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePhotoshop.pl +0 -266
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WritePostScript.pl +0 -777
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteQuickTime.pl +0 -344
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/WriteXMP.pl +0 -1318
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/Writer.pl +0 -5851
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/XMP.pm +0 -3755
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/XMP2.pl +0 -1299
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/XMPStruct.pl +0 -814
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/ZIP.pm +0 -623
- data/bin/Image-ExifTool-9.45/lib/Image/ExifTool/iWork.pm +0 -223
- data/bin/Image-ExifTool-9.45/perl-Image-ExifTool.spec +0 -105
- data/bin/Image-ExifTool-9.45/t/QuickTime_2.out +0 -130
- data/bin/Image-ExifTool-9.45/t/QuickTime_3.out +0 -71
@@ -0,0 +1,354 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
# File: Fixup.pm
|
3
|
+
#
|
4
|
+
# Description: Utility to handle pointer fixups
|
5
|
+
#
|
6
|
+
# Revisions: 01/19/2005 - P. Harvey Created
|
7
|
+
# 04/11/2005 - P. Harvey Allow fixups to be tagged with a marker,
|
8
|
+
# and add new marker-related routines
|
9
|
+
# 06/21/2006 - P. Harvey Patch to work with negative offsets
|
10
|
+
# 07/07/2006 - P. Harvey Added support for 16-bit pointers
|
11
|
+
# 02/19/2013 - P. Harvey Added IsEmpty()
|
12
|
+
#
|
13
|
+
# Data Members:
|
14
|
+
#
|
15
|
+
# Start - Position in data where a zero pointer points to.
|
16
|
+
# Shift - Amount to shift offsets (relative to Start).
|
17
|
+
# Fixups - List of Fixup object references to to shift relative to this Fixup.
|
18
|
+
# Pointers - Hash of references to fixup pointer arrays, keyed by ByteOrder
|
19
|
+
# string (with "2" added if pointer is 16-bit [default is 32-bit],
|
20
|
+
# plus "_$marker" suffix if tagged with a marker name).
|
21
|
+
#------------------------------------------------------------------------------
|
22
|
+
|
23
|
+
package Image::ExifTool::Fixup;
|
24
|
+
|
25
|
+
use strict;
|
26
|
+
use Image::ExifTool qw(GetByteOrder SetByteOrder Get32u Get32s Set32u
|
27
|
+
Get16u Get16s Set16u);
|
28
|
+
use vars qw($VERSION);
|
29
|
+
|
30
|
+
$VERSION = '1.05';
|
31
|
+
|
32
|
+
sub AddFixup($$;$$);
|
33
|
+
sub ApplyFixup($$);
|
34
|
+
sub Dump($;$);
|
35
|
+
|
36
|
+
#------------------------------------------------------------------------------
|
37
|
+
# New - create new Fixup object
|
38
|
+
# Inputs: 0) reference to Fixup object or Fixup class name
|
39
|
+
sub new
|
40
|
+
{
|
41
|
+
local $_;
|
42
|
+
my $that = shift;
|
43
|
+
my $class = ref($that) || $that || 'Image::ExifTool::Fixup';
|
44
|
+
my $self = bless {}, $class;
|
45
|
+
|
46
|
+
# initialize required members
|
47
|
+
$self->{Start} = 0;
|
48
|
+
$self->{Shift} = 0;
|
49
|
+
|
50
|
+
return $self;
|
51
|
+
}
|
52
|
+
|
53
|
+
#------------------------------------------------------------------------------
|
54
|
+
# Clone this object
|
55
|
+
# Inputs: 0) reference to Fixup object or Fixup class name
|
56
|
+
# Returns: reference to new Fixup object
|
57
|
+
sub Clone($)
|
58
|
+
{
|
59
|
+
my $self = shift;
|
60
|
+
my $clone = new Image::ExifTool::Fixup;
|
61
|
+
$clone->{Start} = $self->{Start};
|
62
|
+
$clone->{Shift} = $self->{Shift};
|
63
|
+
my $phash = $self->{Pointers};
|
64
|
+
if ($phash) {
|
65
|
+
$clone->{Pointers} = { };
|
66
|
+
my $byteOrder;
|
67
|
+
foreach $byteOrder (keys %$phash) {
|
68
|
+
my @pointers = @{$phash->{$byteOrder}};
|
69
|
+
$clone->{Pointers}->{$byteOrder} = \@pointers;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
if ($self->{Fixups}) {
|
73
|
+
$clone->{Fixups} = [ ];
|
74
|
+
my $subFixup;
|
75
|
+
foreach $subFixup (@{$self->{Fixups}}) {
|
76
|
+
push @{$clone->{Fixups}}, $subFixup->Clone();
|
77
|
+
}
|
78
|
+
}
|
79
|
+
return $clone;
|
80
|
+
}
|
81
|
+
|
82
|
+
#------------------------------------------------------------------------------
|
83
|
+
# Add fixup pointer or another fixup object below this one
|
84
|
+
# Inputs: 0) Fixup object reference
|
85
|
+
# 1) Scalar for pointer offset, or reference to Fixup object
|
86
|
+
# 2) Optional marker name for the pointer
|
87
|
+
# 3) Optional pointer format ('int16u' or 'int32u', defaults to 'int32u')
|
88
|
+
# Notes: Byte ordering must be set properly for the pointer being added (must keep
|
89
|
+
# track of the byte order of each offset since MakerNotes may have different byte order!)
|
90
|
+
sub AddFixup($$;$$)
|
91
|
+
{
|
92
|
+
my ($self, $pointer, $marker, $format) = @_;
|
93
|
+
if (ref $pointer) {
|
94
|
+
$self->{Fixups} or $self->{Fixups} = [ ];
|
95
|
+
push @{$self->{Fixups}}, $pointer;
|
96
|
+
} else {
|
97
|
+
my $byteOrder = GetByteOrder();
|
98
|
+
if (defined $format) {
|
99
|
+
if ($format eq 'int16u') {
|
100
|
+
$byteOrder .= '2';
|
101
|
+
} elsif ($format ne 'int32u') {
|
102
|
+
warn "Bad Fixup pointer format $format\n";
|
103
|
+
}
|
104
|
+
}
|
105
|
+
$byteOrder .= "_$marker" if defined $marker;
|
106
|
+
my $phash = $self->{Pointers};
|
107
|
+
$phash or $phash = $self->{Pointers} = { };
|
108
|
+
$phash->{$byteOrder} or $phash->{$byteOrder} = [ ];
|
109
|
+
push @{$phash->{$byteOrder}}, $pointer;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
113
|
+
#------------------------------------------------------------------------------
|
114
|
+
# fix up pointer offsets
|
115
|
+
# Inputs: 0) Fixup object reference, 1) data reference
|
116
|
+
# Outputs: Collapses fixup hierarchy into linear lists of fixup pointers
|
117
|
+
sub ApplyFixup($$)
|
118
|
+
{
|
119
|
+
my ($self, $dataPt) = @_;
|
120
|
+
|
121
|
+
my $start = $self->{Start};
|
122
|
+
my $shift = $self->{Shift} + $start; # make shift relative to start
|
123
|
+
my $phash = $self->{Pointers};
|
124
|
+
|
125
|
+
# fix up pointers in this fixup
|
126
|
+
if ($phash and ($start or $shift)) {
|
127
|
+
my $saveOrder = GetByteOrder(); # save original byte ordering
|
128
|
+
my ($byteOrder, $ptr);
|
129
|
+
foreach $byteOrder (keys %$phash) {
|
130
|
+
SetByteOrder(substr($byteOrder,0,2));
|
131
|
+
# apply the fixup offset shift (must get as signed integer
|
132
|
+
# to avoid overflow in case it was negative before)
|
133
|
+
my ($get, $set) = ($byteOrder =~ /^(II2|MM2)/) ?
|
134
|
+
(\&Get16s, \&Set16u) : (\&Get32s, \&Set32u);
|
135
|
+
foreach $ptr (@{$phash->{$byteOrder}}) {
|
136
|
+
$ptr += $start; # update pointer to new start location
|
137
|
+
next unless $shift;
|
138
|
+
&$set(&$get($dataPt, $ptr) + $shift, $dataPt, $ptr);
|
139
|
+
}
|
140
|
+
}
|
141
|
+
SetByteOrder($saveOrder); # restore original byte ordering
|
142
|
+
}
|
143
|
+
# recurse into contained fixups
|
144
|
+
if ($self->{Fixups}) {
|
145
|
+
# create our pointer hash if it doesn't exist
|
146
|
+
$phash or $phash = $self->{Pointers} = { };
|
147
|
+
# loop through all contained fixups
|
148
|
+
my $subFixup;
|
149
|
+
foreach $subFixup (@{$self->{Fixups}}) {
|
150
|
+
# adjust the subfixup start and shift
|
151
|
+
$subFixup->{Start} += $start;
|
152
|
+
$subFixup->{Shift} += $shift - $start;
|
153
|
+
# recursively apply contained fixups
|
154
|
+
ApplyFixup($subFixup, $dataPt);
|
155
|
+
my $shash = $subFixup->{Pointers} or next;
|
156
|
+
# add all pointers to our collapsed lists
|
157
|
+
my $byteOrder;
|
158
|
+
foreach $byteOrder (keys %$shash) {
|
159
|
+
$phash->{$byteOrder} or $phash->{$byteOrder} = [ ];
|
160
|
+
push @{$phash->{$byteOrder}}, @{$shash->{$byteOrder}};
|
161
|
+
delete $shash->{$byteOrder};
|
162
|
+
}
|
163
|
+
delete $subFixup->{Pointers};
|
164
|
+
}
|
165
|
+
delete $self->{Fixups}; # remove our contained fixups
|
166
|
+
}
|
167
|
+
# reset our Start/Shift for the collapsed fixup
|
168
|
+
$self->{Start} = $self->{Shift} = 0;
|
169
|
+
}
|
170
|
+
|
171
|
+
#------------------------------------------------------------------------------
|
172
|
+
# Is this Fixup empty?
|
173
|
+
# Inputs: 0) Fixup object ref
|
174
|
+
# Returns: True if there are no offsets to fix
|
175
|
+
sub IsEmpty($)
|
176
|
+
{
|
177
|
+
my $self = shift;
|
178
|
+
my $phash = $self->{Pointers};
|
179
|
+
if ($phash) {
|
180
|
+
my $key;
|
181
|
+
foreach $key (keys %$phash) {
|
182
|
+
next unless ref $$phash{$key} eq 'ARRAY';
|
183
|
+
return 0 if @{$$phash{$key}};
|
184
|
+
}
|
185
|
+
}
|
186
|
+
return 1;
|
187
|
+
}
|
188
|
+
|
189
|
+
#------------------------------------------------------------------------------
|
190
|
+
# Does specified marker exist?
|
191
|
+
# Inputs: 0) Fixup object reference, 1) marker name
|
192
|
+
# Returns: True if fixup contains specified marker name
|
193
|
+
sub HasMarker($$)
|
194
|
+
{
|
195
|
+
my ($self, $marker) = @_;
|
196
|
+
my $phash = $self->{Pointers};
|
197
|
+
return 0 unless $phash;
|
198
|
+
return 1 if grep /_$marker$/, keys %$phash;
|
199
|
+
return 0 unless $self->{Fixups};
|
200
|
+
my $subFixup;
|
201
|
+
foreach $subFixup (@{$self->{Fixups}}) {
|
202
|
+
return 1 if $subFixup->HasMarker($marker);
|
203
|
+
}
|
204
|
+
return 0;
|
205
|
+
}
|
206
|
+
|
207
|
+
#------------------------------------------------------------------------------
|
208
|
+
# Set all marker pointers to specified value
|
209
|
+
# Inputs: 0) Fixup object reference, 1) data reference
|
210
|
+
# 2) marker name, 3) pointer value, 4) offset to start of data
|
211
|
+
sub SetMarkerPointers($$$$;$)
|
212
|
+
{
|
213
|
+
my ($self, $dataPt, $marker, $value, $startOffset) = @_;
|
214
|
+
my $start = $self->{Start} + ($startOffset || 0);
|
215
|
+
my $phash = $self->{Pointers};
|
216
|
+
|
217
|
+
if ($phash) {
|
218
|
+
my $saveOrder = GetByteOrder(); # save original byte ordering
|
219
|
+
my ($byteOrder, $ptr);
|
220
|
+
foreach $byteOrder (keys %$phash) {
|
221
|
+
next unless $byteOrder =~ /^(II|MM)(2?)_$marker$/;
|
222
|
+
SetByteOrder($1);
|
223
|
+
my $set = $2 ? \&Set16u : \&Set32u;
|
224
|
+
foreach $ptr (@{$phash->{$byteOrder}}) {
|
225
|
+
&$set($value, $dataPt, $ptr + $start);
|
226
|
+
}
|
227
|
+
}
|
228
|
+
SetByteOrder($saveOrder); # restore original byte ordering
|
229
|
+
}
|
230
|
+
if ($self->{Fixups}) {
|
231
|
+
my $subFixup;
|
232
|
+
foreach $subFixup (@{$self->{Fixups}}) {
|
233
|
+
$subFixup->SetMarkerPointers($dataPt, $marker, $value, $start);
|
234
|
+
}
|
235
|
+
}
|
236
|
+
}
|
237
|
+
|
238
|
+
#------------------------------------------------------------------------------
|
239
|
+
# Get pointer values for specified marker
|
240
|
+
# Inputs: 0) Fixup object reference, 1) data reference,
|
241
|
+
# 2) marker name, 3) offset to start of data
|
242
|
+
# Returns: List of marker pointers in list context, or first marker pointer otherwise
|
243
|
+
sub GetMarkerPointers($$$;$)
|
244
|
+
{
|
245
|
+
my ($self, $dataPt, $marker, $startOffset) = @_;
|
246
|
+
my $start = $self->{Start} + ($startOffset || 0);
|
247
|
+
my $phash = $self->{Pointers};
|
248
|
+
my @pointers;
|
249
|
+
|
250
|
+
if ($phash) {
|
251
|
+
my $saveOrder = GetByteOrder();
|
252
|
+
my ($byteOrder, $ptr);
|
253
|
+
foreach $byteOrder (grep /_$marker$/, keys %$phash) {
|
254
|
+
SetByteOrder(substr($byteOrder,0,2));
|
255
|
+
my $get = ($byteOrder =~ /^(II2|MM2)/) ? \&Get16u : \&Get32u;
|
256
|
+
foreach $ptr (@{$phash->{$byteOrder}}) {
|
257
|
+
push @pointers, &$get($dataPt, $ptr + $start);
|
258
|
+
}
|
259
|
+
}
|
260
|
+
SetByteOrder($saveOrder); # restore original byte ordering
|
261
|
+
}
|
262
|
+
if ($self->{Fixups}) {
|
263
|
+
my $subFixup;
|
264
|
+
foreach $subFixup (@{$self->{Fixups}}) {
|
265
|
+
push @pointers, $subFixup->GetMarkerPointers($dataPt, $marker, $start);
|
266
|
+
}
|
267
|
+
}
|
268
|
+
return @pointers if wantarray;
|
269
|
+
return $pointers[0];
|
270
|
+
}
|
271
|
+
|
272
|
+
#------------------------------------------------------------------------------
|
273
|
+
# Dump fixup to console for debugging
|
274
|
+
# Inputs: 0) Fixup object reference, 1) optional initial indent string
|
275
|
+
sub Dump($;$)
|
276
|
+
{
|
277
|
+
my ($self, $indent) = @_;
|
278
|
+
$indent or $indent = '';
|
279
|
+
printf "${indent}Fixup start=0x%x shift=0x%x\n", $self->{Start}, $self->{Shift};
|
280
|
+
my $phash = $self->{Pointers};
|
281
|
+
if ($phash) {
|
282
|
+
my $byteOrder;
|
283
|
+
foreach $byteOrder (sort keys %$phash) {
|
284
|
+
print "$indent $byteOrder: ", join(' ',@{$phash->{$byteOrder}}),"\n";
|
285
|
+
}
|
286
|
+
}
|
287
|
+
if ($self->{Fixups}) {
|
288
|
+
my $subFixup;
|
289
|
+
foreach $subFixup (@{$self->{Fixups}}) {
|
290
|
+
Dump($subFixup, $indent . ' ');
|
291
|
+
}
|
292
|
+
}
|
293
|
+
}
|
294
|
+
|
295
|
+
|
296
|
+
1; # end
|
297
|
+
|
298
|
+
__END__
|
299
|
+
|
300
|
+
=head1 NAME
|
301
|
+
|
302
|
+
Image::ExifTool::Fixup - Utility to handle pointer fixups
|
303
|
+
|
304
|
+
=head1 SYNOPSIS
|
305
|
+
|
306
|
+
use Image::ExifTool::Fixup;
|
307
|
+
|
308
|
+
$fixup = new Image::ExifTool::Fixup;
|
309
|
+
|
310
|
+
# add a new fixup to a pointer at the specified offset in data
|
311
|
+
$fixup->AddFixup($offset);
|
312
|
+
|
313
|
+
# add a new Fixup object to the tree
|
314
|
+
$fixup->AddFixup($subFixup);
|
315
|
+
|
316
|
+
$fixup->{Start} += $shift1; # shift pointer offsets and values
|
317
|
+
|
318
|
+
$fixup->{Shift} += $shift2; # shift pointer values only
|
319
|
+
|
320
|
+
# recursively apply fixups to the specified data
|
321
|
+
$fixup->ApplyFixups(\$data);
|
322
|
+
|
323
|
+
$fixup->Dump(); # dump debugging information
|
324
|
+
|
325
|
+
$fixup->IsEmpty(); # return true if no offsets to fix
|
326
|
+
|
327
|
+
=head1 DESCRIPTION
|
328
|
+
|
329
|
+
This module contains the code to keep track of pointers in memory and to
|
330
|
+
shift these pointers as required. It is used by ExifTool to maintain the
|
331
|
+
pointers in image file directories (IFD's).
|
332
|
+
|
333
|
+
=head1 NOTES
|
334
|
+
|
335
|
+
Keeps track of pointers with different byte ordering, and relies on
|
336
|
+
Image::ExifTool::GetByteOrder() to determine the current byte ordering
|
337
|
+
when adding new pointers to a fixup.
|
338
|
+
|
339
|
+
Maintains a hierarchical list of fixups so that the whole hierarchy can
|
340
|
+
be shifted by a simple shift at the base. Hierarchy is collapsed to a
|
341
|
+
linear list when ApplyFixups() is called.
|
342
|
+
|
343
|
+
=head1 AUTHOR
|
344
|
+
|
345
|
+
Copyright 2003-2014, Phil Harvey (phil at owl.phy.queensu.ca)
|
346
|
+
|
347
|
+
This library is free software; you can redistribute it and/or modify it
|
348
|
+
under the same terms as Perl itself.
|
349
|
+
|
350
|
+
=head1 SEE ALSO
|
351
|
+
|
352
|
+
L<Image::ExifTool(3pm)|Image::ExifTool>
|
353
|
+
|
354
|
+
=cut
|
@@ -0,0 +1,755 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
# File: Flash.pm
|
3
|
+
#
|
4
|
+
# Description: Read Shockwave Flash meta information
|
5
|
+
#
|
6
|
+
# Revisions: 05/16/2006 - P. Harvey Created
|
7
|
+
# 06/07/2007 - PH Added support for FLV (Flash Video) files
|
8
|
+
# 10/23/2008 - PH Added support for XMP in FLV and SWF
|
9
|
+
#
|
10
|
+
# References: 1) http://www.the-labs.com/MacromediaFlash/SWF-Spec/SWFfileformat.html
|
11
|
+
# 2) http://sswf.sourceforge.net/SWFalexref.html
|
12
|
+
# 3) http://osflash.org/flv/
|
13
|
+
# 4) http://www.irisa.fr/texmex/people/dufouil/ffmpegdoxy/flv_8h.html
|
14
|
+
# 5) http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart3.pdf (Oct 2008)
|
15
|
+
# 6) http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf
|
16
|
+
# 7) http://help.adobe.com/en_US/FlashMediaServer/3.5_Deving/WS5b3ccc516d4fbf351e63e3d11a0773d56e-7ff6.html
|
17
|
+
# 8) http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf
|
18
|
+
#
|
19
|
+
# Notes: I'll add AMF3 support if someone sends me a FLV with AMF3 data
|
20
|
+
#------------------------------------------------------------------------------
|
21
|
+
|
22
|
+
package Image::ExifTool::Flash;
|
23
|
+
|
24
|
+
use strict;
|
25
|
+
use vars qw($VERSION);
|
26
|
+
use Image::ExifTool qw(:DataAccess :Utils);
|
27
|
+
use Image::ExifTool::FLAC;
|
28
|
+
|
29
|
+
$VERSION = '1.10';
|
30
|
+
|
31
|
+
sub ProcessMeta($$$;$);
|
32
|
+
|
33
|
+
# Meta packets that we process
|
34
|
+
my %processMetaPacket = ( onMetaData => 1, onXMPData => 1 );
|
35
|
+
|
36
|
+
# information extracted from SWF header
|
37
|
+
%Image::ExifTool::Flash::Main = (
|
38
|
+
GROUPS => { 2 => 'Video' },
|
39
|
+
VARS => { ALPHA_FIRST => 1 },
|
40
|
+
NOTES => q{
|
41
|
+
The information below is extracted from SWF (Shockwave Flash) files. Tags
|
42
|
+
with string ID's represent information extracted from the file header.
|
43
|
+
},
|
44
|
+
FlashVersion => { },
|
45
|
+
Compressed => { PrintConv => { 0 => 'False', 1 => 'True' } },
|
46
|
+
ImageWidth => { },
|
47
|
+
ImageHeight => { },
|
48
|
+
FrameRate => { },
|
49
|
+
FrameCount => { },
|
50
|
+
Duration => {
|
51
|
+
Notes => 'calculated from FrameRate and FrameCount',
|
52
|
+
PrintConv => 'ConvertDuration($val)',
|
53
|
+
},
|
54
|
+
69 => {
|
55
|
+
Name => 'FileAttributes',
|
56
|
+
PrintConv => { BITMASK => {
|
57
|
+
0 => 'UseNetwork',
|
58
|
+
3 => 'ActionScript3',
|
59
|
+
4 => 'HasMetadata',
|
60
|
+
} },
|
61
|
+
},
|
62
|
+
77 => {
|
63
|
+
Name => 'XMP',
|
64
|
+
SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
|
65
|
+
},
|
66
|
+
);
|
67
|
+
|
68
|
+
# packets in Flash Video files
|
69
|
+
%Image::ExifTool::Flash::FLV = (
|
70
|
+
NOTES => q{
|
71
|
+
Information is extracted from the following packets in FLV (Flash Video)
|
72
|
+
files.
|
73
|
+
},
|
74
|
+
0x08 => {
|
75
|
+
Name => 'Audio',
|
76
|
+
BitMask => 0x04,
|
77
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Flash::Audio' },
|
78
|
+
},
|
79
|
+
0x09 => {
|
80
|
+
Name => 'Video',
|
81
|
+
BitMask => 0x01,
|
82
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Flash::Video' },
|
83
|
+
},
|
84
|
+
0x12 => {
|
85
|
+
Name => 'Meta',
|
86
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Flash::Meta' },
|
87
|
+
},
|
88
|
+
);
|
89
|
+
|
90
|
+
# tags in Flash Video packet header
|
91
|
+
%Image::ExifTool::Flash::Audio = (
|
92
|
+
PROCESS_PROC => \&Image::ExifTool::FLAC::ProcessBitStream,
|
93
|
+
GROUPS => { 2 => 'Audio' },
|
94
|
+
NOTES => 'Information extracted from the Flash Audio header.',
|
95
|
+
'Bit0-3' => {
|
96
|
+
Name => 'AudioEncoding',
|
97
|
+
PrintConv => {
|
98
|
+
0 => 'PCM-BE (uncompressed)', # PCM-BE according to ref 4
|
99
|
+
1 => 'ADPCM',
|
100
|
+
2 => 'MP3',
|
101
|
+
3 => 'PCM-LE (uncompressed)', #4
|
102
|
+
4 => 'Nellymoser 16kHz Mono', #8
|
103
|
+
5 => 'Nellymoser 8kHz Mono',
|
104
|
+
6 => 'Nellymoser',
|
105
|
+
7 => 'G.711 A-law logarithmic PCM', #8
|
106
|
+
8 => 'G.711 mu-law logarithmic PCM', #8
|
107
|
+
# (9 is reserved, ref 8)
|
108
|
+
10 => 'AAC', #8
|
109
|
+
11 => 'Speex', #8
|
110
|
+
13 => 'MP3 8-Khz', #8
|
111
|
+
15 => 'Device-specific sound', #8
|
112
|
+
},
|
113
|
+
},
|
114
|
+
'Bit4-5' => {
|
115
|
+
Name => 'AudioSampleRate',
|
116
|
+
ValueConv => {
|
117
|
+
0 => 5512,
|
118
|
+
1 => 11025,
|
119
|
+
2 => 22050,
|
120
|
+
3 => 44100,
|
121
|
+
},
|
122
|
+
},
|
123
|
+
'Bit6' => {
|
124
|
+
Name => 'AudioBitsPerSample',
|
125
|
+
ValueConv => '8 * ($val + 1)',
|
126
|
+
},
|
127
|
+
'Bit7' => {
|
128
|
+
Name => 'AudioChannels',
|
129
|
+
ValueConv => '$val + 1',
|
130
|
+
PrintConv => {
|
131
|
+
1 => '1 (mono)',
|
132
|
+
2 => '2 (stereo)',
|
133
|
+
},
|
134
|
+
},
|
135
|
+
);
|
136
|
+
|
137
|
+
# tags in Flash Video packet header
|
138
|
+
%Image::ExifTool::Flash::Video = (
|
139
|
+
PROCESS_PROC => \&Image::ExifTool::FLAC::ProcessBitStream,
|
140
|
+
GROUPS => { 2 => 'Video' },
|
141
|
+
NOTES => 'Information extracted from the Flash Video header.',
|
142
|
+
'Bit4-7' => {
|
143
|
+
Name => 'VideoEncoding',
|
144
|
+
PrintConv => {
|
145
|
+
1 => 'JPEG', #8
|
146
|
+
2 => 'Sorensen H.263',
|
147
|
+
3 => 'Screen Video',
|
148
|
+
4 => 'On2 VP6',
|
149
|
+
5 => 'On2 VP6 Alpha', #3
|
150
|
+
6 => 'Screen Video 2', #3
|
151
|
+
7 => 'H.264', #7 (called "AVC" by ref 8)
|
152
|
+
},
|
153
|
+
},
|
154
|
+
);
|
155
|
+
|
156
|
+
# tags in Flash META packet (in ActionScript Message Format)
|
157
|
+
%Image::ExifTool::Flash::Meta = (
|
158
|
+
PROCESS_PROC => \&ProcessMeta,
|
159
|
+
GROUPS => { 2 => 'Video' },
|
160
|
+
NOTES => q{
|
161
|
+
Below are a few observed FLV Meta tags, but ExifTool will attempt to extract
|
162
|
+
information from any tag found.
|
163
|
+
},
|
164
|
+
'audiocodecid' => { Name => 'AudioCodecID', Groups => { 2 => 'Audio' } },
|
165
|
+
'audiodatarate' => {
|
166
|
+
Name => 'AudioBitrate',
|
167
|
+
Groups => { 2 => 'Audio' },
|
168
|
+
ValueConv => '$val * 1000',
|
169
|
+
PrintConv => 'ConvertBitrate($val)',
|
170
|
+
},
|
171
|
+
'audiodelay' => { Name => 'AudioDelay', Groups => { 2 => 'Audio' } },
|
172
|
+
'audiosamplerate'=>{ Name => 'AudioSampleRate', Groups => { 2 => 'Audio' } },
|
173
|
+
'audiosamplesize'=>{ Name => 'AudioSampleSize', Groups => { 2 => 'Audio' } },
|
174
|
+
'audiosize' => { Name => 'AudioSize', Groups => { 2 => 'Audio' } },
|
175
|
+
'bytelength' => 'ByteLength', # (youtube)
|
176
|
+
'canseekontime' => 'CanSeekOnTime', # (youtube)
|
177
|
+
'canSeekToEnd' => 'CanSeekToEnd',
|
178
|
+
'creationdate' => {
|
179
|
+
# (not an AMF date type in my sample)
|
180
|
+
Name => 'CreateDate',
|
181
|
+
Groups => { 2 => 'Time' },
|
182
|
+
ValueConv => '$val=~s/\s+$//; $val', # trim trailing whitespace
|
183
|
+
},
|
184
|
+
'createdby' => 'CreatedBy', #7
|
185
|
+
'cuePoints' => {
|
186
|
+
Name => 'CuePoint',
|
187
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Flash::CuePoint' },
|
188
|
+
},
|
189
|
+
'datasize' => 'DataSize',
|
190
|
+
'duration' => {
|
191
|
+
Name => 'Duration',
|
192
|
+
PrintConv => 'ConvertDuration($val)',
|
193
|
+
},
|
194
|
+
'filesize' => 'FileSizeBytes',
|
195
|
+
'framerate' => {
|
196
|
+
Name => 'FrameRate',
|
197
|
+
PrintConv => 'int($val * 1000 + 0.5) / 1000',
|
198
|
+
},
|
199
|
+
'hasAudio' => { Name => 'HasAudio', Groups => { 2 => 'Audio' } },
|
200
|
+
'hasCuePoints' => 'HasCuePoints',
|
201
|
+
'hasKeyframes' => 'HasKeyFrames',
|
202
|
+
'hasMetadata' => 'HasMetadata',
|
203
|
+
'hasVideo' => 'HasVideo',
|
204
|
+
'height' => 'ImageHeight',
|
205
|
+
'httphostheader'=> 'HTTPHostHeader', # (youtube)
|
206
|
+
'keyframesTimes'=> 'KeyFramesTimes',
|
207
|
+
'keyframesFilepositions' => 'KeyFramePositions',
|
208
|
+
'lasttimestamp' => 'LastTimeStamp',
|
209
|
+
'lastkeyframetimestamp' => 'LastKeyFrameTime',
|
210
|
+
'metadatacreator'=>'MetadataCreator',
|
211
|
+
'metadatadate' => {
|
212
|
+
Name => 'MetadataDate',
|
213
|
+
Groups => { 2 => 'Time' },
|
214
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
215
|
+
},
|
216
|
+
'purl' => 'URL', # (youtube) (what does P mean?)
|
217
|
+
'pmsg' => 'Message', # (youtube) (what does P mean?)
|
218
|
+
'sourcedata' => 'SourceData', # (youtube)
|
219
|
+
'starttime' => { # (youtube)
|
220
|
+
Name => 'StartTime',
|
221
|
+
PrintConv => 'ConvertDuration($val)',
|
222
|
+
},
|
223
|
+
'stereo' => { Name => 'Stereo', Groups => { 2 => 'Audio' } },
|
224
|
+
'totalduration' => { # (youtube)
|
225
|
+
Name => 'TotalDuration',
|
226
|
+
PrintConv => 'ConvertDuration($val)',
|
227
|
+
},
|
228
|
+
'totaldatarate' => { # (youtube)
|
229
|
+
Name => 'TotalDataRate',
|
230
|
+
ValueConv => '$val * 1000',
|
231
|
+
PrintConv => 'int($val + 0.5)',
|
232
|
+
},
|
233
|
+
'totalduration' => 'TotalDuration',
|
234
|
+
'videocodecid' => 'VideoCodecID',
|
235
|
+
'videodatarate' => {
|
236
|
+
Name => 'VideoBitrate',
|
237
|
+
ValueConv => '$val * 1000',
|
238
|
+
PrintConv => 'ConvertBitrate($val)',
|
239
|
+
},
|
240
|
+
'videosize' => 'VideoSize',
|
241
|
+
'width' => 'ImageWidth',
|
242
|
+
# tags in 'onXMPData' packets
|
243
|
+
'liveXML' => { #5
|
244
|
+
Name => 'XMP',
|
245
|
+
SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
|
246
|
+
},
|
247
|
+
);
|
248
|
+
|
249
|
+
# tags in Flash META CuePoint structure
|
250
|
+
%Image::ExifTool::Flash::CuePoint = (
|
251
|
+
PROCESS_PROC => \&ProcessMeta,
|
252
|
+
GROUPS => { 2 => 'Video' },
|
253
|
+
NOTES => q{
|
254
|
+
These tag names are added to the CuePoint name to generate complete tag
|
255
|
+
names like "CuePoint0Name".
|
256
|
+
},
|
257
|
+
'name' => 'Name',
|
258
|
+
'type' => 'Type',
|
259
|
+
'time' => 'Time',
|
260
|
+
'parameters' => {
|
261
|
+
Name => 'Parameter',
|
262
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Flash::Parameter' },
|
263
|
+
},
|
264
|
+
);
|
265
|
+
|
266
|
+
# tags in Flash META CuePoint Parameter structure
|
267
|
+
%Image::ExifTool::Flash::Parameter = (
|
268
|
+
PROCESS_PROC => \&ProcessMeta,
|
269
|
+
GROUPS => { 2 => 'Video' },
|
270
|
+
NOTES => q{
|
271
|
+
There are no pre-defined parameter tags, but ExifTool will extract any
|
272
|
+
existing parameters, with tag names like "CuePoint0ParameterXxx".
|
273
|
+
},
|
274
|
+
);
|
275
|
+
|
276
|
+
# name lookup for known AMF data types
|
277
|
+
my @amfType = qw(double boolean string object movieClip null undefined reference
|
278
|
+
mixedArray objectEnd array date longString unsupported recordSet
|
279
|
+
XML typedObject AMF3data);
|
280
|
+
|
281
|
+
# test for AMF structure types (object, mixed array or typed object)
|
282
|
+
my %isStruct = ( 0x03 => 1, 0x08 => 1, 0x10 => 1 );
|
283
|
+
|
284
|
+
#------------------------------------------------------------------------------
|
285
|
+
# Process Flash Video AMF Meta packet (ref 3)
|
286
|
+
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
|
287
|
+
# 3) Set to extract single type/value only
|
288
|
+
# Returns: 1 on success, (or type/value if extracting single value)
|
289
|
+
# Notes: Updates DataPos in dirInfo if extracting single value
|
290
|
+
sub ProcessMeta($$$;$)
|
291
|
+
{
|
292
|
+
my ($et, $dirInfo, $tagTablePtr, $single) = @_;
|
293
|
+
my $dataPt = $$dirInfo{DataPt};
|
294
|
+
my $dataPos = $$dirInfo{DataPos};
|
295
|
+
my $dirLen = $$dirInfo{DirLen} || length($$dataPt);
|
296
|
+
my $pos = $$dirInfo{Pos} || 0;
|
297
|
+
my ($type, $val, $rec);
|
298
|
+
|
299
|
+
$et->VerboseDir('Meta') unless $single;
|
300
|
+
|
301
|
+
Record: for ($rec=0; ; ++$rec) {
|
302
|
+
last if $pos >= $dirLen;
|
303
|
+
$type = ord(substr($$dataPt, $pos));
|
304
|
+
++$pos;
|
305
|
+
if ($type == 0x00 or $type == 0x0b) { # double or date
|
306
|
+
last if $pos + 8 > $dirLen;
|
307
|
+
$val = GetDouble($dataPt, $pos);
|
308
|
+
$pos += 8;
|
309
|
+
if ($type == 0x0b) { # date
|
310
|
+
$val /= 1000; # convert to seconds
|
311
|
+
my $frac = $val - int($val); # fractional seconds
|
312
|
+
# get time zone
|
313
|
+
last if $pos + 2 > $dirLen;
|
314
|
+
my $tz = Get16s($dataPt, $pos);
|
315
|
+
$pos += 2;
|
316
|
+
# construct date/time string
|
317
|
+
$val = Image::ExifTool::ConvertUnixTime(int($val));
|
318
|
+
if ($frac) {
|
319
|
+
$frac = sprintf('%.6f', $frac);
|
320
|
+
$frac =~ s/(^0|0+$)//g;
|
321
|
+
$val .= $frac;
|
322
|
+
}
|
323
|
+
# add timezone
|
324
|
+
if ($tz < 0) {
|
325
|
+
$val .= '-';
|
326
|
+
$tz *= -1;
|
327
|
+
} else {
|
328
|
+
$val .= '+';
|
329
|
+
}
|
330
|
+
$val .= sprintf('%.2d:%.2d', int($tz/60), $tz%60);
|
331
|
+
}
|
332
|
+
} elsif ($type == 0x01) { # boolean
|
333
|
+
last if $pos + 1 > $dirLen;
|
334
|
+
$val = Get8u($dataPt, $pos);
|
335
|
+
$val = { 0 => 'No', 1 => 'Yes' }->{$val} if $val < 2;
|
336
|
+
++$pos;
|
337
|
+
} elsif ($type == 0x02) { # string
|
338
|
+
last if $pos + 2 > $dirLen;
|
339
|
+
my $len = Get16u($dataPt, $pos);
|
340
|
+
last if $pos + 2 + $len > $dirLen;
|
341
|
+
$val = substr($$dataPt, $pos + 2, $len);
|
342
|
+
$pos += 2 + $len;
|
343
|
+
} elsif ($isStruct{$type}) { # object, mixed array or typed object
|
344
|
+
$et->VPrint(1, " + [$amfType[$type]]\n");
|
345
|
+
my $getName;
|
346
|
+
$val = ''; # dummy value
|
347
|
+
if ($type == 0x08) { # mixed array
|
348
|
+
# skip last array index for mixed array
|
349
|
+
last if $pos + 4 > $dirLen;
|
350
|
+
$pos += 4;
|
351
|
+
} elsif ($type == 0x10) { # typed object
|
352
|
+
$getName = 1;
|
353
|
+
}
|
354
|
+
for (;;) {
|
355
|
+
# get tag ID (or typed object name)
|
356
|
+
last Record if $pos + 2 > $dirLen;
|
357
|
+
my $len = Get16u($dataPt, $pos);
|
358
|
+
if ($pos + 2 + $len > $dirLen) {
|
359
|
+
$et->Warn("Truncated $amfType[$type] record");
|
360
|
+
last Record;
|
361
|
+
}
|
362
|
+
my $tag = substr($$dataPt, $pos + 2, $len);
|
363
|
+
$pos += 2 + $len;
|
364
|
+
# first string of a typed object is the object name
|
365
|
+
if ($getName) {
|
366
|
+
$et->VPrint(1," | (object name '$tag')\n");
|
367
|
+
undef $getName;
|
368
|
+
next; # (ignore name for now)
|
369
|
+
}
|
370
|
+
my $subTablePtr = $tagTablePtr;
|
371
|
+
my $tagInfo = $$subTablePtr{$tag};
|
372
|
+
# switch to subdirectory table if necessary
|
373
|
+
if ($tagInfo and $$tagInfo{SubDirectory}) {
|
374
|
+
my $subTable = $tagInfo->{SubDirectory}->{TagTable};
|
375
|
+
# descend into Flash SubDirectory
|
376
|
+
if ($subTable =~ /^Image::ExifTool::Flash::/) {
|
377
|
+
$tag = $$tagInfo{Name}; # use our name for the tag
|
378
|
+
$subTablePtr = GetTagTable($subTable);
|
379
|
+
}
|
380
|
+
}
|
381
|
+
# get object value
|
382
|
+
my $valPos = $pos + 1;
|
383
|
+
$$dirInfo{Pos} = $pos;
|
384
|
+
my $structName = $$dirInfo{StructName};
|
385
|
+
# add structure name to start of tag name
|
386
|
+
$tag = $structName . ucfirst($tag) if defined $structName;
|
387
|
+
$$dirInfo{StructName} = $tag; # set new structure name
|
388
|
+
my ($t, $v) = ProcessMeta($et, $dirInfo, $subTablePtr, 1);
|
389
|
+
$$dirInfo{StructName} = $structName;# restore original structure name
|
390
|
+
$pos = $$dirInfo{Pos}; # update to new position in packet
|
391
|
+
# all done if this value contained tags
|
392
|
+
last Record unless defined $t and defined $v;
|
393
|
+
next if $isStruct{$t}; # already handled tags in sub-structures
|
394
|
+
next if ref($v) eq 'ARRAY' and not @$v; # ignore empty arrays
|
395
|
+
last if $t == 0x09; # (end of object)
|
396
|
+
if (not $$subTablePtr{$tag} and $tag =~ /^\w+$/) {
|
397
|
+
AddTagToTable($subTablePtr, $tag, { Name => ucfirst($tag) });
|
398
|
+
$et->VPrint(1, " | (adding $tag)\n");
|
399
|
+
}
|
400
|
+
$et->HandleTag($subTablePtr, $tag, $v,
|
401
|
+
DataPt => $dataPt,
|
402
|
+
DataPos => $dataPos,
|
403
|
+
Start => $valPos,
|
404
|
+
Size => $pos - $valPos,
|
405
|
+
Format => $amfType[$t] || sprintf('0x%x',$t),
|
406
|
+
);
|
407
|
+
}
|
408
|
+
# } elsif ($type == 0x04) { # movie clip (not supported)
|
409
|
+
} elsif ($type == 0x05 or $type == 0x06 or $type == 0x09 or $type == 0x0d) {
|
410
|
+
# null, undefined, dirLen of object, or unsupported
|
411
|
+
$val = '';
|
412
|
+
} elsif ($type == 0x07) { # reference
|
413
|
+
last if $pos + 2 > $dirLen;
|
414
|
+
$val = Get16u($dataPt, $pos);
|
415
|
+
$pos += 2;
|
416
|
+
} elsif ($type == 0x0a) { # array
|
417
|
+
last if $pos + 4 > $dirLen;
|
418
|
+
my $num = Get32u($dataPt, $pos);
|
419
|
+
$$dirInfo{Pos} = $pos + 4;
|
420
|
+
my ($i, @vals);
|
421
|
+
# add array index to compount tag name
|
422
|
+
my $structName = $$dirInfo{StructName};
|
423
|
+
for ($i=0; $i<$num; ++$i) {
|
424
|
+
$$dirInfo{StructName} = $structName . $i if defined $structName;
|
425
|
+
my ($t, $v) = ProcessMeta($et, $dirInfo, $tagTablePtr, 1);
|
426
|
+
last Record unless defined $v;
|
427
|
+
# save value unless contained in a sub-structure
|
428
|
+
push @vals, $v unless $isStruct{$t};
|
429
|
+
}
|
430
|
+
$$dirInfo{StructName} = $structName;
|
431
|
+
$pos = $$dirInfo{Pos};
|
432
|
+
$val = \@vals;
|
433
|
+
} elsif ($type == 0x0c or $type == 0x0f) { # long string or XML
|
434
|
+
last if $pos + 4 > $dirLen;
|
435
|
+
my $len = Get32u($dataPt, $pos);
|
436
|
+
last if $pos + 4 + $len > $dirLen;
|
437
|
+
$val = substr($$dataPt, $pos + 4, $len);
|
438
|
+
$pos += 4 + $len;
|
439
|
+
# } elsif ($type == 0x0e) { # record set (not supported)
|
440
|
+
# } elsif ($type == 0x11) { # AMF3 data (can't add support for this without a test sample)
|
441
|
+
} else {
|
442
|
+
my $t = $amfType[$type] || sprintf('type 0x%x',$type);
|
443
|
+
$et->Warn("AMF $t record not yet supported");
|
444
|
+
undef $type; # (so we don't print another warning)
|
445
|
+
last; # can't continue
|
446
|
+
}
|
447
|
+
last if $single; # all done if extracting single value
|
448
|
+
unless ($isStruct{$type}) {
|
449
|
+
# only process certain Meta packets
|
450
|
+
if ($type == 0x02 and not $rec) {
|
451
|
+
my $verb = $processMetaPacket{$val} ? 'processing' : 'ignoring';
|
452
|
+
$et->VPrint(0, " | ($verb $val information)\n");
|
453
|
+
last unless $processMetaPacket{$val};
|
454
|
+
} else {
|
455
|
+
# give verbose indication if we ignore a lone value
|
456
|
+
my $t = $amfType[$type] || sprintf('type 0x%x',$type);
|
457
|
+
$et->VPrint(1, " | (ignored lone $t value '$val')\n");
|
458
|
+
}
|
459
|
+
}
|
460
|
+
}
|
461
|
+
if (not defined $val and defined $type) {
|
462
|
+
$et->Warn(sprintf("Truncated AMF record 0x%x",$type));
|
463
|
+
}
|
464
|
+
return 1 unless $single; # all done
|
465
|
+
$$dirInfo{Pos} = $pos; # update position
|
466
|
+
return($type,$val); # return single type/value pair
|
467
|
+
}
|
468
|
+
|
469
|
+
#------------------------------------------------------------------------------
|
470
|
+
# Read information frame a Flash Video file
|
471
|
+
# Inputs: 0) ExifTool object reference, 1) Directory information reference
|
472
|
+
# Returns: 1 on success, 0 if this wasn't a valid Flash Video file
|
473
|
+
sub ProcessFLV($$)
|
474
|
+
{
|
475
|
+
my ($et, $dirInfo) = @_;
|
476
|
+
my $verbose = $et->Options('Verbose');
|
477
|
+
my $raf = $$dirInfo{RAF};
|
478
|
+
my $buff;
|
479
|
+
|
480
|
+
$raf->Read($buff, 9) == 9 or return 0;
|
481
|
+
$buff =~ /^FLV\x01/ or return 0;
|
482
|
+
SetByteOrder('MM');
|
483
|
+
$et->SetFileType();
|
484
|
+
my ($flags, $offset) = unpack('x4CN', $buff);
|
485
|
+
$raf->Seek($offset-9, 1) or return 1 if $offset > 9;
|
486
|
+
$flags &= 0x05; # only look for audio/video
|
487
|
+
my $found = 0;
|
488
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::Flash::FLV');
|
489
|
+
for (;;) {
|
490
|
+
$raf->Read($buff, 15) == 15 or last;
|
491
|
+
my $len = unpack('x4N', $buff);
|
492
|
+
my $type = $len >> 24;
|
493
|
+
$len &= 0x00ffffff;
|
494
|
+
my $tagInfo = $et->GetTagInfo($tagTablePtr, $type);
|
495
|
+
if ($verbose > 1) {
|
496
|
+
my $name = $tagInfo ? $$tagInfo{Name} : "type $type";
|
497
|
+
$et->VPrint(1, "FLV $name packet, len $len\n");
|
498
|
+
}
|
499
|
+
undef $buff;
|
500
|
+
if ($tagInfo and $$tagInfo{SubDirectory}) {
|
501
|
+
my $mask = $$tagInfo{BitMask};
|
502
|
+
if ($mask) {
|
503
|
+
# handle audio or video packet
|
504
|
+
unless ($found & $mask) {
|
505
|
+
$found |= $mask;
|
506
|
+
$flags &= ~$mask;
|
507
|
+
if ($len>=1 and $raf->Read($buff, 1) == 1) {
|
508
|
+
$len -= 1;
|
509
|
+
} else {
|
510
|
+
$et->Warn("Bad $$tagInfo{Name} packet");
|
511
|
+
last;
|
512
|
+
}
|
513
|
+
}
|
514
|
+
} elsif ($raf->Read($buff, $len) == $len) {
|
515
|
+
$len = 0;
|
516
|
+
} else {
|
517
|
+
$et->Warn('Truncated Meta packet');
|
518
|
+
last;
|
519
|
+
}
|
520
|
+
}
|
521
|
+
if (defined $buff) {
|
522
|
+
$et->HandleTag($tagTablePtr, $type, undef,
|
523
|
+
DataPt => \$buff,
|
524
|
+
DataPos => $raf->Tell() - length($buff),
|
525
|
+
);
|
526
|
+
}
|
527
|
+
last unless $flags;
|
528
|
+
$raf->Seek($len, 1) or last if $len;
|
529
|
+
}
|
530
|
+
return 1;
|
531
|
+
}
|
532
|
+
|
533
|
+
#------------------------------------------------------------------------------
|
534
|
+
# Found a Flash tag
|
535
|
+
# Inputs: 0) ExifTool object ref, 1) tag name, 2) tag value
|
536
|
+
sub FoundFlashTag($$$)
|
537
|
+
{
|
538
|
+
my ($et, $tag, $val) = @_;
|
539
|
+
$et->HandleTag(\%Image::ExifTool::Flash::Main, $tag, $val);
|
540
|
+
}
|
541
|
+
|
542
|
+
#------------------------------------------------------------------------------
|
543
|
+
# Read data from possibly compressed file
|
544
|
+
# Inputs: 0) RAF reference, 1) data buffer, 2) bytes to read, 2) compressed flag
|
545
|
+
# Returns: number of bytes read (may be greater than requested bytes if compressed)
|
546
|
+
# - concatenates data to current buffer
|
547
|
+
# - updates compressed flag with reference to inflate object for future calls
|
548
|
+
# (or sets to error message and returns zero on error)
|
549
|
+
sub ReadCompressed($$$$)
|
550
|
+
{
|
551
|
+
my ($raf, $len, $inflate) = ($_[0], $_[2], $_[3]);
|
552
|
+
my $buff;
|
553
|
+
unless ($raf->Read($buff, $len)) {
|
554
|
+
$_[3] = 'Error reading file';
|
555
|
+
return 0;
|
556
|
+
}
|
557
|
+
# uncompress if necessary
|
558
|
+
if ($inflate) {
|
559
|
+
unless (ref $inflate) {
|
560
|
+
unless (eval 'require Compress::Zlib') {
|
561
|
+
$_[3] = 'Install Compress::Zlib to extract compressed information';
|
562
|
+
return 0;
|
563
|
+
}
|
564
|
+
$inflate = Compress::Zlib::inflateInit();
|
565
|
+
unless ($inflate) {
|
566
|
+
$_[3] = 'Error initializing inflate for Flash data';
|
567
|
+
return 0;
|
568
|
+
}
|
569
|
+
$_[3] = $inflate; # pass inflate object back to caller
|
570
|
+
}
|
571
|
+
my $tmp = $buff;
|
572
|
+
$buff = '';
|
573
|
+
# read 64 more bytes at a time and inflate until we get enough uncompressed data
|
574
|
+
for (;;) {
|
575
|
+
my ($dat, $stat) = $inflate->inflate($tmp);
|
576
|
+
if ($stat == Compress::Zlib::Z_STREAM_END() or
|
577
|
+
$stat == Compress::Zlib::Z_OK())
|
578
|
+
{
|
579
|
+
$buff .= $dat; # add inflated data to buffer
|
580
|
+
last if length $buff >= $len or $stat == Compress::Zlib::Z_STREAM_END();
|
581
|
+
$raf->Read($tmp,64) or last; # must read a bit more data
|
582
|
+
} else {
|
583
|
+
$buff = '';
|
584
|
+
last;
|
585
|
+
}
|
586
|
+
}
|
587
|
+
$_[3] = 'Error inflating compressed Flash data' unless length $buff;
|
588
|
+
}
|
589
|
+
$_[1] = defined $_[1] ? $_[1] . $buff : $buff;
|
590
|
+
return length $buff;
|
591
|
+
}
|
592
|
+
|
593
|
+
#------------------------------------------------------------------------------
|
594
|
+
# Read information frame a Flash file
|
595
|
+
# Inputs: 0) ExifTool object reference, 1) Directory information reference
|
596
|
+
# Returns: 1 on success, 0 if this wasn't a valid Flash file
|
597
|
+
sub ProcessSWF($$)
|
598
|
+
{
|
599
|
+
my ($et, $dirInfo) = @_;
|
600
|
+
my $raf = $$dirInfo{RAF};
|
601
|
+
my ($buff, $hasMeta);
|
602
|
+
|
603
|
+
$raf->Read($buff, 8) == 8 or return 0;
|
604
|
+
$buff =~ /^(F|C)WS([^\0])/ or return 0;
|
605
|
+
my ($compressed, $vers) = ($1 eq 'C' ? 1 : 0, ord($2));
|
606
|
+
|
607
|
+
SetByteOrder('II');
|
608
|
+
$et->SetFileType();
|
609
|
+
GetTagTable('Image::ExifTool::Flash::Main'); # make sure table is initialized
|
610
|
+
|
611
|
+
FoundFlashTag($et, FlashVersion => $vers);
|
612
|
+
FoundFlashTag($et, Compressed => $compressed);
|
613
|
+
|
614
|
+
# read the next 64 bytes of the file (and inflate if necessary)
|
615
|
+
$buff = '';
|
616
|
+
unless (ReadCompressed($raf, $buff, 64, $compressed)) {
|
617
|
+
$et->Warn($compressed) if $compressed;
|
618
|
+
return 1;
|
619
|
+
}
|
620
|
+
|
621
|
+
# unpack elements of bit-packed Flash Rect structure
|
622
|
+
my $nBits = unpack('C', $buff) >> 3; # bits in x1,x2,y1,y2 elements
|
623
|
+
my $totBits = 5 + $nBits * 4; # total bits in Rect structure
|
624
|
+
my $nBytes = int(($totBits + 7) / 8); # byte length of Rect structure
|
625
|
+
if (length $buff < $nBytes + 4) {
|
626
|
+
$et->Warn('Truncated Flash file');
|
627
|
+
return 1;
|
628
|
+
}
|
629
|
+
my $bits = unpack("B$totBits", $buff);
|
630
|
+
# isolate Rect elements and convert from ASCII bit strings to integers
|
631
|
+
my @vals = unpack('x5' . "a$nBits" x 4, $bits);
|
632
|
+
# (do conversion the hard way because oct("0b$val") requires Perl 5.6)
|
633
|
+
map { $_ = unpack('N', pack('B32', '0' x (32 - length $_) . $_)) } @vals;
|
634
|
+
|
635
|
+
# calculate and store ImageWidth/Height
|
636
|
+
FoundFlashTag($et, ImageWidth => ($vals[1] - $vals[0]) / 20);
|
637
|
+
FoundFlashTag($et, ImageHeight => ($vals[3] - $vals[2]) / 20);
|
638
|
+
|
639
|
+
# get frame rate and count
|
640
|
+
@vals = unpack("x${nBytes}v2", $buff);
|
641
|
+
FoundFlashTag($et, FrameRate => $vals[0] / 256);
|
642
|
+
FoundFlashTag($et, FrameCount => $vals[1]);
|
643
|
+
FoundFlashTag($et, Duration => $vals[1] * 256 / $vals[0]) if $vals[0];
|
644
|
+
|
645
|
+
# scan through the tags to find FileAttributes and XMP
|
646
|
+
$buff = substr($buff, $nBytes + 4);
|
647
|
+
for (;;) {
|
648
|
+
my $buffLen = length $buff;
|
649
|
+
last if $buffLen < 2;
|
650
|
+
my $code = Get16u(\$buff, 0);
|
651
|
+
my $pos = 2;
|
652
|
+
my $tag = $code >> 6;
|
653
|
+
my $size = $code & 0x3f;
|
654
|
+
$et->VPrint(1, "SWF tag $tag ($size bytes):\n");
|
655
|
+
last unless $tag == 69 or $tag == 77 or $hasMeta;
|
656
|
+
# read enough to get a complete short record
|
657
|
+
if ($pos + $size > $buffLen) {
|
658
|
+
# (read 2 extra bytes if available to get next tag word)
|
659
|
+
unless (ReadCompressed($raf, $buff, $size + 2, $compressed)) {
|
660
|
+
$et->Warn($compressed) if $compressed;
|
661
|
+
return 1;
|
662
|
+
}
|
663
|
+
$buffLen = length $buff;
|
664
|
+
last if $pos + $size > $buffLen;
|
665
|
+
}
|
666
|
+
# read extended record if necessary
|
667
|
+
if ($size == 0x3f) {
|
668
|
+
last if $pos + 4 > $buffLen;
|
669
|
+
$size = Get32u(\$buff, $pos);
|
670
|
+
$pos += 4;
|
671
|
+
last if $size > 1000000; # don't read anything huge
|
672
|
+
if ($pos + $size > $buffLen) {
|
673
|
+
unless (ReadCompressed($raf, $buff, $size + 2, $compressed)) {
|
674
|
+
$et->Warn($compressed) if $compressed;
|
675
|
+
return 1;
|
676
|
+
}
|
677
|
+
$buffLen = length $buff;
|
678
|
+
last if $pos + $size > $buffLen;
|
679
|
+
}
|
680
|
+
$et->VPrint(1, " [extended size $size bytes]\n");
|
681
|
+
}
|
682
|
+
if ($tag == 69) { # FileAttributes
|
683
|
+
last unless $size;
|
684
|
+
my $flags = Get8u(\$buff, $pos);
|
685
|
+
FoundFlashTag($et, $tag => $flags);
|
686
|
+
last unless $flags & 0x10; # only continue if we have metadata (XMP)
|
687
|
+
$hasMeta = 1;
|
688
|
+
} elsif ($tag == 77) { # Metadata
|
689
|
+
my $val = substr($buff, $pos, $size);
|
690
|
+
FoundFlashTag($et, $tag => $val);
|
691
|
+
last;
|
692
|
+
}
|
693
|
+
last if $pos + 2 > $buffLen;
|
694
|
+
$buff = substr($buff, $pos); # remove everything before the next tag
|
695
|
+
}
|
696
|
+
return 1;
|
697
|
+
}
|
698
|
+
|
699
|
+
1; # end
|
700
|
+
|
701
|
+
__END__
|
702
|
+
|
703
|
+
=head1 NAME
|
704
|
+
|
705
|
+
Image::ExifTool::Flash - Read Shockwave Flash meta information
|
706
|
+
|
707
|
+
=head1 SYNOPSIS
|
708
|
+
|
709
|
+
This module is used by Image::ExifTool
|
710
|
+
|
711
|
+
=head1 DESCRIPTION
|
712
|
+
|
713
|
+
This module contains definitions required by Image::ExifTool to read SWF
|
714
|
+
(Shockwave Flash) and FLV (Flash Video) files.
|
715
|
+
|
716
|
+
=head1 NOTES
|
717
|
+
|
718
|
+
Flash Video AMF3 support has not yet been added because I haven't yet found
|
719
|
+
a FLV file containing AMF3 information. If someone sends me a sample then I
|
720
|
+
will add AMF3 support.
|
721
|
+
|
722
|
+
=head1 AUTHOR
|
723
|
+
|
724
|
+
Copyright 2003-2014, Phil Harvey (phil at owl.phy.queensu.ca)
|
725
|
+
|
726
|
+
This library is free software; you can redistribute it and/or modify it
|
727
|
+
under the same terms as Perl itself.
|
728
|
+
|
729
|
+
=head1 REFERENCES
|
730
|
+
|
731
|
+
=over 4
|
732
|
+
|
733
|
+
=item L<http://www.the-labs.com/MacromediaFlash/SWF-Spec/SWFfileformat.html>
|
734
|
+
|
735
|
+
=item L<http://sswf.sourceforge.net/SWFalexref.html>
|
736
|
+
|
737
|
+
=item L<http://osflash.org/flv/>
|
738
|
+
|
739
|
+
=item L<http://www.irisa.fr/texmex/people/dufouil/ffmpegdoxy/flv_8h.html>
|
740
|
+
|
741
|
+
=item L<http://help.adobe.com/en_US/FlashMediaServer/3.5_Deving/WS5b3ccc516d4fbf351e63e3d11a0773d56e-7ff6.html>
|
742
|
+
|
743
|
+
=item L<http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf>
|
744
|
+
|
745
|
+
=item L<http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf>
|
746
|
+
|
747
|
+
=back
|
748
|
+
|
749
|
+
=head1 SEE ALSO
|
750
|
+
|
751
|
+
L<Image::ExifTool::TagNames/Flash Tags>,
|
752
|
+
L<Image::ExifTool(3pm)|Image::ExifTool>
|
753
|
+
|
754
|
+
=cut
|
755
|
+
|