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.
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
50
50
  use Image::ExifTool::GPS;
51
51
  require Exporter;
52
52
 
53
- $VERSION = '3.71';
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
- while ($attrs =~ /(\S+?)\s*=\s*(['"])/g) {
3822
- my ($attr, $quote) = ($1, $2);
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);
@@ -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.22';
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 ZIP
159
- ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF MacOS
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 DICOM PCD
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 Format2'],
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
- undef %static_vars; # clear all static variables
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/([^A-Za-z])([a-z])/$1\u$2/g; # capitalize words
9179
- $name =~ tr/-_a-zA-Z0-9//dc; # remove illegal characters
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});
@@ -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 | RAW r/w
69
- 3FR r | DPX r | J2C r | NXD r | RIFF r
70
- 3G2 r/w | DR4 r/w/c | JNG r/w | O r | RSRC r
71
- 3GP r/w | DSS r | JP2 r/w | ODP r | RTF r
72
- 7Z r | DV r | JPEG r/w | ODS r | RW2 r/w
73
- A r | DVB r/w | JSON r | ODT r | RWL r/w
74
- AA r | DVR-MS r | JXL r/w | OFR r | RWZ r
75
- AAC r | DYLIB r | K25 r | OGG r | RM r
76
- AAE r | EIP r | KDC r | OGV r | SEQ r
77
- AAX r/w | EPS r/w | KEY r | ONP r | SKETCH r
78
- ACR r | EPUB r | LA r | OPUS r | SO r
79
- AFM r | ERF r/w | LFP r | ORF r/w | SR2 r/w
80
- AI r/w | EXE r | LIF r | ORI r/w | SRF r
81
- AIFF r | EXIF r/w/c | LNK r | OTF r | SRW r/w
82
- APE r | EXR r | LRV r/w | PAC r | SVG r
83
- ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SWF r
84
- ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | THM r/w
85
- ASF r | FFF r/w | MACOS r | PCD r | TIFF r/w
86
- AVI r | FITS r | MAX r | PCX r | TORRENT r
87
- AVIF r/w | FLA r | MEF r/w | PDB r | TTC r
88
- AZW r | FLAC r | MIE r/w/c | PDF r/w | TTF r
89
- BMP r | FLIF r/w | MIFF r | PEF r/w | TXT r
90
- BPG r | FLV r | MKA r | PFA r | VCF r
91
- BTF r | FPF r | MKS r | PFB r | VNT r
92
- C2PA r | FPX r | MKV r | PFM r | VRD r/w/c
93
- CHM r | GIF r/w | MNG r/w | PGF r | VSD r
94
- COS r | GLV r/w | MOBI r | PGM r/w | WAV r
95
- CR2 r/w | GPR r/w | MODD r | PLIST r | WDP r/w
96
- CR3 r/w | GZ r | MOI r | PICT r | WEBP r/w
97
- CRM r/w | HDP r/w | MOS r/w | PMP r | WEBM r
98
- CRW r/w | HDR r | MOV r/w | PNG r/w | WMA r
99
- CS1 r/w | HEIC r/w | MP3 r | PPM r/w | WMV r
100
- CSV r | HEIF r/w | MP4 r/w | PPT r | WPG r
101
- CUR r | HTML r | MPC r | PPTX r | WTV r
102
- CZI r | ICC r/w/c | MPG r | PS r/w | WV r
103
- DCM r | ICO r | MPO r/w | PSB r/w | X3F r/w
104
- DCP r/w | ICS r | MQV r/w | PSD r/w | XCF r
105
- DCR r | IDML r | MRC r | PSP r | XISF r
106
- DFONT r | IIQ r/w | MRW r/w | QTIF r/w | XLS r
107
- DIVX r | IND r/w | MXF r | R3D r | XLSX r
108
- DJVU r | INSP r/w | NEF r/w | RA r | XMP r/w/c
109
- DLL r | INSV r | NKA r | RAF r/w | ZIP r
110
- DNG r/w | INX r | NKSC r/w | RAM r |
111
- DOC r | ISO r | NRW r/w | RAR r |
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 2.
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. The following options are effective in the call to
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. Options in effect are:
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.22
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 | RAW r/w
26
- 3FR r | DPX r | J2C r | NXD r | RIFF r
27
- 3G2 r/w | DR4 r/w/c | JNG r/w | O r | RSRC r
28
- 3GP r/w | DSS r | JP2 r/w | ODP r | RTF r
29
- 7Z r | DV r | JPEG r/w | ODS r | RW2 r/w
30
- A r | DVB r/w | JSON r | ODT r | RWL r/w
31
- AA r | DVR-MS r | JXL r/w | OFR r | RWZ r
32
- AAC r | DYLIB r | K25 r | OGG r | RM r
33
- AAE r | EIP r | KDC r | OGV r | SEQ r
34
- AAX r/w | EPS r/w | KEY r | ONP r | SKETCH r
35
- ACR r | EPUB r | LA r | OPUS r | SO r
36
- AFM r | ERF r/w | LFP r | ORF r/w | SR2 r/w
37
- AI r/w | EXE r | LIF r | ORI r/w | SRF r
38
- AIFF r | EXIF r/w/c | LNK r | OTF r | SRW r/w
39
- APE r | EXR r | LRV r/w | PAC r | SVG r
40
- ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SWF r
41
- ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | THM r/w
42
- ASF r | FFF r/w | MACOS r | PCD r | TIFF r/w
43
- AVI r | FITS r | MAX r | PCX r | TORRENT r
44
- AVIF r/w | FLA r | MEF r/w | PDB r | TTC r
45
- AZW r | FLAC r | MIE r/w/c | PDF r/w | TTF r
46
- BMP r | FLIF r/w | MIFF r | PEF r/w | TXT r
47
- BPG r | FLV r | MKA r | PFA r | VCF r
48
- BTF r | FPF r | MKS r | PFB r | VNT r
49
- C2PA r | FPX r | MKV r | PFM r | VRD r/w/c
50
- CHM r | GIF r/w | MNG r/w | PGF r | VSD r
51
- COS r | GLV r/w | MOBI r | PGM r/w | WAV r
52
- CR2 r/w | GPR r/w | MODD r | PLIST r | WDP r/w
53
- CR3 r/w | GZ r | MOI r | PICT r | WEBP r/w
54
- CRM r/w | HDP r/w | MOS r/w | PMP r | WEBM r
55
- CRW r/w | HDR r | MOV r/w | PNG r/w | WMA r
56
- CS1 r/w | HEIC r/w | MP3 r | PPM r/w | WMV r
57
- CSV r | HEIF r/w | MP4 r/w | PPT r | WPG r
58
- CUR r | HTML r | MPC r | PPTX r | WTV r
59
- CZI r | ICC r/w/c | MPG r | PS r/w | WV r
60
- DCM r | ICO r | MPO r/w | PSB r/w | X3F r/w
61
- DCP r/w | ICS r | MQV r/w | PSD r/w | XCF r
62
- DCR r | IDML r | MRC r | PSP r | XISF r
63
- DFONT r | IIQ r/w | MRW r/w | QTIF r/w | XLS r
64
- DIVX r | IND r/w | MXF r | R3D r | XLSX r
65
- DJVU r | INSP r/w | NEF r/w | RA r | XMP r/w/c
66
- DLL r | INSV r | NKA r | RAF r/w | ZIP r
67
- DNG r/w | INX r | NKSC r/w | RAM r |
68
- DOC r | ISO r | NRW r/w | RAR r |
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
  ----------------------+----------------------+---------------------
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('13.22.0')
4
+ VERSION = Gem::Version.new('13.25.0')
5
5
  end
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.22.0
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-02 00:00:00.000000000 Z
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