exiftool_vendored 11.55.0 → 11.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/Changes +19 -0
- data/bin/MANIFEST +3 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +3 -4
- data/bin/lib/Image/ExifTool.pm +20 -3
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +13 -4
- data/bin/lib/Image/ExifTool/Canon.pm +11 -1
- data/bin/lib/Image/ExifTool/DV.pm +1 -0
- data/bin/lib/Image/ExifTool/Exif.pm +25 -9
- data/bin/lib/Image/ExifTool/JPEG.pm +5 -1
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -0
- data/bin/lib/Image/ExifTool/MOI.pm +1 -0
- data/bin/lib/Image/ExifTool/Minolta.pm +8 -125
- data/bin/lib/Image/ExifTool/Motorola.pm +119 -9
- data/bin/lib/Image/ExifTool/Nikon.pm +12 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +1 -0
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -0
- data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +13 -1
- data/bin/lib/Image/ExifTool/Sony.pm +92 -64
- data/bin/lib/Image/ExifTool/TagLookup.pm +6 -4
- data/bin/lib/Image/ExifTool/TagNames.pod +476 -468
- data/bin/lib/Image/ExifTool/Validate.pm +2 -2
- data/bin/lib/Image/ExifTool/WriteXMP.pl +11 -9
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
# Description: Read Motorola meta information
|
|
5
5
|
#
|
|
6
6
|
# Revisions: 2015/10/29 - P. Harvey Created
|
|
7
|
+
#
|
|
8
|
+
# References: 1) Neal Krawetz private communication
|
|
7
9
|
#------------------------------------------------------------------------------
|
|
8
10
|
|
|
9
11
|
package Image::ExifTool::Motorola;
|
|
@@ -12,7 +14,7 @@ use strict;
|
|
|
12
14
|
use vars qw($VERSION);
|
|
13
15
|
use Image::ExifTool::Exif;
|
|
14
16
|
|
|
15
|
-
$VERSION = '1.
|
|
17
|
+
$VERSION = '1.01';
|
|
16
18
|
|
|
17
19
|
# Motorola makernotes tags (ref PH)
|
|
18
20
|
%Image::ExifTool::Motorola::Main = (
|
|
@@ -20,14 +22,122 @@ $VERSION = '1.00';
|
|
|
20
22
|
CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
|
|
21
23
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
22
24
|
WRITABLE => 1,
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
#
|
|
29
|
-
|
|
30
|
-
#
|
|
25
|
+
# 0x54e0 - int8u: 1
|
|
26
|
+
# 0x54f0 - float
|
|
27
|
+
0x5500 => { Name => 'BuildNumber', Writable => 'string' }, #1 (eg. 'MPJ24.139-23.4')
|
|
28
|
+
0x5501 => { Name => 'SerialNumber', Writable => 'string' }, #1 (eg. 'ZY2238TJ4V')
|
|
29
|
+
# 0x5502 - int8u
|
|
30
|
+
# 0x5503 - int8u
|
|
31
|
+
# 0x5510 - int8u: 0,1
|
|
32
|
+
# 0x5511 - int32u (3 of these tags for some cameras)
|
|
33
|
+
# 0x5512 - int32u
|
|
34
|
+
# 0x5520 - int16s
|
|
35
|
+
# 0x5530 - string: 'continuous-picture','auto','continuous-video'
|
|
36
|
+
# 0x5540 - int8u: 95
|
|
37
|
+
# 0x5550 - int8u: 85,90
|
|
38
|
+
# 0x5560 - string: 'auto'
|
|
39
|
+
# 0x5570 - string: 'auto','auto-hdr'
|
|
40
|
+
# 0x5580 - int32s: 9000,14949,15000,24000
|
|
41
|
+
# 0x5590 - int32s: 30000
|
|
42
|
+
# 0x55a0 - int32s: 960,1280,1440
|
|
43
|
+
# 0x55b0 - int32s: 720,960,1080
|
|
44
|
+
# 0x55c0 - int32s: 30
|
|
45
|
+
# 0x55d0 - string: 'yuv420sp'
|
|
46
|
+
# 0x55e0-0x55e9 - int16u
|
|
47
|
+
# 0x55f0 - int8u: 10
|
|
48
|
+
# 0x55f1 - int8u: 13
|
|
49
|
+
# 0x55f2-0x55f5 - int16u[130]
|
|
50
|
+
# 0x5600 - int8u: 0,16
|
|
51
|
+
# 0x5601 - int16u[16]
|
|
52
|
+
# 0x5602 - int32u[3,50]
|
|
53
|
+
# 0x5603 - int32u: 0
|
|
54
|
+
# 0x6400 - string: 'AUTO','ON','OFF'
|
|
55
|
+
# 0x6401 - string: 'HDR'
|
|
56
|
+
# 0x6410 - string: 'NO','YES'
|
|
57
|
+
# 0x6420 - int32s: 0 (only exists in HDR images?)
|
|
58
|
+
# 0x6430 - float
|
|
59
|
+
# 0x6431 - int8u: 0,1
|
|
60
|
+
# 0x6432 - int8u: 0,79,100
|
|
61
|
+
# 0x6433 - int8u: 0,1
|
|
62
|
+
# 0x6434 - int8u: 0,65,100
|
|
63
|
+
# 0x6435 - int8u: 1,6,24
|
|
64
|
+
# 0x6436 - int8u: 55,60
|
|
65
|
+
# 0x6437 - int8u: 30,35,40
|
|
66
|
+
# 0x6438 - int8u: 24,40
|
|
67
|
+
# 0x6439 - int8u: 15,50
|
|
68
|
+
# 0x643a - int8u: 0,20
|
|
69
|
+
# 0x643b - string: '2,8,-4','2,10,-4',''
|
|
70
|
+
# 0x643c - int32s
|
|
71
|
+
# 0x643d - float
|
|
72
|
+
# 0x6440 - int8u[N]: 0's and 1's
|
|
73
|
+
# 0x6441 - int8u[N]
|
|
74
|
+
# 0x6442,0x6443 - int8u[N]: 0's and 1's
|
|
75
|
+
# 0x644d - string: 'YES'
|
|
76
|
+
# 0x644f - float
|
|
77
|
+
# 0x6450 - float
|
|
78
|
+
# 0x6451 - float: 0.699999988079071
|
|
79
|
+
# 0x6452 - int8u: 1
|
|
80
|
+
# 0x6470 - string: 'AUTO'
|
|
81
|
+
# 0x6471 - int8u: 1
|
|
82
|
+
# 0x6473 - int8u: 24
|
|
83
|
+
# 0x6474 - int8u: 10
|
|
84
|
+
# 0x6475 - int32u[24]
|
|
85
|
+
# 0x6476 - int32u: 2
|
|
86
|
+
# 0x6490 - int8u: 0
|
|
87
|
+
# 0x64c0 - int32s: 0,2
|
|
88
|
+
# 0x64c1 - int32u: 1,4,64
|
|
89
|
+
# 0x64c2,0x64c3 - int32s
|
|
90
|
+
# 0x64c4 - int32s
|
|
91
|
+
# 0x64c5 - int32u
|
|
92
|
+
# 0x6500 - int8u: 1
|
|
93
|
+
# 0x6501 - string: 'Luma-Chroma Plane','Chroma only' or int8u: 0
|
|
94
|
+
# 0x6502 - string: 'Luma-Chroma Plane','Chroma only','' or int8u: 1,255
|
|
95
|
+
# 0x6504 - int32s
|
|
96
|
+
# 0x6530-0x6535 - int32s
|
|
97
|
+
# 0x6600-0x6605 - int8u
|
|
98
|
+
# 0x6606 - string: 'D50','TL84','5000' - illuminant? color temperature?
|
|
99
|
+
# 0x6607 - string: 'D50g','D65','3000' - illuminant? color temperature?
|
|
100
|
+
# 0x6608 - string: 'A'
|
|
101
|
+
# 0x6609-0x660e - float
|
|
102
|
+
# 0x660f - int12u
|
|
103
|
+
# 0x6612-0x661b - int16u
|
|
104
|
+
# 0x661d - int16u
|
|
105
|
+
# 0x661e-0x6635 - float
|
|
106
|
+
# 0x6637 - int8u[212]
|
|
107
|
+
# 0x6640,0x6641 - int8u
|
|
108
|
+
# 0x6642-0x6649 - int16u
|
|
109
|
+
# 0x664e - in8u
|
|
110
|
+
# 0x664f-0x6652 - int16u
|
|
111
|
+
# 0x6653 - string: 'QC','AL'
|
|
112
|
+
# 0x6654-0x6656 - int16u
|
|
113
|
+
# 0x665d - int8u: 0
|
|
114
|
+
0x665e => { Name => 'Sensor', Writable => 'string' }, # (eg. 'BACK,IMX230')
|
|
115
|
+
# 0x6700 - string: eg. 'eac040d0','333e1721','001b7b3a','000000000005040f'
|
|
116
|
+
# 0x6701 - string: eg. '14048001',940140230','940140190'
|
|
117
|
+
# 0x6702 - string: '0L','1L','0S','3S','32','33,'42'
|
|
118
|
+
# 0x6703 - string: 'PR','SEG','LIG','LI','SHV','SH','SO'
|
|
119
|
+
# 0x6704 - string: 'DO','GX1','GZ0','GZ1','GX2','VI','VI1','VI2','GU',''
|
|
120
|
+
0x6705 => { Name => 'ManufactureDate', Writable => 'string' }, # (NC, eg. '03Jun2015')
|
|
121
|
+
# 0x6706 - string: eg. '30454e4e','42%','01%','01','1','904c2ca2'
|
|
122
|
+
# 0x6707 - string: eg. '1','25a2ca16','002371e1','69'
|
|
123
|
+
# 0x6708-0x670c - string or int16u (string may be firmware revision)
|
|
124
|
+
# 0x6800 - int32u: 1,2
|
|
125
|
+
# 0x6801,0x6802 - float
|
|
126
|
+
# 0x6803 - int16u
|
|
127
|
+
# 0x6804,0x6805 - float
|
|
128
|
+
# 0x6806 - int16u,int32s
|
|
129
|
+
# 0x6807 - int32s,int32u[3]
|
|
130
|
+
# 0x6808 - int32u,int32u[3]
|
|
131
|
+
# 0x6809,0x680a - float[3]
|
|
132
|
+
# 0x680d - int8u: 0
|
|
133
|
+
# 0x680e - float: 0
|
|
134
|
+
# 0x7000 - int8u: 0,2
|
|
135
|
+
# 0x7001,0x7002 - int16s
|
|
136
|
+
# 0x7003-0x7005 - int16u
|
|
137
|
+
# 0x7100 - string: '0-7'
|
|
138
|
+
# 0x7101 - string: '4-7','0-7'
|
|
139
|
+
# 0x7102 - string: '0-3',''
|
|
140
|
+
# 0x7103,0x7104 - string: comma-separated lists of numbers
|
|
31
141
|
);
|
|
32
142
|
|
|
33
143
|
1; # end
|
|
@@ -60,7 +60,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
60
60
|
use Image::ExifTool::Exif;
|
|
61
61
|
use Image::ExifTool::GPS;
|
|
62
62
|
|
|
63
|
-
$VERSION = '3.
|
|
63
|
+
$VERSION = '3.67';
|
|
64
64
|
|
|
65
65
|
sub LensIDConv($$$);
|
|
66
66
|
sub ProcessNikonAVI($$$);
|
|
@@ -2028,6 +2028,17 @@ my %binaryDataAttrs = (
|
|
|
2028
2028
|
Name => 'SceneAssist',
|
|
2029
2029
|
Writable => 'string',
|
|
2030
2030
|
},
|
|
2031
|
+
0x009d => { #NealKrawetz
|
|
2032
|
+
Name => 'DateStampMode',
|
|
2033
|
+
Writable => 'int16u',
|
|
2034
|
+
Notes => 'feature to imprint date/time on image',
|
|
2035
|
+
PrintConv => { #PH
|
|
2036
|
+
0 => 'Off',
|
|
2037
|
+
1 => 'Date & Time',
|
|
2038
|
+
2 => 'Date',
|
|
2039
|
+
3 => 'Date Counter', # (NC) (D3500)
|
|
2040
|
+
},
|
|
2041
|
+
},
|
|
2031
2042
|
0x009e => { #JD
|
|
2032
2043
|
Name => 'RetouchHistory',
|
|
2033
2044
|
Writable => 'int16u',
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
# 20) https://developer.apple.com/legacy/library/documentation/quicktime/reference/QT7-1_Update_Reference/QT7-1_Update_Reference.pdf
|
|
33
33
|
# 21) Francois Bonzon private communication
|
|
34
34
|
# 22) https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/Metadata/Metadata.html
|
|
35
|
+
# 23) http://atomicparsley.sourceforge.net/mpeg-4files.html
|
|
36
|
+
# 24) https://github.com/sergiomb2/libmp4v2/wiki/iTunesMetadata
|
|
35
37
|
#------------------------------------------------------------------------------
|
|
36
38
|
|
|
37
39
|
package Image::ExifTool::QuickTime;
|
|
@@ -42,7 +44,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
42
44
|
use Image::ExifTool::Exif;
|
|
43
45
|
use Image::ExifTool::GPS;
|
|
44
46
|
|
|
45
|
-
$VERSION = '2.
|
|
47
|
+
$VERSION = '2.35';
|
|
46
48
|
|
|
47
49
|
sub ProcessMOV($$;$);
|
|
48
50
|
sub ProcessKeys($$$);
|
|
@@ -1611,6 +1613,7 @@ my %eeBox = (
|
|
|
1611
1613
|
},
|
|
1612
1614
|
date => { # (NC)
|
|
1613
1615
|
Name => 'DateTimeOriginal',
|
|
1616
|
+
Description => 'Date/Time Original',
|
|
1614
1617
|
Groups => { 2 => 'Time' },
|
|
1615
1618
|
Shift => 'Time',
|
|
1616
1619
|
ValueConv => q{
|
|
@@ -2791,6 +2794,7 @@ my %eeBox = (
|
|
|
2791
2794
|
covr => { Name => 'CoverArt', Groups => { 2 => 'Preview' } },
|
|
2792
2795
|
cpil => { #10
|
|
2793
2796
|
Name => 'Compilation',
|
|
2797
|
+
Format => 'int8u', #23
|
|
2794
2798
|
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
|
2795
2799
|
},
|
|
2796
2800
|
disk => {
|
|
@@ -2801,6 +2805,7 @@ my %eeBox = (
|
|
|
2801
2805
|
},
|
|
2802
2806
|
pgap => { #10
|
|
2803
2807
|
Name => 'PlayGap',
|
|
2808
|
+
Format => 'int8u', #23
|
|
2804
2809
|
PrintConv => {
|
|
2805
2810
|
0 => 'Insert Gap',
|
|
2806
2811
|
1 => 'No Gap',
|
|
@@ -2822,6 +2827,7 @@ my %eeBox = (
|
|
|
2822
2827
|
#
|
|
2823
2828
|
akID => { #10
|
|
2824
2829
|
Name => 'AppleStoreAccountType',
|
|
2830
|
+
Format => 'int8u', #24
|
|
2825
2831
|
PrintConv => {
|
|
2826
2832
|
0 => 'iTunes',
|
|
2827
2833
|
1 => 'AOL',
|
|
@@ -2845,6 +2851,7 @@ my %eeBox = (
|
|
|
2845
2851
|
gnre => { #10
|
|
2846
2852
|
Name => 'Genre',
|
|
2847
2853
|
Avoid => 1,
|
|
2854
|
+
# (Note: not written as int16u if numerical, although it should be)
|
|
2848
2855
|
PrintConv => q{
|
|
2849
2856
|
return $val unless $val =~ /^\d+$/;
|
|
2850
2857
|
require Image::ExifTool::ID3;
|
|
@@ -5238,12 +5245,14 @@ my %eeBox = (
|
|
|
5238
5245
|
grup => { Name => 'Grouping', Avoid => 1 }, #10
|
|
5239
5246
|
hdvd => { #10
|
|
5240
5247
|
Name => 'HDVideo',
|
|
5248
|
+
Format => 'int8u', #24
|
|
5241
5249
|
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
|
5242
5250
|
},
|
|
5243
5251
|
keyw => 'Keyword', #7
|
|
5244
5252
|
ldes => 'LongDescription', #10
|
|
5245
5253
|
pcst => { #7
|
|
5246
5254
|
Name => 'Podcast',
|
|
5255
|
+
Format => 'int8u', #23
|
|
5247
5256
|
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
|
5248
5257
|
},
|
|
5249
5258
|
perf => 'Performer',
|
|
@@ -5255,6 +5264,7 @@ my %eeBox = (
|
|
|
5255
5264
|
purl => 'PodcastURL', #7
|
|
5256
5265
|
rtng => { #10
|
|
5257
5266
|
Name => 'Rating',
|
|
5267
|
+
Format => 'int8u', #23
|
|
5258
5268
|
PrintConv => {
|
|
5259
5269
|
0 => 'none',
|
|
5260
5270
|
1 => 'Explicit',
|
|
@@ -5432,6 +5442,7 @@ my %eeBox = (
|
|
|
5432
5442
|
sosn => 'SortShow', #10
|
|
5433
5443
|
stik => { #10
|
|
5434
5444
|
Name => 'MediaType',
|
|
5445
|
+
Format => 'int8u', #23
|
|
5435
5446
|
PrintConvColumns => 2,
|
|
5436
5447
|
PrintConv => { #(http://weblog.xanga.com/gryphondwb/615474010/iphone-ringtones---what-did-itunes-741-really-do.html)
|
|
5437
5448
|
0 => 'Movie (old)', #forum9059 (was Movie)
|
|
@@ -5463,6 +5474,7 @@ my %eeBox = (
|
|
|
5463
5474
|
yrrc => 'Year', #(ffmpeg source)
|
|
5464
5475
|
itnu => { #PH (iTunes 10.5)
|
|
5465
5476
|
Name => 'iTunesU',
|
|
5477
|
+
Format => 'int8s',
|
|
5466
5478
|
Description => 'iTunes U',
|
|
5467
5479
|
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
|
5468
5480
|
},
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
package Image::ExifTool::Sony;
|
|
28
28
|
|
|
29
29
|
use strict;
|
|
30
|
-
use vars qw($VERSION %sonyLensTypes);
|
|
30
|
+
use vars qw($VERSION %sonyLensTypes %sonyLensTypes2);
|
|
31
31
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
32
32
|
use Image::ExifTool::Exif;
|
|
33
33
|
use Image::ExifTool::Minolta;
|
|
34
34
|
|
|
35
|
-
$VERSION = '3.
|
|
35
|
+
$VERSION = '3.11';
|
|
36
36
|
|
|
37
37
|
sub ProcessSRF($$$);
|
|
38
38
|
sub ProcessSR2($$$);
|
|
@@ -52,7 +52,7 @@ sub PrintInvLensSpec($;$$);
|
|
|
52
52
|
|
|
53
53
|
# Sony E-mount lenses
|
|
54
54
|
# (NOTE: these should be kept in sync with the 65535 entries in %minoltaLensTypes)
|
|
55
|
-
|
|
55
|
+
%sonyLensTypes2 = (
|
|
56
56
|
Notes => 'Lens type numbers for Sony E-mount lenses used by NEX/ILCE models.',
|
|
57
57
|
0 => 'Unknown E-mount lens or other lens',
|
|
58
58
|
0.1 => 'Sigma 19mm F2.8 [EX] DN',
|
|
@@ -193,8 +193,11 @@ my %sonyLensTypes2 = (
|
|
|
193
193
|
50503 => 'Sigma 16mm F1.4 DC DN | C', #JR (017)
|
|
194
194
|
50507 => 'Sigma 105mm F1.4 DG HSM | A', #IB (018)
|
|
195
195
|
50508 => 'Sigma 56mm F1.4 DC DN | C', #JR (018)
|
|
196
|
-
50512 => 'Sigma 70-200mm F2.8 DG OS HSM | S', #IB (018)
|
|
196
|
+
50512 => 'Sigma 70-200mm F2.8 DG OS HSM | S + MC-11', #IB (018) (JR added "+ MC-11")
|
|
197
197
|
50513 => 'Sigma 70mm F2.8 DG MACRO | A', #JR (018)
|
|
198
|
+
50514 => 'Sigma 45mm F2.8 DG DN | C', #IB/JR (019)
|
|
199
|
+
50515 => 'Sigma 35mm F1.2 DG DN | A', #IB/JR (019)
|
|
200
|
+
50516 => 'Sigma 14-24mm F2.8 DG DN | A', #IB/JR (019)
|
|
198
201
|
|
|
199
202
|
50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
|
|
200
203
|
50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
|
|
@@ -933,7 +936,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
933
936
|
# unknown offsets or values for DSC-HX60V/HX350/HX400V/QX10/QX30/QX100/RX10/RX100M2/RX100M3/WX220/WX350,
|
|
934
937
|
# ILCA-68/77M2, ILCE-5000/5100/6000/7/7M2/7R/7S/QX1, Stellar2, Lusso
|
|
935
938
|
# unknown offsets or values for DSC-HX80/HX90V/RX0/RX1RM2/RX10M2/RX10M3/RX100M4/RX100M5/WX500, ILCE-6300/6500/7RM2/7SM2, ILCA-99M2
|
|
936
|
-
# unknown offsets or values for ILCE-6400/7M3/7RM3/9, DSC-RX10M4/RX100M6/RX100M5A/HX99
|
|
939
|
+
# unknown offsets or values for ILCE-6400/7M3/7RM3/7RM4/9, DSC-RX0M2/RX10M4/RX100M6/RX100M5A/HX99
|
|
937
940
|
{
|
|
938
941
|
Name => 'Tag2010a', # ad
|
|
939
942
|
Condition => '$$self{Model} =~ /^NEX-5N$/',
|
|
@@ -974,7 +977,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
974
977
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010h' },
|
|
975
978
|
},{
|
|
976
979
|
Name => 'Tag2010i', # ?
|
|
977
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
|
|
980
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
|
|
978
981
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010i' },
|
|
979
982
|
},{
|
|
980
983
|
Name => 'Tag_0x2010',
|
|
@@ -1032,6 +1035,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1032
1035
|
1 => 'Flash Fired',
|
|
1033
1036
|
2 => 'External Flash Fired',
|
|
1034
1037
|
3 => 'Wireless Controlled Flash Fired', # (NC) seen for ILCE-9 and ILCE-7M3 images
|
|
1038
|
+
# 5 => 'External Flash ???', # seen for ILCE-7RM4
|
|
1035
1039
|
},
|
|
1036
1040
|
},
|
|
1037
1041
|
# 0x2018 - something with external flash: seen 1 only when 0x2017 = 2
|
|
@@ -1491,14 +1495,14 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1491
1495
|
# from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
|
|
1492
1496
|
{
|
|
1493
1497
|
Name => 'Tag9050a',
|
|
1494
|
-
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(6300|6400|6500|7M3|7RM2|7RM3|7SM2|9)|ILCA-99M2)/',
|
|
1498
|
+
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(6300|6400|6500|7M3|7RM2|7RM3|7RM4|7SM2|9)|ILCA-99M2)/',
|
|
1495
1499
|
SubDirectory => {
|
|
1496
1500
|
TagTable => 'Image::ExifTool::Sony::Tag9050a',
|
|
1497
1501
|
ByteOrder => 'LittleEndian',
|
|
1498
1502
|
},
|
|
1499
1503
|
},{
|
|
1500
1504
|
Name => 'Tag9050b',
|
|
1501
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6300|6400|6500|7M3|7RM2|7RM3|7SM2|9)|ILCA-99M2)/',
|
|
1505
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6300|6400|6500|7M3|7RM2|7RM3|7RM4|7SM2|9)|ILCA-99M2)/',
|
|
1502
1506
|
SubDirectory => {
|
|
1503
1507
|
TagTable => 'Image::ExifTool::Sony::Tag9050b',
|
|
1504
1508
|
ByteOrder => 'LittleEndian',
|
|
@@ -1516,7 +1520,8 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1516
1520
|
# 0xd0 (e) H90, W650, W690: tag9400 decoding appears not valid/different
|
|
1517
1521
|
# 0x23 (e) for DSC-RX10/HX60V/HX350/HX400V/WX220/WX350, ILCE-7/7R/5000/6000, ILCA-68/77M2
|
|
1518
1522
|
# 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
|
|
1519
|
-
# 0x26 (e) for ILCE-6400/7M3/7RM3/9, DSC-RX10M4/RX100M5A/RX100M6/HX99
|
|
1523
|
+
# 0x26 (e) for ILCE-6400/7M3/7RM3/9, DSC-RX0M2/RX10M4/RX100M5A/RX100M6/HX99
|
|
1524
|
+
# 0x28 (e) for ILCE-7RM4
|
|
1520
1525
|
# first byte decoded: 40, 204, 202, 27, 58, 62, 48, 215 respectively
|
|
1521
1526
|
{
|
|
1522
1527
|
Name => 'Tag9400a',
|
|
@@ -1531,7 +1536,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1531
1536
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400b' },
|
|
1532
1537
|
},{
|
|
1533
1538
|
Name => 'Tag9400c',
|
|
1534
|
-
Condition => '$$valPt =~ /^[\x23\x24\x26]/',
|
|
1539
|
+
Condition => '$$valPt =~ /^[\x23\x24\x26\x28]/',
|
|
1535
1540
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400c' },
|
|
1536
1541
|
},{
|
|
1537
1542
|
Name => 'Sony_0x9400',
|
|
@@ -1586,11 +1591,12 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1586
1591
|
# 7c 00 fe 0f 0x0adb (w) ILCE-9 v0.01-v2.00
|
|
1587
1592
|
# 7d 00 fe 0f 0x0adb (w) ILCE-9 v2.10-v4.10
|
|
1588
1593
|
# 7f 00 fa 0f 0x0add (x) DSC-RX10M4 v1.00
|
|
1589
|
-
# 80 00 fa 0f 0x0add (x) ILCE-7M3/7RM3 v1.00-
|
|
1594
|
+
# 80 00 fa 0f 0x0add (x) ILCE-7M3/7RM3 v1.00-v3.01
|
|
1590
1595
|
# 82 00 fc 0f 0x0ad9 (y) DSC-RX100M5A v1.00, DSC-RX100M6 v1.00
|
|
1591
1596
|
# 90 00 fe 0f 0x098f? (z) DSC-HX99 v1.00
|
|
1592
|
-
# 92 10 ff 0f
|
|
1593
|
-
# 94 00 ce 0b 0x0879 (zb) ILCE-9
|
|
1597
|
+
# 92 10 ff 0f 0x0990 (za) ILCE-6400 v1.00
|
|
1598
|
+
# 94 00 ce 0b 0x0879 (zb) ILCE-9 v5.0x, DSC-RX0M2
|
|
1599
|
+
# 98 00 db 0c 0x088a (zc) ILCE-7RM4 v1.00
|
|
1594
1600
|
#
|
|
1595
1601
|
# 0x0004 - (RX100: 0 or 1. subsequent data valid only if 1 - PH)
|
|
1596
1602
|
# 0x0007 => {
|
|
@@ -1629,7 +1635,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1629
1635
|
# 0x1d 0x01 DSC-RX10M4
|
|
1630
1636
|
# 0x1e 0x01 ILCE-7M3/7RM3, DSC-RX100M5A/RX100M6
|
|
1631
1637
|
# 0x1f 0x01 DSC-HX99
|
|
1632
|
-
# 0x20 0x01 ILCE-6400, ILCE-9 v5.
|
|
1638
|
+
# 0x20 0x01 ILCE-6400/7RM4, ILCE-9 v5.0x, DSC-RX0M2
|
|
1633
1639
|
# var var SLT-A58/A99V, HV, ILCA-68/77M2/99M2
|
|
1634
1640
|
# 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)
|
|
1635
1641
|
# 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/',
|
|
@@ -1653,7 +1659,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1653
1659
|
# 13 0 9 2 2 DSC-QX10/QX100/RX100M2
|
|
1654
1660
|
# 15 0 35 2 2 ILCA-68/77M2, ILCE-5000/5100/6000/7/7R/7S/7M2/QX1, DSC-HX60V/HX350/HX400V/QX30/RX10/RX100M3/WX220/WX350
|
|
1655
1661
|
# 16 0 85 2 2 DSC-HX80/HX90V/WX500
|
|
1656
|
-
# 17 0 232 1 2 DSC-RX0/RX1RM2/RX10M2/RX10M3/RX10M4/RX100M4/RX100M5/RX100M5A/RX100M6/HX99, ILCE-6300/6400/6500/7M3/7RM2/7RM3/7SM2/9, ILCA-99M2
|
|
1662
|
+
# 17 0 232 1 2 DSC-RX0/RX0M2/RX1RM2/RX10M2/RX10M3/RX10M4/RX100M4/RX100M5/RX100M5A/RX100M6/HX99, ILCE-6300/6400/6500/7M3/7RM2/7RM3/7RM4/7SM2/9, ILCA-99M2
|
|
1657
1663
|
# other values for Panorama images and several other models
|
|
1658
1664
|
0x9404 => [{
|
|
1659
1665
|
Name => 'Tag9404a',
|
|
@@ -1687,7 +1693,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1687
1693
|
# 142 var (0x25 = 37 var enc.) DSC-HX80/HX90V/RX1RM2/RX10M2/RX10M3/RX100M4/WX500, ILCE-6300/7RM2/7SM2
|
|
1688
1694
|
# 144 var (0xe1 = 225 var enc.) DSC-RX100M5
|
|
1689
1695
|
# 145 var (0x76 = 118 var enc.) ILCA-99M2, ILCE-6500, DSC-RX0
|
|
1690
|
-
# 163 var (0x8b = 139 var enc.) ILCE-6400/7M3/7RM3/9, DSC-RX10M4/RX100M5A/RX100M6/HX99
|
|
1696
|
+
# 163 var (0x8b = 139 var enc.) ILCE-6400/7M3/7RM3/7RM4/9, DSC-RX0M2/RX10M4/RX100M5A/RX100M6/HX99
|
|
1691
1697
|
0x9405 => [{
|
|
1692
1698
|
Name => 'Tag9405a',
|
|
1693
1699
|
# first byte must be 0x1b or 0x40 or 0x7d
|
|
@@ -1704,9 +1710,10 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1704
1710
|
}],
|
|
1705
1711
|
0x9406 => [{
|
|
1706
1712
|
Name => 'Tag9406',
|
|
1707
|
-
# - first byte must be 0x01 or 0x02 (enciphered 0x01 or 0x08),
|
|
1713
|
+
# - first byte must be 0x01 or 0x02 (enciphered 0x01 or 0x08),
|
|
1714
|
+
# or 0x03 (enc. 0x1b) for ILCE-6300/6400/6500/7M3/7RM2/7RM3/7RM4/7SM2/9, and ILCA-99M2
|
|
1708
1715
|
# third byte must be 0x02 or 0x03 (enciphered 0x08 or 0x1b) - ref JR
|
|
1709
|
-
# (applies to most SLT and NEX models, but no DSC models)
|
|
1716
|
+
# (applies to most SLT/ILCA and NEX/ILCE models, but no DSC models)
|
|
1710
1717
|
Condition => '$$valPt =~ /^[\x01\x08\x1b].[\x08\x1b]/s',
|
|
1711
1718
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9406' },
|
|
1712
1719
|
},{
|
|
@@ -1883,6 +1890,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1883
1890
|
369 => 'DSC-RX100M5A', #JR
|
|
1884
1891
|
371 => 'ILCE-6400', #IB
|
|
1885
1892
|
372 => 'DSC-RX0M2', #JR
|
|
1893
|
+
375 => 'ILCE-7RM4', #IB
|
|
1886
1894
|
},
|
|
1887
1895
|
},
|
|
1888
1896
|
0xb020 => { #2
|
|
@@ -6036,6 +6044,7 @@ my %isoSetting2010 = (
|
|
|
6036
6044
|
FIRST_ENTRY => 0,
|
|
6037
6045
|
PRIORITY => 0,
|
|
6038
6046
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6047
|
+
IS_SUBDIR => [ 0x04b0 ],
|
|
6039
6048
|
0x04b0 => {
|
|
6040
6049
|
Name => 'MeterInfo',
|
|
6041
6050
|
Format => 'int32u[486]',
|
|
@@ -6072,6 +6081,7 @@ my %isoSetting2010 = (
|
|
|
6072
6081
|
FIRST_ENTRY => 0,
|
|
6073
6082
|
PRIORITY => 0,
|
|
6074
6083
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6084
|
+
IS_SUBDIR => [ 0x04b4 ],
|
|
6075
6085
|
0x0000 => { %sequenceImageNumber }, #PH
|
|
6076
6086
|
0x0004 => { %sequenceFileNumber }, #PH
|
|
6077
6087
|
0x0008 => { %releaseMode2, Format => 'int32u' },
|
|
@@ -6139,6 +6149,7 @@ my %isoSetting2010 = (
|
|
|
6139
6149
|
FIRST_ENTRY => 0,
|
|
6140
6150
|
PRIORITY => 0,
|
|
6141
6151
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6152
|
+
IS_SUBDIR => [ 0x0490 ],
|
|
6142
6153
|
0x0000 => { %sequenceImageNumber }, #PH
|
|
6143
6154
|
0x0004 => { %sequenceFileNumber }, #PH
|
|
6144
6155
|
0x0008 => { %releaseMode2, Format => 'int32u' },
|
|
@@ -6207,6 +6218,7 @@ my %isoSetting2010 = (
|
|
|
6207
6218
|
FIRST_ENTRY => 0,
|
|
6208
6219
|
PRIORITY => 0,
|
|
6209
6220
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6221
|
+
IS_SUBDIR => [ 0x050c ],
|
|
6210
6222
|
0x0000 => { %sequenceImageNumber }, #PH
|
|
6211
6223
|
0x0004 => { %sequenceFileNumber }, #PH
|
|
6212
6224
|
0x0008 => { %releaseMode2, Format => 'int32u' },
|
|
@@ -6269,6 +6281,8 @@ my %isoSetting2010 = (
|
|
|
6269
6281
|
FIRST_ENTRY => 0,
|
|
6270
6282
|
PRIORITY => 0,
|
|
6271
6283
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6284
|
+
DATAMEMBER => [ 0x1892 ],
|
|
6285
|
+
IS_SUBDIR => [ 0x04b8 ],
|
|
6272
6286
|
0x0000 => { %sequenceImageNumber }, #PH
|
|
6273
6287
|
0x0004 => { %sequenceFileNumber }, #PH
|
|
6274
6288
|
0x0008 => { %releaseMode2, Format => 'int32u' },
|
|
@@ -6371,7 +6385,9 @@ my %isoSetting2010 = (
|
|
|
6371
6385
|
Condition => '$$self{Model} !~ /^(DSC-|Stellar)/',
|
|
6372
6386
|
Format => 'int16s[16]',
|
|
6373
6387
|
},
|
|
6374
|
-
# 0x1890 - same as 0x1892, but has value 3 for
|
|
6388
|
+
# 0x1890 - same as 0x1892, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
6389
|
+
# Presumably, these are the A-mount lenses "compatible with software updates" as referred to in the ILCA-99M2 manual.
|
|
6390
|
+
# Indeed, SAL70400G2 on ILCA-77M2 gives Version: "Lens: Ver.01"
|
|
6375
6391
|
0x1891 => {
|
|
6376
6392
|
Name => 'LensFormat',
|
|
6377
6393
|
Condition => '$$self{Model} !~ /^(DSC-|Stellar)/',
|
|
@@ -6433,6 +6449,7 @@ my %isoSetting2010 = (
|
|
|
6433
6449
|
FIRST_ENTRY => 0,
|
|
6434
6450
|
PRIORITY => 0,
|
|
6435
6451
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6452
|
+
IS_SUBDIR => [ 0x01e0 ],
|
|
6436
6453
|
0x0004 => { %releaseMode2, Format => 'int32u' }, # NOT at offset 0x08 !
|
|
6437
6454
|
#0x002e => { Name => 'SonyImageWidth3', Format => 'int16u' },
|
|
6438
6455
|
#0x0042 => { Name => 'SonyImageWidth3', Format => 'int16u' },
|
|
@@ -6512,6 +6529,8 @@ my %isoSetting2010 = (
|
|
|
6512
6529
|
FIRST_ENTRY => 0,
|
|
6513
6530
|
PRIORITY => 0,
|
|
6514
6531
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6532
|
+
DATAMEMBER => [ 0x18be ],
|
|
6533
|
+
IS_SUBDIR => [ 0x0388 ],
|
|
6515
6534
|
0x0004 => { %releaseMode2, Format => 'int32u' }, # NOT at offset 0x08 !
|
|
6516
6535
|
0x0050 => { %dynamicRangeOptimizer2010 },
|
|
6517
6536
|
0x020c => { %releaseMode2010 },
|
|
@@ -6574,7 +6593,7 @@ my %isoSetting2010 = (
|
|
|
6574
6593
|
Condition => '$$self{Model} !~ /^DSC-/',
|
|
6575
6594
|
Format => 'int16s[16]',
|
|
6576
6595
|
},
|
|
6577
|
-
# 0x18bc - same as 0x18be, but has value 3 for
|
|
6596
|
+
# 0x18bc - same as 0x18be, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
6578
6597
|
0x18bd => {
|
|
6579
6598
|
Name => 'LensFormat',
|
|
6580
6599
|
Condition => '$$self{Model} !~ /^DSC-/',
|
|
@@ -6639,6 +6658,8 @@ my %isoSetting2010 = (
|
|
|
6639
6658
|
FIRST_ENTRY => 0,
|
|
6640
6659
|
PRIORITY => 0,
|
|
6641
6660
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6661
|
+
DATAMEMBER => [ 0x18ee ],
|
|
6662
|
+
IS_SUBDIR => [ 0x0388, 0x0398 ],
|
|
6642
6663
|
0x0004 => { %releaseMode2, Format => 'int32u' },
|
|
6643
6664
|
0x0050 => { %dynamicRangeOptimizer2010 },
|
|
6644
6665
|
0x020c => { %releaseMode2010 },
|
|
@@ -6709,7 +6730,7 @@ my %isoSetting2010 = (
|
|
|
6709
6730
|
Condition => '$$self{Model} !~ /^DSC-/',
|
|
6710
6731
|
Format => 'int16s[16]',
|
|
6711
6732
|
},
|
|
6712
|
-
# 0x18ec - same as 0x18ee, but has value 3 for
|
|
6733
|
+
# 0x18ec - same as 0x18ee, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
6713
6734
|
0x18ed => {
|
|
6714
6735
|
Name => 'LensFormat',
|
|
6715
6736
|
Condition => '$$self{Model} !~ /^DSC-/',
|
|
@@ -6767,12 +6788,14 @@ my %isoSetting2010 = (
|
|
|
6767
6788
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
6768
6789
|
FORMAT => 'int8u',
|
|
6769
6790
|
NOTES => q{
|
|
6770
|
-
Valid for ILCE-6400/7M3/7RM3/9, DSC-RX10M4/RX100M6/RX100M5A/HX99.
|
|
6791
|
+
Valid for ILCE-6400/7M3/7RM3/7RM4/9, DSC-RX0M2/RX10M4/RX100M6/RX100M5A/HX99.
|
|
6771
6792
|
},
|
|
6772
6793
|
WRITABLE => 1,
|
|
6773
6794
|
FIRST_ENTRY => 0,
|
|
6774
6795
|
PRIORITY => 0,
|
|
6775
6796
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
6797
|
+
DATAMEMBER => [ 0x17f2 ],
|
|
6798
|
+
IS_SUBDIR => [ 0x036d ],
|
|
6776
6799
|
0x0004 => { %releaseMode2, Format => 'int32u' },
|
|
6777
6800
|
0x004e => { %dynamicRangeOptimizer2010 },
|
|
6778
6801
|
0x0204 => { %releaseMode2010 },
|
|
@@ -6835,7 +6858,7 @@ my %isoSetting2010 = (
|
|
|
6835
6858
|
Condition => '$$self{Model} !~ /^DSC-/',
|
|
6836
6859
|
Format => 'int16s[16]',
|
|
6837
6860
|
},
|
|
6838
|
-
# 0x17f0 - same as 0x17f2, but has value 3 for
|
|
6861
|
+
# 0x17f0 - same as 0x17f2, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
6839
6862
|
0x17f1 => {
|
|
6840
6863
|
Name => 'LensFormat',
|
|
6841
6864
|
Condition => '$$self{Model} !~ /^DSC-/',
|
|
@@ -7067,8 +7090,8 @@ my %isoSetting2010 = (
|
|
|
7067
7090
|
},
|
|
7068
7091
|
WRITABLE => 1,
|
|
7069
7092
|
FIRST_ENTRY => 0,
|
|
7070
|
-
DATAMEMBER => [ 0x0105 ],
|
|
7071
7093
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
7094
|
+
DATAMEMBER => [ 0x0031, 0x0105 ],
|
|
7072
7095
|
NOTES => q{
|
|
7073
7096
|
Data for tags 0x9050, 0x94xx and 0x2010 is encrypted by a simple
|
|
7074
7097
|
substitution cipher, but the deciphered values are listed below.
|
|
@@ -7200,7 +7223,7 @@ my %isoSetting2010 = (
|
|
|
7200
7223
|
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
|
|
7201
7224
|
PrintConvInv => 'join " ", unpack "C*", pack "H*", $val',
|
|
7202
7225
|
},
|
|
7203
|
-
# 0x0104 - same as 0x0105, but has value 3 for
|
|
7226
|
+
# 0x0104 - same as 0x0105, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
7204
7227
|
0x0105 => {
|
|
7205
7228
|
Name => 'LensMount',
|
|
7206
7229
|
DataMember => 'LensMount',
|
|
@@ -7337,13 +7360,13 @@ my %isoSetting2010 = (
|
|
|
7337
7360
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
7338
7361
|
FORMAT => 'int8u',
|
|
7339
7362
|
NOTES => q{
|
|
7340
|
-
Valid from July 2015 for ILCE-6300/6400/6500/7M3/7RM2/7RM3/7SM2/9,
|
|
7363
|
+
Valid from July 2015 for ILCE-6300/6400/6500/7M3/7RM2/7RM3/7RM4/7SM2/9,
|
|
7341
7364
|
ILCA-99M2.
|
|
7342
7365
|
},
|
|
7343
7366
|
WRITABLE => 1,
|
|
7344
7367
|
FIRST_ENTRY => 0,
|
|
7345
|
-
DATAMEMBER => [ 0x0105 ],
|
|
7346
7368
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
7369
|
+
DATAMEMBER => [ 0x0039, 0x0105 ],
|
|
7347
7370
|
0x0000 => {
|
|
7348
7371
|
Condition => '$$self{Model} =~ /^(ILCA-)/',
|
|
7349
7372
|
Name => 'SonyMaxAperture', # (at current focal length)
|
|
@@ -7375,7 +7398,7 @@ my %isoSetting2010 = (
|
|
|
7375
7398
|
},
|
|
7376
7399
|
#0x002c => {
|
|
7377
7400
|
# Name => 'Shutter',
|
|
7378
|
-
# Condition => '$$self{Model} !~ /^(ILCE-6400)/ and $$self{Software} !~ /^ILCE-9 v5.
|
|
7401
|
+
# Condition => '$$self{Model} !~ /^(ILCE-6400)/ and $$self{Software} !~ /^ILCE-9 v5.0/',
|
|
7379
7402
|
# PrintConv => {
|
|
7380
7403
|
# 0 => 'Silent / Electronic',
|
|
7381
7404
|
# 56 => 'Mechanical',
|
|
@@ -7392,6 +7415,7 @@ my %isoSetting2010 = (
|
|
|
7392
7415
|
66 => 'Built-in Flash Inhibited', # seen for panorama, HDR, burst mode
|
|
7393
7416
|
128 => 'External Flash present', # seen for NEX-5N/5T
|
|
7394
7417
|
129 => 'External Flash Fired', # seen for SLT-A99V, ILCE-7R, NEX-5N/5R
|
|
7418
|
+
# 131 => 'External Flash ???', # seen for ILCE-7RM4
|
|
7395
7419
|
},
|
|
7396
7420
|
},
|
|
7397
7421
|
0x003a => {
|
|
@@ -7422,10 +7446,10 @@ my %isoSetting2010 = (
|
|
|
7422
7446
|
Name => 'ReleaseMode2',
|
|
7423
7447
|
%releaseMode2,
|
|
7424
7448
|
},
|
|
7425
|
-
# March 2019: ILCE-9 with v5.
|
|
7449
|
+
# March 2019: ILCE-9 with v5.0x firmware follows ILCE-6400 in many tags ...
|
|
7426
7450
|
0x0050 => {
|
|
7427
7451
|
Name => 'ShutterCount2',
|
|
7428
|
-
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} =~ /^(ILCE-6400)/ or $$self{Software} =~ /^ILCE-9 v5.
|
|
7452
|
+
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} =~ /^(ILCE-(6400|7RM4))/ or $$self{Software} =~ /^ILCE-9 v5.0/)',
|
|
7429
7453
|
Format => 'int32u',
|
|
7430
7454
|
RawConv => '$val & 0x00ffffff',
|
|
7431
7455
|
},
|
|
@@ -7442,13 +7466,13 @@ my %isoSetting2010 = (
|
|
|
7442
7466
|
# 0x0058, 0x0061: E-Mount: ShutterCount and dateTime
|
|
7443
7467
|
0x0058 => { # appears not valid when flash is used ... not for ILCA-99M2
|
|
7444
7468
|
Name => 'ShutterCount2',
|
|
7445
|
-
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} !~ /^(ILCA-99M2|ILCE-(6400|7M3|7RM3))/) and $$self{Software} !~ /^ILCE-9 v5.
|
|
7469
|
+
Condition => '(($$self{FlashFired} & 0x01) != 1) and ($$self{Model} !~ /^(ILCA-99M2|ILCE-(6400|7M3|7RM3|7RM4))/) and $$self{Software} !~ /^ILCE-9 v5.0/',
|
|
7446
7470
|
Format => 'int32u',
|
|
7447
7471
|
RawConv => '$val & 0x00ffffff',
|
|
7448
7472
|
},
|
|
7449
7473
|
0x0061 => { # only minutes-seconds, not for ILCA-99M2, ILCE-9
|
|
7450
7474
|
Name => 'SonyTimeMinSec',
|
|
7451
|
-
Condition => '$$self{Model} !~ /^(ILCA-99M2|ILCE-(6400|7M3|7RM3|9))/',
|
|
7475
|
+
Condition => '$$self{Model} !~ /^(ILCA-99M2|ILCE-(6400|7M3|7RM3|7RM4|9))/',
|
|
7452
7476
|
Format => 'undef[2]',
|
|
7453
7477
|
ValueConv => q{
|
|
7454
7478
|
my @v = unpack('C*', $val);
|
|
@@ -7457,7 +7481,7 @@ my %isoSetting2010 = (
|
|
|
7457
7481
|
},
|
|
7458
7482
|
0x006b => {
|
|
7459
7483
|
Name => 'ReleaseMode2',
|
|
7460
|
-
Condition => '$$self{Model} =~ /^(ILCE-6400)/ or $$self{Software} =~ /^ILCE-9 v5.
|
|
7484
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7RM4))/ or $$self{Software} =~ /^ILCE-9 v5.0/',
|
|
7461
7485
|
%releaseMode2,
|
|
7462
7486
|
},
|
|
7463
7487
|
0x006d => {
|
|
@@ -7467,7 +7491,7 @@ my %isoSetting2010 = (
|
|
|
7467
7491
|
},
|
|
7468
7492
|
0x0073 => {
|
|
7469
7493
|
Name => 'ReleaseMode2',
|
|
7470
|
-
Condition => '$$self{Model} !~ /^(ILCE-(6400|7M3|7RM3))/ and $$self{Software} !~ /^ILCE-9 v5.
|
|
7494
|
+
Condition => '$$self{Model} !~ /^(ILCE-(6400|7M3|7RM3|7RM4))/ and $$self{Software} !~ /^ILCE-9 v5.0/',
|
|
7471
7495
|
%releaseMode2,
|
|
7472
7496
|
},
|
|
7473
7497
|
0x0088 => {
|
|
@@ -7478,7 +7502,7 @@ my %isoSetting2010 = (
|
|
|
7478
7502
|
|
|
7479
7503
|
##### same offsets for lens info tags
|
|
7480
7504
|
|
|
7481
|
-
# 0x0104 - same as 0x0105, but has value 3 for
|
|
7505
|
+
# 0x0104 - same as 0x0105, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
7482
7506
|
0x0105 => {
|
|
7483
7507
|
Name => 'LensMount',
|
|
7484
7508
|
DataMember => 'LensMount',
|
|
@@ -7538,7 +7562,7 @@ my %isoSetting2010 = (
|
|
|
7538
7562
|
#
|
|
7539
7563
|
0x019f => {
|
|
7540
7564
|
Name => 'ShutterCount3',
|
|
7541
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|9))/',
|
|
7565
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9))/',
|
|
7542
7566
|
Format => 'int32u',
|
|
7543
7567
|
RawConv => '$val == 0 ? undef : $val',
|
|
7544
7568
|
},
|
|
@@ -7577,7 +7601,7 @@ my %isoSetting2010 = (
|
|
|
7577
7601
|
# },
|
|
7578
7602
|
0x01ed => {
|
|
7579
7603
|
Name => 'LensSpecFeatures',
|
|
7580
|
-
Condition => '$$self{Software} =~ /^ILCE-9 v5.
|
|
7604
|
+
Condition => '$$self{Model} =~ /^(ILCE-7RM4)/ or $$self{Software} =~ /^ILCE-9 v5.0/',
|
|
7581
7605
|
Priority => 0,
|
|
7582
7606
|
Format => 'undef[2]',
|
|
7583
7607
|
ValueConv => 'join " ", unpack "H2H2", $val',
|
|
@@ -7590,7 +7614,7 @@ my %isoSetting2010 = (
|
|
|
7590
7614
|
},
|
|
7591
7615
|
0x01f0 => {
|
|
7592
7616
|
Name => 'LensSpecFeatures',
|
|
7593
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|9))/ and $$self{Software} !~ /^ILCE-9 v5.
|
|
7617
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|9))/ and $$self{Software} !~ /^ILCE-9 v5.0/',
|
|
7594
7618
|
Priority => 0,
|
|
7595
7619
|
Format => 'undef[2]',
|
|
7596
7620
|
ValueConv => 'join " ", unpack "H2H2", $val',
|
|
@@ -7798,14 +7822,14 @@ my %isoSetting2010 = (
|
|
|
7798
7822
|
NOTES => q{
|
|
7799
7823
|
Valid for DSC-HX60V/HX80/HX90V/HX99/HX350/HX400V/QX30/RX0/RX1RM2/RX10/
|
|
7800
7824
|
RX10M2/RX10M3/RX10M4/RX100M3/RX100M4/RX100M5/RX100M5A/RX100M6/WX220/WX350/
|
|
7801
|
-
WX500, ILCE-7/7R/7S/7M2/7M3/7RM2/7RM3/7SM2/9/5000/5100/6000/6300/6400/
|
|
7802
|
-
QX1, ILCA-68/77M2/99M2.
|
|
7825
|
+
WX500, ILCE-7/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/9/5000/5100/6000/6300/6400/
|
|
7826
|
+
6500/QX1, ILCA-68/77M2/99M2.
|
|
7803
7827
|
},
|
|
7804
7828
|
FIRST_ENTRY => 0,
|
|
7805
7829
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
7806
7830
|
0x0009 => { %releaseMode2 },
|
|
7807
7831
|
0x000a => [{
|
|
7808
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
|
|
7832
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
|
|
7809
7833
|
Name => 'ShotNumberSincePowerUp',
|
|
7810
7834
|
Format => 'int8u',
|
|
7811
7835
|
},{
|
|
@@ -7882,10 +7906,11 @@ my %isoSetting2010 = (
|
|
|
7882
7906
|
FIRST_ENTRY => 0,
|
|
7883
7907
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
7884
7908
|
DATAMEMBER => [ 0 ],
|
|
7885
|
-
IS_SUBDIR => [ 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
|
7909
|
+
IS_SUBDIR => [ 0x0498, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
|
7886
7910
|
0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
|
|
7887
7911
|
|
|
7888
7912
|
0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
7913
|
+
0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 152', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
7889
7914
|
0x059d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(144|146)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
7890
7915
|
0x0634 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 68', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
7891
7916
|
0x0636 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(73|74)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
@@ -8106,8 +8131,8 @@ my %isoSetting2010 = (
|
|
|
8106
8131
|
WRITABLE => 1,
|
|
8107
8132
|
FIRST_ENTRY => 0,
|
|
8108
8133
|
PRIORITY => 0,
|
|
8109
|
-
DATAMEMBER => [ 0x0604 ],
|
|
8110
8134
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8135
|
+
DATAMEMBER => [ 0x0604 ],
|
|
8111
8136
|
NOTES => 'Valid for SLT, NEX, ILCE-3000/3500 and several DSC models.',
|
|
8112
8137
|
0x0600 => {
|
|
8113
8138
|
Name => 'DistortionCorrParamsPresent',
|
|
@@ -8121,7 +8146,7 @@ my %isoSetting2010 = (
|
|
|
8121
8146
|
1 => 'Applied',
|
|
8122
8147
|
},
|
|
8123
8148
|
},
|
|
8124
|
-
# 0x0602 - same as 0x0604, but has value 3 for
|
|
8149
|
+
# 0x0602 - same as 0x0604, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
8125
8150
|
0x0603 => {
|
|
8126
8151
|
Name => 'LensFormat',
|
|
8127
8152
|
Condition => '$$self{Model} !~ /^(DSC-|Stellar)/',
|
|
@@ -8184,12 +8209,13 @@ my %isoSetting2010 = (
|
|
|
8184
8209
|
WRITABLE => 1,
|
|
8185
8210
|
FIRST_ENTRY => 0,
|
|
8186
8211
|
PRIORITY => 0,
|
|
8187
|
-
DATAMEMBER => [ 0x005e ],
|
|
8188
8212
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8213
|
+
DATAMEMBER => [ 0x005e ],
|
|
8189
8214
|
NOTES => q{
|
|
8190
8215
|
Valid for DSC-HX60V/HX80/HX90V/HX99/HX350/HX400V/QX30/RX0/RX10/RX10M2/
|
|
8191
8216
|
RX10M3/RX10M4/RX100M3/RX100M4/RX100M5/RX100M5A/RX100M6/WX220/WX350, ILCE-7/
|
|
8192
|
-
7M2/7M3/7R/7RM2/7S/7SM2/9/5000/5100/6000/6300/6500/QX1, ILCA-68/
|
|
8217
|
+
7M2/7M3/7R/7RM2/7RM3/7RM4/7S/7SM2/9/5000/5100/6000/6300/6500/QX1, ILCA-68/
|
|
8218
|
+
77M2/99M2.
|
|
8193
8219
|
},
|
|
8194
8220
|
0x0004 => {
|
|
8195
8221
|
Name => 'SonyISO',
|
|
@@ -8299,7 +8325,7 @@ my %isoSetting2010 = (
|
|
|
8299
8325
|
1 => 'Applied',
|
|
8300
8326
|
},
|
|
8301
8327
|
},
|
|
8302
|
-
# 0x005c - same as 0x005e, but has value 3 for
|
|
8328
|
+
# 0x005c - same as 0x005e, but has value 3 for SAL18135, SAL50F14Z, SAL55300, SAL70200G2, SAL70300G2, SAL70400G2
|
|
8303
8329
|
0x005d => {
|
|
8304
8330
|
Name => 'LensFormat',
|
|
8305
8331
|
Condition => '$$self{Model} !~ /^DSC-/',
|
|
@@ -8342,7 +8368,7 @@ my %isoSetting2010 = (
|
|
|
8342
8368
|
},
|
|
8343
8369
|
0x0342 => {
|
|
8344
8370
|
Name => 'LensZoomPosition',
|
|
8345
|
-
Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3|7SM2|6300|6400|6500|9)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10M4|RX100M4|RX100M5|RX100M5A|RX100M6|WX500))/',
|
|
8371
|
+
Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3|7RM4|7SM2|6300|6400|6500|9)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10M4|RX100M4|RX100M5|RX100M5A|RX100M6|WX500))/',
|
|
8346
8372
|
Format => 'int16u',
|
|
8347
8373
|
PrintConv => 'sprintf("%.0f%%",$val/10.24)',
|
|
8348
8374
|
PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
|
|
@@ -8359,7 +8385,7 @@ my %isoSetting2010 = (
|
|
|
8359
8385
|
},
|
|
8360
8386
|
0x035c => {
|
|
8361
8387
|
Name => 'VignettingCorrParams',
|
|
8362
|
-
Condition => '$$self{Model} =~ /^(ILCA-99M2|ILCE-(6400|6500|7M3|7RM3|9))/',
|
|
8388
|
+
Condition => '$$self{Model} =~ /^(ILCA-99M2|ILCE-(6400|6500|7M3|7RM3|7RM4|9))/',
|
|
8363
8389
|
Format => 'int16s[16]',
|
|
8364
8390
|
},
|
|
8365
8391
|
0x035a => {
|
|
@@ -8396,7 +8422,7 @@ my %isoSetting2010 = (
|
|
|
8396
8422
|
},
|
|
8397
8423
|
0x03b8 => {
|
|
8398
8424
|
Name => 'ChromaticAberrationCorrParams',
|
|
8399
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|9))/',
|
|
8425
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9))/',
|
|
8400
8426
|
Format => 'int16s[32]',
|
|
8401
8427
|
},
|
|
8402
8428
|
);
|
|
@@ -8412,7 +8438,7 @@ my %isoSetting2010 = (
|
|
|
8412
8438
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8413
8439
|
# 0x0000: 1 for SLT-A37/A57/A65/A77, NEX-5N/7/F3/VG20
|
|
8414
8440
|
# 2 for SLT-A58/99V, NEX-3N/5R/5T/6/VG30/VG900, ILCA-68/77M2, ILCE-3000/3500/7/7M2/7R/7S/5000/6000
|
|
8415
|
-
# 3 for ILCA-99M2, ILCE-6300/6500/7M3/7RM2/7RM3/7SM2/9
|
|
8441
|
+
# 3 for ILCA-99M2, ILCE-6300/6400/6500/7M3/7RM2/7RM3/7RM4/7SM2/9
|
|
8416
8442
|
# 0x0001+0x0002: Int16u, seen 580 - 770: similar to "BatteryUnknown" ??
|
|
8417
8443
|
# 0x0005: int8u, seen 73 - 117: maybe Fahrenheit? Higher than "AmbientTemperature", but same trend.
|
|
8418
8444
|
0x0005 => {
|
|
@@ -8425,7 +8451,7 @@ my %isoSetting2010 = (
|
|
|
8425
8451
|
# 0x0006: usually 0, seen non-zero values only for SLT-A99V, ILCA-77M2/99M2 and ILCE-7/7R/7RM2/9: BatteryLevel Grip ?
|
|
8426
8452
|
0x0006 => {
|
|
8427
8453
|
Name => 'BatteryLevelGrip1',
|
|
8428
|
-
|
|
8454
|
+
RawConv => '$val ? $val : undef', # only valid when not 0
|
|
8429
8455
|
PrintConv => '"$val%"',
|
|
8430
8456
|
PrintConvInv => '$val=~s/\s*\%//; $val',
|
|
8431
8457
|
},
|
|
@@ -8440,7 +8466,8 @@ my %isoSetting2010 = (
|
|
|
8440
8466
|
# but ILCE-7/7R with grip can have max 2, and as all ILCE-7/7R samples give >100 values, exclude...
|
|
8441
8467
|
0x0008 => {
|
|
8442
8468
|
Name => 'BatteryLevelGrip2',
|
|
8443
|
-
Condition => '$$
|
|
8469
|
+
Condition => '$$self{Model} !~ /^(ILCE-(7|7R)|Lusso)$/', # not valid for ILCE-7/7R
|
|
8470
|
+
RawConv => '($val and $val != 255) ? $val : undef', # not valid if 0 or 255
|
|
8444
8471
|
PrintConv => '"$val%"',
|
|
8445
8472
|
PrintConvInv => '$val=~s/\s*\%//; $val',
|
|
8446
8473
|
},
|
|
@@ -8559,7 +8586,7 @@ my %isoSetting2010 = (
|
|
|
8559
8586
|
# ILCE-6000 v1.20-v3.20
|
|
8560
8587
|
# 1.60: ILCE-6300/6500, ILCE-7RM2 v3.05-v4.00
|
|
8561
8588
|
# 1.70: ILCE-7M3/7RM3, ILCE-9 v1.00-v4.10
|
|
8562
|
-
# 1.80: ILCE-6400, ILCE-9 v5.
|
|
8589
|
+
# 1.80: ILCE-6400/7RM4, ILCE-9 v5.0x
|
|
8563
8590
|
},
|
|
8564
8591
|
0x000d => {
|
|
8565
8592
|
Name => 'LensE-mountVersion',
|
|
@@ -8582,10 +8609,11 @@ my %isoSetting2010 = (
|
|
|
8582
8609
|
# 1.41: SELP18105G Ver.02
|
|
8583
8610
|
# 1.50: SEL28F20, SEL90M28G, Zeiss Batis 18mm/25mm/85mm/135mm, Zeiss Loxia 21mm, Zeiss Loxia 35mm/50mm Ver.02,
|
|
8584
8611
|
# Tokina FiRIN 20mm
|
|
8585
|
-
# 1.60: SEL1224G, SEL1635GM, SELP18110G, SEL18135, SEL2470GM, SEL24105G, SEL50F14Z, SEL50F18F, SEL50M28,
|
|
8586
|
-
# SEL70300G, SEL85F14GM, SEL85F18, SEL100F28GM, SEL100400GM, SEL135F18GM,
|
|
8587
|
-
# Samyang AF 14mm/50mm, Voigtlander 15mm,
|
|
8588
|
-
# 1.70: LA-EA3 Ver.02, Samyang AF 35mm, Tamron 28-75mm,
|
|
8612
|
+
# 1.60: SEL1224G, SEL1635GM, SELP18110G, SEL18135, SEL2470GM, SEL24105G, SEL35F18F, SEL50F14Z, SEL50F18F, SEL50M28,
|
|
8613
|
+
# SEL70200GM, SEL70300G, SEL85F14GM, SEL85F18, SEL100F28GM, SEL100400GM, SEL135F18GM, SEL200600G, SEL600F40GM,
|
|
8614
|
+
# Sigma 16F14DCDN/30F14DCDN/35F12DGDN/45F28DGDN, Sigma MC-11, Samyang AF 14mm/50mm, Voigtlander 15mm, Viltrox 85mm MF
|
|
8615
|
+
# 1.70: LA-EA3 Ver.02, Samyang AF 24mm/35mm/85mm, Tamron 17-28mm, 28-75mm, Tokina FiRIN 20mm AF Ver.01, Tokina FiRIN 100mm Macro,
|
|
8616
|
+
# Voigtlander 10mm/12mm/40mm/65mm, Zeiss Loxia 25mm/85mm, Sigma 14-24mm
|
|
8589
8617
|
# 1.80: Voigtlander 21mm
|
|
8590
8618
|
},
|
|
8591
8619
|
# 0x0014 and 0x0015: change together: LensFirmwareVersion
|
|
@@ -8618,7 +8646,7 @@ my %isoSetting2010 = (
|
|
|
8618
8646
|
PRIORITY => 0,
|
|
8619
8647
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
8620
8648
|
DATAMEMBER => [ 0x02 ],
|
|
8621
|
-
IS_SUBDIR => [ 0x11 ],
|
|
8649
|
+
IS_SUBDIR => [ 0x11, 0x7d ],
|
|
8622
8650
|
NOTES => 'These tags are currently extracted for SLT models only.',
|
|
8623
8651
|
# first 4 bytes (deciphered) (ref JR):
|
|
8624
8652
|
# 0 1 1 0 for A37, A57, A58
|
|
@@ -8628,7 +8656,7 @@ my %isoSetting2010 = (
|
|
|
8628
8656
|
# 1 1 3 0 for ILCA-68/77M2/99M2
|
|
8629
8657
|
# 0 0 0 0 for NEX and ILCE-3000/3500, also seen for SLT/ILCA with non-AF lens
|
|
8630
8658
|
# 1 0 0 0 for ILCE-5000/5100/6000/7/7M2/7R/7S/QX1
|
|
8631
|
-
# 6 0 0 0 for ILCE-6300/6400/6500/7M3/7RM2/7RM3/7SM2/9
|
|
8659
|
+
# 6 0 0 0 for ILCE-6300/6400/6500/7M3/7RM2/7RM3/7RM4/7SM2/9
|
|
8632
8660
|
# 0 2 0 0 for NEX/ILCE with LA-EA2/EA4 Phase-AF adapter
|
|
8633
8661
|
# 2 0 0 0 seen for a few NEX-5N images
|
|
8634
8662
|
# 2 2 0 0 seen for a few NEX-5N/7 images with LA-EA2 adapter
|
|
@@ -8921,12 +8949,12 @@ my %isoSetting2010 = (
|
|
|
8921
8949
|
# other NEX/ILCE: 74 blocks of 164 bytes
|
|
8922
8950
|
|
|
8923
8951
|
# 0x1a06 onwards - first seen for ILCE-7RM2: appears to be some kind of metering image
|
|
8924
|
-
# but not valid anymore for ILCE-6400, ILCE-9 v5.
|
|
8925
|
-
0x1a06 => { Name => 'TiffMeteringImageWidth', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 v5.
|
|
8926
|
-
0x1a07 => { Name => 'TiffMeteringImageHeight', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 v5.
|
|
8952
|
+
# but not valid anymore for ILCE-6400, ILCE-9 v5.0x
|
|
8953
|
+
0x1a06 => { Name => 'TiffMeteringImageWidth', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 v5.0/' },
|
|
8954
|
+
0x1a07 => { Name => 'TiffMeteringImageHeight', Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 v5.0/' },
|
|
8927
8955
|
0x1a08 => { # (2640 bytes: 1 set of 44x30 int16u values)
|
|
8928
8956
|
Name => 'TiffMeteringImage',
|
|
8929
|
-
Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 v5.
|
|
8957
|
+
Condition => '$$self{Model} =~ /^(ILCE-(6300|6500|7M3|7RM2|7RM3|7SM2|9))\b/ and $$self{Software} !~ /^ILCE-9 v5.0/',
|
|
8930
8958
|
Format => 'undef[2640]',
|
|
8931
8959
|
Notes => q{
|
|
8932
8960
|
13(?)-bit intensity data from 1320 (1200) metering segments, extracted as a
|