exiftool_vendored 12.17.1 → 12.32.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 +225 -1
- data/bin/MANIFEST +23 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +45 -43
- data/bin/arg_files/xmp2exif.args +2 -1
- data/bin/config_files/acdsee.config +193 -6
- data/bin/config_files/convert_regions.config +25 -14
- data/bin/config_files/cuepointlist.config +70 -0
- data/bin/config_files/example.config +2 -9
- data/bin/exiftool +142 -87
- data/bin/fmt_files/gpx.fmt +2 -2
- data/bin/fmt_files/gpx_wpt.fmt +2 -2
- data/bin/fmt_files/kml.fmt +1 -1
- data/bin/fmt_files/kml_track.fmt +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +3 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +30 -12
- data/bin/lib/Image/ExifTool/CBOR.pm +277 -0
- data/bin/lib/Image/ExifTool/Canon.pm +49 -18
- data/bin/lib/Image/ExifTool/DJI.pm +6 -6
- data/bin/lib/Image/ExifTool/DPX.pm +13 -2
- data/bin/lib/Image/ExifTool/DjVu.pm +6 -5
- data/bin/lib/Image/ExifTool/Exif.pm +28 -11
- data/bin/lib/Image/ExifTool/FITS.pm +13 -2
- data/bin/lib/Image/ExifTool/FlashPix.pm +35 -10
- data/bin/lib/Image/ExifTool/FujiFilm.pm +19 -8
- data/bin/lib/Image/ExifTool/GPS.pm +22 -11
- data/bin/lib/Image/ExifTool/Geotag.pm +13 -2
- data/bin/lib/Image/ExifTool/GoPro.pm +16 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +2 -2
- data/bin/lib/Image/ExifTool/ID3.pm +15 -3
- data/bin/lib/Image/ExifTool/JPEG.pm +74 -4
- data/bin/lib/Image/ExifTool/JSON.pm +27 -4
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +393 -16
- data/bin/lib/Image/ExifTool/LIF.pm +153 -0
- data/bin/lib/Image/ExifTool/Lang/nl.pm +60 -59
- data/bin/lib/Image/ExifTool/M2TS.pm +137 -5
- data/bin/lib/Image/ExifTool/MIE.pm +4 -3
- data/bin/lib/Image/ExifTool/MRC.pm +341 -0
- data/bin/lib/Image/ExifTool/MWG.pm +3 -3
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +298 -82
- data/bin/lib/Image/ExifTool/Nikon.pm +19 -8
- data/bin/lib/Image/ExifTool/NikonSettings.pm +28 -11
- data/bin/lib/Image/ExifTool/Olympus.pm +6 -3
- data/bin/lib/Image/ExifTool/Other.pm +93 -0
- data/bin/lib/Image/ExifTool/PDF.pm +9 -12
- data/bin/lib/Image/ExifTool/PNG.pm +8 -7
- data/bin/lib/Image/ExifTool/Panasonic.pm +28 -3
- data/bin/lib/Image/ExifTool/Pentax.pm +28 -5
- data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -3
- data/bin/lib/Image/ExifTool/Photoshop.pm +6 -0
- data/bin/lib/Image/ExifTool/QuickTime.pm +247 -88
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +283 -141
- data/bin/lib/Image/ExifTool/README +3 -0
- data/bin/lib/Image/ExifTool/RIFF.pm +89 -12
- data/bin/lib/Image/ExifTool/Samsung.pm +48 -10
- data/bin/lib/Image/ExifTool/Shortcuts.pm +9 -0
- data/bin/lib/Image/ExifTool/Sony.pm +237 -78
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +1 -0
- data/bin/lib/Image/ExifTool/TagLookup.pm +4125 -4028
- data/bin/lib/Image/ExifTool/TagNames.pod +644 -286
- data/bin/lib/Image/ExifTool/Torrent.pm +18 -11
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -0
- data/bin/lib/Image/ExifTool/WritePNG.pl +2 -0
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -0
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +55 -21
- data/bin/lib/Image/ExifTool/WriteXMP.pl +7 -3
- data/bin/lib/Image/ExifTool/Writer.pl +47 -10
- data/bin/lib/Image/ExifTool/XMP.pm +39 -14
- data/bin/lib/Image/ExifTool/XMP2.pl +2 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +3 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +121 -2
- data/bin/lib/Image/ExifTool.pm +223 -72
- data/bin/lib/Image/ExifTool.pod +114 -93
- data/bin/perl-Image-ExifTool.spec +43 -42
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +28 -13
@@ -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.45';
|
38
38
|
|
39
39
|
sub ProcessSRF($$$);
|
40
40
|
sub ProcessSR2($$$);
|
@@ -71,8 +71,8 @@ sub PrintInvLensSpec($;$$);
|
|
71
71
|
'0.12' => 'Zeiss Loxia 35mm F2', # (firmware Ver.01)
|
72
72
|
1 => 'Sony LA-EA1 or Sigma MC-11 Adapter', # MC-11 with not-supported lenses
|
73
73
|
2 => 'Sony LA-EA2 Adapter',
|
74
|
-
3 => 'Sony LA-EA3 Adapter',
|
75
|
-
6 => 'Sony LA-EA4 Adapter',
|
74
|
+
3 => 'Sony LA-EA3 Adapter',
|
75
|
+
6 => 'Sony LA-EA4 Adapter',
|
76
76
|
7 => 'Sony LA-EA5 Adapter', #JR
|
77
77
|
# 27 => Venus Optics Laowa 12mm f2.8 Zero-D or 105mm f2 (T3.2) Smooth Trans Focus (ref IB)
|
78
78
|
44 => 'Metabones Canon EF Smart Adapter', #JR
|
@@ -80,6 +80,7 @@ sub PrintInvLensSpec($;$$);
|
|
80
80
|
184 => 'Metabones Canon EF Speed Booster Ultra', #JR ('Green' mode, LensMount reported as A-mount)
|
81
81
|
234 => 'Metabones Canon EF Smart Adapter Mark IV', #JR (LensMount reported as A-mount)
|
82
82
|
239 => 'Metabones Canon EF Speed Booster', #JR
|
83
|
+
24593 => 'LA-EA4r MonsterAdapter',
|
83
84
|
# Sony VX product code: (http://www.mi-fo.de/forum/index.php?s=7df1c8d3b1cd675f2abf4f4442e19cf2&showtopic=35035&view=findpost&p=303746)
|
84
85
|
32784 => 'Sony E 16mm F2.8', # VX9100
|
85
86
|
32785 => 'Sony E 18-55mm F3.5-5.6 OSS', # VX9101
|
@@ -142,11 +143,17 @@ sub PrintInvLensSpec($;$$);
|
|
142
143
|
32852 => 'Sony FE 600mm F4 GM OSS', #IB
|
143
144
|
32853 => 'Sony E 16-55mm F2.8 G', #IB/JR
|
144
145
|
32854 => 'Sony E 70-350mm F4.5-6.3 G OSS', #IB/JR
|
146
|
+
32855 => 'Sony FE C 16-35mm T3.1 G', #JR (SELC1635G) (max aperture is 2.8)
|
145
147
|
32858 => 'Sony FE 35mm F1.8', #JR/IB
|
146
148
|
32859 => 'Sony FE 20mm F1.8 G', #IB/JR
|
147
149
|
32860 => 'Sony FE 12-24mm F2.8 GM', #JR/IB
|
150
|
+
32862 => 'Sony FE 50mm F1.2 GM', #IB/JR
|
151
|
+
32863 => 'Sony FE 14mm F1.8 GM', #IB
|
148
152
|
32864 => 'Sony FE 28-60mm F4-5.6', #JR
|
149
153
|
32865 => 'Sony FE 35mm F1.4 GM', #IB/JR
|
154
|
+
32866 => 'Sony FE 24mm F2.8 G', #IB
|
155
|
+
32867 => 'Sony FE 40mm F2.5 G', #IB
|
156
|
+
32868 => 'Sony FE 50mm F2.5 G', #IB
|
150
157
|
|
151
158
|
# (comment this out so LensID will report the LensModel, which is more useful)
|
152
159
|
# 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
|
@@ -187,7 +194,12 @@ sub PrintInvLensSpec($;$$);
|
|
187
194
|
49463 => 'Tamron 28-200mm F2.8-5.6 Di III RXD', #JR (Model A071)
|
188
195
|
49464 => 'Tamron 70-300mm F4.5-6.3 Di III RXD', #JR (Model A047)
|
189
196
|
49465 => 'Tamron 17-70mm F2.8 Di III-A VC RXD', #JR (Model B070)
|
190
|
-
|
197
|
+
49466 => 'Tamron 150-500mm F5-6.7 Di III VC VXD', #JR (Model A057)
|
198
|
+
49467 => 'Tamron 11-20mm F2.8 Di III-A RXD', #JR (Model B060)
|
199
|
+
|
200
|
+
49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
|
201
|
+
49473.1 => 'Viltrox 23mm F1.4 E', #JR
|
202
|
+
49473.2 => 'Viltrox 56mm F1.4 E', #JR
|
191
203
|
49712 => 'Tokina FiRIN 20mm F2 FE AF', # (firmware Ver.01)
|
192
204
|
49713 => 'Tokina FiRIN 100mm F2.8 FE MACRO', # (firmware Ver.01)
|
193
205
|
|
@@ -221,6 +233,12 @@ sub PrintInvLensSpec($;$$);
|
|
221
233
|
50522 => 'Sigma 105mm F2.8 DG DN MACRO | A', #JR (020)
|
222
234
|
50523 => 'Sigma 65mm F2 DG DN | C', #IB (020)
|
223
235
|
50524 => 'Sigma 35mm F2 DG DN | C', #IB (020)
|
236
|
+
50525 => 'Sigma 24mm F3.5 DG DN | C', #JR (021)
|
237
|
+
50526 => 'Sigma 28-70mm F2.8 DG DN | C', #JR (021)
|
238
|
+
50527 => 'Sigma 150-600mm F5-6.3 DG DN OS | S', #JR (021)
|
239
|
+
50528 => 'Sigma 35mm F1.4 DG DN | A', #IB/JR (021)
|
240
|
+
50529 => 'Sigma 90mm F2.8 DG DN | C', #JR (021)
|
241
|
+
50530 => 'Sigma 24mm F2 DG DN | C', #JR (021)
|
224
242
|
|
225
243
|
50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
|
226
244
|
50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
|
@@ -234,6 +252,7 @@ sub PrintInvLensSpec($;$$);
|
|
234
252
|
51001 => 'Voigtlander NOKTON 21mm F1.4 Aspherical', #JR
|
235
253
|
51002 => 'Voigtlander APO-LANTHAR 50mm F2 Aspherical', #JR
|
236
254
|
51003 => 'Voigtlander NOKTON 35mm F1.2 Aspherical SE', #JR
|
255
|
+
51006 => 'Voigtlander APO-LANTHAR 35mm F2 Aspherical', #JR
|
237
256
|
|
238
257
|
# lenses listed in the Sigma MC-11 list, but not yet seen:
|
239
258
|
# 504xx => 'Sigma 18-200mm F3.5-6.3 DC MACRO OS HSM | C + MC-11', # (014)
|
@@ -249,6 +268,7 @@ sub PrintInvLensSpec($;$$);
|
|
249
268
|
51510 => 'Samyang AF 18mm F2.8 or Samyang AF 35mm F1.8', #JR
|
250
269
|
51510.1 => 'Samyang AF 35mm F1.8', #JR
|
251
270
|
51512 => 'Samyang AF 75mm F1.8', #IB/JR
|
271
|
+
51514 => 'Samyang AF 24mm F1.8', #IB
|
252
272
|
);
|
253
273
|
|
254
274
|
# ExposureProgram values (ref PH, mainly decoded from A200)
|
@@ -623,9 +643,10 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
623
643
|
3 => 'Standard',
|
624
644
|
4 => 'Economy',
|
625
645
|
5 => 'Extra Fine',
|
626
|
-
6 => 'RAW + JPEG',
|
646
|
+
6 => 'RAW + JPEG/HEIF',
|
627
647
|
7 => 'Compressed RAW',
|
628
648
|
8 => 'Compressed RAW + JPEG',
|
649
|
+
9 => 'Light', #JR
|
629
650
|
0xffffffff => 'n/a', #PH (SLT-A57 panorama)
|
630
651
|
},
|
631
652
|
},
|
@@ -1010,7 +1031,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1010
1031
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010h' },
|
1011
1032
|
},{
|
1012
1033
|
Name => 'Tag2010i', # ?
|
1013
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|
|
1034
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9|9M2)|DSC-(RX10M4|RX100M6|RX100M5A|RX100M7|HX99|RX0M2)|ZV-(1|E10))\b/',
|
1014
1035
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010i' },
|
1015
1036
|
},{
|
1016
1037
|
Name => 'Tag_0x2010',
|
@@ -1118,7 +1139,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1118
1139
|
},
|
1119
1140
|
},{
|
1120
1141
|
Name => 'AFAreaModeSetting',
|
1121
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
|
1142
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
|
1122
1143
|
Notes => 'NEX, ILCE and some DSC models',
|
1123
1144
|
RawConv => '$$self{AFAreaILCE} = $val',
|
1124
1145
|
DataMember => 'AFAreaILCE',
|
@@ -1154,7 +1175,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1154
1175
|
# observed values in range (0 0) to (640 480), with center (320 240) often seen
|
1155
1176
|
# for NEX-5R/6, positions appear to be in an 11x9 grid
|
1156
1177
|
Name => 'FlexibleSpotPosition',
|
1157
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
|
1178
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
|
1158
1179
|
Writable => 'int16u',
|
1159
1180
|
Count => 2,
|
1160
1181
|
Notes => q{
|
@@ -1169,7 +1190,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1169
1190
|
# doesn't seem to apply to DSC models (always 0)
|
1170
1191
|
Name => 'AFPointSelected',
|
1171
1192
|
Condition => q{
|
1172
|
-
($$self{Model} =~ /^(SLT-|HV)/) or ($$self{Model} =~ /^ILCE
|
1193
|
+
($$self{Model} =~ /^(SLT-|HV)/) or ($$self{Model} =~ /^(ILCE-|ILME-)/ and
|
1173
1194
|
defined $$self{AFAreaILCE} and $$self{AFAreaILCE} == 4)
|
1174
1195
|
},
|
1175
1196
|
Notes => 'SLT models or ILCE with LA-EA2/EA4',
|
@@ -1247,7 +1268,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1247
1268
|
Name => 'AFPointSelected',
|
1248
1269
|
# non-zero only when AFAreaMode is 'Zone', and 'Expanded-Flexible-Spot' for ILCE-6300/7RM2/7SM2
|
1249
1270
|
# each Zone has 3x3 AF Areas --> 9 positions within 5x5 total Contrast AF Areas
|
1250
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-)/',
|
1271
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-)/',
|
1251
1272
|
Notes => 'NEX and ILCE models',
|
1252
1273
|
Writable => 'int8u',
|
1253
1274
|
PrintConv => {
|
@@ -1404,6 +1425,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1404
1425
|
PrintConv => {
|
1405
1426
|
0 => 'Compressed RAW',
|
1406
1427
|
1 => 'Uncompressed RAW',
|
1428
|
+
2 => 'Lossless Compressed RAW', #JR (NC) seen for ILCE-1
|
1407
1429
|
65535 => 'n/a', # seen for ILCE-7SM3 JPEG-only
|
1408
1430
|
},
|
1409
1431
|
},
|
@@ -1451,13 +1473,15 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1451
1473
|
Count => 2,
|
1452
1474
|
PrintConv => {
|
1453
1475
|
'0 0' => 'n/a',
|
1454
|
-
'0 1' => 'Standard
|
1455
|
-
'0 2' => 'Fine
|
1456
|
-
'0 3' => 'Extra Fine
|
1476
|
+
'0 1' => 'Standard',
|
1477
|
+
'0 2' => 'Fine',
|
1478
|
+
'0 3' => 'Extra Fine',
|
1479
|
+
'0 4' => 'Light', #JR
|
1457
1480
|
'1 0' => 'RAW',
|
1458
|
-
'1 1' => 'RAW + Standard
|
1459
|
-
'1 2' => 'RAW + Fine
|
1460
|
-
'1 3' => 'RAW + Extra Fine
|
1481
|
+
'1 1' => 'RAW + Standard',
|
1482
|
+
'1 2' => 'RAW + Fine',
|
1483
|
+
'1 3' => 'RAW + Extra Fine',
|
1484
|
+
'1 4' => 'RAW + Light', #JR
|
1461
1485
|
},
|
1462
1486
|
},
|
1463
1487
|
0x202f => { #JR (ILCE-7RM3)
|
@@ -1478,7 +1502,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1478
1502
|
my ($a,$b,$c,$d) = split ' ', $val;
|
1479
1503
|
my @a = $a =~ /../g;
|
1480
1504
|
return undef unless @a == 4;
|
1481
|
-
return Set32u((hex($d)<<22) | ($a[0]<<17) | ($a[1]<<12) | ($a[2]<<6) | $a[3]) . chr($b) . chr($c);
|
1505
|
+
return Set32u((hex($d)<<22) | ($a[0]<<17) | ($a[1]<<12) | ($a[2]<<6) | $a[3]) . chr($b & 0xff) . chr($c & 0xff);
|
1482
1506
|
},
|
1483
1507
|
PrintConv => {
|
1484
1508
|
'00000000 0 0 0x0' => 'n/a',
|
@@ -1503,13 +1527,57 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1503
1527
|
PrintConv => 'sprintf("%.8d",$val)',
|
1504
1528
|
PrintConvInv => '$val',
|
1505
1529
|
},
|
1506
|
-
# 0x2032 -
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
|
1530
|
+
# 0x2032 - 0x2039: from July 2020 for ILCE-7SM3, ILCE-1, ILME-FX3 and newer
|
1531
|
+
0x2032 => {
|
1532
|
+
Name => 'Shadows',
|
1533
|
+
Writable => 'int32s',
|
1534
|
+
PrintConv => '$val > 0 ? "+$val" : $val',
|
1535
|
+
PrintConvInv => '$val',
|
1536
|
+
},
|
1537
|
+
0x2033 => {
|
1538
|
+
Name => 'Highlights',
|
1539
|
+
Writable => 'int32s',
|
1540
|
+
PrintConv => '$val > 0 ? "+$val" : $val',
|
1541
|
+
PrintConvInv => '$val',
|
1542
|
+
},
|
1543
|
+
0x2034 => {
|
1544
|
+
Name => 'Fade',
|
1545
|
+
Writable => 'int32s',
|
1546
|
+
PrintConv => '$val > 0 ? "+$val" : $val',
|
1547
|
+
PrintConvInv => '$val',
|
1548
|
+
},
|
1549
|
+
0x2035 => {
|
1550
|
+
Name => 'SharpnessRange',
|
1551
|
+
Writable => 'int32s',
|
1552
|
+
PrintConv => '$val > 0 ? "+$val" : $val',
|
1553
|
+
PrintConvInv => '$val',
|
1554
|
+
},
|
1555
|
+
0x2036 => {
|
1556
|
+
Name => 'Clarity',
|
1557
|
+
Writable => 'int32s',
|
1558
|
+
PrintConv => '$val > 0 ? "+$val" : $val',
|
1559
|
+
PrintConvInv => '$val',
|
1560
|
+
},
|
1561
|
+
0x2037 => {
|
1562
|
+
Name => 'FocusFrameSize',
|
1563
|
+
Format => 'int16u',
|
1564
|
+
Count => '3',
|
1565
|
+
Notes => 'width and height of FocusFrame, centered on FocusLocation',
|
1566
|
+
PrintConv => q{
|
1567
|
+
my @a = split ' ', $val;
|
1568
|
+
return $a[2] ? sprintf('%3dx%3d', $a[0], $a[1]) : 'n/a';
|
1569
|
+
},
|
1570
|
+
PrintConvInv => '$val =~ /(\d+)x(\d+)/ ? "$1 $2 257" : "0 0 0"',
|
1571
|
+
},
|
1572
|
+
0x2039 => { #JR
|
1573
|
+
Name => 'JPEG-HEIFSwitch', # (name used in camera menus)
|
1574
|
+
Writable => 'int16u',
|
1575
|
+
PrintConv => {
|
1576
|
+
0 => 'JPEG',
|
1577
|
+
1 => 'HEIF',
|
1578
|
+
65535 => 'n/a',
|
1579
|
+
},
|
1580
|
+
},
|
1513
1581
|
0x3000 => {
|
1514
1582
|
Name => 'ShotInfo',
|
1515
1583
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::ShotInfo' },
|
@@ -1538,21 +1606,21 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1538
1606
|
# from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
|
1539
1607
|
{
|
1540
1608
|
Name => 'Tag9050a',
|
1541
|
-
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(6100|6300|6400|6500|6600|7C|7M3|7RM2|
|
1609
|
+
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-)/',
|
1542
1610
|
SubDirectory => {
|
1543
1611
|
TagTable => 'Image::ExifTool::Sony::Tag9050a',
|
1544
1612
|
ByteOrder => 'LittleEndian',
|
1545
1613
|
},
|
1546
1614
|
},{
|
1547
1615
|
Name => 'Tag9050b',
|
1548
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6300|6400|6500|6600|7C|7M3|7RM2|
|
1616
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6300|6400|6500|6600|7C|7M3|7RM2|7RM3A?|7RM4A?|7SM2|9|9M2)|ILCA-99M2|ZV-E10)/',
|
1549
1617
|
SubDirectory => {
|
1550
1618
|
TagTable => 'Image::ExifTool::Sony::Tag9050b',
|
1551
1619
|
ByteOrder => 'LittleEndian',
|
1552
1620
|
},
|
1553
1621
|
},{
|
1554
1622
|
Name => 'Tag9050c',
|
1555
|
-
Condition => '$$self{Model} =~ /^(ILCE-7SM3)/',
|
1623
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)/',
|
1556
1624
|
SubDirectory => {
|
1557
1625
|
TagTable => 'Image::ExifTool::Sony::Tag9050c',
|
1558
1626
|
ByteOrder => 'LittleEndian',
|
@@ -1571,9 +1639,9 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1571
1639
|
# 0x23 (e) for DSC-RX10/HX60V/HX350/HX400V/WX220/WX350, ILCE-7/7R/5000/6000, ILCA-68/77M2
|
1572
1640
|
# 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
|
1573
1641
|
# 0x26 (e) for ILCE-6100/6400/6600/7M3/7RM3/9, DSC-RX0M2/RX10M4/RX100M5A/RX100M6/HX99
|
1574
|
-
# 0x28 (e) for ILCE-7RM4/9M2, DSC-RX100M7, ZV-1
|
1575
|
-
# 0x31 (e) for ILCE-7SM3
|
1576
|
-
# first byte decoded: 40, 204, 202, 27, 58, 62, 48, 215, 28 respectively
|
1642
|
+
# 0x28 (e) for ILCE-7RM4/9M2, DSC-RX100M7, ZV-1/E10
|
1643
|
+
# 0x31 (e) for ILCE-1/7SM3, ILME-FX3
|
1644
|
+
# first byte decoded: 40, 204, 202, 27, 58, 62, 48, 215, 28, 106 respectively
|
1577
1645
|
{
|
1578
1646
|
Name => 'Tag9400a',
|
1579
1647
|
Condition => q{
|
@@ -1587,7 +1655,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1587
1655
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400b' },
|
1588
1656
|
},{
|
1589
1657
|
Name => 'Tag9400c',
|
1590
|
-
Condition => '$$valPt =~ /^[\x23\x24\x26\x28\x31]/',
|
1658
|
+
Condition => '$$valPt =~ /^[\x23\x24\x26\x28\x31]/',
|
1591
1659
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400c' },
|
1592
1660
|
},{
|
1593
1661
|
Name => 'Sony_0x9400',
|
@@ -1746,7 +1814,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1746
1814
|
# 142 var (0x25 = 37 var enc.) DSC-HX80/HX90V/RX1RM2/RX10M2/RX10M3/RX100M4/WX500, ILCE-6300/7RM2/7SM2
|
1747
1815
|
# 144 var (0xe1 = 225 var enc.) DSC-RX100M5
|
1748
1816
|
# 145 var (0x76 = 118 var enc.) ILCA-99M2, ILCE-6500, DSC-RX0
|
1749
|
-
# 163 var (0x8b = 139 var enc.) ILCE-6100/6400/6600/7C/7M3/7RM3/7RM4/9/9M2, DSC-RX0M2/RX10M4/RX100M5A/RX100M6/RX100M7/HX99, ZV-1
|
1817
|
+
# 163 var (0x8b = 139 var enc.) ILCE-6100/6400/6600/7C/7M3/7RM3/7RM4/9/9M2, DSC-RX0M2/RX10M4/RX100M5A/RX100M6/RX100M7/HX99, ZV-1/E10
|
1750
1818
|
# July 2020: ILCE-7SM3 doesn't write this tag anymore, but writes 0x9416
|
1751
1819
|
0x9405 => [{
|
1752
1820
|
Name => 'Tag9405a',
|
@@ -1800,7 +1868,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1800
1868
|
},
|
1801
1869
|
0x940c => [{
|
1802
1870
|
Name => 'Tag940c',
|
1803
|
-
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|Lunar)\b/',
|
1871
|
+
Condition => '$$self{Model} =~ /^(NEX-|ILCE-|ILME-|Lunar|ZV-E10)\b/',
|
1804
1872
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag940c' },
|
1805
1873
|
},{
|
1806
1874
|
Name => 'Sony_0x940c',
|
@@ -1956,7 +2024,12 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
1956
2024
|
379 => 'ILCE-6100', #IB/JR
|
1957
2025
|
380 => 'ZV-1', #JR
|
1958
2026
|
381 => 'ILCE-7C', #JR
|
2027
|
+
382 => 'ZV-E10', #JR
|
1959
2028
|
383 => 'ILCE-7SM3',
|
2029
|
+
384 => 'ILCE-1', #PH
|
2030
|
+
385 => 'ILME-FX3', #JR
|
2031
|
+
386 => 'ILCE-7RM3A', #JR
|
2032
|
+
387 => 'ILCE-7RM4A', #forum12542
|
1960
2033
|
},
|
1961
2034
|
},
|
1962
2035
|
0xb020 => { #2
|
@@ -6067,6 +6140,10 @@ my %pictureProfile2010 = (
|
|
6067
6140
|
31 => 'Gamma S-Log3 (PP8 or PP9)', #14
|
6068
6141
|
33 => 'Gamma HLG2 (PP10)', #14
|
6069
6142
|
34 => 'Gamma HLG3', #IB
|
6143
|
+
37 => 'FL',
|
6144
|
+
38 => 'VV2',
|
6145
|
+
39 => 'IN',
|
6146
|
+
40 => 'SH',
|
6070
6147
|
},
|
6071
6148
|
);
|
6072
6149
|
my %isoSetting2010 = (
|
@@ -6111,7 +6188,7 @@ my %isoSetting2010 = (
|
|
6111
6188
|
43 => 160000,
|
6112
6189
|
44 => 204800,
|
6113
6190
|
45 => 256000,
|
6114
|
-
46 => 320000,
|
6191
|
+
46 => 320000,
|
6115
6192
|
47 => 409600,
|
6116
6193
|
);
|
6117
6194
|
|
@@ -7539,13 +7616,13 @@ my %isoSetting2010 = (
|
|
7539
7616
|
# March 2019: ILCE-9 with v5.0x firmware follows ILCE-6400 in many tags ...
|
7540
7617
|
0x0050 => {
|
7541
7618
|
Name => 'ShutterCount2',
|
7542
|
-
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|
|
7619
|
+
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7RM4A?|9M2)|ZV-E10)/ or $$self{Software} =~ /^ILCE-9 (v5.0|v6.0)/)',
|
7543
7620
|
Format => 'int32u',
|
7544
7621
|
RawConv => '$val & 0x00ffffff',
|
7545
7622
|
},
|
7546
7623
|
0x0052 => {
|
7547
7624
|
Name => 'ShutterCount2',
|
7548
|
-
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} =~ /^(ILCE-(7M3|
|
7625
|
+
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} =~ /^(ILCE-(7M3|7RM3A?))/)',
|
7549
7626
|
Format => 'int32u',
|
7550
7627
|
RawConv => '$val & 0x00ffffff',
|
7551
7628
|
},
|
@@ -7556,13 +7633,13 @@ my %isoSetting2010 = (
|
|
7556
7633
|
# 0x0058, 0x0061: E-Mount: ShutterCount and dateTime
|
7557
7634
|
0x0058 => { # appears not valid when flash is used ... not for ILCA-99M2
|
7558
7635
|
Name => 'ShutterCount2',
|
7559
|
-
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} !~ /^(ILCA-99M2|ILCE-(6100|6400|6600|7C|7M3|
|
7636
|
+
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} !~ /^(ILCA-99M2|ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9M2)|ZV-E10)/) and $$self{Software} !~ /^ILCE-9 (v5.0|v6.0)/',
|
7560
7637
|
Format => 'int32u',
|
7561
7638
|
RawConv => '$val & 0x00ffffff',
|
7562
7639
|
},
|
7563
7640
|
0x0061 => { # only minutes-seconds, not for ILCA-99M2, ILCE-9
|
7564
7641
|
Name => 'SonyTimeMinSec',
|
7565
|
-
Condition => '$$self{Model} !~ /^(ILCA-99M2|ILCE-(6100|6400|6600|7C|7M3|
|
7642
|
+
Condition => '$$self{Model} !~ /^(ILCA-99M2|ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9|9M2)|ZV-E10)/',
|
7566
7643
|
Format => 'undef[2]',
|
7567
7644
|
ValueConv => q{
|
7568
7645
|
my @v = unpack('C*', $val);
|
@@ -7571,17 +7648,17 @@ my %isoSetting2010 = (
|
|
7571
7648
|
},
|
7572
7649
|
0x006b => {
|
7573
7650
|
Name => 'ReleaseMode2',
|
7574
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|
|
7651
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7RM4A?|9M2)|ZV-E10)/ or $$self{Software} =~ /^ILCE-9 (v5.0|v6.0)/',
|
7575
7652
|
%releaseMode2,
|
7576
7653
|
},
|
7577
7654
|
0x006d => {
|
7578
7655
|
Name => 'ReleaseMode2',
|
7579
|
-
Condition => '$$self{Model} =~ /^(ILCE-(7M3|
|
7656
|
+
Condition => '$$self{Model} =~ /^(ILCE-(7M3|7RM3A?))/',
|
7580
7657
|
%releaseMode2,
|
7581
7658
|
},
|
7582
7659
|
0x0073 => {
|
7583
7660
|
Name => 'ReleaseMode2',
|
7584
|
-
Condition => '$$self{Model} !~ /^(ILCE-(6100|6400|6600|7C|7M3|
|
7661
|
+
Condition => '$$self{Model} !~ /^(ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9M2)|ZV-E10)/ and $$self{Software} !~ /^ILCE-9 (v5.0|v6.0)/',
|
7585
7662
|
%releaseMode2,
|
7586
7663
|
},
|
7587
7664
|
0x0088 => {
|
@@ -7660,7 +7737,7 @@ my %isoSetting2010 = (
|
|
7660
7737
|
#
|
7661
7738
|
0x019f => {
|
7662
7739
|
Name => 'ShutterCount3',
|
7663
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|
|
7740
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9|9M2)|ZV-E10)\b/',
|
7664
7741
|
Format => 'int32u',
|
7665
7742
|
RawConv => '$val == 0 ? undef : $val',
|
7666
7743
|
},
|
@@ -7678,7 +7755,7 @@ my %isoSetting2010 = (
|
|
7678
7755
|
},
|
7679
7756
|
0x01eb => {
|
7680
7757
|
Name => 'APS-CSizeCapture',
|
7681
|
-
Condition => '$$self{Model} =~ /^ILCE-(
|
7758
|
+
Condition => '$$self{Model} =~ /^ILCE-(7RM4A?|7C|9M2)|ZV-E10/ or $$self{Software} =~ /^ILCE-9 (v5.0|v6.0)/',
|
7682
7759
|
PrintConv => {
|
7683
7760
|
0 => 'Off',
|
7684
7761
|
1 => 'On',
|
@@ -7686,7 +7763,7 @@ my %isoSetting2010 = (
|
|
7686
7763
|
},
|
7687
7764
|
0x01ed => {
|
7688
7765
|
Name => 'LensSpecFeatures',
|
7689
|
-
Condition => '$$self{Model} =~ /^ILCE-(
|
7766
|
+
Condition => '$$self{Model} =~ /^ILCE-(7RM4A?|7C|9M2)|ZV-E10/ or $$self{Software} =~ /^ILCE-9 (v5.0|v6.0)/',
|
7690
7767
|
Priority => 0,
|
7691
7768
|
Format => 'undef[2]',
|
7692
7769
|
ValueConv => 'join " ", unpack "H2H2", $val',
|
@@ -7699,7 +7776,7 @@ my %isoSetting2010 = (
|
|
7699
7776
|
},
|
7700
7777
|
0x01ee => {
|
7701
7778
|
Name => 'APS-CSizeCapture',
|
7702
|
-
Condition => '$$self{Model} =~ /^(ILCE-(7M3|
|
7779
|
+
Condition => '$$self{Model} =~ /^(ILCE-(7M3|7RM3A?|9))\b/ and $$self{Software} !~ /^ILCE-9 (v5.0|v6.0)/',
|
7703
7780
|
PrintConv => {
|
7704
7781
|
0 => 'Off',
|
7705
7782
|
1 => 'On',
|
@@ -7707,7 +7784,7 @@ my %isoSetting2010 = (
|
|
7707
7784
|
},
|
7708
7785
|
0x01f0 => {
|
7709
7786
|
Name => 'LensSpecFeatures',
|
7710
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7M3|
|
7787
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7M3|7RM3A?|9))\b/ and $$self{Software} !~ /^ILCE-9 (v5.0|v6.0)/',
|
7711
7788
|
Priority => 0,
|
7712
7789
|
Format => 'undef[2]',
|
7713
7790
|
ValueConv => 'join " ", unpack "H2H2", $val',
|
@@ -7788,7 +7865,7 @@ my %isoSetting2010 = (
|
|
7788
7865
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
7789
7866
|
FORMAT => 'int8u',
|
7790
7867
|
NOTES => q{
|
7791
|
-
Valid from July 2020 for ILCE-7SM3.
|
7868
|
+
Valid from July 2020 for ILCE-1/7SM3, ILME-FX3.
|
7792
7869
|
},
|
7793
7870
|
WRITABLE => 1,
|
7794
7871
|
FIRST_ENTRY => 0,
|
@@ -7849,13 +7926,12 @@ my %isoSetting2010 = (
|
|
7849
7926
|
},
|
7850
7927
|
0x0050 => {
|
7851
7928
|
Name => 'ShutterCount2',
|
7852
|
-
Condition => '(
|
7929
|
+
Condition => '($$self{FlashFired} & 0x01) != 1',
|
7853
7930
|
Format => 'int32u',
|
7854
7931
|
RawConv => '$val & 0x00ffffff',
|
7855
7932
|
},
|
7856
7933
|
0x0066 => { # appr. same value as Exif ExposureTime, but not valid in HDR-modes
|
7857
7934
|
Name => 'SonyExposureTime',
|
7858
|
-
Condition => '$$self{Model} =~ /^(ILCE-7SM3)/',
|
7859
7935
|
Format => 'int16u',
|
7860
7936
|
ValueConv => '$val ? 2 ** (16 - $val/256) : 0',
|
7861
7937
|
ValueConvInv => '$val ? int((16 - log($val) / log(2)) * 256 + 0.5) : 0',
|
@@ -7864,7 +7940,6 @@ my %isoSetting2010 = (
|
|
7864
7940
|
},
|
7865
7941
|
0x0068 => { # appr. same value as Exif ExposureTime, but not valid in HDR-modes
|
7866
7942
|
Name => 'SonyFNumber',
|
7867
|
-
Condition => '$$self{Model} =~ /^(ILCE-7SM3)/',
|
7868
7943
|
Format => 'int16u',
|
7869
7944
|
ValueConv => '2 ** (($val/256 - 16) / 2)',
|
7870
7945
|
ValueConvInv => '(log($val)*2/log(2)+16)*256',
|
@@ -7873,11 +7948,17 @@ my %isoSetting2010 = (
|
|
7873
7948
|
},
|
7874
7949
|
0x006b => {
|
7875
7950
|
Name => 'ReleaseMode2',
|
7876
|
-
Condition => '$$self{Model} =~ /^(ILCE-7SM3)/',
|
7877
7951
|
%releaseMode2,
|
7878
7952
|
},
|
7879
7953
|
0x0088 => {
|
7880
7954
|
Name => 'InternalSerialNumber', #(NC)
|
7955
|
+
Condition => '$$self{Model} =~ /^(ILCE-7SM3|ILME-FX3)/',
|
7956
|
+
Format => 'int8u[6]',
|
7957
|
+
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
|
7958
|
+
},
|
7959
|
+
0x008a => {
|
7960
|
+
Name => 'InternalSerialNumber', #(NC)
|
7961
|
+
Condition => '$$self{Model} =~ /^(ILCE-1)/',
|
7881
7962
|
Format => 'int8u[6]',
|
7882
7963
|
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
|
7883
7964
|
},
|
@@ -8052,7 +8133,7 @@ my %isoSetting2010 = (
|
|
8052
8133
|
NOTES => q{
|
8053
8134
|
Valid for DSC-HX60V/HX80/HX90V/HX99/HX350/HX400V/QX30/RX0/RX1RM2/RX10/
|
8054
8135
|
RX10M2/RX10M3/RX10M4/RX100M3/RX100M4/RX100M5/RX100M5A/RX100M6/RX100M7/WX220/
|
8055
|
-
WX350/WX500, ILCE-7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/7SM3/9/9M2/5000/
|
8136
|
+
WX350/WX500, ILCE-1/7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/7SM3/9/9M2/5000/
|
8056
8137
|
5100/6000/6100/6300/6400/6500/6600/QX1, ILCA-68/77M2/99M2.
|
8057
8138
|
},
|
8058
8139
|
FIRST_ENTRY => 0,
|
@@ -8107,25 +8188,35 @@ my %isoSetting2010 = (
|
|
8107
8188
|
8 => 'Rotate 270 CW',
|
8108
8189
|
},
|
8109
8190
|
},
|
8110
|
-
0x002a => {
|
8191
|
+
0x002a => [{
|
8111
8192
|
Name => 'Quality2',
|
8112
|
-
Condition => '$$self{Model} !~ /^(ILCE-7SM3)\b/',
|
8193
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8113
8194
|
PrintConv => {
|
8114
8195
|
0 => 'JPEG',
|
8115
8196
|
1 => 'RAW',
|
8116
8197
|
2 => 'RAW + JPEG',
|
8117
8198
|
3 => 'JPEG + MPO', # 3D images
|
8118
8199
|
},
|
8119
|
-
},
|
8200
|
+
},{
|
8201
|
+
Name => 'Quality2',
|
8202
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8203
|
+
PrintConv => {
|
8204
|
+
1 => 'JPEG',
|
8205
|
+
2 => 'RAW',
|
8206
|
+
3 => 'RAW + JPEG',
|
8207
|
+
4 => 'HEIF',
|
8208
|
+
6 => 'RAW + HEIF',
|
8209
|
+
},
|
8210
|
+
}],
|
8120
8211
|
0x0047 => {
|
8121
8212
|
Name => 'SonyImageHeight',
|
8122
|
-
Condition => '$$self{Model} !~ /^(ILCE-7SM3)\b/',
|
8213
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8123
8214
|
Format => 'int16u',
|
8124
8215
|
PrintConv => '$val > 0 ? 8*$val : "n.a."',
|
8125
8216
|
},
|
8126
8217
|
0x0053 => {
|
8127
8218
|
Name => 'ModelReleaseYear',
|
8128
|
-
Condition => '$$self{Model} !~ /^(ILCE-7SM3)\b/',
|
8219
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
8129
8220
|
Format => 'int8u',
|
8130
8221
|
PrintConv => 'sprintf("20%.2d", $val)',
|
8131
8222
|
},
|
@@ -8144,7 +8235,7 @@ my %isoSetting2010 = (
|
|
8144
8235
|
0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
|
8145
8236
|
|
8146
8237
|
0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8147
|
-
0x04a1 => { Name => 'ISOInfo', Condition => '$$self{Ver9401}
|
8238
|
+
0x04a1 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(160|164)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8148
8239
|
0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(152|154|155)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8149
8240
|
0x059d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(144|146)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
8150
8241
|
0x0634 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 68', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
@@ -8282,8 +8373,8 @@ my %isoSetting2010 = (
|
|
8282
8373
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
8283
8374
|
DATAMEMBER => [ 0x04 ],
|
8284
8375
|
0x04 => {
|
8285
|
-
# seen values 0,2,3,18,32,49,50,83,148
|
8286
|
-
# CameraTemperature is valid for all values except 0
|
8376
|
+
# seen values 0,2,3,18,19,32,49,50,83,130,132,148,213,229,255
|
8377
|
+
# CameraTemperature is valid for all values above except ==0 and >=130
|
8287
8378
|
Name => 'TempTest2',
|
8288
8379
|
DataMember => 'TempTest2',
|
8289
8380
|
Hidden => 1,
|
@@ -8604,7 +8695,7 @@ my %isoSetting2010 = (
|
|
8604
8695
|
},
|
8605
8696
|
0x0342 => {
|
8606
8697
|
Name => 'LensZoomPosition',
|
8607
|
-
Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|
|
8698
|
+
Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3A?|7RM4A?|7SM2|6100|6300|6400|6500|6600|7C|9|9M2)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10M4|RX100M4|RX100M5|RX100M5A|RX100M6|RX100M7|WX500)|ZV-)/',
|
8608
8699
|
Format => 'int16u',
|
8609
8700
|
PrintConv => 'sprintf("%.0f%%",$val/10.24)',
|
8610
8701
|
PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
|
@@ -8616,7 +8707,7 @@ my %isoSetting2010 = (
|
|
8616
8707
|
},
|
8617
8708
|
0x034e => {
|
8618
8709
|
Name => 'LensZoomPosition',
|
8619
|
-
Condition => '$$self{Model} =~ /^(DSC-(RX100M5|RX100M5A|RX100M6|RX100M7|RX10M4|HX99)|ILCE-(6100|6400|6600|7C|7M3|
|
8710
|
+
Condition => '$$self{Model} =~ /^(DSC-(RX100M5|RX100M5A|RX100M6|RX100M7|RX10M4|HX99)|ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9M2)|ZV-E10)/',
|
8620
8711
|
Format => 'int16u',
|
8621
8712
|
PrintConv => 'sprintf("%.0f%%",$val/10.24)',
|
8622
8713
|
PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
|
@@ -8628,7 +8719,7 @@ my %isoSetting2010 = (
|
|
8628
8719
|
},
|
8629
8720
|
0x035c => {
|
8630
8721
|
Name => 'VignettingCorrParams',
|
8631
|
-
Condition => '$$self{Model} =~ /^(ILCA-99M2|ILCE-(6100|6400|6500|6600|7C|7M3|
|
8722
|
+
Condition => '$$self{Model} =~ /^(ILCA-99M2|ILCE-(6100|6400|6500|6600|7C|7M3|7RM3A?|7RM4A?|9|9M2)|ZV-E10)/',
|
8632
8723
|
Format => 'int16s[16]',
|
8633
8724
|
},
|
8634
8725
|
0x035a => {
|
@@ -8665,7 +8756,7 @@ my %isoSetting2010 = (
|
|
8665
8756
|
},
|
8666
8757
|
0x03b8 => {
|
8667
8758
|
Name => 'ChromaticAberrationCorrParams',
|
8668
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|
|
8759
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7C|7M3|7RM3A?|7RM4A?|9|9M2)|ZV-E10)/',
|
8669
8760
|
Format => 'int16s[32]',
|
8670
8761
|
},
|
8671
8762
|
);
|
@@ -8785,7 +8876,7 @@ my %isoSetting2010 = (
|
|
8785
8876
|
FIRST_ENTRY => 0,
|
8786
8877
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
8787
8878
|
DATAMEMBER => [ 0x0008 ],
|
8788
|
-
NOTES => '
|
8879
|
+
NOTES => 'E-mount cameras only.',
|
8789
8880
|
|
8790
8881
|
# 0x0001 - 0 for all NEX and ILCE-3000/3500, 20 for all other ILCE (17 for ILCE samples from Sony.net)
|
8791
8882
|
# 0x0008 - LensMount, but different values from Tag9405-0x0105 and Tag9050-0x0604.
|
@@ -8902,6 +8993,7 @@ my %isoSetting2010 = (
|
|
8902
8993
|
# 1 0 0 0 for ILCE-5000/5100/6000/7/7M2/7R/7S/QX1
|
8903
8994
|
# 6 0 0 0 for ILCE-6100/6300/6400/6500/6600/7C/7M3/7RM2/7RM3/7RM4/7SM2/9/9M2
|
8904
8995
|
# 9 . . . for ILCE-7SM3
|
8996
|
+
# 11 . . . for ILCE-1
|
8905
8997
|
# 0 2 0 0 for NEX/ILCE with LA-EA2/EA4 Phase-AF adapter
|
8906
8998
|
# 2 0 0 0 seen for a few NEX-5N images
|
8907
8999
|
# 2 2 0 0 seen for a few NEX-5N/7 images with LA-EA2 adapter
|
@@ -9195,11 +9287,11 @@ my %isoSetting2010 = (
|
|
9195
9287
|
|
9196
9288
|
# 0x1a06 onwards - first seen for ILCE-7RM2: appears to be some kind of metering image
|
9197
9289
|
# but not valid anymore for ILCE-6400, ILCE-9 v5.0x
|
9198
|
-
0x1a06 => { Name => 'TiffMeteringImageWidth', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|
|
9199
|
-
0x1a07 => { Name => 'TiffMeteringImageHeight', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|
|
9290
|
+
0x1a06 => { Name => 'TiffMeteringImageWidth', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3A?|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 (v5.0|v6.0)/' },
|
9291
|
+
0x1a07 => { Name => 'TiffMeteringImageHeight', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3A?|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 (v5.0|v6.0)/' },
|
9200
9292
|
0x1a08 => { # (2640 bytes: 1 set of 44x30 int16u values)
|
9201
9293
|
Name => 'TiffMeteringImage',
|
9202
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|
|
9294
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3A?|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 (v5.0|v6.0)/',
|
9203
9295
|
Format => 'undef[2640]',
|
9204
9296
|
Notes => q{
|
9205
9297
|
13(?)-bit intensity data from 1320 (1200) metering segments, extracted as a
|
@@ -9411,7 +9503,7 @@ my %isoSetting2010 = (
|
|
9411
9503
|
WRITE_PROC => \&WriteEnciphered,
|
9412
9504
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
9413
9505
|
FORMAT => 'int8u',
|
9414
|
-
NOTES => 'Valid for the ILCE-7SM3.',
|
9506
|
+
NOTES => 'Valid for the ILCE-1/7SM3, ILME-FX3.',
|
9415
9507
|
FIRST_ENTRY => 0,
|
9416
9508
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
9417
9509
|
0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
|
@@ -10038,17 +10130,40 @@ my %isoSetting2010 = (
|
|
10038
10130
|
0x3210 => { Name => 'Sony_rtmd_0x3210', Format => 'int8u', %hidUnk },
|
10039
10131
|
0x3219 => { Name => 'Sony_rtmd_0x3219', Format => 'int8u', %hidUnk },
|
10040
10132
|
0x321a => { Name => 'Sony_rtmd_0x321a', Format => 'int8u', %hidUnk },
|
10041
|
-
0x8000 => {
|
10133
|
+
0x8000 => { #forum12218
|
10134
|
+
Name => 'FNumber',
|
10135
|
+
Format => 'int16u',
|
10136
|
+
ValueConv => '2 ** (8-$val/8192)',
|
10137
|
+
PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
|
10138
|
+
},
|
10042
10139
|
0x8001 => { Name => 'Sony_rtmd_0x8001', Format => 'int16u', %hidUnk },
|
10140
|
+
0x8004 => { Name => 'Sony_rtmd_0x8004', Format => 'int16u', %hidUnk },
|
10141
|
+
0x8005 => { Name => 'Sony_rtmd_0x8005', Format => 'int16u', %hidUnk },
|
10142
|
+
0x800a => { Name => 'Sony_rtmd_0x800a', Format => 'int16u', %hidUnk },
|
10143
|
+
0x800b => { Name => 'Sony_rtmd_0x800b', Format => 'int16u', %hidUnk },
|
10043
10144
|
# 0x8100 - 16 bytes starting with 0x060e2b340401
|
10044
10145
|
0x8100 => { Name => 'Sony_rtmd_0x8100', Format => 'int8u', %hidUnk },
|
10045
10146
|
0x8101 => { Name => 'Sony_rtmd_0x8101', Format => 'int8u', %hidUnk }, # seen: 0,1
|
10046
|
-
|
10047
|
-
|
10048
|
-
|
10049
|
-
|
10050
|
-
|
10051
|
-
|
10147
|
+
0x8104 => { Name => 'Sony_rtmd_0x8104', Format => 'int16u', %hidUnk }, # seen: 35616
|
10148
|
+
0x8105 => { Name => 'Sony_rtmd_0x8105', Format => 'int16u', %hidUnk }, # seen: 20092
|
10149
|
+
0x8106 => { Name => 'Sony_rtmd_0x8106', Format => 'int32u', %hidUnk }, # seen: "25 1","24000 1001" frame rate?
|
10150
|
+
0x8109 => { #forum12218
|
10151
|
+
Name => 'ExposureTime',
|
10152
|
+
Format => 'rational64u',
|
10153
|
+
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
|
10154
|
+
},
|
10155
|
+
0x810a => { #PH (NC, based on samples from forum12218)
|
10156
|
+
Name => 'MasterGainAdjustment',
|
10157
|
+
Format => 'int16u',
|
10158
|
+
ValueConv => '$val / 100',
|
10159
|
+
PrintConv => 'sprintf("%.2f dB", $val)',
|
10160
|
+
},
|
10161
|
+
0x810b => { Name => 'ISO', Format => 'int16u' }, #forum12218
|
10162
|
+
0x810c => { #PH (NC, based on samples from forum12218)
|
10163
|
+
Name => 'ElectricalExtenderMagnification',
|
10164
|
+
Format => 'int16u',
|
10165
|
+
},
|
10166
|
+
0x810d => { Name => 'Sony_rtmd_0x810d', Format => 'int8u', %hidUnk }, # seen: 0,1
|
10052
10167
|
0x8115 => { Name => 'Sony_rtmd_0x8115', Format => 'int16u', %hidUnk }, # seen: 100
|
10053
10168
|
# 0x8300 - container for other tags in this format
|
10054
10169
|
0x8500 => {
|
@@ -10127,9 +10242,20 @@ my %isoSetting2010 = (
|
|
10127
10242
|
},
|
10128
10243
|
0xe000 => { Name => 'Sony_rtmd_0xe000', Format => 'int8u', %hidUnk }, # (16 bytes)
|
10129
10244
|
0xe300 => { Name => 'Sony_rtmd_0xe300', Format => 'int8u', %hidUnk }, # seen: 0,1
|
10130
|
-
0xe301 => { Name => 'Sony_rtmd_0xe301', Format => 'int32u', %hidUnk }, # seen: 100
|
10245
|
+
0xe301 => { Name => 'Sony_rtmd_0xe301', Format => 'int32u', %hidUnk }, # seen: 100,1600,12800
|
10131
10246
|
0xe302 => { Name => 'Sony_rtmd_0xe302', Format => 'int8u', %hidUnk }, # seen: 1
|
10132
|
-
0xe303 => {
|
10247
|
+
0xe303 => { #forum12218
|
10248
|
+
Name => 'WhiteBalance',
|
10249
|
+
Format => 'int8u',
|
10250
|
+
PrintConv => {
|
10251
|
+
1 => 'Incandescent',
|
10252
|
+
2 => 'Fluorescent',
|
10253
|
+
4 => 'Daylight',
|
10254
|
+
5 => 'Cloudy',
|
10255
|
+
6 => 'Custom', # ("Shade" uses this value too)
|
10256
|
+
255 => 'Preset',
|
10257
|
+
},
|
10258
|
+
},
|
10133
10259
|
0xe304 => {
|
10134
10260
|
Name => 'DateTime',
|
10135
10261
|
Groups => { 2 => 'Time' },
|
@@ -10137,6 +10263,19 @@ my %isoSetting2010 = (
|
|
10137
10263
|
ValueConv => 'my @a=unpack("x1H4H2H2H2H2H2",$val); "$a[0]:$a[1]:$a[2] $a[3]:$a[4]:$a[5]"',
|
10138
10264
|
PrintConv => '$self->ConvertDateTime($val)',
|
10139
10265
|
},
|
10266
|
+
0xe435 => { Name => 'Sony_rtmd_0xe435', Format => 'int32u', %hidUnk }, # seen: 2000
|
10267
|
+
0xe437 => { Name => 'Sony_rtmd_0xe437', Format => 'int32s', %hidUnk }, # seen: -3800 to -3400
|
10268
|
+
0xe43b => {
|
10269
|
+
Name => 'PitchRollYaw',
|
10270
|
+
Format => 'int16s',
|
10271
|
+
RawConv => 'substr($val, 8)',
|
10272
|
+
},
|
10273
|
+
0xe445 => { Name => 'Sony_rtmd_0xe445', Format => 'int32u', %hidUnk }, # seen: 2000
|
10274
|
+
0xe44b => {
|
10275
|
+
Name => 'Accelerometer', # (NC)
|
10276
|
+
Format => 'int16s',
|
10277
|
+
RawConv => 'substr($val, 8)',
|
10278
|
+
},
|
10140
10279
|
# f010 - 2048 bytes
|
10141
10280
|
# f020 - 543 bytes
|
10142
10281
|
);
|
@@ -10184,6 +10323,26 @@ my %isoSetting2010 = (
|
|
10184
10323
|
ValueConv => '"$val[0] $val[1]Z"',
|
10185
10324
|
PrintConv => '$self->ConvertDateTime($val)',
|
10186
10325
|
},
|
10326
|
+
GPSLatitude => {
|
10327
|
+
SubDoc => 1, # generate for all sub-documents
|
10328
|
+
Groups => { 2 => 'Location' },
|
10329
|
+
Require => {
|
10330
|
+
0 => 'Sony:GPSLatitude',
|
10331
|
+
1 => 'Sony:GPSLatitudeRef',
|
10332
|
+
},
|
10333
|
+
ValueConv => '$val[1] =~ /^S/i ? -$val[0] : $val[0]',
|
10334
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
|
10335
|
+
},
|
10336
|
+
GPSLongitude => {
|
10337
|
+
SubDoc => 1, # generate for all sub-documents
|
10338
|
+
Groups => { 2 => 'Location' },
|
10339
|
+
Require => {
|
10340
|
+
0 => 'Sony:GPSLongitude',
|
10341
|
+
1 => 'Sony:GPSLongitudeRef',
|
10342
|
+
},
|
10343
|
+
ValueConv => '$val[1] =~ /^W/i ? -$val[0] : $val[0]',
|
10344
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
|
10345
|
+
},
|
10187
10346
|
);
|
10188
10347
|
|
10189
10348
|
# add our composite tags
|