exiftool_vendored 13.37.0 → 13.38.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.
@@ -0,0 +1,144 @@
1
+ #------------------------------------------------------------------------------
2
+ # File: WavPack.pm
3
+ #
4
+ # Description: Read metadata from WavPack audio files
5
+ #
6
+ # Revisions: 2025-09-24 - P. Harvey Created
7
+ #
8
+ # References: 1) https://www.wavpack.com/WavPack5FileFormat.pdf
9
+ #------------------------------------------------------------------------------
10
+
11
+ package Image::ExifTool::WavPack;
12
+
13
+ use strict;
14
+ use vars qw($VERSION);
15
+ use Image::ExifTool qw(:DataAccess :Utils);
16
+ use Image::ExifTool::RIFF;
17
+ use Image::ExifTool::APE;
18
+
19
+ $VERSION = '1.00';
20
+
21
+ %Image::ExifTool::WavPack::Main = (
22
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
23
+ GROUPS => { 0 => 'File', 1 => 'File', 2 => 'Audio' },
24
+ FORMAT => 'int32u',
25
+ NOTES => q{
26
+ Tags extracted from the header of WavPack (WV and WVP) audio files. These
27
+ files may also contain RIFF, ID3 and/or APE metadata which is also extracted
28
+ by ExifTool. See L<https://www.wavpack.com/WavPack5FileFormat.pdf> for the
29
+ WavPack specification.
30
+ },
31
+ 6.1 => {
32
+ Name => 'BytesPerSample',
33
+ Mask => 0x03,
34
+ ValueConv => '$val + 1',
35
+ },
36
+ 6.2 => {
37
+ Name => 'AudioType',
38
+ Mask => 0x04,
39
+ PrintConv => { 0 => 'Stereo', 1 => 'Mono' },
40
+ },
41
+ 6.3 => {
42
+ Name => 'Compression',
43
+ Mask => 0x08,
44
+ PrintConv => { 0 => 'Lossless', 1 => 'Hybrid' },
45
+ },
46
+ 6.4 => {
47
+ Name => 'DataFormat',
48
+ Mask => 0x80,
49
+ PrintConv => { 0 => 'Integer', 1 => 'Floating Point' },
50
+ },
51
+ 6.5 => {
52
+ Name => 'SampleRate',
53
+ Mask => 0x07800000,
54
+ Priority => 0, # ("Custom" is not very useful)
55
+ PrintConv => { # (NC)
56
+ 0 => 6000,
57
+ 1 => 8000,
58
+ 2 => 9600,
59
+ 3 => 11025,
60
+ 4 => 12000,
61
+ 5 => 16000,
62
+ 6 => 22050,
63
+ 7 => 24000,
64
+ 8 => 32000,
65
+ 9 => 44100,
66
+ 10 => 48000,
67
+ 11 => 64000,
68
+ 12 => 88200,
69
+ 13 => 96000,
70
+ 14 => 192000,
71
+ 15 => 'Custom',
72
+ },
73
+ },
74
+ );
75
+
76
+ #------------------------------------------------------------------------------
77
+ # Extract metadata from a WavPack file
78
+ # Inputs: 0) ExifTool object reference, 1) dirInfo reference
79
+ # Returns: 1 on success, 0 if this wasn't a valid WavPack file
80
+ sub ProcessWV($$)
81
+ {
82
+ my ($et, $dirInfo) = @_;
83
+ my $raf = $$dirInfo{RAF};
84
+ my $buff;
85
+
86
+ # verify this is a valid WavPack file
87
+ return 0 unless $raf->Read($buff, 32) == 32;
88
+ return 0 unless $buff =~ /^wvpk.{4}[\x02\x10]\x04/s;
89
+ $et->SetFileType();
90
+ my %dirInfo = (
91
+ DataPt => \$buff,
92
+ DirStart => 0,
93
+ DirLen => length($buff),
94
+ );
95
+ $et->ProcessBinaryData(\%dirInfo, GetTagTable('Image::ExifTool::WavPack::Main'));
96
+ # historically, the RIFF module has handled RIFF-type WavPack files
97
+ $raf->Seek(0,0);
98
+ push @{$$et{PATH}}, 'RIFF'; # update metadata path
99
+ Image::ExifTool::RIFF::ProcessRIFF($et, $dirInfo);
100
+ # also look for ID3 and APE trailers (ProcessAPE also checks for ID3)
101
+ $$et{PATH}[-1] = 'APE';
102
+ Image::ExifTool::APE::ProcessAPE($et, $dirInfo);
103
+ pop @{$$et{PATH}};
104
+ return 1;
105
+ }
106
+
107
+ 1; # end
108
+
109
+ __END__
110
+
111
+ =head1 NAME
112
+
113
+ Image::ExifTool::WavPack - Read metadata from WavPack audio files
114
+
115
+ =head1 SYNOPSIS
116
+
117
+ This module is used by Image::ExifTool
118
+
119
+ =head1 DESCRIPTION
120
+
121
+ This module contains definitions required by Image::ExifTool to read metadata
122
+ from WavPack audio files.
123
+
124
+ =head1 AUTHOR
125
+
126
+ Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
127
+
128
+ This library is free software; you can redistribute it and/or modify it
129
+ under the same terms as Perl itself.
130
+
131
+ =head1 REFERENCES
132
+
133
+ =over 4
134
+
135
+ =item L<https://www.wavpack.com/WavPack5FileFormat.pdf>
136
+
137
+ =back
138
+
139
+ =head1 SEE ALSO
140
+
141
+ L<Image::ExifTool::TagNames/WavPack Tags>,
142
+ L<Image::ExifTool(3pm)|Image::ExifTool>
143
+
144
+ =cut
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
50
50
  use Image::ExifTool::GPS;
