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.
- checksums.yaml +4 -4
- data/bin/Changes +18 -3
- data/bin/MANIFEST +4 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +47 -47
- data/bin/exiftool +65 -63
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/DSF.pm +138 -0
- data/bin/lib/Image/ExifTool/EXE.pm +3 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +3 -1
- data/bin/lib/Image/ExifTool/GoPro.pm +6 -3
- data/bin/lib/Image/ExifTool/Google.pm +16 -6
- data/bin/lib/Image/ExifTool/ID3.pm +11 -10
- data/bin/lib/Image/ExifTool/M2TS.pm +32 -23
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +2 -0
- data/bin/lib/Image/ExifTool/Sony.pm +7 -7
- data/bin/lib/Image/ExifTool/TagLookup.pm +8 -1
- data/bin/lib/Image/ExifTool/TagNames.pod +4269 -4233
- data/bin/lib/Image/ExifTool/WavPack.pm +144 -0
- data/bin/lib/Image/ExifTool/XMP.pm +12 -7
- data/bin/lib/Image/ExifTool.pm +39 -24
- data/bin/lib/Image/ExifTool.pod +57 -56
- data/bin/perl-Image-ExifTool.spec +46 -46
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -1
@@ -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.
|
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'
|
4495
|
+
$fmt = 'n';
|
4496
|
+
$badEnc = 1 unless $$dataPt =~ /\G\xfe\xff/g;
|
4495
4497
|
} else {
|
4496
|
-
$fmt = 'v'
|
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'
|
4509
|
+
$fmt = 'N';
|
4510
|
+
$badEnc = 1 unless $$dataPt =~ /\G\0\0\xfe\xff/g;
|
4507
4511
|
} else {
|
4508
|
-
$fmt = 'V'
|
4512
|
+
$fmt = 'V';
|
4513
|
+
$badEnc = 1 unless $$dataPt =~ /\G\0\0\0\xff\xfe\0\0/g;
|
4509
4514
|
}
|
4510
4515
|
}
|
4511
|
-
|
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
|
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 $configFile @configFiles $noConfig);
|
31
31
|
|
32
|
-
$VERSION = '13.
|
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
|
152
|
-
APE::OldHeader Audible MPC MPEG::Audio MPEG::Video MPEG::Xing
|
153
|
-
QuickTime::ImageFile QuickTime::Stream QuickTime::Tags360Fly
|
154
|
-
Matroska::StdTag MOI MXF DV Flash Flash::FLV Real::Media
|
155
|
-
Real::Metafile Red RIFF AIFF ASF TNEF WTV DICOM FITS XISF MIE
|
156
|
-
XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion
|
157
|
-
EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF
|
158
|
-
EXE::CHM LNK PCAP Font VCard Text VCard::VCalendar
|
159
|
-
ZIP ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork
|
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
|
198
|
-
OGG FLAC APE MPC MKV MXF DV PMP IND PGF ICC ITC FLIR FLIF
|
199
|
-
LFP HTML VRD RTF FITS XISF XCF DSS QTIF FPX PICT ZIP
|
200
|
-
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX
|
201
|
-
JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV
|
202
|
-
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP
|
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 => ['
|
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 => '(
|
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)
|
5527
|
-
#
|
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
|
-
|
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};
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -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
|
58
|
-
Casio, DJI, FLIR, FujiFilm, GE, GoPro, HP, JVC/Victor, Kodak,
|
59
|
-
Minolta/Konica-Minolta, Nikon, Nintendo, Olympus/Epson,
|
60
|
-
Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo,
|
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 |
|
69
|
-
3FR r | DR4 r/w/c |
|
70
|
-
3G2 r/w |
|
71
|
-
3GP r/w |
|
72
|
-
7Z r |
|
73
|
-
A r |
|
74
|
-
AA r |
|
75
|
-
AAC r |
|
76
|
-
AAE r |
|
77
|
-
AAX r/w |
|
78
|
-
ACR r |
|
79
|
-
AFM r |
|
80
|
-
AI r/w |
|
81
|
-
AIFF r |
|
82
|
-
APE r |
|
83
|
-
ARQ r/w |
|
84
|
-
ARW r/w |
|
85
|
-
ASF r |
|
86
|
-
AVI r |
|
87
|
-
AVIF r/w |
|
88
|
-
AZW r |
|
89
|
-
BMP r |
|
90
|
-
BPG r |
|
91
|
-
BTF r |
|
92
|
-
C2PA r |
|
93
|
-
CHM r |
|
94
|
-
COS r |
|
95
|
-
CR2 r/w |
|
96
|
-
CR3 r/w |
|
97
|
-
CRM r/w |
|
98
|
-
CRW r/w |
|
99
|
-
CS1 r/w |
|
100
|
-
CSV r |
|
101
|
-
CUR r |
|
102
|
-
CZI r |
|
103
|
-
DCM r |
|
104
|
-
DCP r/w |
|
105
|
-
DCR r |
|
106
|
-
DFONT r |
|
107
|
-
DIVX r |
|
108
|
-
DJVU r |
|
109
|
-
DLL r |
|
110
|
-
DNG r/w |
|
111
|
-
DOC r |
|
112
|
-
DOCX 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
|
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
|
1088
|
-
|
1089
|
-
|
1090
|
-
name (eg. "MacOS:"). Names
|
1091
|
-
the list. Default is
|
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.
|
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 |
|
26
|
-
3FR r | DR4 r/w/c |
|
27
|
-
3G2 r/w |
|
28
|
-
3GP r/w |
|
29
|
-
7Z r |
|
30
|
-
A r |
|
31
|
-
AA r |
|
32
|
-
AAC r |
|
33
|
-
AAE r |
|
34
|
-
AAX r/w |
|
35
|
-
ACR r |
|
36
|
-
AFM r |
|
37
|
-
AI r/w |
|
38
|
-
AIFF r |
|
39
|
-
APE r |
|
40
|
-
ARQ r/w |
|
41
|
-
ARW r/w |
|
42
|
-
ASF r |
|
43
|
-
AVI r |
|
44
|
-
AVIF r/w |
|
45
|
-
AZW r |
|
46
|
-
BMP r |
|
47
|
-
BPG r |
|
48
|
-
BTF r |
|
49
|
-
C2PA r |
|
50
|
-
CHM r |
|
51
|
-
COS r |
|
52
|
-
CR2 r/w |
|
53
|
-
CR3 r/w |
|
54
|
-
CRM r/w |
|
55
|
-
CRW r/w |
|
56
|
-
CS1 r/w |
|
57
|
-
CSV r |
|
58
|
-
CUR r |
|
59
|
-
CZI r |
|
60
|
-
DCM r |
|
61
|
-
DCP r/w |
|
62
|
-
DCR r |
|
63
|
-
DFONT r |
|
64
|
-
DIVX r |
|
65
|
-
DJVU r |
|
66
|
-
DLL r |
|
67
|
-
DNG r/w |
|
68
|
-
DOC r |
|
69
|
-
DOCX 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
|
----------------------+----------------------+---------------------
|
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.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
|