exiftool_vendored 13.22.0 → 13.25.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.
- checksums.yaml +4 -4
- data/bin/Changes +34 -1
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +46 -46
- data/bin/exiftool +53 -53
- data/bin/lib/Image/ExifTool/Apple.pm +12 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/DarwinCore.pm +22 -11
- data/bin/lib/Image/ExifTool/GPS.pm +3 -3
- data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- data/bin/lib/Image/ExifTool/JPEG.pm +4 -0
- data/bin/lib/Image/ExifTool/Nikon.pm +142 -746
- data/bin/lib/Image/ExifTool/PCAP.pm +462 -0
- data/bin/lib/Image/ExifTool/PLIST.pm +2 -2
- data/bin/lib/Image/ExifTool/Plot.pm +3 -2
- data/bin/lib/Image/ExifTool/Protobuf.pm +3 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +78 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +12 -4
- data/bin/lib/Image/ExifTool/Sony.pm +18 -5
- data/bin/lib/Image/ExifTool/TagLookup.pm +165 -148
- data/bin/lib/Image/ExifTool/TagNames.pod +132 -219
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +4 -4
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +10 -3
- data/bin/lib/Image/ExifTool/Writer.pl +9 -9
- data/bin/lib/Image/ExifTool/XMP.pm +17 -3
- data/bin/lib/Image/ExifTool.pm +36 -15
- data/bin/lib/Image/ExifTool.pod +52 -86
- data/bin/perl-Image-ExifTool.spec +45 -45
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
|
|
50
50
|
use Image::ExifTool::GPS;
|
51
51
|
require Exporter;
|
52
52
|
|
53
|
-
$VERSION = '3.
|
53
|
+
$VERSION = '3.72';
|
54
54
|
@ISA = qw(Exporter);
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
56
56
|
|
@@ -3818,8 +3818,22 @@ sub ParseXMPElement($$$;$$$$)
|
|
3818
3818
|
my ($parseResource, %attrs, @attrs);
|
3819
3819
|
# this hangs Perl (v5.18.4) for a specific capture string [patched in ExifTool 12.98]
|
3820
3820
|
# while ($attrs =~ m/(\S+?)\s*=\s*(['"])(.*?)\2/sg) {
|
3821
|
-
|
3822
|
-
|
3821
|
+
# this may hang Perl v5.26.3 (but not v5.18.4) if there is lots of garbage in the XMP [patched in 13.23]
|
3822
|
+
# while ($attrs =~ /(\S+?)\s*=\s*(['"])/g) {
|
3823
|
+
for (;;) {
|
3824
|
+
my ($attr, $quote);
|
3825
|
+
if (length($attrs) < 2000) { # (do it the easy way if attributes aren't stupid long)
|
3826
|
+
last unless $attrs =~ /(\S+)\s*=\s*(['"])/g;
|
3827
|
+
($attr, $quote) = ($1, $2);
|
3828
|
+
} else {
|
3829
|
+
# 13.23 patch to avoid capturing tons of garbage if XMP is corrupted
|
3830
|
+
last unless $attrs =~ /=\s*(['"])/g;
|
3831
|
+
$quote = $1;
|
3832
|
+
my $p = pos($attrs) > 1000 ? pos($attrs) - 1000 : 0;
|
3833
|
+
my $tmp = substr($attrs, $p, pos($attrs)-$p);
|
3834
|
+
last unless $tmp =~ /(\S+)\s*=\s*$quote$/;
|
3835
|
+
$attr = $1;
|
3836
|
+
}
|
3823
3837
|
my $p0 = pos($attrs);
|
3824
3838
|
last unless $attrs =~ /$quote/g;
|
3825
3839
|
my $val = substr($attrs, $p0, pos($attrs)-$p0-1);
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
30
30
|
%static_vars $advFmtSelf);
|
31
31
|
|
32
|
-
$VERSION = '13.
|
32
|
+
$VERSION = '13.25';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -155,9 +155,9 @@ sub ReadValue($$$;$$$);
|
|
155
155
|
Real::Metafile Red RIFF AIFF ASF WTV DICOM FITS XISF MIE JSON HTML XMP::SVG
|
156
156
|
Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion EXE::PEString
|
157
157
|
EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF EXE::ELF EXE::AR
|
158
|
-
EXE::CHM LNK Font VCard Text VCard::VCalendar VCard::VNote RSRC Rawzor
|
159
|
-
ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF
|
160
|
-
MacOS::MDItem FlashPix::DocTable
|
158
|
+
EXE::CHM LNK PCAP Font VCard Text VCard::VCalendar VCard::VNote RSRC Rawzor
|
159
|
+
ZIP ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF
|
160
|
+
MacOS MacOS::MDItem FlashPix::DocTable
|
161
161
|
);
|
162
162
|
|
163
163
|
# alphabetical list of current Lang modules
|
@@ -199,8 +199,8 @@ $defaultLang = 'en'; # default language
|
|
199
199
|
LFP HTML VRD RTF FITS XISF XCF DSS QTIF FPX PICT ZIP GZIP PLIST
|
200
200
|
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
201
201
|
JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard
|
202
|
-
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS JSON MP3
|
203
|
-
NKA ICO TXT AAC);
|
202
|
+
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP JSON MP3
|
203
|
+
DICOM PCD NKA ICO TXT AAC);
|
204
204
|
|
205
205
|
# file types that we can write (edit)
|
206
206
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
@@ -263,6 +263,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
263
263
|
BPG => ['BPG', 'Better Portable Graphics'],
|
264
264
|
BTF => ['BTF', 'Big Tagged Image File Format'], #(unofficial)
|
265
265
|
BZ2 => ['BZ2', 'BZIP2 archive'],
|
266
|
+
CAP => 'PCAP',
|
266
267
|
C2PA => ['JUMBF','Coalition for Content Provenance and Authenticity'],
|
267
268
|
CHM => ['CHM', 'Microsoft Compiled HTML format'],
|
268
269
|
CIFF => ['CRW', 'Camera Image File Format'],
|
@@ -454,6 +455,8 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
454
455
|
PAC => ['RIFF', 'Lossless Predictive Audio Compression'],
|
455
456
|
PAGES => ['ZIP', 'Apple Pages document'],
|
456
457
|
PBM => ['PPM', 'Portable BitMap'],
|
458
|
+
PCAP => ['PCAP', 'Packet Capture'],
|
459
|
+
PCAPNG => ['PCAP', 'Packet Capture Next Generation'],
|
457
460
|
PCD => ['PCD', 'Kodak Photo CD Image Pac'],
|
458
461
|
PCT => 'PICT',
|
459
462
|
PCX => ['PCX', 'PC Paintbrush'],
|
@@ -568,7 +571,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
568
571
|
XLTX => [['ZIP','FPX'], 'Office Open XML Spreadsheet Template'],
|
569
572
|
XMP => ['XMP', 'Extensible Metadata Platform'],
|
570
573
|
WOFF => ['Font', 'Web Open Font Format'],
|
571
|
-
WOFF2=> ['Font', 'Web Open Font
|
574
|
+
WOFF2=> ['Font', 'Web Open Font Format 2'],
|
572
575
|
WPG => ['WPG', 'WordPerfect Graphics'],
|
573
576
|
WTV => ['WTV', 'Windows recorded TV show'],
|
574
577
|
ZIP => ['ZIP', 'ZIP archive'],
|
@@ -744,6 +747,7 @@ my %fileDescription = (
|
|
744
747
|
OTF => 'application/font-otf',
|
745
748
|
PAGES=> 'application/x-iwork-pages-sffpages',
|
746
749
|
PBM => 'image/x-portable-bitmap',
|
750
|
+
PCAP => 'application/vnd.tcpdump.pcap',
|
747
751
|
PCD => 'image/x-photo-cd',
|
748
752
|
PCX => 'image/pcx',
|
749
753
|
PDB => 'application/vnd.palm',
|
@@ -980,6 +984,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
980
984
|
NKA => 'NIKONADJ',
|
981
985
|
OGG => '(OggS|ID3)',
|
982
986
|
ORF => '(II|MM)',
|
987
|
+
PCAP => '\xa1\xb2(\xc3\xd4|\x3c\x4d)\0.\0.|(\xd4\xc3|\x4d\x3c)\xb2\xa1.\0.\0|\x0a\x0d\x0d\x0a.{4}(\x1a\x2b\x3c\x4d|\x4d\x3c\x2b\x1a)|GMBU\0\x02',
|
983
988
|
# PCD => signature is at byte 2048
|
984
989
|
PCX => '\x0a[\0-\x05]\x01[\x01\x02\x04\x08].{64}[\0-\x02]',
|
985
990
|
PDB => '.{60}(\.pdfADBE|TEXtREAd|BVokBDIC|DB99DBOS|PNRdPPrs|DataPPrs|vIMGView|PmDBPmDB|InfoINDB|ToGoToGo|SDocSilX|JbDbJBas|JfDbJFil|DATALSdb|Mdb1Mdb1|BOOKMOBI|DataPlkr|DataSprd|SM01SMem|TEXtTlDc|InfoTlIf|DataTlMl|DataTlPt|dataTDBP|TdatTide|ToRaTRPW|zTXTGPlm|BDOCWrdS)',
|
@@ -1135,6 +1140,7 @@ my @availableOptions = (
|
|
1135
1140
|
[ 'IgnoreMinorErrors',undef, 'ignore minor errors when reading/writing' ],
|
1136
1141
|
[ 'IgnoreTags', undef, 'list of tags to ignore when extracting' ],
|
1137
1142
|
[ 'ImageHashType', 'MD5', 'image hash algorithm' ],
|
1143
|
+
[ 'KeepUTCTime', undef, 'do not convert times stored as UTC' ],
|
1138
1144
|
[ 'Lang', $defaultLang, 'localized language for descriptions etc' ],
|
1139
1145
|
[ 'LargeFileSupport', 1, 'flag indicating support of 64-bit file offsets' ],
|
1140
1146
|
[ 'LimitLongValues', 60, 'length limit for long values' ],
|
@@ -2592,6 +2598,8 @@ sub Options($$;@)
|
|
2592
2598
|
# add to existing plot settings
|
2593
2599
|
$newVal = "$oldVal,$newVal" if defined $oldVal and defined $newVal;
|
2594
2600
|
$$options{$param} = $newVal;
|
2601
|
+
} elsif ($param eq 'KeepUTCTime') {
|
2602
|
+
$$options{$param} = $static_vars{$param} = $newVal;
|
2595
2603
|
} elsif (lc $param eq 'geodir') {
|
2596
2604
|
$Image::ExifTool::Geolocation::geoDir = $newVal;
|
2597
2605
|
} else {
|
@@ -4250,7 +4258,7 @@ sub Init($)
|
|
4250
4258
|
my $self = shift;
|
4251
4259
|
# delete all DataMember variables (lower-case names)
|
4252
4260
|
delete $$self{$_} foreach grep /[a-z]/, keys %$self;
|
4253
|
-
|
4261
|
+
%static_vars = ( KeepUTCTime => $$self{OPTIONS}{KeepUTCTime} ); # reset static variables
|
4254
4262
|
delete $$self{FOUND_TAGS}; # list of found tags
|
4255
4263
|
delete $$self{EXIF_DATA}; # the EXIF data block
|
4256
4264
|
delete $$self{EXIF_POS}; # EXIF position in file
|
@@ -6685,12 +6693,15 @@ sub ConvertUnixTime($;$$)
|
|
6685
6693
|
$time = int($time + 1e-6) if $time != int($time); # avoid round-off errors
|
6686
6694
|
$dec = '';
|
6687
6695
|
}
|
6688
|
-
if ($toLocal) {
|
6689
|
-
@tm = localtime($time);
|
6690
|
-
$tz = TimeZoneString(\@tm, $time);
|
6691
|
-
} else {
|
6696
|
+
if (not $toLocal) {
|
6692
6697
|
@tm = gmtime($time);
|
6693
6698
|
$tz = '';
|
6699
|
+
} elsif ($static_vars{KeepUTCTime}) {
|
6700
|
+
@tm = gmtime($time);
|
6701
|
+
$tz = 'Z';
|
6702
|
+
} else {
|
6703
|
+
@tm = localtime($time);
|
6704
|
+
$tz = TimeZoneString(\@tm, $time);
|
6694
6705
|
}
|
6695
6706
|
my $str = sprintf("%4d:%.2d:%.2d %.2d:%.2d:%.2d$dec%s",
|
6696
6707
|
$tm[5]+1900, $tm[4]+1, $tm[3], $tm[2], $tm[1], $tm[0], $tz);
|
@@ -7967,6 +7978,12 @@ sub ProcessJPEG($$;$)
|
|
7967
7978
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
7968
7979
|
undef $scalado;
|
7969
7980
|
}
|
7981
|
+
} elsif ($$segDataPt =~ /^Qualcomm Dual Camera Attributes/) {
|
7982
|
+
$dumpType = 'Qualcomm Dual Camera';
|
7983
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::Qualcomm::DualCamera');
|
7984
|
+
DirStart(\%dirInfo, 31);
|
7985
|
+
$dirInfo{DirName} = 'Qualcomm Dual Camera';
|
7986
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
7970
7987
|
} elsif ($$segDataPt =~ /^FPXR\0/) {
|
7971
7988
|
next if $fast > 1; # skip processing for very fast
|
7972
7989
|
$dumpType = 'FPXR';
|
@@ -8945,7 +8962,7 @@ sub ProcessDirectory($$$;$)
|
|
8945
8962
|
($$dirInfo{DirLen} or not defined $$dirInfo{DirLen}))
|
8946
8963
|
{
|
8947
8964
|
my $addr = $$dirInfo{DirStart} + $$dirInfo{DataPos} + ($$dirInfo{Base}||0) + $$self{BASE};
|
8948
|
-
if ($$self{PROCESSED}{$addr}) {
|
8965
|
+
if ($$self{PROCESSED}{$addr} and not $$dirInfo{NotDup}) {
|
8949
8966
|
$self->Warn("$dirName pointer references previous $$self{PROCESSED}{$addr} directory");
|
8950
8967
|
# patch for bug in Windows phone 7.5 O/S that writes incorrect InteropIFD pointer
|
8951
8968
|
return 0 unless $dirName eq 'GPS' and $$self{PROCESSED}{$addr} eq 'InteropIFD';
|
@@ -9175,8 +9192,9 @@ sub HandleTag($$$$;%)
|
|
9175
9192
|
} elsif ($parms{MakeTagInfo}) {
|
9176
9193
|
$self->VPrint(0, $$self{INDENT}, "[adding $tag]\n") if $verbose;
|
9177
9194
|
my $name = $tag;
|
9178
|
-
$name =~ s/([
|
9179
|
-
$name =~
|
9195
|
+
$name =~ s/([A-Z]) ([A-Z][ A-Z])/${1}_$2/g; # underline between acronyms
|
9196
|
+
$name =~ s/([^A-Za-z])([a-z])/$1\u$2/g; # capitalize words
|
9197
|
+
$name =~ tr/-_a-zA-Z0-9//dc; # remove illegal characters
|
9180
9198
|
$name = "Tag$name" if length($name) < 2 or $name =~ /^[-0-9]/;
|
9181
9199
|
$tagInfo = { Name => ucfirst($name) };
|
9182
9200
|
AddTagToTable($tagTablePtr, $tag, $tagInfo);
|
@@ -9970,6 +9988,7 @@ sub ProcessBinaryData($$$)
|
|
9970
9988
|
$subdirBase = eval($$subdir{Base}) + $base;
|
9971
9989
|
}
|
9972
9990
|
my $start = $$subdir{Start} || 0;
|
9991
|
+
my $notDup;
|
9973
9992
|
if ($start =~ /\$/) {
|
9974
9993
|
# ignore directories with a zero offset (ie. missing Nikon ShotInfo entries)
|
9975
9994
|
next unless $val;
|
@@ -9980,6 +9999,7 @@ sub ProcessBinaryData($$$)
|
|
9980
9999
|
$len = $dataLen - $start unless $len and $len <= $dataLen - $start;
|
9981
10000
|
} else {
|
9982
10001
|
$start += $dirStart + $entry;
|
10002
|
+
$notDup = 1,
|
9983
10003
|
}
|
9984
10004
|
my %subdirInfo = (
|
9985
10005
|
DataPt => $dataPt,
|
@@ -9988,6 +10008,7 @@ sub ProcessBinaryData($$$)
|
|
9988
10008
|
DirStart => $start,
|
9989
10009
|
DirLen => $len,
|
9990
10010
|
Base => $subdirBase,
|
10011
|
+
NotDup => $notDup,
|
9991
10012
|
);
|
9992
10013
|
delete $$self{NO_UNKNOWN};
|
9993
10014
|
$self->ProcessDirectory(\%subdirInfo, $subTablePtr, $$subdir{ProcessProc});
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -65,50 +65,50 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
65
65
|
|
66
66
|
File Types
|
67
67
|
------------+-------------+-------------+-------------+------------
|
68
|
-
360 r/w | DOCX r | ITC r | NUMBERS r |
|
69
|
-
3FR r | DPX r | J2C r | NXD r |
|
70
|
-
3G2 r/w | DR4 r/w/c | JNG r/w | O r |
|
71
|
-
3GP r/w | DSS r | JP2 r/w | ODP r |
|
72
|
-
7Z r | DV r | JPEG r/w | ODS r |
|
73
|
-
A r | DVB r/w | JSON r | ODT r |
|
74
|
-
AA r | DVR-MS r | JXL r/w | OFR r |
|
75
|
-
AAC r | DYLIB r | K25 r | OGG r |
|
76
|
-
AAE r | EIP r | KDC r | OGV r |
|
77
|
-
AAX r/w | EPS r/w | KEY r | ONP r |
|
78
|
-
ACR r | EPUB r | LA r | OPUS r |
|
79
|
-
AFM r | ERF r/w | LFP r | ORF r/w |
|
80
|
-
AI r/w | EXE r | LIF r | ORI r/w |
|
81
|
-
AIFF r | EXIF r/w/c | LNK r | OTF r |
|
82
|
-
APE r | EXR r | LRV r/w | PAC r |
|
83
|
-
ARQ r/w | EXV r/w/c | M2TS r | PAGES r |
|
84
|
-
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w |
|
85
|
-
ASF r | FFF r/w | MACOS r |
|
86
|
-
AVI r | FITS r | MAX r |
|
87
|
-
AVIF r/w | FLA r | MEF r/w |
|
88
|
-
AZW r | FLAC r | MIE r/w/c |
|
89
|
-
BMP r | FLIF r/w | MIFF r |
|
90
|
-
BPG r | FLV r | MKA r |
|
91
|
-
BTF r | FPF r | MKS r |
|
92
|
-
C2PA r | FPX r | MKV r |
|
93
|
-
CHM r | GIF r/w | MNG r/w |
|
94
|
-
COS r | GLV r/w | MOBI r |
|
95
|
-
CR2 r/w | GPR r/w | MODD r |
|
96
|
-
CR3 r/w | GZ r | MOI r |
|
97
|
-
CRM r/w | HDP r/w | MOS r/w |
|
98
|
-
CRW r/w | HDR r | MOV r/w |
|
99
|
-
CS1 r/w | HEIC r/w | MP3 r |
|
100
|
-
CSV r | HEIF r/w | MP4 r/w |
|
101
|
-
CUR r | HTML r | MPC r |
|
102
|
-
CZI r | ICC r/w/c | MPG r |
|
103
|
-
DCM r | ICO r | MPO r/w |
|
104
|
-
DCP r/w | ICS r | MQV r/w |
|
105
|
-
DCR r | IDML r | MRC r |
|
106
|
-
DFONT r | IIQ r/w | MRW r/w |
|
107
|
-
DIVX r | IND r/w | MXF r |
|
108
|
-
DJVU r | INSP r/w | NEF r/w |
|
109
|
-
DLL r | INSV r | NKA r |
|
110
|
-
DNG r/w | INX r | NKSC r/w |
|
111
|
-
DOC r | ISO r | NRW r/w |
|
68
|
+
360 r/w | DOCX r | ITC r | NUMBERS r | RAM r
|
69
|
+
3FR r | DPX r | J2C r | NXD r | RAR r
|
70
|
+
3G2 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
71
|
+
3GP r/w | DSS r | JP2 r/w | ODP r | RIFF r
|
72
|
+
7Z r | DV r | JPEG r/w | ODS r | RSRC r
|
73
|
+
A r | DVB r/w | JSON r | ODT r | RTF r
|
74
|
+
AA r | DVR-MS r | JXL r/w | OFR r | RW2 r/w
|
75
|
+
AAC r | DYLIB r | K25 r | OGG r | RWL r/w
|
76
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
77
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
78
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
79
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
80
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
81
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
82
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
83
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
84
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
85
|
+
ASF r | FFF r/w | MACOS r | PCAP r | SWF r
|
86
|
+
AVI r | FITS r | MAX r | PCAPNG r | THM r/w
|
87
|
+
AVIF r/w | FLA r | MEF r/w | PCD r | TIFF r/w
|
88
|
+
AZW r | FLAC r | MIE r/w/c | PCX r | TORRENT r
|
89
|
+
BMP r | FLIF r/w | MIFF r | PDB r | TTC r
|
90
|
+
BPG r | FLV r | MKA r | PDF r/w | TTF r
|
91
|
+
BTF r | FPF r | MKS r | PEF r/w | TXT r
|
92
|
+
C2PA r | FPX r | MKV r | PFA r | VCF r
|
93
|
+
CHM r | GIF r/w | MNG r/w | PFB r | VNT r
|
94
|
+
COS r | GLV r/w | MOBI r | PFM r | VRD r/w/c
|
95
|
+
CR2 r/w | GPR r/w | MODD r | PGF r | VSD r
|
96
|
+
CR3 r/w | GZ r | MOI r | PGM r/w | WAV r
|
97
|
+
CRM r/w | HDP r/w | MOS r/w | PLIST r | WDP r/w
|
98
|
+
CRW r/w | HDR r | MOV r/w | PICT r | WEBP r/w
|
99
|
+
CS1 r/w | HEIC r/w | MP3 r | PMP r | WEBM r
|
100
|
+
CSV r | HEIF r/w | MP4 r/w | PNG r/w | WMA r
|
101
|
+
CUR r | HTML r | MPC r | PPM r/w | WMV r
|
102
|
+
CZI r | ICC r/w/c | MPG r | PPT r | WPG r
|
103
|
+
DCM r | ICO r | MPO r/w | PPTX r | WTV r
|
104
|
+
DCP r/w | ICS r | MQV r/w | PS r/w | WV r
|
105
|
+
DCR r | IDML r | MRC r | PSB r/w | X3F r/w
|
106
|
+
DFONT r | IIQ r/w | MRW r/w | PSD r/w | XCF r
|
107
|
+
DIVX r | IND r/w | MXF r | PSP r | XISF r
|
108
|
+
DJVU r | INSP r/w | NEF r/w | QTIF r/w | XLS r
|
109
|
+
DLL r | INSV r | NKA r | R3D r | XLSX r
|
110
|
+
DNG r/w | INX r | NKSC r/w | RA r | XMP r/w/c
|
111
|
+
DOC r | ISO r | NRW r/w | RAF r/w | ZIP r
|
112
112
|
|
113
113
|
Meta Information
|
114
114
|
----------------------+----------------------+---------------------
|
@@ -892,6 +892,11 @@ to undef to clear the previous IgnoreTags list. Default is undef.
|
|
892
892
|
Sets type of hash algorithm used for the ImageDataHash tag calculation.
|
893
893
|
Supported options are 'MD5', 'SHA256', and 'SHA512'. Default is 'MD5'.
|
894
894
|
|
895
|
+
=item KeepUTCTime
|
896
|
+
|
897
|
+
Flag to keep UTC times in Zulu time zone instead of converting to local
|
898
|
+
time. Default is undef.
|
899
|
+
|
895
900
|
=item Lang
|
896
901
|
|
897
902
|
Localized language for exiftool tag descriptions, etc. Available languages
|
@@ -904,7 +909,7 @@ set to undef to select the built-in default language. Default is 'en'.
|
|
904
909
|
Flag to indicate that 64-bit file offsets are supported on this system. If
|
905
910
|
not set, processing is aborted if a chunk larger than 2 GB is encountered.
|
906
911
|
Set to 1 to process large chunks, or 2 to process with a warning. Default
|
907
|
-
is
|
912
|
+
is 1.
|
908
913
|
|
909
914
|
=item LimitLongValues
|
910
915
|
|
@@ -1314,17 +1319,7 @@ Extract all meta information from an image.
|
|
1314
1319
|
|
1315
1320
|
L</ExtractInfo> takes exactly the same arguments as L</ImageInfo>. The only
|
1316
1321
|
difference is that a list of tag keys is not returned if an ARRAY reference
|
1317
|
-
is given.
|
1318
|
-
L</ExtractInfo>:
|
1319
|
-
|
1320
|
-
Binary, Charset, CharsetEXIF, CharsetFileName, CharsetID3, CharsetIPTC,
|
1321
|
-
CharsetPhotoshop, CharsetQuickTime, CharsetRIFF, Composite, ExtendedXMP,
|
1322
|
-
ExtractEmbedded, FastScan, FixBase, HtmlDump, HtmlDumpBase, IgnoreGroups,
|
1323
|
-
IgnoreMinorErrors, IgnoreTags, Lang, LargeFileSupport, MakerNotes,
|
1324
|
-
MDItemTags, NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero),
|
1325
|
-
RequestAll, RequestTags, SaveBin, SaveFormat, SavePath, ScanForXMP, Struct,
|
1326
|
-
TextOut, Unknown, Verbose, WindowsLongPath, WindowsWideFile, XAttrTags and
|
1327
|
-
XMPAutoConv.
|
1322
|
+
is given.
|
1328
1323
|
|
1329
1324
|
=item Return Value:
|
1330
1325
|
|
@@ -1356,11 +1351,7 @@ L</ImageInfo>.
|
|
1356
1351
|
=item Inputs:
|
1357
1352
|
|
1358
1353
|
Inputs are the same as L</ExtractInfo> and L</ImageInfo> except that an
|
1359
|
-
image can not be specified.
|
1360
|
-
|
1361
|
-
Charset, CoordFormat, DateFormat, Duplicates, Escape, Exclude, Filter,
|
1362
|
-
Group#, GlobalTimeShift, Lang, ListItem, ListJoin, PrintConv, Sort (if a tag
|
1363
|
-
list reference is given) and StrictDate.
|
1354
|
+
image can not be specified.
|
1364
1355
|
|
1365
1356
|
=item Return Value:
|
1366
1357
|
|
@@ -1368,13 +1359,6 @@ Reference to information hash, the same as with L</ImageInfo>.
|
|
1368
1359
|
|
1369
1360
|
=back
|
1370
1361
|
|
1371
|
-
The following options are effective in the call to L</GetInfo>:
|
1372
|
-
|
1373
|
-
Charset, CoordFormat, DateFormat, Duplicates, Escape, Exclude, Filter,
|
1374
|
-
Group#, GlobalTimeShift, Lang, ListItem, ListJoin, PrintConv, QuickTimeUTC
|
1375
|
-
(conversion to local time), Sort (if a tag list reference is given) and
|
1376
|
-
StrictDate.
|
1377
|
-
|
1378
1362
|
=head2 WriteInfo
|
1379
1363
|
|
1380
1364
|
Write meta information to a file. The specified source file is rewritten to
|
@@ -1459,13 +1443,6 @@ called with a source file name.
|
|
1459
1443
|
|
1460
1444
|
=back
|
1461
1445
|
|
1462
|
-
The following ExifTool options are effective in the call to L</WriteInfo>:
|
1463
|
-
|
1464
|
-
ByteOrder, Charset, CharsetEXIF, CharsetFileName, CharsetIPTC, Compact,
|
1465
|
-
Compress, FixBase, IgnoreMinorErrors, NoMultiExif, NoPDFList, Password,
|
1466
|
-
QuickTimeHandler, QuickTimePad, Verbose, WindowsLongPath, WindowsWideFile
|
1467
|
-
and WriteMode.
|
1468
|
-
|
1469
1446
|
=head2 GetTagList
|
1470
1447
|
|
1471
1448
|
Get a sorted list of tags from the specified information hash or tag list.
|
@@ -1588,12 +1565,6 @@ optional group specifier), use L</GetInfo> instead.
|
|
1588
1565
|
|
1589
1566
|
my @keywords = $exifTool->GetValue('Keywords', 'ValueConv');
|
1590
1567
|
|
1591
|
-
The following options are in effect when L</GetValue> is called:
|
1592
|
-
|
1593
|
-
Charset, CoordFormat, DateFormat, Escape, Filter, GlobalTimeShift, Lang,
|
1594
|
-
ListItem, ListJoin, PrintConv, QuickTimeUTC (conversion to local time),
|
1595
|
-
StrictDate and TimeZone.
|
1596
|
-
|
1597
1568
|
=over 4
|
1598
1569
|
|
1599
1570
|
=item Inputs:
|
@@ -1847,11 +1818,6 @@ explicitly, either by group (with 'Adobe:*') or as a block (with 'Adobe').
|
|
1847
1818
|
|
1848
1819
|
=back
|
1849
1820
|
|
1850
|
-
The following ExifTool options are effective in the call to L</SetNewValue>:
|
1851
|
-
|
1852
|
-
Charset, DateFormat, Escape, IgnoreMinorErrors, Lang, ListJoin, ListSplit,
|
1853
|
-
PrintConv, QuickTimeUTC, StrictDate, TimeZone, Verbose and WriteMode.
|
1854
|
-
|
1855
1821
|
=head2 GetNewValue
|
1856
1822
|
|
1857
1823
|
Get the new Raw value for a tag. This is the value set by L</SetNewValue>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Summary: perl module for image data extraction
|
2
2
|
Name: perl-Image-ExifTool
|
3
|
-
Version: 13.
|
3
|
+
Version: 13.25
|
4
4
|
Release: 1
|
5
5
|
License: Artistic/GPL
|
6
6
|
Group: Development/Libraries/Perl
|
@@ -22,50 +22,50 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
22
22
|
|
23
23
|
File Types
|
24
24
|
------------+-------------+-------------+-------------+------------
|
25
|
-
360 r/w | DOCX r | ITC r | NUMBERS r |
|
26
|
-
3FR r | DPX r | J2C r | NXD r |
|
27
|
-
3G2 r/w | DR4 r/w/c | JNG r/w | O r |
|
28
|
-
3GP r/w | DSS r | JP2 r/w | ODP r |
|
29
|
-
7Z r | DV r | JPEG r/w | ODS r |
|
30
|
-
A r | DVB r/w | JSON r | ODT r |
|
31
|
-
AA r | DVR-MS r | JXL r/w | OFR r |
|
32
|
-
AAC r | DYLIB r | K25 r | OGG r |
|
33
|
-
AAE r | EIP r | KDC r | OGV r |
|
34
|
-
AAX r/w | EPS r/w | KEY r | ONP r |
|
35
|
-
ACR r | EPUB r | LA r | OPUS r |
|
36
|
-
AFM r | ERF r/w | LFP r | ORF r/w |
|
37
|
-
AI r/w | EXE r | LIF r | ORI r/w |
|
38
|
-
AIFF r | EXIF r/w/c | LNK r | OTF r |
|
39
|
-
APE r | EXR r | LRV r/w | PAC r |
|
40
|
-
ARQ r/w | EXV r/w/c | M2TS r | PAGES r |
|
41
|
-
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w |
|
42
|
-
ASF r | FFF r/w | MACOS r |
|
43
|
-
AVI r | FITS r | MAX r |
|
44
|
-
AVIF r/w | FLA r | MEF r/w |
|
45
|
-
AZW r | FLAC r | MIE r/w/c |
|
46
|
-
BMP r | FLIF r/w | MIFF r |
|
47
|
-
BPG r | FLV r | MKA r |
|
48
|
-
BTF r | FPF r | MKS r |
|
49
|
-
C2PA r | FPX r | MKV r |
|
50
|
-
CHM r | GIF r/w | MNG r/w |
|
51
|
-
COS r | GLV r/w | MOBI r |
|
52
|
-
CR2 r/w | GPR r/w | MODD r |
|
53
|
-
CR3 r/w | GZ r | MOI r |
|
54
|
-
CRM r/w | HDP r/w | MOS r/w |
|
55
|
-
CRW r/w | HDR r | MOV r/w |
|
56
|
-
CS1 r/w | HEIC r/w | MP3 r |
|
57
|
-
CSV r | HEIF r/w | MP4 r/w |
|
58
|
-
CUR r | HTML r | MPC r |
|
59
|
-
CZI r | ICC r/w/c | MPG r |
|
60
|
-
DCM r | ICO r | MPO r/w |
|
61
|
-
DCP r/w | ICS r | MQV r/w |
|
62
|
-
DCR r | IDML r | MRC r |
|
63
|
-
DFONT r | IIQ r/w | MRW r/w |
|
64
|
-
DIVX r | IND r/w | MXF r |
|
65
|
-
DJVU r | INSP r/w | NEF r/w |
|
66
|
-
DLL r | INSV r | NKA r |
|
67
|
-
DNG r/w | INX r | NKSC r/w |
|
68
|
-
DOC r | ISO r | NRW r/w |
|
25
|
+
360 r/w | DOCX r | ITC r | NUMBERS r | RAM r
|
26
|
+
3FR r | DPX r | J2C r | NXD r | RAR r
|
27
|
+
3G2 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
28
|
+
3GP r/w | DSS r | JP2 r/w | ODP r | RIFF r
|
29
|
+
7Z r | DV r | JPEG r/w | ODS r | RSRC r
|
30
|
+
A r | DVB r/w | JSON r | ODT r | RTF r
|
31
|
+
AA r | DVR-MS r | JXL r/w | OFR r | RW2 r/w
|
32
|
+
AAC r | DYLIB r | K25 r | OGG r | RWL r/w
|
33
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
34
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
35
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
36
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
37
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
38
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
39
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
40
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
41
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
42
|
+
ASF r | FFF r/w | MACOS r | PCAP r | SWF r
|
43
|
+
AVI r | FITS r | MAX r | PCAPNG r | THM r/w
|
44
|
+
AVIF r/w | FLA r | MEF r/w | PCD r | TIFF r/w
|
45
|
+
AZW r | FLAC r | MIE r/w/c | PCX r | TORRENT r
|
46
|
+
BMP r | FLIF r/w | MIFF r | PDB r | TTC r
|
47
|
+
BPG r | FLV r | MKA r | PDF r/w | TTF r
|
48
|
+
BTF r | FPF r | MKS r | PEF r/w | TXT r
|
49
|
+
C2PA r | FPX r | MKV r | PFA r | VCF r
|
50
|
+
CHM r | GIF r/w | MNG r/w | PFB r | VNT r
|
51
|
+
COS r | GLV r/w | MOBI r | PFM r | VRD r/w/c
|
52
|
+
CR2 r/w | GPR r/w | MODD r | PGF r | VSD r
|
53
|
+
CR3 r/w | GZ r | MOI r | PGM r/w | WAV r
|
54
|
+
CRM r/w | HDP r/w | MOS r/w | PLIST r | WDP r/w
|
55
|
+
CRW r/w | HDR r | MOV r/w | PICT r | WEBP r/w
|
56
|
+
CS1 r/w | HEIC r/w | MP3 r | PMP r | WEBM r
|
57
|
+
CSV r | HEIF r/w | MP4 r/w | PNG r/w | WMA r
|
58
|
+
CUR r | HTML r | MPC r | PPM r/w | WMV r
|
59
|
+
CZI r | ICC r/w/c | MPG r | PPT r | WPG r
|
60
|
+
DCM r | ICO r | MPO r/w | PPTX r | WTV r
|
61
|
+
DCP r/w | ICS r | MQV r/w | PS r/w | WV r
|
62
|
+
DCR r | IDML r | MRC r | PSB r/w | X3F r/w
|
63
|
+
DFONT r | IIQ r/w | MRW r/w | PSD r/w | XCF r
|
64
|
+
DIVX r | IND r/w | MXF r | PSP r | XISF r
|
65
|
+
DJVU r | INSP r/w | NEF r/w | QTIF r/w | XLS r
|
66
|
+
DLL r | INSV r | NKA r | R3D r | XLSX r
|
67
|
+
DNG r/w | INX r | NKSC r/w | RA r | XMP r/w/c
|
68
|
+
DOC r | ISO r | NRW r/w | RAF r/w | ZIP r
|
69
69
|
|
70
70
|
Meta Information
|
71
71
|
----------------------+----------------------+---------------------
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exiftool_vendored
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.
|
4
|
+
version: 13.25.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew McEachen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-03-
|
12
|
+
date: 2025-03-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|
@@ -238,6 +238,7 @@ files:
|
|
238
238
|
- bin/lib/Image/ExifTool/OpenEXR.pm
|
239
239
|
- bin/lib/Image/ExifTool/Opus.pm
|
240
240
|
- bin/lib/Image/ExifTool/Other.pm
|
241
|
+
- bin/lib/Image/ExifTool/PCAP.pm
|
241
242
|
- bin/lib/Image/ExifTool/PCX.pm
|
242
243
|
- bin/lib/Image/ExifTool/PDF.pm
|
243
244
|
- bin/lib/Image/ExifTool/PGF.pm
|