exiftool_vendored 11.60.0 → 11.61.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 +15 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +2 -2
- data/bin/lib/Image/ExifTool.pm +1 -1
- data/bin/lib/Image/ExifTool/Canon.pm +4 -2
- data/bin/lib/Image/ExifTool/Exif.pm +6 -5
- data/bin/lib/Image/ExifTool/FujiFilm.pm +3 -2
- data/bin/lib/Image/ExifTool/Minolta.pm +4 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +2 -1
- data/bin/lib/Image/ExifTool/PNG.pm +9 -10
- data/bin/lib/Image/ExifTool/Sony.pm +15 -8
- data/bin/lib/Image/ExifTool/TagLookup.pm +1 -1
- data/bin/lib/Image/ExifTool/TagNames.pod +6 -5
- data/bin/lib/Image/ExifTool/WritePNG.pl +6 -8
- data/bin/lib/Image/ExifTool/Writer.pl +5 -4
- data/bin/lib/Image/ExifTool/XMP.pm +5 -5
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65ea2b4bc54696ca9b8ded4b82cf20b63ccac35e
|
4
|
+
data.tar.gz: 2b940fd9b9756a41daf9b513c0cd8c6d2477a286
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08d346325378140b1eec45335a4c49b03bb1368c7eece40ffa62f4c252e6fda781e1feab4e339c86e8431f827e6eab8339c9f9c6a63944587d2f04ac5124b685'
|
7
|
+
data.tar.gz: b1fb4d3bd28b6561c247c5376d95a54b43c8af0a8c86c2ccb264edbb7b309ff75dc95c29344fe28c21055338ef5b6422ae9edb691ae3a9257ccc1b4e4ff60f02
|
data/bin/Changes
CHANGED
@@ -7,6 +7,21 @@ 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
|
+
Aug. 7, 2019 - Version 11.61
|
11
|
+
|
12
|
+
- Added a new FujiFilm CropMode (thanks LibRaw)
|
13
|
+
- Added a couple of proprietary CustomRendered values (thanks Jeffrey Friedl)
|
14
|
+
- Added a new Nikon LensID and fixed a Canon LensType (thanks LibRaw)
|
15
|
+
- Added a new CanonModelID
|
16
|
+
- Decode more Sony DSC-RX100M7 tags (thanks Jos Roost)
|
17
|
+
- Write standard EXIF to PNG even if non-standard EXIF already exists
|
18
|
+
- Patched to avoid problems overriding new values when writing thumbnail and
|
19
|
+
preview images
|
20
|
+
- Changed a Minolta/Sony LensType (thanks LibRaw)
|
21
|
+
- Changed Composite GPS reference direction tags to be derived from only the
|
22
|
+
XMP-exif GPS coordinate tags (and not other XMP GPS coordinates)
|
23
|
+
- Reverted a PNG Validation check that was removed from 11.60
|
24
|
+
|
10
25
|
July 30, 2019 - Version 11.60
|
11
26
|
|
12
27
|
- Added a few new Sigma LensType values (thanks LibRaw)
|
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.61.tar.gz | tar -xf -
|
108
|
+
cd Image-ExifTool-11.61
|
109
109
|
./exiftool t/images/ExifTool.jpg
|
110
110
|
|
111
111
|
Note: These commands extract meta information from one of the test images.
|
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.61';
|
14
14
|
|
15
15
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
16
16
|
my $exeDir;
|
@@ -5157,7 +5157,7 @@ with this command:
|
|
5157
5157
|
|
5158
5158
|
produces output like this:
|
5159
5159
|
|
5160
|
-
-- Generated by ExifTool 11.
|
5160
|
+
-- Generated by ExifTool 11.61 --
|
5161
5161
|
File: a.jpg - 2003:10:31 15:44:19
|
5162
5162
|
(f/5.6, 1/60s, ISO 100)
|
5163
5163
|
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.61';
|
31
31
|
$RELEASE = '';
|
32
32
|
@ISA = qw(Exporter);
|
33
33
|
%EXPORT_TAGS = (
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
88
88
|
sub ProcessExifInfo($$$);
|
89
89
|
sub SwapWords($);
|
90
90
|
|
91
|
-
$VERSION = '4.
|
91
|
+
$VERSION = '4.20';
|
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)
|
@@ -511,7 +511,7 @@ $VERSION = '4.19';
|
|
511
511
|
4154 => 'Canon EF-S 24mm f/2.8 STM', #IB
|
512
512
|
4155 => 'Canon EF-M 28mm f/3.5 Macro IS STM', #42
|
513
513
|
4156 => 'Canon EF 50mm f/1.8 STM', #42
|
514
|
-
4157 => 'Canon EF-M 18-150mm
|
514
|
+
4157 => 'Canon EF-M 18-150mm f/3.5-6.3 IS STM', #42
|
515
515
|
4158 => 'Canon EF-S 18-55mm f/4-5.6 IS STM', #PH
|
516
516
|
4159 => 'Canon EF-M 32mm f/1.4 STM', #42
|
517
517
|
4160 => 'Canon EF-S 35mm f/2.8 Macro IS STM', #42
|
@@ -774,6 +774,7 @@ $VERSION = '4.19';
|
|
774
774
|
0x4180000 => 'PowerShot G1 X Mark III', #IB
|
775
775
|
0x6040000 => 'PowerShot S100 / Digital IXUS / IXY Digital',
|
776
776
|
0x801 => 'PowerShot SX740 HS',
|
777
|
+
0x804 => 'PowerShot G5 X Mark II',
|
777
778
|
0x805 => 'PowerShot SX70 HS',
|
778
779
|
0x808 => 'PowerShot G7 X Mark III',
|
779
780
|
|
@@ -8428,6 +8429,7 @@ my %filterConv = (
|
|
8428
8429
|
},
|
8429
8430
|
# CTBO - (CR3 files) int32u entry count N, N x (int32u index, int64u offset, int64u size)
|
8430
8431
|
# index: 1=XMP, 2=PRVW, 3=mdat, 4=?, 5=?
|
8432
|
+
# --> ignored when reading, but offsets are updated when writing
|
8431
8433
|
CMT1 => { # (CR3 files)
|
8432
8434
|
Name => 'IFD0',
|
8433
8435
|
SubDirectory => {
|
@@ -42,6 +42,7 @@
|
|
42
42
|
# 29) http://www.libtiff.org
|
43
43
|
# 30) http://geotiff.maptools.org/spec/geotiffhome.html
|
44
44
|
# 31) https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_tag_codes.h
|
45
|
+
# 32) Jeffry Friedl private communication
|
45
46
|
# IB) Iliah Borg private communication (LibRaw)
|
46
47
|
# JD) Jens Duttke private communication
|
47
48
|
#------------------------------------------------------------------------------
|
@@ -55,7 +56,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
|
|
55
56
|
use Image::ExifTool qw(:DataAccess :Utils);
|
56
57
|
use Image::ExifTool::MakerNotes;
|
57
58
|
|
58
|
-
$VERSION = '4.
|
59
|
+
$VERSION = '4.21';
|
59
60
|
|
60
61
|
sub ProcessExif($$$);
|
61
62
|
sub WriteExif($$$);
|
@@ -2552,11 +2553,11 @@ my %sampleFormat = (
|
|
2552
2553
|
PrintConv => {
|
2553
2554
|
0 => 'Normal',
|
2554
2555
|
1 => 'Custom',
|
2555
|
-
|
2556
|
-
3 => 'HDR',
|
2557
|
-
|
2556
|
+
2 => 'HDR (no original saved)', #32 non-standard (Apple iOS)
|
2557
|
+
3 => 'HDR (original saved)', #32 non-standard (Apple iOS)
|
2558
|
+
4 => 'Original (for HDR)', #32 non-standard (Apple iOS)
|
2558
2559
|
6 => 'Panorama', # non-standard (Apple iOS, horizontal or vertical)
|
2559
|
-
|
2560
|
+
7 => 'Portrait HDR', #32 non-standard (Apple iOS)
|
2560
2561
|
8 => 'Portrait', # non-standard (Apple iOS, blurred background)
|
2561
2562
|
# 9 - also seen (Apple iOS) (HDR Portrait?)
|
2562
2563
|
},
|
@@ -30,7 +30,7 @@ use vars qw($VERSION);
|
|
30
30
|
use Image::ExifTool qw(:DataAccess :Utils);
|
31
31
|
use Image::ExifTool::Exif;
|
32
32
|
|
33
|
-
$VERSION = '1.
|
33
|
+
$VERSION = '1.73';
|
34
34
|
|
35
35
|
sub ProcessFujiDir($$$);
|
36
36
|
sub ProcessFaceRec($$$);
|
@@ -453,8 +453,9 @@ my %faceCategories = (
|
|
453
453
|
0x104d => { #forum9634
|
454
454
|
Name => 'CropMode',
|
455
455
|
Writable => 'int16u',
|
456
|
-
PrintConv => {
|
456
|
+
PrintConv => { # (perhaps this is a bit mask?)
|
457
457
|
0 => 'n/a',
|
458
|
+
1 => 'Full-frame on GFX', #IB
|
458
459
|
2 => 'Sports Finder Mode', # (mechanical shutter)
|
459
460
|
4 => 'Electronic Shutter 1.25x Crop', # (continuous high)
|
460
461
|
},
|
@@ -49,7 +49,7 @@ use vars qw($VERSION %minoltaLensTypes %minoltaTeleconverters %minoltaColorMode
|
|
49
49
|
use Image::ExifTool qw(:DataAccess :Utils);
|
50
50
|
use Image::ExifTool::Exif;
|
51
51
|
|
52
|
-
$VERSION = '2.
|
52
|
+
$VERSION = '2.79';
|
53
53
|
|
54
54
|
# Full list of product codes for Sony-compatible Minolta lenses
|
55
55
|
# (ref http://www.kb.sony.com/selfservice/documentLink.do?externalId=C1000570)
|
@@ -363,7 +363,9 @@ $VERSION = '2.78';
|
|
363
363
|
137 => 'Cosina 70-210mm F2.8-4 AF', #11
|
364
364
|
138 => 'Soligor 19-35mm F3.5-4.5', #11
|
365
365
|
139 => 'Tokina AF 28-300mm F4-6.3', #IB
|
366
|
-
|
366
|
+
# (the following Cosina 70-300mm lens was also marketed as a Phoenix, Vivitar Series 1, and
|
367
|
+
# some sort of 3rd-party marketing as a Voightlander 70-300mm F4.5-5.6 SKOPAR AF, ref IB)
|
368
|
+
142 => 'Cosina AF 70-300mm F4.5-5.6 MC', #IB (was 'Voigtlander 70-300mm F4.5-5.6', #JD)
|
367
369
|
146 => 'Voigtlander Macro APO-Lanthar 125mm F2.5 SL', #JD
|
368
370
|
194 => 'Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]', #23 (Model A16)
|
369
371
|
202 => 'Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro', #JR (Model A001) (see also 255.7)
|
@@ -60,7 +60,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
60
60
|
use Image::ExifTool::Exif;
|
61
61
|
use Image::ExifTool::GPS;
|
62
62
|
|
63
|
-
$VERSION = '3.
|
63
|
+
$VERSION = '3.69';
|
64
64
|
|
65
65
|
sub LensIDConv($$$);
|
66
66
|
sub ProcessNikonAVI($$$);
|
@@ -333,6 +333,7 @@ sub GetAFPointGrid($$;$);
|
|
333
333
|
'AA 48 88 A4 3C 3C D5 0E' => 'AF-S Nikkor 180-400mm f/4E TC1.4 FL ED VR + 1.4x TC',
|
334
334
|
'AB 44 5C 8E 34 3C D6 CE' => 'AF-P Nikkor 70-300mm f/4.5-5.6E ED VR',
|
335
335
|
'AB 44 5C 8E 34 3C D6 0E' => 'AF-P Nikkor 70-300mm f/4.5-5.6E ED VR',
|
336
|
+
'AB 44 5C 8E 34 3C D6 4E' => 'AF-P Nikkor 70-300mm f/4.5-5.6E ED VR', #IB
|
336
337
|
'AC 54 3C 3C 0C 0C D7 46' => 'AF-S Nikkor 28mm f/1.4E ED',
|
337
338
|
'AC 54 3C 3C 0C 0C D7 06' => 'AF-S Nikkor 28mm f/1.4E ED',
|
338
339
|
'AD 3C A0 A0 3C 3C D8 0E' => 'AF-S Nikkor 500mm f/5.6E PF ED VR',
|
@@ -35,7 +35,7 @@ use strict;
|
|
35
35
|
use vars qw($VERSION $AUTOLOAD %stdCase);
|
36
36
|
use Image::ExifTool qw(:DataAccess :Utils);
|
37
37
|
|
38
|
-
$VERSION = '1.
|
38
|
+
$VERSION = '1.51';
|
39
39
|
|
40
40
|
sub ProcessPNG_tEXt($$$);
|
41
41
|
sub ProcessPNG_iTXt($$$);
|
@@ -797,8 +797,8 @@ sub FoundPNG($$$$;$$$$)
|
|
797
797
|
my $tagName = $$tagInfo{Name};
|
798
798
|
my $processed;
|
799
799
|
if ($$tagInfo{SubDirectory}) {
|
800
|
-
if ($$et{OPTIONS}{Validate} and $$tagInfo{NonStandard}
|
801
|
-
$et->
|
800
|
+
if ($$et{OPTIONS}{Validate} and $$tagInfo{NonStandard}) {
|
801
|
+
$et->WarnOnce("Non-standard $$tagInfo{NonStandard} in PNG $tag chunk", 1);
|
802
802
|
}
|
803
803
|
my $subdir = $$tagInfo{SubDirectory};
|
804
804
|
my $dirName = $$subdir{DirName} || $tagName;
|
@@ -1049,7 +1049,7 @@ sub ProcessProfile($$$)
|
|
1049
1049
|
$$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr,
|
1050
1050
|
\&Image::ExifTool::WriteTIFF);
|
1051
1051
|
$$outBuff = $Image::ExifTool::exifAPP1hdr . $$outBuff if $$outBuff;
|
1052
|
-
DoneDir($et, 'IFD0', $outBuff);
|
1052
|
+
DoneDir($et, 'IFD0', $outBuff, $$tagInfo{NonStandard});
|
1053
1053
|
} else {
|
1054
1054
|
$processed = $et->ProcessTIFF(\%dirInfo);
|
1055
1055
|
}
|
@@ -1063,7 +1063,7 @@ sub ProcessProfile($$$)
|
|
1063
1063
|
return 1 unless $$editDirs{XMP};
|
1064
1064
|
$$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr);
|
1065
1065
|
$$outBuff and $$outBuff = $Image::ExifTool::xmpAPP1hdr . $$outBuff;
|
1066
|
-
DoneDir($et, 'XMP', $outBuff,
|
1066
|
+
DoneDir($et, 'XMP', $outBuff, $$tagInfo{NonStandard});
|
1067
1067
|
} else {
|
1068
1068
|
$processed = $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
1069
1069
|
}
|
@@ -1079,7 +1079,7 @@ sub ProcessProfile($$$)
|
|
1079
1079
|
}
|
1080
1080
|
$$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr,
|
1081
1081
|
\&Image::ExifTool::WriteTIFF);
|
1082
|
-
DoneDir($et, 'IFD0', $outBuff);
|
1082
|
+
DoneDir($et, 'IFD0', $outBuff, $$tagInfo{NonStandard});
|
1083
1083
|
} else {
|
1084
1084
|
$processed = $et->ProcessTIFF(\%dirInfo);
|
1085
1085
|
}
|
@@ -1245,11 +1245,10 @@ sub ProcessPNG($$)
|
|
1245
1245
|
$$et{ADD_PNG} = $et->GetNewTagInfoHash(
|
1246
1246
|
\%Image::ExifTool::PNG::Main,
|
1247
1247
|
\%Image::ExifTool::PNG::TextualData);
|
1248
|
-
# NOTE: PNGDoneTag
|
1249
|
-
#
|
1250
|
-
#
|
1248
|
+
# NOTE: PNGDoneTag is used to keep track of metadata added before the
|
1249
|
+
# PNG IEND chunk is encountered. Currently this is implemented only
|
1250
|
+
# for XMP, but may be implemented in the future for other types - PH
|
1251
1251
|
$$et{PNGDoneTag} = { };
|
1252
|
-
$$et{PNGDoneDir} = { };
|
1253
1252
|
# initialize with same directories, with PNG tags taking priority
|
1254
1253
|
$et->InitWriteDirs(\%pngMap,'PNG');
|
1255
1254
|
$editingXMP = $$et{EDIT_DIRS}{XMP};
|
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
34
34
|
use Image::ExifTool::Exif;
|
35
35
|
use Image::ExifTool::Minolta;
|
36
36
|
|
37
|
-
$VERSION = '3.
|
37
|
+
$VERSION = '3.15';
|
38
38
|
|
39
39
|
sub ProcessSRF($$$);
|
40
40
|
sub ProcessSR2($$$);
|
@@ -981,7 +981,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
981
981
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010h' },
|
982
982
|
},{
|
983
983
|
Name => 'Tag2010i', # ?
|
984
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
|
984
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|RX100M7|HX99|RX0M2))\b/',
|
985
985
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010i' },
|
986
986
|
},{
|
987
987
|
Name => 'Tag_0x2010',
|
@@ -1057,7 +1057,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1057
1057
|
# FocusMode for SLT/HV/ILCA and NEX/ILCE; doesn't seem to apply to DSC models (always 0)
|
1058
1058
|
# from 2018: at least DSC-RX10M4 and RX100M6 also use this tag
|
1059
1059
|
Name => 'FocusMode',
|
1060
|
-
Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2)/)',
|
1060
|
+
Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2)/)',
|
1061
1061
|
Writable => 'int8u',
|
1062
1062
|
Priority => 0,
|
1063
1063
|
PrintConv => {
|
@@ -1089,7 +1089,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1089
1089
|
},
|
1090
1090
|
},{
|
1091
1091
|
Name => 'AFAreaModeSetting',
|
1092
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))/',
|
1092
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
|
1093
1093
|
Notes => 'NEX, ILCE and some DSC models',
|
1094
1094
|
RawConv => '$$self{AFAreaILCE} = $val',
|
1095
1095
|
DataMember => 'AFAreaILCE',
|
@@ -1125,7 +1125,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1125
1125
|
# observed values in range (0 0) to (640 480), with center (320 240) often seen
|
1126
1126
|
# for NEX-5R/6, positions appear to be in an 11x9 grid
|
1127
1127
|
Name => 'FlexibleSpotPosition',
|
1128
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))/',
|
1128
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
|
1129
1129
|
Writable => 'int16u',
|
1130
1130
|
Count => 2,
|
1131
1131
|
Notes => q{
|
@@ -1285,7 +1285,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1285
1285
|
# from 2018: at least DSC-RX10M4 and RX100M6 also use this tag
|
1286
1286
|
0x2021 => { #JR
|
1287
1287
|
Name => 'AFTracking',
|
1288
|
-
Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2)/)',
|
1288
|
+
Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2)/)',
|
1289
1289
|
Writable => 'int8u',
|
1290
1290
|
PrintConv => {
|
1291
1291
|
0 => 'Off',
|
@@ -7835,7 +7835,7 @@ my %isoSetting2010 = (
|
|
7835
7835
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
7836
7836
|
0x0009 => { %releaseMode2 },
|
7837
7837
|
0x000a => [{
|
7838
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
|
7838
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))\b/',
|
7839
7839
|
Name => 'ShotNumberSincePowerUp',
|
7840
7840
|
Format => 'int8u',
|
7841
7841
|
},{
|
@@ -8376,7 +8376,7 @@ my %isoSetting2010 = (
|
|
8376
8376
|
},
|
8377
8377
|
0x0342 => {
|
8378
8378
|
Name => 'LensZoomPosition',
|
8379
|
-
Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3|7RM4|7SM2|6300|6400|6500|9)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10M4|RX100M4|RX100M5|RX100M5A|RX100M6|WX500))/',
|
8379
|
+
Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3|7RM4|7SM2|6300|6400|6500|9)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10M4|RX100M4|RX100M5|RX100M5A|RX100M6|RX100M7|WX500))/',
|
8380
8380
|
Format => 'int16u',
|
8381
8381
|
PrintConv => 'sprintf("%.0f%%",$val/10.24)',
|
8382
8382
|
PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
|
@@ -8386,6 +8386,13 @@ my %isoSetting2010 = (
|
|
8386
8386
|
Condition => '$$self{Model} =~ /^(ILCA-(68|77M2)|ILCE-(5000|5100|6000|7|7R|7S|QX1)|Lusso)\b/',
|
8387
8387
|
Format => 'int16s[16]',
|
8388
8388
|
},
|
8389
|
+
0x034e => {
|
8390
|
+
Name => 'LensZoomPosition',
|
8391
|
+
Condition => '$$self{Model} =~ /^(DSC-(RX100M5|RX100M5A|RX100M6|RX100M7|RX10M4|HX99)|ILCE-(6400|7M3|7RM3|7RM4))/',
|
8392
|
+
Format => 'int16u',
|
8393
|
+
PrintConv => 'sprintf("%.0f%%",$val/10.24)',
|
8394
|
+
PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
|
8395
|
+
},
|
8389
8396
|
0x0350 => {
|
8390
8397
|
Name => 'VignettingCorrParams',
|
8391
8398
|
Condition => '$$self{Model} =~ /^(ILCE-7M2)/',
|
@@ -3341,7 +3341,7 @@ my %tagLookup = (
|
|
3341
3341
|
'lenstype' => { 7 => 0xe2, 8 => 0xd, 9 => 0x1a7, 10 => 0xc, 11 => 0x111, 12 => 0xc, 13 => 0x14f, 14 => 0xd6, 15 => 0xde, 16 => 0xf6, 17 => 0xea, 18 => 0xff, 19 => [0xc,0x97], 20 => 0xe6, 21 => 0x153, 22 => 0xea, 23 => 0xe8, 24 => 0x127, 25 => 0x161, 26 => 0x166, 27 => 0x184, 28 => 0x112, 29 => 0x189, 34 => 0x16, 177 => 0x10c, 178 => 0x49bd, 215 => 0x83, 280 => 0x201, 293 => 0x16, 297 => 0x310, 299 => 0x303, 300 => 0x303, 302 => 0x51, 304 => 0x3405, 329 => 0x0, 330 => 0x0, 331 => 0x1, 332 => 0x1, 333 => 0x1, 335 => 0x0, 376 => 0xa003, 379 => 0x27, 400 => 0xb027, 412 => 0x1896, 414 => 0x18c2, 415 => 0x18f2, 416 => 0x17f6, 418 => 0x109, 419 => 0x109, 428 => 0x608, 429 => 0x62 },
|
3342
3342
|
'lenstype2' => { 389 => 0x3f7, 412 => 0x1893, 414 => 0x18bf, 415 => 0x18ef, 416 => 0x17f3, 418 => 0x107, 419 => 0x107, 428 => 0x605, 429 => 0x60 },
|
3343
3343
|
'lenstype3' => { 432 => 0x9 },
|
3344
|
-
'lenszoomposition' => { 425 => 0x19, 426 => 0x1e, 429 => [0x342,0x35a] },
|
3344
|
+
'lenszoomposition' => { 425 => 0x19, 426 => 0x1e, 429 => [0x342,0x34e,0x35a] },
|
3345
3345
|
'levelindicator' => { 310 => 0x15 },
|
3346
3346
|
'levelmeter' => { 362 => ['Lvlm','lvlm'] },
|
3347
3347
|
'levelorientation' => { 336 => 0x0 },
|
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
|
|
12
12
|
=head1 TAG TABLES
|
13
13
|
|
14
14
|
The tables listed below give the names of all tags recognized by ExifTool.
|
15
|
-
They contain a total of
|
15
|
+
They contain a total of 22996 tags, with 15044 unique tag names.
|
16
16
|
|
17
17
|
B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
|
18
18
|
table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
|
@@ -17629,6 +17629,7 @@ RX10M3/RX10M4/RX100M3/RX100M4/RX100M5/RX100M5A/RX100M6/WX220/WX350, ILCE-7/
|
|
17629
17629
|
100 DistortionCorrParams int16s[16]
|
17630
17630
|
834 LensZoomPosition int16u
|
17631
17631
|
842 VignettingCorrParams int16s[16]
|
17632
|
+
846 LensZoomPosition int16u
|
17632
17633
|
848 VignettingCorrParams int16s[16]
|
17633
17634
|
858 LensZoomPosition int16u
|
17634
17635
|
860 VignettingCorrParams int16s[16]
|
@@ -33589,20 +33590,20 @@ values, may created via the ExifTool configuration file.
|
|
33589
33590
|
GPS:GPSTimeStamp
|
33590
33591
|
GPSDestLatitude GPS:GPSDestLatitude no
|
33591
33592
|
GPS:GPSDestLatitudeRef
|
33592
|
-
GPSDestLatitudeRef XMP:GPSDestLatitude
|
33593
|
+
GPSDestLatitudeRef XMP-exif:GPSDestLatitude no
|
33593
33594
|
GPSDestLongitude GPS:GPSDestLongitude no
|
33594
33595
|
GPS:GPSDestLongitudeRef
|
33595
|
-
GPSDestLongitudeRef XMP:GPSDestLongitude
|
33596
|
+
GPSDestLongitudeRef XMP-exif:GPSDestLongitude no
|
33596
33597
|
GPSLatitude GPS:GPSLatitude no
|
33597
33598
|
GPS:GPSLatitudeRef
|
33598
33599
|
GPSLatitude QuickTime:GPSCoordinates no
|
33599
33600
|
GPSLatitude QuickTime:LocationInformation no
|
33600
|
-
GPSLatitudeRef XMP:GPSLatitude
|
33601
|
+
GPSLatitudeRef XMP-exif:GPSLatitude no
|
33601
33602
|
GPSLongitude GPS:GPSLongitude no
|
33602
33603
|
GPS:GPSLongitudeRef
|
33603
33604
|
GPSLongitude QuickTime:GPSCoordinates no
|
33604
33605
|
GPSLongitude QuickTime:LocationInformation no
|
33605
|
-
GPSLongitudeRef XMP:GPSLongitude
|
33606
|
+
GPSLongitudeRef XMP-exif:GPSLongitude no
|
33606
33607
|
GPSPosition GPSLatitude no
|
33607
33608
|
GPSLongitude
|
33608
33609
|
HyperfocalDistance FocalLength no
|
@@ -130,7 +130,6 @@ sub Add_iCCP($$)
|
|
130
130
|
if (defined $buff and length $buff and WriteProfile($outfile, 'icm', \$buff)) {
|
131
131
|
$et->VPrint(0, "Created ICC profile\n");
|
132
132
|
delete $$et{ADD_DIRS}{ICC_Profile}; # don't add it again
|
133
|
-
$$et{PNGDoneDir}{ICC_Profile} = 2;
|
134
133
|
}
|
135
134
|
}
|
136
135
|
return 1;
|
@@ -144,14 +143,15 @@ sub Add_iCCP($$)
|
|
144
143
|
sub DoneDir($$$;$)
|
145
144
|
{
|
146
145
|
my ($et, $dir, $outBuff, $nonStandard) = @_;
|
147
|
-
$
|
146
|
+
my $saveDir = $dir;
|
147
|
+
$dir = 'EXIF' if $dir eq 'IFD0';
|
148
148
|
# don't add this directory again unless this is in a non-standard location
|
149
|
-
|
150
|
-
|
149
|
+
if (not $nonStandard) {
|
150
|
+
delete $$et{ADD_DIRS}{$dir};
|
151
|
+
delete $$et{ADD_DIRS}{IFD0} if $dir eq 'EXIF';
|
152
|
+
} elsif ($$et{DEL_GROUP}{$dir} or $$et{DEL_GROUP}{$saveDir}) {
|
151
153
|
$et->VPrint(0," Deleting non-standard $dir\n");
|
152
154
|
$$outBuff = '';
|
153
|
-
} elsif (not $$et{PNGDoneDir}{$dir}) {
|
154
|
-
$$et{PNGDoneDir}{$dir} = 1; # set flag indicating the directory exists
|
155
155
|
}
|
156
156
|
}
|
157
157
|
|
@@ -341,8 +341,6 @@ sub AddChunks($$;@)
|
|
341
341
|
next;
|
342
342
|
}
|
343
343
|
delete $$et{ADD_DIRS}{$dir}; # don't add again
|
344
|
-
# keep track of the directories that we added
|
345
|
-
$$et{PNGDoneDir}{$dir} = 2 if defined $buff and length $buff;
|
346
344
|
}
|
347
345
|
return not $err;
|
348
346
|
}
|
@@ -3547,10 +3547,11 @@ sub GetNewValueHash($$;$$$$)
|
|
3547
3547
|
|
3548
3548
|
if ($writeGroup) {
|
3549
3549
|
# find the new value in the list with the specified write group
|
3550
|
-
|
3551
|
-
|
3552
|
-
$$nvHash{WriteGroup}
|
3553
|
-
|
3550
|
+
while ($nvHash and $$nvHash{WriteGroup} ne $writeGroup) {
|
3551
|
+
# QuickTime and All are special cases because all group1 tags may be updated at once
|
3552
|
+
last if $$nvHash{WriteGroup} =~ /^(QuickTime|All)$/;
|
3553
|
+
# replace existing entry if WriteGroup is 'All' (avoids confusion of forum10349)
|
3554
|
+
last if $$tagInfo{WriteGroup} and $$tagInfo{WriteGroup} eq 'All';
|
3554
3555
|
$nvHash = $$nvHash{Next};
|
3555
3556
|
}
|
3556
3557
|
}
|
@@ -49,7 +49,7 @@ use Image::ExifTool::Exif;
|
|
49
49
|
use Image::ExifTool::GPS;
|
50
50
|
require Exporter;
|
51
51
|
|
52
|
-
$VERSION = '3.
|
52
|
+
$VERSION = '3.25';
|
53
53
|
@ISA = qw(Exporter);
|
54
54
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
55
55
|
|
@@ -2236,7 +2236,7 @@ my %sPantryItem = (
|
|
2236
2236
|
# get latitude/logitude reference from XMP lat/long tags
|
2237
2237
|
# (used to set EXIF GPS position from XMP tags)
|
2238
2238
|
GPSLatitudeRef => {
|
2239
|
-
Require => 'XMP:GPSLatitude',
|
2239
|
+
Require => 'XMP-exif:GPSLatitude',
|
2240
2240
|
# Note: Do not Inihibit based on EXIF:GPSLatitudeRef (see forum10192)
|
2241
2241
|
ValueConv => q{
|
2242
2242
|
IsFloat($val[0]) and return $val[0] < 0 ? "S" : "N";
|
@@ -2246,7 +2246,7 @@ my %sPantryItem = (
|
|
2246
2246
|
PrintConv => { N => 'North', S => 'South' },
|
2247
2247
|
},
|
2248
2248
|
GPSLongitudeRef => {
|
2249
|
-
Require => 'XMP:GPSLongitude',
|
2249
|
+
Require => 'XMP-exif:GPSLongitude',
|
2250
2250
|
ValueConv => q{
|
2251
2251
|
IsFloat($val[0]) and return $val[0] < 0 ? "W" : "E";
|
2252
2252
|
$val[0] =~ /^.*([EW])/;
|
@@ -2255,7 +2255,7 @@ my %sPantryItem = (
|
|
2255
2255
|
PrintConv => { E => 'East', W => 'West' },
|
2256
2256
|
},
|
2257
2257
|
GPSDestLatitudeRef => {
|
2258
|
-
Require => 'XMP:GPSDestLatitude',
|
2258
|
+
Require => 'XMP-exif:GPSDestLatitude',
|
2259
2259
|
ValueConv => q{
|
2260
2260
|
IsFloat($val[0]) and return $val[0] < 0 ? "S" : "N";
|
2261
2261
|
$val[0] =~ /^.*([NS])/;
|
@@ -2264,7 +2264,7 @@ my %sPantryItem = (
|
|
2264
2264
|
PrintConv => { N => 'North', S => 'South' },
|
2265
2265
|
},
|
2266
2266
|
GPSDestLongitudeRef => {
|
2267
|
-
Require => 'XMP:GPSDestLongitude',
|
2267
|
+
Require => 'XMP-exif:GPSDestLongitude',
|
2268
2268
|
ValueConv => q{
|
2269
2269
|
IsFloat($val[0]) and return $val[0] < 0 ? "W" : "E";
|
2270
2270
|
$val[0] =~ /^.*([EW])/;
|
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: 11.
|
4
|
+
version: 11.61.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew McEachen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-08-
|
12
|
+
date: 2019-08-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|