exiftool-vendored.pl 12.31.0 → 12.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +10 -3
- package/bin/Changes +130 -4
- package/bin/MANIFEST +3 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +45 -45
- package/bin/arg_files/xmp2exif.args +2 -1
- package/bin/exiftool +128 -96
- package/bin/lib/File/RandomAccess.pm +1 -1
- package/bin/lib/File/RandomAccess.pod +2 -2
- package/bin/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/APE.pm +1 -1
- package/bin/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/lib/Image/ExifTool/ASF.pm +1 -1
- package/bin/lib/Image/ExifTool/Apple.pm +1 -1
- package/bin/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +17 -5
- package/bin/lib/Image/ExifTool/CBOR.pm +331 -0
- package/bin/lib/Image/ExifTool/Canon.pm +171 -13
- package/bin/lib/Image/ExifTool/CanonCustom.pm +13 -3
- package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/lib/Image/ExifTool/Casio.pm +1 -1
- package/bin/lib/Image/ExifTool/Charset.pm +3 -1
- package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- package/bin/lib/Image/ExifTool/DJI.pm +1 -1
- package/bin/lib/Image/ExifTool/DNG.pm +1 -1
- package/bin/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/lib/Image/ExifTool/DarwinCore.pm +3 -3
- package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/lib/Image/ExifTool/EXE.pm +1 -1
- package/bin/lib/Image/ExifTool/Exif.pm +118 -4
- package/bin/lib/Image/ExifTool/FITS.pm +1 -1
- package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIR.pm +48 -11
- package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- package/bin/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- package/bin/lib/Image/ExifTool/Font.pm +1 -1
- package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- package/bin/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/lib/Image/ExifTool/GIF.pm +6 -2
- package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/lib/Image/ExifTool/GPS.pm +15 -11
- package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +14 -3
- package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- package/bin/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/lib/Image/ExifTool/HP.pm +1 -1
- package/bin/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +97 -5
- package/bin/lib/Image/ExifTool/ID3.pm +1 -1
- package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- package/bin/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/lib/Image/ExifTool/Import.pm +1 -1
- package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/lib/Image/ExifTool/JPEG.pm +6 -2
- package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/lib/Image/ExifTool/JSON.pm +8 -4
- package/bin/lib/Image/ExifTool/JVC.pm +1 -1
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +155 -25
- package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/lib/Image/ExifTool/LNK.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- package/bin/lib/Image/ExifTool/MIE.pm +1 -1
- package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/lib/Image/ExifTool/MXF.pm +1 -1
- package/bin/lib/Image/ExifTool/MacOS.pm +3 -3
- package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/lib/Image/ExifTool/Matroska.pm +9 -5
- package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/lib/Image/ExifTool/Nikon.pm +1895 -74
- package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/lib/Image/ExifTool/NikonCustom.pm +523 -6
- package/bin/lib/Image/ExifTool/NikonSettings.pm +150 -87
- package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- package/bin/lib/Image/ExifTool/Olympus.pm +6 -2
- package/bin/lib/Image/ExifTool/OpenEXR.pm +5 -3
- package/bin/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/lib/Image/ExifTool/PDF.pm +6 -4
- package/bin/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/lib/Image/ExifTool/PNG.pm +29 -8
- package/bin/lib/Image/ExifTool/PPM.pm +1 -1
- package/bin/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/lib/Image/ExifTool/Panasonic.pm +3 -3
- package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/lib/Image/ExifTool/Pentax.pm +4 -2
- package/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/lib/Image/ExifTool/QuickTime.pm +25 -4
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +125 -81
- package/bin/lib/Image/ExifTool/README +9 -2
- package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/lib/Image/ExifTool/RTF.pm +1 -1
- package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- package/bin/lib/Image/ExifTool/Samsung.pm +1 -1
- package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/lib/Image/ExifTool/Shift.pl +3 -1
- package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Sony.pm +34 -14
- package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/lib/Image/ExifTool/TagInfoXML.pm +11 -6
- package/bin/lib/Image/ExifTool/TagLookup.pm +6589 -5877
- package/bin/lib/Image/ExifTool/TagNames.pod +1681 -65
- package/bin/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/lib/Image/ExifTool/VCard.pm +1 -1
- package/bin/lib/Image/ExifTool/Validate.pm +1 -1
- package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
- package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +12 -1
- package/bin/lib/Image/ExifTool/WriteXMP.pl +11 -12
- package/bin/lib/Image/ExifTool/Writer.pl +56 -10
- package/bin/lib/Image/ExifTool/XMP.pm +164 -52
- package/bin/lib/Image/ExifTool/XMP2.pl +6 -3
- package/bin/lib/Image/ExifTool/XMPStruct.pl +4 -2
- package/bin/lib/Image/ExifTool/ZIP.pm +10 -2
- package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/lib/Image/ExifTool.pm +98 -23
- package/bin/lib/Image/ExifTool.pod +76 -67
- package/bin/perl-Image-ExifTool.spec +43 -43
- package/bin/pp_build_exe.args +6 -5
- package/package.json +3 -3
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
# Revisions: Nov. 12/2003 - P. Harvey Created
|
|
9
9
|
# (See html/history.html for revision history)
|
|
10
10
|
#
|
|
11
|
-
# Legal: Copyright (c) 2003-
|
|
11
|
+
# Legal: Copyright (c) 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
12
12
|
# This library is free software; you can redistribute it and/or
|
|
13
13
|
# modify it under the same terms as Perl itself.
|
|
14
14
|
#------------------------------------------------------------------------------
|
|
@@ -26,10 +26,10 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
|
26
26
|
$psAPP13hdr $psAPP13old @loadAllTables %UserDefined $evalWarning
|
|
27
27
|
%noWriteFile %magicNumber @langs $defaultLang %langName %charsetName
|
|
28
28
|
%mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
|
|
29
|
-
%jpegMarker %specialTags %fileTypeLookup $testLen $
|
|
29
|
+
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
|
30
30
|
%static_vars);
|
|
31
31
|
|
|
32
|
-
$VERSION = '12.
|
|
32
|
+
$VERSION = '12.39';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -406,6 +406,8 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
|
406
406
|
# NDPI => ['TIFF', 'Hamamatsu NanoZoomer Digital Pathology Image'],
|
|
407
407
|
NEF => ['TIFF', 'Nikon (RAW) Electronic Format'],
|
|
408
408
|
NEWER => 'COS',
|
|
409
|
+
NKSC => ['XMP', 'Nikon Sidecar'],
|
|
410
|
+
|
|
409
411
|
NMBTEMPLATE => ['ZIP','Apple Numbers Template'],
|
|
410
412
|
NRW => ['TIFF', 'Nikon RAW (2)'],
|
|
411
413
|
NUMBERS => ['ZIP','Apple Numbers spreadsheet'],
|
|
@@ -691,6 +693,7 @@ my %fileDescription = (
|
|
|
691
693
|
MRW => 'image/x-minolta-mrw',
|
|
692
694
|
MXF => 'application/mxf',
|
|
693
695
|
NEF => 'image/x-nikon-nef',
|
|
696
|
+
NKSC => 'application/x-nikon-nxstudio',
|
|
694
697
|
NRW => 'image/x-nikon-nrw',
|
|
695
698
|
NUMBERS => 'application/x-iwork-numbers-sffnumbers',
|
|
696
699
|
ODB => 'application/vnd.oasis.opendocument.database',
|
|
@@ -808,6 +811,7 @@ my %moduleName = (
|
|
|
808
811
|
DEX => 0,
|
|
809
812
|
DOCX => 'OOXML',
|
|
810
813
|
DCX => 0,
|
|
814
|
+
DIR => 0,
|
|
811
815
|
DR4 => 'CanonVRD',
|
|
812
816
|
DSS => 'Olympus',
|
|
813
817
|
DWF => 0,
|
|
@@ -908,7 +912,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
|
908
912
|
GZIP => '\x1f\x8b\x08',
|
|
909
913
|
HDR => '#\?(RADIANCE|RGBE)\x0a',
|
|
910
914
|
HTML => '(\xef\xbb\xbf)?\s*(?i)<(!DOCTYPE\s+HTML|HTML|\?xml)', # (case insensitive)
|
|
911
|
-
ICC => '.{12}(scnr|mntr|prtr|link|spac|abst|nmcl|nkpf)(XYZ |Lab |Luv |YCbr|Yxy |RGB |GRAY|HSV |HLS |CMYK|CMY |[2-9A-F]CLR){2}',
|
|
915
|
+
ICC => '.{12}(scnr|mntr|prtr|link|spac|abst|nmcl|nkpf|cenc|mid |mlnk|mvis)(XYZ |Lab |Luv |YCbr|Yxy |RGB |GRAY|HSV |HLS |CMYK|CMY |[2-9A-F]CLR|nc..|\0{4}){2}',
|
|
912
916
|
IND => '\x06\x06\xed\xf5\xd8\x1d\x46\xe5\xbd\x31\xef\xe7\xfe\x74\xb7\x1d',
|
|
913
917
|
# ISO => signature is at byte 32768
|
|
914
918
|
ITC => '.{4}itch',
|
|
@@ -1155,14 +1159,14 @@ my %systemTagsNotes = (
|
|
|
1155
1159
|
Groups => { 1 => 'System', 2 => 'Other' },
|
|
1156
1160
|
Notes => q{
|
|
1157
1161
|
file name without extension. Not generated unless specifically requested or
|
|
1158
|
-
the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1162
|
+
the API L<RequestAll|../ExifTool.html#RequestAll> option is set
|
|
1159
1163
|
},
|
|
1160
1164
|
},
|
|
1161
1165
|
FilePath => {
|
|
1162
1166
|
Groups => { 1 => 'System', 2 => 'Other' },
|
|
1163
1167
|
Notes => q{
|
|
1164
1168
|
absolute path of source file. Not generated unless specifically requested or
|
|
1165
|
-
the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1169
|
+
the API L<RequestAll|../ExifTool.html#RequestAll> option is set. Does not support Windows Unicode file
|
|
1166
1170
|
names
|
|
1167
1171
|
},
|
|
1168
1172
|
},
|
|
@@ -1185,7 +1189,7 @@ my %systemTagsNotes = (
|
|
|
1185
1189
|
sequence number for each source file when extracting or copying information,
|
|
1186
1190
|
including files that fail the -if condition of the command-line application,
|
|
1187
1191
|
beginning at 0 for the first file. Not generated unless specifically
|
|
1188
|
-
requested or the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1192
|
+
requested or the API L<RequestAll|../ExifTool.html#RequestAll> option is set
|
|
1189
1193
|
},
|
|
1190
1194
|
},
|
|
1191
1195
|
FileSize => {
|
|
@@ -1207,6 +1211,18 @@ my %systemTagsNotes = (
|
|
|
1207
1211
|
},
|
|
1208
1212
|
PrintConv => \&ConvertFileSize,
|
|
1209
1213
|
},
|
|
1214
|
+
ZoneIdentifier => {
|
|
1215
|
+
Groups => { 1 => 'System', 2 => 'Other' },
|
|
1216
|
+
Notes => q{
|
|
1217
|
+
Windows only. Existence indicates that the file has a Zone.Identifier
|
|
1218
|
+
alternate data stream, which is used by some Windows browsers to mark
|
|
1219
|
+
downloaded files as possibly unsafe to run. May be deleted to remove this
|
|
1220
|
+
stream. Requires Win32API::File
|
|
1221
|
+
},
|
|
1222
|
+
Writable => 1,
|
|
1223
|
+
WritePseudo => 1,
|
|
1224
|
+
Protected => 1,
|
|
1225
|
+
},
|
|
1210
1226
|
FileType => {
|
|
1211
1227
|
Groups => { 2 => 'Other' },
|
|
1212
1228
|
Notes => q{
|
|
@@ -1258,7 +1274,7 @@ my %systemTagsNotes = (
|
|
|
1258
1274
|
the filesystem creation date/time. Windows/Mac only. In Windows, the file
|
|
1259
1275
|
creation date/time is preserved by default when writing if Win32API::File
|
|
1260
1276
|
and Win32::API are available. On Mac, this tag is extracted only if it or
|
|
1261
|
-
the MacOS group is specifically requested or the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1277
|
+
the MacOS group is specifically requested or the API L<RequestAll|../ExifTool.html#RequestAll> option is
|
|
1262
1278
|
set to 2 or higher. Requires "setfile" for writing on Mac, which may be
|
|
1263
1279
|
installed by typing C<xcode-select --install> in the Terminal
|
|
1264
1280
|
},
|
|
@@ -1649,7 +1665,7 @@ my %systemTagsNotes = (
|
|
|
1649
1665
|
sub-sampling values to generate the value of this tag. The result is
|
|
1650
1666
|
compared to known values in an attempt to deduce the originating software
|
|
1651
1667
|
based only on the JPEG image data. For performance reasons, this tag is
|
|
1652
|
-
generated only if specifically requested or the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1668
|
+
generated only if specifically requested or the API L<RequestAll|../ExifTool.html#RequestAll> option is set
|
|
1653
1669
|
to 3 or higher
|
|
1654
1670
|
},
|
|
1655
1671
|
},
|
|
@@ -1657,14 +1673,14 @@ my %systemTagsNotes = (
|
|
|
1657
1673
|
Notes => q{
|
|
1658
1674
|
an estimate of the IJG JPEG quality setting for the image, calculated from
|
|
1659
1675
|
the quantization tables. For performance reasons, this tag is generated
|
|
1660
|
-
only if specifically requested or the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1676
|
+
only if specifically requested or the API L<RequestAll|../ExifTool.html#RequestAll> option is set to 3 or
|
|
1661
1677
|
higher
|
|
1662
1678
|
},
|
|
1663
1679
|
},
|
|
1664
1680
|
JPEGImageLength => {
|
|
1665
1681
|
Notes => q{
|
|
1666
1682
|
byte length of JPEG image without metadata. For performance reasons, this
|
|
1667
|
-
tag is generated only if specifically requested or the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1683
|
+
tag is generated only if specifically requested or the API L<RequestAll|../ExifTool.html#RequestAll> option
|
|
1668
1684
|
is set to 3 or higher
|
|
1669
1685
|
},
|
|
1670
1686
|
},
|
|
@@ -1674,7 +1690,7 @@ my %systemTagsNotes = (
|
|
|
1674
1690
|
Notes => q{
|
|
1675
1691
|
the current date/time. Useful when setting the tag values, eg.
|
|
1676
1692
|
C<"-modifydate<now">. Not generated unless specifically requested or the
|
|
1677
|
-
L<RequestAll|../ExifTool.html#RequestAll>
|
|
1693
|
+
API L<RequestAll|../ExifTool.html#RequestAll> option is set
|
|
1678
1694
|
},
|
|
1679
1695
|
PrintConv => '$self->ConvertDateTime($val)',
|
|
1680
1696
|
},
|
|
@@ -1685,7 +1701,7 @@ my %systemTagsNotes = (
|
|
|
1685
1701
|
YYYYmmdd-HHMM-SSNN-PPPP-RRRRRRRRRRRR, where Y=year, m=month, d=day, H=hour,
|
|
1686
1702
|
M=minute, S=second, N=file sequence number in hex, P=process ID in hex, and
|
|
1687
1703
|
R=random hex number; without dashes with the -n option. Not generated
|
|
1688
|
-
unless specifically requested or the L<RequestAll|../ExifTool.html#RequestAll>
|
|
1704
|
+
unless specifically requested or the API L<RequestAll|../ExifTool.html#RequestAll> option is set
|
|
1689
1705
|
},
|
|
1690
1706
|
PrintConv => '$val =~ s/(.{8})(.{4})(.{4})(.{4})/$1-$2-$3-$4-/; $val',
|
|
1691
1707
|
},
|
|
@@ -1778,7 +1794,7 @@ my %systemTagsNotes = (
|
|
|
1778
1794
|
Groups => { 0 => 'Trailer' },
|
|
1779
1795
|
Notes => q{
|
|
1780
1796
|
the full JPEG trailer data block. Extracted only if specifically requested
|
|
1781
|
-
or the RequestAll
|
|
1797
|
+
or the API RequestAll option is set to 3 or higher
|
|
1782
1798
|
},
|
|
1783
1799
|
Writable => 1,
|
|
1784
1800
|
Protected => 1,
|
|
@@ -2319,6 +2335,7 @@ sub ClearOptions($)
|
|
|
2319
2335
|
Password => undef, # password for password-protected PDF documents
|
|
2320
2336
|
PrintConv => 1, # flag to enable print conversion
|
|
2321
2337
|
QuickTimeHandler => 1, # flag to add mdir Handler to newly created Meta box
|
|
2338
|
+
QuickTimePad=> undef, # flag to preserve padding of QuickTime CR3 tags
|
|
2322
2339
|
QuickTimeUTC=> undef, # assume that QuickTime date/time tags are stored as UTC
|
|
2323
2340
|
RequestAll => undef, # extract all tags that must be specifically requested
|
|
2324
2341
|
RequestTags => undef, # extra tags to request (on top of those in the tag list)
|
|
@@ -2368,7 +2385,7 @@ sub ExtractInfo($;@)
|
|
|
2368
2385
|
my $fast = $$options{FastScan} || 0;
|
|
2369
2386
|
my $req = $$self{REQ_TAG_LOOKUP};
|
|
2370
2387
|
my $reqAll = $$options{RequestAll} || 0;
|
|
2371
|
-
my (%saveOptions, $reEntry, $rsize, $type, @startTime, $saveOrder, $isDir);
|
|
2388
|
+
my (%saveOptions, $reEntry, $rsize, $zid, $type, @startTime, $saveOrder, $isDir);
|
|
2372
2389
|
|
|
2373
2390
|
# check for internal ReEntry option to allow recursive calls to ExtractInfo
|
|
2374
2391
|
if (ref $_[1] eq 'HASH' and $_[1]{ReEntry} and
|
|
@@ -2460,6 +2477,17 @@ sub ExtractInfo($;@)
|
|
|
2460
2477
|
}
|
|
2461
2478
|
# get size of resource fork on Mac OS
|
|
2462
2479
|
$rsize = -s "$filename/..namedfork/rsrc" if $^O eq 'darwin' and not $$self{IN_RESOURCE};
|
|
2480
|
+
# check to see if Zone.Identifier file exists in Windows
|
|
2481
|
+
if ($^O eq 'MSWin32' and eval { require Win32API::File }) {
|
|
2482
|
+
my $wattr;
|
|
2483
|
+
my $zfile = "${filename}:Zone.Identifier";
|
|
2484
|
+
if ($self->EncodeFileName($zfile)) {
|
|
2485
|
+
$wattr = eval { Win32API::File::GetFileAttributesW($zfile) };
|
|
2486
|
+
} else {
|
|
2487
|
+
$wattr = eval { Win32API::File::GetFileAttributes($zfile) };
|
|
2488
|
+
}
|
|
2489
|
+
$zid = 1 unless $wattr == Win32API::File::INVALID_FILE_ATTRIBUTES();
|
|
2490
|
+
}
|
|
2463
2491
|
}
|
|
2464
2492
|
# open the file
|
|
2465
2493
|
if ($self->Open(\*EXIFTOOL_FILE, $filename)) {
|
|
@@ -2502,6 +2530,7 @@ sub ExtractInfo($;@)
|
|
|
2502
2530
|
my $fileSize = $stat[7];
|
|
2503
2531
|
$self->FoundTag('FileSize', $stat[7]) if defined $stat[7];
|
|
2504
2532
|
$self->FoundTag('ResourceForkSize', $rsize) if $rsize;
|
|
2533
|
+
$self->FoundTag('ZoneIdentifier', 'Exists') if $zid;
|
|
2505
2534
|
$self->FoundTag('FileModifyDate', $stat[9]) if defined $stat[9];
|
|
2506
2535
|
$self->FoundTag('FileAccessDate', $stat[8]) if defined $stat[8];
|
|
2507
2536
|
my $cTag = $^O eq 'MSWin32' ? 'FileCreateDate' : 'FileInodeChangeDate';
|
|
@@ -4062,8 +4091,9 @@ sub Open($*$;$)
|
|
|
4062
4091
|
my ($self, $fh, $file, $mode) = @_;
|
|
4063
4092
|
|
|
4064
4093
|
$file =~ s/^([\s&])/.\/$1/; # protect leading whitespace or ampersand
|
|
4065
|
-
# default to read mode ('<') unless input is a pipe
|
|
4066
|
-
$mode = ($file =~ /\|$/ ? '' : '<') unless $mode;
|
|
4094
|
+
# default to read mode ('<') unless input is a trusted pipe
|
|
4095
|
+
$mode = (($file =~ /\|$/ and $$self{TRUST_PIPE}) ? '' : '<') unless $mode;
|
|
4096
|
+
delete $$self{TRUST_PIPE};
|
|
4067
4097
|
if ($mode) {
|
|
4068
4098
|
if ($self->EncodeFileName($file)) {
|
|
4069
4099
|
# handle Windows Unicode file name
|
|
@@ -4121,7 +4151,9 @@ sub Exists($$)
|
|
|
4121
4151
|
return 0 unless $wh;
|
|
4122
4152
|
eval { Win32API::File::CloseHandle($wh) };
|
|
4123
4153
|
} else {
|
|
4124
|
-
|
|
4154
|
+
# (named pipes already exist, but we pretend that they don't
|
|
4155
|
+
# so we will be able to write them, so test with for pipe -p)
|
|
4156
|
+
return(-e $file and not -p $file);
|
|
4125
4157
|
}
|
|
4126
4158
|
return 1;
|
|
4127
4159
|
}
|
|
@@ -4224,6 +4256,7 @@ sub ParseArguments($;@)
|
|
|
4224
4256
|
$$self{REQ_TAG_LOOKUP} = { };
|
|
4225
4257
|
$$self{EXCL_TAG_LOOKUP} = { };
|
|
4226
4258
|
$$self{IO_TAG_LIST} = undef;
|
|
4259
|
+
delete $$self{EXCL_XMP_LOOKUP};
|
|
4227
4260
|
|
|
4228
4261
|
# handle our input arguments
|
|
4229
4262
|
while (@_) {
|
|
@@ -4307,7 +4340,11 @@ sub ParseArguments($;@)
|
|
|
4307
4340
|
# generate lookup for excluded tags
|
|
4308
4341
|
if ($$options{Exclude}) {
|
|
4309
4342
|
foreach (@{$$options{Exclude}}) {
|
|
4310
|
-
/([-\w]+)#?$/ and $$self{EXCL_TAG_LOOKUP}{lc
|
|
4343
|
+
/([-\w]+)#?$/ and $$self{EXCL_TAG_LOOKUP}{lc $1} = 1;
|
|
4344
|
+
if (/(xmp-.*:[-\w]+)#?/i) {
|
|
4345
|
+
$$self{EXCL_XMP_LOOKUP} or $$self{EXCL_XMP_LOOKUP} = { };
|
|
4346
|
+
$$self{EXCL_XMP_LOOKUP}{lc $1} = 1;
|
|
4347
|
+
}
|
|
4311
4348
|
}
|
|
4312
4349
|
# exclude list is used only for EXCL_TAG_LOOKUP when TAGS_FROM_FILE is set
|
|
4313
4350
|
undef $$options{Exclude} if $$self{TAGS_FROM_FILE};
|
|
@@ -5649,6 +5686,38 @@ sub ConvertDateTime($$)
|
|
|
5649
5686
|
unshift @a, 1 while @a < 3; # add month and day if necessary
|
|
5650
5687
|
unshift @a, 0 while @a < 6; # add h,m,s if necessary
|
|
5651
5688
|
$a[4] -= 1; # base month is 1
|
|
5689
|
+
# parse our %f fractional seconds first (and round up seconds if necessary)
|
|
5690
|
+
# - if there are multiple %f codes, they all get the same number of digits as the first
|
|
5691
|
+
if ($fmt =~ /%\.?(\d*)f/) {
|
|
5692
|
+
my $dig = $1;
|
|
5693
|
+
my $frac = $date =~ /(\.\d+)/ ? $1 : '';
|
|
5694
|
+
if (not $frac) {
|
|
5695
|
+
$frac = '.' . ('0' x $dig) if $dig;
|
|
5696
|
+
} elsif (length $dig) {
|
|
5697
|
+
if ($dig+1 > length($frac)) {
|
|
5698
|
+
$frac .= '0' x ($dig+1-length($frac));
|
|
5699
|
+
} elsif ($dig+1 < length($frac)) {
|
|
5700
|
+
$frac = sprintf("%.${dig}f", $frac);
|
|
5701
|
+
while ($frac =~ s/^(\d)// and $1 ne '0') {
|
|
5702
|
+
# this is a pain, but we must round up to the next second
|
|
5703
|
+
++$a[0] < 60 and last;
|
|
5704
|
+
$a[0] = 0;
|
|
5705
|
+
++$a[1] < 60 and last;
|
|
5706
|
+
$a[1] = 0;
|
|
5707
|
+
++$a[2] < 24 and last;
|
|
5708
|
+
$a[2] = 0;
|
|
5709
|
+
require 'Image/ExifTool/Shift.pl';
|
|
5710
|
+
++$a[3] <= DaysInMonth($a[4]+1, $a[5]) and last;
|
|
5711
|
+
$a[3] = 1;
|
|
5712
|
+
++$a[4] < 12 and last;
|
|
5713
|
+
$a[4] = 0;
|
|
5714
|
+
++$a[5];
|
|
5715
|
+
last; # (this was a goto)
|
|
5716
|
+
}
|
|
5717
|
+
}
|
|
5718
|
+
}
|
|
5719
|
+
$fmt =~ s/(^|[^%])((%%)*)%\.?\d*f/$1$2$frac/g;
|
|
5720
|
+
}
|
|
5652
5721
|
# parse %z and %s ourself (to handle time zones properly)
|
|
5653
5722
|
if ($fmt =~ /%[sz]/) {
|
|
5654
5723
|
# use system time zone unless otherwise specified
|
|
@@ -5963,6 +6032,8 @@ sub IdentifyTrailer($;$)
|
|
|
5963
6032
|
$type = 'Samsung';
|
|
5964
6033
|
} elsif ($buff =~ /8db42d694ccc418790edff439fe026bf$/s) {
|
|
5965
6034
|
$type = 'Insta360';
|
|
6035
|
+
} elsif ($buff =~ m(\0{6}/NIKON APP$)) {
|
|
6036
|
+
$type = 'NikonApp';
|
|
5966
6037
|
}
|
|
5967
6038
|
last;
|
|
5968
6039
|
}
|
|
@@ -5998,6 +6069,9 @@ sub ProcessTrailers($$)
|
|
|
5998
6069
|
if ($dirName eq 'Insta360') {
|
|
5999
6070
|
require 'Image/ExifTool/QuickTimeStream.pl';
|
|
6000
6071
|
$proc = 'Image::ExifTool::QuickTime::ProcessInsta360';
|
|
6072
|
+
} elsif ($dirName eq 'NikonApp') {
|
|
6073
|
+
require Image::ExifTool::Nikon;
|
|
6074
|
+
$proc = 'Image::ExifTool::Nikon::ProcessNikonApp';
|
|
6001
6075
|
} else {
|
|
6002
6076
|
require "Image/ExifTool/$dirName.pm";
|
|
6003
6077
|
$proc = "Image::ExifTool::${dirName}::Process$dirName";
|
|
@@ -6249,7 +6323,7 @@ sub ProcessJPEG($$)
|
|
|
6249
6323
|
my $markerName = JpegMarkerName($marker);
|
|
6250
6324
|
$$path[$pn] = $markerName;
|
|
6251
6325
|
# issue warning if we skipped some garbage
|
|
6252
|
-
if ($skipped and not $foundSOS) {
|
|
6326
|
+
if ($skipped and not $foundSOS and $markerName ne 'SOS') {
|
|
6253
6327
|
$self->Warn("Skipped unknown $skipped bytes after JPEG $markerName segment", 1);
|
|
6254
6328
|
if ($htmlDump) {
|
|
6255
6329
|
$self->HDump($nextSegPos-4-$skipped, $skipped, "[unknown $skipped bytes]", undef, 0x08);
|
|
@@ -6467,7 +6541,7 @@ sub ProcessJPEG($$)
|
|
|
6467
6541
|
next;
|
|
6468
6542
|
} elsif ($marker == 0xdb and length($$segDataPt) and # DQT
|
|
6469
6543
|
# save the DQT data only if JPEGDigest has been requested
|
|
6470
|
-
# (Note: since we aren't checking the RequestAll
|
|
6544
|
+
# (Note: since we aren't checking the API RequestAll option here, the application
|
|
6471
6545
|
# must use the RequestTags option to generate these tags if they have not been
|
|
6472
6546
|
# specifically requested. The reason is that there is too much overhead involved
|
|
6473
6547
|
# in the calculation of this tag to make this worth the CPU time.)
|
|
@@ -8708,6 +8782,7 @@ sub ProcessBinaryData($$$)
|
|
|
8708
8782
|
# read value now if necessary
|
|
8709
8783
|
unless (defined $val and not $$tagInfo{SubDirectory}) {
|
|
8710
8784
|
$val = ReadValue($dataPt, $entry+$offset, $format, $count, $more, \$rational);
|
|
8785
|
+
next unless defined $val;
|
|
8711
8786
|
$mask = $$tagInfo{Mask};
|
|
8712
8787
|
$val = ($val & $mask) >> $$tagInfo{BitShift} if $mask;
|
|
8713
8788
|
}
|
|
@@ -8809,8 +8884,8 @@ until ($Image::ExifTool::noConfig) {
|
|
|
8809
8884
|
$file = $config;
|
|
8810
8885
|
}
|
|
8811
8886
|
# also check executable directory unless path is absolute
|
|
8812
|
-
$
|
|
8813
|
-
-r $file or $config =~ /^\// or $file =
|
|
8887
|
+
$exeDir = ($0 =~ /(.*)[\\\/]/) ? $1 : '.' unless defined $exeDir;
|
|
8888
|
+
-r $file or $config =~ /^\// or $file = "$exeDir/$config";
|
|
8814
8889
|
unless (-r $file) {
|
|
8815
8890
|
warn("Config file not found\n") if defined $Image::ExifTool::configFile;
|
|
8816
8891
|
last;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
#
|
|
6
6
|
# URL: https://exiftool.org/
|
|
7
7
|
#
|
|
8
|
-
# Legal: Copyright (c) 2003-
|
|
8
|
+
# Legal: Copyright (c) 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
9
9
|
# This library is free software; you can redistribute it and/or
|
|
10
10
|
# modify it under the same terms as Perl itself.
|
|
11
11
|
#------------------------------------------------------------------------------
|
|
@@ -65,48 +65,48 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
65
65
|
|
|
66
66
|
File Types
|
|
67
67
|
------------+-------------+-------------+-------------+------------
|
|
68
|
-
360 r/w | DR4 r/w/c | JNG r/w |
|
|
69
|
-
3FR r | DSS r | JP2 r/w |
|
|
70
|
-
3G2 r/w | DV r | JPEG r/w |
|
|
71
|
-
3GP r/w | DVB r/w | JSON r |
|
|
72
|
-
A r | DVR-MS r | JXL r |
|
|
73
|
-
AA r | DYLIB r | K25 r |
|
|
74
|
-
AAE r | EIP r | KDC r |
|
|
75
|
-
AAX r/w | EPS r/w | KEY r |
|
|
76
|
-
ACR r | EPUB r | LA r |
|
|
77
|
-
AFM r | ERF r/w | LFP r |
|
|
78
|
-
AI r/w | EXE r | LIF r |
|
|
79
|
-
AIFF r | EXIF r/w/c | LNK r |
|
|
80
|
-
APE r | EXR r | LRV r/w |
|
|
81
|
-
ARQ r/w | EXV r/w/c | M2TS r |
|
|
82
|
-
ARW r/w | F4A/V r/w | M4A/V r/w |
|
|
83
|
-
ASF r | FFF r/w | MACOS r |
|
|
84
|
-
AVI r | FITS r | MAX r |
|
|
85
|
-
AVIF r/w | FLA r | MEF r/w |
|
|
86
|
-
AZW r | FLAC r | MIE r/w/ |
|
|
87
|
-
BMP r | FLIF r/w | MIFF r c |
|
|
88
|
-
BPG r | FLV r | MKA r |
|
|
89
|
-
BTF r | FPF r | MKS r |
|
|
90
|
-
CHM r | FPX r | MKV r |
|
|
91
|
-
COS r | GIF r/w | MNG r/w |
|
|
92
|
-
CR2 r/w | GPR r/w | MOBI r |
|
|
93
|
-
CR3 r/w | GZ r | MODD r |
|
|
94
|
-
CRM r/w | HDP r/w | MOI r |
|
|
95
|
-
CRW r/w | HDR r | MOS r/w |
|
|
96
|
-
CS1 r/w | HEIC r/w | MOV r/w |
|
|
97
|
-
CSV r | HEIF r/w | MP3 r |
|
|
98
|
-
CZI r | HTML r | MP4 r/w |
|
|
99
|
-
DCM r | ICC r/w/c | MPC r |
|
|
100
|
-
DCP r/w | ICS r | MPG r |
|
|
101
|
-
DCR r | IDML r | MPO r/w |
|
|
102
|
-
DFONT r | IIQ r/w | MQV r/w |
|
|
103
|
-
DIVX r | IND r/w | MRC r |
|
|
104
|
-
DJVU r | INSP r/w | MRW r/w |
|
|
105
|
-
DLL r | INSV r | MXF r |
|
|
106
|
-
DNG r/w | INX r | NEF r/w |
|
|
107
|
-
DOC r | ISO r |
|
|
108
|
-
DOCX r | ITC r |
|
|
109
|
-
DPX r | J2C r |
|
|
68
|
+
360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
|
69
|
+
3FR r | DSS r | JP2 r/w | ODP r | RIFF r
|
|
70
|
+
3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
|
|
71
|
+
3GP r/w | DVB r/w | JSON r | ODT r | RTF r
|
|
72
|
+
A r | DVR-MS r | JXL r | OFR r | RW2 r/w
|
|
73
|
+
AA r | DYLIB r | K25 r | OGG r | RWL r/w
|
|
74
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
|
75
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
|
76
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
|
77
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
|
78
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
|
79
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
|
80
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
|
81
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
|
82
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
|
83
|
+
ASF r | FFF r/w | MACOS r | PCD r | SWF r
|
|
84
|
+
AVI r | FITS r | MAX r | PCX r | THM r/w
|
|
85
|
+
AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
|
|
86
|
+
AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
|
|
87
|
+
BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
|
|
88
|
+
BPG r | FLV r | MKA r | PFA r | TTF r
|
|
89
|
+
BTF r | FPF r | MKS r | PFB r | TXT r
|
|
90
|
+
CHM r | FPX r | MKV r | PFM r | VCF r
|
|
91
|
+
COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
|
|
92
|
+
CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
|
|
93
|
+
CR3 r/w | GZ r | MODD r | PLIST r | WAV r
|
|
94
|
+
CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
|
|
95
|
+
CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
|
|
96
|
+
CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
|
|
97
|
+
CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
|
|
98
|
+
CZI r | HTML r | MP4 r/w | PPT r | WMV r
|
|
99
|
+
DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
|
|
100
|
+
DCP r/w | ICS r | MPG r | PS r/w | WV r
|
|
101
|
+
DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
|
|
102
|
+
DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
|
|
103
|
+
DIVX r | IND r/w | MRC r | PSP r | XLS r
|
|
104
|
+
DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
|
|
105
|
+
DLL r | INSV r | MXF r | R3D r | XMP r/w/c
|
|
106
|
+
DNG r/w | INX r | NEF r/w | RA r | ZIP r
|
|
107
|
+
DOC r | ISO r | NKSC r/w | RAF r/w |
|
|
108
|
+
DOCX r | ITC r | NRW r/w | RAM r |
|
|
109
|
+
DPX r | J2C r | NUMBERS r | RAR r |
|
|
110
110
|
|
|
111
111
|
Meta Information
|
|
112
112
|
----------------------+----------------------+---------------------
|
|
@@ -860,6 +860,14 @@ commonly found in samples from other software, and it has been reported that
|
|
|
860
860
|
Apple QuickTime Player and Photos.apps will ignore ItemList tags if this is
|
|
861
861
|
missing. Default is 1.
|
|
862
862
|
|
|
863
|
+
=item QuickTimePad
|
|
864
|
+
|
|
865
|
+
Flag to preserve the padding of some QuickTime atoms when writing.
|
|
866
|
+
QuickTime-based Canon CR3 files pad the values of container atoms with null
|
|
867
|
+
bytes. This padding is removed by default when the file is rewritten, but
|
|
868
|
+
setting this option to 1 adds padding to preserve the original atom size if
|
|
869
|
+
the new atom would be smaller than the original. Default is undef.
|
|
870
|
+
|
|
863
871
|
=item QuickTimeUTC
|
|
864
872
|
|
|
865
873
|
Flag set to assume that QuickTime date/time values are stored as UTC,
|
|
@@ -1236,7 +1244,7 @@ The following ExifTool options are effective in the call to L</WriteInfo>:
|
|
|
1236
1244
|
|
|
1237
1245
|
ByteOrder, Charset, CharsetEXIF, CharsetFileName, CharsetIPTC, Compact,
|
|
1238
1246
|
Compress, FixBase, IgnoreMinorErrors, NoMultiExif, NoPDFList, Password,
|
|
1239
|
-
QuickTimeHandler, Verbose and WriteMode.
|
|
1247
|
+
QuickTimeHandler, QuickTimePad, Verbose and WriteMode.
|
|
1240
1248
|
|
|
1241
1249
|
=head2 GetTagList
|
|
1242
1250
|
|
|
@@ -2300,9 +2308,9 @@ Torrent, Trailer, UserParam, VCard, Vorbis, WTV, XML, XMP, ZIP
|
|
|
2300
2308
|
=item Family 1 (Specific Location):
|
|
2301
2309
|
|
|
2302
2310
|
AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple, Audible,
|
|
2303
|
-
CIFF, CameraIFD, Canon, CanonCustom, CanonRaw, CanonVRD, Casio,
|
|
2304
|
-
Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta, Ducky, EPPIM,
|
|
2305
|
-
ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font,
|
|
2311
|
+
CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonRaw, CanonVRD, Casio,
|
|
2312
|
+
Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta, Ducky, EPPIM,
|
|
2313
|
+
EXE, EXIF, ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font,
|
|
2306
2314
|
FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS, GeoTiff, GlobParamIFD,
|
|
2307
2315
|
GoPro, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office,
|
|
2308
2316
|
HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas,
|
|
@@ -2317,25 +2325,26 @@ MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video,
|
|
|
2317
2325
|
MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS,
|
|
2318
2326
|
MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft,
|
|
2319
2327
|
Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom,
|
|
2320
|
-
NikonScan, NikonSettings, Nintendo, Ocad, Ogg, Olympus, OpenEXR,
|
|
2321
|
-
PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax,
|
|
2322
|
-
PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript,
|
|
2323
|
-
PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF,
|
|
2324
|
-
Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP,
|
|
2325
|
-
Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2,
|
|
2326
|
-
SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw,
|
|
2327
|
-
SubIFD, System, Theora, Torrent, Track#, UserData,
|
|
2328
|
-
VCard, Version0, Vorbis, WTV, XML, XMP, XMP-DICOM,
|
|
2329
|
-
XMP-
|
|
2330
|
-
XMP-
|
|
2331
|
-
XMP-
|
|
2332
|
-
XMP-
|
|
2333
|
-
XMP-
|
|
2334
|
-
XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro,
|
|
2335
|
-
XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx,
|
|
2336
|
-
XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl,
|
|
2337
|
-
XMP-
|
|
2338
|
-
XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg,
|
|
2328
|
+
NikonScan, NikonSettings, NineEdits, Nintendo, Ocad, Ogg, Olympus, OpenEXR,
|
|
2329
|
+
Opus, PDF, PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax,
|
|
2330
|
+
PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript,
|
|
2331
|
+
PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF,
|
|
2332
|
+
RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP,
|
|
2333
|
+
Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2,
|
|
2334
|
+
SR2DataIFD, SR2SubIFD, SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw,
|
|
2335
|
+
Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent, Track#, UserData,
|
|
2336
|
+
UserParam, VCalendar, VCard, Version0, Vorbis, WTV, XML, XMP, XMP-DICOM,
|
|
2337
|
+
XMP-Device, XMP-GAudio, XMP-GDepth, XMP-GFocus, XMP-GImage, XMP-GPano,
|
|
2338
|
+
XMP-GSpherical, XMP-LImage, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas,
|
|
2339
|
+
XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux, XMP-cc, XMP-cell,
|
|
2340
|
+
XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam, XMP-drone-dji,
|
|
2341
|
+
XMP-dwc, XMP-exif, XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv,
|
|
2342
|
+
XMP-getty, XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro,
|
|
2343
|
+
XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx,
|
|
2344
|
+
XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl,
|
|
2345
|
+
XMP-prm, XMP-pur, XMP-rdf, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ,
|
|
2346
|
+
XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg,
|
|
2347
|
+
ZIP, iTunes
|
|
2339
2348
|
|
|
2340
2349
|
=item Family 2 (Category):
|
|
2341
2350
|
|
|
@@ -2734,7 +2743,7 @@ specified by the L</Charset> option.
|
|
|
2734
2743
|
|
|
2735
2744
|
=head1 AUTHOR
|
|
2736
2745
|
|
|
2737
|
-
Copyright 2003-
|
|
2746
|
+
Copyright 2003-2022, Phil Harvey
|
|
2738
2747
|
|
|
2739
2748
|
This library is free software; you can redistribute it and/or modify it
|
|
2740
2749
|
under the same terms as Perl itself.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Summary: perl module for image data extraction
|
|
2
2
|
Name: perl-Image-ExifTool
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.39
|
|
4
4
|
Release: 1
|
|
5
5
|
License: Artistic/GPL
|
|
6
6
|
Group: Development/Libraries/Perl
|
|
@@ -22,48 +22,48 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
22
22
|
|
|
23
23
|
File Types
|
|
24
24
|
------------+-------------+-------------+-------------+------------
|
|
25
|
-
360 r/w | DR4 r/w/c | JNG r/w |
|
|
26
|
-
3FR r | DSS r | JP2 r/w |
|
|
27
|
-
3G2 r/w | DV r | JPEG r/w |
|
|
28
|
-
3GP r/w | DVB r/w | JSON r |
|
|
29
|
-
A r | DVR-MS r | JXL r |
|
|
30
|
-
AA r | DYLIB r | K25 r |
|
|
31
|
-
AAE r | EIP r | KDC r |
|
|
32
|
-
AAX r/w | EPS r/w | KEY r |
|
|
33
|
-
ACR r | EPUB r | LA r |
|
|
34
|
-
AFM r | ERF r/w | LFP r |
|
|
35
|
-
AI r/w | EXE r | LIF r |
|
|
36
|
-
AIFF r | EXIF r/w/c | LNK r |
|
|
37
|
-
APE r | EXR r | LRV r/w |
|
|
38
|
-
ARQ r/w | EXV r/w/c | M2TS r |
|
|
39
|
-
ARW r/w | F4A/V r/w | M4A/V r/w |
|
|
40
|
-
ASF r | FFF r/w | MACOS r |
|
|
41
|
-
AVI r | FITS r | MAX r |
|
|
42
|
-
AVIF r/w | FLA r | MEF r/w |
|
|
43
|
-
AZW r | FLAC r | MIE r/w/ |
|
|
44
|
-
BMP r | FLIF r/w | MIFF r c |
|
|
45
|
-
BPG r | FLV r | MKA r |
|
|
46
|
-
BTF r | FPF r | MKS r |
|
|
47
|
-
CHM r | FPX r | MKV r |
|
|
48
|
-
COS r | GIF r/w | MNG r/w |
|
|
49
|
-
CR2 r/w | GPR r/w | MOBI r |
|
|
50
|
-
CR3 r/w | GZ r | MODD r |
|
|
51
|
-
CRM r/w | HDP r/w | MOI r |
|
|
52
|
-
CRW r/w | HDR r | MOS r/w |
|
|
53
|
-
CS1 r/w | HEIC r/w | MOV r/w |
|
|
54
|
-
CSV r | HEIF r/w | MP3 r |
|
|
55
|
-
CZI r | HTML r | MP4 r/w |
|
|
56
|
-
DCM r | ICC r/w/c | MPC r |
|
|
57
|
-
DCP r/w | ICS r | MPG r |
|
|
58
|
-
DCR r | IDML r | MPO r/w |
|
|
59
|
-
DFONT r | IIQ r/w | MQV r/w |
|
|
60
|
-
DIVX r | IND r/w | MRC r |
|
|
61
|
-
DJVU r | INSP r/w | MRW r/w |
|
|
62
|
-
DLL r | INSV r | MXF r |
|
|
63
|
-
DNG r/w | INX r | NEF r/w |
|
|
64
|
-
DOC r | ISO r |
|
|
65
|
-
DOCX r | ITC r |
|
|
66
|
-
DPX r | J2C r |
|
|
25
|
+
360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
|
26
|
+
3FR r | DSS r | JP2 r/w | ODP r | RIFF r
|
|
27
|
+
3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
|
|
28
|
+
3GP r/w | DVB r/w | JSON r | ODT r | RTF r
|
|
29
|
+
A r | DVR-MS r | JXL r | OFR r | RW2 r/w
|
|
30
|
+
AA r | DYLIB r | K25 r | OGG r | RWL r/w
|
|
31
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
|
32
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
|
33
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
|
34
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
|
35
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
|
36
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
|
37
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
|
38
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
|
39
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
|
40
|
+
ASF r | FFF r/w | MACOS r | PCD r | SWF r
|
|
41
|
+
AVI r | FITS r | MAX r | PCX r | THM r/w
|
|
42
|
+
AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
|
|
43
|
+
AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
|
|
44
|
+
BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
|
|
45
|
+
BPG r | FLV r | MKA r | PFA r | TTF r
|
|
46
|
+
BTF r | FPF r | MKS r | PFB r | TXT r
|
|
47
|
+
CHM r | FPX r | MKV r | PFM r | VCF r
|
|
48
|
+
COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
|
|
49
|
+
CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
|
|
50
|
+
CR3 r/w | GZ r | MODD r | PLIST r | WAV r
|
|
51
|
+
CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
|
|
52
|
+
CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
|
|
53
|
+
CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
|
|
54
|
+
CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
|
|
55
|
+
CZI r | HTML r | MP4 r/w | PPT r | WMV r
|
|
56
|
+
DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
|
|
57
|
+
DCP r/w | ICS r | MPG r | PS r/w | WV r
|
|
58
|
+
DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
|
|
59
|
+
DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
|
|
60
|
+
DIVX r | IND r/w | MRC r | PSP r | XLS r
|
|
61
|
+
DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
|
|
62
|
+
DLL r | INSV r | MXF r | R3D r | XMP r/w/c
|
|
63
|
+
DNG r/w | INX r | NEF r/w | RA r | ZIP r
|
|
64
|
+
DOC r | ISO r | NKSC r/w | RAF r/w |
|
|
65
|
+
DOCX r | ITC r | NRW r/w | RAM r |
|
|
66
|
+
DPX r | J2C r | NUMBERS r | RAR r |
|
|
67
67
|
|
|
68
68
|
Meta Information
|
|
69
69
|
----------------------+----------------------+---------------------
|