51
51
  require Exporter;
52
52
 
53
- $VERSION = '3.74';
53
+ $VERSION = '3.75';
54
54
  @ISA = qw(Exporter);
55
55
  @EXPORT_OK = qw(EscapeXML UnescapeXML);
56
56
 
@@ -4436,7 +4436,7 @@ sub ProcessXMP($$;$)
4436
4436
  $buf2 = pack('C*', unpack("$fmt*",$buff));
4437
4437
  }
4438
4438
  if (Image::ExifTool::GetWarning()) {
4439
- $et->Warn('Superfluous BOM at start of XMP');
4439
+ $et->Warn('Superfluous BOM at start of XMP') unless $$dirInfo{RAF};
4440
4440
  $dataPt = \$buff; # use XMP with the BOM removed
4441
4441
  } else {
4442
4442
  $et->Warn('XMP is double UTF-encoded');
@@ -4487,13 +4487,16 @@ sub ProcessXMP($$;$)
4487
4487
  $begin = join "\0", split //, $begin;
4488
4488
  # must reset pos because it was killed by previous unsuccessful //g match
4489
4489
  pos($$dataPt) = $dirStart;
4490
+ my $badEnc;
4490
4491
  if ($$dataPt =~ /\G(\0)?\Q$begin\E\0./sg) {
4491
4492
  # validate byte ordering by checking for U+FEFF character
4492
4493
  if ($1) {
4493
4494
  # should be big-endian since we had a leading \0
4494
- $fmt = 'n' if $$dataPt =~ /\G\xfe\xff/g;
4495
+ $fmt = 'n';
4496
+ $badEnc = 1 unless $$dataPt =~ /\G\xfe\xff/g;
4495
4497
  } else {
4496
- $fmt = 'v' if $$dataPt =~ /\G\0\xff\xfe/g;
4498
+ $fmt = 'v';
4499
+ $badEnc = 1 unless $$dataPt =~ /\G\0\xff\xfe/g;
4497
4500
  }
4498
4501
  } else {
4499
4502
  # check for UTF-32 encoding (with three \0's between characters)
@@ -4503,12 +4506,14 @@ sub ProcessXMP($$;$)
4503
4506
  $fmt = 0; # set format to zero as indication we didn't find encoded XMP
4504
4507
  } elsif ($1) {
4505
4508
  # should be big-endian
4506
- $fmt = 'N' if $$dataPt =~ /\G\0\0\xfe\xff/g;
4509
+ $fmt = 'N';
4510
+ $badEnc = 1 unless $$dataPt =~ /\G\0\0\xfe\xff/g;
4507
4511
  } else {
4508
- $fmt = 'V' if $$dataPt =~ /\G\0\0\0\xff\xfe\0\0/g;
4512
+ $fmt = 'V';
4513
+ $badEnc = 1 unless $$dataPt =~ /\G\0\0\0\xff\xfe\0\0/g;
4509
4514
  }
4510
4515
  }
4511
- defined $fmt or $et->Warn('XMP character encoding error');
4516
+ $badEnc and $et->Warn('Invalid XMP encoding marker');
4512
4517
  }
4513
4518
  # warn if standard XMP is missing xpacket wrapper
