exiftool_vendored 12.33.0 → 12.37.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 +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) {
|