exiftool-vendored.pl 12.67.0 → 12.70.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.
- package/bin/Changes +79 -10
- package/bin/MANIFEST +5 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +7 -7
- package/bin/exiftool +32 -27
- package/bin/lib/Image/ExifTool/CBOR.pm +18 -2
- package/bin/lib/Image/ExifTool/Canon.pm +87 -16
- package/bin/lib/Image/ExifTool/DJI.pm +3 -2
- package/bin/lib/Image/ExifTool/DNG.pm +25 -2
- package/bin/lib/Image/ExifTool/EXE.pm +54 -6
- package/bin/lib/Image/ExifTool/Exif.pm +175 -14
- package/bin/lib/Image/ExifTool/FujiFilm.pm +158 -20
- package/bin/lib/Image/ExifTool/GIF.pm +5 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +16 -11
- package/bin/lib/Image/ExifTool/ID3.pm +70 -7
- package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/lib/Image/ExifTool/JPEG.pm +1 -1
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +30 -15
- package/bin/lib/Image/ExifTool/MakerNotes.pm +2 -2
- package/bin/lib/Image/ExifTool/Nikon.pm +82 -22
- package/bin/lib/Image/ExifTool/Olympus.pm +7 -1
- package/bin/lib/Image/ExifTool/PNG.pm +3 -1
- package/bin/lib/Image/ExifTool/Panasonic.pm +22 -9
- package/bin/lib/Image/ExifTool/Pentax.pm +6 -1
- package/bin/lib/Image/ExifTool/PhotoMechanic.pm +2 -1
- package/bin/lib/Image/ExifTool/QuickTime.pm +92 -55
- package/bin/lib/Image/ExifTool/README +14 -5
- package/bin/lib/Image/ExifTool/RIFF.pm +60 -10
- package/bin/lib/Image/ExifTool/Sony.pm +152 -46
- package/bin/lib/Image/ExifTool/TagLookup.pm +6955 -6713
- package/bin/lib/Image/ExifTool/TagNames.pod +878 -334
- package/bin/lib/Image/ExifTool/Text.pm +4 -5
- package/bin/lib/Image/ExifTool/Validate.pm +23 -20
- package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +2 -2
- package/bin/lib/Image/ExifTool/WriteExif.pl +14 -4
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +3 -0
- package/bin/lib/Image/ExifTool/WriteRIFF.pl +31 -6
- package/bin/lib/Image/ExifTool/Writer.pl +40 -14
- package/bin/lib/Image/ExifTool/XISF.pm +185 -0
- package/bin/lib/Image/ExifTool/XMP.pm +67 -2
- package/bin/lib/Image/ExifTool/XMP2.pl +35 -0
- package/bin/lib/Image/ExifTool.pm +92 -45
- package/bin/lib/Image/ExifTool.pod +14 -8
- package/bin/perl-Image-ExifTool.spec +6 -6
- package/bin/pp_build_exe.args +5 -4
- package/package.json +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.64';
|
|
38
38
|
|
|
39
39
|
sub ProcessSRF($$$);
|
|
40
40
|
sub ProcessSR2($$$);
|
|
@@ -69,11 +69,13 @@ sub PrintInvLensSpec($;$$);
|
|
|
69
69
|
'0.10' => 'Zeiss Touit 50mm F2.8 Macro', # (firmware Ver.00)
|
|
70
70
|
'0.11' => 'Zeiss Loxia 50mm F2', # (firmware Ver.01)
|
|
71
71
|
'0.12' => 'Zeiss Loxia 35mm F2', # (firmware Ver.01)
|
|
72
|
+
'0.13' => 'Viltrox 85mm F1.8', # original AF version; Mark II version is at 47473
|
|
72
73
|
1 => 'Sony LA-EA1 or Sigma MC-11 Adapter', # MC-11 with not-supported lenses
|
|
73
74
|
2 => 'Sony LA-EA2 Adapter',
|
|
74
75
|
3 => 'Sony LA-EA3 Adapter',
|
|
75
76
|
6 => 'Sony LA-EA4 Adapter',
|
|
76
77
|
7 => 'Sony LA-EA5 Adapter', #JR
|
|
78
|
+
13 => 'Samyang AF 35-150mm F2-2.8',
|
|
77
79
|
# 27 => Venus Optics Laowa 12mm f2.8 Zero-D or 105mm f2 (T3.2) Smooth Trans Focus (ref IB)
|
|
78
80
|
44 => 'Metabones Canon EF Smart Adapter', #JR
|
|
79
81
|
78 => 'Metabones Canon EF Smart Adapter Mark III or Other Adapter', #PH/JR (also Mark IV, Fotodiox and Viltrox)
|
|
@@ -163,6 +165,8 @@ sub PrintInvLensSpec($;$$);
|
|
|
163
165
|
32878 => 'Sony FE 20-70mm F4 G', #JR
|
|
164
166
|
32879 => 'Sony FE 50mm F1.4 GM', #JR
|
|
165
167
|
32884 => 'Sony FE 70-200mm F4 Macro G OSS II', #JR
|
|
168
|
+
32885 => 'Sony FE 16-35mm F2.8 GM II', #JR
|
|
169
|
+
32886 => 'Sony FE 300mm F2.8 OSS', #JR
|
|
166
170
|
|
|
167
171
|
# (comment this out so LensID will report the LensModel, which is more useful)
|
|
168
172
|
# 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
|
|
@@ -215,10 +219,22 @@ sub PrintInvLensSpec($;$$);
|
|
|
215
219
|
49470 => 'Tamron 28-75mm F2.8 Di III VXD G2', #JR (Model A063)
|
|
216
220
|
49471 => 'Tamron 50-400mm F4.5-6.3 Di III VC VXD', #JR (Model A067)
|
|
217
221
|
49472 => 'Tamron 20-40mm F2.8 Di III VXD', #JR (Model A062)
|
|
222
|
+
49473 => 'Tamron 17-50mm F4 Di III VXD or Tokina or Viltrox lens', #JR (Model A068)
|
|
223
|
+
49473.1 => 'Tokina atx-m 85mm F1.8 FE', #JR
|
|
224
|
+
49473.2 => 'Viltrox 23mm F1.4 E', #JR
|
|
225
|
+
49473.3 => 'Viltrox 56mm F1.4 E', #JR
|
|
226
|
+
49473.4 => 'Viltrox 85mm F1.8 II FE', #JR
|
|
227
|
+
49474 => 'Tamron 70-180mm F2.8 Di III VXD G2 or Viltrox lens', #JR (Model A065)
|
|
228
|
+
49474.1 => 'Viltrox 13mm F1.4 E',
|
|
229
|
+
49474.2 => 'Viltrox 16mm F1.8 FE', #JR
|
|
230
|
+
49474.3 => 'Viltrox 23mm F1.4 E', #JR
|
|
231
|
+
49474.4 => 'Viltrox 24mm F1.8 FE', #JR
|
|
232
|
+
49474.5 => 'Viltrox 28mm F1.8 FE', #JR
|
|
233
|
+
49474.6 => 'Viltrox 33mm F1.4 E', #JR
|
|
234
|
+
49474.7 => 'Viltrox 35mm F1.8 FE', #JR
|
|
235
|
+
49474.8 => 'Viltrox 50mm F1.8 FE', #JR
|
|
236
|
+
49474.9 => 'Viltrox 75mm F1.2 E', #JR
|
|
218
237
|
|
|
219
|
-
49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
|
|
220
|
-
49473.1 => 'Viltrox 23mm F1.4 E', #JR
|
|
221
|
-
49473.2 => 'Viltrox 56mm F1.4 E', #JR
|
|
222
238
|
49712 => 'Tokina FiRIN 20mm F2 FE AF', # (firmware Ver.01)
|
|
223
239
|
49713 => 'Tokina FiRIN 100mm F2.8 FE MACRO', # (firmware Ver.01)
|
|
224
240
|
49714 => 'Tokina atx-m 11-18mm F2.8 E', #JR
|
|
@@ -269,7 +285,9 @@ sub PrintInvLensSpec($;$$);
|
|
|
269
285
|
50538 => 'Sigma 17mm F4 DG DN | C', #JR (023)
|
|
270
286
|
50539 => 'Sigma 50mm F1.4 DG DN | A', #JR (023)
|
|
271
287
|
50540 => 'Sigma 14mm F1.4 DG DN | A', #JR (023)
|
|
288
|
+
50543 => 'Sigma 70-200mm F2.8 DG DN OS | S', #JR (023)
|
|
272
289
|
50544 => 'Sigma 23mm F1.4 DC DN | C', #JR (023)
|
|
290
|
+
50547 => 'Sigma 10-18mm F2.8 DC DN | C', #JR (023)
|
|
273
291
|
|
|
274
292
|
50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
|
|
275
293
|
50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
|
|
@@ -1304,7 +1322,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1304
1322
|
Name => 'AFPointSelected',
|
|
1305
1323
|
# non-zero only when AFAreaMode is 'Zone', and 'Expanded-Flexible-Spot' for ILCE-6300/7RM2/7SM2
|
|
1306
1324
|
# each Zone has 3x3 AF Areas --> 9 positions within 5x5 total Contrast AF Areas
|
|
1307
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-)/',
|
|
1325
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|ZV-|DSC-RX)/',
|
|
1308
1326
|
Notes => 'NEX and ILCE models',
|
|
1309
1327
|
Writable => 'int8u',
|
|
1310
1328
|
PrintConv => {
|
|
@@ -1326,7 +1344,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1326
1344
|
# but not used by ILCA-99M2 anymore ... ?
|
|
1327
1345
|
0x2020 => [{
|
|
1328
1346
|
Name => 'AFPointsUsed',
|
|
1329
|
-
Condition => '$$self{Model} !~ /^(ILCA-|DSC-)/', # (doesn't seem to apply to DSC-models)
|
|
1347
|
+
Condition => '$$self{Model} !~ /^(ILCA-|DSC-|ZV-)/', # (doesn't seem to apply to DSC-models)
|
|
1330
1348
|
Notes => 'SLT models, or NEX/ILCE with A-mount lenses',
|
|
1331
1349
|
BitsPerWord => 8,
|
|
1332
1350
|
BitsTotal => 80,
|
|
@@ -1618,7 +1636,25 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1618
1636
|
65535 => 'n/a',
|
|
1619
1637
|
},
|
|
1620
1638
|
},
|
|
1621
|
-
# 0x203a -
|
|
1639
|
+
# 0x203a - 0x2044: seen from October 2021 for ILCE-7M4 and newer
|
|
1640
|
+
# 0x203a - int8u[32]
|
|
1641
|
+
# 0x203c - undef[26] only non-zero data in Continuous drive mode
|
|
1642
|
+
# 0x203d - int32u
|
|
1643
|
+
# 0x203e - int8u: seen 0, 1, 2, 3, 4 and 255: possibly nr. of detected/tracked faces?
|
|
1644
|
+
# 0x203f - int16u
|
|
1645
|
+
# 0x2041 - int8u
|
|
1646
|
+
# 0x2044 - int32u[2] in ILCE-6700/7CM2/7CR, ILCE-7M4 v1.10, ILCE-7RM5 JPG and ZV-E1:
|
|
1647
|
+
# ARW: seen 143360 53248 and 139264 53248
|
|
1648
|
+
# JPG: [~filesize] 53248
|
|
1649
|
+
# 0x2047 - first seen for ILCE-9M3, November 2023
|
|
1650
|
+
# 0x2048 - first seen for ILCE-9M3
|
|
1651
|
+
# 0x2049 - undef[2]
|
|
1652
|
+
0x204a => { #JR
|
|
1653
|
+
Name => 'FocusLocation2',
|
|
1654
|
+
Writable => 'int16u',
|
|
1655
|
+
Count => 4,
|
|
1656
|
+
NOTES => 'same as FocusLocation within one pixel',
|
|
1657
|
+
},
|
|
1622
1658
|
0x3000 => {
|
|
1623
1659
|
Name => 'ShotInfo',
|
|
1624
1660
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::ShotInfo' },
|
|
@@ -1654,7 +1690,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1654
1690
|
},
|
|
1655
1691
|
},{
|
|
1656
1692
|
Name => 'Tag9050b',
|
|
1657
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6300|6400|6500|6600|7C|7M3|7RM2|7RM3A?|7RM4A?|7SM2|9|9M2)|ILCA-99M2|ZV-E10)/',
|
|
1693
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6300|6400|6500|6600|7C|7M3|7RM2|7RM3A?|7RM4A?|7SM2|9|9M2)|ILCA-99M2|ZV-E10)\b/',
|
|
1658
1694
|
SubDirectory => {
|
|
1659
1695
|
TagTable => 'Image::ExifTool::Sony::Tag9050b',
|
|
1660
1696
|
ByteOrder => 'LittleEndian',
|
|
@@ -1668,7 +1704,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1668
1704
|
},
|
|
1669
1705
|
},{
|
|
1670
1706
|
Name => 'Tag9050d',
|
|
1671
|
-
Condition => '$$self{Model} =~ /^(ILCE-6700|ZV-E1)/',
|
|
1707
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR)|ZV-E1)\b/',
|
|
1672
1708
|
SubDirectory => {
|
|
1673
1709
|
TagTable => 'Image::ExifTool::Sony::Tag9050d',
|
|
1674
1710
|
ByteOrder => 'LittleEndian',
|
|
@@ -1690,7 +1726,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1690
1726
|
# 0x28 (e) for ILCE-7RM4/9M2, DSC-RX100M7, ZV-1/1F/1M2/E10
|
|
1691
1727
|
# 0x31 (e) for ILCE-1/7M4/7SM3, ILME-FX3
|
|
1692
1728
|
# 0x32 (e) for ILCE-7RM5, ILME-FX30
|
|
1693
|
-
# 0x33 (e) for ILCE-6700, ZV-E1
|
|
1729
|
+
# 0x33 (e) for ILCE-6700/7CM2/7CR/9M3, ZV-E1
|
|
1694
1730
|
# first byte decoded: 40, 204, 202, 27, 58, 62, 48, 215, 28, 106, 89, 63 respectively
|
|
1695
1731
|
{
|
|
1696
1732
|
Name => 'Tag9400a',
|
|
@@ -1807,7 +1843,12 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1807
1843
|
# 0x1f 0x01 DSC-HX95/HX99
|
|
1808
1844
|
# 0x20 0x01 ILCE-6100/6400/6600/7RM4/9M2, ILCE-9 v5.00-v6.00, DSC-RX0M2/RX100M7
|
|
1809
1845
|
# 0x21 0x01 ZV-1/1F/1M2/E10
|
|
1810
|
-
#
|
|
1846
|
+
# 0x22 (34) ILCE-7SM3, ILME-FX3
|
|
1847
|
+
# 0x24 (36) ILCE-1
|
|
1848
|
+
# 0x25 (37) ILCE-7M4
|
|
1849
|
+
# 0x26 (38) ILCE-7RM5, ILME-FX30
|
|
1850
|
+
# 0x27 (39) ILCE-6700/7CM2/7CR, ZV-E1
|
|
1851
|
+
# 0x28 (40) ILCE-9M3
|
|
1811
1852
|
# var var SLT-A58/A99V, HV, ILCA-68/77M2/99M2
|
|
1812
1853
|
# only valid when first byte 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x17, 0x19, 0x1a, 0x1c (enciphered 0x8a, 0x70, 0xb6, 0x69, 0x88, 0x20, 0x30, 0xd7, 0xbb, 0x92, 0x28)
|
|
1813
1854
|
# Condition => '$$self{DoubleCipher} ? $$valPt =~ /^[\x7e\x46\x1d\x18\x3a\x95\x24\x26\xd6]\x01/ : $$valPt =~ /^[\x8a\x70\xb6\x69\x88\x20\x30\xd7\xbb\x92\x28]\x01/',
|
|
@@ -1886,11 +1927,15 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1886
1927
|
Name => 'Tag9406',
|
|
1887
1928
|
# - first byte must be 0x01 or 0x02 (enciphered 0x01 or 0x08),
|
|
1888
1929
|
# or 0x03 (enc. 0x1b) for ILCE-6100/6300/6400/6500/6600/7M3/7RM2/7RM3/7RM4/7SM2/9/9M2, and ILCA-99M2
|
|
1889
|
-
# or 0x04 (enc. 0x40) for ILCE-6700, ZV-E1
|
|
1890
1930
|
# third byte must be 0x02 or 0x03 (enciphered 0x08 or 0x1b) - ref JR
|
|
1891
1931
|
# (applies to most SLT/ILCA and NEX/ILCE models, but no DSC models)
|
|
1892
|
-
Condition => '$$valPt =~ /^[\x01\x08\x1b].[\x08\x1b]/s
|
|
1932
|
+
Condition => '$$valPt =~ /^[\x01\x08\x1b].[\x08\x1b]/s',
|
|
1893
1933
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9406' },
|
|
1934
|
+
},{
|
|
1935
|
+
Name => 'Tag9406b',
|
|
1936
|
+
# - first byte 0x04 (enc. 0x40) for ILCE-6700/7CM2/7CR/9M3, ZV-E1
|
|
1937
|
+
Condition => '$$valPt =~ /^[\x40]/s',
|
|
1938
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9406b' },
|
|
1894
1939
|
},{
|
|
1895
1940
|
Name => 'Sony_0x9406',
|
|
1896
1941
|
%unknownCipherData,
|
|
@@ -1983,6 +2028,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1983
2028
|
'3 3 5 0' => 'ARW 2.3.5', #JR (DSC-HX99)
|
|
1984
2029
|
'4 0 0 0' => 'ARW 4.0', # (ILCE-7SM3)
|
|
1985
2030
|
'4 0 1 0' => 'ARW 4.0.1', #github#195 (ZV-E1)
|
|
2031
|
+
'5 0 0 0' => 'ARW 5.0', # (ILCE-9M3)
|
|
1986
2032
|
# what about cRAW images?
|
|
1987
2033
|
},
|
|
1988
2034
|
},
|
|
@@ -2089,9 +2135,12 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
2089
2135
|
389 => 'ZV-1F', #IB
|
|
2090
2136
|
390 => 'ILCE-7RM5', #IB
|
|
2091
2137
|
391 => 'ILME-FX30', #JR
|
|
2138
|
+
392 => 'ILCE-9M3', #JR
|
|
2092
2139
|
393 => 'ZV-E1', #JR
|
|
2093
2140
|
394 => 'ILCE-6700', #JR
|
|
2094
2141
|
395 => 'ZV-1M2', #JR
|
|
2142
|
+
396 => 'ILCE-7CR', #JR
|
|
2143
|
+
397 => 'ILCE-7CM2', #JR
|
|
2095
2144
|
},
|
|
2096
2145
|
},
|
|
2097
2146
|
0xb020 => { #2
|
|
@@ -7896,7 +7945,7 @@ my %isoSetting2010 = (
|
|
|
7896
7945
|
},
|
|
7897
7946
|
0x01eb => {
|
|
7898
7947
|
Name => 'APS-CSizeCapture',
|
|
7899
|
-
Condition => '$$self{Model} =~ /^ILCE-(7RM4A?|7C|9M2)
|
|
7948
|
+
Condition => '$$self{Model} =~ /^ILCE-(7RM4A?|7C|9M2)/ or $$self{Software} =~ /^ILCE-9 (v5.0|v6.0)/',
|
|
7900
7949
|
PrintConv => {
|
|
7901
7950
|
0 => 'Off',
|
|
7902
7951
|
1 => 'On',
|
|
@@ -8110,14 +8159,14 @@ my %isoSetting2010 = (
|
|
|
8110
8159
|
WRITE_PROC => \&WriteEnciphered,
|
|
8111
8160
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
8112
8161
|
FORMAT => 'int8u',
|
|
8113
|
-
NOTES => 'Valid for ILCE-6700/ZV-E1.',
|
|
8162
|
+
NOTES => 'Valid for ILCE-6700/7CM2/7CR/ZV-E1.',
|
|
8114
8163
|
WRITABLE => 1,
|
|
8115
8164
|
FIRST_ENTRY => 0,
|
|
8116
8165
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8117
8166
|
0x000a => {
|
|
8118
8167
|
Name => 'ShutterCount',
|
|
8119
8168
|
# number of mechanical shutter actuations, does not increase during electronic shutter / Silent Shooting
|
|
8120
|
-
Condition => '$$self{Model} =~ /^(ILCE-6700)/',
|
|
8169
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR))/',
|
|
8121
8170
|
Format => 'int32u',
|
|
8122
8171
|
Notes => 'total number of image exposures made by the camera',
|
|
8123
8172
|
RawConv => '$val & 0x00ffffff',
|
|
@@ -8377,7 +8426,7 @@ my %isoSetting2010 = (
|
|
|
8377
8426
|
},
|
|
8378
8427
|
0x002a => [{
|
|
8379
8428
|
Name => 'Quality2',
|
|
8380
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7M4|7RM5|7SM3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
|
8429
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
|
8381
8430
|
PrintConv => {
|
|
8382
8431
|
0 => 'JPEG',
|
|
8383
8432
|
1 => 'RAW',
|
|
@@ -8394,15 +8443,15 @@ my %isoSetting2010 = (
|
|
|
8394
8443
|
6 => 'RAW + HEIF',
|
|
8395
8444
|
},
|
|
8396
8445
|
}],
|
|
8397
|
-
0x0047 => {
|
|
8398
|
-
Name => 'SonyImageHeight',
|
|
8399
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7M4|7RM5|7SM3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
|
8400
|
-
Format => 'int16u',
|
|
8401
|
-
PrintConv => '$val > 0 ? 8*$val : "n.a."',
|
|
8402
|
-
},
|
|
8446
|
+
# 0x0047 => { # often incorrect, requires 16x for some models
|
|
8447
|
+
# Name => 'SonyImageHeight',
|
|
8448
|
+
# Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
|
8449
|
+
# Format => 'int16u',
|
|
8450
|
+
# PrintConv => '$val > 0 ? 8*$val : "n.a."',
|
|
8451
|
+
# },
|
|
8403
8452
|
0x0053 => {
|
|
8404
8453
|
Name => 'ModelReleaseYear',
|
|
8405
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7M4|7RM5|7SM3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
|
8454
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|6700|7CM2|7CR|7M4|7RM5|7SM3|9M3)|ILME-(FX3|FX30)|ZV-E1)\b/',
|
|
8406
8455
|
Format => 'int8u',
|
|
8407
8456
|
PrintConv => 'sprintf("20%.2d", $val)',
|
|
8408
8457
|
},
|
|
@@ -8441,10 +8490,11 @@ my %isoSetting2010 = (
|
|
|
8441
8490
|
FIRST_ENTRY => 0,
|
|
8442
8491
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8443
8492
|
DATAMEMBER => [ 0 ],
|
|
8444
|
-
IS_SUBDIR => [ 0x03e2, 0x044e, 0x0498, 0x049d, 0x04a1, 0x04a2, 0x04ba, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
|
8493
|
+
IS_SUBDIR => [ 0x03e2, 0x03f4, 0x044e, 0x0498, 0x049d, 0x04a1, 0x04a2, 0x04ba, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
|
8445
8494
|
0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
|
|
8446
8495
|
|
|
8447
8496
|
0x03e2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 181', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8497
|
+
0x03f4 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 185', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8448
8498
|
0x044e => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 178', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8449
8499
|
0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8450
8500
|
0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
@@ -8521,8 +8571,8 @@ my %isoSetting2010 = (
|
|
|
8521
8571
|
14 => 'Tracking',
|
|
8522
8572
|
15 => 'Face Tracking',
|
|
8523
8573
|
20 => 'Animal Eye Tracking',
|
|
8524
|
-
|
|
8525
|
-
# 22 => '???',
|
|
8574
|
+
21 => 'Human Eye Tracking', # always "Face tracking", seen for ILCE-7SM3, ILCE-1 and newer
|
|
8575
|
+
# 22 => 'Object Tracking???', # always "Lock On AF", seen for ILCE-6700, ZV-E1 (no animal or human in picture)
|
|
8526
8576
|
255 => 'Manual',
|
|
8527
8577
|
},
|
|
8528
8578
|
},
|
|
@@ -8993,29 +9043,19 @@ my %isoSetting2010 = (
|
|
|
8993
9043
|
FORMAT => 'int8u',
|
|
8994
9044
|
WRITABLE => 1,
|
|
8995
9045
|
FIRST_ENTRY => 0,
|
|
8996
|
-
DATAMEMBER => [ 0 ],
|
|
8997
9046
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8998
9047
|
# 0x0000: 1 for SLT-A37/A57/A65/A77, NEX-5N/7/F3/VG20
|
|
8999
9048
|
# 2 for SLT-A58/99V, NEX-3N/5R/5T/6/VG30/VG900, ILCA-68/77M2, ILCE-3000/3500/7/7M2/7R/7S/5000/6000
|
|
9000
|
-
# 3 for ILCA-99M2, ILCE-6100/6300/6400/6500/6600/7M3/7RM2/7RM3/7RM4/7SM2/9/9M2
|
|
9001
|
-
# 4 for ILCE-6700, ZV-E1
|
|
9002
|
-
0x0000 => { Name => 'Ver9406', Hidden => 1, RawConv => '$$self{Ver9406} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
|
|
9049
|
+
# 3 for ILCA-99M2, ILCE-6100/6300/6400/6500/6600/7C/7M3/7M4/7RM2/7RM3/7RM4/7RM5/7SM2/7SM3/9/9M2/1
|
|
9003
9050
|
# 0x0001+0x0002: Int16u, seen 580 - 770: similar to "BatteryUnknown" ??
|
|
9004
9051
|
# 0x0005: int8u, seen 73 - 117: maybe Fahrenheit? Higher than "AmbientTemperature", but same trend.
|
|
9005
|
-
0x0005 =>
|
|
9052
|
+
0x0005 => {
|
|
9006
9053
|
Name => 'BatteryTemperature',
|
|
9007
|
-
Condition => '$$self{Ver9406} != 4',
|
|
9008
9054
|
ValueConv => '($val - 32) / 1.8', # convert to Celsius
|
|
9009
9055
|
ValueConvInv => '$val * 1.8 + 32',
|
|
9010
9056
|
PrintConv => 'sprintf("%.1f C",$val)',
|
|
9011
9057
|
PrintConvInv => '$val=~s/\s*C//; $val',
|
|
9012
|
-
},
|
|
9013
|
-
Name => 'BatteryLevel',
|
|
9014
|
-
Condition => '$$self{Ver9406} == 4',
|
|
9015
|
-
RawConv => '$val ? $val : undef', # only valid when not 0
|
|
9016
|
-
PrintConv => '"$val%"',
|
|
9017
|
-
PrintConvInv => '$val=~s/\s*\%//; $val',
|
|
9018
|
-
}],
|
|
9058
|
+
},
|
|
9019
9059
|
# 0x0006: usually 0, seen non-zero values only for SLT-A99V, ILCA-77M2/99M2 and ILCE-7/7R/7RM2/9: BatteryLevel Grip ?
|
|
9020
9060
|
0x0006 => {
|
|
9021
9061
|
Name => 'BatteryLevelGrip1',
|
|
@@ -9026,7 +9066,6 @@ my %isoSetting2010 = (
|
|
|
9026
9066
|
# 0x0007: seen values from 8 - 105, decreasing in sequences of images: BatteryLevel
|
|
9027
9067
|
0x0007 => {
|
|
9028
9068
|
Name => 'BatteryLevel',
|
|
9029
|
-
Condition => '$$self{Ver9406} != 4',
|
|
9030
9069
|
PrintConv => '"$val%"',
|
|
9031
9070
|
PrintConvInv => '$val=~s/\s*\%//; $val',
|
|
9032
9071
|
},
|
|
@@ -9045,6 +9084,49 @@ my %isoSetting2010 = (
|
|
|
9045
9084
|
# 0x0025: 0 or 1 for other SLT and NEX (0x0022, 0x0023, 0x0024 = 255)
|
|
9046
9085
|
);
|
|
9047
9086
|
|
|
9087
|
+
# Tag9406b (ref JR)
|
|
9088
|
+
%Image::ExifTool::Sony::Tag9406b = (
|
|
9089
|
+
PROCESS_PROC => \&ProcessEnciphered,
|
|
9090
|
+
WRITE_PROC => \&WriteEnciphered,
|
|
9091
|
+
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
9092
|
+
FORMAT => 'int8u',
|
|
9093
|
+
WRITABLE => 1,
|
|
9094
|
+
FIRST_ENTRY => 0,
|
|
9095
|
+
DATAMEMBER => [ 1, 4, 6 ],
|
|
9096
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
9097
|
+
# 0x0000: 4 for ILCE-6700/7CM2/7CR/9M3, ZV-E1
|
|
9098
|
+
0x0001 => {
|
|
9099
|
+
Name => 'Battery2',
|
|
9100
|
+
Hidden => 1,
|
|
9101
|
+
RawConv => '$$self{Battery2} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val',
|
|
9102
|
+
# 0 for single battery, 1 for 2 batteries
|
|
9103
|
+
},
|
|
9104
|
+
0x0004 => {
|
|
9105
|
+
Name => 'BatteryStatus1',
|
|
9106
|
+
Hidden => 1,
|
|
9107
|
+
# seen 3, 5, 7: when 3 or 7 0x0005 appears valid; when 5, 0x0005 always 0
|
|
9108
|
+
RawConv => '$$self{BatteryStatus1} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val',
|
|
9109
|
+
},
|
|
9110
|
+
0x0005 => {
|
|
9111
|
+
Name => 'BatteryLevel',
|
|
9112
|
+
Condition => '$$self{BatteryStatus1} != 5',
|
|
9113
|
+
PrintConv => '"$val%"',
|
|
9114
|
+
PrintConvInv => '$val=~s/\s*\%//; $val',
|
|
9115
|
+
},
|
|
9116
|
+
0x0006 => {
|
|
9117
|
+
Name => 'BatteryStatus2',
|
|
9118
|
+
Condition => '$$self{Battery2} == 1',
|
|
9119
|
+
Hidden => 1,
|
|
9120
|
+
RawConv => '$$self{BatteryStatus2} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val',
|
|
9121
|
+
},
|
|
9122
|
+
0x0007 => {
|
|
9123
|
+
Name => 'BatteryLevel2',
|
|
9124
|
+
Condition => '$$self{Battery2} == 1 and $$self{BatteryStatus2} != 5',
|
|
9125
|
+
PrintConv => '"$val%"',
|
|
9126
|
+
PrintConvInv => '$val=~s/\s*\%//; $val',
|
|
9127
|
+
},
|
|
9128
|
+
);
|
|
9129
|
+
|
|
9048
9130
|
# Tag940a (ref PH, decoded mainly from A77)
|
|
9049
9131
|
%Image::ExifTool::Sony::Tag940a = (
|
|
9050
9132
|
PROCESS_PROC => \&ProcessEnciphered,
|
|
@@ -9739,7 +9821,7 @@ my %isoSetting2010 = (
|
|
|
9739
9821
|
WRITE_PROC => \&WriteEnciphered,
|
|
9740
9822
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
9741
9823
|
FORMAT => 'int8u',
|
|
9742
|
-
NOTES => 'Valid for the ILCE-1/6700/7M4/7RM5/7SM3, ILME-FX3/FX30, ZV-E1.',
|
|
9824
|
+
NOTES => 'Valid for the ILCE-1/6700/7CM2/7CR/7M4/7RM5/7SM3/9M3, ILME-FX3/FX30, ZV-E1.',
|
|
9743
9825
|
FIRST_ENTRY => 0,
|
|
9744
9826
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
9745
9827
|
0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
|
|
@@ -9783,12 +9865,36 @@ my %isoSetting2010 = (
|
|
|
9783
9865
|
PrintConvInv => '$val',
|
|
9784
9866
|
},
|
|
9785
9867
|
0x001d => { %sequenceImageNumber },
|
|
9868
|
+
0x002b => { %releaseMode2 },
|
|
9786
9869
|
0x0035 => {
|
|
9787
9870
|
Name => 'ExposureProgram',
|
|
9788
9871
|
Priority => 0,
|
|
9789
9872
|
SeparateTable => 'ExposureProgram3',
|
|
9790
9873
|
PrintConv => \%sonyExposureProgram3,
|
|
9791
9874
|
},
|
|
9875
|
+
0x0037 => {
|
|
9876
|
+
Name => 'CreativeStyle',
|
|
9877
|
+
PrintConv => {
|
|
9878
|
+
0 => 'Standard',
|
|
9879
|
+
1 => 'Vivid',
|
|
9880
|
+
2 => 'Neutral',
|
|
9881
|
+
3 => 'Portrait',
|
|
9882
|
+
4 => 'Landscape',
|
|
9883
|
+
5 => 'B&W',
|
|
9884
|
+
6 => 'Clear',
|
|
9885
|
+
7 => 'Deep',
|
|
9886
|
+
8 => 'Light',
|
|
9887
|
+
9 => 'Sunset',
|
|
9888
|
+
10 => 'Night View/Portrait',
|
|
9889
|
+
11 => 'Autumn Leaves',
|
|
9890
|
+
13 => 'Sepia',
|
|
9891
|
+
15 => 'FL',
|
|
9892
|
+
16 => 'VV2',
|
|
9893
|
+
17 => 'IN',
|
|
9894
|
+
18 => 'SH',
|
|
9895
|
+
255 => 'Off',
|
|
9896
|
+
},
|
|
9897
|
+
},
|
|
9792
9898
|
0x0048 => {
|
|
9793
9899
|
Name => 'LensMount',
|
|
9794
9900
|
Condition => '$$self{Model} !~ /^(DSC-)/',
|
|
@@ -9876,9 +9982,9 @@ my %isoSetting2010 = (
|
|
|
9876
9982
|
Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
|
|
9877
9983
|
Format => 'int16s[16]',
|
|
9878
9984
|
},
|
|
9879
|
-
0x089d => { # Note: 32 values for these newer models, and 32 non-zero values present for new lenses like SEL2470GM2 and
|
|
9985
|
+
0x089d => { # Note: 32 values for these newer models, and 32 non-zero values present for new lenses like SEL2470GM2 and SEL2070G
|
|
9880
9986
|
Name => 'VignettingCorrParams',
|
|
9881
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6700|7RM5)|ILME-FX30|ZV-E1)\b/',
|
|
9987
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-E1)\b/',
|
|
9882
9988
|
Format => 'int16s[32]',
|
|
9883
9989
|
},
|
|
9884
9990
|
0x08b5 => {
|
|
@@ -9899,7 +10005,7 @@ my %isoSetting2010 = (
|
|
|
9899
10005
|
},
|
|
9900
10006
|
0x08e5 => {
|
|
9901
10007
|
Name => 'APS-CSizeCapture',
|
|
9902
|
-
Condition => '$$self{Model} =~ /^(ILCE-7RM5|ZV-E1)\b/',
|
|
10008
|
+
Condition => '$$self{Model} =~ /^(ILCE-(7CM2|7CR|7RM5)|ZV-E1)\b/',
|
|
9903
10009
|
PrintConv => {
|
|
9904
10010
|
0 => 'Off',
|
|
9905
10011
|
1 => 'On',
|
|
@@ -9917,7 +10023,7 @@ my %isoSetting2010 = (
|
|
|
9917
10023
|
},
|
|
9918
10024
|
0x0945 => {
|
|
9919
10025
|
Name => 'ChromaticAberrationCorrParams',
|
|
9920
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6700|7RM5)|ILME-FX30|ZV-E1)\b/',
|
|
10026
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6700|7CM2|7CR|7RM5)|ILME-FX30|ZV-E1)\b/',
|
|
9921
10027
|
Format => 'int16s[32]',
|
|
9922
10028
|
},
|
|
9923
10029
|
);
|