4514
4519
  if ($$et{XMP_NO_XPACKET} and $$et{OPTIONS}{Validate} and
@@ -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 $configFile @configFiles $noConfig);
31
31
 
32
- $VERSION = '13.37';
32
+ $VERSION = '13.38';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -148,16 +148,16 @@ sub ReadValue($$$;$$$);
148
148
  PCX PGF PSP PhotoCD Radiance Other::PFM PDF PostScript Photoshop::Header
149
149
  Photoshop::Layers Photoshop::ImageData FujiFilm::RAFHeader FujiFilm::RAF
150
150
  FujiFilm::IFD FujiFilm::MRAW Samsung::Trailer Sony::SRF2 Sony::SR2SubIFD
151
- Sony::PMP ITC ID3 ID3::Lyrics3 FLAC AAC Ogg Vorbis APE APE::NewHeader
152
- APE::OldHeader Audible MPC MPEG::Audio MPEG::Video MPEG::Xing M2TS QuickTime
153
- QuickTime::ImageFile QuickTime::Stream QuickTime::Tags360Fly Matroska
154
- Matroska::StdTag MOI MXF DV Flash Flash::FLV Real::Media Real::Audio
155
- Real::Metafile Red RIFF AIFF ASF TNEF WTV DICOM FITS XISF MIE JSON HTML
156
- XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion EXE::PEString
157
- EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF EXE::ELF EXE::AR
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
151
+ Sony::PMP ITC ID3 ID3::Lyrics3 FLAC AAC Ogg Vorbis DSF WavPack APE
152
+ APE::NewHeader APE::OldHeader Audible MPC MPEG::Audio MPEG::Video MPEG::Xing
153
+ M2TS QuickTime QuickTime::ImageFile QuickTime::Stream QuickTime::Tags360Fly
154
+ Matroska Matroska::StdTag MOI MXF DV Flash Flash::FLV Real::Media
155
+ Real::Audio Real::Metafile Red RIFF AIFF ASF TNEF WTV DICOM FITS XISF MIE
156
+ JSON HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion
157
+ EXE::PEString EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF
158
+ EXE::ELF EXE::AR EXE::CHM LNK PCAP Font VCard Text VCard::VCalendar
159
+ VCard::VNote RSRC Rawzor ZIP ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork
160
+ ISO FLIR::AFF FLIR::FPF MacOS MacOS::MDItem FlashPix::DocTable
161
161
  );
162
162
 
163
163
  # alphabetical list of current Lang modules
@@ -194,13 +194,13 @@ $defaultLang = 'en'; # default language
194
194
  # 3) PLIST must be in this list for the binary PLIST format, although it may
195
195
  # cause a file to be checked twice for XML
196
196
  @fileTypes = qw(JPEG EXV CRW DR4 TIFF GIF MRW RAF X3F JP2 PNG MIE MIFF PS PDF
197
- PSD XMP BMP WPG BPG PPM RIFF AIFF ASF MOV MPEG Real SWF PSP FLV
198
- OGG FLAC APE MPC MKV MXF DV PMP IND PGF ICC ITC FLIR FLIF FPF
199
- LFP HTML VRD RTF FITS XISF XCF DSS QTIF FPX PICT ZIP GZIP PLIST
200
- RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
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 PCAP JSON MP3
203
- TNEF DICOM PCD NKA ICO TXT AAC);
197
+ PSD XMP BMP WPG BPG PPM WV RIFF AIFF ASF MOV MPEG Real SWF PSP
198
+ FLV OGG FLAC APE MPC MKV MXF DV PMP IND PGF ICC ITC FLIR FLIF
199
+ FPF LFP HTML VRD RTF FITS XISF XCF DSF DSS QTIF FPX PICT ZIP
200
+ GZIP PLIST RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX
201
+ DPX RAW Font JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV
202
+ Torrent VCard LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP
203
+ JSON MP3 TNEF 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
@@ -304,6 +304,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
304
304
  DPX => ['DPX', 'Digital Picture Exchange' ],
305
305
  DR4 => ['DR4', 'Canon VRD version 4 Recipe'],
306
306
  DS2 => ['DSS', 'Digital Speech Standard 2'],
307
+ DSF => ['DSF', 'DSF Stream File'],
307
308
  DSS => ['DSS', 'Digital Speech Standard'],
308
309
  DV => ['DV', 'Digital Video'],
309
310
  DVB => ['MOV', 'Digital Video Broadcasting'],
@@ -556,7 +557,8 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
556
557
  WMA => ['ASF', 'Windows Media Audio'],
