exiftool-vendored.pl 12.54.0 → 12.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/Changes +34 -4
- package/bin/MANIFEST +5 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +19 -19
- package/bin/arg_files/xmp2exif.args +4 -1
- package/bin/exiftool +28 -28
- package/bin/fmt_files/kml.fmt +3 -0
- package/bin/fmt_files/kml_track.fmt +6 -3
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +7 -5
- package/bin/lib/Image/ExifTool/Canon.pm +8 -2
- package/bin/lib/Image/ExifTool/Exif.pm +31 -2
- package/bin/lib/Image/ExifTool/FlashPix.pm +69 -8
- package/bin/lib/Image/ExifTool/FujiFilm.pm +3 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +13 -4
- package/bin/lib/Image/ExifTool/InfiRay.pm +227 -0
- package/bin/lib/Image/ExifTool/JPEG.pm +40 -6
- package/bin/lib/Image/ExifTool/Matroska.pm +4 -4
- package/bin/lib/Image/ExifTool/Nikon.pm +187 -384
- package/bin/lib/Image/ExifTool/OpenEXR.pm +32 -15
- package/bin/lib/Image/ExifTool/PNG.pm +80 -2
- package/bin/lib/Image/ExifTool/QuickTime.pm +19 -4
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +127 -39
- package/bin/lib/Image/ExifTool/README +3 -0
- package/bin/lib/Image/ExifTool/Real.pm +2 -2
- package/bin/lib/Image/ExifTool/Sony.pm +5 -1
- package/bin/lib/Image/ExifTool/TagLookup.pm +4544 -4525
- package/bin/lib/Image/ExifTool/TagNames.pod +229 -21
- package/bin/lib/Image/ExifTool/VCard.pm +19 -5
- package/bin/lib/Image/ExifTool.pm +56 -15
- package/bin/lib/Image/ExifTool.pod +51 -50
- package/bin/perl-Image-ExifTool.spec +18 -18
- package/bin/pp_build_exe.args +7 -6
- package/package.json +3 -3
|
@@ -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);
|
|
31
31
|
|
|
32
|
-
$VERSION = '12.
|
|
32
|
+
$VERSION = '12.56';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -146,12 +146,12 @@ sub ReadValue($$$;$$$);
|
|
|
146
146
|
Samsung::Trailer Sony::SRF2 Sony::SR2SubIFD Sony::PMP ITC ID3 ID3::Lyrics3
|
|
147
147
|
FLAC Ogg Vorbis APE APE::NewHeader APE::OldHeader Audible MPC MPEG::Audio
|
|
148
148
|
MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile QuickTime::Stream
|
|
149
|
-
QuickTime::Tags360Fly Matroska Matroska::
|
|
149
|
+
QuickTime::Tags360Fly Matroska Matroska::StdTag MOI MXF DV Flash Flash::FLV
|
|
150
150
|
Real::Media Real::Audio Real::Metafile Red RIFF AIFF ASF WTV DICOM FITS MIE
|
|
151
151
|
JSON HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion
|
|
152
152
|
EXE::PEString EXE::MachO EXE::PEF EXE::ELF EXE::AR EXE::CHM LNK Font VCard
|
|
153
|
-
Text VCard::VCalendar RSRC Rawzor ZIP ZIP::GZIP ZIP::RAR RTF
|
|
154
|
-
FLIR::AFF FLIR::FPF MacOS MacOS::MDItem FlashPix::DocTable
|
|
153
|
+
Text VCard::VCalendar VCard::VNote RSRC Rawzor ZIP ZIP::GZIP ZIP::RAR RTF
|
|
154
|
+
OOXML iWork ISO FLIR::AFF FLIR::FPF MacOS MacOS::MDItem FlashPix::DocTable
|
|
155
155
|
);
|
|
156
156
|
|
|
157
157
|
# alphabetical list of current Lang modules
|
|
@@ -526,6 +526,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
|
526
526
|
VCARD=> ['VCard','Virtual Card'],
|
|
527
527
|
VCF => 'VCARD',
|
|
528
528
|
VOB => ['MPEG', 'Video Object'],
|
|
529
|
+
VNT => [['FPX','VCard'], 'Scene7 Vignette or V-Note text file'],
|
|
529
530
|
VRD => ['VRD', 'Canon VRD Recipe Data'],
|
|
530
531
|
VSD => ['FPX', 'Microsoft Visio Drawing'],
|
|
531
532
|
WAV => ['RIFF', 'WAVeform (Windows digital audio)'],
|
|
@@ -577,6 +578,7 @@ my %fileDescription = (
|
|
|
577
578
|
'Win32 DLL' => 'Windows 32-bit Dynamic Link Library',
|
|
578
579
|
'Win64 EXE' => 'Windows 64-bit Executable',
|
|
579
580
|
'Win64 DLL' => 'Windows 64-bit Dynamic Link Library',
|
|
581
|
+
VNote => 'V-Note document',
|
|
580
582
|
);
|
|
581
583
|
|
|
582
584
|
# MIME types for applicable file types above
|
|
@@ -977,7 +979,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
|
977
979
|
TAR => '.{257}ustar( )?\0', # (this doesn't catch old-style tar files)
|
|
978
980
|
TXT => '(\xff\xfe|(\0\0)?\xfe\xff|(\xef\xbb\xbf)?[\x07-\x0d\x20-\x7e\x80-\xfe]*$)',
|
|
979
981
|
TIFF => '(II|MM)', # don't test magic number (some raw formats are different)
|
|
980
|
-
VCard=> '(?i)BEGIN:(VCARD|VCALENDAR)\r\n',
|
|
982
|
+
VCard=> '(?i)BEGIN:(VCARD|VCALENDAR|VNOTE)\r\n',
|
|
981
983
|
VRD => 'CANON OPTIONAL DATA\0',
|
|
982
984
|
WMF => '(\xd7\xcd\xc6\x9a\0\0|\x01\0\x09\0\0\x03)',
|
|
983
985
|
WTV => '\xb7\xd8\x00\x20\x37\x49\xda\x11\xa6\x4e\x00\x07\xe9\x5e\xad\x8d',
|
|
@@ -6871,7 +6873,7 @@ sub ProcessJPEG($$)
|
|
|
6871
6873
|
$self->Warn("Ignored APP1 segment length $length (unknown header)");
|
|
6872
6874
|
}
|
|
6873
6875
|
}
|
|
6874
|
-
} elsif ($marker == 0xe2) { # APP2 (ICC Profile, FPXR, MPF, PreviewImage)
|
|
6876
|
+
} elsif ($marker == 0xe2) { # APP2 (ICC Profile, FPXR, MPF, InfiRay, PreviewImage)
|
|
6875
6877
|
if ($$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14) {
|
|
6876
6878
|
$dumpType = 'ICC_Profile';
|
|
6877
6879
|
# must concatenate profile chunks (note: handle the case where
|
|
@@ -6933,6 +6935,12 @@ sub ProcessJPEG($$)
|
|
|
6933
6935
|
# extract the MPF information (it is in standard TIFF format)
|
|
6934
6936
|
my $tagTablePtr = GetTagTable('Image::ExifTool::MPF::Main');
|
|
6935
6937
|
$self->ProcessTIFF(\%dirInfo, $tagTablePtr);
|
|
6938
|
+
} elsif ($$segDataPt =~ /^....IJPEG\0/s) {
|
|
6939
|
+
$dumpType = 'InfiRay Version';
|
|
6940
|
+
$$self{HasIJPEG} = 1;
|
|
6941
|
+
SetByteOrder('II');
|
|
6942
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::InfiRay::Version');
|
|
6943
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
6936
6944
|
} elsif ($$segDataPt =~ /^(|QVGA\0|BGTH)\xff\xd8\xff[\xdb\xe0\xe1]/) {
|
|
6937
6945
|
# Samsung/GE/GoPro="", BenQ DC C1220/Pentacon/Polaroid="QVGA\0",
|
|
6938
6946
|
# Digilife DDC-690/Rollei="BGTH"
|
|
@@ -6973,8 +6981,8 @@ sub ProcessJPEG($$)
|
|
|
6973
6981
|
SetByteOrder('MM');
|
|
6974
6982
|
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::JPS');
|
|
6975
6983
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
6976
|
-
} elsif ($$self{Make} eq 'DJI') {
|
|
6977
|
-
$dumpType = 'DJI ThermalData';
|
|
6984
|
+
} elsif ($$self{HasIJPEG} or $$self{Make} eq 'DJI') {
|
|
6985
|
+
$dumpType = $$self{HasIJPEG} ? 'InfiRay ImagingData' : 'DJI ThermalData';
|
|
6978
6986
|
# add this data to the combined data if it exists
|
|
6979
6987
|
my $dataPt = $segDataPt;
|
|
6980
6988
|
if (defined $combinedSegData) {
|
|
@@ -6984,11 +6992,14 @@ sub ProcessJPEG($$)
|
|
|
6984
6992
|
if ($nextMarker == $marker) {
|
|
6985
6993
|
$combinedSegData = $$segDataPt unless defined $combinedSegData;
|
|
6986
6994
|
} else {
|
|
6987
|
-
# process DJI
|
|
6995
|
+
# process InfiRay/DJI thermal data
|
|
6988
6996
|
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
|
|
6989
6997
|
$self->HandleTag($tagTablePtr, 'APP3', $$dataPt);
|
|
6990
6998
|
undef $combinedSegData;
|
|
6991
6999
|
}
|
|
7000
|
+
} elsif ($$self{HasIJPEG}) {
|
|
7001
|
+
$dumpType = 'InfiRay Data',
|
|
7002
|
+
|
|
6992
7003
|
} elsif ($$segDataPt =~ /^\xff\xd8\xff\xdb/) {
|
|
6993
7004
|
$dumpType = 'PreviewImage'; # (Samsung, HP, BenQ)
|
|
6994
7005
|
$preview = $$segDataPt;
|
|
@@ -6997,7 +7008,7 @@ sub ProcessJPEG($$)
|
|
|
6997
7008
|
$self->FoundTag('PreviewImage', $preview);
|
|
6998
7009
|
undef $preview;
|
|
6999
7010
|
}
|
|
7000
|
-
} elsif ($marker == 0xe4) { # APP4 ("SCALADO", FPXR, PreviewImage)
|
|
7011
|
+
} elsif ($marker == 0xe4) { # APP4 (InfiRay, "SCALADO", FPXR, PreviewImage)
|
|
7001
7012
|
if ($$segDataPt =~ /^SCALADO\0/ and $length >= 16) {
|
|
7002
7013
|
$dumpType = 'SCALADO';
|
|
7003
7014
|
my ($num, $idx, $len) = unpack('x8n2N', $$segDataPt);
|
|
@@ -7028,6 +7039,11 @@ sub ProcessJPEG($$)
|
|
|
7028
7039
|
DirStart(\%dirInfo, 0, 0);
|
|
7029
7040
|
my $tagTablePtr = GetTagTable('Image::ExifTool::DJI::ThermalParams');
|
|
7030
7041
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7042
|
+
} elsif ($$self{HasIJPEG} and $length >= 120) {
|
|
7043
|
+
$dumpType = 'InfiRay Factory';
|
|
7044
|
+
SetByteOrder('II');
|
|
7045
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::InfiRay::Factory');
|
|
7046
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7031
7047
|
} elsif ($preview) {
|
|
7032
7048
|
# continued Samsung S1060 preview from APP3
|
|
7033
7049
|
$dumpType = 'PreviewImage';
|
|
@@ -7039,7 +7055,7 @@ sub ProcessJPEG($$)
|
|
|
7039
7055
|
$self->FoundTag('PreviewImage', $preview);
|
|
7040
7056
|
undef $preview;
|
|
7041
7057
|
}
|
|
7042
|
-
} elsif ($marker == 0xe5) { # APP5 (Ricoh "RMETA")
|
|
7058
|
+
} elsif ($marker == 0xe5) { # APP5 (InfiRay, Ricoh "RMETA")
|
|
7043
7059
|
if ($$segDataPt =~ /^RMETA\0/) {
|
|
7044
7060
|
# (NOTE: apparently these may span multiple segments, but I haven't seen
|
|
7045
7061
|
# a sample like this, so multi-segment support hasn't yet been implemented)
|
|
@@ -7054,13 +7070,18 @@ sub ProcessJPEG($$)
|
|
|
7054
7070
|
$dumpType = 'DJI ThermalCal';
|
|
7055
7071
|
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
|
|
7056
7072
|
$self->HandleTag($tagTablePtr, 'APP5', $$segDataPt);
|
|
7073
|
+
} elsif ($$self{HasIJPEG} and $length >= 38) {
|
|
7074
|
+
$dumpType = 'InfiRay Picture';
|
|
7075
|
+
SetByteOrder('II');
|
|
7076
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::InfiRay::Picture');
|
|
7077
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7057
7078
|
} elsif ($preview) {
|
|
7058
7079
|
$dumpType = 'PreviewImage';
|
|
7059
7080
|
$preview .= $$segDataPt;
|
|
7060
7081
|
$self->FoundTag('PreviewImage', $preview);
|
|
7061
7082
|
undef $preview;
|
|
7062
7083
|
}
|
|
7063
|
-
} elsif ($marker == 0xe6) { # APP6 (Toshiba EPPIM, NITF, HP_TDHD)
|
|
7084
|
+
} elsif ($marker == 0xe6) { # APP6 (InfiRay, Toshiba EPPIM, NITF, HP_TDHD)
|
|
7064
7085
|
if ($$segDataPt =~ /^EPPIM\0/) {
|
|
7065
7086
|
undef $dumpType; # (will be dumped here)
|
|
7066
7087
|
DirStart(\%dirInfo, 6, 6);
|
|
@@ -7093,8 +7114,13 @@ sub ProcessJPEG($$)
|
|
|
7093
7114
|
$dumpType = 'DJI_DTAT';
|
|
7094
7115
|
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
|
|
7095
7116
|
$self->HandleTag($tagTablePtr, 'APP6', $$segDataPt);
|
|
7117
|
+
} elsif ($$self{HasIJPEG} and $length >= 129) {
|
|
7118
|
+
$dumpType = 'InfiRay MixMode';
|
|
7119
|
+
SetByteOrder('II');
|
|
7120
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::InfiRay::MixMode');
|
|
7121
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7096
7122
|
}
|
|
7097
|
-
} elsif ($marker == 0xe7) { # APP7 (Pentax, Huawei, Qualcomm)
|
|
7123
|
+
} elsif ($marker == 0xe7) { # APP7 (InfiRay, Pentax, Huawei, Qualcomm)
|
|
7098
7124
|
if ($$segDataPt =~ /^PENTAX \0(II|MM)/) {
|
|
7099
7125
|
# found in K-3 images (is this multi-segment??)
|
|
7100
7126
|
SetByteOrder($1);
|
|
@@ -7133,16 +7159,26 @@ sub ProcessJPEG($$)
|
|
|
7133
7159
|
DirStart(\%dirInfo, 27);
|
|
7134
7160
|
$dirInfo{DirName} = 'Qualcomm';
|
|
7135
7161
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7162
|
+
} elsif ($$self{HasIJPEG} and $length >= 32) {
|
|
7163
|
+
$dumpType = 'InfiRay OpMode';
|
|
7164
|
+
SetByteOrder('II');
|
|
7165
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::InfiRay::OpMode');
|
|
7166
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7136
7167
|
}
|
|
7137
|
-
} elsif ($marker == 0xe8) { # APP8 (SPIFF)
|
|
7168
|
+
} elsif ($marker == 0xe8) { # APP8 (InfiRay, SPIFF)
|
|
7138
7169
|
# my sample SPIFF has 32 bytes of data, but spec states 30
|
|
7139
7170
|
if ($$segDataPt =~ /^SPIFF\0/ and $length == 32) {
|
|
7140
7171
|
$dumpType = 'SPIFF';
|
|
7141
7172
|
DirStart(\%dirInfo, 6);
|
|
7142
7173
|
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::SPIFF');
|
|
7143
7174
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7175
|
+
} elsif ($$self{HasIJPEG} and $length >= 32) {
|
|
7176
|
+
$dumpType = 'InfiRay Isothermal';
|
|
7177
|
+
SetByteOrder('II');
|
|
7178
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::InfiRay::Isothermal');
|
|
7179
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7144
7180
|
}
|
|
7145
|
-
} elsif ($marker == 0xe9) { # APP9 (Media Jukebox)
|
|
7181
|
+
} elsif ($marker == 0xe9) { # APP9 (InfiRay, Media Jukebox)
|
|
7146
7182
|
if ($$segDataPt =~ /^Media Jukebox\0/ and $length > 22) {
|
|
7147
7183
|
$dumpType = 'MediaJukebox';
|
|
7148
7184
|
# (start parsing after the "<MJMD>")
|
|
@@ -7151,6 +7187,11 @@ sub ProcessJPEG($$)
|
|
|
7151
7187
|
require Image::ExifTool::XMP;
|
|
7152
7188
|
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::MediaJukebox');
|
|
7153
7189
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr, \&Image::ExifTool::XMP::ProcessXMP);
|
|
7190
|
+
} elsif ($$self{HasIJPEG} and $length >= 768) {
|
|
7191
|
+
$dumpType = 'InfiRay Sensor';
|
|
7192
|
+
SetByteOrder('II');
|
|
7193
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::InfiRay::Sensor');
|
|
7194
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
7154
7195
|
}
|
|
7155
7196
|
} elsif ($marker == 0xea) { # APP10 (PhotoStudio Unicode comments)
|
|
7156
7197
|
if ($$segDataPt =~ /^UNICODE\0/) {
|
|
@@ -90,23 +90,23 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
90
90
|
CHM r | FPF r | MKA r | PFA r | TTF r
|
|
91
91
|
COS r | FPX r | MKS r | PFB r | TXT r
|
|
92
92
|
CR2 r/w | GIF r/w | MKV r | PFM r | VCF r
|
|
93
|
-
CR3 r/w | GPR r/w | MNG r/w | PGF r |
|
|
94
|
-
CRM r/w | GZ r | MOBI r | PGM r/w |
|
|
95
|
-
CRW r/w | HDP r/w | MODD r | PLIST r |
|
|
96
|
-
CS1 r/w | HDR r | MOI r | PICT r |
|
|
97
|
-
CSV r | HEIC r/w | MOS r/w | PMP r |
|
|
98
|
-
CUR r | HEIF r/w | MOV r/w | PNG r/w |
|
|
99
|
-
CZI r | HTML r | MP3 r | PPM r/w |
|
|
100
|
-
DCM r | ICC r/w/c | MP4 r/w | PPT r |
|
|
101
|
-
DCP r/w | ICO r | MPC r | PPTX r |
|
|
102
|
-
DCR r | ICS r | MPG r | PS r/w |
|
|
103
|
-
DFONT r | IDML r | MPO r/w | PSB r/w |
|
|
104
|
-
DIVX r | IIQ r/w | MQV r/w | PSD r/w |
|
|
105
|
-
DJVU r | IND r/w | MRC r | PSP r |
|
|
106
|
-
DLL r | INSP r/w | MRW r/w | QTIF r/w |
|
|
107
|
-
DNG r/w | INSV r | MXF r | R3D r |
|
|
108
|
-
DOC r | INX r | NEF r/w | RA r |
|
|
109
|
-
DOCX r | ISO r | NKSC r/w | RAF r/w |
|
|
93
|
+
CR3 r/w | GPR r/w | MNG r/w | PGF r | VNT r
|
|
94
|
+
CRM r/w | GZ r | MOBI r | PGM r/w | VRD r/w/c
|
|
95
|
+
CRW r/w | HDP r/w | MODD r | PLIST r | VSD r
|
|
96
|
+
CS1 r/w | HDR r | MOI r | PICT r | WAV r
|
|
97
|
+
CSV r | HEIC r/w | MOS r/w | PMP r | WDP r/w
|
|
98
|
+
CUR r | HEIF r/w | MOV r/w | PNG r/w | WEBP r/w
|
|
99
|
+
CZI r | HTML r | MP3 r | PPM r/w | WEBM r
|
|
100
|
+
DCM r | ICC r/w/c | MP4 r/w | PPT r | WMA r
|
|
101
|
+
DCP r/w | ICO r | MPC r | PPTX r | WMV r
|
|
102
|
+
DCR r | ICS r | MPG r | PS r/w | WTV r
|
|
103
|
+
DFONT r | IDML r | MPO r/w | PSB r/w | WV r
|
|
104
|
+
DIVX r | IIQ r/w | MQV r/w | PSD r/w | X3F r/w
|
|
105
|
+
DJVU r | IND r/w | MRC r | PSP r | XCF r
|
|
106
|
+
DLL r | INSP r/w | MRW r/w | QTIF r/w | XLS r
|
|
107
|
+
DNG r/w | INSV r | MXF r | R3D r | XLSX r
|
|
108
|
+
DOC r | INX r | NEF r/w | RA r | XMP r/w/c
|
|
109
|
+
DOCX r | ISO r | NKSC r/w | RAF r/w | ZIP r
|
|
110
110
|
|
|
111
111
|
Meta Information
|
|
112
112
|
----------------------+----------------------+---------------------
|
|
@@ -642,11 +642,11 @@ XMP to be extracted.
|
|
|
642
642
|
Flag to extract information from embedded documents in EPS files, embedded
|
|
643
643
|
EPS information and JPEG and Jpeg2000 images in PDF files, embedded MPF
|
|
644
644
|
images in JPEG and MPO files, metadata after the first Cluster in MKV files,
|
|
645
|
-
timed metadata in videos,
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
GPS metadata. Default is undef.
|
|
645
|
+
timed metadata in videos, all frames of a multipart EXR image, and the
|
|
646
|
+
resource fork of Mac OS files. A setting of 2 also causes the H264 video
|
|
647
|
+
stream in MP4 files to be parsed until the first SEI message is decoded, or
|
|
648
|
+
3 to parse the entire H264 stream in MP4 videos and the entire M2TS file to
|
|
649
|
+
look for any unlisted program containing GPS metadata. Default is undef.
|
|
650
650
|
|
|
651
651
|
=item FastScan
|
|
652
652
|
|
|
@@ -2309,13 +2309,13 @@ Here is a complete list of groups for each of these families:
|
|
|
2309
2309
|
|
|
2310
2310
|
=item Family 0 (Information Type):
|
|
2311
2311
|
|
|
2312
|
-
AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15,
|
|
2313
|
-
APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV,
|
|
2314
|
-
Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix,
|
|
2315
|
-
FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML, ICC_Profile, ID3,
|
|
2316
|
-
ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS,
|
|
2317
|
-
MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta,
|
|
2318
|
-
OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP, Palm, Parrot, PanasonicRaw,
|
|
2312
|
+
AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2, APP3,
|
|
2313
|
+
APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV,
|
|
2314
|
+
DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix,
|
|
2315
|
+
Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML, ICC_Profile, ID3,
|
|
2316
|
+
IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS,
|
|
2317
|
+
MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta,
|
|
2318
|
+
Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP, Palm, Parrot, PanasonicRaw,
|
|
2319
2319
|
PhotoCD, PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF,
|
|
2320
2320
|
RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG, SigmaRaw, Stim, Theora,
|
|
2321
2321
|
Torrent, Trailer, UserParam, VCard, Vorbis, WTV, XML, XMP, ZIP
|
|
@@ -2331,8 +2331,8 @@ GSpherical, GeoTiff, GlobParamIFD, GoPro, GraphConv, H264, HP, HTC, HTML,
|
|
|
2331
2331
|
HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm,
|
|
2332
2332
|
ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile,
|
|
2333
2333
|
ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1,
|
|
2334
|
-
IPTC, IPTC#, ISO, ITC, Insta360, InteropIFD, ItemList, JFIF, JFXX,
|
|
2335
|
-
JPEG-HDR, JPS, JSON, JUMBF, JVC, Jpeg2000, KDC_IFD, Keys, Kodak,
|
|
2334
|
+
IPTC, IPTC#, ISO, ITC, InfiRay, Insta360, InteropIFD, ItemList, JFIF, JFXX,
|
|
2335
|
+
JPEG, JPEG-HDR, JPS, JSON, JUMBF, JVC, Jpeg2000, KDC_IFD, Keys, Kodak,
|
|
2336
2336
|
KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf,
|
|
2337
2337
|
LeafSubIFD, Leica, Lyrics3, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera,
|
|
2338
2338
|
MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, MIE-Geo, MIE-Image,
|
|
@@ -2342,25 +2342,26 @@ MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS, MakerNotes, MakerUnknown,
|
|
|
2342
2342
|
Matroska, MediaJukebox, Meta, MetaIFD, Microsoft, Minolta, MinoltaRaw,
|
|
2343
2343
|
Motorola, NITF, Nikon, NikonCapture, NikonCustom, NikonScan, NikonSettings,
|
|
2344
2344
|
NineEdits, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF, PICT, PNG,
|
|
2345
|
-
PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Parrot, Pentax,
|
|
2346
|
-
PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript,
|
|
2347
|
-
PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF,
|
|
2348
|
-
Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP,
|
|
2349
|
-
Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2,
|
|
2350
|
-
SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw,
|
|
2351
|
-
SubIFD, System, Theora, Torrent, Track#, UserData,
|
|
2352
|
-
Version0, Vorbis, WTV, XML, XMP, XMP-DICOM,
|
|
2353
|
-
XMP-
|
|
2354
|
-
XMP-
|
|
2355
|
-
XMP-
|
|
2356
|
-
XMP-
|
|
2357
|
-
XMP-drone-dji, XMP-dwc, XMP-exif, XMP-exifEX,
|
|
2358
|
-
XMP-extensis, XMP-fpv, XMP-getty, XMP-hdr, XMP-ics,
|
|
2359
|
-
XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft,
|
|
2360
|
-
XMP-mwg-
|
|
2361
|
-
XMP-
|
|
2362
|
-
XMP-
|
|
2363
|
-
XMP-
|
|
2345
|
+
PNG-cICP, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Parrot, Pentax,
|
|
2346
|
+
PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript,
|
|
2347
|
+
PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF,
|
|
2348
|
+
RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP,
|
|
2349
|
+
Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2,
|
|
2350
|
+
SR2DataIFD, SR2SubIFD, SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw,
|
|
2351
|
+
Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent, Track#, UserData,
|
|
2352
|
+
VCalendar, VCard, Version0, VNote, Vorbis, WTV, XML, XMP, XMP-DICOM,
|
|
2353
|
+
XMP-Device, XMP-GAudio, XMP-GCamera, XMP-GCreations, XMP-GDepth, XMP-GFocus,
|
|
2354
|
+
XMP-GImage, XMP-GPano, XMP-GSpherical, XMP-LImage, XMP-MP, XMP-MP1,
|
|
2355
|
+
XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album, XMP-apple-fi, XMP-ast,
|
|
2356
|
+
XMP-aux, XMP-cc, XMP-cell, XMP-crd, XMP-creatorAtom, XMP-crs, XMP-dc,
|
|
2357
|
+
XMP-dex, XMP-digiKam, XMP-drone-dji, XMP-dwc, XMP-exif, XMP-exifEX,
|
|
2358
|
+
XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-getty, XMP-hdr, XMP-ics,
|
|
2359
|
+
XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft,
|
|
2360
|
+
XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-nine, XMP-pdf, XMP-pdfx,
|
|
2361
|
+
XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl,
|
|
2362
|
+
XMP-prm, XMP-pur, XMP-rdf, XMP-sdc, XMP-swf, XMP-tiff, XMP-x, XMP-xmp,
|
|
2363
|
+
XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights,
|
|
2364
|
+
XMP-xmpTPg, ZIP, iTunes
|
|
2364
2365
|
|
|
2365
2366
|
=item Family 2 (Category):
|
|
2366
2367
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Summary: perl module for image data extraction
|
|
2
2
|
Name: perl-Image-ExifTool
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.56
|
|
4
4
|
Release: 1
|
|
5
5
|
License: Artistic/GPL
|
|
6
6
|
Group: Development/Libraries/Perl
|
|
@@ -47,23 +47,23 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
47
47
|
CHM r | FPF r | MKA r | PFA r | TTF r
|
|
48
48
|
COS r | FPX r | MKS r | PFB r | TXT r
|
|
49
49
|
CR2 r/w | GIF r/w | MKV r | PFM r | VCF r
|
|
50
|
-
CR3 r/w | GPR r/w | MNG r/w | PGF r |
|
|
51
|
-
CRM r/w | GZ r | MOBI r | PGM r/w |
|
|
52
|
-
CRW r/w | HDP r/w | MODD r | PLIST r |
|
|
53
|
-
CS1 r/w | HDR r | MOI r | PICT r |
|
|
54
|
-
CSV r | HEIC r/w | MOS r/w | PMP r |
|
|
55
|
-
CUR r | HEIF r/w | MOV r/w | PNG r/w |
|
|
56
|
-
CZI r | HTML r | MP3 r | PPM r/w |
|
|
57
|
-
DCM r | ICC r/w/c | MP4 r/w | PPT r |
|
|
58
|
-
DCP r/w | ICO r | MPC r | PPTX r |
|
|
59
|
-
DCR r | ICS r | MPG r | PS r/w |
|
|
60
|
-
DFONT r | IDML r | MPO r/w | PSB r/w |
|
|
61
|
-
DIVX r | IIQ r/w | MQV r/w | PSD r/w |
|
|
62
|
-
DJVU r | IND r/w | MRC r | PSP r |
|
|
63
|
-
DLL r | INSP r/w | MRW r/w | QTIF r/w |
|
|
64
|
-
DNG r/w | INSV r | MXF r | R3D r |
|
|
65
|
-
DOC r | INX r | NEF r/w | RA r |
|
|
66
|
-
DOCX r | ISO r | NKSC r/w | RAF r/w |
|
|
50
|
+
CR3 r/w | GPR r/w | MNG r/w | PGF r | VNT r
|
|
51
|
+
CRM r/w | GZ r | MOBI r | PGM r/w | VRD r/w/c
|
|
52
|
+
CRW r/w | HDP r/w | MODD r | PLIST r | VSD r
|
|
53
|
+
CS1 r/w | HDR r | MOI r | PICT r | WAV r
|
|
54
|
+
CSV r | HEIC r/w | MOS r/w | PMP r | WDP r/w
|
|
55
|
+
CUR r | HEIF r/w | MOV r/w | PNG r/w | WEBP r/w
|
|
56
|
+
CZI r | HTML r | MP3 r | PPM r/w | WEBM r
|
|
57
|
+
DCM r | ICC r/w/c | MP4 r/w | PPT r | WMA r
|
|
58
|
+
DCP r/w | ICO r | MPC r | PPTX r | WMV r
|
|
59
|
+
DCR r | ICS r | MPG r | PS r/w | WTV r
|
|
60
|
+
DFONT r | IDML r | MPO r/w | PSB r/w | WV r
|
|
61
|
+
DIVX r | IIQ r/w | MQV r/w | PSD r/w | X3F r/w
|
|
62
|
+
DJVU r | IND r/w | MRC r | PSP r | XCF r
|
|
63
|
+
DLL r | INSP r/w | MRW r/w | QTIF r/w | XLS r
|
|
64
|
+
DNG r/w | INSV r | MXF r | R3D r | XLSX r
|
|
65
|
+
DOC r | INX r | NEF r/w | RA r | XMP r/w/c
|
|
66
|
+
DOCX r | ISO r | NKSC r/w | RAF r/w | ZIP r
|
|
67
67
|
|
|
68
68
|
Meta Information
|
|
69
69
|
----------------------+----------------------+---------------------
|
package/bin/pp_build_exe.args
CHANGED
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
# 10) Copy zip archive to web servers.
|
|
22
22
|
# 11) Update zip file version in link and text of html/index.html.
|
|
23
23
|
#------------------------------------------------------------------------------
|
|
24
|
-
-T exiftool-12.
|
|
25
|
-
#--info=FileVersion=12.5.
|
|
26
|
-
#--info=ProductVersion=12.5.
|
|
27
|
-
##"--info=Build Date=2023:
|
|
24
|
+
-T exiftool-12.56
|
|
25
|
+
#--info=FileVersion=12.5.6.0
|
|
26
|
+
#--info=ProductVersion=12.5.6.0
|
|
27
|
+
##"--info=Build Date=2023:02:09 08:22:37-05:00"
|
|
28
28
|
##"--info=Bundled Perl Version=ActivePerl 5.24.0"
|
|
29
29
|
##"--info=LegalCopyright=Copyright (c) 2003-2023, Phil Harvey"
|
|
30
30
|
##"--info=ProductName=ExifTool"
|
|
@@ -133,11 +133,12 @@
|
|
|
133
133
|
-M Image::ExifTool::HP
|
|
134
134
|
-M Image::ExifTool::HTML
|
|
135
135
|
-M Image::ExifTool::HtmlDump
|
|
136
|
-
-M Image::ExifTool::Import
|
|
137
|
-
-M Image::ExifTool::InDesign
|
|
138
136
|
-M Image::ExifTool::ICC_Profile
|
|
139
137
|
-M Image::ExifTool::ICO
|
|
140
138
|
-M Image::ExifTool::ID3
|
|
139
|
+
-M Image::ExifTool::Import
|
|
140
|
+
-M Image::ExifTool::InDesign
|
|
141
|
+
-M Image::ExifTool::InfiRay
|
|
141
142
|
-M Image::ExifTool::IPTC
|
|
142
143
|
-M Image::ExifTool::ISO
|
|
143
144
|
-M Image::ExifTool::ITC
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored.pl",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.56.0",
|
|
4
4
|
"description": "Vendored perl ExifTool for Node.js",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"homepage": "https://github.com/mceachen/exiftool-vendored.pl#readme",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"mocha": "^10.2.0",
|
|
46
|
-
"prettier": "^2.8.
|
|
47
|
-
"rimraf": "^
|
|
46
|
+
"prettier": "^2.8.4",
|
|
47
|
+
"rimraf": "^4.1.2"
|
|
48
48
|
}
|
|
49
49
|
}
|