exiftool_vendored 9.37.0 → 9.41.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +6 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/Changes +74 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/MANIFEST +14 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/META.yml +1 -1
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/Makefile.PL +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/README +30 -30
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/exif2iptc.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/exif2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/gps2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptc2exif.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptc2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/iptcCore.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/pdf2xmp.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2exif.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2gps.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2iptc.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/arg_files/xmp2pdf.args +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/config_files/ExifTool_config +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/config_files/convert_regions.config +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/exiftool +266 -226
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/gpx.fmt +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/gpx_wpt.fmt +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/fmt_files/kml.fmt +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/ExifTool.html +79 -54
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/MIE1.1-20070121.pdf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/Shift.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/AFCP.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/AIFF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/APE.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/APP12.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ASF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Apple.html +11 -8
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/BMP.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Canon.html +138 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonCustom.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonRaw.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/CanonVRD.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Casio.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Composite.html +19 -13
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DICOM.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DNG.html +0 -0
- data/bin/Image-ExifTool-9.41/html/TagNames/DPX.html +190 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DV.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DarwinCore.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/DjVu.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/EXE.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/EXIF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Extra.html +13 -6
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FLAC.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FLIR.html +166 -2
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Flash.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FlashPix.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Font.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FotoStation.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/FujiFilm.html +11 -1
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GE.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GIF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GIMP.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GPS.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/GeoTiff.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/H264.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/HP.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/HTML.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ICC_Profile.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ID3.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/IPTC.html +3 -3
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ITC.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JFIF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JPEG.html +6 -4
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/JVC.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Jpeg2000.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Kodak.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/KyoceraRaw.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/LNK.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Leaf.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/M2TS.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MIE.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MIFF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MNG.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPC.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPEG.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MPF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MWG.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MXF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Matroska.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Microsoft.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Minolta.html +30 -19
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/MinoltaRaw.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Nikon.html +81 -60
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/NikonCapture.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/NikonCustom.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/OOXML.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Ogg.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Olympus.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/OpenEXR.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PDF.html +6 -6
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PGF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PICT.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PLIST.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PNG.html +25 -18
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PSP.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Panasonic.html +51 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PanasonicRaw.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Pentax.html +23 -6
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhaseOne.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhotoCD.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PhotoMechanic.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Photoshop.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PostScript.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/PrintIM.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Qualcomm.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/QuickTime.html +404 -126
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RIFF.html +19 -13
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RSRC.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/RTF.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Radiance.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Rawzor.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Real.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Reconyx.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Ricoh.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Samsung.html +27 -1
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sanyo.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Scalado.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Shortcuts.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sigma.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/SigmaRaw.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Sony.html +491 -121
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/SonyIDC.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Stim.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Theora.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Torrent.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Unknown.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/Vorbis.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/XMP.html +824 -175
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/ZIP.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/iWork.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/index.html +7 -5
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/TagNames/style.css +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/ancient_history.html +201 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/canon_raw.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/commentary.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/config.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/data_members.html +9 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/exiftool_pod.html +92 -71
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/faq.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/filename.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/geotag.html +13 -9
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/history.html +82 -201
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/htmldump.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/idiosyncracies.html +4 -2
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/index.html +46 -35
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/install.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/metafiles.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/overview.png +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/standards.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/struct.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/style.css +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/under.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/verbose.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/html/writing.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/File/RandomAccess.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/File/RandomAccess.pod +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool.pm +387 -331
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool.pod +101 -81
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AES.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AFCP.pm +14 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/AIFF.pm +17 -17
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/APE.pm +18 -18
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/APP12.pm +21 -21
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ASF.pm +48 -48
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Apple.pm +31 -19
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BMP.pm +4 -4
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BZZ.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BigTIFF.pm +36 -36
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/BuildTagLookup.pm +12 -12
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Canon.pm +126 -38
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonCustom.pm +37 -37
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonRaw.pm +30 -30
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CanonVRD.pm +75 -75
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/CaptureOne.pm +18 -18
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Casio.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset.pm +13 -13
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Arabic.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Baltic.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Cyrillic.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Greek.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Hebrew.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/JIS.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Latin.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Latin2.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacArabic.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacChineseCN.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacChineseTW.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacCroatian.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacCyrillic.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacGreek.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacHebrew.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacIceland.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacJapanese.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacKorean.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacLatin2.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRSymbol.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRoman.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacRomanian.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacThai.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/MacTurkish.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/PDFDoc.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/ShiftJIS.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Symbol.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Thai.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Turkish.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Charset/Vietnam.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DICOM.pm +56 -17
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DNG.pm +85 -85
- data/bin/Image-ExifTool-9.41/lib/Image/ExifTool/DPX.pm +151 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DV.pm +6 -6
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DarwinCore.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/DjVu.pm +14 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/EXE.pm +47 -47
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Exif.pm +126 -116
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FLAC.pm +14 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FLIR.pm +282 -22
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Fixup.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Flash.pm +41 -41
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FlashPix.pm +97 -97
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Font.pm +46 -46
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FotoStation.pm +21 -20
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/FujiFilm.pm +40 -38
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GE.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GIF.pm +32 -32
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GIMP.pm +11 -11
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GPS.pm +3 -3
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/GeoTiff.pm +19 -19
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Geotag.pm +69 -66
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/H264.pm +42 -42
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HP.pm +9 -9
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HTML.pm +16 -16
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/HtmlDump.pm +10 -10
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ICC_Profile.pm +48 -48
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ID3.pm +84 -84
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/IPTC.pm +38 -38
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ITC.pm +11 -11
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Import.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/InDesign.pm +18 -18
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JPEG.pm +10 -6
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JPEGDigest.pm +4 -4
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/JVC.pm +8 -8
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Jpeg2000.pm +50 -58
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Kodak.pm +15 -15
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/KyoceraRaw.pm +4 -4
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/LNK.pm +24 -24
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/cs.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/de.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/en_ca.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/en_gb.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/es.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/fi.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/it.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ja.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ko.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/nl.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/pl.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/ru.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/sv.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/tr.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/zh_cn.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Lang/zh_tw.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Leaf.pm +11 -11
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/M2TS.pm +37 -37
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIE.pm +95 -95
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIEUnits.pod +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MIFF.pm +17 -17
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MNG.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPC.pm +11 -11
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPEG.pm +28 -28
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MPF.pm +22 -22
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MWG.pm +9 -9
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MXF.pm +46 -46
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MakerNotes.pm +61 -59
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Matroska.pm +27 -27
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Microsoft.pm +8 -8
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Minolta.pm +50 -28
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/MinoltaRaw.pm +17 -17
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Nikon.pm +80 -63
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/NikonCapture.pm +29 -29
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/NikonCustom.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/OOXML.pm +20 -20
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Ogg.pm +19 -19
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Olympus.pm +3 -3
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/OpenEXR.pm +16 -16
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PDF.pm +126 -126
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PGF.pm +7 -7
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PICT.pm +18 -18
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PLIST.pm +39 -39
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PNG.pm +141 -95
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PPM.pm +11 -11
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PSP.pm +14 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Panasonic.pm +82 -37
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PanasonicRaw.pm +40 -40
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Pentax.pm +86 -14
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhaseOne.pm +36 -36
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhotoCD.pm +4 -4
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PhotoMechanic.pm +12 -12
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Photoshop.pm +23 -23
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PostScript.pm +36 -36
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/PrintIM.pm +10 -10
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Qualcomm.pm +5 -5
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/QuickTime.pm +528 -219
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/README +5 -3
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RIFF.pm +40 -32
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RSRC.pm +15 -15
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/RTF.pm +15 -15
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Radiance.pm +9 -9
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Rawzor.pm +19 -19
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Real.pm +43 -43
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Reconyx.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Ricoh.pm +24 -24
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Samsung.pm +41 -15
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sanyo.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Scalado.pm +5 -5
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Shift.pl +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Shortcuts.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sigma.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/SigmaRaw.pm +56 -56
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Sony.pm +450 -166
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/SonyIDC.pm +9 -9
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Stim.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagInfoXML.pm +6 -4
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagLookup.pm +1707 -1468
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/TagNames.pod +568 -102
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Theora.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Torrent.pm +11 -11
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Unknown.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Vorbis.pm +5 -5
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteCanonRaw.pl +51 -51
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteExif.pl +273 -273
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteIPTC.pl +44 -44
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePDF.pl +45 -39
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePNG.pl +86 -40
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePhotoshop.pl +27 -27
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WritePostScript.pl +47 -47
- data/bin/Image-ExifTool-9.41/lib/Image/ExifTool/WriteQuickTime.pl +344 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/WriteXMP.pl +112 -112
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/Writer.pl +428 -360
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMP.pm +195 -104
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMP2.pl +1 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/XMPStruct.pl +53 -52
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/ZIP.pm +50 -50
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/lib/Image/ExifTool/iWork.pm +17 -17
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/perl-Image-ExifTool.spec +31 -31
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AFCP_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AIFF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/AIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/APE_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ASF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ASF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BMP.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BMP_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BigTIFF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/BigTIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_4.out +5 -7
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonRaw_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_11.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_12.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_8.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/CanonVRD_9.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon_2.out +4 -3
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Canon_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Casio_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DICOM.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DICOM_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DNG_3.out +0 -0
- data/bin/Image-ExifTool-9.41/t/DPX.t +28 -0
- data/bin/Image-ExifTool-9.41/t/DPX_2.out +35 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DV.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DV_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DjVu.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/DjVu_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/EXE_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_16.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_17.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_20.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_21.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_22.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_23.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_24.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_25.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_26.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_8.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ExifTool_9.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLAC_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FLIR_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FlashPix.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FlashPix_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Flash_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Font_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FotoStation_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/FujiFilm_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GE_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIF_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIMP.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GIMP_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GPS_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/GeoTiff_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag.t +18 -1
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Geotag_8.out +0 -0
- data/bin/Image-ExifTool-9.41/t/Geotag_9.out +7 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/HTML.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/HTML_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/IPTC_8.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ITC.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ITC_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/InDesign_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/JVC_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Jpeg2000_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Kodak_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/KyoceraRaw.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/KyoceraRaw_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/LNK.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/LNK_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_1.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_10.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_11.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_12.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_13.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_14.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_15.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_16.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_17.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_18.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_8.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Lang_9.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/M2TS.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/M2TS_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIE_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIFF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MP3.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MP3_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MWG_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MXF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/MXF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Matroska.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Matroska_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Minolta_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Nikon_8.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Olympus_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/OpenEXR.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/OpenEXR_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_10.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_11.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_12.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_14.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_15.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_16.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_17.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_18.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_19.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_20.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_22.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_8.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PDF_9.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PGF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PGF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PICT.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PICT_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PLIST_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG.t +31 -1
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PNG_4.out +0 -0
- data/bin/Image-ExifTool-9.41/t/PNG_5.out +17 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PPM_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PSP.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PSP_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Panasonic_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Pentax_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoCD.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoCD_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PhotoMechanic_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Photoshop_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/PostScript_3.out +0 -0
- data/bin/Image-ExifTool-9.41/t/QuickTime.t +54 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/QuickTime_2.out +10 -8
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/QuickTime_3.out +10 -8
- data/bin/Image-ExifTool-9.41/t/QuickTime_4.out +16 -0
- data/bin/Image-ExifTool-9.41/t/QuickTime_5.out +12 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RIFF_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RTF.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/RTF_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Radiance.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Radiance_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Real_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Ricoh_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sanyo_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sigma_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Sony_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/TestLib.pm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Torrent.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Torrent_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Unknown_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Vorbis.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Vorbis_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer.t +53 -1
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_10.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_11.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_13.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_14.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_15.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_16.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_17.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_18.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_19.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_22.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_24.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_25.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_26.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_27.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_28.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_29.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_30.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_31.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_32.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_33.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_34.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_35.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_36.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_37.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_38.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_39.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_40.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_41.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_42.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_43.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_44.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_45.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_46.out +8 -6
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_47.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_48.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_50.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_51.out +0 -0
- data/bin/Image-ExifTool-9.41/t/Writer_52.out +22 -0
- data/bin/Image-ExifTool-9.41/t/Writer_53.out +33 -0
- data/bin/Image-ExifTool-9.41/t/Writer_54.out +2 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/Writer_9.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_10.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_11.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_12.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_13.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_14.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_15.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_16.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_17.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_18.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_19.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_20.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_21.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_22.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_23.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_24.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_25.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_26.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_27.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_28.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_29.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_30.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_31.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_32.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_34.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_36.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_37.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_39.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_40.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_41.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_8.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/XMP_9.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP.t +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_2.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_3.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_4.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_5.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_6.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/ZIP_7.out +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/AFCP.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/AIFF.aif +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/APE.ape +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/APE.mpc +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ASF.wmv +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/BMP.bmp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/BigTIFF.btf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Canon.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Canon1DmkIII.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonRaw.cr2 +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonRaw.crw +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CanonVRD.vrd +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CaptureOne.eip +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Casio.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Casio2.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/CasioQVCI.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DICOM.dcm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DNG.dng +0 -0
- data/bin/Image-ExifTool-9.41/t/images/DPX.dpx +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DV.dv +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/DjVu.djvu +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.elf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.exe +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/EXE.macho +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExifTool.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExifTool.tif +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ExtendedXMP.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLAC.flac +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLAC.ogg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLIR.fpf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FLIR.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Flash.flv +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Flash.swf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FlashPix.ppt +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.afm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.dfont +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfa +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfb +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.pfm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Font.ttf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FotoStation.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FujiFilm.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/FujiFilm.raf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GE.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GIF.gif +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GIMP.xcf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GPS.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/GeoTiff.tif +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.gpx +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.igc +0 -0
- data/bin/Image-ExifTool-9.41/t/images/Geotag.kml +55 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.log +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag.xml +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Geotag2.log +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/HTML.html +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/IPTC.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ITC.itc +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/InDesign.indd +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/JVC.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/JVC2.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Jpeg2000.j2c +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Jpeg2000.jp2 +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Kodak.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/KyoceraRaw.raw +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/LNK.lnk +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/M2TS.mts +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MIE.mie +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MIFF.miff +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MP3.mp3 +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MWG.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/MXF.mxf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Matroska.mkv +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Minolta.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Minolta.mrw +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Nikon.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Nikon.nef +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/NikonD2Hs.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/NikonD70.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OOXML.docx +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Olympus.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Olympus2.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OlympusE1.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OpenDoc.ods +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/OpenEXR.exr +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PDF.pdf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PDF2.pdf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PGF.pgf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PICT.pict +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PLIST-bin.plist +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PLIST-xml.plist +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PNG.png +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PPM.ppm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PSP.psp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Panasonic.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Panasonic.rw2 +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Pentax.avi +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Pentax.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PhotoCD.pcd +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PhotoMechanic.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Photoshop.psd +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/PostScript.eps +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/QuickTime.m4a +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/QuickTime.mov +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.avi +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.wav +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RIFF.webp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/RTF.rtf +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Radiance.hdr +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.ra +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.ram +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Real.rm +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Ricoh.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Ricoh2.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sanyo.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sigma.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sigma.x3f +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/SigmaDP2.x3f +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sony.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Sony.pmp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Torrent.torrent +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Unknown.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Vorbis.ogg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/Writer.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.inx +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.jpg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.svg +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.xml +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP.xmp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP2.xmp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP3.xmp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP4.xmp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/XMP5.xmp +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ZIP.gz +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/ZIP.zip +0 -0
- data/bin/{Image-ExifTool-9.37 → Image-ExifTool-9.41}/t/images/iWork.numbers +0 -0
- data/lib/exiftool_vendored.rb +11 -3
- data/lib/exiftool_vendored/version.rb +1 -1
- data/lib/exiftool_vendored/version_extractor.rb +5 -7
- metadata +942 -886
- data/bin/Image-ExifTool-9.37/t/QuickTime.t +0 -31
@@ -15,7 +15,7 @@ use strict;
|
|
15
15
|
use vars qw($VERSION);
|
16
16
|
use Image::ExifTool qw(:DataAccess :Utils);
|
17
17
|
|
18
|
-
$VERSION = '1.
|
18
|
+
$VERSION = '1.02';
|
19
19
|
|
20
20
|
# PGF header information
|
21
21
|
%Image::ExifTool::PGF::Main = (
|
@@ -68,33 +68,33 @@ $VERSION = '1.01';
|
|
68
68
|
# Returns: 1 on success, 0 if this wasn't a valid PGF file
|
69
69
|
sub ProcessPGF($$)
|
70
70
|
{
|
71
|
-
my ($
|
71
|
+
my ($et, $dirInfo) = @_;
|
72
72
|
my $raf = $$dirInfo{RAF};
|
73
73
|
my $buff;
|
74
74
|
|
75
75
|
# read header and check magic number
|
76
76
|
return 0 unless $raf->Read($buff, 24) == 24 and $buff =~ /^PGF(.)/s;
|
77
77
|
my $ver = ord $1;
|
78
|
-
$
|
78
|
+
$et->SetFileType();
|
79
79
|
SetByteOrder('II');
|
80
80
|
|
81
81
|
# currently support only version 0x36
|
82
82
|
unless ($ver == 0x36) {
|
83
|
-
$
|
83
|
+
$et->Error(sprintf('Unsupported PGF version 0x%.2x', $ver));
|
84
84
|
return 1;
|
85
85
|
}
|
86
86
|
# extract information from the PGF header
|
87
87
|
my $tagTablePtr = GetTagTable('Image::ExifTool::PGF::Main');
|
88
|
-
$
|
88
|
+
$et->ProcessDirectory({ DataPt => \$buff, DataPos => 0 }, $tagTablePtr);
|
89
89
|
|
90
90
|
my $len = Get32u(\$buff, 4) - 16; # length of post-header data
|
91
91
|
|
92
92
|
# skip colour table if necessary
|
93
|
-
$len -= $raf->Seek(1024, 1) ? 1024 : $len if $$
|
93
|
+
$len -= $raf->Seek(1024, 1) ? 1024 : $len if $$et{PGFColorMode} == 2;
|
94
94
|
|
95
95
|
# extract information from the embedded metadata image (PNG format)
|
96
96
|
if ($len > 0 and $len < 0x1000000 and $raf->Read($buff, $len) == $len) {
|
97
|
-
$
|
97
|
+
$et->ExtractInfo(\$buff, { ReEntry => 1 });
|
98
98
|
}
|
99
99
|
return 1;
|
100
100
|
}
|
@@ -20,7 +20,7 @@ use strict;
|
|
20
20
|
use vars qw($VERSION);
|
21
21
|
use Image::ExifTool qw(:DataAccess :Utils);
|
22
22
|
|
23
|
-
$VERSION = '1.
|
23
|
+
$VERSION = '1.05';
|
24
24
|
|
25
25
|
sub ReadPictValue($$$;$);
|
26
26
|
|
@@ -1081,10 +1081,10 @@ sub ReadPictValue($$$;$)
|
|
1081
1081
|
# Returns: 1 on success, 0 if this wasn't a valid PICT image
|
1082
1082
|
sub ProcessPICT($$)
|
1083
1083
|
{
|
1084
|
-
my ($
|
1084
|
+
my ($et, $dirInfo) = @_;
|
1085
1085
|
my $raf = $$dirInfo{RAF};
|
1086
|
-
$verbose = $
|
1087
|
-
$out = $
|
1086
|
+
$verbose = $et->Options('Verbose');
|
1087
|
+
$out = $et->Options('TextOut');
|
1088
1088
|
$indent = '';
|
1089
1089
|
my ($buff, $tried, @hdr, $op, $hRes, $vRes);
|
1090
1090
|
|
@@ -1138,14 +1138,14 @@ sub ProcessPICT($$)
|
|
1138
1138
|
$w = int($w * $hRes / 72 + 0.5);
|
1139
1139
|
$h = int($h * $vRes / 72 + 0.5);
|
1140
1140
|
}
|
1141
|
-
$
|
1142
|
-
$
|
1143
|
-
$
|
1144
|
-
$
|
1145
|
-
$
|
1141
|
+
$et->SetFileType();
|
1142
|
+
$et->FoundTag('ImageWidth', $w);
|
1143
|
+
$et->FoundTag('ImageHeight', $h);
|
1144
|
+
$et->FoundTag('XResolution', $hRes) if $hRes;
|
1145
|
+
$et->FoundTag('YResolution', $vRes) if $vRes;
|
1146
1146
|
|
1147
1147
|
# don't extract image opcodes unless verbose
|
1148
|
-
return 1 unless $verbose or $
|
1148
|
+
return 1 unless $verbose or $et->Options('Unknown');
|
1149
1149
|
|
1150
1150
|
$verbose and printf $out "PICT version $vers%s\n", $extended ? ' extended' : '';
|
1151
1151
|
|
@@ -1162,14 +1162,14 @@ sub ProcessPICT($$)
|
|
1162
1162
|
$raf->Read($buff, 2) == 2 or last;
|
1163
1163
|
$op = unpack('n', $buff);
|
1164
1164
|
}
|
1165
|
-
my $tagInfo = $
|
1165
|
+
my $tagInfo = $et->GetTagInfo($tagTablePtr, $op);
|
1166
1166
|
unless ($tagInfo) {
|
1167
1167
|
my $i;
|
1168
1168
|
# search for reserved tag info
|
1169
1169
|
for ($i=0; $i<scalar(@reserved); $i+=2) {
|
1170
1170
|
next unless $op >= $reserved[$i];
|
1171
1171
|
last if $op > $reserved[$i+1];
|
1172
|
-
$tagInfo = $
|
1172
|
+
$tagInfo = $et->GetTagInfo($tagTablePtr, $reserved[$i]);
|
1173
1173
|
last;
|
1174
1174
|
}
|
1175
1175
|
last unless $tagInfo;
|
@@ -1181,7 +1181,7 @@ sub ProcessPICT($$)
|
|
1181
1181
|
}
|
1182
1182
|
my $format = $$tagInfo{Format};
|
1183
1183
|
unless ($format) {
|
1184
|
-
$
|
1184
|
+
$et->Warn("Missing format for $$tagInfo{Name}");
|
1185
1185
|
last;
|
1186
1186
|
}
|
1187
1187
|
# replace version number for version-dependent formats
|
@@ -1190,7 +1190,7 @@ sub ProcessPICT($$)
|
|
1190
1190
|
$verbose and printf $out "Tag 0x%.${wid}x, ", $op;
|
1191
1191
|
my $val = ReadPictValue($raf, $$tagInfo{Name}, $format);
|
1192
1192
|
unless (defined $val) {
|
1193
|
-
$
|
1193
|
+
$et->Warn("Error reading $$tagInfo{Name} information");
|
1194
1194
|
last;
|
1195
1195
|
}
|
1196
1196
|
if (ref $val eq 'HASH') {
|
@@ -1200,15 +1200,15 @@ sub ProcessPICT($$)
|
|
1200
1200
|
$val->{imageDescr}->{compressor} and
|
1201
1201
|
$val->{imageDescr}->{compressor} eq 'Photo - JPEG' and
|
1202
1202
|
ref $val->{imageData} eq 'SCALAR' and
|
1203
|
-
$
|
1203
|
+
$et->ValidateImage($val->{imageData}, 'PreviewImage'))
|
1204
1204
|
{
|
1205
|
-
$
|
1205
|
+
$et->FoundTag('PreviewImage', $val->{imageData});
|
1206
1206
|
}
|
1207
1207
|
} else {
|
1208
|
-
# $
|
1208
|
+
# $et->FoundTag($tagInfo, $val);
|
1209
1209
|
}
|
1210
1210
|
}
|
1211
|
-
$success or $
|
1211
|
+
$success or $et->Warn('End of picture not found');
|
1212
1212
|
return 1;
|
1213
1213
|
}
|
1214
1214
|
|
@@ -20,7 +20,7 @@ use vars qw($VERSION);
|
|
20
20
|
use Image::ExifTool qw(:DataAccess :Utils);
|
21
21
|
use Image::ExifTool::XMP;
|
22
22
|
|
23
|
-
$VERSION = '1.
|
23
|
+
$VERSION = '1.04';
|
24
24
|
|
25
25
|
sub ExtractObject($$;$);
|
26
26
|
sub Get24u($$);
|
@@ -111,15 +111,15 @@ my %readProc = (
|
|
111
111
|
# Returns: 1 if valid tag was found
|
112
112
|
sub FoundTag($$$$;$)
|
113
113
|
{
|
114
|
-
my ($
|
114
|
+
my ($et, $tagTablePtr, $props, $val, $attrs) = @_;
|
115
115
|
return 0 unless @$props;
|
116
|
-
my $verbose = $
|
117
|
-
my $keys = $$
|
116
|
+
my $verbose = $et->Options('Verbose');
|
117
|
+
my $keys = $$et{PListKeys} || ( $$et{PListKeys} = [] );
|
118
118
|
|
119
119
|
my $prop = $$props[-1];
|
120
120
|
if ($verbose > 1) {
|
121
|
-
$
|
122
|
-
|
121
|
+
$et->VPrint(0, $$et{INDENT}, '[', join('/',@$props), ' = ',
|
122
|
+
$et->Printable($val), "]\n");
|
123
123
|
}
|
124
124
|
# un-escape XML character entities
|
125
125
|
$val = Image::ExifTool::XMP::UnescapeXML($val);
|
@@ -140,7 +140,7 @@ sub FoundTag($$$$;$)
|
|
140
140
|
$val = ucfirst $prop;
|
141
141
|
} else {
|
142
142
|
# convert from UTF8 to ExifTool Charset
|
143
|
-
$val = $
|
143
|
+
$val = $et->Decode($val, 'UTF8');
|
144
144
|
if ($prop eq 'key') {
|
145
145
|
if (@$props <= 3) { # top-level key should be plist/dict/key
|
146
146
|
@$keys = ( $val );
|
@@ -159,7 +159,7 @@ sub FoundTag($$$$;$)
|
|
159
159
|
my $tag = join '/', @$keys; # generate tag ID from 'key' values
|
160
160
|
my $tagInfo = $$tagTablePtr{$tag};
|
161
161
|
unless ($tagInfo) {
|
162
|
-
$
|
162
|
+
$et->VPrint(0, $$et{INDENT}, "[adding $tag]\n") if $verbose;
|
163
163
|
# generate tag name from ID
|
164
164
|
my $name = $tag;
|
165
165
|
$name =~ s{^MetaDataList//}{}; # shorten long MODD metadata tag names
|
@@ -174,12 +174,12 @@ sub FoundTag($$$$;$)
|
|
174
174
|
AddTagToTable($tagTablePtr, $tag, $tagInfo);
|
175
175
|
}
|
176
176
|
# allow list-behaviour only for consecutive tags with the same ID
|
177
|
-
if ($$
|
178
|
-
delete $$
|
177
|
+
if ($$et{LastPListTag} and $$et{LastPListTag} ne $tagInfo) {
|
178
|
+
delete $$et{LIST_TAGS}{$$et{LastPListTag}};
|
179
179
|
}
|
180
|
-
$$
|
180
|
+
$$et{LastPListTag} = $tagInfo;
|
181
181
|
# save the tag
|
182
|
-
$
|
182
|
+
$et->HandleTag($tagTablePtr, $tag, $val);
|
183
183
|
|
184
184
|
return 1;
|
185
185
|
}
|
@@ -200,7 +200,7 @@ sub Get24u($$)
|
|
200
200
|
# Returns: the object, or undef on error
|
201
201
|
sub ExtractObject($$;$)
|
202
202
|
{
|
203
|
-
my ($
|
203
|
+
my ($et, $plistInfo, $parent) = @_;
|
204
204
|
my $raf = $$plistInfo{RAF};
|
205
205
|
my ($buff, $val);
|
206
206
|
|
@@ -234,11 +234,11 @@ sub ExtractObject($$;$)
|
|
234
234
|
# $size is the size of the remaining types
|
235
235
|
if ($size == 0x0f) {
|
236
236
|
# size is stored in extra integer object
|
237
|
-
$size = ExtractObject($
|
237
|
+
$size = ExtractObject($et, $plistInfo);
|
238
238
|
return undef unless defined $size and $size =~ /^\d+$/;
|
239
239
|
}
|
240
240
|
if ($type == 4) { # data
|
241
|
-
if ($size < 1000000 or $
|
241
|
+
if ($size < 1000000 or $et->Options('Binary')) {
|
242
242
|
$raf->Read($buff, $size) == $size or return undef;
|
243
243
|
} else {
|
244
244
|
$buff = "Binary data $size bytes";
|
@@ -249,7 +249,7 @@ sub ExtractObject($$;$)
|
|
249
249
|
} elsif ($type == 6) { # UCS-2BE string
|
250
250
|
$size *= 2;
|
251
251
|
$raf->Read($buff, $size) == $size or return undef;
|
252
|
-
$val = $
|
252
|
+
$val = $et->Decode($buff, 'UCS2');
|
253
253
|
} elsif ($type == 10 or $type == 12 or $type == 13) { # array, set or dict
|
254
254
|
# the remaining types store a list of references
|
255
255
|
my $refSize = $$plistInfo{RefSize};
|
@@ -267,26 +267,26 @@ sub ExtractObject($$;$)
|
|
267
267
|
if ($type == 13) { # dict
|
268
268
|
# prevent infinite recursion
|
269
269
|
if (defined $parent and length $parent > 1000) {
|
270
|
-
$
|
270
|
+
$et->WarnOnce('Possible deep recursion while parsing PLIST');
|
271
271
|
return undef;
|
272
272
|
}
|
273
273
|
my $tagTablePtr = $$plistInfo{TagTablePtr};
|
274
|
-
my $verbose = $
|
274
|
+
my $verbose = $et->Options('Verbose');
|
275
275
|
for ($i=0; $i<$size; ++$i) {
|
276
276
|
# get the entry key
|
277
277
|
$raf->Seek($$table[$refs[$i]], 0) or return undef;
|
278
|
-
my $key = ExtractObject($
|
278
|
+
my $key = ExtractObject($et, $plistInfo);
|
279
279
|
next unless defined $key and length $key; # silently ignore bad dict entries
|
280
280
|
# get the entry value
|
281
281
|
$raf->Seek($$table[$refs[$i+$size]], 0) or return undef;
|
282
282
|
# generate an ID for this tag
|
283
283
|
my $tag = defined $parent ? "$parent/$key" : $key;
|
284
284
|
undef $$plistInfo{DateFormat};
|
285
|
-
my $val = ExtractObject($
|
285
|
+
my $val = ExtractObject($et, $plistInfo, $tag);
|
286
286
|
next if not defined $val or ref($val) eq 'HASH';
|
287
|
-
my $tagInfo = $
|
287
|
+
my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
|
288
288
|
unless ($tagInfo) {
|
289
|
-
$
|
289
|
+
$et->VPrint(0, $$et{INDENT}, "[adding $tag]\n") if $verbose;
|
290
290
|
my $name = $tag;
|
291
291
|
$name =~ s/([^A-Za-z])([a-z])/$1\u$2/g; # capitalize words
|
292
292
|
$name =~ tr/-_a-zA-Z0-9//dc; # remove illegal characters
|
@@ -298,18 +298,18 @@ sub ExtractObject($$;$)
|
|
298
298
|
AddTagToTable($tagTablePtr, $tag, $tagInfo);
|
299
299
|
}
|
300
300
|
# allow list-behaviour only for consecutive tags with the same ID
|
301
|
-
if ($$
|
302
|
-
delete $$
|
301
|
+
if ($$et{LastPListTag} and $$et{LastPListTag} ne $tagInfo) {
|
302
|
+
delete $$et{LIST_TAGS}{$$et{LastPListTag}};
|
303
303
|
}
|
304
|
-
$$
|
305
|
-
$
|
304
|
+
$$et{LastPListTag} = $tagInfo;
|
305
|
+
$et->HandleTag($tagTablePtr, $tag, $val);
|
306
306
|
}
|
307
307
|
$val = { }; # flag the value as a dictionary (ie. tags already saved)
|
308
308
|
} else {
|
309
309
|
# extract the referenced objects
|
310
310
|
foreach $ref (@refs) {
|
311
311
|
$raf->Seek($$table[$ref], 0) or return undef; # seek to this object
|
312
|
-
$val = ExtractObject($
|
312
|
+
$val = ExtractObject($et, $plistInfo, $parent);
|
313
313
|
next unless defined $val and ref $val ne 'HASH';
|
314
314
|
push @array, $val;
|
315
315
|
}
|
@@ -326,10 +326,10 @@ sub ExtractObject($$;$)
|
|
326
326
|
# Returns: 1 on success
|
327
327
|
sub ProcessBinaryPLIST($$$)
|
328
328
|
{
|
329
|
-
my ($
|
329
|
+
my ($et, $dirInfo, $tagTablePtr) = @_;
|
330
330
|
my ($i, $buff, @table);
|
331
331
|
|
332
|
-
$
|
332
|
+
$et->VerboseDir('Binary PLIST');
|
333
333
|
SetByteOrder('MM');
|
334
334
|
|
335
335
|
unless ($$dirInfo{RAF}) {
|
@@ -364,7 +364,7 @@ sub ProcessBinaryPLIST($$$)
|
|
364
364
|
);
|
365
365
|
# position file pointer at the top object, and extract it
|
366
366
|
$raf->Seek($table[$topObj], 0) or return 0;
|
367
|
-
my $result = ExtractObject($
|
367
|
+
my $result = ExtractObject($et, \%plistInfo);
|
368
368
|
return defined $result ? 1 : 0;
|
369
369
|
}
|
370
370
|
|
@@ -374,11 +374,11 @@ sub ProcessBinaryPLIST($$$)
|
|
374
374
|
# Returns: 1 on success, 0 if this wasn't valid PLIST
|
375
375
|
sub ProcessPLIST($$;$)
|
376
376
|
{
|
377
|
-
my ($
|
377
|
+
my ($et, $dirInfo, $tagTablePtr) = @_;
|
378
378
|
|
379
379
|
# process XML PLIST data using the XMP module
|
380
380
|
$$dirInfo{XMPParseOpts}{FoundProc} = \&FoundTag;
|
381
|
-
my $result = Image::ExifTool::XMP::ProcessXMP($
|
381
|
+
my $result = Image::ExifTool::XMP::ProcessXMP($et, $dirInfo, $tagTablePtr);
|
382
382
|
delete $$dirInfo{XMPParseOpts};
|
383
383
|
|
384
384
|
unless ($result) {
|
@@ -388,18 +388,18 @@ sub ProcessPLIST($$;$)
|
|
388
388
|
if ($buff =~ /^bplist0/) {
|
389
389
|
# binary PLIST file
|
390
390
|
my $tagTablePtr = GetTagTable('Image::ExifTool::PLIST::Main');
|
391
|
-
$
|
392
|
-
$$
|
393
|
-
unless (ProcessBinaryPLIST($
|
394
|
-
$
|
391
|
+
$et->SetFileType('PLIST', 'application/x-plist');
|
392
|
+
$$et{SET_GROUP1} = 'PLIST';
|
393
|
+
unless (ProcessBinaryPLIST($et, $dirInfo, $tagTablePtr)) {
|
394
|
+
$et->Error('Error reading binary PLIST file');
|
395
395
|
}
|
396
|
-
delete $$
|
396
|
+
delete $$et{SET_GROUP1};
|
397
397
|
$result = 1;
|
398
|
-
} elsif ($$
|
398
|
+
} elsif ($$et{FILE_EXT} and $$et{FILE_EXT} eq 'PLIST' and
|
399
399
|
$buff =~ /^\xfe\xff\x00/)
|
400
400
|
{
|
401
401
|
# (have seen very old PLIST files encoded as UCS-2BE with leading BOM)
|
402
|
-
$
|
402
|
+
$et->Error('Old PLIST format currently not supported');
|
403
403
|
$result = 1;
|
404
404
|
}
|
405
405
|
}
|
@@ -26,15 +26,16 @@ use strict;
|
|
26
26
|
use vars qw($VERSION $AUTOLOAD);
|
27
27
|
use Image::ExifTool qw(:DataAccess :Utils);
|
28
28
|
|
29
|
-
$VERSION = '1.
|
29
|
+
$VERSION = '1.29';
|
30
30
|
|
31
31
|
sub ProcessPNG_tEXt($$$);
|
32
32
|
sub ProcessPNG_iTXt($$$);
|
33
33
|
sub ProcessPNG_Compressed($$$);
|
34
34
|
sub CalculateCRC($;$$$);
|
35
35
|
sub HexEncode($);
|
36
|
-
sub AddChunks(
|
36
|
+
sub AddChunks($$;@);
|
37
37
|
sub Add_iCCP($$);
|
38
|
+
sub DoneDir($$$;$);
|
38
39
|
sub GetLangInfo($$);
|
39
40
|
sub BuildTextChunk($$$$$);
|
40
41
|
|
@@ -117,11 +118,16 @@ $Image::ExifTool::PNG::colorType = -1;
|
|
117
118
|
},
|
118
119
|
iCCP => {
|
119
120
|
Name => 'ICC_Profile',
|
121
|
+
Notes => 'this is where ExifTool will write a new ICC_Profile',
|
120
122
|
SubDirectory => {
|
121
123
|
TagTable => 'Image::ExifTool::ICC_Profile::Main',
|
122
124
|
ProcessProc => \&ProcessPNG_Compressed,
|
123
125
|
},
|
124
126
|
},
|
127
|
+
'iCCP-name' => {
|
128
|
+
Name => 'ProfileName',
|
129
|
+
Notes => 'not a real tag ID, this tag represents the iCCP profile name',
|
130
|
+
},
|
125
131
|
# IDAT
|
126
132
|
# IEND
|
127
133
|
IHDR => {
|
@@ -210,6 +216,7 @@ $Image::ExifTool::PNG::colorType = -1;
|
|
210
216
|
tXMP => {
|
211
217
|
Name => 'XMP',
|
212
218
|
Notes => 'obsolete location specified by a September 2001 XMP draft',
|
219
|
+
NonStandard => 1,
|
213
220
|
SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
|
214
221
|
},
|
215
222
|
vpAg => { # private imagemagick chunk
|
@@ -438,7 +445,7 @@ my %unreg = ( Notes => 'unregistered' );
|
|
438
445
|
# EXIF table must come first because we key on this in ProcessProfile()
|
439
446
|
# (No condition because this is just for BuildTagLookup)
|
440
447
|
Name => 'APP1_Profile',
|
441
|
-
|
448
|
+
Notes => 'unregistered. This is where ExifTool will create new EXIF',
|
442
449
|
SubDirectory => {
|
443
450
|
TagTable => 'Image::ExifTool::Exif::Main',
|
444
451
|
ProcessProc => \&ProcessProfile,
|
@@ -446,6 +453,7 @@ my %unreg = ( Notes => 'unregistered' );
|
|
446
453
|
},
|
447
454
|
{
|
448
455
|
Name => 'APP1_Profile',
|
456
|
+
NonStandard => 1,
|
449
457
|
SubDirectory => {
|
450
458
|
TagTable => 'Image::ExifTool::XMP::Main',
|
451
459
|
ProcessProc => \&ProcessProfile,
|
@@ -478,7 +486,10 @@ my %unreg = ( Notes => 'unregistered' );
|
|
478
486
|
},
|
479
487
|
'Raw profile type iptc' => {
|
480
488
|
Name => 'IPTC_Profile',
|
481
|
-
Notes =>
|
489
|
+
Notes => q{
|
490
|
+
unregistered. May be either IPTC IIM or Photoshop IRB format. This is
|
491
|
+
where ExifTool will add new IPTC, inside a Photoshop IRB container
|
492
|
+
},
|
482
493
|
SubDirectory => {
|
483
494
|
TagTable => 'Image::ExifTool::Photoshop::Main',
|
484
495
|
ProcessProc => \&ProcessProfile,
|
@@ -487,6 +498,7 @@ my %unreg = ( Notes => 'unregistered' );
|
|
487
498
|
'Raw profile type xmp' => {
|
488
499
|
Name => 'XMP_Profile',
|
489
500
|
%unreg,
|
501
|
+
NonStandard => 1,
|
490
502
|
SubDirectory => {
|
491
503
|
TagTable => 'Image::ExifTool::XMP::Main',
|
492
504
|
ProcessProc => \&ProcessProfile,
|
@@ -546,22 +558,22 @@ sub GetLangInfo($$)
|
|
546
558
|
# Returns: 1 on success
|
547
559
|
sub FoundPNG($$$$;$$$$)
|
548
560
|
{
|
549
|
-
my ($
|
561
|
+
my ($et, $tagTablePtr, $tag, $val, $compressed, $outBuff, $enc, $lang) = @_;
|
550
562
|
return 0 unless defined $val;
|
551
|
-
my $verbose = $
|
563
|
+
my $verbose = $et->Options('Verbose');
|
552
564
|
my $id = $tag; # generate tag ID which include language code
|
553
565
|
if ($lang) {
|
554
566
|
# case of language code must be normalized since they are case insensitive
|
555
567
|
$lang = StandardLangCase($lang);
|
556
568
|
$id .= '-' . $lang;
|
557
569
|
}
|
558
|
-
my $tagInfo = $
|
570
|
+
my $tagInfo = $et->GetTagInfo($tagTablePtr, $id) ||
|
559
571
|
# (some software forgets to capitalize first letter)
|
560
|
-
$
|
572
|
+
$et->GetTagInfo($tagTablePtr, ucfirst($id));
|
561
573
|
# create alternate language tag if necessary
|
562
574
|
if (not $tagInfo and $lang) {
|
563
|
-
$tagInfo = $
|
564
|
-
$
|
575
|
+
$tagInfo = $et->GetTagInfo($tagTablePtr, $tag) ||
|
576
|
+
$et->GetTagInfo($tagTablePtr, ucfirst($tag));
|
565
577
|
$tagInfo = GetLangInfo($tagInfo, $lang) if $tagInfo;
|
566
578
|
}
|
567
579
|
#
|
@@ -591,19 +603,19 @@ sub FoundPNG($$$$;$$$$)
|
|
591
603
|
$deflateErr = "Unknown compression method $compressed for $tag";
|
592
604
|
}
|
593
605
|
if ($compressed and $verbose and $tagInfo and $$tagInfo{SubDirectory}) {
|
594
|
-
$
|
606
|
+
$et->VerboseDir("Unable to decompress $$tagInfo{Name}", 0, length($val));
|
595
607
|
}
|
596
608
|
# issue warning if relevant
|
597
609
|
if ($deflateErr and (not $outBuff or
|
598
|
-
($tagInfo and $$tagInfo{SubDirectory} and $$
|
610
|
+
($tagInfo and $$tagInfo{SubDirectory} and $$et{EDIT_DIRS}{$$tagInfo{Name}})))
|
599
611
|
{
|
600
|
-
$
|
612
|
+
$et->Warn($deflateErr);
|
601
613
|
$noCompressLib = 1 if $deflateErr =~ /^Install/;
|
602
614
|
}
|
603
615
|
}
|
604
616
|
# translate character encoding if necessary (tEXt/zTXt/iTXt string values only)
|
605
617
|
if ($enc and not $compressed and not ($tagInfo and $$tagInfo{SubDirectory})) {
|
606
|
-
$val = $
|
618
|
+
$val = $et->Decode($val, $enc);
|
607
619
|
}
|
608
620
|
#
|
609
621
|
# extract information from subdirectory if available
|
@@ -613,15 +625,15 @@ sub FoundPNG($$$$;$$$$)
|
|
613
625
|
my $processed;
|
614
626
|
if ($$tagInfo{SubDirectory} and not $compressed) {
|
615
627
|
my $len = length $val;
|
616
|
-
if ($verbose and
|
628
|
+
if ($verbose and $$et{INDENT} ne ' ') {
|
617
629
|
if ($wasCompressed and $verbose > 2) {
|
618
630
|
my $name = $tagName;
|
619
631
|
$wasCompressed and $name = "Decompressed $name";
|
620
|
-
$
|
621
|
-
$
|
632
|
+
$et->VerboseDir($name, 0, $len);
|
633
|
+
$et->VerboseDump(\$val);
|
622
634
|
}
|
623
635
|
# don't indent next directory (since it is really the same data)
|
624
|
-
|
636
|
+
$$et{INDENT} =~ s/..$//;
|
625
637
|
}
|
626
638
|
my $subdir = $$tagInfo{SubDirectory};
|
627
639
|
my $processProc = $$subdir{ProcessProc};
|
@@ -642,13 +654,27 @@ sub FoundPNG($$$$;$$$$)
|
|
642
654
|
undef $processProc if $wasCompressed and $processProc eq \&ProcessPNG_Compressed;
|
643
655
|
# rewrite this directory if necessary (but always process TextualData normally)
|
644
656
|
if ($outBuff and not $processProc and $subTable ne \%Image::ExifTool::PNG::TextualData) {
|
645
|
-
return 1 unless
|
646
|
-
$$outBuff = $
|
647
|
-
|
648
|
-
|
649
|
-
|
657
|
+
return 1 unless $$et{EDIT_DIRS}{$tagName};
|
658
|
+
$$outBuff = $et->WriteDirectory(\%subdirInfo, $subTable);
|
659
|
+
if ($tagName eq 'XMP' and $$outBuff) {
|
660
|
+
if ($$et{FoundIDAT} and $$et{DEL_GROUP}{XMP}) {
|
661
|
+
$et->VPrint(0,' Deleting XMP');
|
662
|
+
$$outBuff = '';
|
663
|
+
} else {
|
664
|
+
# make sure the XMP is marked as read-only
|
665
|
+
Image::ExifTool::XMP::ValidateXMP($outBuff,'r');
|
666
|
+
}
|
667
|
+
}
|
668
|
+
DoneDir($et, $tagName, $outBuff, $$tagInfo{NonStandard});
|
650
669
|
} else {
|
651
|
-
|
670
|
+
# issue warning for standard XMP after IDAT (PNGEarlyXMP option)
|
671
|
+
if ($tagName eq 'XMP' and not $$tagInfo{NonStandard} and
|
672
|
+
$$et{FoundIDAT} and $$et{FoundIDAT} == 2)
|
673
|
+
{
|
674
|
+
$et->Warn('XMP found after PNG IDAT');
|
675
|
+
$$et{FoundIDAT} = 1;
|
676
|
+
}
|
677
|
+
$processed = $et->ProcessDirectory(\%subdirInfo, $subTable, $processProc);
|
652
678
|
}
|
653
679
|
$compressed = 1; # pretend this is compressed since it is binary data
|
654
680
|
}
|
@@ -660,43 +686,45 @@ sub FoundPNG($$$$;$$$$)
|
|
660
686
|
{
|
661
687
|
# write new value for this tag if necessary
|
662
688
|
my $newVal;
|
663
|
-
if (
|
689
|
+
if ($$et{DEL_GROUP}{PNG} or $$et{PNGDoneTag}{$tag} or
|
690
|
+
$$et{PNGDoneTag}{ucfirst $tag})
|
691
|
+
{
|
664
692
|
# remove this tag now, but keep in ADD_PNG list to add back later
|
665
693
|
$isOverwriting = 1;
|
666
694
|
} else {
|
667
695
|
# remove this from the list of PNG tags to add
|
668
|
-
delete
|
696
|
+
delete $$et{ADD_PNG}{$id};
|
669
697
|
# (also handle case of tEXt tags written with lowercase first letter)
|
670
|
-
delete
|
671
|
-
my $nvHash = $
|
672
|
-
$isOverwriting = $
|
698
|
+
delete $$et{ADD_PNG}{ucfirst($id)};
|
699
|
+
my $nvHash = $et->GetNewValueHash($tagInfo);
|
700
|
+
$isOverwriting = $et->IsOverwriting($nvHash);
|
673
701
|
if (defined $deflateErr) {
|
674
|
-
$newVal = $
|
702
|
+
$newVal = $et->GetNewValues($nvHash);
|
675
703
|
# can only write tag now if always overwriting
|
676
704
|
if ($isOverwriting > 0) {
|
677
705
|
$val = '<deflate error>';
|
678
706
|
} elsif ($isOverwriting) {
|
679
707
|
$isOverwriting = 0; # can't overwrite
|
680
|
-
$
|
708
|
+
$et->Warn($deflateErr) if $deflateErr;
|
681
709
|
}
|
682
710
|
} else {
|
683
711
|
if ($isOverwriting < 0) {
|
684
|
-
$isOverwriting = $
|
712
|
+
$isOverwriting = $et->IsOverwriting($nvHash, $val);
|
685
713
|
}
|
686
714
|
# (must get new value after IsOverwriting() in case it was shifted)
|
687
|
-
$newVal = $
|
715
|
+
$newVal = $et->GetNewValues($nvHash);
|
688
716
|
}
|
689
717
|
}
|
690
718
|
if ($isOverwriting) {
|
691
719
|
$$outBuff = (defined $newVal) ? $newVal : '';
|
692
|
-
|
693
|
-
$
|
694
|
-
$
|
720
|
+
++$$et{CHANGED};
|
721
|
+
$et->VerboseValue("- PNG:$tagName", $val);
|
722
|
+
$et->VerboseValue("+ PNG:$tagName", $newVal) if defined $newVal;
|
695
723
|
}
|
696
724
|
}
|
697
725
|
if (defined $$outBuff and length $$outBuff) {
|
698
726
|
if ($enc) { # must be tEXt/zTXt/iTXt if $enc is set
|
699
|
-
$$outBuff = BuildTextChunk($
|
727
|
+
$$outBuff = BuildTextChunk($et, $tag, $tagInfo, $$outBuff, $lang);
|
700
728
|
} elsif ($wasCompressed) {
|
701
729
|
# re-compress the output data
|
702
730
|
my $deflate;
|
@@ -709,7 +737,7 @@ sub FoundPNG($$$$;$$$$)
|
|
709
737
|
undef $$outBuff;
|
710
738
|
}
|
711
739
|
}
|
712
|
-
$$outBuff or $
|
740
|
+
$$outBuff or $et->Warn("PNG:$tagName not written (compress error)");
|
713
741
|
}
|
714
742
|
}
|
715
743
|
return 1;
|
@@ -732,7 +760,7 @@ sub FoundPNG($$$$;$$$$)
|
|
732
760
|
# since we aren't decoding it anyway;
|
733
761
|
my $subdir = $$tagInfo{SubDirectory};
|
734
762
|
delete $$tagInfo{SubDirectory};
|
735
|
-
$
|
763
|
+
$et->VerboseInfo($tag, $tagInfo,
|
736
764
|
Table => $tagTablePtr,
|
737
765
|
DataPt => \$val,
|
738
766
|
);
|
@@ -744,7 +772,7 @@ sub FoundPNG($$$$;$$$$)
|
|
744
772
|
$$tagInfo{RawConv} = '\$val';
|
745
773
|
$delRawConv = 1;
|
746
774
|
}
|
747
|
-
$
|
775
|
+
$et->FoundTag($tagInfo, $val);
|
748
776
|
delete $$tagInfo{RawConv} if $delRawConv;
|
749
777
|
return 1;
|
750
778
|
}
|
@@ -755,7 +783,7 @@ sub FoundPNG($$$$;$$$$)
|
|
755
783
|
# Returns: 1 on success
|
756
784
|
sub ProcessProfile($$$)
|
757
785
|
{
|
758
|
-
my ($
|
786
|
+
my ($et, $dirInfo, $tagTablePtr) = @_;
|
759
787
|
my $dataPt = $$dirInfo{DataPt};
|
760
788
|
my $tagInfo = $$dirInfo{TagInfo};
|
761
789
|
my $outBuff = $$dirInfo{OutBuff};
|
@@ -770,17 +798,17 @@ sub ProcessProfile($$$)
|
|
770
798
|
my $buff = pack('H*', join('',split(' ',$3)));
|
771
799
|
my $actualLen = length $buff;
|
772
800
|
if ($len ne $actualLen) {
|
773
|
-
$
|
801
|
+
$et->Warn("$tagName is wrong size (should be $len bytes but is $actualLen)");
|
774
802
|
$len = $actualLen;
|
775
803
|
}
|
776
|
-
my $verbose = $
|
804
|
+
my $verbose = $et->Options('Verbose');
|
777
805
|
if ($verbose) {
|
778
806
|
if ($verbose > 2) {
|
779
|
-
$
|
780
|
-
$
|
807
|
+
$et->VerboseDir("Decoded $tagName", 0, $len);
|
808
|
+
$et->VerboseDump(\$buff);
|
781
809
|
}
|
782
810
|
# don't indent next directory (since it is really the same data)
|
783
|
-
|
811
|
+
$$et{INDENT} =~ s/..$//;
|
784
812
|
}
|
785
813
|
my %dirInfo = (
|
786
814
|
Parent => 'PNG',
|
@@ -791,12 +819,11 @@ sub ProcessProfile($$$)
|
|
791
819
|
Base => 0,
|
792
820
|
OutFile => $outBuff,
|
793
821
|
);
|
794
|
-
$$
|
822
|
+
$$et{PROCESSED} = { }; # reset processed directory offsets
|
795
823
|
my $processed = 0;
|
796
|
-
my $oldChanged =
|
824
|
+
my $oldChanged = $$et{CHANGED};
|
797
825
|
my $exifTable = GetTagTable('Image::ExifTool::Exif::Main');
|
798
|
-
my $editDirs =
|
799
|
-
my $addDirs = $exifTool->{ADD_DIRS};
|
826
|
+
my $editDirs = $$et{EDIT_DIRS};
|
800
827
|
|
801
828
|
if ($tagTablePtr ne $exifTable) {
|
802
829
|
# this is unfortunate, but the "IPTC" profile may be stored as either
|
@@ -810,10 +837,10 @@ sub ProcessProfile($$$)
|
|
810
837
|
my $dir = $tagName;
|
811
838
|
$dir =~ s/_Profile// unless $dir =~ /^ICC/;
|
812
839
|
return 1 unless $$editDirs{$dir};
|
813
|
-
$$outBuff = $
|
814
|
-
|
840
|
+
$$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr);
|
841
|
+
DoneDir($et, $dir, $outBuff);
|
815
842
|
} else {
|
816
|
-
$processed = $
|
843
|
+
$processed = $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
817
844
|
}
|
818
845
|
} elsif ($buff =~ /^$Image::ExifTool::exifAPP1hdr/) {
|
819
846
|
# APP1 EXIF information
|
@@ -822,12 +849,12 @@ sub ProcessProfile($$$)
|
|
822
849
|
$dirInfo{DirStart} += $hdrLen;
|
823
850
|
$dirInfo{DirLen} -= $hdrLen;
|
824
851
|
if ($outBuff) {
|
825
|
-
$$outBuff = $
|
826
|
-
|
852
|
+
$$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr,
|
853
|
+
\&Image::ExifTool::WriteTIFF);
|
827
854
|
$$outBuff = $Image::ExifTool::exifAPP1hdr . $$outBuff if $$outBuff;
|
828
|
-
|
855
|
+
DoneDir($et, 'IFD0', $outBuff);
|
829
856
|
} else {
|
830
|
-
$processed = $
|
857
|
+
$processed = $et->ProcessTIFF(\%dirInfo);
|
831
858
|
}
|
832
859
|
} elsif ($buff =~ /^$Image::ExifTool::xmpAPP1hdr/) {
|
833
860
|
# APP1 XMP information
|
@@ -837,30 +864,30 @@ sub ProcessProfile($$$)
|
|
837
864
|
$dirInfo{DirLen} -= $hdrLen;
|
838
865
|
if ($outBuff) {
|
839
866
|
return 1 unless $$editDirs{XMP};
|
840
|
-
$$outBuff = $
|
867
|
+
$$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr);
|
841
868
|
$$outBuff and $$outBuff = $Image::ExifTool::xmpAPP1hdr . $$outBuff;
|
842
|
-
|
869
|
+
DoneDir($et, 'XMP', $outBuff, 1);
|
843
870
|
} else {
|
844
|
-
$processed = $
|
871
|
+
$processed = $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
845
872
|
}
|
846
873
|
} elsif ($buff =~ /^(MM\0\x2a|II\x2a\0)/) {
|
847
874
|
# TIFF information (haven't seen this, but what the heck...)
|
848
875
|
return 1 if $outBuff and not $$editDirs{IFD0};
|
849
876
|
if ($outBuff) {
|
850
|
-
$$outBuff = $
|
851
|
-
|
877
|
+
$$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr,
|
878
|
+
\&Image::ExifTool::WriteTIFF);
|
852
879
|
$$outBuff = $Image::ExifTool::exifAPP1hdr . $$outBuff if $$outBuff;
|
853
|
-
|
880
|
+
CheckDir($et, 'IFD0', $outBuff);
|
854
881
|
} else {
|
855
|
-
$processed = $
|
882
|
+
$processed = $et->ProcessTIFF(\%dirInfo);
|
856
883
|
}
|
857
884
|
} else {
|
858
885
|
my $profName = $profileType;
|
859
886
|
$profName =~ tr/\x00-\x1f\x7f-\xff/./;
|
860
|
-
$
|
887
|
+
$et->Warn("Unknown raw profile '$profName'");
|
861
888
|
}
|
862
889
|
if ($outBuff and defined $$outBuff and length $$outBuff) {
|
863
|
-
if (
|
890
|
+
if ($$et{CHANGED} != $oldChanged) {
|
864
891
|
my $hdr = sprintf("\n%s\n%8d\n", $profileType, length($$outBuff));
|
865
892
|
# hex encode the data
|
866
893
|
$$outBuff = $hdr . HexEncode($outBuff);
|
@@ -878,7 +905,7 @@ sub ProcessProfile($$$)
|
|
878
905
|
# Notes: writes new chunk data to ${$$dirInfo{OutBuff}} if writing tag
|
879
906
|
sub ProcessPNG_Compressed($$$)
|
880
907
|
{
|
881
|
-
my ($
|
908
|
+
my ($et, $dirInfo, $tagTablePtr) = @_;
|
882
909
|
my ($tag, $val) = split /\0/, ${$$dirInfo{DataPt}}, 2;
|
883
910
|
return 0 unless defined $val;
|
884
911
|
# set compressed to 2 + compression method to decompress the data
|
@@ -889,12 +916,15 @@ sub ProcessPNG_Compressed($$$)
|
|
889
916
|
my $outBuff = $$dirInfo{OutBuff};
|
890
917
|
# use the PNG chunk tag instead of the embedded tag name for iCCP chunks
|
891
918
|
if ($$dirInfo{TagInfo} and $$dirInfo{TagInfo}->{Name} eq 'ICC_Profile') {
|
892
|
-
$
|
919
|
+
$et->VerboseDir('iCCP');
|
893
920
|
$tagTablePtr = \%Image::ExifTool::PNG::Main;
|
894
|
-
|
921
|
+
if (length($tag) and not $outBuff) {
|
922
|
+
FoundPNG($et, $tagTablePtr, 'iCCP-name', $tag);
|
923
|
+
}
|
924
|
+
$success = FoundPNG($et, $tagTablePtr, 'iCCP', $val, $compressed, $outBuff);
|
895
925
|
$$outBuff = $hdr . $$outBuff if $outBuff and $$outBuff;
|
896
926
|
} else {
|
897
|
-
$success = FoundPNG($
|
927
|
+
$success = FoundPNG($et, $tagTablePtr, $tag, $val, $compressed, $outBuff, 'Latin');
|
898
928
|
}
|
899
929
|
return $success;
|
900
930
|
}
|
@@ -906,10 +936,10 @@ sub ProcessPNG_Compressed($$$)
|
|
906
936
|
# Notes: writes new chunk data to ${$$dirInfo{OutBuff}} if writing tag
|
907
937
|
sub ProcessPNG_tEXt($$$)
|
908
938
|
{
|
909
|
-
my ($
|
939
|
+
my ($et, $dirInfo, $tagTablePtr) = @_;
|
910
940
|
my ($tag, $val) = split /\0/, ${$$dirInfo{DataPt}}, 2;
|
911
941
|
my $outBuff = $$dirInfo{OutBuff};
|
912
|
-
return FoundPNG($
|
942
|
+
return FoundPNG($et, $tagTablePtr, $tag, $val, undef, $outBuff, 'Latin');
|
913
943
|
}
|
914
944
|
|
915
945
|
#------------------------------------------------------------------------------
|
@@ -919,7 +949,7 @@ sub ProcessPNG_tEXt($$$)
|
|
919
949
|
# Notes: writes new chunk data to ${$$dirInfo{OutBuff}} if writing tag
|
920
950
|
sub ProcessPNG_iTXt($$$)
|
921
951
|
{
|
922
|
-
my ($
|
952
|
+
my ($et, $dirInfo, $tagTablePtr) = @_;
|
923
953
|
my ($tag, $dat) = split /\0/, ${$$dirInfo{DataPt}}, 2;
|
924
954
|
return 0 unless defined $dat and length($dat) >= 4;
|
925
955
|
my ($compressed, $meth) = unpack('CC', $dat);
|
@@ -927,7 +957,7 @@ sub ProcessPNG_iTXt($$$)
|
|
927
957
|
# set compressed flag so we will decompress it in FoundPNG()
|
928
958
|
$compressed and $compressed = 2 + $meth;
|
929
959
|
my $outBuff = $$dirInfo{OutBuff};
|
930
|
-
return FoundPNG($
|
960
|
+
return FoundPNG($et, $tagTablePtr, $tag, $val, $compressed, $outBuff, 'UTF8', $lang);
|
931
961
|
}
|
932
962
|
|
933
963
|
#------------------------------------------------------------------------------
|
@@ -936,7 +966,7 @@ sub ProcessPNG_iTXt($$$)
|
|
936
966
|
# Returns: 1 on success, 0 if this wasn't a valid PNG image, or -1 on write error
|
937
967
|
sub ProcessPNG($$)
|
938
968
|
{
|
939
|
-
my ($
|
969
|
+
my ($et, $dirInfo) = @_;
|
940
970
|
my $outfile = $$dirInfo{OutFile};
|
941
971
|
my $raf = $$dirInfo{RAF};
|
942
972
|
my $datChunk = '';
|
@@ -946,34 +976,44 @@ sub ProcessPNG($$)
|
|
946
976
|
|
947
977
|
# check to be sure this is a valid PNG/MNG/JNG image
|
948
978
|
return 0 unless $raf->Read($sig,8) == 8 and $pngLookup{$sig};
|
979
|
+
|
980
|
+
my $earlyXMP = $et->Options('PNGEarlyXMP');
|
949
981
|
if ($outfile) {
|
950
|
-
delete $$
|
982
|
+
delete $$et{TextChunkType};
|
951
983
|
Write($outfile, $sig) or $err = 1 if $outfile;
|
952
984
|
# can only add tags in Main and TextualData tables
|
953
|
-
|
985
|
+
$$et{ADD_PNG} = $et->GetNewTagInfoHash(
|
954
986
|
\%Image::ExifTool::PNG::Main,
|
955
987
|
\%Image::ExifTool::PNG::TextualData);
|
988
|
+
# NOTE: PNGDoneTag and PNGDoneDir are used to keep track of metadata added
|
989
|
+
# before the PNG IEND chunk is encountered. Currently this is implemented
|
990
|
+
# only for XMP (written before IDAT with the PNGEarlyXMP option), but
|
991
|
+
# may be implemented in the future for other types - PH
|
992
|
+
$$et{PNGDoneTag} = { };
|
993
|
+
$$et{PNGDoneDir} = { };
|
956
994
|
# initialize with same directories, with PNG tags taking priority
|
957
|
-
$
|
995
|
+
$et->InitWriteDirs(\%pngMap,'PNG');
|
996
|
+
# write XMP before IDAT if we would delete it later anyway
|
997
|
+
$earlyXMP = 1 if $$et{DEL_GROUP}{XMP};
|
958
998
|
}
|
959
999
|
my ($fileType, $hdrChunk, $endChunk) = @{$pngLookup{$sig}};
|
960
|
-
$
|
1000
|
+
$et->SetFileType($fileType); # set the FileType tag
|
961
1001
|
SetByteOrder('MM'); # PNG files are big-endian
|
962
1002
|
my $tagTablePtr = GetTagTable('Image::ExifTool::PNG::Main');
|
963
1003
|
my $mngTablePtr;
|
964
1004
|
if ($fileType ne 'PNG') {
|
965
1005
|
$mngTablePtr = GetTagTable('Image::ExifTool::MNG::Main');
|
966
1006
|
}
|
967
|
-
my $verbose = $
|
968
|
-
my $out = $
|
1007
|
+
my $verbose = $et->Options('Verbose');
|
1008
|
+
my $out = $et->Options('TextOut');
|
969
1009
|
my ($hbuf, $dbuf, $cbuf, $foundHdr);
|
970
1010
|
|
971
1011
|
# process the PNG/MNG/JNG chunks
|
972
1012
|
undef $noCompressLib;
|
973
1013
|
for (;;) {
|
974
|
-
$raf->Read($hbuf,8) == 8 or $
|
1014
|
+
$raf->Read($hbuf,8) == 8 or $et->Warn("Truncated $fileType image"), last;
|
975
1015
|
my ($len, $chunk) = unpack('Na4',$hbuf);
|
976
|
-
$len > 0x7fffffff and $
|
1016
|
+
$len > 0x7fffffff and $et->Warn("Invalid $fileType box size"), last;
|
977
1017
|
if ($verbose) {
|
978
1018
|
# don't dump image data chunks in verbose mode (only give count instead)
|
979
1019
|
if ($datCount and $chunk ne $datChunk) {
|
@@ -991,11 +1031,15 @@ sub ProcessPNG($$)
|
|
991
1031
|
if ($outfile) {
|
992
1032
|
if ($chunk eq 'IEND') {
|
993
1033
|
# add any new chunks immediately before the IEND chunk
|
994
|
-
AddChunks($
|
1034
|
+
AddChunks($et, $outfile) or $err = 1;
|
995
1035
|
} elsif ($chunk eq 'PLTE' or $chunk eq 'IDAT') {
|
1036
|
+
# add XMP before IDAT if specified
|
1037
|
+
if ($earlyXMP and $chunk eq 'IDAT') {
|
1038
|
+
AddChunks($et, $outfile, 'XMP') or $err = 1;
|
1039
|
+
}
|
996
1040
|
# iCCP chunk must come before PLTE and IDAT
|
997
1041
|
# (ignore errors -- will add later as text profile if this fails)
|
998
|
-
Add_iCCP($
|
1042
|
+
Add_iCCP($et, $outfile);
|
999
1043
|
}
|
1000
1044
|
}
|
1001
1045
|
if ($chunk eq $endChunk) {
|
@@ -1010,18 +1054,20 @@ sub ProcessPNG($$)
|
|
1010
1054
|
$ok = 1;
|
1011
1055
|
last;
|
1012
1056
|
}
|
1057
|
+
# set FoundIDAT flag: 1=after IDAT, 2=after IDAT and warn about late XMP
|
1058
|
+
$$et{FoundIDAT} = $earlyXMP ? 2 : 1 if $chunk eq 'IDAT';
|
1013
1059
|
# read chunk data and CRC
|
1014
1060
|
unless ($raf->Read($dbuf,$len)==$len and $raf->Read($cbuf, 4)==4) {
|
1015
|
-
$
|
1061
|
+
$et->Warn("Corrupted $fileType image");
|
1016
1062
|
last;
|
1017
1063
|
}
|
1018
1064
|
unless ($foundHdr) {
|
1019
1065
|
if ($chunk eq $hdrChunk) {
|
1020
1066
|
$foundHdr = 1;
|
1021
1067
|
} elsif ($hdrChunk eq 'IHDR' and $chunk eq 'CgBI') {
|
1022
|
-
$
|
1068
|
+
$et->Warn('Non-standard PNG image (Apple iPhone format)');
|
1023
1069
|
} else {
|
1024
|
-
$
|
1070
|
+
$et->Warn("$fileType image did not start with $hdrChunk");
|
1025
1071
|
last;
|
1026
1072
|
}
|
1027
1073
|
}
|
@@ -1029,29 +1075,29 @@ sub ProcessPNG($$)
|
|
1029
1075
|
# check CRC when in verbose mode (since we don't care about speed)
|
1030
1076
|
my $crc = CalculateCRC(\$hbuf, undef, 4);
|
1031
1077
|
$crc = CalculateCRC(\$dbuf, $crc);
|
1032
|
-
$crc == unpack('N',$cbuf) or $
|
1078
|
+
$crc == unpack('N',$cbuf) or $et->Warn("Bad CRC for $chunk chunk");
|
1033
1079
|
if ($datChunk) {
|
1034
1080
|
Write($outfile, $hbuf, $dbuf, $cbuf) or $err = 1 if $outfile;
|
1035
1081
|
next;
|
1036
1082
|
}
|
1037
1083
|
print $out "$fileType $chunk ($len bytes):\n";
|
1038
|
-
$
|
1084
|
+
$et->VerboseDump(\$dbuf, Addr => $raf->Tell() - $len - 4) if $verbose > 2;
|
1039
1085
|
}
|
1040
1086
|
# only extract information from chunks in our tables
|
1041
1087
|
my ($theBuff, $outBuff);
|
1042
1088
|
$outBuff = \$theBuff if $outfile;
|
1043
1089
|
if ($$tagTablePtr{$chunk}) {
|
1044
|
-
FoundPNG($
|
1090
|
+
FoundPNG($et, $tagTablePtr, $chunk, $dbuf, undef, $outBuff);
|
1045
1091
|
} elsif ($mngTablePtr and $$mngTablePtr{$chunk}) {
|
1046
|
-
FoundPNG($
|
1092
|
+
FoundPNG($et, $mngTablePtr, $chunk, $dbuf, undef, $outBuff);
|
1047
1093
|
}
|
1048
1094
|
if ($outfile) {
|
1049
1095
|
if (defined $theBuff) {
|
1050
1096
|
next unless length $theBuff; # empty if we deleted the information
|
1051
1097
|
# change chunk type if necessary
|
1052
|
-
if ($$
|
1053
|
-
$chunk = $$
|
1054
|
-
delete $$
|
1098
|
+
if ($$et{TextChunkType}) {
|
1099
|
+
$chunk = $$et{TextChunkType};
|
1100
|
+
delete $$et{TextChunkType};
|
1055
1101
|
}
|
1056
1102
|
$hbuf = pack('Na4', length($theBuff), $chunk);
|
1057
1103
|
$dbuf = $theBuff;
|