exiftool_vendored 12.33.0 → 12.37.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +66 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +65 -37
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +11 -2
- data/bin/lib/Image/ExifTool/Canon.pm +156 -10
- data/bin/lib/Image/ExifTool/Charset.pm +2 -0
- data/bin/lib/Image/ExifTool/DarwinCore.pm +2 -2
- data/bin/lib/Image/ExifTool/Exif.pm +13 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +33 -8
- data/bin/lib/Image/ExifTool/GIF.pm +5 -1
- data/bin/lib/Image/ExifTool/GPS.pm +14 -10
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +96 -4
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +108 -11
- data/bin/lib/Image/ExifTool/Nikon.pm +992 -18
- data/bin/lib/Image/ExifTool/NikonCustom.pm +5 -1
- data/bin/lib/Image/ExifTool/NikonSettings.pm +135 -71
- data/bin/lib/Image/ExifTool/PDF.pm +5 -3
- data/bin/lib/Image/ExifTool/PNG.pm +1 -0
- data/bin/lib/Image/ExifTool/QuickTime.pm +17 -3
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +26 -1
- data/bin/lib/Image/ExifTool/README +4 -0
- data/bin/lib/Image/ExifTool/Sony.pm +29 -11
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +9 -4
- data/bin/lib/Image/ExifTool/TagLookup.pm +6437 -5843
- data/bin/lib/Image/ExifTool/TagNames.pod +1292 -46
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +10 -0
- data/bin/lib/Image/ExifTool/WriteXMP.pl +10 -11
- data/bin/lib/Image/ExifTool/Writer.pl +50 -5
- data/bin/lib/Image/ExifTool/XMP.pm +119 -30
- data/bin/lib/Image/ExifTool/XMP2.pl +3 -2
- data/bin/lib/Image/ExifTool.pm +71 -8
- data/bin/lib/Image/ExifTool.pod +9 -1
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -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.48';
|
38
38
|
|
39
39
|
sub ProcessSRF($$$);
|
40
40
|
sub ProcessSR2($$$);
|
@@ -198,6 +198,8 @@ sub PrintInvLensSpec($;$$);
|
|
198
198
|
49466 => 'Tamron 150-500mm F5-6.7 Di III VC VXD', #JR (Model A057)
|
199
199
|
49467 => 'Tamron 11-20mm F2.8 Di III-A RXD', #JR (Model B060)
|
200
200
|
49468 => 'Tamron 18-300mm F3.5-6.3 Di III-A VC VXD', #JR (Model B061)
|
201
|
+
49469 => 'Tamron 35-150mm F2-F2.8 Di III VXD', #JR (Model A058)
|
202
|
+
49470 => 'Tamron 28-75mm F2.8 Di III VXD G2', #JR (Model A063)
|
201
203
|
|
202
204
|
49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
|
203
205
|
49473.1 => 'Viltrox 23mm F1.4 E', #JR
|
@@ -241,7 +243,8 @@ sub PrintInvLensSpec($;$$);
|
|
241
243
|
50528 => 'Sigma 35mm F1.4 DG DN | A', #IB/JR (021)
|
242
244
|
50529 => 'Sigma 90mm F2.8 DG DN | C', #JR (021)
|
243
245
|
50530 => 'Sigma 24mm F2 DG DN | C', #JR (021)
|
244
|
-
|
246
|
+
50531 => 'Sigma 18-50mm F2.8 DC DN | C', #IB/JR (021)
|
247
|
+
|
245
248
|
50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
|
246
249
|
50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
|
247
250
|
50994 => 'Voigtlander ULTRA WIDE-HELIAR 12mm F5.6 III', #IB
|
@@ -1580,6 +1583,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1580
1583
|
65535 => 'n/a',
|
1581
1584
|
},
|
1582
1585
|
},
|
1586
|
+
# 0x203a - 0x2041: first seen October 2021 for ILCE-7M4
|
1583
1587
|
0x3000 => {
|
1584
1588
|
Name => 'ShotInfo',
|
1585
1589
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::ShotInfo' },
|
@@ -1608,7 +1612,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1608
1612
|
# from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
|
1609
1613
|
{
|
1610
1614
|
Name => 'Tag9050a',
|
1611
|
-
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
|
1615
|
+
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7M4|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
|
1612
1616
|
SubDirectory => {
|
1613
1617
|
TagTable => 'Image::ExifTool::Sony::Tag9050a',
|
1614
1618
|
ByteOrder => 'LittleEndian',
|
@@ -1622,7 +1626,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1622
1626
|
},
|
1623
1627
|
},{
|
1624
1628
|
Name => 'Tag9050c',
|
1625
|
-
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)/',
|
1629
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)/',
|
1626
1630
|
SubDirectory => {
|
1627
1631
|
TagTable => 'Image::ExifTool::Sony::Tag9050c',
|
1628
1632
|
ByteOrder => 'LittleEndian',
|
@@ -2032,6 +2036,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
2032
2036
|
385 => 'ILME-FX3', #JR
|
2033
2037
|
386 => 'ILCE-7RM3A', #JR
|
2034
2038
|
387 => 'ILCE-7RM4A', #forum12542
|
2039
|
+
388 => 'ILCE-7M4', #IB/JR
|
2035
2040
|
},
|
2036
2041
|
},
|
2037
2042
|
0xb020 => { #2
|
@@ -7954,7 +7959,7 @@ my %isoSetting2010 = (
|
|
7954
7959
|
},
|
7955
7960
|
0x0088 => {
|
7956
7961
|
Name => 'InternalSerialNumber', #(NC)
|
7957
|
-
Condition => '$$self{Model} =~ /^(ILCE-7SM3|ILME-FX3)/',
|
7962
|
+
Condition => '$$self{Model} =~ /^(ILCE-(7M4|7SM3)|ILME-FX3)/',
|
7958
7963
|
Format => 'int8u[6]',
|
7959
7964
|
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
|
7960
7965
|
},
|
@@ -8192,7 +8197,7 @@ my %isoSetting2010 = (
|
|
8192
8197
|
},
|
8193
8198
|
0x002a => [{
|
8194
8199
|
Name => 'Quality2',
|
8195
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8200
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8196
8201
|
PrintConv => {
|
8197
8202
|
0 => 'JPEG',
|
8198
8203
|
1 => 'RAW',
|
@@ -8201,7 +8206,7 @@ my %isoSetting2010 = (
|
|
8201
8206
|
},
|
8202
8207
|
},{
|
8203
8208
|
Name => 'Quality2',
|
8204
|
-
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8209
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8205
8210
|
PrintConv => {
|
8206
8211
|
1 => 'JPEG',
|
8207
8212
|
2 => 'RAW',
|
@@ -8212,13 +8217,13 @@ my %isoSetting2010 = (
|
|
8212
8217
|
}],
|
8213
8218
|
0x0047 => {
|
8214
8219
|
Name => 'SonyImageHeight',
|
8215
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8220
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8216
8221
|
Format => 'int16u',
|
8217
8222
|
PrintConv => '$val > 0 ? 8*$val : "n.a."',
|
8218
8223
|
},
|
8219
8224
|
0x0053 => {
|
8220
8225
|
Name => 'ModelReleaseYear',
|
8221
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8226
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8222
8227
|
Format => 'int8u',
|
8223
8228
|
PrintConv => 'sprintf("20%.2d", $val)',
|
8224
8229
|
},
|
@@ -8233,10 +8238,11 @@ my %isoSetting2010 = (
|
|
8233
8238
|
FIRST_ENTRY => 0,
|
8234
8239
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
8235
8240
|
DATAMEMBER => [ 0 ],
|
8236
|
-
IS_SUBDIR => [ 0x0498, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
8241
|
+
IS_SUBDIR => [ 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
8237
8242
|
0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
|
8238
8243
|
|
8239
8244
|
0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8245
|
+
0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8240
8246
|
0x04a1 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(160|164)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8241
8247
|
0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(152|154|155)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8242
8248
|
0x059d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(144|146)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
@@ -9505,7 +9511,7 @@ my %isoSetting2010 = (
|
|
9505
9511
|
WRITE_PROC => \&WriteEnciphered,
|
9506
9512
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
9507
9513
|
FORMAT => 'int8u',
|
9508
|
-
NOTES => 'Valid for the ILCE-1/7SM3, ILME-FX3.',
|
9514
|
+
NOTES => 'Valid for the ILCE-1/7M4/7SM3, ILME-FX3.',
|
9509
9515
|
FIRST_ENTRY => 0,
|
9510
9516
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
9511
9517
|
0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
|
@@ -9632,10 +9638,22 @@ my %isoSetting2010 = (
|
|
9632
9638
|
},
|
9633
9639
|
0x088f => {
|
9634
9640
|
Name => 'VignettingCorrParams',
|
9641
|
+
Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
|
9642
|
+
Format => 'int16s[16]',
|
9643
|
+
},
|
9644
|
+
0x0891 => {
|
9645
|
+
Name => 'VignettingCorrParams',
|
9646
|
+
Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
|
9635
9647
|
Format => 'int16s[16]',
|
9636
9648
|
},
|
9637
9649
|
0x0914 => {
|
9638
9650
|
Name => 'ChromaticAberrationCorrParams',
|
9651
|
+
Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
|
9652
|
+
Format => 'int16s[32]',
|
9653
|
+
},
|
9654
|
+
0x0916 => {
|
9655
|
+
Name => 'ChromaticAberrationCorrParams',
|
9656
|
+
Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
|
9639
9657
|
Format => 'int16s[32]',
|
9640
9658
|
},
|
9641
9659
|
);
|
@@ -15,7 +15,7 @@ use vars qw($VERSION @ISA $makeMissing);
|
|
15
15
|
use Image::ExifTool qw(:Utils :Vars);
|
16
16
|
use Image::ExifTool::XMP;
|
17
17
|
|
18
|
-
$VERSION = '1.
|
18
|
+
$VERSION = '1.32';
|
19
19
|
@ISA = qw(Exporter);
|
20
20
|
|
21
21
|
# set this to a language code to generate Lang module with 'MISSING' entries
|
@@ -58,6 +58,12 @@ my %translateLang = (
|
|
58
58
|
my $numbersFirst = 1; # set to -1 to sort numbers last, or 2 to put negative numbers last
|
59
59
|
my $caseInsensitive; # used internally by sort routine
|
60
60
|
|
61
|
+
# write groups that don't represent real family 1 group names
|
62
|
+
my %fakeWriteGroup = (
|
63
|
+
Comment => 1, # (JPEG Comment)
|
64
|
+
colr => 1, # (Jpeg2000 'colr' box)
|
65
|
+
);
|
66
|
+
|
61
67
|
#------------------------------------------------------------------------------
|
62
68
|
# Utility to print tag information database as an XML list
|
63
69
|
# Inputs: 0) output file name (undef to send to console),
|
@@ -178,9 +184,8 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
|
|
178
184
|
}
|
179
185
|
my @groups = $et->GetGroup($tagInfo);
|
180
186
|
my $writeGroup = $$tagInfo{WriteGroup} || $$table{WRITE_GROUP};
|
181
|
-
|
182
|
-
|
183
|
-
}
|
187
|
+
# use common write group for group 1 (unless fake)
|
188
|
+
$groups[1] = $writeGroup if $writeGroup and not $fakeWriteGroup{$writeGroup};
|
184
189
|
# add group names if different from table defaults
|
185
190
|
my $grp = '';
|
186
191
|
for ($fam=0; $fam<3; ++$fam) {
|