line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
#------------------------------------------------------------------------------ |
2
|
|
|
|
|
|
|
# File: Sigma.pm |
3
|
|
|
|
|
|
|
# |
4
|
|
|
|
|
|
|
# Description: Sigma/Foveon EXIF maker notes tags |
5
|
|
|
|
|
|
|
# |
6
|
|
|
|
|
|
|
# Revisions: 04/06/2004 - P. Harvey Created |
7
|
|
|
|
|
|
|
# 02/20/2007 - PH added SD14 tags |
8
|
|
|
|
|
|
|
# 24/06/2010 - PH decode some SD15 tags |
9
|
|
|
|
|
|
|
# |
10
|
|
|
|
|
|
|
# References: 1) http://www.x3f.info/technotes/FileDocs/MakerNoteDoc.html |
11
|
|
|
|
|
|
|
# IB) Iliah Borg private communication (LibRaw) |
12
|
|
|
|
|
|
|
# NJ) Niels Kristian Bech Jensen |
13
|
|
|
|
|
|
|
# JR) Jos Roost |
14
|
|
|
|
|
|
|
#------------------------------------------------------------------------------ |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
package Image::ExifTool::Sigma; |
17
|
|
|
|
|
|
|
|
18
|
19
|
|
|
19
|
|
4904
|
use strict; |
|
19
|
|
|
|
|
51
|
|
|
19
|
|
|
|
|
796
|
|
19
|
19
|
|
|
19
|
|
112
|
use vars qw($VERSION %sigmaLensTypes); |
|
19
|
|
|
|
|
60
|
|
|
19
|
|
|
|
|
979
|
|
20
|
19
|
|
|
19
|
|
1402
|
use Image::ExifTool::Exif; |
|
19
|
|
|
|
|
50
|
|
|
19
|
|
|
|
|
27631
|
|
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
$VERSION = '1.32'; |
23
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
# sigma LensType lookup (ref IB) |
25
|
|
|
|
|
|
|
%sigmaLensTypes = ( |
26
|
|
|
|
|
|
|
Notes => q{ |
27
|
|
|
|
|
|
|
Sigma LensType values are hexadecimal numbers stored as a string (without |
28
|
|
|
|
|
|
|
the leading "0x"). Decimal values have been added to differentiate lenses |
29
|
|
|
|
|
|
|
which would otherwise have the same LensType, and are used by the Composite |
30
|
|
|
|
|
|
|
LensID tag when attempting to identify the specific lens model. |
31
|
|
|
|
|
|
|
}, |
32
|
|
|
|
|
|
|
# 0x0 => 'Sigma 50mm F2.8 EX Macro', (0x0 used for other lenses too) |
33
|
|
|
|
|
|
|
# 0x8 - 18-125mm LENSARANGE@18mm=22-4 |
34
|
|
|
|
|
|
|
0x10, 'Sigma 50mm F2.8 EX DG MACRO', |
35
|
|
|
|
|
|
|
# (0x10 = 16) |
36
|
|
|
|
|
|
|
16.1 => 'Sigma 70mm F2.8 EX DG Macro', |
37
|
|
|
|
|
|
|
16.2 => 'Sigma 105mm F2.8 EX DG Macro', |
38
|
|
|
|
|
|
|
0x16 => 'Sigma 18-50mm F3.5-5.6 DC', #PH |
39
|
|
|
|
|
|
|
0x103 => 'Sigma 180mm F3.5 EX IF HSM APO Macro', |
40
|
|
|
|
|
|
|
0x104 => 'Sigma 150mm F2.8 EX DG HSM APO Macro', |
41
|
|
|
|
|
|
|
0x105 => 'Sigma 180mm F3.5 EX DG HSM APO Macro', |
42
|
|
|
|
|
|
|
0x106 => 'Sigma 150mm F2.8 EX DG OS HSM APO Macro', |
43
|
|
|
|
|
|
|
0x107 => 'Sigma 180mm F2.8 EX DG OS HSM APO Macro', |
44
|
|
|
|
|
|
|
# (0x129 = 297) |
45
|
|
|
|
|
|
|
0x129 => 'Sigma Lens (0x129)', #PH |
46
|
|
|
|
|
|
|
297.1 => 'Sigma 14mm F2.8 EX Aspherical', #PH |
47
|
|
|
|
|
|
|
297.2 => 'Sigma 30mm F1.4', |
48
|
|
|
|
|
|
|
# (0x131 = 305) |
49
|
|
|
|
|
|
|
0x131 => 'Sigma Lens (0x131)', |
50
|
|
|
|
|
|
|
305.1 => 'Sigma 17-70mm F2.8-4.5 DC Macro', #PH |
51
|
|
|
|
|
|
|
305.2 => 'Sigma 70-200mm F2.8 APO EX HSM', |
52
|
|
|
|
|
|
|
305.3 => 'Sigma 120-300mm F2.8 APO EX IF HSM', |
53
|
|
|
|
|
|
|
0x134 => 'Sigma 100-300mm F4 EX DG HSM APO', |
54
|
|
|
|
|
|
|
0x135 => 'Sigma 120-300mm F2.8 EX DG HSM APO', |
55
|
|
|
|
|
|
|
0x136 => 'Sigma 120-300mm F2.8 EX DG OS HSM APO', |
56
|
|
|
|
|
|
|
0x137 => 'Sigma 120-300mm F2.8 DG OS HSM | S', |
57
|
|
|
|
|
|
|
0x143 => 'Sigma 600mm F8 Mirror', |
58
|
|
|
|
|
|
|
# (0x145 = 325) |
59
|
|
|
|
|
|
|
0x145 => 'Sigma Lens (0x145)', #PH |
60
|
|
|
|
|
|
|
325.1 => 'Sigma 15-30mm F3.5-4.5 EX DG Aspherical', #PH |
61
|
|
|
|
|
|
|
325.2 => 'Sigma 18-50mm F2.8 EX DG', #PH (NC) |
62
|
|
|
|
|
|
|
325.3 => 'Sigma 20-40mm F2.8 EX DG', #PH |
63
|
|
|
|
|
|
|
0x150 => 'Sigma 30mm F1.4 DC HSM', |
64
|
|
|
|
|
|
|
# (0x152 = 338) |
65
|
|
|
|
|
|
|
0x152 => 'Sigma Lens (0x152)', |
66
|
|
|
|
|
|
|
338.1 => 'Sigma APO 800mm F5.6 EX DG HSM', |
67
|
|
|
|
|
|
|
338.2 => 'Sigma 12-24mm F4.5-5.6 EX DG ASP HSM', |
68
|
|
|
|
|
|
|
338.3 => 'Sigma 10-20mm F4-5.6 EX DC HSM', |
69
|
|
|
|
|
|
|
0x165 => 'Sigma 70-200mm F2.8 EX', # ...but what specific model?: |
70
|
|
|
|
|
|
|
# 70-200mm F2.8 EX APO - Original version, minimum focus distance 1.8m (1999) |
71
|
|
|
|
|
|
|
# 70-200mm F2.8 EX DG - Adds 'digitally optimized' lens coatings to reduce flare (2005) |
72
|
|
|
|
|
|
|
# 70-200mm F2.8 EX DG Macro (HSM) - Minimum focus distance reduced to 1m (2006) |
73
|
|
|
|
|
|
|
# 70-200mm F2.8 EX DG Macro HSM II - Improved optical performance (2007) |
74
|
|
|
|
|
|
|
0x169 => 'Sigma 18-50mm F2.8 EX DC', #PH (NC) |
75
|
|
|
|
|
|
|
0x183 => 'Sigma 500mm F4.5 EX HSM APO', |
76
|
|
|
|
|
|
|
0x184 => 'Sigma 500mm F4.5 EX DG HSM APO', |
77
|
|
|
|
|
|
|
0x185 => 'Sigma 500mm F4 DG OS HSM | S', #JR (NC; based on product number) (016) |
78
|
|
|
|
|
|
|
0x194 => 'Sigma 300mm F2.8 EX HSM APO', |
79
|
|
|
|
|
|
|
0x195 => 'Sigma 300mm F2.8 EX DG HSM APO', |
80
|
|
|
|
|
|
|
0x200 => 'Sigma 12-24mm F4.5-5.6 EX DG ASP HSM', |
81
|
|
|
|
|
|
|
0x201 => 'Sigma 10-20mm F4-5.6 EX DC HSM', |
82
|
|
|
|
|
|
|
0x202 => 'Sigma 10-20mm F3.5 EX DC HSM', |
83
|
|
|
|
|
|
|
0x203 => 'Sigma 8-16mm F4.5-5.6 DC HSM', |
84
|
|
|
|
|
|
|
0x204 => 'Sigma 12-24mm F4.5-5.6 DG HSM II', |
85
|
|
|
|
|
|
|
0x205 => 'Sigma 12-24mm F4 DG HSM | A', #JR (NC; based on product number) (016) |
86
|
|
|
|
|
|
|
0x210 => 'Sigma 18-35mm F1.8 DC HSM | A', |
87
|
|
|
|
|
|
|
0x240 => 'Sigma 135mm F1.8 DG HSM | A', #JR (NC; based on product number) (017) |
88
|
|
|
|
|
|
|
0x256 => 'Sigma 105mm F2.8 EX Macro', |
89
|
|
|
|
|
|
|
0x257 => 'Sigma 105mm F2.8 EX DG Macro', |
90
|
|
|
|
|
|
|
0x258 => 'Sigma 105mm F2.8 EX DG OS HSM Macro', |
91
|
|
|
|
|
|
|
0x259 => 'Sigma 105mm F1.4 DG HSM | A', #IB (A018) |
92
|
|
|
|
|
|
|
0x270 => 'Sigma 70mm F2.8 EX DG Macro', #NJ (SD1) |
93
|
|
|
|
|
|
|
0x271 => 'Sigma 70mm F2.8 DG Macro | A', #IB (A018) |
94
|
|
|
|
|
|
|
0x300 => 'Sigma 30mm F1.4 EX DC HSM', |
95
|
|
|
|
|
|
|
0x301 => 'Sigma 30mm F1.4 DC HSM | A', |
96
|
|
|
|
|
|
|
0x302 => 'Sigma 30mm F1.4 DC DN | C', #JR (DN lenses are only for Sony E or MFT mount) |
97
|
|
|
|
|
|
|
0x310 => 'Sigma 50mm F1.4 EX DG HSM', |
98
|
|
|
|
|
|
|
0x311 => 'Sigma 50mm F1.4 DG HSM | A', |
99
|
|
|
|
|
|
|
0x320 => 'Sigma 85mm F1.4 EX DG HSM', |
100
|
|
|
|
|
|
|
0x321 => 'Sigma 85mm F1.4 DG HSM | A', #JR (NC; based on product number) (016) |
101
|
|
|
|
|
|
|
0x330 => 'Sigma 30mm F2.8 EX DN', |
102
|
|
|
|
|
|
|
0x340 => 'Sigma 35mm F1.4 DG HSM', |
103
|
|
|
|
|
|
|
0x345 => 'Sigma 50mm F2.8 EX Macro', |
104
|
|
|
|
|
|
|
0x346 => 'Sigma 50mm F2.8 EX DG Macro', |
105
|
|
|
|
|
|
|
0x350 => 'Sigma 60mm F2.8 DN | A', |
106
|
|
|
|
|
|
|
0x400 => 'Sigma 19mm F2.8 EX DN', |
107
|
|
|
|
|
|
|
0x401 => 'Sigma 24mm F1.4 DG HSM | A', |
108
|
|
|
|
|
|
|
0x411 => 'Sigma 20mm F1.8 EX DG ASP RF', |
109
|
|
|
|
|
|
|
0x412 => 'Sigma 20mm F1.4 DG HSM | A', |
110
|
|
|
|
|
|
|
0x432 => 'Sigma 24mm F1.8 EX DG ASP Macro', |
111
|
|
|
|
|
|
|
0x440 => 'Sigma 28mm F1.8 EX DG ASP Macro', |
112
|
|
|
|
|
|
|
0x450 => 'Sigma 14mm F1.8 DH HSM | A', #JR (NC; based on product number) (017) |
113
|
|
|
|
|
|
|
0x461 => 'Sigma 14mm F2.8 EX ASP HSM', |
114
|
|
|
|
|
|
|
0x475 => 'Sigma 15mm F2.8 EX Diagonal FishEye', |
115
|
|
|
|
|
|
|
0x476 => 'Sigma 15mm F2.8 EX DG Diagonal Fisheye', |
116
|
|
|
|
|
|
|
0x477 => 'Sigma 10mm F2.8 EX DC HSM Fisheye', |
117
|
|
|
|
|
|
|
0x483 => 'Sigma 8mm F4 EX Circular Fisheye', |
118
|
|
|
|
|
|
|
0x484 => 'Sigma 8mm F4 EX DG Circular Fisheye', |
119
|
|
|
|
|
|
|
0x485 => 'Sigma 8mm F3.5 EX DG Circular Fisheye', |
120
|
|
|
|
|
|
|
0x486 => 'Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye', |
121
|
|
|
|
|
|
|
0x504 => 'Sigma 70-300mm F4-5.6 Macro Super', #IB |
122
|
|
|
|
|
|
|
0x505 => 'Sigma APO 70-300mm F4-5.6 Macro Super', #IB |
123
|
|
|
|
|
|
|
0x506 => 'Sigma 70-300mm F4-5.6 APO Macro Super II', |
124
|
|
|
|
|
|
|
0x507 => 'Sigma 70-300mm F4-5.6 DL Macro Super II', |
125
|
|
|
|
|
|
|
0x508 => 'Sigma 70-300mm F4-5.6 DG APO Macro', |
126
|
|
|
|
|
|
|
0x509 => 'Sigma 70-300mm F4-5.6 DG Macro', |
127
|
|
|
|
|
|
|
0x510 => 'Sigma 17-35 F2.8-4 EX DG ASP', |
128
|
|
|
|
|
|
|
0x512 => 'Sigma 15-30mm F3.5-4.5 EX DG ASP DF', |
129
|
|
|
|
|
|
|
0x513 => 'Sigma 20-40mm F2.8 EX DG', |
130
|
|
|
|
|
|
|
0x519 => 'Sigma 17-35 F2.8-4 EX ASP HSM', |
131
|
|
|
|
|
|
|
0x520 => 'Sigma 100-300mm F4.5-6.7 DL', |
132
|
|
|
|
|
|
|
0x521 => 'Sigma 18-50mm F3.5-5.6 DC Macro', |
133
|
|
|
|
|
|
|
0x527 => 'Sigma 100-300mm F4 EX IF HSM', |
134
|
|
|
|
|
|
|
0x529 => 'Sigma 120-300mm F2.8 EX HSM IF APO', |
135
|
|
|
|
|
|
|
0x545 => 'Sigma 28-70mm F2.8 EX ASP DF', #IB |
136
|
|
|
|
|
|
|
0x547 => 'Sigma 24-60mm F2.8 EX DG', |
137
|
|
|
|
|
|
|
0x548 => 'Sigma 24-70mm F2.8 EX DG Macro', |
138
|
|
|
|
|
|
|
0x549 => 'Sigma 28-70mm F2.8 EX DG', |
139
|
|
|
|
|
|
|
0x566 => 'Sigma 70-200mm F2.8 EX IF APO', |
140
|
|
|
|
|
|
|
0x567 => 'Sigma 70-200mm F2.8 EX IF HSM APO', |
141
|
|
|
|
|
|
|
0x568 => 'Sigma 70-200mm F2.8 EX DG IF HSM APO', |
142
|
|
|
|
|
|
|
0x569 => 'Sigma 70-200 F2.8 EX DG HSM APO Macro', |
143
|
|
|
|
|
|
|
0x571 => 'Sigma 24-70mm F2.8 IF EX DG HSM', |
144
|
|
|
|
|
|
|
0x572 => 'Sigma 70-300mm F4-5.6 DG OS', |
145
|
|
|
|
|
|
|
0x576 => 'Sigma 24-70mm F2.8 DG OS HSM | A', #JR (NC; based on product number) (017) |
146
|
|
|
|
|
|
|
0x579 => 'Sigma 70-200mm F2.8 EX DG HSM APO Macro', # (also II version) |
147
|
|
|
|
|
|
|
0x580 => 'Sigma 18-50mm F2.8 EX DC', |
148
|
|
|
|
|
|
|
0x581 => 'Sigma 18-50mm F2.8 EX DC Macro', #PH (SD1) |
149
|
|
|
|
|
|
|
0x582 => 'Sigma 18-50mm F2.8 EX DC HSM Macro', |
150
|
|
|
|
|
|
|
0x583 => 'Sigma 17-50mm F2.8 EX DC OS HSM', #PH (also SD1 Kit, is this HSM? - PH) |
151
|
|
|
|
|
|
|
0x588 => 'Sigma 24-35mm F2 DG HSM | A', |
152
|
|
|
|
|
|
|
0x589 => 'Sigma APO 70-200mm F2.8 EX DG OS HSM', |
153
|
|
|
|
|
|
|
0x594 => 'Sigma 300-800mm F5.6 EX HSM IF APO', |
154
|
|
|
|
|
|
|
0x595 => 'Sigma 300-800mm F5.6 EX DG APO HSM', |
155
|
|
|
|
|
|
|
0x597 => 'Sigma 200-500mm F2.8 APO EX DG', |
156
|
|
|
|
|
|
|
0x5A8 => 'Sigma 70-300mm F4-5.6 APO DG Macro (Motorized)', |
157
|
|
|
|
|
|
|
0x5A9 => 'Sigma 70-300mm F4-5.6 DG Macro (Motorized)', |
158
|
|
|
|
|
|
|
0x605 => 'Sigma 24-70mm F3.5-5.6 ASP HF', #IB |
159
|
|
|
|
|
|
|
0x633 => 'Sigma 28-70mm F2.8-4 HS', |
160
|
|
|
|
|
|
|
0x634 => 'Sigma 28-70mm F2.8-4 DG', |
161
|
|
|
|
|
|
|
0x635 => 'Sigma 24-105mm F4 DG OS HSM | A', |
162
|
|
|
|
|
|
|
0x644 => 'Sigma 28-80mm F3.5-5.6 ASP HF Macro', |
163
|
|
|
|
|
|
|
0x659 => 'Sigma 28-80mm F3.5-5.6 Mini Zoom Macro II ASP', |
164
|
|
|
|
|
|
|
0x661 => 'Sigma 28-105mm F2.8-4 IF ASP', |
165
|
|
|
|
|
|
|
0x663 => 'Sigma 28-105mm F3.8-5.6 IF UC-III ASP', |
166
|
|
|
|
|
|
|
0x664 => 'Sigma 28-105mm F2.8-4 IF DG ASP', |
167
|
|
|
|
|
|
|
0x667 => 'Sigma 24-135mm F2.8-4.5 IF ASP', |
168
|
|
|
|
|
|
|
0x668 => 'Sigma 17-70mm F2.8-4 DC Macro OS HSM', |
169
|
|
|
|
|
|
|
0x669 => 'Sigma 17-70mm F2.8-4.5 DC HSM Macro', |
170
|
|
|
|
|
|
|
0x684 => 'Sigma 55-200mm F4-5.6 DC', |
171
|
|
|
|
|
|
|
0x686 => 'Sigma 50-200mm F4-5.6 DC OS HSM', |
172
|
|
|
|
|
|
|
0x689 => 'Sigma 17-70mm F2.8-4.5 DC Macro', |
173
|
|
|
|
|
|
|
0x690 => 'Sigma 50-150mm F2.8 EX DC HSM APO', |
174
|
|
|
|
|
|
|
0x691 => 'Sigma 50-150mm F2.8 EX DC APO HSM II', |
175
|
|
|
|
|
|
|
0x692 => 'Sigma APO 50-150mm F2.8 EX DC OS HSM', |
176
|
|
|
|
|
|
|
0x693 => 'Sigma 50-100mm F1.8 DC HSM | A', #JR (NC; based on product number) (016) |
177
|
|
|
|
|
|
|
0x709 => 'Sigma 28-135mm F3.8-5.6 IF ASP Macro', |
178
|
|
|
|
|
|
|
0x723 => 'Sigma 135-400mm F4.5-5.6 ASP APO', |
179
|
|
|
|
|
|
|
0x725 => 'Sigma 80-400mm F4.5-5.6 EX OS', |
180
|
|
|
|
|
|
|
0x726 => 'Sigma 80-400mm F4.5-5.6 EX DG OS APO', |
181
|
|
|
|
|
|
|
0x727 => 'Sigma 135-400mm F4.5-5.6 DG ASP APO', |
182
|
|
|
|
|
|
|
0x728 => 'Sigma 120-400mm F4.5-5.6 DG APO OS HSM', |
183
|
|
|
|
|
|
|
0x729 => 'Sigma 100-400mm F5-6.3 DG OS HSM | C', #JR (017) |
184
|
|
|
|
|
|
|
0x730 => 'Sigma 60-600mm F4.5-6.3 DG OS HSM | S', #IB (S018) |
185
|
|
|
|
|
|
|
0x733 => 'Sigma 170-500mm F5-6.3 ASP APO', |
186
|
|
|
|
|
|
|
0x734 => 'Sigma 170-500mm F5-6.3 DG ASP APO', |
187
|
|
|
|
|
|
|
0x735 => 'Sigma 50-500mm F4-6.3 EX RF HSM APO', |
188
|
|
|
|
|
|
|
0x736 => 'Sigma 50-500mm F4-6.3 EX DG HSM APO', |
189
|
|
|
|
|
|
|
0x737 => 'Sigma 150-500mm F5-6.3 APO DG OS HSM', |
190
|
|
|
|
|
|
|
0x738 => 'Sigma 50-500mm F4.5-6.3 APO DG OS HSM', |
191
|
|
|
|
|
|
|
0x740 => 'Sigma 150-600mm F5-6.3 DG OS HSM | S', |
192
|
|
|
|
|
|
|
0x745 => 'Sigma 150-600mm F5-6.3 DG OS HSM | C', |
193
|
|
|
|
|
|
|
0x777 => 'Sigma 18-200mm F3.5-6.3 DC', |
194
|
|
|
|
|
|
|
0x77D => 'Sigma 18-200mm F3.5-6.3 DC (Motorized)', |
195
|
|
|
|
|
|
|
0x785 => 'Sigma 28-200mm F3.5-5.6 DL ASP IF HZM Macro', #IB |
196
|
|
|
|
|
|
|
0x787 => 'Sigma 28-200mm F3.5-5.6 Compact ASP HZ Macro', |
197
|
|
|
|
|
|
|
0x789 => 'Sigma 18-125mm F3.5-5.6 DC', |
198
|
|
|
|
|
|
|
0x790 => 'Sigma 28-300mm F3.5-6.3 DL ASP IF HZM', #IB |
199
|
|
|
|
|
|
|
0x793 => 'Sigma 28-300mm F3.5-6.3 Macro', |
200
|
|
|
|
|
|
|
0x794 => 'Sigma 28-200mm F3.5-5.6 DG Compact ASP HZ Macro', |
201
|
|
|
|
|
|
|
0x795 => 'Sigma 28-300mm F3.5-6.3 DG Macro', |
202
|
|
|
|
|
|
|
0x823 => 'Sigma 1.4X TC EX APO', |
203
|
|
|
|
|
|
|
0x824 => 'Sigma 1.4X Teleconverter EX APO DG', |
204
|
|
|
|
|
|
|
0x853 => 'Sigma 18-125mm F3.8-5.6 DC OS HSM', |
205
|
|
|
|
|
|
|
0x861 => 'Sigma 18-50mm F2.8-4.5 DC OS HSM', #NJ (SD1) |
206
|
|
|
|
|
|
|
0x870 => 'Sigma 2.0X Teleconverter TC-2001', #JR |
207
|
|
|
|
|
|
|
0x875 => 'Sigma 2.0X TC EX APO', |
208
|
|
|
|
|
|
|
0x876 => 'Sigma 2.0X Teleconverter EX APO DG', |
209
|
|
|
|
|
|
|
0x879 => 'Sigma 1.4X Teleconverter TC-1401', #JR |
210
|
|
|
|
|
|
|
0x880 => 'Sigma 18-250mm F3.5-6.3 DC OS HSM', |
211
|
|
|
|
|
|
|
0x882 => 'Sigma 18-200mm F3.5-6.3 II DC OS HSM', |
212
|
|
|
|
|
|
|
0x883 => 'Sigma 18-250mm F3.5-6.3 DC Macro OS HSM', |
213
|
|
|
|
|
|
|
0x884 => 'Sigma 17-70mm F2.8-4 DC OS HSM Macro | C', |
214
|
|
|
|
|
|
|
0x885 => 'Sigma 18-200mm F3.5-6.3 DC OS HSM Macro | C', |
215
|
|
|
|
|
|
|
0x886 => 'Sigma 18-300mm F3.5-6.3 DC OS HSM Macro | C', |
216
|
|
|
|
|
|
|
0x888 => 'Sigma 18-200mm F3.5-6.3 DC OS', |
217
|
|
|
|
|
|
|
0x890 => 'Sigma Mount Converter MC-11', #JR |
218
|
|
|
|
|
|
|
0x929 => 'Sigma 19mm F2.8 DN | A', |
219
|
|
|
|
|
|
|
0x929 => 'Sigma 30mm F2.8 DN | A', |
220
|
|
|
|
|
|
|
0x929 => 'Sigma 60mm F2.8 DN | A', |
221
|
|
|
|
|
|
|
0x1003 => 'Sigma 19mm F2.8', #PH (DP1 Merrill kit) |
222
|
|
|
|
|
|
|
0x1004 => 'Sigma 30mm F2.8', #PH (DP2 Merrill kit) |
223
|
|
|
|
|
|
|
0x1005 => 'Sigma 50mm F2.8 Macro', #PH (DP3 Merrill kit) |
224
|
|
|
|
|
|
|
0x1006 => 'Sigma 19mm F2.8', #NJ (DP1 Quattro kit) |
225
|
|
|
|
|
|
|
0x1007 => 'Sigma 30mm F2.8', #PH (DP2 Quattro kit) |
226
|
|
|
|
|
|
|
0x1008 => 'Sigma 50mm F2.8 Macro', #NJ (DP3 Quattro kit) |
227
|
|
|
|
|
|
|
0x1009 => 'Sigma 14mm F4', #NJ (DP0 Quattro kit) |
228
|
|
|
|
|
|
|
# L-mount lenses?: |
229
|
|
|
|
|
|
|
0x4001 => 'Lumix S 24-105mm F4 Macro OIS (S-R24105)', #IB |
230
|
|
|
|
|
|
|
0x4002 => 'Lumix S 70-200mm F4 OIS (S-R70200)', #IB |
231
|
|
|
|
|
|
|
0x4003 => 'Lumix S 50mm F1.4 (S-X50)', #IB |
232
|
|
|
|
|
|
|
0x4006 => 'Lumix S 24-70mm F2.8 (S-E2470)', #IB |
233
|
|
|
|
|
|
|
0x4007 => 'Lumix S 16-35mm F4 (S-R1635)', #IB |
234
|
|
|
|
|
|
|
0x4008 => 'Lumix S 70-200mm F2.8 OIS (S-E70200)', #IB |
235
|
|
|
|
|
|
|
0x4010 => 'Lumix S 35mm F1.8 (S-S35)', #IB |
236
|
|
|
|
|
|
|
0x4011 => 'LUMIX S 18mm F1.8 (S-S18)', #IB |
237
|
|
|
|
|
|
|
0x400b => 'Lumix S 20-60mm F3.5-5.6 (S-R2060)', #IB |
238
|
|
|
|
|
|
|
0x400c => 'Lumix S 85mm F1.8 (S-S85)', #IB |
239
|
|
|
|
|
|
|
0x400d => 'Lumix S 70-300 F4.5-5.6 Macro OIS (S-R70300)', #IB |
240
|
|
|
|
|
|
|
0x400f => 'Lumix S 24mm F1.8 (S-S24)', #IB |
241
|
|
|
|
|
|
|
0x6001 => 'Sigma 150-600mm F5-6.3 DG OS HSM | S', #PH (NC, fp) |
242
|
|
|
|
|
|
|
0x6003 => 'Sigma 45mm F2.8 DG DN | C', #PH (NC, fp) |
243
|
|
|
|
|
|
|
0x6005 => 'Sigma 14-24mm F2.8 DG DN | A', #IB |
244
|
|
|
|
|
|
|
0x6006 => 'Sigma 50mm F1.4 DG HSM | A', #IB (014) |
245
|
|
|
|
|
|
|
0x6011 => 'Sigma 24-70mm F2.8 DG DN | A', #IB |
246
|
|
|
|
|
|
|
0x6012 => 'Sigma 100-400mm F5-6.3 DG DN OS | C', #IB |
247
|
|
|
|
|
|
|
0x6013 => 'Sigma 100-400mm F5-6.3 DG DN OS | C + TC-1411', #IB |
248
|
|
|
|
|
|
|
0x6015 => 'Sigma 85mm F1.4 DG DN | A', #IB |
249
|
|
|
|
|
|
|
0x6017 => 'Sigma 65mm F2 DG DN | C', #IB |
250
|
|
|
|
|
|
|
0x6018 => 'Sigma 35mm F2 DG DN | C', #IB |
251
|
|
|
|
|
|
|
0x601a => 'Sigma 28-70mm F2.8 DG DN | C', #IB |
252
|
|
|
|
|
|
|
0x601b => 'Sigma 150-600mm F5-6.3 DG DN OS | S', #IB |
253
|
|
|
|
|
|
|
0x6020 => 'Sigma 35mm F1.4 DG DN | A', #IB |
254
|
|
|
|
|
|
|
0x6021 => 'Sigma 90mm F2.8 DG DN | C', #IB |
255
|
|
|
|
|
|
|
0x6023 => 'Sigma 20mm F2 DG DN | C', #IB |
256
|
|
|
|
|
|
|
0x6025 => 'Sigma 20mm F1.4 DG DN | A', #IB |
257
|
|
|
|
|
|
|
0x6026 => 'Sigma 24mm F1.4 DG DN | A', #IB |
258
|
|
|
|
|
|
|
0x8005 => 'Sigma 35mm F1.4 DG HSM | A', #PH (012) |
259
|
|
|
|
|
|
|
0x8009 => 'Sigma 18-35mm F1.8 DC HSM | A', #PH |
260
|
|
|
|
|
|
|
0x8900 => 'Sigma 70-300mm F4-5.6 DG OS', #PH (SD15) |
261
|
|
|
|
|
|
|
0xA100 => 'Sigma 24-70mm F2.8 DG Macro', #PH (SD15) |
262
|
|
|
|
|
|
|
# 'FFFF' - seen this for a 28-70mm F2.8 lens - PH |
263
|
|
|
|
|
|
|
); |
264
|
|
|
|
|
|
|
|
265
|
|
|
|
|
|
|
%Image::ExifTool::Sigma::Main = ( |
266
|
|
|
|
|
|
|
WRITE_PROC => \&Image::ExifTool::Exif::WriteExif, |
267
|
|
|
|
|
|
|
CHECK_PROC => \&Image::ExifTool::Exif::CheckExif, |
268
|
|
|
|
|
|
|
WRITABLE => 'string', |
269
|
|
|
|
|
|
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' }, |
270
|
|
|
|
|
|
|
NOTES => q{ |
271
|
|
|
|
|
|
|
These tags are written by Sigma/Foveon cameras. In the early days Sigma was |
272
|
|
|
|
|
|
|
a class leader by releasing their maker note specification to the public, |
273
|
|
|
|
|
|
|
but since then they have deviated from this standard and newer camera models |
274
|
|
|
|
|
|
|
are less than consistent about their metadata formats. |
275
|
|
|
|
|
|
|
}, |
276
|
|
|
|
|
|
|
0x0002 => 'SerialNumber', |
277
|
|
|
|
|
|
|
0x0003 => 'DriveMode', |
278
|
|
|
|
|
|
|
0x0004 => 'ResolutionMode', |
279
|
|
|
|
|
|
|
0x0005 => 'AFMode', |
280
|
|
|
|
|
|
|
0x0006 => 'FocusSetting', |
281
|
|
|
|
|
|
|
0x0007 => 'WhiteBalance', |
282
|
|
|
|
|
|
|
0x0008 => { |
283
|
|
|
|
|
|
|
Name => 'ExposureMode', |
284
|
|
|
|
|
|
|
PrintConv => { #PH |
285
|
|
|
|
|
|
|
A => 'Aperture-priority AE', |
286
|
|
|
|
|
|
|
M => 'Manual', |
287
|
|
|
|
|
|
|
P => 'Program AE', |
288
|
|
|
|
|
|
|
S => 'Shutter speed priority AE', |
289
|
|
|
|
|
|
|
}, |
290
|
|
|
|
|
|
|
}, |
291
|
|
|
|
|
|
|
0x0009 => { |
292
|
|
|
|
|
|
|
Name => 'MeteringMode', |
293
|
|
|
|
|
|
|
PrintConv => { #PH |
294
|
|
|
|
|
|
|
A => 'Average', |
295
|
|
|
|
|
|
|
C => 'Center-weighted average', |
296
|
|
|
|
|
|
|
8 => 'Multi-segment', |
297
|
|
|
|
|
|
|
}, |
298
|
|
|
|
|
|
|
}, |
299
|
|
|
|
|
|
|
0x000a => 'LensFocalRange', |
300
|
|
|
|
|
|
|
0x000b => 'ColorSpace', |
301
|
|
|
|
|
|
|
# SIGMA PhotoPro writes these tags as strings, but some cameras (at least) write them as rational |
302
|
|
|
|
|
|
|
0x000c => [ |
303
|
|
|
|
|
|
|
{ |
304
|
|
|
|
|
|
|
Name => 'ExposureCompensation', |
305
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
306
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Expo:\s*//, $val', |
307
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Expo:%+.1f",$val) : undef', |
308
|
|
|
|
|
|
|
}, |
309
|
|
|
|
|
|
|
{ #PH |
310
|
|
|
|
|
|
|
Name => 'ExposureAdjust', |
311
|
|
|
|
|
|
|
Writable => 'rational64s', |
312
|
|
|
|
|
|
|
Unknown => 1, |
313
|
|
|
|
|
|
|
}, |
314
|
|
|
|
|
|
|
], |
315
|
|
|
|
|
|
|
0x000d => [ |
316
|
|
|
|
|
|
|
{ |
317
|
|
|
|
|
|
|
Name => 'Contrast', |
318
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
319
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Cont:\s*//, $val', |
320
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Cont:%+.1f",$val) : undef', |
321
|
|
|
|
|
|
|
}, |
322
|
|
|
|
|
|
|
{ #PH |
323
|
|
|
|
|
|
|
Name => 'Contrast', |
324
|
|
|
|
|
|
|
Writable => 'rational64s', |
325
|
|
|
|
|
|
|
Priority => 0, |
326
|
|
|
|
|
|
|
}, |
327
|
|
|
|
|
|
|
], |
328
|
|
|
|
|
|
|
0x000e => [ |
329
|
|
|
|
|
|
|
{ |
330
|
|
|
|
|
|
|
Name => 'Shadow', |
331
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
332
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Shad:\s*//, $val', |
333
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Shad:%+.1f",$val) : undef', |
334
|
|
|
|
|
|
|
}, |
335
|
|
|
|
|
|
|
{ #PH (may be incorrect for the SD1) |
336
|
|
|
|
|
|
|
Name => 'Shadow', |
337
|
|
|
|
|
|
|
Writable => 'rational64s', |
338
|
|
|
|
|
|
|
Priority => 0, |
339
|
|
|
|
|
|
|
}, |
340
|
|
|
|
|
|
|
], |
341
|
|
|
|
|
|
|
0x000f => [ |
342
|
|
|
|
|
|
|
{ |
343
|
|
|
|
|
|
|
Name => 'Highlight', |
344
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
345
|
|
|
|
|
|
|
ValueConv => '$val =~ s/High:\s*//, $val', |
346
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("High:%+.1f",$val) : undef', |
347
|
|
|
|
|
|
|
}, |
348
|
|
|
|
|
|
|
{ #PH (may be incorrect for the SD1) |
349
|
|
|
|
|
|
|
Name => 'Highlight', |
350
|
|
|
|
|
|
|
Writable => 'rational64s', |
351
|
|
|
|
|
|
|
Priority => 0, |
352
|
|
|
|
|
|
|
}, |
353
|
|
|
|
|
|
|
], |
354
|
|
|
|
|
|
|
0x0010 => [ |
355
|
|
|
|
|
|
|
{ |
356
|
|
|
|
|
|
|
Name => 'Saturation', |
357
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
358
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Satu:\s*//, $val', |
359
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Satu:%+.1f",$val) : undef', |
360
|
|
|
|
|
|
|
}, |
361
|
|
|
|
|
|
|
{ #PH (may be incorrect for the SD1) |
362
|
|
|
|
|
|
|
Name => 'Saturation', |
363
|
|
|
|
|
|
|
Writable => 'rational64s', |
364
|
|
|
|
|
|
|
Priority => 0, |
365
|
|
|
|
|
|
|
}, |
366
|
|
|
|
|
|
|
], |
367
|
|
|
|
|
|
|
0x0011 => [ |
368
|
|
|
|
|
|
|
{ |
369
|
|
|
|
|
|
|
Name => 'Sharpness', |
370
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
371
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Shar:\s*//, $val', |
372
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Shar:%+.1f",$val) : undef', |
373
|
|
|
|
|
|
|
}, |
374
|
|
|
|
|
|
|
{ #PH (may be incorrect for the SD1) |
375
|
|
|
|
|
|
|
Name => 'Sharpness', |
376
|
|
|
|
|
|
|
Writable => 'rational64s', |
377
|
|
|
|
|
|
|
Priority => 0, |
378
|
|
|
|
|
|
|
}, |
379
|
|
|
|
|
|
|
], |
380
|
|
|
|
|
|
|
0x0012 => [ |
381
|
|
|
|
|
|
|
{ |
382
|
|
|
|
|
|
|
Name => 'X3FillLight', |
383
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
384
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Fill:\s*//, $val', |
385
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Fill:%+.1f",$val) : undef', |
386
|
|
|
|
|
|
|
}, |
387
|
|
|
|
|
|
|
{ #PH |
388
|
|
|
|
|
|
|
Name => 'X3FillLight', |
389
|
|
|
|
|
|
|
Writable => 'rational64s', |
390
|
|
|
|
|
|
|
}, |
391
|
|
|
|
|
|
|
], |
392
|
|
|
|
|
|
|
0x0014 => [ |
393
|
|
|
|
|
|
|
{ |
394
|
|
|
|
|
|
|
Name => 'ColorAdjustment', |
395
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
396
|
|
|
|
|
|
|
ValueConv => '$val =~ s/CC:\s*//, $val', |
397
|
|
|
|
|
|
|
ValueConvInv => 'IsInt($val) ? "CC:$val" : undef', |
398
|
|
|
|
|
|
|
}, |
399
|
|
|
|
|
|
|
{ #PH |
400
|
|
|
|
|
|
|
Name => 'ColorAdjustment', |
401
|
|
|
|
|
|
|
Writable => 'rational64s', |
402
|
|
|
|
|
|
|
Count => 3, |
403
|
|
|
|
|
|
|
}, |
404
|
|
|
|
|
|
|
], |
405
|
|
|
|
|
|
|
0x0015 => 'AdjustmentMode', |
406
|
|
|
|
|
|
|
0x0016 => { |
407
|
|
|
|
|
|
|
Name => 'Quality', |
408
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Qual:\s*//, $val', |
409
|
|
|
|
|
|
|
ValueConvInv => 'IsInt($val) ? "Qual:$val" : undef', |
410
|
|
|
|
|
|
|
}, |
411
|
|
|
|
|
|
|
0x0017 => 'Firmware', |
412
|
|
|
|
|
|
|
0x0018 => { |
413
|
|
|
|
|
|
|
Name => 'Software', |
414
|
|
|
|
|
|
|
Priority => 0, |
415
|
|
|
|
|
|
|
}, |
416
|
|
|
|
|
|
|
0x0019 => 'AutoBracket', |
417
|
|
|
|
|
|
|
0x001a => [ #PH |
418
|
|
|
|
|
|
|
{ |
419
|
|
|
|
|
|
|
Name => 'PreviewImageStart', |
420
|
|
|
|
|
|
|
Condition => '$format eq "int32u"', |
421
|
|
|
|
|
|
|
Notes => q{ |
422
|
|
|
|
|
|
|
Sigma Photo Pro writes ChrominanceNoiseReduction here, but various |
423
|
|
|
|
|
|
|
models use this for PreviewImageStart |
424
|
|
|
|
|
|
|
}, |
425
|
|
|
|
|
|
|
IsOffset => 1, |
426
|
|
|
|
|
|
|
OffsetPair => 0x001b, |
427
|
|
|
|
|
|
|
DataTag => 'PreviewImage', |
428
|
|
|
|
|
|
|
Writable => 'int32u', |
429
|
|
|
|
|
|
|
WriteGroup => 'MakerNotes', |
430
|
|
|
|
|
|
|
Protected => 2, |
431
|
|
|
|
|
|
|
},{ # (written by Sigma Photo Pro) |
432
|
|
|
|
|
|
|
Name => 'ChrominanceNoiseReduction', |
433
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
434
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Chro:\s*//, $val', |
435
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Chro:%+.1f",$val) : undef', |
436
|
|
|
|
|
|
|
}, |
437
|
|
|
|
|
|
|
# the SD1 writes something else here (rational64s, value 0/10) |
438
|
|
|
|
|
|
|
# (but we can't test by model because Sigma Photo Pro writes this too) |
439
|
|
|
|
|
|
|
], |
440
|
|
|
|
|
|
|
0x001b => [ #PH |
441
|
|
|
|
|
|
|
{ |
442
|
|
|
|
|
|
|
Name => 'PreviewImageLength', |
443
|
|
|
|
|
|
|
Condition => '$format eq "int32u"', |
444
|
|
|
|
|
|
|
Notes => q{ |
445
|
|
|
|
|
|
|
Sigma Photo Pro writes LuminanceNoiseReduction here, but various models use |
446
|
|
|
|
|
|
|
this for PreviewImageLength |
447
|
|
|
|
|
|
|
}, |
448
|
|
|
|
|
|
|
OffsetPair => 0x001a, |
449
|
|
|
|
|
|
|
DataTag => 'PreviewImage', |
450
|
|
|
|
|
|
|
Writable => 'int32u', |
451
|
|
|
|
|
|
|
WriteGroup => 'MakerNotes', |
452
|
|
|
|
|
|
|
Protected => 2, |
453
|
|
|
|
|
|
|
},{ # (written by Sigma Photo Pro) |
454
|
|
|
|
|
|
|
Name => 'LuminanceNoiseReduction', |
455
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
456
|
|
|
|
|
|
|
ValueConv => '$val =~ s/Luma:\s*//, $val', |
457
|
|
|
|
|
|
|
ValueConvInv => 'IsFloat($val) ? sprintf("Luma:%+.1f",$val) : undef', |
458
|
|
|
|
|
|
|
}, |
459
|
|
|
|
|
|
|
# the SD1 writes something else here (rational64s, value 0/10) |
460
|
|
|
|
|
|
|
], |
461
|
|
|
|
|
|
|
0x001c => [ #PH |
462
|
|
|
|
|
|
|
{ |
463
|
|
|
|
|
|
|
Name => 'PreviewImageSize', |
464
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
465
|
|
|
|
|
|
|
Notes => q{ |
466
|
|
|
|
|
|
|
PreviewImageStart for the SD1 and Merrill/Quattro models, and |
467
|
|
|
|
|
|
|
PreviewImageSize for others |
468
|
|
|
|
|
|
|
}, |
469
|
|
|
|
|
|
|
Writable => 'int16u', |
470
|
|
|
|
|
|
|
Count => 2, |
471
|
|
|
|
|
|
|
PrintConv => '$val =~ tr/ /x/; $val', |
472
|
|
|
|
|
|
|
PrintConvInv => '$val =~ tr/x/ /; $val', |
473
|
|
|
|
|
|
|
},{ |
474
|
|
|
|
|
|
|
Name => 'PreviewImageStart', |
475
|
|
|
|
|
|
|
Condition => '$format eq "int32u"', |
476
|
|
|
|
|
|
|
IsOffset => 1, |
477
|
|
|
|
|
|
|
OffsetPair => 0x001d, |
478
|
|
|
|
|
|
|
DataTag => 'PreviewImage', |
479
|
|
|
|
|
|
|
Writable => 'int32u', |
480
|
|
|
|
|
|
|
WriteGroup => 'MakerNotes', |
481
|
|
|
|
|
|
|
Protected => 2, |
482
|
|
|
|
|
|
|
}, |
483
|
|
|
|
|
|
|
], |
484
|
|
|
|
|
|
|
0x001d => [ #PH |
485
|
|
|
|
|
|
|
{ |
486
|
|
|
|
|
|
|
Name => 'MakerNoteVersion', |
487
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
488
|
|
|
|
|
|
|
Notes => q{ |
489
|
|
|
|
|
|
|
PreviewImageLength for the SD1 and Merrill/Quattro models, and |
490
|
|
|
|
|
|
|
MakerNoteVersion for others |
491
|
|
|
|
|
|
|
}, |
492
|
|
|
|
|
|
|
Writable => 'undef', |
493
|
|
|
|
|
|
|
},{ |
494
|
|
|
|
|
|
|
Name => 'PreviewImageLength', |
495
|
|
|
|
|
|
|
Condition => '$format eq "int32u"', |
496
|
|
|
|
|
|
|
OffsetPair => 0x001c, |
497
|
|
|
|
|
|
|
DataTag => 'PreviewImage', |
498
|
|
|
|
|
|
|
Writable => 'int32u', |
499
|
|
|
|
|
|
|
WriteGroup => 'MakerNotes', |
500
|
|
|
|
|
|
|
Protected => 2, |
501
|
|
|
|
|
|
|
}, |
502
|
|
|
|
|
|
|
], |
503
|
|
|
|
|
|
|
# 0x001e - int16u: 0, 4, 13 - flash mode for other models? |
504
|
|
|
|
|
|
|
0x001e => { #PH |
505
|
|
|
|
|
|
|
Name => 'PreviewImageSize', |
506
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
507
|
|
|
|
|
|
|
Notes => 'only valid for some models', |
508
|
|
|
|
|
|
|
Writable => 'int16u', |
509
|
|
|
|
|
|
|
Count => 2, |
510
|
|
|
|
|
|
|
PrintConv => '$val =~ tr/ /x/; $val', |
511
|
|
|
|
|
|
|
PrintConvInv => '$val =~ tr/x/ /; $val', |
512
|
|
|
|
|
|
|
}, |
513
|
|
|
|
|
|
|
0x001f => [ #PH |
514
|
|
|
|
|
|
|
{ |
515
|
|
|
|
|
|
|
Name => 'AFPoint', # (NC -- invalid for SD9,SD14?) |
516
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
517
|
|
|
|
|
|
|
Notes => q{ |
518
|
|
|
|
|
|
|
MakerNoteVersion for the SD1 and Merrill/Quattro models, and AFPoint for |
519
|
|
|
|
|
|
|
others |
520
|
|
|
|
|
|
|
}, |
521
|
|
|
|
|
|
|
# values: "", "Center", "Center,Center", "Right,Right" |
522
|
|
|
|
|
|
|
},{ |
523
|
|
|
|
|
|
|
Name => 'MakerNoteVersion', |
524
|
|
|
|
|
|
|
Writable => 'undef', |
525
|
|
|
|
|
|
|
}, |
526
|
|
|
|
|
|
|
], |
527
|
|
|
|
|
|
|
# 0x0020 - string: " " for most models, or int16u: 4 for the DP3 Merrill |
528
|
|
|
|
|
|
|
# 0x0021 - string: " " for most models, or int8u[2]: '3 3' for the DP3 Merrill |
529
|
|
|
|
|
|
|
0x0022 => { #PH (NC) |
530
|
|
|
|
|
|
|
Name => 'FileFormat', |
531
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
532
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
533
|
|
|
|
|
|
|
# values: "JPG", "JPG-S", "JPG-P", "X3F", "X3F-S" |
534
|
|
|
|
|
|
|
}, |
535
|
|
|
|
|
|
|
# 0x0023 - string: "", 10, 83, 131, 145, 150, 152, 169 |
536
|
|
|
|
|
|
|
0x0024 => { # (invalid for SD9,SD14?) |
537
|
|
|
|
|
|
|
Name => 'Calibration', |
538
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
539
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
540
|
|
|
|
|
|
|
}, |
541
|
|
|
|
|
|
|
# 0x0025 - string: "", "0.70", "0.90" |
542
|
|
|
|
|
|
|
# 0x0026-2b - int32u: 0 |
543
|
|
|
|
|
|
|
0x0026 => { #PH (NC) |
544
|
|
|
|
|
|
|
Name => 'FileFormat', |
545
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
546
|
|
|
|
|
|
|
Notes => 'some newer models only', |
547
|
|
|
|
|
|
|
# (also Sigma fp) |
548
|
|
|
|
|
|
|
}, |
549
|
|
|
|
|
|
|
0x0027 => [{ #PH |
550
|
|
|
|
|
|
|
Name => 'LensType', |
551
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3 and $format eq "string"', |
552
|
|
|
|
|
|
|
Notes => 'some newer models only', |
553
|
|
|
|
|
|
|
ValueConv => '$val =~ /^[0-9a-f]+$/i ? hex($val) : $val', |
554
|
|
|
|
|
|
|
# (truncate decimal part and convert hex) |
555
|
|
|
|
|
|
|
ValueConvInv => '$val=~s/\.\d+$//;$val=~/^0x/ and $val=hex($val);IsInt($val) ? sprintf("%x",$val) : $val', |
556
|
|
|
|
|
|
|
SeparateTable => 'LensType', |
557
|
|
|
|
|
|
|
PrintHex => 1, |
558
|
|
|
|
|
|
|
PrintConv => \%sigmaLensTypes, |
559
|
|
|
|
|
|
|
},{ #PH |
560
|
|
|
|
|
|
|
Name => 'LensType', |
561
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
562
|
|
|
|
|
|
|
Notes => 'some other models like the fp', |
563
|
|
|
|
|
|
|
Writable => 'int16u', |
564
|
|
|
|
|
|
|
SeparateTable => 'LensType', |
565
|
|
|
|
|
|
|
PrintHex => 1, |
566
|
|
|
|
|
|
|
PrintConv => \%sigmaLensTypes, |
567
|
|
|
|
|
|
|
}], |
568
|
|
|
|
|
|
|
0x002a => { #PH |
569
|
|
|
|
|
|
|
Name => 'LensFocalRange', |
570
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
571
|
|
|
|
|
|
|
Notes => 'some newer models only', |
572
|
|
|
|
|
|
|
Writable => 'rational64u', |
573
|
|
|
|
|
|
|
Count => 2, |
574
|
|
|
|
|
|
|
PrintConv => '$val=~s/ / to /; $val', |
575
|
|
|
|
|
|
|
PrintConvInv => '$val=~s/to //; $val', |
576
|
|
|
|
|
|
|
}, |
577
|
|
|
|
|
|
|
0x002b => { #PH |
578
|
|
|
|
|
|
|
Name => 'LensMaxApertureRange', |
579
|
|
|
|
|
|
|
# for most models this gives the max aperture at the long/short focal lengths, |
580
|
|
|
|
|
|
|
# but for some models this gives the min/max aperture |
581
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
582
|
|
|
|
|
|
|
Notes => 'some newer models only', |
583
|
|
|
|
|
|
|
Writable => 'rational64u', |
584
|
|
|
|
|
|
|
Count => 2, |
585
|
|
|
|
|
|
|
PrintConv => '$val=~s/ / to /; $val', |
586
|
|
|
|
|
|
|
PrintConvInv => '$val=~s/to /; $val', |
587
|
|
|
|
|
|
|
}, |
588
|
|
|
|
|
|
|
# 0x002c is rational64u for some models, with a value that may be related to FNumber - PH |
589
|
|
|
|
|
|
|
0x002c => { #PH |
590
|
|
|
|
|
|
|
Name => 'ColorMode', |
591
|
|
|
|
|
|
|
Condition => '$format eq "int32u"', |
592
|
|
|
|
|
|
|
Notes => 'not valid for some models', |
593
|
|
|
|
|
|
|
Writable => 'int32u', |
594
|
|
|
|
|
|
|
# this tag written by Sigma Photo Pro even for cameras that write 'n/a' here |
595
|
|
|
|
|
|
|
PrintConv => { |
596
|
|
|
|
|
|
|
0 => 'n/a', |
597
|
|
|
|
|
|
|
1 => 'Sepia', |
598
|
|
|
|
|
|
|
2 => 'B&W', |
599
|
|
|
|
|
|
|
3 => 'Standard', |
600
|
|
|
|
|
|
|
4 => 'Vivid', |
601
|
|
|
|
|
|
|
5 => 'Neutral', |
602
|
|
|
|
|
|
|
6 => 'Portrait', |
603
|
|
|
|
|
|
|
7 => 'Landscape', |
604
|
|
|
|
|
|
|
8 => 'FOV Classic Blue', |
605
|
|
|
|
|
|
|
}, |
606
|
|
|
|
|
|
|
}, |
607
|
|
|
|
|
|
|
# 0x002d - int32u: 0 |
608
|
|
|
|
|
|
|
# 0x002e - rational64s: (the negative of FlashExposureComp, but why?) |
609
|
|
|
|
|
|
|
# 0x002f - int32u: 0, 1 |
610
|
|
|
|
|
|
|
0x0030 => [ #PH |
611
|
|
|
|
|
|
|
{ |
612
|
|
|
|
|
|
|
Name => 'LensApertureRange', |
613
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
614
|
|
|
|
|
|
|
Notes => q{ |
615
|
|
|
|
|
|
|
Calibration for the SD1 and Merrill/Quattro models, and LensApertureRange |
616
|
|
|
|
|
|
|
for others. Note that LensApertureRange changes with focal length, and some |
617
|
|
|
|
|
|
|
models report the maximum aperture here |
618
|
|
|
|
|
|
|
}, |
619
|
|
|
|
|
|
|
},{ |
620
|
|
|
|
|
|
|
Name => 'Calibration', |
621
|
|
|
|
|
|
|
}, |
622
|
|
|
|
|
|
|
], |
623
|
|
|
|
|
|
|
0x0031 => { #PH |
624
|
|
|
|
|
|
|
Name => 'FNumber', |
625
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
626
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
627
|
|
|
|
|
|
|
Writable => 'rational64u', |
628
|
|
|
|
|
|
|
PrintConv => 'sprintf("%.1f",$val)', |
629
|
|
|
|
|
|
|
PrintConvInv => '$val', |
630
|
|
|
|
|
|
|
Priority => 0, |
631
|
|
|
|
|
|
|
}, |
632
|
|
|
|
|
|
|
0x0032 => { #PH |
633
|
|
|
|
|
|
|
Name => 'ExposureTime', |
634
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
635
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
636
|
|
|
|
|
|
|
Writable => 'rational64u', |
637
|
|
|
|
|
|
|
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)', |
638
|
|
|
|
|
|
|
PrintConvInv => '$val', |
639
|
|
|
|
|
|
|
Priority => 0, |
640
|
|
|
|
|
|
|
}, |
641
|
|
|
|
|
|
|
0x0033 => { #PH |
642
|
|
|
|
|
|
|
Name => 'ExposureTime2', |
643
|
|
|
|
|
|
|
Condition => '$$self{Model} !~ / (SD1|SD9|SD15|Merrill|Quattro|fp)$/', |
644
|
|
|
|
|
|
|
Notes => 'models other than the SD1, SD9, SD15 and Merrill/Quattro models', |
645
|
|
|
|
|
|
|
ValueConv => '$val * 1e-6', |
646
|
|
|
|
|
|
|
ValueConvInv => 'int($val * 1e6 + 0.5)', |
647
|
|
|
|
|
|
|
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)', |
648
|
|
|
|
|
|
|
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)', |
649
|
|
|
|
|
|
|
}, |
650
|
|
|
|
|
|
|
0x0034 => { #PH |
651
|
|
|
|
|
|
|
Name => 'BurstShot', |
652
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
653
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
654
|
|
|
|
|
|
|
Writable => 'int32u', |
655
|
|
|
|
|
|
|
}, |
656
|
|
|
|
|
|
|
# 0x0034 - int32u: 0,1,2,3 or 4 |
657
|
|
|
|
|
|
|
0x0035 => { #PH |
658
|
|
|
|
|
|
|
Name => 'ExposureCompensation', |
659
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
660
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
661
|
|
|
|
|
|
|
Writable => 'rational64s', |
662
|
|
|
|
|
|
|
# add a '+' sign to positive values |
663
|
|
|
|
|
|
|
PrintConv => '$val and $val =~ s/^(\d)/\+$1/; $val', |
664
|
|
|
|
|
|
|
PrintConvInv => '$val', |
665
|
|
|
|
|
|
|
}, |
666
|
|
|
|
|
|
|
# 0x0036 - string: " " |
667
|
|
|
|
|
|
|
# 0x0037-38 - string: "" |
668
|
|
|
|
|
|
|
0x0039 => { #PH (invalid for SD9, SD14?) |
669
|
|
|
|
|
|
|
Name => 'SensorTemperature', |
670
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
671
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
672
|
|
|
|
|
|
|
# (string format) |
673
|
|
|
|
|
|
|
PrintConv => 'IsInt($val) ? "$val C" : $val', |
674
|
|
|
|
|
|
|
PrintConvInv => '$val=~s/ ?C$//; $val', |
675
|
|
|
|
|
|
|
}, |
676
|
|
|
|
|
|
|
0x003a => { #PH |
677
|
|
|
|
|
|
|
Name => 'FlashExposureComp', |
678
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
679
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
680
|
|
|
|
|
|
|
Writable => 'rational64s', |
681
|
|
|
|
|
|
|
}, |
682
|
|
|
|
|
|
|
0x003b => { #PH (how is this different from other Firmware?) |
683
|
|
|
|
|
|
|
Name => 'Firmware', |
684
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
685
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
686
|
|
|
|
|
|
|
Priority => 0, |
687
|
|
|
|
|
|
|
}, |
688
|
|
|
|
|
|
|
0x003c => { #PH |
689
|
|
|
|
|
|
|
Name => 'WhiteBalance', |
690
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} < 3', |
691
|
|
|
|
|
|
|
Notes => 'models other than the SD1 and Merrill/Quattro models', |
692
|
|
|
|
|
|
|
Priority => 0, |
693
|
|
|
|
|
|
|
}, |
694
|
|
|
|
|
|
|
0x003d => { #PH (new for SD15 and SD1) |
695
|
|
|
|
|
|
|
Name => 'PictureMode', |
696
|
|
|
|
|
|
|
Notes => 'same as ColorMode, but "Standard" when ColorMode is Sepia or B&W', |
697
|
|
|
|
|
|
|
}, |
698
|
|
|
|
|
|
|
0x0048 => { #PH |
699
|
|
|
|
|
|
|
Name => 'LensApertureRange', |
700
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
701
|
|
|
|
|
|
|
Notes => 'some newer models only', |
702
|
|
|
|
|
|
|
}, |
703
|
|
|
|
|
|
|
0x0049 => { #PH |
704
|
|
|
|
|
|
|
Name => 'FNumber', |
705
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
706
|
|
|
|
|
|
|
Notes => 'some newer models only', |
707
|
|
|
|
|
|
|
Writable => 'rational64u', |
708
|
|
|
|
|
|
|
PrintConv => 'sprintf("%.1f",$val)', |
709
|
|
|
|
|
|
|
PrintConvInv => '$val', |
710
|
|
|
|
|
|
|
Priority => 0, |
711
|
|
|
|
|
|
|
}, |
712
|
|
|
|
|
|
|
0x004a => { #PH |
713
|
|
|
|
|
|
|
Name => 'ExposureTime', |
714
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
715
|
|
|
|
|
|
|
Notes => 'some newer models only', |
716
|
|
|
|
|
|
|
Writable => 'rational64u', |
717
|
|
|
|
|
|
|
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)', |
718
|
|
|
|
|
|
|
PrintConvInv => '$val', |
719
|
|
|
|
|
|
|
Priority => 0, |
720
|
|
|
|
|
|
|
}, |
721
|
|
|
|
|
|
|
0x004b => [{ #PH |
722
|
|
|
|
|
|
|
Name => 'ExposureTime2', |
723
|
|
|
|
|
|
|
Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d Merrill)$/', |
724
|
|
|
|
|
|
|
Notes => 'SD1 and DP Merrill models only', |
725
|
|
|
|
|
|
|
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)', |
726
|
|
|
|
|
|
|
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)', |
727
|
|
|
|
|
|
|
},{ #PH |
728
|
|
|
|
|
|
|
Name => 'ExposureTime2', |
729
|
|
|
|
|
|
|
Condition => '$$self{Model} =~ /^SIGMA dp\d Quattro$/i', |
730
|
|
|
|
|
|
|
Notes => 'DP Quattro models only', |
731
|
|
|
|
|
|
|
ValueConv => '$val / 1000000', |
732
|
|
|
|
|
|
|
ValueConvInv => '$val * 1000000', |
733
|
|
|
|
|
|
|
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)', |
734
|
|
|
|
|
|
|
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)', |
735
|
|
|
|
|
|
|
}], |
736
|
|
|
|
|
|
|
0x004d => { #PH |
737
|
|
|
|
|
|
|
Name => 'ExposureCompensation', |
738
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
739
|
|
|
|
|
|
|
Notes => 'some newer models only', |
740
|
|
|
|
|
|
|
Writable => 'rational64s', |
741
|
|
|
|
|
|
|
# add a '+' sign to positive values |
742
|
|
|
|
|
|
|
PrintConv => '$val and $val =~ s/^(\d)/\+$1/; $val', |
743
|
|
|
|
|
|
|
PrintConvInv => '$val', |
744
|
|
|
|
|
|
|
}, |
745
|
|
|
|
|
|
|
# 0x0054 - string: "F20","F23" |
746
|
|
|
|
|
|
|
0x0055 => { #PH |
747
|
|
|
|
|
|
|
Name => 'SensorTemperature', |
748
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
749
|
|
|
|
|
|
|
Notes => 'some newer models only', |
750
|
|
|
|
|
|
|
# (string format) |
751
|
|
|
|
|
|
|
PrintConv => 'IsInt($val) ? "$val C" : $val', |
752
|
|
|
|
|
|
|
PrintConvInv => '$val=~s/ ?C$//; $val', |
753
|
|
|
|
|
|
|
}, |
754
|
|
|
|
|
|
|
0x0056 => { #PH (NC) |
755
|
|
|
|
|
|
|
Name => 'FlashExposureComp', |
756
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
757
|
|
|
|
|
|
|
Notes => 'some newer models only', |
758
|
|
|
|
|
|
|
Writable => 'rational64s', |
759
|
|
|
|
|
|
|
}, |
760
|
|
|
|
|
|
|
0x0057 => { #PH (how is this different from other Firmware?) |
761
|
|
|
|
|
|
|
Name => 'Firmware2', |
762
|
|
|
|
|
|
|
Condition => '$format eq "string"', |
763
|
|
|
|
|
|
|
Notes => 'some newer models only', |
764
|
|
|
|
|
|
|
Priority => 0, |
765
|
|
|
|
|
|
|
}, |
766
|
|
|
|
|
|
|
0x0058 => { #PH |
767
|
|
|
|
|
|
|
Name => 'WhiteBalance', |
768
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
769
|
|
|
|
|
|
|
Notes => 'some newer models only', |
770
|
|
|
|
|
|
|
Priority => 0, |
771
|
|
|
|
|
|
|
}, |
772
|
|
|
|
|
|
|
0x0059 => { #PH |
773
|
|
|
|
|
|
|
Name => 'DigitalFilter', |
774
|
|
|
|
|
|
|
Condition => '$$self{MakerNoteSigmaVer} >= 3', |
775
|
|
|
|
|
|
|
Notes => 'some newer models only', |
776
|
|
|
|
|
|
|
# seen: Standard,Landscape,Monochrome,Neutral,Portrait,Sepia,Vivid |
777
|
|
|
|
|
|
|
}, |
778
|
|
|
|
|
|
|
# 0x005a/b/c - rational64s: 0/10 for the SD1 |
779
|
|
|
|
|
|
|
0x0084 => { #PH (Quattro models and fp) |
780
|
|
|
|
|
|
|
Name => 'Model', |
781
|
|
|
|
|
|
|
Description => 'Camera Model Name', |
782
|
|
|
|
|
|
|
}, |
783
|
|
|
|
|
|
|
# 0x0085 |
784
|
|
|
|
|
|
|
0x0086 => { #PH (Quattro models) |
785
|
|
|
|
|
|
|
Name => 'ISO', |
786
|
|
|
|
|
|
|
Writable => 'int16u', |
787
|
|
|
|
|
|
|
}, |
788
|
|
|
|
|
|
|
0x0087 => 'ResolutionMode', #PH (Quattro models) |
789
|
|
|
|
|
|
|
0x0088 => 'WhiteBalance', #PH (Quattro models) |
790
|
|
|
|
|
|
|
0x008c => 'Firmware', #PH (Quattro models) |
791
|
|
|
|
|
|
|
0x011f => { #IB (FP DNG images) |
792
|
|
|
|
|
|
|
Name => 'CameraCalibration', |
793
|
|
|
|
|
|
|
Writable => 'float', |
794
|
|
|
|
|
|
|
Count => 9, |
795
|
|
|
|
|
|
|
}, |
796
|
|
|
|
|
|
|
0x0120 => { #IB (FP DNG images) |
797
|
|
|
|
|
|
|
Name => 'WBSettings', |
798
|
|
|
|
|
|
|
SubDirectory => { TagTable => 'Image::ExifTool::Sigma::WBSettings' }, |
799
|
|
|
|
|
|
|
}, |
800
|
|
|
|
|
|
|
0x0121 => { #IB (FP DNG images) |
801
|
|
|
|
|
|
|
Name => 'WBSettings2', |
802
|
|
|
|
|
|
|
SubDirectory => { TagTable => 'Image::ExifTool::Sigma::WBSettings2' }, |
803
|
|
|
|
|
|
|
}, |
804
|
|
|
|
|
|
|
); |
805
|
|
|
|
|
|
|
|
806
|
|
|
|
|
|
|
# WB settings (ref IB) |
807
|
|
|
|
|
|
|
%Image::ExifTool::Sigma::WBSettings = ( |
808
|
|
|
|
|
|
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData, |
809
|
|
|
|
|
|
|
WRITE_PROC => \&Image::ExifTool::WriteBinaryData, |
810
|
|
|
|
|
|
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData, |
811
|
|
|
|
|
|
|
WRITABLE => 1, |
812
|
|
|
|
|
|
|
FORMAT => 'float', |
813
|
|
|
|
|
|
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' }, |
814
|
|
|
|
|
|
|
0 => { Name => 'WB_RGBLevelsAuto', Format => 'float[3]' }, |
815
|
|
|
|
|
|
|
3 => { Name => 'WB_RGBLevelsDaylight', Format => 'float[3]' }, |
816
|
|
|
|
|
|
|
6 => { Name => 'WB_RGBLevelsShade', Format => 'float[3]' }, |
817
|
|
|
|
|
|
|
9 => { Name => 'WB_RGBLevelsOvercast', Format => 'float[3]' }, |
818
|
|
|
|
|
|
|
12 => { Name => 'WB_RGBLevelsIncandescent', Format => 'float[3]' }, |
819
|
|
|
|
|
|
|
15 => { Name => 'WB_RGBLevelsFluorescent', Format => 'float[3]' }, |
820
|
|
|
|
|
|
|
18 => { Name => 'WB_RGBLevelsFlash', Format => 'float[3]' }, |
821
|
|
|
|
|
|
|
21 => { Name => 'WB_RGBLevelsCustom1', Format => 'float[3]' }, |
822
|
|
|
|
|
|
|
24 => { Name => 'WB_RGBLevelsCustom2', Format => 'float[3]' }, |
823
|
|
|
|
|
|
|
27 => { Name => 'WB_RGBLevelsCustom3', Format => 'float[3]' }, |
824
|
|
|
|
|
|
|
); |
825
|
|
|
|
|
|
|
|
826
|
|
|
|
|
|
|
# WB settings (ref IB) |
827
|
|
|
|
|
|
|
%Image::ExifTool::Sigma::WBSettings2 = ( |
828
|
|
|
|
|
|
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData, |
829
|
|
|
|
|
|
|
WRITE_PROC => \&Image::ExifTool::WriteBinaryData, |
830
|
|
|
|
|
|
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData, |
831
|
|
|
|
|
|
|
WRITABLE => 1, |
832
|
|
|
|
|
|
|
FORMAT => 'float', |
833
|
|
|
|
|
|
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' }, |
834
|
|
|
|
|
|
|
0 => { Name => 'WB_RGBLevelsUnknown0', Unknown => 1, Format => 'float[3]' }, |
835
|
|
|
|
|
|
|
3 => { Name => 'WB_RGBLevelsUnknown1', Unknown => 1, Format => 'float[3]' }, |
836
|
|
|
|
|
|
|
6 => { Name => 'WB_RGBLevelsUnknown2', Unknown => 1, Format => 'float[3]' }, |
837
|
|
|
|
|
|
|
9 => { Name => 'WB_RGBLevelsUnknown3', Unknown => 1, Format => 'float[3]' }, |
838
|
|
|
|
|
|
|
12 => { Name => 'WB_RGBLevelsUnknown4', Unknown => 1, Format => 'float[3]' }, |
839
|
|
|
|
|
|
|
15 => { Name => 'WB_RGBLevelsUnknown5', Unknown => 1, Format => 'float[3]' }, |
840
|
|
|
|
|
|
|
18 => { Name => 'WB_RGBLevelsUnknown6', Unknown => 1, Format => 'float[3]' }, |
841
|
|
|
|
|
|
|
21 => { Name => 'WB_RGBLevelsUnknown7', Unknown => 1, Format => 'float[3]' }, |
842
|
|
|
|
|
|
|
24 => { Name => 'WB_RGBLevelsUnknown8', Unknown => 1, Format => 'float[3]' }, |
843
|
|
|
|
|
|
|
27 => { Name => 'WB_RGBLevelsUnknown9', Unknown => 1, Format => 'float[3]' }, |
844
|
|
|
|
|
|
|
); |
845
|
|
|
|
|
|
|
|
846
|
|
|
|
|
|
|
|
847
|
|
|
|
|
|
|
1; # end |
848
|
|
|
|
|
|
|
|
849
|
|
|
|
|
|
|
__END__ |