exiftool_vendored 12.10.0 → 12.15.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 +71 -2
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +130 -55
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool.pm +46 -10
- data/bin/lib/Image/ExifTool.pod +14 -11
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/APP12.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +1 -1
- data/bin/lib/Image/ExifTool/Audible.pm +1 -1
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BPG.pm +1 -1
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +10 -4
- data/bin/lib/Image/ExifTool/Canon.pm +15 -12
- data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +1 -1
- data/bin/lib/Image/ExifTool/Charset.pm +1 -1
- data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- data/bin/lib/Image/ExifTool/DJI.pm +28 -2
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- data/bin/lib/Image/ExifTool/DPX.pm +1 -1
- data/bin/lib/Image/ExifTool/DV.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +14 -1
- data/bin/lib/Image/ExifTool/FITS.pm +1 -1
- data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +1 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +1 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +30 -11
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +1 -1
- data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/ISO.pm +1 -1
- data/bin/lib/Image/ExifTool/ITC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +15 -12
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +24 -2
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +1 -1
- data/bin/lib/Image/ExifTool/JVC.pm +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +9 -4
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +1 -1
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/MNG.pm +1 -1
- data/bin/lib/Image/ExifTool/MOI.pm +1 -1
- data/bin/lib/Image/ExifTool/MPC.pm +1 -1
- data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +3 -3
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +314 -35
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonSettings.pm +2013 -0
- data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +4 -2
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/Opus.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +10 -2
- data/bin/lib/Image/ExifTool/PGF.pm +1 -1
- data/bin/lib/Image/ExifTool/PICT.pm +1 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +12 -4
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- data/bin/lib/Image/ExifTool/PSP.pm +1 -1
- data/bin/lib/Image/ExifTool/Palm.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +12 -4
- data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +28 -19
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +25 -4
- data/bin/lib/Image/ExifTool/RIFF.pm +83 -5
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- data/bin/lib/Image/ExifTool/Red.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
- data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- data/bin/lib/Image/ExifTool/Shift.pl +1 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +8 -2
- data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- data/bin/lib/Image/ExifTool/Stim.pm +3 -3
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +3943 -3807
- data/bin/lib/Image/ExifTool/TagNames.pod +313 -21
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +1 -1
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +5 -4
- data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
- data/bin/lib/Image/ExifTool/Writer.pl +28 -14
- data/bin/lib/Image/ExifTool/XMP.pm +17 -8
- data/bin/lib/Image/ExifTool/XMP2.pl +5 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +9 -4
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
#
|
|
26
26
|
# May also be used for string i/o (just pass a scalar reference)
|
|
27
27
|
#
|
|
28
|
-
# Legal: Copyright (c) 2003-
|
|
28
|
+
# Legal: Copyright (c) 2003-2021 Phil Harvey (philharvey66 at gmail.com)
|
|
29
29
|
# This library is free software; you can redistribute it and/or
|
|
30
30
|
# modify it under the same terms as Perl itself.
|
|
31
31
|
#------------------------------------------------------------------------------
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# Description: Buffer to support random access reading of sequential file
|
|
5
5
|
#
|
|
6
|
-
# Legal: Copyright (c) 2003-
|
|
6
|
+
# Legal: Copyright (c) 2003-2021 Phil Harvey (philharvey66 at gmail.com)
|
|
7
7
|
# This library is free software; you can redistribute it and/or
|
|
8
8
|
# modify it under the same terms as Perl itself.
|
|
9
9
|
#------------------------------------------------------------------------------
|
|
@@ -236,7 +236,7 @@ the end of file is not allowed.
|
|
|
236
236
|
|
|
237
237
|
=head1 AUTHOR
|
|
238
238
|
|
|
239
|
-
Copyright 2003-
|
|
239
|
+
Copyright 2003-2021 Phil Harvey (philharvey66 at gmail.com)
|
|
240
240
|
|
|
241
241
|
This library is free software; you can redistribute it and/or modify it
|
|
242
242
|
under the same terms as Perl itself.
|
data/bin/lib/Image/ExifTool.pm
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
# Revisions: Nov. 12/2003 - P. Harvey Created
|
|
9
9
|
# (See html/history.html for revision history)
|
|
10
10
|
#
|
|
11
|
-
# Legal: Copyright (c) 2003-
|
|
11
|
+
# Legal: Copyright (c) 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
12
12
|
# This library is free software; you can redistribute it and/or
|
|
13
13
|
# modify it under the same terms as Perl itself.
|
|
14
14
|
#------------------------------------------------------------------------------
|
|
@@ -28,7 +28,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
|
28
28
|
%mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exePath);
|
|
30
30
|
|
|
31
|
-
$VERSION = '12.
|
|
31
|
+
$VERSION = '12.15';
|
|
32
32
|
$RELEASE = '';
|
|
33
33
|
@ISA = qw(Exporter);
|
|
34
34
|
%EXPORT_TAGS = (
|
|
@@ -2505,6 +2505,7 @@ sub ExtractInfo($;@)
|
|
|
2505
2505
|
} else {
|
|
2506
2506
|
$self->Error('Unknown file type');
|
|
2507
2507
|
}
|
|
2508
|
+
$self->BuildCompositeTags() if $fast == 4 and $$options{Composite};
|
|
2508
2509
|
last; # don't read the file
|
|
2509
2510
|
}
|
|
2510
2511
|
if (@fileTypeList) {
|
|
@@ -3394,7 +3395,11 @@ sub GetGroup($$;$)
|
|
|
3394
3395
|
my @grps;
|
|
3395
3396
|
# create list of group names (without identical adjacent groups if simplifying)
|
|
3396
3397
|
foreach (@families) {
|
|
3397
|
-
my $grp = $groups[$_]
|
|
3398
|
+
my $grp = $groups[$_];
|
|
3399
|
+
unless ($grp) {
|
|
3400
|
+
next if $simplify;
|
|
3401
|
+
$grp = '';
|
|
3402
|
+
}
|
|
3398
3403
|
push @grps, $grp unless $simplify and @grps and $grp eq $grps[-1];
|
|
3399
3404
|
}
|
|
3400
3405
|
# remove leading "Main:" if simplifying
|
|
@@ -4001,7 +4006,9 @@ sub Open($*$;$)
|
|
|
4001
4006
|
}
|
|
4002
4007
|
my $share = 0;
|
|
4003
4008
|
eval {
|
|
4004
|
-
|
|
4009
|
+
unless ($access & Win32API::File::GENERIC_WRITE()) {
|
|
4010
|
+
$share = Win32API::File::FILE_SHARE_READ() | Win32API::File::FILE_SHARE_WRITE();
|
|
4011
|
+
}
|
|
4005
4012
|
};
|
|
4006
4013
|
my $wh = eval { Win32API::File::CreateFileW($file, $access, $share, [], $create, 0, []) };
|
|
4007
4014
|
return undef unless $wh;
|
|
@@ -5732,12 +5739,12 @@ sub ConvertFileSize($)
|
|
|
5732
5739
|
{
|
|
5733
5740
|
my $val = shift;
|
|
5734
5741
|
$val < 2048 and return "$val bytes";
|
|
5735
|
-
$val < 10240 and return sprintf('%.1f
|
|
5736
|
-
$val < 2097152 and return sprintf('%.0f
|
|
5737
|
-
$val < 10485760 and return sprintf('%.1f
|
|
5738
|
-
$val < 2147483648 and return sprintf('%.0f
|
|
5739
|
-
$val < 10737418240 and return sprintf('%.1f
|
|
5740
|
-
return sprintf('%.0f
|
|
5742
|
+
$val < 10240 and return sprintf('%.1f KiB', $val / 1024);
|
|
5743
|
+
$val < 2097152 and return sprintf('%.0f KiB', $val / 1024);
|
|
5744
|
+
$val < 10485760 and return sprintf('%.1f MiB', $val / 1048576);
|
|
5745
|
+
$val < 2147483648 and return sprintf('%.0f MiB', $val / 1048576);
|
|
5746
|
+
$val < 10737418240 and return sprintf('%.1f GiB', $val / 1073741824);
|
|
5747
|
+
return sprintf('%.0f GiB', $val / 1073741824);
|
|
5741
5748
|
}
|
|
5742
5749
|
|
|
5743
5750
|
#------------------------------------------------------------------------------
|
|
@@ -6688,6 +6695,22 @@ sub ProcessJPEG($$)
|
|
|
6688
6695
|
# extract the Stim information (it is in standard TIFF format)
|
|
6689
6696
|
my $tagTablePtr = GetTagTable('Image::ExifTool::Stim::Main');
|
|
6690
6697
|
$self->ProcessTIFF(\%dirInfo, $tagTablePtr);
|
|
6698
|
+
} elsif ($$self{Make} eq 'DJI') {
|
|
6699
|
+
$dumpType = 'DJI ThermalData';
|
|
6700
|
+
# add this data to the combined data if it exists
|
|
6701
|
+
my $dataPt = $segDataPt;
|
|
6702
|
+
if (defined $combinedSegData) {
|
|
6703
|
+
$combinedSegData .= $$segDataPt;
|
|
6704
|
+
$dataPt = \$combinedSegData;
|
|
6705
|
+
}
|
|
6706
|
+
if ($nextMarker == $marker) {
|
|
6707
|
+
$combinedSegData = $$segDataPt unless defined $combinedSegData;
|
|
6708
|
+
} else {
|
|
6709
|
+
# process DJI FLIR thermal data
|
|
6710
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
|
|
6711
|
+
$self->HandleTag($tagTablePtr, 'APP3', $$dataPt);
|
|
6712
|
+
undef $combinedSegData;
|
|
6713
|
+
}
|
|
6691
6714
|
} elsif ($$segDataPt =~ /^\xff\xd8\xff\xdb/) {
|
|
6692
6715
|
$dumpType = 'PreviewImage'; # (Samsung, HP, BenQ)
|
|
6693
6716
|
$preview = $$segDataPt;
|
|
@@ -6722,6 +6745,11 @@ sub ProcessJPEG($$)
|
|
|
6722
6745
|
# set flag if this is the last FPXR segment
|
|
6723
6746
|
$dirInfo{LastFPXR} = not ($nextMarker==$marker and $$nextSegDataPt=~/^FPXR\0/),
|
|
6724
6747
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
6748
|
+
} elsif ($$self{Make} eq 'DJI' and $$segDataPt =~ /^\xaa\x55\x12\x06/) {
|
|
6749
|
+
$dumpType = 'DJI ThermalParams';
|
|
6750
|
+
DirStart(\%dirInfo, 0, 0);
|
|
6751
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::DJI::ThermalParams');
|
|
6752
|
+
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
6725
6753
|
} elsif ($preview) {
|
|
6726
6754
|
# continued Samsung S1060 preview from APP3
|
|
6727
6755
|
$dumpType = 'PreviewImage';
|
|
@@ -6744,6 +6772,10 @@ sub ProcessJPEG($$)
|
|
|
6744
6772
|
} elsif ($$segDataPt =~ /^ssuniqueid\0/) {
|
|
6745
6773
|
my $tagTablePtr = GetTagTable('Image::ExifTool::Samsung::APP5');
|
|
6746
6774
|
$self->HandleTag($tagTablePtr, 'ssuniqueid', substr($$segDataPt, 11));
|
|
6775
|
+
} elsif ($$self{Make} eq 'DJI') {
|
|
6776
|
+
$dumpType = 'DJI ThermalCal';
|
|
6777
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
|
|
6778
|
+
$self->HandleTag($tagTablePtr, 'APP5', $$segDataPt);
|
|
6747
6779
|
} elsif ($preview) {
|
|
6748
6780
|
$dumpType = 'PreviewImage';
|
|
6749
6781
|
$preview .= $$segDataPt;
|
|
@@ -6779,6 +6811,10 @@ sub ProcessJPEG($$)
|
|
|
6779
6811
|
my $tagTablePtr = GetTagTable('Image::ExifTool::GoPro::GPMF');
|
|
6780
6812
|
DirStart(\%dirInfo, 6);
|
|
6781
6813
|
$self->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
6814
|
+
} elsif ($$segDataPt =~ /^DTAT\0\0.\{/s) {
|
|
6815
|
+
$dumpType = 'DJI_DTAT';
|
|
6816
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::Main');
|
|
6817
|
+
$self->HandleTag($tagTablePtr, 'APP6', $$segDataPt);
|
|
6782
6818
|
}
|
|
6783
6819
|
} elsif ($marker == 0xe7) { # APP7 (Pentax, Huawei, Qualcomm)
|
|
6784
6820
|
if ($$segDataPt =~ /^PENTAX \0(II|MM)/) {
|
data/bin/lib/Image/ExifTool.pod
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
#
|
|
6
6
|
# URL: https://exiftool.org/
|
|
7
7
|
#
|
|
8
|
-
# Legal: Copyright (c) 2003-
|
|
8
|
+
# Legal: Copyright (c) 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
9
9
|
# This library is free software; you can redistribute it and/or
|
|
10
10
|
# modify it under the same terms as Perl itself.
|
|
11
11
|
#------------------------------------------------------------------------------
|
|
@@ -644,10 +644,11 @@ file types. With a value of 2, ExifTool will also avoid extracting any EXIF
|
|
|
644
644
|
MakerNote information, and will stop parsing at the IDAT chunk of PNG
|
|
645
645
|
images. (By the PNG specification, metadata is allowed after IDAT, but
|
|
646
646
|
ExifTool always writes it before because some utilities will ignore it
|
|
647
|
-
otherwise.) When set to 3 or
|
|
648
|
-
generated. For 3, the file header is read to provide an educated guess
|
|
649
|
-
FileType. For 4, the file is not read at all and FileType is determined
|
|
650
|
-
based on the file's extension.
|
|
647
|
+
otherwise.) When set to 3 or higher, only pseudo system tags and FileType
|
|
648
|
+
are generated. For 3, the file header is read to provide an educated guess
|
|
649
|
+
at FileType. For 4, the file is not read at all and FileType is determined
|
|
650
|
+
based on the file's extension. For 5, generation of Composite tags is also
|
|
651
|
+
disabled (like setting L</Composite> to 0). Default is undef.
|
|
651
652
|
|
|
652
653
|
=item Filter
|
|
653
654
|
|
|
@@ -1901,7 +1902,9 @@ file or creating the link.
|
|
|
1901
1902
|
|
|
1902
1903
|
=item Notes:
|
|
1903
1904
|
|
|
1904
|
-
Will not overwrite existing files. New directories are created as necessary.
|
|
1905
|
+
Will not overwrite existing files. New directories are created as necessary.
|
|
1906
|
+
If the file is successfully renamed, the new file name may be accessed via
|
|
1907
|
+
C<$$exifTool{NewName}>.
|
|
1905
1908
|
|
|
1906
1909
|
=back
|
|
1907
1910
|
|
|
@@ -2295,10 +2298,10 @@ MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video,
|
|
|
2295
2298
|
MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS,
|
|
2296
2299
|
MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft,
|
|
2297
2300
|
Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom,
|
|
2298
|
-
NikonScan, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF,
|
|
2299
|
-
PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne,
|
|
2300
|
-
PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD,
|
|
2301
|
-
ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
|
|
2301
|
+
NikonScan, NikonSettings, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF,
|
|
2302
|
+
PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne,
|
|
2303
|
+
PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD,
|
|
2304
|
+
PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,
|
|
2302
2305
|
Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4,
|
|
2303
2306
|
Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD,
|
|
2304
2307
|
SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim,
|
|
@@ -2708,7 +2711,7 @@ specified by the L</Charset> option.
|
|
|
2708
2711
|
|
|
2709
2712
|
=head1 AUTHOR
|
|
2710
2713
|
|
|
2711
|
-
Copyright 2003-
|
|
2714
|
+
Copyright 2003-2021, Phil Harvey
|
|
2712
2715
|
|
|
2713
2716
|
This library is free software; you can redistribute it and/or modify it
|
|
2714
2717
|
under the same terms as Perl itself.
|
|
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
|
|
|
477
477
|
|
|
478
478
|
=head1 AUTHOR
|
|
479
479
|
|
|
480
|
-
Copyright 2003-
|
|
480
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
481
481
|
|
|
482
482
|
This library is free software; you can redistribute it and/or modify it
|
|
483
483
|
under the same terms as Perl itself.
|
|
@@ -259,7 +259,7 @@ scanning for AFCP information.
|
|
|
259
259
|
|
|
260
260
|
=head1 AUTHOR
|
|
261
261
|
|
|
262
|
-
Copyright 2003-
|
|
262
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
263
263
|
|
|
264
264
|
This library is free software; you can redistribute it and/or modify it
|
|
265
265
|
under the same terms as Perl itself.
|
|
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
|
|
|
287
287
|
|
|
288
288
|
=head1 AUTHOR
|
|
289
289
|
|
|
290
|
-
Copyright 2003-
|
|
290
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
291
291
|
|
|
292
292
|
This library is free software; you can redistribute it and/or modify it
|
|
293
293
|
under the same terms as Perl itself.
|
|
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
|
|
|
263
263
|
|
|
264
264
|
=head1 AUTHOR
|
|
265
265
|
|
|
266
|
-
Copyright 2003-
|
|
266
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
267
267
|
|
|
268
268
|
This library is free software; you can redistribute it and/or modify it
|
|
269
269
|
under the same terms as Perl itself.
|
|
@@ -305,7 +305,7 @@ APP12 meta information.
|
|
|
305
305
|
|
|
306
306
|
=head1 AUTHOR
|
|
307
307
|
|
|
308
|
-
Copyright 2003-
|
|
308
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
309
309
|
|
|
310
310
|
This library is free software; you can redistribute it and/or modify it
|
|
311
311
|
under the same terms as Perl itself.
|
|
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
|
|
|
876
876
|
|
|
877
877
|
=head1 AUTHOR
|
|
878
878
|
|
|
879
|
-
Copyright 2003-
|
|
879
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
880
880
|
|
|
881
881
|
This library is free software; you can redistribute it and/or modify it
|
|
882
882
|
under the same terms as Perl itself.
|
|
@@ -148,7 +148,7 @@ Apple maker notes in EXIF information.
|
|
|
148
148
|
|
|
149
149
|
=head1 AUTHOR
|
|
150
150
|
|
|
151
|
-
Copyright 2003-
|
|
151
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
152
152
|
|
|
153
153
|
This library is free software; you can redistribute it and/or modify it
|
|
154
154
|
under the same terms as Perl itself.
|
|
@@ -291,7 +291,7 @@ information from Audible audio books.
|
|
|
291
291
|
|
|
292
292
|
=head1 AUTHOR
|
|
293
293
|
|
|
294
|
-
Copyright 2003-
|
|
294
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
295
295
|
|
|
296
296
|
This library is free software; you can redistribute it and/or modify it
|
|
297
297
|
under the same terms as Perl itself.
|
|
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
|
|
|
335
335
|
|
|
336
336
|
=head1 AUTHOR
|
|
337
337
|
|
|
338
|
-
Copyright 2003-
|
|
338
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
339
339
|
|
|
340
340
|
This library is free software; you can redistribute it and/or modify it
|
|
341
341
|
under the same terms as Perl itself.
|
|
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
|
|
|
231
231
|
|
|
232
232
|
=head1 AUTHOR
|
|
233
233
|
|
|
234
|
-
Copyright 2003-
|
|
234
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
235
235
|
|
|
236
236
|
This library is free software; you can redistribute it and/or modify it
|
|
237
237
|
under the same terms as Perl itself.
|
|
@@ -445,7 +445,7 @@ compression ability).
|
|
|
445
445
|
|
|
446
446
|
=head1 AUTHOR
|
|
447
447
|
|
|
448
|
-
Copyright 2003-
|
|
448
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
449
449
|
Copyright 2002, Leon Bottou and Yann Le Cun
|
|
450
450
|
Copyright 2001, AT&T
|
|
451
451
|
Copyright 1999-2001, LizardTech Inc.
|
|
@@ -275,7 +275,7 @@ information in BigTIFF images.
|
|
|
275
275
|
|
|
276
276
|
=head1 AUTHOR
|
|
277
277
|
|
|
278
|
-
Copyright 2003-
|
|
278
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
279
279
|
|
|
280
280
|
This library is free software; you can redistribute it and/or modify it
|
|
281
281
|
under the same terms as Perl itself.
|
|
@@ -35,7 +35,7 @@ use Image::ExifTool::Sony;
|
|
|
35
35
|
use Image::ExifTool::Validate;
|
|
36
36
|
use Image::ExifTool::MacOS;
|
|
37
37
|
|
|
38
|
-
$VERSION = '3.
|
|
38
|
+
$VERSION = '3.41';
|
|
39
39
|
@ISA = qw(Exporter);
|
|
40
40
|
|
|
41
41
|
sub NumbersFirst($$);
|
|
@@ -457,6 +457,11 @@ values. However, if the L<QuickTimeUTC|../ExifTool.html#QuickTimeUTC> API optio
|
|
|
457
457
|
assume these values are properly stored as UTC, and will convert them to
|
|
458
458
|
local time when extracting.
|
|
459
459
|
|
|
460
|
+
When writing string-based date/time tags, the system time zone is added if
|
|
461
|
+
the PrintConv option is enabled and no time zone is specified. This is
|
|
462
|
+
because Apple software may display a crazy values if the time zone is
|
|
463
|
+
missing for some tags.
|
|
464
|
+
|
|
460
465
|
See
|
|
461
466
|
L<https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/>
|
|
462
467
|
for the official specification.
|
|
@@ -628,7 +633,8 @@ overlapping EXIF, IPTC and XMP tags to be reconciled when reading, and
|
|
|
628
633
|
synchronized when writing. The MWG Composite tags below are designed to aid
|
|
629
634
|
in the implementation of these recommendations. As well, the MWG defines
|
|
630
635
|
new XMP tags which are listed in the subsequent tables below. See
|
|
631
|
-
L<http://www.metadataworkinggroup.org/>
|
|
636
|
+
L<https://web.archive.org/web/20181006115950/http://www.metadataworkinggroup.org/specs/>
|
|
637
|
+
for the official MWG specification.
|
|
632
638
|
},
|
|
633
639
|
MacOS => q{
|
|
634
640
|
On MacOS systems, the there are additional MDItem and XAttr Finder tags that
|
|
@@ -651,7 +657,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
|
|
|
651
657
|
|
|
652
658
|
~head1 AUTHOR
|
|
653
659
|
|
|
654
|
-
Copyright 2003-
|
|
660
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
655
661
|
|
|
656
662
|
This library is free software; you can redistribute it and/or modify it
|
|
657
663
|
under the same terms as Perl itself.
|
|
@@ -2726,7 +2732,7 @@ Returned list of writable pseudo tags.
|
|
|
2726
2732
|
|
|
2727
2733
|
=head1 AUTHOR
|
|
2728
2734
|
|
|
2729
|
-
Copyright 2003-
|
|
2735
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2730
2736
|
|
|
2731
2737
|
This library is free software; you can redistribute it and/or modify it
|
|
2732
2738
|
under the same terms as Perl itself.
|
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
|
88
88
|
sub ProcessExifInfo($$$);
|
|
89
89
|
sub SwapWords($);
|
|
90
90
|
|
|
91
|
-
$VERSION = '4.
|
|
91
|
+
$VERSION = '4.42';
|
|
92
92
|
|
|
93
93
|
# Note: Removed 'USM' from 'L' lenses since it is redundant - PH
|
|
94
94
|
# (or is it? Ref 32 shows 5 non-USM L-type lenses)
|
|
@@ -578,16 +578,17 @@ $VERSION = '4.40';
|
|
|
578
578
|
61182.7 => 'Canon RF 15-35mm F2.8L IS USM',
|
|
579
579
|
61182.8 => 'Canon RF 24-240mm F4-6.3 IS USM',
|
|
580
580
|
61182.9 => 'Canon RF 70-200mm F2.8L IS USM',
|
|
581
|
-
61182.10 => 'Canon RF
|
|
582
|
-
61182.11 => 'Canon RF 600mm F11 IS STM
|
|
583
|
-
61182.12 => 'Canon RF 600mm F11 IS STM +
|
|
584
|
-
61182.13 => 'Canon RF
|
|
585
|
-
61182.14 => 'Canon RF 800mm F11 IS STM
|
|
586
|
-
61182.15 => 'Canon RF 800mm F11 IS STM +
|
|
587
|
-
61182.16 => 'Canon RF
|
|
588
|
-
61182.17 => 'Canon RF
|
|
589
|
-
61182.18 => 'Canon RF 100-500mm F4.5-7.1L IS USM
|
|
590
|
-
61182.19 => 'Canon RF 100-500mm F4.5-7.1L IS USM +
|
|
581
|
+
61182.10 => 'Canon RF 85mm F2 MACRO IS STM',
|
|
582
|
+
61182.11 => 'Canon RF 600mm F11 IS STM',
|
|
583
|
+
61182.12 => 'Canon RF 600mm F11 IS STM + RF1.4x',
|
|
584
|
+
61182.13 => 'Canon RF 600mm F11 IS STM + RF2x',
|
|
585
|
+
61182.14 => 'Canon RF 800mm F11 IS STM',
|
|
586
|
+
61182.15 => 'Canon RF 800mm F11 IS STM + RF1.4x',
|
|
587
|
+
61182.16 => 'Canon RF 800mm F11 IS STM + RF2x',
|
|
588
|
+
61182.17 => 'Canon RF 24-105mm F4-7.1 IS STM',
|
|
589
|
+
61182.18 => 'Canon RF 100-500mm F4.5-7.1L IS USM',
|
|
590
|
+
61182.19 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF1.4x',
|
|
591
|
+
61182.20 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF2x',
|
|
591
592
|
65535 => 'n/a',
|
|
592
593
|
);
|
|
593
594
|
|
|
@@ -943,6 +944,7 @@ $VERSION = '4.40';
|
|
|
943
944
|
0x80000436 => 'EOS SL3 / 250D / Kiss X10', #25
|
|
944
945
|
0x80000437 => 'EOS 90D', #IB
|
|
945
946
|
0x80000453 => 'EOS R6', #PH
|
|
947
|
+
0x80000467 => 'PowerShot ZOOM',
|
|
946
948
|
0x80000520 => 'EOS D2000C', #IB
|
|
947
949
|
0x80000560 => 'EOS D6000C', #PH (guess)
|
|
948
950
|
);
|
|
@@ -6722,6 +6724,7 @@ my %ciMaxFocal = (
|
|
|
6722
6724
|
264 => 'Canon RF 15-35mm F2.8L IS USM',
|
|
6723
6725
|
265 => 'Canon RF 24-240mm F4-6.3 IS USM',
|
|
6724
6726
|
266 => 'Canon RF 70-200mm F2.8L IS USM',
|
|
6727
|
+
267 => 'Canon RF 85mm F2 MACRO IS STM',
|
|
6725
6728
|
268 => 'Canon RF 600mm F11 IS STM',
|
|
6726
6729
|
269 => 'Canon RF 600mm F11 IS STM + RF1.4x',
|
|
6727
6730
|
270 => 'Canon RF 600mm F11 IS STM + RF2x',
|
|
@@ -9871,7 +9874,7 @@ Canon maker notes in EXIF information.
|
|
|
9871
9874
|
|
|
9872
9875
|
=head1 AUTHOR
|
|
9873
9876
|
|
|
9874
|
-
Copyright 2003-
|
|
9877
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
9875
9878
|
|
|
9876
9879
|
This library is free software; you can redistribute it and/or modify it
|
|
9877
9880
|
under the same terms as Perl itself.
|
|
@@ -2845,7 +2845,7 @@ Image::ExifTool to read this information.
|
|
|
2845
2845
|
|
|
2846
2846
|
=head1 AUTHOR
|
|
2847
2847
|
|
|
2848
|
-
Copyright 2003-
|
|
2848
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2849
2849
|
|
|
2850
2850
|
This library is free software; you can redistribute it and/or modify it
|
|
2851
2851
|
under the same terms as Perl itself.
|
|
@@ -877,7 +877,7 @@ tags.)
|
|
|
877
877
|
|
|
878
878
|
=head1 AUTHOR
|
|
879
879
|
|
|
880
|
-
Copyright 2003-
|
|
880
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
881
881
|
|
|
882
882
|
This library is free software; you can redistribute it and/or modify it
|
|
883
883
|
under the same terms as Perl itself.
|