exiftool_vendored 11.65.0 → 11.67.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +28 -5
- data/bin/MANIFEST +1 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -2
- data/bin/config_files/thinkware.config +144 -0
- data/bin/exiftool +6 -4
- data/bin/lib/Image/ExifTool.pm +10 -4
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +3 -3
- data/bin/lib/Image/ExifTool/Canon.pm +25 -5
- data/bin/lib/Image/ExifTool/Exif.pm +12 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +3 -2
- data/bin/lib/Image/ExifTool/Minolta.pm +3 -3
- data/bin/lib/Image/ExifTool/Nikon.pm +6 -4
- data/bin/lib/Image/ExifTool/Olympus.pm +5 -5
- data/bin/lib/Image/ExifTool/PDF.pm +17 -2
- data/bin/lib/Image/ExifTool/Photoshop.pm +11 -2
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +2 -2
- data/bin/lib/Image/ExifTool/RIFF.pm +12 -2
- data/bin/lib/Image/ExifTool/Ricoh.pm +7 -3
- data/bin/lib/Image/ExifTool/Samsung.pm +121 -12
- data/bin/lib/Image/ExifTool/TagLookup.pm +5315 -5274
- data/bin/lib/Image/ExifTool/TagNames.pod +65 -7
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +5 -2
- data/bin/lib/Image/ExifTool/WriteXMP.pl +2 -1
- data/bin/lib/Image/ExifTool/Writer.pl +4 -1
- data/bin/lib/Image/ExifTool/XMP.pm +1 -1
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bde7c46f693f484613c7cf4fe77dec3d59a38aef
|
4
|
+
data.tar.gz: 90b28efc64aca6df9015a99c18591e3bdf0edc77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 459ee5aa30a83cc36b44ad84cc86bfdf767c745f3707704035cde596c74b0ea7cfd7667f5529db48ea67a9d21e2483cde62c26123d82ecb071a36961f490672b
|
7
|
+
data.tar.gz: 1d7f84c0ed3bc2e6ea28ff1b511e0763e8fc49342ac888df64977b7113e65246497d98e2f09b90dbaeb6e4c3a1028d92fa7ac39975b754470bf667a75d7a2e4b
|
data/bin/Changes
CHANGED
@@ -7,14 +7,37 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
|
|
7
7
|
Note: The most recent production release is Version 11.50. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to CPAN.)
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
Sept. 30, 2019 - Version 11.67
|
11
|
+
|
12
|
+
- Added config_files/thinkware.config to the distribution
|
13
|
+
- Fixed bug decoding negative GPS coordinates from INSV videos
|
14
|
+
|
15
|
+
Sept. 30, 2019 - Version 11.66
|
16
|
+
|
17
|
+
- Added a new Nikon LensID (thanks LibRaw)
|
18
|
+
- Added a few new Canon LensType values (thanks LibRaw and Tom Lachecki)
|
19
|
+
- Decode a few more Hasselblad tags (thanks LibRaw)
|
20
|
+
- Decode a new Canon tag (thanks Laurent Clevy)
|
21
|
+
- Decode more Samsung trailer tags
|
22
|
+
- Extract BWF iXML, aXML and UMID from RIFF-format files
|
23
|
+
- Extract ICC_Profile from more types of PDF files
|
24
|
+
- Enhanced %s of the -W option to recognize the PICT format
|
25
|
+
- Recognize MacOS alias files
|
26
|
+
- Changed name of Ricoh CropMode35mm tag and added a new value (thanks LibRaw)
|
27
|
+
- Minor change to a Minolta lens name (thanks Jos Roost)
|
28
|
+
- Fixed problem where NikonCapture information couldn't be deleted from an NEF
|
29
|
+
- Fixed problem identifying some SVG files
|
30
|
+
- Fixed typo in a CanonModelID value (thanks Dmitry)
|
31
|
+
- Fixed bug which could result in "Internal error: no list index" warning when
|
32
|
+
creating nested XMP lang-alt lists
|
33
|
+
- Fixed the names of a few Tamron lenses for Nikon (thanks Tom Lachecki)
|
34
|
+
- Fixed problem extracting Layer information from some PSD files
|
35
|
+
- Fixed writing of QuickTime GPSCoordinates to use the correct number of
|
36
|
+
digits before the decimal point for latitude and longitude
|
13
37
|
|
14
38
|
Aug. 29, 2019 - Version 11.65
|
15
39
|
|
16
|
-
- Added
|
17
|
-
Roost)
|
40
|
+
- Added new SonyModelID and Sony LensType values (thanks LibRaw and Jos Roost)
|
18
41
|
- Added support for some new Sony models (thanks Jos Roost)
|
19
42
|
- Added a couple of new CanonModelID values (thanks LibRaw)
|
20
43
|
- Added a new Canon ColorDataVersion value
|
data/bin/MANIFEST
CHANGED
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -104,8 +104,8 @@ your home directory, then you would type the following commands in a
|
|
104
104
|
terminal window to extract and run ExifTool:
|
105
105
|
|
106
106
|
cd ~/Desktop
|
107
|
-
gzip -dc Image-ExifTool-11.
|
108
|
-
cd Image-ExifTool-11.
|
107
|
+
gzip -dc Image-ExifTool-11.67.tar.gz | tar -xf -
|
108
|
+
cd Image-ExifTool-11.67
|
109
109
|
./exiftool t/images/ExifTool.jpg
|
110
110
|
|
111
111
|
Note: These commands extract meta information from one of the test images.
|
@@ -201,6 +201,7 @@ distribution package:
|
|
201
201
|
photoshop_paths.config - For extracting or copying Photoshop paths
|
202
202
|
picasa_faces.config - Convert from Picasa to MWG/MP face regions
|
203
203
|
rotate_regions.config - Rotate MWG and MP region tags
|
204
|
+
thinkware.config - Decode text from Thinkware dashcam videos
|
204
205
|
tiff_version.config - Determine the version of a TIFF file
|
205
206
|
time_zone.config - Calcuate time zone from EXIF tags
|
206
207
|
exiftool - The exiftool application (Perl script)
|
@@ -0,0 +1,144 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
# File: thinkware.config
|
3
|
+
#
|
4
|
+
# Description: This config file defines Composite tags to decode subtitle text
|
5
|
+
# from Thinkware dashcam videos
|
6
|
+
#
|
7
|
+
# Usage: exiftool -config thinkware.config -ee FILE
|
8
|
+
#
|
9
|
+
# Example command to create .gpx log file from Thinkware video
|
10
|
+
# (requires gpx.fmt available in the full Exiftool distribution):
|
11
|
+
#
|
12
|
+
# exiftool -config thinkware.config -p gpx.fmt -ee -api QuickTimeUTC FILE
|
13
|
+
#
|
14
|
+
# Requires: ExifTool version 10.75 or later
|
15
|
+
#
|
16
|
+
# Revisions: 2019/09/30 - P. Harvey Created
|
17
|
+
#------------------------------------------------------------------------------
|
18
|
+
|
19
|
+
use Time::Local;
|
20
|
+
|
21
|
+
#------------------------------------------------------------------------------
|
22
|
+
# Decode GPS from Thinkware subtitle Text
|
23
|
+
# Inputs: 0) ExifTool ref, 1) Text value
|
24
|
+
# Returns: Hash containing GPS tags
|
25
|
+
sub Image::ExifTool::UserDefined::DecodeGPS($$)
|
26
|
+
{
|
27
|
+
my ($et, $val) = @_;
|
28
|
+
unless ($$et{ThinkwareInfo}{Text} and $val eq $$et{ThinkwareInfo}{Text}) {
|
29
|
+
my %gps;
|
30
|
+
$$et{ThinkwareInfo}{GPS} = \%gps;
|
31
|
+
$$et{ThinkwareInfo}{Text} = $val;
|
32
|
+
#
|
33
|
+
# Example embedded "Text" from a Thinkware Q800:
|
34
|
+
#
|
35
|
+
# "gsensori,4,512,-67,-12,100;GNRMC,161313.00,A,4529.87489,N,07337.01215,W,6.225,35.34,310819,,,A*52..;
|
36
|
+
# CAR,0,0,0,0.0,0,0,0,0,0,0,0,0"
|
37
|
+
#
|
38
|
+
if ($val =~ /[A-Z]{2}RMC,(\d{2})(\d{2})(\d+(\.\d*)?),A?,(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),(\d*\.?\d*),(\d*\.?\d*),(\d{2})(\d{2})(\d+)/ and
|
39
|
+
# do some basic sanity checks on the date
|
40
|
+
$13 <= 31 and $14 <= 12 and $15 <= 99)
|
41
|
+
{
|
42
|
+
$gps{lat} = (($5 || 0) + $6/60) * ($7 eq 'N' ? 1 : -1);
|
43
|
+
$gps{lon} = (($8 || 0) + $9/60) * ($10 eq 'E' ? 1 : -1);
|
44
|
+
$gps{speed} = $11 if length $11;
|
45
|
+
$gps{track} = $12 if length $12;
|
46
|
+
my $year = $15 + ($15 >= 70 ? 1900 : 2000);
|
47
|
+
$gps{datetime} = sprintf('%.4d:%.2d:%.2d %.2d:%.2d:%.2dZ', $year, $14, $13, $1, $2, $3);
|
48
|
+
}
|
49
|
+
}
|
50
|
+
return $$et{ThinkwareInfo}{GPS};
|
51
|
+
}
|
52
|
+
|
53
|
+
# Composite tags to decode information from subtitle Text
|
54
|
+
%Image::ExifTool::UserDefined = (
|
55
|
+
'Image::ExifTool::Composite' => {
|
56
|
+
GROUPS => { 2 => 'Location' },
|
57
|
+
#
|
58
|
+
# Note: SubDoc flag is set for all these tags so they will be generated for
|
59
|
+
# all embedded documents
|
60
|
+
#
|
61
|
+
GPSDateTime => {
|
62
|
+
Description => 'GPS Date/Time',
|
63
|
+
Groups => { 2 => 'Time' },
|
64
|
+
SubDoc => 1,
|
65
|
+
Require => 'Text',
|
66
|
+
RawConv => q{
|
67
|
+
my $gps = Image::ExifTool::UserDefined::DecodeGPS($self, $val[0]);
|
68
|
+
return $$gps{datetime};
|
69
|
+
},
|
70
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
71
|
+
},
|
72
|
+
GPSLatitude => {
|
73
|
+
SubDoc => 1,
|
74
|
+
Require => 'Text',
|
75
|
+
RawConv => q{
|
76
|
+
my $gps = Image::ExifTool::UserDefined::DecodeGPS($self, $val[0]);
|
77
|
+
return $$gps{lat};
|
78
|
+
},
|
79
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
|
80
|
+
},
|
81
|
+
GPSLongitude => {
|
82
|
+
SubDoc => 1,
|
83
|
+
Require => 'Text',
|
84
|
+
RawConv => q{
|
85
|
+
my $gps = Image::ExifTool::UserDefined::DecodeGPS($self, $val[0]);
|
86
|
+
return $$gps{lon};
|
87
|
+
},
|
88
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
|
89
|
+
},
|
90
|
+
GPSSpeed => {
|
91
|
+
SubDoc => 1,
|
92
|
+
Require => 'Text',
|
93
|
+
RawConv => q{
|
94
|
+
my $gps = Image::ExifTool::UserDefined::DecodeGPS($self, $val[0]);
|
95
|
+
# convert from knots to km/hr
|
96
|
+
return defined $$gps{speed} ? $$gps{speed} * 1.852 : undef;
|
97
|
+
},
|
98
|
+
},
|
99
|
+
GPSSpeedRef => {
|
100
|
+
SubDoc => 1,
|
101
|
+
Require => 'Text',
|
102
|
+
RawConv => q{
|
103
|
+
my $gps = Image::ExifTool::UserDefined::DecodeGPS($self, $val[0]);
|
104
|
+
return defined $$gps{speed} ? 'K' : undef;
|
105
|
+
},
|
106
|
+
PrintConv => { K => 'km/h', M => 'mph', N => 'knots' },
|
107
|
+
},
|
108
|
+
GPSTrack => {
|
109
|
+
SubDoc => 1,
|
110
|
+
Require => 'Text',
|
111
|
+
RawConv => q{
|
112
|
+
my $gps = Image::ExifTool::UserDefined::DecodeGPS($self, $val[0]);
|
113
|
+
return $$gps{track};
|
114
|
+
},
|
115
|
+
},
|
116
|
+
GPSTrackRef => {
|
117
|
+
SubDoc => 1,
|
118
|
+
Require => 'Text',
|
119
|
+
RawConv => q{
|
120
|
+
my $gps = Image::ExifTool::UserDefined::DecodeGPS($self, $val[0]);
|
121
|
+
return defined $$gps{track} ? 'T' : undef;
|
122
|
+
},
|
123
|
+
PrintConv => { M => 'Magnetic North', T => 'True North' },
|
124
|
+
},
|
125
|
+
GSensor => {
|
126
|
+
SubDoc => 1,
|
127
|
+
Require => 'Text',
|
128
|
+
RawConv => q{
|
129
|
+
return undef unless $val[0] =~ /gsensori,(.*?)(;|$)/;
|
130
|
+
return $1;
|
131
|
+
},
|
132
|
+
},
|
133
|
+
Car => {
|
134
|
+
SubDoc => 1,
|
135
|
+
Require => 'Text',
|
136
|
+
RawConv => q{
|
137
|
+
return undef unless $val[0] =~ /CAR,(.*?)(;|$)/;
|
138
|
+
return $1;
|
139
|
+
},
|
140
|
+
},
|
141
|
+
},
|
142
|
+
);
|
143
|
+
|
144
|
+
1; #end
|
data/bin/exiftool
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
use strict;
|
11
11
|
require 5.004;
|
12
12
|
|
13
|
-
my $version = '11.
|
13
|
+
my $version = '11.67';
|
14
14
|
|
15
15
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
16
16
|
my $exeDir;
|
@@ -3787,6 +3787,8 @@ sub SuggestedExtension($$$)
|
|
3787
3787
|
$ext = 'vrd';
|
3788
3788
|
} elsif ($$valPt =~ /^IIII\x04\0\x04\0/) {
|
3789
3789
|
$ext = 'dr4';
|
3790
|
+
} elsif ($$valPt =~ /^(.{10}|.{522})(\x11\x01|\x00\x11)/) {
|
3791
|
+
$ext = 'pict';
|
3790
3792
|
} else {
|
3791
3793
|
$ext = 'dat';
|
3792
3794
|
}
|
@@ -4274,8 +4276,8 @@ directory are processed (in write mode only writable types are processed).
|
|
4274
4276
|
However, files may be specified by name, or the B<-ext> option may be used
|
4275
4277
|
to force processing of files with any extension. Hidden files in the
|
4276
4278
|
directory are also processed. Adding the B<-r> option causes subdirectories
|
4277
|
-
to be processed recursively, but
|
4278
|
-
skipped unless B<-r.> is used.
|
4279
|
+
to be processed recursively, but subdirectories with names beginning with
|
4280
|
+
"." are skipped unless B<-r.> is used.
|
4279
4281
|
|
4280
4282
|
Below is a list of file types and meta information formats currently
|
4281
4283
|
supported by ExifTool (r = read, w = write, c = create):
|
@@ -5171,7 +5173,7 @@ with this command:
|
|
5171
5173
|
|
5172
5174
|
produces output like this:
|
5173
5175
|
|
5174
|
-
-- Generated by ExifTool 11.
|
5176
|
+
-- Generated by ExifTool 11.67 --
|
5175
5177
|
File: a.jpg - 2003:10:31 15:44:19
|
5176
5178
|
(f/5.6, 1/60s, ISO 100)
|
5177
5179
|
File: b.jpg - 2006:05:23 11:57:38
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -27,7 +27,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
27
27
|
%mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
|
28
28
|
%jpegMarker %specialTags %fileTypeLookup);
|
29
29
|
|
30
|
-
$VERSION = '11.
|
30
|
+
$VERSION = '11.67';
|
31
31
|
$RELEASE = '';
|
32
32
|
@ISA = qw(Exporter);
|
33
33
|
%EXPORT_TAGS = (
|
@@ -186,7 +186,7 @@ $defaultLang = 'en'; # default language
|
|
186
186
|
HTML VRD RTF FITS XCF DSS QTIF FPX PICT ZIP GZIP PLIST RAR BZ2
|
187
187
|
TAR RWZ EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font RSRC M2TS
|
188
188
|
PHP PCX DCX DWF DWG WTV Torrent VCard LRI R3D AA PDB MOI ISO
|
189
|
-
JSON MP3 DICOM PCD);
|
189
|
+
ALIAS JSON MP3 DICOM PCD);
|
190
190
|
|
191
191
|
# file types that we can write (edit)
|
192
192
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
@@ -227,6 +227,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
227
227
|
AIFC => ['AIFF', 'Audio Interchange File Format Compressed'],
|
228
228
|
AIFF => ['AIFF', 'Audio Interchange File Format'],
|
229
229
|
AIT => 'AI',
|
230
|
+
ALIAS=> ['ALIAS','MacOS file alias'],
|
230
231
|
APE => ['APE', "Monkey's Audio format"],
|
231
232
|
APNG => ['PNG', 'Animated Portable Network Graphics'],
|
232
233
|
ARW => ['TIFF', 'Sony Alpha RAW format'],
|
@@ -554,6 +555,7 @@ my %fileDescription = (
|
|
554
555
|
AAE => 'application/vnd.apple.photos',
|
555
556
|
AI => 'application/vnd.adobe.illustrator',
|
556
557
|
AIFF => 'audio/x-aiff',
|
558
|
+
ALIAS=> 'application/x-macos',
|
557
559
|
APE => 'audio/x-monkeys-audio',
|
558
560
|
APNG => 'image/apng',
|
559
561
|
ASF => 'video/x-ms-asf',
|
@@ -749,6 +751,7 @@ my %fileDescription = (
|
|
749
751
|
# - module name '0' indicates a recognized but unsupported file
|
750
752
|
my %moduleName = (
|
751
753
|
AA => 'Audible',
|
754
|
+
ALIAS=> 0,
|
752
755
|
AVC => 0,
|
753
756
|
BTF => 'BigTIFF',
|
754
757
|
BZ2 => 0,
|
@@ -811,6 +814,7 @@ my %moduleName = (
|
|
811
814
|
%magicNumber = (
|
812
815
|
AA => '.{4}\x57\x90\x75\x36',
|
813
816
|
AIFF => '(FORM....AIF[FC]|AT&TFORM)',
|
817
|
+
ALIAS=> "book\0\0\0\0mark\0\0\0\0",
|
814
818
|
APE => '(MAC |APETAGEX|ID3)',
|
815
819
|
ASF => '\x30\x26\xb2\x75\x8e\x66\xcf\x11\xa6\xd9\x00\xaa\x00\x62\xce\x6c',
|
816
820
|
AVC => '\+A\+V\+C\+',
|
@@ -855,7 +859,7 @@ my %moduleName = (
|
|
855
859
|
ITC => '.{4}itch',
|
856
860
|
JP2 => '(\0\0\0\x0cjP( |\x1a\x1a)\x0d\x0a\x87\x0a|\xff\x4f\xff\x51\0)',
|
857
861
|
JPEG => '\xff\xd8\xff',
|
858
|
-
JSON => '(\xef\xbb\xbf)?\s*(\[\s*)?\{\s*"[^"]
|
862
|
+
JSON => '(\xef\xbb\xbf)?\s*(\[\s*)?\{\s*"[^"]*"\s*:',
|
859
863
|
LFP => '\x89LFP\x0d\x0a\x1a\x0a',
|
860
864
|
LNK => '.{4}\x01\x14\x02\0{5}\xc0\0{6}\x46',
|
861
865
|
LRI => 'LELR \0',
|
@@ -2240,7 +2244,7 @@ sub ExtractInfo($;@)
|
|
2240
2244
|
my $fast = $$options{FastScan};
|
2241
2245
|
my $req = $$self{REQ_TAG_LOOKUP};
|
2242
2246
|
my $reqAll = $$options{RequestAll} || 0;
|
2243
|
-
my (%saveOptions, $reEntry, $rsize, $type, @startTime);
|
2247
|
+
my (%saveOptions, $reEntry, $rsize, $type, @startTime, $saveOrder);
|
2244
2248
|
|
2245
2249
|
# check for internal ReEntry option to allow recursive calls to ExtractInfo
|
2246
2250
|
if (ref $_[1] eq 'HASH' and $_[1]{ReEntry} and
|
@@ -2254,6 +2258,7 @@ sub ExtractInfo($;@)
|
|
2254
2258
|
EXIF_POS => $$self{EXIF_POS},
|
2255
2259
|
FILE_TYPE => $$self{FILE_TYPE},
|
2256
2260
|
};
|
2261
|
+
$saveOrder = GetByteOrder(),
|
2257
2262
|
$$self{RAF} = new File::RandomAccess($_[0]);
|
2258
2263
|
$$self{PROCESSED} = { };
|
2259
2264
|
delete $$self{EXIF_DATA};
|
@@ -2645,6 +2650,7 @@ sub ExtractInfo($;@)
|
|
2645
2650
|
if ($reEntry) {
|
2646
2651
|
# restore necessary members when exiting re-entrant code
|
2647
2652
|
$$self{$_} = $$reEntry{$_} foreach keys %$reEntry;
|
2653
|
+
SetByteOrder($saveOrder);
|
2648
2654
|
}
|
2649
2655
|
|
2650
2656
|
# ($type may be undef without an Error when processing sub-documents)
|
@@ -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.28';
|
39
39
|
@ISA = qw(Exporter);
|
40
40
|
|
41
41
|
sub NumbersFirst($$);
|
@@ -217,8 +217,8 @@ writing.
|
|
217
217
|
|
218
218
|
The HTML version of these tables also lists possible B<Values> for
|
219
219
|
discrete-valued tags, as well as B<Notes> for some tags. The B<Values> are
|
220
|
-
listed
|
221
|
-
|
220
|
+
listed with the computer-readable values on the left of the equals sign
|
221
|
+
(C<=>), and the human-readable values on the right. The human-readable
|
222
222
|
values are used by default when reading and writing, but the
|
223
223
|
computer-readable values may be accessed by disabling the value conversion
|
224
224
|
with the -n option on the command line, by setting the L<PrintConv|../ExifTool.html#PrintConv> option to 0
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
88
88
|
sub ProcessExifInfo($$$);
|
89
89
|
sub SwapWords($);
|
90
90
|
|
91
|
-
$VERSION = '4.
|
91
|
+
$VERSION = '4.25';
|
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)
|
@@ -224,7 +224,8 @@ $VERSION = '4.24';
|
|
224
224
|
124 => 'Canon MP-E 65mm f/2.8 1-5x Macro Photo', #9
|
225
225
|
125 => 'Canon TS-E 24mm f/3.5L',
|
226
226
|
126 => 'Canon TS-E 45mm f/2.8', #15
|
227
|
-
127 => 'Canon TS-E 90mm f/2.8', #15
|
227
|
+
127 => 'Canon TS-E 90mm f/2.8 or Tamron Lens', #15
|
228
|
+
127.1 => 'Tamron 18-200mm f/3.5-6.3 Di II VC', #TomLachecki (model B018)
|
228
229
|
129 => 'Canon EF 300mm f/2.8L USM', #32
|
229
230
|
130 => 'Canon EF 50mm f/1.0L USM', #10/15
|
230
231
|
131 => 'Canon EF 28-80mm f/2.8-4L USM or Sigma Lens', #32
|
@@ -242,6 +243,7 @@ $VERSION = '4.24';
|
|
242
243
|
134 => 'Canon EF 600mm f/4L IS USM', #15
|
243
244
|
135 => 'Canon EF 200mm f/1.8L USM',
|
244
245
|
136 => 'Canon EF 300mm f/2.8L USM',
|
246
|
+
136.1 => 'Tamron SP 15-30mm f/2.8 Di VC USD', #TomLachecki (model A012)
|
245
247
|
137 => 'Canon EF 85mm f/1.2L USM or Sigma or Tamron Lens', #10
|
246
248
|
137.1 => 'Sigma 18-50mm f/2.8-4.5 DC OS HSM', #PH
|
247
249
|
137.2 => 'Sigma 50-200mm f/4-5.6 DC OS HSM', #PH
|
@@ -345,6 +347,7 @@ $VERSION = '4.24';
|
|
345
347
|
173.2 => 'Sigma APO Macro 150mm f/2.8 EX DG HSM', #14
|
346
348
|
173.3 => 'Sigma 10mm f/2.8 EX DC Fisheye', #IB
|
347
349
|
173.4 => 'Sigma 15mm f/2.8 EX DG Diagonal Fisheye', #IB
|
350
|
+
173.5 => 'Venus Laowa 100mm F2.8 2X Ultra Macro APO', #IB
|
348
351
|
174 => 'Canon EF 135mm f/2L USM or Other Lens', #9
|
349
352
|
174.1 => 'Sigma 70-200mm f/2.8 EX DG APO OS HSM', #PH (probably version II of this lens)
|
350
353
|
174.2 => 'Sigma 50-500mm f/4.5-6.3 APO DG OS HSM', #forum4031
|
@@ -908,7 +911,7 @@ $VERSION = '4.24';
|
|
908
911
|
0x80000408 => 'EOS 77D / 9000D',
|
909
912
|
0x80000417 => 'EOS Rebel SL2 / 200D / Kiss X9', #IB/42
|
910
913
|
0x80000422 => 'EOS Rebel T100 / 4000D / 3000D', #IB (3000D in China; Kiss? - PH)
|
911
|
-
0x80000424 => '
|
914
|
+
0x80000424 => 'EOS R', #IB
|
912
915
|
0x80000432 => 'EOS Rebel T7 / 2000D / 1500D / Kiss X90', #IB
|
913
916
|
0x80000433 => 'EOS RP',
|
914
917
|
0x80000436 => 'EOS SL3 / 250D / Kiss X10', #25
|
@@ -1885,7 +1888,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
1885
1888
|
},
|
1886
1889
|
0x4008 => { #53
|
1887
1890
|
Name => 'PictureStyleUserDef', # (BasePictStyleOfUser)
|
1888
|
-
|
1891
|
+
Writable => 'int16u',
|
1889
1892
|
Count => 3, # UserDef1, UserDef2, UserDef3
|
1890
1893
|
PrintHex => 1,
|
1891
1894
|
SeparateTable => 'PictureStyle',
|
@@ -1893,7 +1896,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
1893
1896
|
},
|
1894
1897
|
0x4009 => { #53
|
1895
1898
|
Name => 'PictureStylePC', # (BasePictStyleOfUser)
|
1896
|
-
|
1899
|
+
Writable => 'int16u',
|
1897
1900
|
Count => 3, # PC1, PC2, PC3
|
1898
1901
|
PrintHex => 1,
|
1899
1902
|
SeparateTable => 'PictureStyle',
|
@@ -1997,6 +2000,13 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
1997
2000
|
TagTable => 'Image::ExifTool::Canon::AFConfig',
|
1998
2001
|
}
|
1999
2002
|
},
|
2003
|
+
0x403f => { #25
|
2004
|
+
Name => 'RawBurstModeRoll',
|
2005
|
+
SubDirectory => {
|
2006
|
+
Validate => 'Image::ExifTool::Canon::Validate($dirData,$subdirStart,$size)',
|
2007
|
+
TagTable => 'Image::ExifTool::Canon::RawBurstInfo',
|
2008
|
+
}
|
2009
|
+
},
|
2000
2010
|
);
|
2001
2011
|
|
2002
2012
|
#..............................................................................
|
@@ -8438,6 +8448,16 @@ my %filterConv = (
|
|
8438
8448
|
},
|
8439
8449
|
);
|
8440
8450
|
|
8451
|
+
# RAW burst mode info (MakerNotes tag 0x403f) (ref 25)
|
8452
|
+
%Image::ExifTool::Canon::RawBurstInfo = (
|
8453
|
+
%binaryDataAttrs,
|
8454
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
8455
|
+
FORMAT => 'int32u',
|
8456
|
+
FIRST_ENTRY => 1,
|
8457
|
+
1 => 'RawBurstImageNum',
|
8458
|
+
2 => 'RawBurstImageCount',
|
8459
|
+
);
|
8460
|
+
|
8441
8461
|
# Canon UUID atoms (ref PH, SX280)
|
8442
8462
|
%Image::ExifTool::Canon::uuid = (
|
8443
8463
|
GROUPS => { 0 => 'MakerNotes', 1 => 'Canon', 2 => 'Video' },
|