557
558
  WMF => ['WMF', 'Windows Metafile Format'],
558
559
  WMV => ['ASF', 'Windows Media Video'],
559
- WV => ['RIFF', 'WavePack lossless audio'],
560
+ WV => ['WV', 'WavPack Audio'],
561
+ WVP => 'WV',
560
562
  X3F => ['X3F', 'Sigma RAW format'],
561
563
  XCF => ['XCF', 'GIMP native image format'],
562
564
  XHTML=> ['HTML', 'Extensible HyperText Markup Language'],
@@ -652,6 +654,7 @@ my %fileDescription = (
652
654
  DPX => 'image/x-dpx',
653
655
  DR4 => 'application/octet-stream', #PH (NC)
654
656
  DS2 => 'audio/x-ds2',
657
+ DSF => 'audio/x-dsf',
655
658
  DSS => 'audio/x-dss',
656
659
  DV => 'video/x-dv',
657
660
  'DVR-MS' => 'video/x-ms-dvr',
@@ -818,6 +821,7 @@ my %fileDescription = (
818
821
  WMV => 'video/x-ms-wmv',
819
822
  WPG => 'image/x-wpg',
820
823
  WTV => 'video/x-ms-wtv',
824
+ WV => 'audio/x-wavpack',
821
825
  X3F => 'image/x-sigma-x3f',
822
826
  XCF => 'image/x-xcf',
823
827
  XISF => 'image/x-xisf',
@@ -901,6 +905,7 @@ my %moduleName = (
901
905
  TXT => 'Text',
902
906
  VRD => 'CanonVRD',
903
907
  WMF => 0,
908
+ WV => 'WavPack',
904
909
  X3F => 'SigmaRaw',
905
910
  XCF => 'GIMP',
906
911
  );
@@ -933,6 +938,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
933
938
  DOCX => 'PK\x03\x04',
934
939
  DPX => '(SDPX|XPDS)',
935
940
  DR4 => 'IIII[\x04|\x05]\0\x04\0',
941
+ DSF => 'DSD \x1c\0{7}.{16}fmt ',
936
942
  DSS => '(\x02dss|\x03ds2)',
937
943
  DV => '\x1f\x07\0[\x3f\xbf]', # (not tested if extension recognized)
938
944
  DWF => '\(DWF V\d',
@@ -970,7 +976,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
970
976
  LIF => '\x70\0{3}.{4}\x2a.{4}<\0',
971
977
  LNK => '.{4}\x01\x14\x02\0{5}\xc0\0{6}\x46',
972
978
  LRI => 'LELR \0',
973
- M2TS => '(....)?\x47',
979
+ M2TS => '.{0,191}?\x47(.{187}|.{191})\x47(.{187}|.{191})\x47',
974
980
  MacOS=> '\0\x05\x16\x07\0.\0\0Mac OS X ',
975
981
  MIE => '~[\x10\x18]\x04.0MIE',
976
982
  MIFF => 'id=ImageMagick',
@@ -5523,23 +5529,31 @@ sub AddCleanup($)
5523
5529
  #------------------------------------------------------------------------------
5524
5530
  # Add warning tag
5525
5531
  # Inputs: 0) ExifTool object reference, 1) warning message
5526
- # 2) true if minor (2 if behaviour changes when warning is ignored,
5527
- # or 3 if warning shouldn't be issued when Validate option is used)
5532
+ # 2) 0=normal warning, 1=minor, 2=minor with behavioural change when
5533
+ # ignored, 3=warning shouldn't be issued with Validate option,
5534
+ # bit 0x04 set causes warning count to not be incremented
5528
5535
  # Returns: true if warning tag was added
5529
5536
  sub Warn($$;$)
5530
5537
  {
5531
5538
  my ($self, $str, $ignorable) = @_;
5532
5539
  my $noWarn = $$self{OPTIONS}{NoWarning};
5533
- if ($ignorable) {
5540
+ my $noCount;
5541
+ while ($ignorable) {
5542
+ if ($ignorable & 0x04) {
5543
+ $noCount = 1;
5544
+ $ignorable &= 0x03 or last;
5545
+ }
5546
+ my $ignorable = $ignorable & 0x03;
5534
5547
  return 0 if $$self{OPTIONS}{IgnoreMinorErrors};
5535
5548
  return 0 if $ignorable eq '3' and $$self{OPTIONS}{Validate};
5536
5549
  return 1 if defined $noWarn and eval { $str =~ /$noWarn/ };
5537
5550
  $str = $ignorable eq '2' ? "[Minor] $str" : "[minor] $str";
5551
+ last;
5538
5552
  }
5539
5553
  unless (defined $noWarn and eval { $str =~ /$noWarn/ }) {
5540
5554
  # add each warning only once but count number of occurrences
5541
5555
  if ($$self{WAS_WARNED}{$str}) {
5542
- ++$$self{WAS_WARNED}{$str};
5556
+ ++$$self{WAS_WARNED}{$str} unless $noCount;
5543
5557
  } else {
5544
5558
  $self->FoundTag('Warning', $str);
5545
5559
  $$self{WAS_WARNED}{$str} = 1;
@@ -9575,6 +9589,7 @@ sub DoEscape($$)
9575
9589
  sub SetFileType($;$$$)
9576
9590
  {
9577
9591
  my ($self, $fileType, $mimeType, $normExt) = @_;
9592
+ # use only the first FileType set if called again for the main document
9578
9593
  unless ($$self{FileType} and not $$self{DOC_NUM}) {
9579
9594
  my $baseType = $$self{FILE_TYPE};
9580
9595
  my $ext = $$self{FILE_EXT};
@@ -54,62 +54,62 @@ Image::ExifTool - Read and write meta information
54
54
  =head1 DESCRIPTION
55
55
 
56
56
  Reads and writes meta information in a wide variety of files, including the
57
- maker notes of many digital cameras by various manufacturers such as Canon,
58
- Casio, DJI, FLIR, FujiFilm, GE, GoPro, HP, JVC/Victor, Kodak, Leaf,
59
- Minolta/Konica-Minolta, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica,
60
- Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and
61
- Sony.
57
+ maker notes of many digital cameras by various manufacturers such as Apple,
58
+ Canon, Casio, DJI, FLIR, FujiFilm, GE, Google, GoPro, HP, JVC/Victor, Kodak,
59
+ Leaf, Minolta/Konica-Minolta, Nikon, Nintendo, Olympus/Epson,
60
+ Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo,
61
+ Sigma/Foveon and Sony.
62
62
 
63
63
  Below is a list of file types and meta information formats currently
64
64
  supported by ExifTool (r = read, w = write, c = create):
65
65
 
66
66
  File Types
67
67
  ------------+-------------+-------------+-------------+------------
68
- 360 r/w | DPX r | JNG r/w | ODP r | RSRC r
69
- 3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
70
- 3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
71
- 3GP r/w | DV r | JSON r | OFR r | RWL r/w
72
- 7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
73
- A r | DVR-MS r | K25 r | OGV r | RM r
74
- AA r | DYLIB r | KDC r | ONP r | SEQ r
75
- AAC r | EIP r | KEY r | OPUS r | SKETCH r
76
- AAE r | EPS r/w | LA r | ORF r/w | SO r
77
- AAX r/w | EPUB r | LFP r | ORI r/w | SR2 r/w
78
- ACR r | ERF r/w | LIF r | OTF r | SRF r
79
- AFM r | EXE r | LNK r | PAC r | SRW r/w
80
- AI r/w | EXIF r/w/c | LRV r/w | PAGES r | SVG r
81
- AIFF r | EXR r | M2TS r | PBM r/w | SWF r
82
- APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
83
- ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
84
- ARW r/w | FFF r/w | MAX r | PCD r | TNEF r
85
- ASF r | FITS r | MEF r/w | PCX r | TORRENT r
86
- AVI r | FLA r | MIE r/w/c | PDB r | TTC r
87
- AVIF r/w | FLAC r | MIFF r | PDF r/w | TTF r
88
- AZW r | FLIF r/w | MKA r | PEF r/w | TXT r
89
- BMP r | FLV r | MKS r | PFA r | VCF r
90
- BPG r | FPF r | MKV r | PFB r | VNT r
91
- BTF r | FPX r | MNG r/w | PFM r | VRD r/w/c
92
- C2PA r | GIF r/w | MOBI r | PGF r | VSD r
93
- CHM r | GLV r/w | MODD r | PGM r/w | WAV r
94
- COS r | GPR r/w | MOI r | PLIST r | WDP r/w
95
- CR2 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
96
- CR3 r/w | HDP r/w | MOV r/w | PMP r | WEBM r
97
- CRM r/w | HDR r | MP3 r | PNG r/w | WMA r
98
- CRW r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
99
- CS1 r/w | HEIF r/w | MPC r | PPT r | WPG r
100
- CSV r | HTML r | MPG r | PPTX r | WTV r
101
- CUR r | ICC r/w/c | MPO r/w | PS r/w | WV r
102
- CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
103
- DCM r | ICS r | MRC r | PSD r/w | XCF r
104
- DCP r/w | IDML r | MRW r/w | PSP r | XISF r
105
- DCR r | IIQ r/w | MXF r | QTIF r/w | XLS r
106
- DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
107
- DIVX r | INSP r/w | NKA r | RA r | XMP r/w/c
108
- DJVU r | INSV r | NKSC r/w | RAF r/w | ZIP r
109
- DLL r | INX r | NRW r/w | RAM r |
110
- DNG r/w | ISO r | NUMBERS r | RAR r |
111
- DOC r | ITC r | NXD r | RAW r/w |
112
- DOCX r | J2C r | O r | RIFF r |
68
+ 360 r/w | DPX r | J2C r | O r | RIFF r
69
+ 3FR r | DR4 r/w/c | JNG r/w | ODP r | RSRC r
70
+ 3G2 r/w | DSF r | JP2 r/w | ODS r | RTF r
71
+ 3GP r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
72
+ 7Z r | DV r | JSON r | OFR r | RWL r/w
73
+ A r | DVB r/w | JXL r/w | OGG r | RWZ r
74
+ AA r | DVR-MS r | K25 r | OGV r | RM r
75
+ AAC r | DYLIB r | KDC r | ONP r | SEQ r
76
+ AAE r | EIP r | KEY r | OPUS r | SKETCH r
77
+ AAX r/w | EPS r/w | LA r | ORF r/w | SO r
78
+ ACR r | EPUB r | LFP r | ORI r/w | SR2 r/w
79
+ AFM r | ERF r/w | LIF r | OTF r | SRF r
80
+ AI r/w | EXE r | LNK r | PAC r | SRW r/w
81
+ AIFF r | EXIF r/w/c | LRV r/w | PAGES r | SVG r
82
+ APE r | EXR r | M2TS r | PBM r/w | SWF r
83
+ ARQ r/w | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
84
+ ARW r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
85
+ ASF r | FFF r/w | MAX r | PCD r | TNEF r
86
+ AVI r | FITS r | MEF r/w | PCX r | TORRENT r
87
+ AVIF r/w | FLA r | MIE r/w/c | PDB r | TTC r
88
+ AZW r | FLAC r | MIFF r | PDF r/w | TTF r
89
+ BMP r | FLIF r/w | MKA r | PEF r/w | TXT r
90
+ BPG r | FLV r | MKS r | PFA r | VCF r
91
+ BTF r | FPF r | MKV r | PFB r | VNT r
92
+ C2PA r | FPX r | MNG r/w | PFM r | VRD r/w/c
93
+ CHM r | GIF r/w | MOBI r | PGF r | VSD r
94
+ COS r | GLV r/w | MODD r | PGM r/w | WAV r
95
+ CR2 r/w | GPR r/w | MOI r | PLIST r | WDP r/w
96
+ CR3 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
97
+ CRM r/w | HDP r/w | MOV r/w | PMP r | WEBM r
98
+ CRW r/w | HDR r | MP3 r | PNG r/w | WMA r
99
+ CS1 r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
100
+ CSV r | HEIF r/w | MPC r | PPT r | WPG r
101
+ CUR r | HTML r | MPG r | PPTX r | WTV r
102
+ CZI r | ICC r/w/c | MPO r/w | PS r/w | WV r
103
+ DCM r | ICO r | MQV r/w | PSB r/w | X3F r/w
104
+ DCP r/w | ICS r | MRC r | PSD r/w | XCF r
105
+ DCR r | IDML r | MRW r/w | PSP r | XISF r
106
+ DFONT r | IIQ r/w | MXF r | QTIF r/w | XLS r
107
+ DIVX r | IND r/w | NEF r/w | R3D r | XLSX r
108
+ DJVU r | INSP r/w | NKA r | RA r | XMP r/w/c
109
+ DLL r | INSV r | NKSC r/w | RAF r/w | ZIP r
110
+ DNG r/w | INX r | NRW r/w | RAM r |
111
+ DOC r | ISO r | NUMBERS r | RAR r |
112
+ DOCX r | ITC r | NXD r | RAW r/w |
113
113
 
114
114
  Meta Information
115
115
  ----------------------+----------------------+---------------------
@@ -1082,13 +1082,14 @@ name documentation. Default is undef.
1082
1082
 
1083
1083
  =item RequestTags
1084
1084
 
1085
- List of additional tag and/or group names to request in the next call to
1085
+ List of additional tag and/or group names to request in subsequent calls to
1086
1086
  L</ExtractInfo>. This option is useful only for tags/groups which aren't
1087
- extracted unless specifically requested. Value may be a list reference, a
1088
- delimited string of names (any delimiter is allowed), or undef to clear the
1089
- current RequestTags list. Groups are requested by adding a colon after the
1090
- name (eg. "MacOS:"). Names are converted to lower case as they are added to
1091
- the list. Default is undef.
1087
+ extracted unless specifically requested, or if L</IgnoreTags> is set to
1088
+ "All". Value may be a list reference, a delimited string of names (any
1089
+ delimiter is allowed), or undef to clear the current RequestTags list.
1090
+ Groups are requested by adding a colon after the name (eg. "MacOS:"). Names
1091
+ are converted to lower case as they are added to the list. Default is
1092
+ undef.
1092
1093
 
1093
1094
  =item SaveBin
1094
1095
 
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 13.37
3
+ Version: 13.38
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -22,51 +22,51 @@ supported by ExifTool (r = read, w = write, c = create):
22
22
 
23
23
  File Types
24
24
  ------------+-------------+-------------+-------------+------------
25
- 360 r/w | DPX r | JNG r/w | ODP r | RSRC r
26
- 3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
27
- 3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
28
- 3GP r/w | DV r | JSON r | OFR r | RWL r/w
29
- 7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
30
- A r | DVR-MS r | K25 r | OGV r | RM r
31
- AA r | DYLIB r | KDC r | ONP r | SEQ r
32
- AAC r | EIP r | KEY r | OPUS r | SKETCH r
33
- AAE r | EPS r/w | LA r | ORF r/w | SO r
34
- AAX r/w | EPUB r | LFP r | ORI r/w | SR2 r/w
35
- ACR r | ERF r/w | LIF r | OTF r | SRF r
36
- AFM r | EXE r | LNK r | PAC r | SRW r/w
37
- AI r/w | EXIF r/w/c | LRV r/w | PAGES r | SVG r
38
- AIFF r | EXR r | M2TS r | PBM r/w | SWF r
39
- APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
40
- ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
41
- ARW r/w | FFF r/w | MAX r | PCD r | TNEF r
42
- ASF r | FITS r | MEF r/w | PCX r | TORRENT r
43
- AVI r | FLA r | MIE r/w/c | PDB r | TTC r
44
- AVIF r/w | FLAC r | MIFF r | PDF r/w | TTF r
45
- AZW r | FLIF r/w | MKA r | PEF r/w | TXT r
46
- BMP r | FLV r | MKS r | PFA r | VCF r
47
- BPG r | FPF r | MKV r | PFB r | VNT r
48
- BTF r | FPX r | MNG r/w | PFM r | VRD r/w/c
49
- C2PA r | GIF r/w | MOBI r | PGF r | VSD r
50
- CHM r | GLV r/w | MODD r | PGM r/w | WAV r
51
- COS r | GPR r/w | MOI r | PLIST r | WDP r/w
52
- CR2 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
53
- CR3 r/w | HDP r/w | MOV r/w | PMP r | WEBM r
54
- CRM r/w | HDR r | MP3 r | PNG r/w | WMA r
55
- CRW r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
56
- CS1 r/w | HEIF r/w | MPC r | PPT r | WPG r
57
- CSV r | HTML r | MPG r | PPTX r | WTV r
58
- CUR r | ICC r/w/c | MPO r/w | PS r/w | WV r
59
- CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
60
- DCM r | ICS r | MRC r | PSD r/w | XCF r
61
- DCP r/w | IDML r | MRW r/w | PSP r | XISF r
62
- DCR r | IIQ r/w | MXF r | QTIF r/w | XLS r
63
- DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
64
- DIVX r | INSP r/w | NKA r | RA r | XMP r/w/c
65
- DJVU r | INSV r | NKSC r/w | RAF r/w | ZIP r
66
- DLL r | INX r | NRW r/w | RAM r |
67
- DNG r/w | ISO r | NUMBERS r | RAR r |
68
- DOC r | ITC r | NXD r | RAW r/w |
69
- DOCX r | J2C r | O r | RIFF r |
25
+ 360 r/w | DPX r | J2C r | O r | RIFF r
26
+ 3FR r | DR4 r/w/c | JNG r/w | ODP r | RSRC r
27
+ 3G2 r/w | DSF r | JP2 r/w | ODS r | RTF r
28
+ 3GP r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
29
+ 7Z r | DV r | JSON r | OFR r | RWL r/w
30
+ A r | DVB r/w | JXL r/w | OGG r | RWZ r
31
+ AA r | DVR-MS r | K25 r | OGV r | RM r
32
+ AAC r | DYLIB r | KDC r | ONP r | SEQ r
33
+ AAE r | EIP r | KEY r | OPUS r | SKETCH r
34
+ AAX r/w | EPS r/w | LA r | ORF r/w | SO r
35
+ ACR r | EPUB r | LFP r | ORI r/w | SR2 r/w
36
+ AFM r | ERF r/w | LIF r | OTF r | SRF r
37
+ AI r/w | EXE r | LNK r | PAC r | SRW r/w
38
+ AIFF r | EXIF r/w/c | LRV r/w | PAGES r | SVG r
39
+ APE r | EXR r | M2TS r | PBM r/w | SWF r
40
+ ARQ r/w | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
41
+ ARW r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
42
+ ASF r | FFF r/w | MAX r | PCD r | TNEF r
43
+ AVI r | FITS r | MEF r/w | PCX r | TORRENT r
44
+ AVIF r/w | FLA r | MIE r/w/c | PDB r | TTC r
45
+ AZW r | FLAC r | MIFF r | PDF r/w | TTF r
46
+ BMP r | FLIF r/w | MKA r | PEF r/w | TXT r
47
+ BPG r | FLV r | MKS r | PFA r | VCF r
48
+ BTF r | FPF r | MKV r | PFB r | VNT r
49
+ C2PA r | FPX r | MNG r/w | PFM r | VRD r/w/c
50
+ CHM r | GIF r/w | MOBI r | PGF r | VSD r
51
+ COS r | GLV r/w | MODD r | PGM r/w | WAV r
52
+ CR2 r/w | GPR r/w | MOI r | PLIST r | WDP r/w
53
+ CR3 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
54
+ CRM r/w | HDP r/w | MOV r/w | PMP r | WEBM r
55
+ CRW r/w | HDR r | MP3 r | PNG r/w | WMA r
56
+ CS1 r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
57
+ CSV r | HEIF r/w | MPC r | PPT r | WPG r
58
+ CUR r | HTML r | MPG r | PPTX r | WTV r
59
+ CZI r | ICC r/w/c | MPO r/w | PS r/w | WV r
60
+ DCM r | ICO r | MQV r/w | PSB r/w | X3F r/w
61
+ DCP r/w | ICS r | MRC r | PSD r/w | XCF r
62
+ DCR r | IDML r | MRW r/w | PSP r | XISF r
63
+ DFONT r | IIQ r/w | MXF r | QTIF r/w | XLS r
64
+ DIVX r | IND r/w | NEF r/w | R3D r | XLSX r
65
+ DJVU r | INSP r/w | NKA r | RA r | XMP r/w/c
66
+ DLL r | INSV r | NKSC r/w | RAF r/w | ZIP r
67
+ DNG r/w | INX r | NRW r/w | RAM r |
68
+ DOC r | ISO r | NUMBERS r | RAR r |
69
+ DOCX r | ITC r | NXD r | RAW r/w |
70
70
 
71
71
  Meta Information
72
72
  ----------------------+----------------------+---------------------
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('13.37.0')
4
+ VERSION = Gem::Version.new('13.38.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.37.0
4
+ version: 13.38.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
@@ -138,6 +138,7 @@ files:
138
138
  - bin/lib/Image/ExifTool/DJI.pm
139
139
  - bin/lib/Image/ExifTool/DNG.pm
140
140
  - bin/lib/Image/ExifTool/DPX.pm
141
+ - bin/lib/Image/ExifTool/DSF.pm
141
142
  - bin/lib/Image/ExifTool/DV.pm
142
143
  - bin/lib/Image/ExifTool/DarwinCore.pm
143
144
  - bin/lib/Image/ExifTool/DjVu.pm
@@ -298,6 +299,7 @@ files:
298
299
  - bin/lib/Image/ExifTool/Vorbis.pm
299
300
  - bin/lib/Image/ExifTool/WPG.pm
300
301
  - bin/lib/Image/ExifTool/WTV.pm
302
+ - bin/lib/Image/ExifTool/WavPack.pm
301
303
  - bin/lib/Image/ExifTool/WriteCanonRaw.pl
302
304
  - bin/lib/Image/ExifTool/WriteExif.pl
303
305
  - bin/lib/Image/ExifTool/WriteIPTC.pl