exiftool_vendored 12.42.0 → 12.52.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 +226 -6
- data/bin/MANIFEST +14 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +45 -44
- data/bin/config_files/acdsee.config +2 -1
- data/bin/config_files/frameCount.config +56 -0
- data/bin/config_files/tiff_version.config +1 -1
- data/bin/exiftool +116 -97
- data/bin/fmt_files/gpx.fmt +3 -0
- data/bin/fmt_files/gpx_wpt.fmt +3 -0
- data/bin/lib/Image/ExifTool/Apple.pm +16 -3
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +23 -12
- data/bin/lib/Image/ExifTool/Canon.pm +66 -37
- data/bin/lib/Image/ExifTool/CanonRaw.pm +8 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +7 -8
- data/bin/lib/Image/ExifTool/Casio.pm +3 -3
- data/bin/lib/Image/ExifTool/DJI.pm +2 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +13 -1
- data/bin/lib/Image/ExifTool/EXE.pm +9 -1
- data/bin/lib/Image/ExifTool/Exif.pm +17 -12
- data/bin/lib/Image/ExifTool/FLAC.pm +17 -3
- data/bin/lib/Image/ExifTool/FLIR.pm +9 -7
- data/bin/lib/Image/ExifTool/FlashPix.pm +26 -3
- data/bin/lib/Image/ExifTool/FujiFilm.pm +51 -4
- data/bin/lib/Image/ExifTool/GPS.pm +31 -5
- data/bin/lib/Image/ExifTool/Geotag.pm +36 -8
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +3 -2
- data/bin/lib/Image/ExifTool/ICO.pm +143 -0
- data/bin/lib/Image/ExifTool/ID3.pm +6 -6
- data/bin/lib/Image/ExifTool/IPTC.pm +5 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +1 -0
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +24 -3
- data/bin/lib/Image/ExifTool/LNK.pm +5 -2
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +6015 -759
- data/bin/lib/Image/ExifTool/Lang/sk.pm +1927 -0
- data/bin/lib/Image/ExifTool/M2TS.pm +98 -8
- data/bin/lib/Image/ExifTool/MIE.pm +9 -3
- data/bin/lib/Image/ExifTool/MISB.pm +494 -0
- data/bin/lib/Image/ExifTool/MakerNotes.pm +3 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +272 -48
- data/bin/lib/Image/ExifTool/Motorola.pm +8 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +746 -382
- data/bin/lib/Image/ExifTool/NikonCustom.pm +139 -106
- data/bin/lib/Image/ExifTool/NikonSettings.pm +5 -3
- data/bin/lib/Image/ExifTool/Olympus.pm +6 -4
- data/bin/lib/Image/ExifTool/PNG.pm +8 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +21 -4
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +25 -5
- data/bin/lib/Image/ExifTool/Parrot.pm +96 -2
- data/bin/lib/Image/ExifTool/Pentax.pm +7 -2
- data/bin/lib/Image/ExifTool/Photoshop.pm +29 -3
- data/bin/lib/Image/ExifTool/QuickTime.pm +166 -13
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +161 -22
- data/bin/lib/Image/ExifTool/README +15 -4
- data/bin/lib/Image/ExifTool/RIFF.pm +106 -9
- data/bin/lib/Image/ExifTool/Samsung.pm +2 -2
- data/bin/lib/Image/ExifTool/Sigma.pm +27 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +37 -13
- data/bin/lib/Image/ExifTool/Sony.pm +75 -47
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +13 -6
- data/bin/lib/Image/ExifTool/TagLookup.pm +4791 -4519
- data/bin/lib/Image/ExifTool/TagNames.pod +2056 -1446
- data/bin/lib/Image/ExifTool/Text.pm +3 -4
- data/bin/lib/Image/ExifTool/Torrent.pm +2 -3
- data/bin/lib/Image/ExifTool/Validate.pm +3 -3
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +7 -0
- data/bin/lib/Image/ExifTool/WriteExif.pl +100 -23
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +2 -6
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +5 -5
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +12 -7
- data/bin/lib/Image/ExifTool/WriteRIFF.pl +359 -0
- data/bin/lib/Image/ExifTool/WriteXMP.pl +15 -1
- data/bin/lib/Image/ExifTool/Writer.pl +46 -18
- data/bin/lib/Image/ExifTool/XMP.pm +78 -59
- data/bin/lib/Image/ExifTool/XMP2.pl +19 -4
- data/bin/lib/Image/ExifTool/ZIP.pm +19 -7
- data/bin/lib/Image/ExifTool.pm +146 -38
- data/bin/lib/Image/ExifTool.pod +83 -69
- data/bin/perl-Image-ExifTool.spec +43 -43
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +10 -4
@@ -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.55';
|
38
38
|
|
39
39
|
sub ProcessSRF($$$);
|
40
40
|
sub ProcessSR2($$$);
|
@@ -154,7 +154,12 @@ sub PrintInvLensSpec($;$$);
|
|
154
154
|
32866 => 'Sony FE 24mm F2.8 G', #IB
|
155
155
|
32867 => 'Sony FE 40mm F2.5 G', #IB
|
156
156
|
32868 => 'Sony FE 50mm F2.5 G', #IB
|
157
|
+
32871 => 'Sony FE PZ 16-35mm F4 G', #JR
|
158
|
+
32873 => 'Sony E PZ 10-20mm F4 G', #JR
|
157
159
|
32874 => 'Sony FE 70-200mm F2.8 GM OSS II', #IB
|
160
|
+
32875 => 'Sony FE 24-70mm F2.8 GM II', #JR
|
161
|
+
32876 => 'Sony E 11mm F1.8', #JR
|
162
|
+
32877 => 'Sony E 15mm F1.4 G', #JR
|
158
163
|
|
159
164
|
# (comment this out so LensID will report the LensModel, which is more useful)
|
160
165
|
# 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
|
@@ -200,12 +205,15 @@ sub PrintInvLensSpec($;$$);
|
|
200
205
|
49468 => 'Tamron 18-300mm F3.5-6.3 Di III-A VC VXD', #JR (Model B061)
|
201
206
|
49469 => 'Tamron 35-150mm F2-F2.8 Di III VXD', #JR (Model A058)
|
202
207
|
49470 => 'Tamron 28-75mm F2.8 Di III VXD G2', #JR (Model A063)
|
208
|
+
49471 => 'Tamron 50-400mm F4.5-6.3 Di III VC VXD', #JR (Model A067)
|
209
|
+
49472 => 'Tamron 20-40mm F2.8 Di III VXD', #JR (Model A062)
|
203
210
|
|
204
211
|
49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
|
205
212
|
49473.1 => 'Viltrox 23mm F1.4 E', #JR
|
206
213
|
49473.2 => 'Viltrox 56mm F1.4 E', #JR
|
207
214
|
49712 => 'Tokina FiRIN 20mm F2 FE AF', # (firmware Ver.01)
|
208
215
|
49713 => 'Tokina FiRIN 100mm F2.8 FE MACRO', # (firmware Ver.01)
|
216
|
+
49714 => 'Tokina atx-m 11-18mm F2.8 E', #JR
|
209
217
|
|
210
218
|
50480 => 'Sigma 30mm F1.4 DC DN | C', #IB/JR (016)
|
211
219
|
50481 => 'Sigma 50mm F1.4 DG HSM | A', #JR (014 + MC-11 or 018)
|
@@ -245,6 +253,9 @@ sub PrintInvLensSpec($;$$);
|
|
245
253
|
50530 => 'Sigma 24mm F2 DG DN | C', #JR (021)
|
246
254
|
50531 => 'Sigma 18-50mm F2.8 DC DN | C', #IB/JR (021)
|
247
255
|
50532 => 'Sigma 20mm F2 DG DN | C', #JR (022)
|
256
|
+
50533 => 'Sigma 16-28mm F2.8 DG DN | C', #JR (022)
|
257
|
+
50534 => 'Sigma 20mm F1.4 DG DN | A', #JR (022)
|
258
|
+
50535 => 'Sigma 24mm F1.4 DG DN | A', #JR (022)
|
248
259
|
|
249
260
|
50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
|
250
261
|
50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
|
@@ -1042,7 +1053,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1042
1053
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010h' },
|
1043
1054
|
},{
|
1044
1055
|
Name => 'Tag2010i', # ?
|
1045
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9|9M2)|DSC-(RX10M4|RX100M6|RX100M5A|RX100M7|HX99|RX0M2)|ZV-(
|
1056
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9|9M2)|DSC-(RX10M4|RX100M6|RX100M5A|RX100M7|HX99|RX0M2)|ZV-(1F?|E10))\b/',
|
1046
1057
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010i' },
|
1047
1058
|
},{
|
1048
1059
|
Name => 'Tag_0x2010',
|
@@ -1618,7 +1629,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1618
1629
|
# from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
|
1619
1630
|
{
|
1620
1631
|
Name => 'Tag9050a',
|
1621
|
-
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-)/',
|
1632
|
+
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7M4|7RM2|7RM3A?|7RM4A?|7RM5|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
|
1622
1633
|
SubDirectory => {
|
1623
1634
|
TagTable => 'Image::ExifTool::Sony::Tag9050a',
|
1624
1635
|
ByteOrder => 'LittleEndian',
|
@@ -1632,7 +1643,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1632
1643
|
},
|
1633
1644
|
},{
|
1634
1645
|
Name => 'Tag9050c',
|
1635
|
-
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)/',
|
1646
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)/',
|
1636
1647
|
SubDirectory => {
|
1637
1648
|
TagTable => 'Image::ExifTool::Sony::Tag9050c',
|
1638
1649
|
ByteOrder => 'LittleEndian',
|
@@ -1652,8 +1663,9 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1652
1663
|
# 0x24 (e) for ILCA-99M2,ILCE-5100/6300/6500/7M2/7RM2/7S/7SM2/QX1, DSC-HX80/HX90V/QX30/RX0/RX100M3/RX100M4/RX100M5/RX10M2/RX10M3/RX1RM2/WX500
|
1653
1664
|
# 0x26 (e) for ILCE-6100/6400/6600/7M3/7RM3/9, DSC-RX0M2/RX10M4/RX100M5A/RX100M6/HX99
|
1654
1665
|
# 0x28 (e) for ILCE-7RM4/9M2, DSC-RX100M7, ZV-1/E10
|
1655
|
-
# 0x31 (e) for ILCE-1/7SM3, ILME-FX3
|
1656
|
-
#
|
1666
|
+
# 0x31 (e) for ILCE-1/7M4/7SM3, ILME-FX3
|
1667
|
+
# 0x32 (e) for ILCE-7RM5, ILME-FX30
|
1668
|
+
# first byte decoded: 40, 204, 202, 27, 58, 62, 48, 215, 28, 106, 89 respectively
|
1657
1669
|
{
|
1658
1670
|
Name => 'Tag9400a',
|
1659
1671
|
Condition => q{
|
@@ -1667,7 +1679,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1667
1679
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400b' },
|
1668
1680
|
},{
|
1669
1681
|
Name => 'Tag9400c',
|
1670
|
-
Condition => '$$valPt =~ /^[\x23\x24\x26\x28\x31]/',
|
1682
|
+
Condition => '$$valPt =~ /^[\x23\x24\x26\x28\x31\x32]/',
|
1671
1683
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400c' },
|
1672
1684
|
},{
|
1673
1685
|
Name => 'Sony_0x9400',
|
@@ -2043,6 +2055,9 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
2043
2055
|
386 => 'ILCE-7RM3A', #JR
|
2044
2056
|
387 => 'ILCE-7RM4A', #forum12542
|
2045
2057
|
388 => 'ILCE-7M4', #IB/JR
|
2058
|
+
389 => 'ZV-1F', #IB
|
2059
|
+
390 => 'ILCE-7RM5', #IB
|
2060
|
+
391 => 'ILME-FX30', #JR
|
2046
2061
|
},
|
2047
2062
|
},
|
2048
2063
|
0xb020 => { #2
|
@@ -7965,7 +7980,7 @@ my %isoSetting2010 = (
|
|
7965
7980
|
},
|
7966
7981
|
0x0088 => {
|
7967
7982
|
Name => 'InternalSerialNumber', #(NC)
|
7968
|
-
Condition => '$$self{Model} =~ /^(ILCE-(7M4|7SM3)|ILME-FX3)/',
|
7983
|
+
Condition => '$$self{Model} =~ /^(ILCE-(7M4|7RM5|7SM3)|ILME-FX3)/',
|
7969
7984
|
Format => 'int8u[6]',
|
7970
7985
|
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
|
7971
7986
|
},
|
@@ -8203,7 +8218,7 @@ my %isoSetting2010 = (
|
|
8203
8218
|
},
|
8204
8219
|
0x002a => [{
|
8205
8220
|
Name => 'Quality2',
|
8206
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8221
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
|
8207
8222
|
PrintConv => {
|
8208
8223
|
0 => 'JPEG',
|
8209
8224
|
1 => 'RAW',
|
@@ -8212,7 +8227,7 @@ my %isoSetting2010 = (
|
|
8212
8227
|
},
|
8213
8228
|
},{
|
8214
8229
|
Name => 'Quality2',
|
8215
|
-
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8230
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
|
8216
8231
|
PrintConv => {
|
8217
8232
|
1 => 'JPEG',
|
8218
8233
|
2 => 'RAW',
|
@@ -8223,13 +8238,13 @@ my %isoSetting2010 = (
|
|
8223
8238
|
}],
|
8224
8239
|
0x0047 => {
|
8225
8240
|
Name => 'SonyImageHeight',
|
8226
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8241
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
|
8227
8242
|
Format => 'int16u',
|
8228
8243
|
PrintConv => '$val > 0 ? 8*$val : "n.a."',
|
8229
8244
|
},
|
8230
8245
|
0x0053 => {
|
8231
8246
|
Name => 'ModelReleaseYear',
|
8232
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
8247
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7RM5|7SM3)|ILME-FX3)\b/',
|
8233
8248
|
Format => 'int8u',
|
8234
8249
|
PrintConv => 'sprintf("20%.2d", $val)',
|
8235
8250
|
},
|
@@ -8244,9 +8259,10 @@ my %isoSetting2010 = (
|
|
8244
8259
|
FIRST_ENTRY => 0,
|
8245
8260
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
8246
8261
|
DATAMEMBER => [ 0 ],
|
8247
|
-
IS_SUBDIR => [ 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
8262
|
+
IS_SUBDIR => [ 0x044e, 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
8248
8263
|
0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
|
8249
8264
|
|
8265
|
+
0x044e => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 178', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8250
8266
|
0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8251
8267
|
0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8252
8268
|
0x04a1 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(160|164)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
@@ -9517,7 +9533,7 @@ my %isoSetting2010 = (
|
|
9517
9533
|
WRITE_PROC => \&WriteEnciphered,
|
9518
9534
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
9519
9535
|
FORMAT => 'int8u',
|
9520
|
-
NOTES => 'Valid for the ILCE-1/7M4/7SM3, ILME-FX3.',
|
9536
|
+
NOTES => 'Valid for the ILCE-1/7M4/7RM5/7SM3, ILME-FX3.',
|
9521
9537
|
FIRST_ENTRY => 0,
|
9522
9538
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
9523
9539
|
0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
|
@@ -9644,7 +9660,7 @@ my %isoSetting2010 = (
|
|
9644
9660
|
},
|
9645
9661
|
0x088f => {
|
9646
9662
|
Name => 'VignettingCorrParams',
|
9647
|
-
Condition => '$$self{Model}
|
9663
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
9648
9664
|
Format => 'int16s[16]',
|
9649
9665
|
},
|
9650
9666
|
0x0891 => {
|
@@ -9652,9 +9668,14 @@ my %isoSetting2010 = (
|
|
9652
9668
|
Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
|
9653
9669
|
Format => 'int16s[16]',
|
9654
9670
|
},
|
9671
|
+
0x089b => {
|
9672
|
+
Name => 'VignettingCorrParams',
|
9673
|
+
Condition => '$$self{Model} =~ /^(ILCE-7RM5|ILME-FX30)\b/',
|
9674
|
+
Format => 'int16s[16]',
|
9675
|
+
},
|
9655
9676
|
0x0914 => {
|
9656
9677
|
Name => 'ChromaticAberrationCorrParams',
|
9657
|
-
Condition => '$$self{Model}
|
9678
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
9658
9679
|
Format => 'int16s[32]',
|
9659
9680
|
},
|
9660
9681
|
0x0916 => {
|
@@ -9662,6 +9683,11 @@ my %isoSetting2010 = (
|
|
9662
9683
|
Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
|
9663
9684
|
Format => 'int16s[32]',
|
9664
9685
|
},
|
9686
|
+
0x0945 => {
|
9687
|
+
Name => 'ChromaticAberrationCorrParams',
|
9688
|
+
Condition => '$$self{Model} =~ /^(ILCE-7RM5|ILME-FX30)\b/',
|
9689
|
+
Format => 'int16s[32]',
|
9690
|
+
},
|
9665
9691
|
);
|
9666
9692
|
|
9667
9693
|
%Image::ExifTool::Sony::FaceInfo1 = (
|
@@ -9937,20 +9963,22 @@ my %isoSetting2010 = (
|
|
9937
9963
|
WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
|
9938
9964
|
CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
|
9939
9965
|
GROUPS => { 0 => 'MakerNotes', 1 => 'SR2SubIFD', 2 => 'Camera' },
|
9966
|
+
WRITE_GROUP => 'SR2SubIFD',
|
9967
|
+
PERMANENT => 1,
|
9940
9968
|
SET_GROUP1 => 1, # set group1 name to directory name for all tags in table
|
9941
9969
|
NOTES => 'Tags in the encrypted SR2SubIFD',
|
9942
|
-
0x7300 => 'BlackLevel',
|
9943
|
-
0x7302 => 'WB_GRBGLevelsAuto', #IB (R1)
|
9944
|
-
0x7303 => 'WB_GRBGLevels', #1 (R1 "as shot", ref IB)
|
9945
|
-
0x7310 => 'BlackLevel', #IB (divide by 4)
|
9946
|
-
0x7312 => 'WB_RGGBLevelsAuto', #IB
|
9947
|
-
0x7313 => 'WB_RGGBLevels', #6
|
9948
|
-
0x7480 => 'WB_RGBLevelsDaylight', #IB (R1)
|
9949
|
-
0x7481 => 'WB_RGBLevelsCloudy', #IB (R1)
|
9950
|
-
0x7482 => 'WB_RGBLevelsTungsten', #IB (R1)
|
9951
|
-
0x7483 => 'WB_RGBLevelsFlash', #IB (R1)
|
9952
|
-
0x7484 => 'WB_RGBLevels4500K', #IB (R1)
|
9953
|
-
0x7486 => 'WB_RGBLevelsFluorescent', #IB (R1)
|
9970
|
+
0x7300 => { Name => 'BlackLevel', Writable => 'int16u', Count => 4, Protected => 1 },
|
9971
|
+
0x7302 => { Name => 'WB_GRBGLevelsAuto', Writable => 'int16s', Count => 4, Protected => 1 }, #IB (R1)
|
9972
|
+
0x7303 => { Name => 'WB_GRBGLevels', Writable => 'int16s', Count => 4, Protected => 1 }, #1 (R1 "as shot", ref IB)
|
9973
|
+
0x7310 => { Name => 'BlackLevel', Writable => 'int16u', Count => 4, Protected => 1 }, #IB (divide by 4)
|
9974
|
+
0x7312 => { Name => 'WB_RGGBLevelsAuto', Writable => 'int16s', Count => 4, Protected => 1 }, #IB
|
9975
|
+
0x7313 => { Name => 'WB_RGGBLevels', Writable => 'int16s', Count => 4, Protected => 1 }, #6
|
9976
|
+
0x7480 => { Name => 'WB_RGBLevelsDaylight', Writable => 'int16s', Count => 4, Protected => 1 }, #IB (R1)
|
9977
|
+
0x7481 => { Name => 'WB_RGBLevelsCloudy', Writable => 'int16s', Count => 4, Protected => 1 }, #IB (R1)
|
9978
|
+
0x7482 => { Name => 'WB_RGBLevelsTungsten', Writable => 'int16s', Count => 4, Protected => 1 }, #IB (R1)
|
9979
|
+
0x7483 => { Name => 'WB_RGBLevelsFlash', Writable => 'int16s', Count => 4, Protected => 1 }, #IB (R1)
|
9980
|
+
0x7484 => { Name => 'WB_RGBLevels4500K', Writable => 'int16s', Count => 4, Protected => 1 }, #IB (R1)
|
9981
|
+
0x7486 => { Name => 'WB_RGBLevelsFluorescent', Writable => 'int16s', Count => 4, Protected => 1 }, #IB (R1)
|
9954
9982
|
0x74a0 => 'MaxApertureAtMaxFocal', #PH
|
9955
9983
|
0x74a1 => 'MaxApertureAtMinFocal', #PH
|
9956
9984
|
0x74a2 => { #IB (R1)
|
@@ -9972,21 +10000,21 @@ my %isoSetting2010 = (
|
|
9972
10000
|
},
|
9973
10001
|
},
|
9974
10002
|
0x7800 => 'ColorMatrix', #IB (divide by 1024)
|
9975
|
-
0x7820 => 'WB_RGBLevelsDaylight', #6 (or 5300K, ref IB)
|
9976
|
-
0x7821 => 'WB_RGBLevelsCloudy', #6 (or 6100K, ref IB)
|
9977
|
-
0x7822 => 'WB_RGBLevelsTungsten', #6
|
9978
|
-
0x7823 => 'WB_RGBLevelsFlash', #IB
|
9979
|
-
0x7824 => 'WB_RGBLevels4500K', #IB
|
9980
|
-
0x7825 => 'WB_RGBLevelsShade', #6 (or 7500K, ref IB)
|
9981
|
-
0x7826 => 'WB_RGBLevelsFluorescent', #6 (~4000K)
|
9982
|
-
0x7827 => 'WB_RGBLevelsFluorescentP1', #IB (~5000K)
|
9983
|
-
0x7828 => 'WB_RGBLevelsFluorescentP2', #IB (~6500K) (was Flash, ref 6)
|
9984
|
-
0x7829 => 'WB_RGBLevelsFluorescentM1', #IB (~3500K)
|
9985
|
-
0x782a => 'WB_RGBLevels8500K', #IB
|
9986
|
-
0x782b => 'WB_RGBLevels6000K', #IB
|
9987
|
-
0x782c => 'WB_RGBLevels3200K', #IB
|
9988
|
-
0x782d => 'WB_RGBLevels2500K', #IB
|
9989
|
-
0x787f => 'WhiteLevel', #IB (divide by 4)
|
10003
|
+
0x7820 => { Name => 'WB_RGBLevelsDaylight', Writable => 'int16s', Count => 3, Protected => 1 }, #6 (or 5300K, ref IB)
|
10004
|
+
0x7821 => { Name => 'WB_RGBLevelsCloudy', Writable => 'int16s', Count => 3, Protected => 1 }, #6 (or 6100K, ref IB)
|
10005
|
+
0x7822 => { Name => 'WB_RGBLevelsTungsten', Writable => 'int16s', Count => 3, Protected => 1 }, #6
|
10006
|
+
0x7823 => { Name => 'WB_RGBLevelsFlash', Writable => 'int16s', Count => 3, Protected => 1 }, #IB
|
10007
|
+
0x7824 => { Name => 'WB_RGBLevels4500K', Writable => 'int16s', Count => 3, Protected => 1 }, #IB
|
10008
|
+
0x7825 => { Name => 'WB_RGBLevelsShade', Writable => 'int16s', Count => 3, Protected => 1 }, #6 (or 7500K, ref IB)
|
10009
|
+
0x7826 => { Name => 'WB_RGBLevelsFluorescent', Writable => 'int16s', Count => 3, Protected => 1 }, #6 (~4000K)
|
10010
|
+
0x7827 => { Name => 'WB_RGBLevelsFluorescentP1', Writable => 'int16s', Count => 3, Protected => 1 }, #IB (~5000K)
|
10011
|
+
0x7828 => { Name => 'WB_RGBLevelsFluorescentP2', Writable => 'int16s', Count => 3, Protected => 1 }, #IB (~6500K) (was Flash, ref 6)
|
10012
|
+
0x7829 => { Name => 'WB_RGBLevelsFluorescentM1', Writable => 'int16s', Count => 3, Protected => 1 }, #IB (~3500K)
|
10013
|
+
0x782a => { Name => 'WB_RGBLevels8500K', Writable => 'int16s', Count => 3, Protected => 1 }, #IB
|
10014
|
+
0x782b => { Name => 'WB_RGBLevels6000K', Writable => 'int16s', Count => 3, Protected => 1 }, #IB
|
10015
|
+
0x782c => { Name => 'WB_RGBLevels3200K', Writable => 'int16s', Count => 3, Protected => 1 }, #IB
|
10016
|
+
0x782d => { Name => 'WB_RGBLevels2500K', Writable => 'int16s', Count => 3, Protected => 1 }, #IB
|
10017
|
+
0x787f => { Name => 'WhiteLevel', Writable => 'int16u', Count => 3, Protected => 1 }, #IB (divide by 4)
|
9990
10018
|
0x797d => 'VignettingCorrParams', #forum7640
|
9991
10019
|
0x7980 => 'ChromaticAberrationCorrParams', #forum6509 (Sony A7 ARW)
|
9992
10020
|
0x7982 => 'DistortionCorrParams', #forum6509 (Sony A7 ARW)
|
@@ -10163,10 +10191,10 @@ my %isoSetting2010 = (
|
|
10163
10191
|
PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
|
10164
10192
|
},
|
10165
10193
|
0x8001 => { Name => 'Sony_rtmd_0x8001', Format => 'int16u', %hidUnk },
|
10166
|
-
0x8004 => { Name => 'Sony_rtmd_0x8004', Format => 'int16u', %hidUnk },
|
10167
|
-
0x8005 => { Name => 'Sony_rtmd_0x8005', Format => 'int16u', %hidUnk },
|
10168
|
-
0x800a => { Name => 'Sony_rtmd_0x800a', Format => 'int16u', %hidUnk },
|
10169
|
-
0x800b => { Name => 'Sony_rtmd_0x800b', Format => 'int16u', %hidUnk },
|
10194
|
+
0x8004 => { Name => 'Sony_rtmd_0x8004', Format => 'int16u', %hidUnk }, # (FocalLength35efl?, forum14315)
|
10195
|
+
0x8005 => { Name => 'Sony_rtmd_0x8005', Format => 'int16u', %hidUnk }, # (FocalLength?, forum14315)
|
10196
|
+
0x800a => { Name => 'Sony_rtmd_0x800a', Format => 'int16u', %hidUnk }, # (FocusRingPosition?, forum14315)
|
10197
|
+
0x800b => { Name => 'Sony_rtmd_0x800b', Format => 'int16u', %hidUnk }, # (ZoomRingPosition?, forum14315)
|
10170
10198
|
# 0x8100 - 16 bytes starting with 0x060e2b340401
|
10171
10199
|
0x8100 => { Name => 'Sony_rtmd_0x8100', Format => 'int8u', %hidUnk },
|
10172
10200
|
0x8101 => { Name => 'Sony_rtmd_0x8101', Format => 'int8u', %hidUnk }, # seen: 0,1
|
@@ -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.35';
|
19
19
|
@ISA = qw(Exporter);
|
20
20
|
|
21
21
|
# set this to a language code to generate Lang module with 'MISSING' entries
|
@@ -31,13 +31,14 @@ my %credits = (
|
|
31
31
|
de => 'Jens Duttke, Herbert Kauer and Jobi',
|
32
32
|
es => 'Jens Duttke, Santiago del BrE<iacute>o GonzE<aacute>lez and Emilio Sancha',
|
33
33
|
fi => 'Jens Duttke and Jarkko ME<auml>kineva',
|
34
|
-
fr => 'Jens Duttke, Bernard Guillotin, Jean Glasser, Jean Piquemal, Harry Nizard and
|
34
|
+
fr => 'Jens Duttke, Bernard Guillotin, Jean Glasser, Jean Piquemal, Harry Nizard, Alphonse Philippe and Philippe Bonnaure (GraphicConverter)',
|
35
35
|
it => 'Jens Duttke, Ferdinando Agovino, Emilio Dati and Michele Locati',
|
36
36
|
ja => 'Jens Duttke and Kazunari Nishina',
|
37
37
|
ko => 'Jens Duttke and Jeong Beom Kim',
|
38
38
|
nl => 'Jens Duttke, Peter Moonen, Herman Beld and Peter van der Laan',
|
39
39
|
pl => 'Jens Duttke, Przemyslaw Sulek and Kacper Perschke',
|
40
40
|
ru => 'Jens Duttke, Sergey Shemetov, Dmitry Yerokhin, Anton Sukhinov and Alexander',
|
41
|
+
sk => 'Peter Bagin',
|
41
42
|
sv => 'Jens Duttke and BjE<ouml>rn SE<ouml>derstrE<ouml>m',
|
42
43
|
'tr' => 'Jens Duttke, Hasan Yildirim and Cihan Ulusoy',
|
43
44
|
zh_cn => 'Jens Duttke and Haibing Zhong',
|
@@ -204,6 +205,8 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
|
|
204
205
|
push @flags, 'Permanent' if $$tagInfo{Permanent} or
|
205
206
|
($groups[0] eq 'MakerNotes' and not defined $$tagInfo{Permanent});
|
206
207
|
$grp = " flags='" . join(',', sort @flags) . "'$grp" if @flags;
|
208
|
+
# add parent structure tag ID
|
209
|
+
$grp .= " struct='$$tagInfo{ParentTagInfo}{TagID}'" if $$tagInfo{ParentTagInfo};
|
207
210
|
}
|
208
211
|
print $fp " <tag id='${xmlID}' name='${name}'$ind type='${format}'$count writable='${writable}'$grp";
|
209
212
|
if ($opts{NoDesc}) {
|
@@ -399,10 +402,14 @@ sub BuildLangModules($;$)
|
|
399
402
|
my $val = ucfirst $tval;
|
400
403
|
$val = $tval if $tval =~ /^(cRAW|iTun)/; # special-case non-capitalized values
|
401
404
|
my $cap = ($tval ne $val);
|
402
|
-
if ($makeMissing
|
403
|
-
$lang
|
404
|
-
|
405
|
-
|
405
|
+
if ($makeMissing) {
|
406
|
+
if ($lang eq 'en') {
|
407
|
+
$lang = $makeMissing;
|
408
|
+
$val = 'MISSING';
|
409
|
+
undef $cap;
|
410
|
+
}
|
411
|
+
} elsif ($val eq 'MISSING') {
|
412
|
+
next; # ignore "MISSING" entries
|
406
413
|
}
|
407
414
|
my $isDefault = ($lang eq $Image::ExifTool::defaultLang);
|
408
415
|
unless ($langInfo{$lang} or $isDefault) {
|