1 | #------------------------------------------------------------------------------
|
---|
2 | # File: NikonSettings.pm
|
---|
3 | #
|
---|
4 | # Description: Read Nikon user settings
|
---|
5 | #
|
---|
6 | # Revisions: 2021/01/08 - Warren Hatch Created
|
---|
7 | # 2021/01/12 - PH Created ProcessNikonSettings() to extract tags
|
---|
8 | # by ID instead of using fixed offsets
|
---|
9 | #
|
---|
10 | # References: 1) Warren Hatch private communication (D6 and Z7_2)
|
---|
11 | #
|
---|
12 | #------------------------------------------------------------------------------
|
---|
13 |
|
---|
14 | package Image::ExifTool::NikonSettings;
|
---|
15 |
|
---|
16 | use strict;
|
---|
17 | use vars qw($VERSION);
|
---|
18 | use Image::ExifTool qw(:DataAccess :Utils);
|
---|
19 |
|
---|
20 | $VERSION = '1.02';
|
---|
21 |
|
---|
22 | sub ProcessNikonSettings($$$);
|
---|
23 |
|
---|
24 | my %enableDisable = ( 1 => 'Enable', 2 => 'Disable' );
|
---|
25 |
|
---|
26 | my %funcButtonZ7m2 = (
|
---|
27 | 1 => 'AF-On',
|
---|
28 | 2 => 'AF Lock Only',
|
---|
29 | 3 => 'AE Lock (hold)',
|
---|
30 | 4 => 'AE Lock (reset on release)',
|
---|
31 | 5 => 'AE Lock Only',
|
---|
32 | 6 => 'AE/AF Lock',
|
---|
33 | 7 => 'FV Lock',
|
---|
34 | 8 => 'Flash Disable/Enable',
|
---|
35 | 9 => 'Preview',
|
---|
36 | 10 => 'Matrix Metering',
|
---|
37 | 11 => 'Center-weighted Metering',
|
---|
38 | 12 => 'Spot Metering',
|
---|
39 | 13 => 'Highlight-weighted Metering',
|
---|
40 | 14 => 'Bracketing Burst',
|
---|
41 | 15 => 'Synchronized Release (Master)',
|
---|
42 | 16 => 'Synchronized Release (Remote)', # no settings map to 17 or 18
|
---|
43 | 19 => '+NEF(RAW)',
|
---|
44 | 20 => 'Subject Tracking',
|
---|
45 | 21 => 'Silent Photography',
|
---|
46 | 22 => 'LiveView Info Display On/Off',
|
---|
47 | 23 => 'Grid Display',
|
---|
48 | 24 => 'Zoom (Low)',
|
---|
49 | 25 => 'Zoom (1:1)',
|
---|
50 | 26 => 'Zoom (High)',
|
---|
51 | 27 => 'My Menu',
|
---|
52 | 28 => 'My Menu Top Item',
|
---|
53 | 29 => 'Playback',
|
---|
54 | 30 => 'Protect',
|
---|
55 | 31 => 'Image Area',
|
---|
56 | 32 => 'Image Quality',
|
---|
57 | 33 => 'White Balance',
|
---|
58 | 34 => 'Picture Control',
|
---|
59 | 35 => 'Active-D Lighting',
|
---|
60 | 36 => 'Metering',
|
---|
61 | 37 => 'Flash Mode',
|
---|
62 | 38 => 'Focus Mode',
|
---|
63 | 39 => 'Auto Bracketing',
|
---|
64 | 40 => 'Multiple Exposure',
|
---|
65 | 41 => 'HDR',
|
---|
66 | 42 => 'Exposure Delay Mode',
|
---|
67 | 43 => 'Shutter/Aperture Lock',
|
---|
68 | 44 => 'Focus Peaking',
|
---|
69 | 45 => 'Rating 0',
|
---|
70 | 46 => 'Rating 5',
|
---|
71 | 47 => 'Rating 4',
|
---|
72 | 48 => 'Rating 3',
|
---|
73 | 49 => 'Rating 2',
|
---|
74 | 50 => 'Rating 1', # no settings map to x'51 (possibly intended for 'Candidate for Delection'
|
---|
75 | 52 => 'Non-CPU Lens',
|
---|
76 | 52 => 'None',
|
---|
77 | );
|
---|
78 |
|
---|
79 | my %flickUpDownD6 = (
|
---|
80 | 1 => 'Rating',
|
---|
81 | 2 => 'Select To Send',
|
---|
82 | 3 => 'Protect',
|
---|
83 | 4 => 'Voice Memo',
|
---|
84 | 5 => 'None',
|
---|
85 | );
|
---|
86 |
|
---|
87 | my %flickUpDownRatingD6 = (
|
---|
88 | 1 => 'Rating 5',
|
---|
89 | 2 => 'Rating 4',
|
---|
90 | 3 => 'Rating 3',
|
---|
91 | 4 => 'Rating 2',
|
---|
92 | 5 => 'Rating 1',
|
---|
93 | 6 => 'Candidate for Deletion',
|
---|
94 | );
|
---|
95 |
|
---|
96 | my %groupAreaCustom = (
|
---|
97 | 1 => '1x7',
|
---|
98 | 2 => '1x5',
|
---|
99 | 3 => '3x7',
|
---|
100 | 4 => '3x5',
|
---|
101 | 5 => '3x3',
|
---|
102 | 6 => '5x7',
|
---|
103 | 7 => '5x5',
|
---|
104 | 8 => '5x3',
|
---|
105 | 9 => '5x1',
|
---|
106 | 10 => '7x7',
|
---|
107 | 11 => '7x5',
|
---|
108 | 12 => '7x3',
|
---|
109 | 13 => '7x1',
|
---|
110 | 14 => '11x3',
|
---|
111 | 15 => '11x1',
|
---|
112 | 16 => '15x3',
|
---|
113 | 17 => '15x1',
|
---|
114 | );
|
---|
115 |
|
---|
116 | my %iSOAutoHiLimitD6 = (
|
---|
117 | 1 => 'ISO 200',
|
---|
118 | 2 => 'ISO 250',
|
---|
119 | 3 => 'ISO 280',
|
---|
120 | 4 => 'ISO 320',
|
---|
121 | 5 => 'ISO 400',
|
---|
122 | 6 => 'ISO 500',
|
---|
123 | 7 => 'ISO 560',
|
---|
124 | 8 => 'ISO 640',
|
---|
125 | 9 => 'ISO 800',
|
---|
126 | 10 => 'ISO 1000',
|
---|
127 | 11 => 'ISO 1100',
|
---|
128 | 12 => 'ISO 1250',
|
---|
129 | 13 => 'ISO 1600',
|
---|
130 | 14 => 'ISO 2000',
|
---|
131 | 15 => 'ISO 2200',
|
---|
132 | 16 => 'ISO 2500',
|
---|
133 | 17 => 'ISO 3200',
|
---|
134 | 18 => 'ISO 4000',
|
---|
135 | 19 => 'ISO 4500',
|
---|
136 | 20 => 'ISO 5000',
|
---|
137 | 21 => 'ISO 6400',
|
---|
138 | 22 => 'ISO 8000',
|
---|
139 | 23 => 'ISO 9000',
|
---|
140 | 24 => 'ISO 10000',
|
---|
141 | 25 => 'ISO 12800',
|
---|
142 | 26 => 'ISO 16000',
|
---|
143 | 27 => 'ISO 18000',
|
---|
144 | 28 => 'ISO 20000',
|
---|
145 | 29 => 'ISO 25600',
|
---|
146 | 30 => 'ISO 32000',
|
---|
147 | 31 => 'ISO 36000',
|
---|
148 | 32 => 'ISO 40000',
|
---|
149 | 33 => 'ISO 51200',
|
---|
150 | 34 => 'ISO 64000',
|
---|
151 | 35 => 'ISO 72000',
|
---|
152 | 36 => 'ISO 81200',
|
---|
153 | 37 => 'ISO 102400',
|
---|
154 | 38 => 'ISO Hi 0.3',
|
---|
155 | 39 => 'ISO Hi 0.5',
|
---|
156 | 40 => 'ISO Hi 0.7',
|
---|
157 | 41 => 'ISO Hi 1.0',
|
---|
158 | 42 => 'ISO Hi 2.0',
|
---|
159 | 43 => 'ISO Hi 3.0',
|
---|
160 | 44 => 'ISO Hi 4.0',
|
---|
161 | 45 => 'ISO Hi 5.0',
|
---|
162 | );
|
---|
163 |
|
---|
164 | my %lensFuncButtonZ7m2 = (
|
---|
165 | 1 => 'AF-On',
|
---|
166 | 2 => 'AF Lock Only',
|
---|
167 | 3 => 'AE Lock (hold)',
|
---|
168 | 4 => 'AE Lock (reset on release)',
|
---|
169 | 5 => 'AE Lock Only',
|
---|
170 | 6 => 'AE/AF Lock',
|
---|
171 | 7 => 'FV Lock',
|
---|
172 | 8 => 'Flash Disable/Enable',
|
---|
173 | 9 => 'Preview',
|
---|
174 | 10 => 'Matrix Metering',
|
---|
175 | 11 => 'Center-weighted Metering',
|
---|
176 | 12 => 'Spot Metering',
|
---|
177 | 13 => 'Highlight-weighted Metering',
|
---|
178 | 14 => 'Bracketing Burst',
|
---|
179 | 15 => 'Synchronized Release (Master)',
|
---|
180 | 16 => 'Synchronized Release (Remote)', # no settings map to 17 or 18 (Z7II fw 1.01)
|
---|
181 | 19 => '+NEF(RAW)',
|
---|
182 | 20 => 'Subject Tracking',
|
---|
183 | 21 => 'Grid Display',
|
---|
184 | 22 => 'Zoom (Low)',
|
---|
185 | 23 => 'Zoom (1:1)',
|
---|
186 | 24 => 'Zoom (High)',
|
---|
187 | 25 => 'My Menu',
|
---|
188 | 26 => 'My Menu Top Item',
|
---|
189 | 27 => 'Playback',
|
---|
190 | 28 => 'None',
|
---|
191 | );
|
---|
192 |
|
---|
193 | my %limitNolimit = ( 1 => 'Limit', 2 => 'No Limit' );
|
---|
194 |
|
---|
195 | my %limtReleaseModeSel = (
|
---|
196 | 0 => 'No Limit', # not sure why 0 and 2 both map to 'No Limit', but they do
|
---|
197 | 1 => 'Limit',
|
---|
198 | 2 => 'No Limit',
|
---|
199 | );
|
---|
200 |
|
---|
201 | my %menuBank = (
|
---|
202 | 1 => 'A',
|
---|
203 | 2 => 'B',
|
---|
204 | 3 => 'C',
|
---|
205 | 4 => 'D',
|
---|
206 | );
|
---|
207 |
|
---|
208 | my %noYes = ( 1 => 'No', 2 => 'Yes' );
|
---|
209 | my %offOn = ( 1 => 'Off', 2 => 'On' );
|
---|
210 | my %onOff = ( 1 => 'On', 2 => 'Off' );
|
---|
211 |
|
---|
212 | my %previewButtonD6 = (
|
---|
213 | 1 => 'Preset Focus Point - Press To Recall',
|
---|
214 | 2 => 'Preset Focus Point - Hold To Recall',
|
---|
215 | 3 => 'AF-AreaMode S',
|
---|
216 | 4 => 'AF-AreaMode D9',
|
---|
217 | 5 => 'AF-AreaMode D25',
|
---|
218 | 6 => 'AF-AreaMode D49',
|
---|
219 | 7 => 'AF-AreaMode D105',
|
---|
220 | 8 => 'AF-AreaMode 3D',
|
---|
221 | 9 => 'AF-AreaMode Group',
|
---|
222 | 10 => 'AF-AreaMode Group C1',
|
---|
223 | 11 => 'AF-AreaMode Group C2',
|
---|
224 | 12 => 'AF-AreaMode Auto Area',
|
---|
225 | 13 => 'AF-AreaMode + AF-On S',
|
---|
226 | 14 => 'AF-AreaMode + AF-On D9',
|
---|
227 | 15 => 'AF-AreaMode + AF-On D25',
|
---|
228 | 16 => 'AF-AreaMode + AF-On D49',
|
---|
229 | 17 => 'AF-AreaMode + AF-On D105',
|
---|
230 | 18 => 'AF-AreaMode + AF-On 3D',
|
---|
231 | 19 => 'AF-AreaMode + AF-On Group',
|
---|
232 | 20 => 'AF-AreaMode + AF-On Group C1',
|
---|
233 | 21 => 'AF-AreaMode + AF-On Group C2',
|
---|
234 | 22 => 'AF-AreaMode + AF-On Auto Area',
|
---|
235 | 23 => 'AF-On',
|
---|
236 | 24 => 'AF Lock Only',
|
---|
237 | 25 => 'AE Lock (hold)',
|
---|
238 | 26 => 'AE/WB Lock (hold)',
|
---|
239 | 27 => 'AE Lock (reset on release)',
|
---|
240 | 28 => 'AE Lock Only',
|
---|
241 | 29 => 'AE/AF Lock',
|
---|
242 | 30 => 'FV Lock',
|
---|
243 | 31 => 'Flash Disable/Enable',
|
---|
244 | 32 => 'Preview',
|
---|
245 | 33 => 'Recall Shooting Functions',
|
---|
246 | 34 => 'Bracketing Burst',
|
---|
247 | 35 => 'Synchronized Release (Master)',
|
---|
248 | 36 => 'Synchronized Release (Remote)', # no settings map to 37 or 38
|
---|
249 | 39 => '+NEF(RAW)',
|
---|
250 | 40 => 'Grid Display',
|
---|
251 | 41 => 'Virtual Horizon',
|
---|
252 | 42 => 'Voice Memo',
|
---|
253 | 43 => 'Wired LAN',
|
---|
254 | 44 => 'My Menu',
|
---|
255 | 45 => 'My Menu Top Item',
|
---|
256 | 46 => 'Playback',
|
---|
257 | 47 => 'Filtered Playback',
|
---|
258 | 48 => 'Photo Shooting Bank',
|
---|
259 | 49 => 'AF Mode/AF Area Mode',
|
---|
260 | 50 => 'Image Area',
|
---|
261 | 51 => 'Active-D Lighting',
|
---|
262 | 52 => 'Exposure Delay Mode',
|
---|
263 | 53 => 'Shutter/Aperture Lock',
|
---|
264 | 54 => '1 Stop Speed/Aperture',
|
---|
265 | 55 => 'Non-CPU Lens',
|
---|
266 | 56 => 'None',
|
---|
267 | );
|
---|
268 |
|
---|
269 | my %releaseFocus = (
|
---|
270 | 1 => 'Release',
|
---|
271 | 2 => 'Focus',
|
---|
272 | );
|
---|
273 |
|
---|
274 | my %tagMultiSelector = (
|
---|
275 | 1 => 'Restart Standby Timer',
|
---|
276 | 2 => 'Do Nothing',
|
---|
277 | );
|
---|
278 |
|
---|
279 | my %tagSecondarySlotFunction = (
|
---|
280 | 1 => 'Overflow',
|
---|
281 | 2 => 'Backup',
|
---|
282 | 3 => 'NEF Primary + JPG Secondary',
|
---|
283 | 4 => 'JPG Primary + JPG Secondary',
|
---|
284 | );
|
---|
285 |
|
---|
286 | my %tagSubSelector = (
|
---|
287 | 1 => 'Same as MultiSelector',
|
---|
288 | 2 => 'Focus Point Selection',
|
---|
289 | );
|
---|
290 |
|
---|
291 | my %thirdHalfFull = (
|
---|
292 | 1 => '1/3 EV',
|
---|
293 | 2 => '1/2 EV',
|
---|
294 | 3 => '1 EV',
|
---|
295 | );
|
---|
296 |
|
---|
297 | my %times4s10s20s1m5m20m = (
|
---|
298 | 1 => '4 s',
|
---|
299 | 2 => '10 s',
|
---|
300 | 3 => '20 s',
|
---|
301 | 4 => '1 min',
|
---|
302 | 5 => '5 min',
|
---|
303 | 6 => '10 min',
|
---|
304 | );
|
---|
305 |
|
---|
306 | my %yesNo = ( 1 => 'Yes', 2 => 'No' );
|
---|
307 |
|
---|
308 | my %infoZ72 = (
|
---|
309 | Condition => '$$self{Model} =~ /^NIKON Z 6_2/i or $$self{Model} =~ /^NIKON Z 7_2/i',
|
---|
310 | Notes => 'Z7_2',
|
---|
311 | );
|
---|
312 |
|
---|
313 | my %infoD6 = (
|
---|
314 | Condition => '$$self{Model} =~ /^NIKON D6/i',
|
---|
315 | Notes => 'D6',
|
---|
316 | );
|
---|
317 |
|
---|
318 | # Nikon Settings tags (ref 1, tag ID's ref PH)
|
---|
319 | %Image::ExifTool::NikonSettings::Main = (
|
---|
320 | PROCESS_PROC => \&ProcessNikonSettings,
|
---|
321 | GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
---|
322 | NOTES => q{
|
---|
323 | User settings for newer Nikon models. A number of the tags are marked as
|
---|
324 | Unknown only to reduce the volume of the normal output.
|
---|
325 | },
|
---|
326 | 0x001 => [{
|
---|
327 | Name => 'ISOAutoHiLimit',
|
---|
328 | PrintConv => \%iSOAutoHiLimitD6,
|
---|
329 | %infoD6,
|
---|
330 | },{
|
---|
331 | Name => 'ISOAutoHiLimit',
|
---|
332 | PrintConv => {
|
---|
333 | 1 => 'ISO 100',
|
---|
334 | 2 => 'ISO 125',
|
---|
335 | 4 => 'ISO 160',
|
---|
336 | 5 => 'ISO 200',
|
---|
337 | 6 => 'ISO 250',
|
---|
338 | 8 => 'ISO 320',
|
---|
339 | 9 => 'ISO 400',
|
---|
340 | 10 => 'ISO 500',
|
---|
341 | 12 => 'ISO 640',
|
---|
342 | 13 => 'ISO 800',
|
---|
343 | 14 => 'ISO 1000',
|
---|
344 | 16 => 'ISO 1250',
|
---|
345 | 17 => 'ISO 1600',
|
---|
346 | 18 => 'ISO 2000',
|
---|
347 | 20 => 'ISO 2500',
|
---|
348 | 21 => 'ISO 3200',
|
---|
349 | 22 => 'ISO 4000',
|
---|
350 | 24 => 'ISO 5000',
|
---|
351 | 25 => 'ISO 6400',
|
---|
352 | 26 => 'ISO 8000',
|
---|
353 | 28 => 'ISO 10000',
|
---|
354 | 29 => 'ISO 12800',
|
---|
355 | 30 => 'ISO 16000',
|
---|
356 | 32 => 'ISO 20000',
|
---|
357 | 33 => 'ISO 25600',
|
---|
358 | 38 => 'ISO Hi 0.3',
|
---|
359 | 39 => 'ISO Hi 0.5',
|
---|
360 | 40 => 'ISO Hi 0.7',
|
---|
361 | 41 => 'ISO Hi 1.0',
|
---|
362 | 42 => 'ISO Hi 2.0',
|
---|
363 | },
|
---|
364 | %infoZ72,
|
---|
365 | }],
|
---|
366 | 0x002 => [{
|
---|
367 | Name => 'ISOAutoFlashLimit',
|
---|
368 | PrintConv => {
|
---|
369 | 1 => 'Same As Without Flash',
|
---|
370 | 2 => 'ISO 200',
|
---|
371 | 3 => 'ISO 250',
|
---|
372 | 5 => 'ISO 320',
|
---|
373 | 6 => 'ISO 400',
|
---|
374 | 7 => 'ISO 500',
|
---|
375 | 9 => 'ISO 640',
|
---|
376 | 10 => 'ISO 800',
|
---|
377 | 11 => 'ISO 1000',
|
---|
378 | 13 => 'ISO 1250',
|
---|
379 | 14 => 'ISO 1600',
|
---|
380 | 15 => 'ISO 2000',
|
---|
381 | 17 => 'ISO 2500',
|
---|
382 | 18 => 'ISO 3200',
|
---|
383 | 19 => 'ISO 4000',
|
---|
384 | 21 => 'ISO 5000',
|
---|
385 | 22 => 'ISO 6400',
|
---|
386 | 23 => 'ISO 8000',
|
---|
387 | 25 => 'ISO 10000',
|
---|
388 | 26 => 'ISO 12800',
|
---|
389 | 27 => 'ISO 16000',
|
---|
390 | 29 => 'ISO 20000',
|
---|
391 | 30 => 'ISO 25600',
|
---|
392 | 31 => 'ISO 32000',
|
---|
393 | 33 => 'ISO 40000',
|
---|
394 | 34 => 'ISO 51200',
|
---|
395 | 35 => 'ISO 64000',
|
---|
396 | 36 => 'ISO 72000',
|
---|
397 | 37 => 'ISO 81200',
|
---|
398 | 38 => 'ISO 102400',
|
---|
399 | 39 => 'ISO Hi 0.3',
|
---|
400 | 40 => 'ISO Hi 0.5',
|
---|
401 | 41 => 'ISO Hi 0.7',
|
---|
402 | 42 => 'ISO Hi 1.0',
|
---|
403 | 43 => 'ISO Hi 2.0',
|
---|
404 | 44 => 'ISO Hi 3.0',
|
---|
405 | 45 => 'ISO Hi 4.0',
|
---|
406 | 46 => 'ISO Hi 5.0',
|
---|
407 | },
|
---|
408 | %infoD6,
|
---|
409 | },{
|
---|
410 | Name => 'ISOAutoFlashLimit',
|
---|
411 | PrintConv => {
|
---|
412 | 1 => 'Same As Without Flash',
|
---|
413 | 2 => 'ISO 100',
|
---|
414 | 3 => 'ISO 125',
|
---|
415 | 5 => 'ISO 160',
|
---|
416 | 6 => 'ISO 200',
|
---|
417 | 7 => 'ISO 250',
|
---|
418 | 9 => 'ISO 320',
|
---|
419 | 10 => 'ISO 400',
|
---|
420 | 11 => 'ISO 500',
|
---|
421 | 13 => 'ISO 640',
|
---|
422 | 14 => 'ISO 800',
|
---|
423 | 15 => 'ISO 1000',
|
---|
424 | 17 => 'ISO 1250',
|
---|
425 | 18 => 'ISO 1600',
|
---|
426 | 19 => 'ISO 2000',
|
---|
427 | 21 => 'ISO 2500',
|
---|
428 | 22 => 'ISO 3200',
|
---|
429 | 23 => 'ISO 4000',
|
---|
430 | 25 => 'ISO 5000',
|
---|
431 | 26 => 'ISO 6400',
|
---|
432 | 27 => 'ISO 8000',
|
---|
433 | 29 => 'ISO 10000',
|
---|
434 | 30 => 'ISO 12800',
|
---|
435 | 31 => 'ISO 16000',
|
---|
436 | 33 => 'ISO 20000',
|
---|
437 | 34 => 'ISO 25600',
|
---|
438 | 39 => 'ISO Hi 0.3',
|
---|
439 | 40 => 'ISO Hi 0.5',
|
---|
440 | 41 => 'ISO Hi 0.7',
|
---|
441 | 42 => 'ISO Hi 1.0',
|
---|
442 | 43 => 'ISO Hi 2.0',
|
---|
443 | },
|
---|
444 | %infoZ72,
|
---|
445 | }],
|
---|
446 | 0x003 => { # (D6/Z7_2)
|
---|
447 | Name => 'ISOAutoShutterTime',
|
---|
448 | PrintConv => {
|
---|
449 | 1 => 'Auto (Slowest)',
|
---|
450 | 2 => 'Auto (Slower)',
|
---|
451 | 3 => 'Auto',
|
---|
452 | 4 => 'Auto (Faster)',
|
---|
453 | 5 => 'Auto (Fastest)',
|
---|
454 | 6 => '1/4000 s',
|
---|
455 | 7 => '1/3200 s',
|
---|
456 | 8 => '1/2500 s',
|
---|
457 | 9 => '1/2000 s',
|
---|
458 | 10 => '1/1600 s',
|
---|
459 | 11 => '1/1250 s',
|
---|
460 | 12 => '1/1000 s',
|
---|
461 | 13 => '1/800 s',
|
---|
462 | 14 => '1/640 s',
|
---|
463 | 15 => '1/500 s',
|
---|
464 | 16 => '1/400 s',
|
---|
465 | 17 => '1/320 s',
|
---|
466 | 18 => '1/250 s',
|
---|
467 | 19 => '1/200 s',
|
---|
468 | 20 => '1/160 s',
|
---|
469 | 21 => '1/125 s',
|
---|
470 | 22 => '1/100 s',
|
---|
471 | 23 => '1/80 s',
|
---|
472 | 24 => '1/60 s',
|
---|
473 | 25 => '1/50 s',
|
---|
474 | 26 => '1/40 s',
|
---|
475 | 27 => '1/30 s',
|
---|
476 | 28 => '1/25 s',
|
---|
477 | 29 => '1/20 s',
|
---|
478 | 30 => '1/15 s',
|
---|
479 | 31 => '1/13 s',
|
---|
480 | 32 => '1/10 s',
|
---|
481 | 33 => '1/8 s',
|
---|
482 | 34 => '1/6 s',
|
---|
483 | 35 => '1/5 s',
|
---|
484 | 36 => '1/4 s',
|
---|
485 | 37 => '1/3 s',
|
---|
486 | 38 => '1/2.5 s',
|
---|
487 | 39 => '1/2 s',
|
---|
488 | 40 => '1/1.6 s',
|
---|
489 | 41 => '1/1.3 s',
|
---|
490 | 42 => '1 s',
|
---|
491 | 43 => '1.3 s',
|
---|
492 | 44 => '1.6 s',
|
---|
493 | 45 => '2 s',
|
---|
494 | 46 => '2.5 s',
|
---|
495 | 47 => '3 s',
|
---|
496 | 48 => '4 s',
|
---|
497 | 49 => '5 s',
|
---|
498 | 50 => '6 s',
|
---|
499 | 51 => '8 s',
|
---|
500 | 52 => '10 s',
|
---|
501 | 53 => '13 s',
|
---|
502 | 54 => '15 s',
|
---|
503 | 55 => '20 s',
|
---|
504 | 56 => '25 s',
|
---|
505 | 57 => '30 s',
|
---|
506 | },
|
---|
507 | },
|
---|
508 | 0x00b => { Name => 'FlickerReductionShooting', PrintConv => \%enableDisable }, # (D6/Z7_2)
|
---|
509 | 0x00c => { Name => 'FlickerReductionIndicator',PrintConv => \%enableDisable }, # (D6)
|
---|
510 | 0x00d => [{
|
---|
511 | Name => 'MovieISOAutoHiLimit',
|
---|
512 | PrintConv => \%iSOAutoHiLimitD6,
|
---|
513 | %infoD6,
|
---|
514 | },{
|
---|
515 | Name => 'MovieISOAutoHiLimit',
|
---|
516 | PrintConv => {
|
---|
517 | 1 => 'ISO 200',
|
---|
518 | 2 => 'ISO 250',
|
---|
519 | 4 => 'ISO 320',
|
---|
520 | 5 => 'ISO 400',
|
---|
521 | 6 => 'ISO 500',
|
---|
522 | 8 => 'ISO 640',
|
---|
523 | 9 => 'ISO 800',
|
---|
524 | 10 => 'ISO 1000',
|
---|
525 | 12 => 'ISO 1250',
|
---|
526 | 13 => 'ISO 1600',
|
---|
527 | 14 => 'ISO 2000',
|
---|
528 | 16 => 'ISO 2500',
|
---|
529 | 17 => 'ISO 3200',
|
---|
530 | 18 => 'ISO 4000',
|
---|
531 | 20 => 'ISO 5000',
|
---|
532 | 21 => 'ISO 6400',
|
---|
533 | 22 => 'ISO 8000',
|
---|
534 | 24 => 'ISO 10000',
|
---|
535 | 25 => 'ISO 12800',
|
---|
536 | 26 => 'ISO 16000',
|
---|
537 | 28 => 'ISO 20000',
|
---|
538 | 29 => 'ISO 25600',
|
---|
539 | 34 => 'ISO Hi 0.3',
|
---|
540 | 35 => 'ISO Hi 0.5',
|
---|
541 | 36 => 'ISO Hi 0.7',
|
---|
542 | 37 => 'ISO Hi 1.0',
|
---|
543 | 38 => 'ISO Hi 2.0',
|
---|
544 | },
|
---|
545 | %infoZ72,
|
---|
546 | }],
|
---|
547 | 0x00e => { Name => 'MovieISOAutoControlManualMode',PrintConv => \%onOff }, # (D6/Z7_2)
|
---|
548 | # 0x00f => [{ # this tag should reside here, but unable to confirm
|
---|
549 | # Name => 'MovieISOAutoManualMode',
|
---|
550 | # PrintConv => \%iSOAutoHiLimitD6,
|
---|
551 | # %infoD6,
|
---|
552 | # },{
|
---|
553 | # Name => 'MovieISOAutoManualMode',
|
---|
554 | # PrintConv => \%iSOAutoHiLimitZ7m2,
|
---|
555 | # %infoZ72,
|
---|
556 | # }],
|
---|
557 | 0x01d => [{ # CSa1 (D6)
|
---|
558 | Name => 'AF-CPrioritySel',
|
---|
559 | PrintConv => { # valid for cameras with 4 options for CS1, otherwise 1=Release, 2=Focus
|
---|
560 | 1 => 'Release',
|
---|
561 | 2 => 'Release + Focus',
|
---|
562 | 3 => 'Focus + Release',
|
---|
563 | 4 => 'Focus',
|
---|
564 | },
|
---|
565 | %infoD6,
|
---|
566 | },{ # CSa1 (Z7_2)
|
---|
567 | Name => 'AF-CPrioritySel',
|
---|
568 | PrintConv => \%releaseFocus,
|
---|
569 | %infoZ72,
|
---|
570 | }],
|
---|
571 | 0x01e => { Name => 'AF-SPrioritySel', PrintConv => \%releaseFocus }, # CSa2 (D6), CSa2 (Z7_2)
|
---|
572 | 0x020 => [{ # CSa4 (D6)
|
---|
573 | Name => 'AFPointSel',
|
---|
574 | PrintConv => {
|
---|
575 | 1 => '105 Points',
|
---|
576 | 2 => '27 Points',
|
---|
577 | 3 => '15 Points',
|
---|
578 | },
|
---|
579 | %infoD6,
|
---|
580 | },{ # CSa4 (Z7_2)
|
---|
581 | Name => 'AFPointSel',
|
---|
582 | PrintConv => { 1 => 'Use All', 2 => 'Use Half' },
|
---|
583 | %infoZ72,
|
---|
584 | }],
|
---|
585 | 0x022 => { Name => 'AFActivation', PrintConv => { 1 => 'Shutter/AF-On', 2 => 'AF-On Only' } }, # CSa6-a (D6/Z7_2) (missing enable/disable out of focus release) # (D6)
|
---|
586 | 0x023 => { Name => 'FocusPointWrap', PrintConv => { 1 => 'Wrap', 2 => 'No Wrap' } }, # CSa16 (D6), CSa8 (Z7_2)
|
---|
587 | 0x025 => { # CSa17-a (D6), CSa9-a (Z7_2)
|
---|
588 | Name => 'ManualFocusPointIllumination',
|
---|
589 | PrintConv => {
|
---|
590 | 1 => 'On',
|
---|
591 | 2 => 'On During Focus Point Selection Only',
|
---|
592 | },
|
---|
593 | },
|
---|
594 | 0x026 => { Name => 'AF-AssistIlluminator', PrintConv => \%onOff }, # CSa11 (Z7_2)
|
---|
595 | # 0x027 => { Name => 'ManualFocusRingInAFMode', PrintConv => \%onOff }, # CSa18 (D6,Z7_2) capability documented in manual, but visibility (& ability to test) requires a compatible lens
|
---|
596 | 0x029 => { Name => 'ISOStepSize', PrintConv => \%thirdHalfFull }, # CSb1 (D6)
|
---|
597 | 0x02a => { Name => 'ExposureControlStepSize', PrintConv => \%thirdHalfFull }, # CSb2 (D6), CSb1 (Z7_2)
|
---|
598 | 0x02b => { # CSb4 (D6), CSb2 (Z7_2)
|
---|
599 | Name => 'EasyExposureCompensation',
|
---|
600 | PrintConv => {
|
---|
601 | 1 => 'On (auto reset)',
|
---|
602 | 2 => 'On',
|
---|
603 | 3 => 'Off',
|
---|
604 | },
|
---|
605 | },
|
---|
606 | 0x02c => { Name => 'MatrixMetering', PrintConv => { 1 => 'Face Detection On', 2 => 'Face Detection Off' } }, # CSb5 (D6)
|
---|
607 | 0x02d => [{ # CSb6 (D6)
|
---|
608 | Name => 'CenterWeightedAreaSize',
|
---|
609 | PrintConv => {
|
---|
610 | 1 => '8 mm',
|
---|
611 | 2 => '12 mm',
|
---|
612 | 3 => '15 mm',
|
---|
613 | 4 => '20 mm',
|
---|
614 | 5 => 'Average',
|
---|
615 | },
|
---|
616 | %infoD6
|
---|
617 | },{ # CSb3 (Z7_2)
|
---|
618 | Name => 'CenterWeightedAreaSize',
|
---|
619 | PrintConv => { 1 => '12 mm', 2 => 'Average' },
|
---|
620 | %infoZ72,
|
---|
621 | }],
|
---|
622 | 0x02f => { # CSb7-a (D6), CSb4-a (Z7_2)
|
---|
623 | Name => 'FineTuneOptMatrixMetering',
|
---|
624 | ValueConv => '($val - 7) / 6',
|
---|
625 | ValueConvInv => 'int($val*6+7)',
|
---|
626 | PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
---|
627 | PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
---|
628 | },
|
---|
629 | 0x030 => { # CSb7-b (D6), CSb4-b (Z7_2)
|
---|
630 | Name => 'FineTuneOptCenterWeighted',
|
---|
631 | ValueConv => '($val - 7) / 6',
|
---|
632 | ValueConvInv => 'int($val*6+7)',
|
---|
633 | PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
---|
634 | PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
---|
635 | },
|
---|
636 | 0x031 => { # CSb7-c (D6), CSb4-c (Z7_2)
|
---|
637 | Name => 'FineTuneOptSpotMetering',
|
---|
638 | ValueConv => '($val - 7) / 6',
|
---|
639 | ValueConvInv => 'int($val*6+7)',
|
---|
640 | PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
---|
641 | PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
---|
642 | },
|
---|
643 | 0x032 => { # CSb7-d (D6), CSb4-d (Z7_2)
|
---|
644 | Name => 'FineTuneOptHighlightWeighted',
|
---|
645 | ValueConv => '($val - 7) / 6',
|
---|
646 | ValueConvInv => 'int($val*6+7)',
|
---|
647 | PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
---|
648 | PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
---|
649 | },
|
---|
650 | 0x033 => { # CSc1 (D6), CSc1 (Z7_2)
|
---|
651 | Name => 'ShutterReleaseButtonAE-L',
|
---|
652 | PrintConv => {
|
---|
653 | 1 => 'On (Half Press)',
|
---|
654 | 2 => 'On (Burst Mode)',
|
---|
655 | 3 => 'Off',
|
---|
656 | },
|
---|
657 | },
|
---|
658 | 0x034 => [{ # CSc2 (D6)
|
---|
659 | Name => 'StandbyMonitorOffTime',
|
---|
660 | PrintConv => {
|
---|
661 | 1 => '4 s',
|
---|
662 | 2 => '6 s',
|
---|
663 | 3 => '10 s',
|
---|
664 | 4 => '30 s',
|
---|
665 | 5 => '1 min',
|
---|
666 | 6 => '5 min',
|
---|
667 | 7 => '10 min',
|
---|
668 | 8 => '30 min',
|
---|
669 | 9 => 'No Limit',
|
---|
670 | },
|
---|
671 | %infoD6,
|
---|
672 | },{ # CSc4-d (Z7_2)
|
---|
673 | Name => 'StandbyMonitorOffTime',
|
---|
674 | PrintConv => {
|
---|
675 | 1 => '10 s',
|
---|
676 | 2 => '20 s',
|
---|
677 | 3 => '30 s',
|
---|
678 | 4 => '1 min',
|
---|
679 | 5 => '5 min',
|
---|
680 | 6 => '10 min',
|
---|
681 | 7 => '30 min',
|
---|
682 | 8 => 'No Limit',
|
---|
683 | },
|
---|
684 | %infoZ72,
|
---|
685 | }],
|
---|
686 | 0x035 => { # CSc3-a (D6), CSc2-a (Z7_2)
|
---|
687 | Name => 'SelfTimerTime',
|
---|
688 | PrintConv => {
|
---|
689 | 1 => '2 s',
|
---|
690 | 2 => '5 s',
|
---|
691 | 3 => '10 s',
|
---|
692 | 4 => '20 s',
|
---|
693 | },
|
---|
694 | },
|
---|
695 | 0x036 => { Name => 'SelfTimerShotCount', ValueConv => '10 - $val', ValueConvInv => '10 + $val' }, # CSc3-b (D6), CSc2-b (Z7_2)
|
---|
696 | 0x037 => { # CSc3-c (D6), CSc2-c (Z7_2)
|
---|
697 | Name => 'SelfTimerShotInterval',
|
---|
698 | PrintConv => {
|
---|
699 | 1 => '0.5 s',
|
---|
700 | 2 => '1 s',
|
---|
701 | 3 => '2 s',
|
---|
702 | 4 => '3 s',
|
---|
703 | },
|
---|
704 | },
|
---|
705 | 0x038 => { Name => 'PlaybackMonitorOffTime', PrintConv => \%times4s10s20s1m5m20m }, # CSc4-a (D6), CSc3-a (Z7_2)
|
---|
706 | 0x039 => { Name => 'MenuMonitorOffTime', PrintConv => \%times4s10s20s1m5m20m }, # CSc4-b (D6), CSc3-b (Z7_2)
|
---|
707 | 0x03a => { Name => 'ShootingInfoMonitorOffTime',PrintConv => \%times4s10s20s1m5m20m }, # CSc4-c (D6)
|
---|
708 | 0x03b => { # CSc4-d (D6), CSc3-c (Z7_2)
|
---|
709 | Name => 'ImageReviewMonitorOffTime',
|
---|
710 | PrintConv => {
|
---|
711 | 1 => '2 s',
|
---|
712 | 2 => '4 s',
|
---|
713 | 3 => '10 s',
|
---|
714 | 4 => '20 s',
|
---|
715 | 5 => '1 min',
|
---|
716 | 6 => '5 min',
|
---|
717 | 7 => '10 min',
|
---|
718 | },
|
---|
719 | },
|
---|
720 | 0x03c => { # CSc4-e (D6)
|
---|
721 | Name => 'LiveViewMonitorOffTime',
|
---|
722 | PrintConv => {
|
---|
723 | 1 => '5 min',
|
---|
724 | 2 => '10 min',
|
---|
725 | 3 => '15 min',
|
---|
726 | 4 => '20 min',
|
---|
727 | 5 => '30 min',
|
---|
728 | 6 => 'No Limit',
|
---|
729 | },
|
---|
730 | },
|
---|
731 | 0x03e => { Name => 'CLModeShootingSpeed', ValueConv => '6 - $val', ValueConvInv => '6 + $val', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1 (Z7_2)
|
---|
732 | 0x03f => { Name => 'MaxContinuousRelease' }, # CSd2 # values: 1-200 # (D6/Z7_2)
|
---|
733 | 0x040 => { # CSd5 (D6), CSd4 (Z7_2)
|
---|
734 | Name => 'ExposureDelayMode',
|
---|
735 | PrintConv => {
|
---|
736 | 1 => '3 s',
|
---|
737 | 2 => '2 s',
|
---|
738 | 3 => '1 s',
|
---|
739 | 4 => '0.5 s',
|
---|
740 | 5 => '0.2 s',
|
---|
741 | 6 => 'Off',
|
---|
742 | },
|
---|
743 | },
|
---|
744 | 0x041 => { Name => 'ElectronicFront-CurtainShutter',PrintConv => \%onOff }, # CSd6 (D6)
|
---|
745 | 0x042 => { Name => 'FileNumberSequence', PrintConv => \%onOff }, # CSd9 (D6), CSd8 (Z7_2)
|
---|
746 | 0x043 => { Name => 'FramingGridDisplay', PrintConv => \%onOff }, # CSd11 (D6), CSd10 (Z7_2), new tag with implementation of NikonSettings # (Z7_2)
|
---|
747 | 0x045 => { Name => 'LCDIllumination', PrintConv => \%onOff }, # CSd13 (D6)
|
---|
748 | 0x046 => { Name => 'OpticalVR', PrintConv => \%onOff }, # CSd15 (D6)
|
---|
749 | 0x047 => [{ # CSe1 (D6)
|
---|
750 | Name => 'FlashSyncSpeed',
|
---|
751 | PrintConv => {
|
---|
752 | 1 => '1/250 s (auto FP)',
|
---|
753 | 2 => '1/250 s',
|
---|
754 | 3 => '1/200 s',
|
---|
755 | 4 => '1/160 s',
|
---|
756 | 5 => '1/125 s',
|
---|
757 | 6 => '1/100 s',
|
---|
758 | 7 => '1/80 s',
|
---|
759 | 8 => '1/60 s',
|
---|
760 | },
|
---|
761 | %infoD6,
|
---|
762 | },{ # CSe1 (Z7_2)
|
---|
763 | Name => 'FlashSyncSpeed',
|
---|
764 | PrintConv => {
|
---|
765 | 1 => '1/200 s (auto FP)',
|
---|
766 | 2 => '1/200 s',
|
---|
767 | 3 => '1/160 s',
|
---|
768 | 4 => '1/125 s',
|
---|
769 | 5 => '1/100 s',
|
---|
770 | 6 => '1/80 s',
|
---|
771 | 7 => '1/60 s',
|
---|
772 | },
|
---|
773 | %infoZ72,
|
---|
774 | }],
|
---|
775 | 0x048 => { # CSe2 (D6/Z7_2)
|
---|
776 | Name => 'FlashShutterSpeed',
|
---|
777 | PrintConv => {
|
---|
778 | 1 => '1/60 s',
|
---|
779 | 2 => '1/30 s',
|
---|
780 | 3 => '1/15 s',
|
---|
781 | 4 => '1/8 s',
|
---|
782 | 5 => '1/4 s',
|
---|
783 | 6 => '1/2 s',
|
---|
784 | 7 => '1 s',
|
---|
785 | 8 => '2 s',
|
---|
786 | },
|
---|
787 | },
|
---|
788 | 0x049 => { Name => 'FlashExposureCompArea', PrintConv => { 1 => 'Entire Frame', 2 => 'Background Only' } }, # CSe3 (D6/Z7_2)
|
---|
789 | 0x04a => { # CSe4 (D6/Z7_2)
|
---|
790 | Name => 'AutoFlashISOSensitivity',
|
---|
791 | PrintConv => {
|
---|
792 | 1 => 'Subject and Background',
|
---|
793 | 2 => 'Subject Only',
|
---|
794 | },
|
---|
795 | },
|
---|
796 | 0x051 => { # CSf3-l (D6)
|
---|
797 | Name => 'AssignBktButton',
|
---|
798 | PrintConv => {
|
---|
799 | 1 => 'Auto Bracketing',
|
---|
800 | 2 => 'Multiple Exposure',
|
---|
801 | 3 => 'HDR (high dynamic range)',
|
---|
802 | 4 => 'None',
|
---|
803 | },
|
---|
804 | },
|
---|
805 | 0x052 => [{ # CSf3-m (D6)
|
---|
806 | Name => 'AssignMovieRecordButton',
|
---|
807 | PrintConv => {
|
---|
808 | 1 => 'Voice Memo',
|
---|
809 | 2 => 'Photo Shooting Bank',
|
---|
810 | 3 => 'Exposure Mode',
|
---|
811 | 4 => 'AF Mode/AF Area Mode',
|
---|
812 | 5 => 'Image Area',
|
---|
813 | 6 => 'Shutter/Aperture Lock',
|
---|
814 | 7 => 'None',
|
---|
815 | },
|
---|
816 | %infoD6,
|
---|
817 | },{ # CSf2-f (Z7_2)
|
---|
818 | Name => 'AssignMovieRecordButton',
|
---|
819 | PrintConv => {
|
---|
820 | 1 => 'AE Lock (hold)',
|
---|
821 | 2 => 'AE Lock (reset on release)',
|
---|
822 | 3 => 'Preview',
|
---|
823 | 4 => '+NEF(RAW)',
|
---|
824 | 5 => 'LiveView Info Display On/Off',
|
---|
825 | 6 => 'Grid Display',
|
---|
826 | 7 => 'Zoom (Low)',
|
---|
827 | 8 => 'Zoom (1:1)',
|
---|
828 | 9 => 'Zoom (High)',
|
---|
829 | 10 => 'My Menu',
|
---|
830 | 11 => 'My Menu Top Item',
|
---|
831 | 12 => 'Image Area',
|
---|
832 | 13 => 'Image Quality',
|
---|
833 | 14 => 'White Balance',
|
---|
834 | 15 => 'Picture Control',
|
---|
835 | 16 => 'Active-D Lighting',
|
---|
836 | 17 => 'Metering',
|
---|
837 | 18 => 'Flash Mode',
|
---|
838 | 19 => 'Focus Mode',
|
---|
839 | 20 => 'Auto Bracketing',
|
---|
840 | 21 => 'Multiple Exposure',
|
---|
841 | 22 => 'HDR',
|
---|
842 | 23 => 'Exposure Delay Mode',
|
---|
843 | 24 => 'Shutter/Aperture Lock',
|
---|
844 | 25 => 'Non-CPU Lens',
|
---|
845 | 26 => 'None',
|
---|
846 | },
|
---|
847 | %infoZ72,
|
---|
848 | }],
|
---|
849 | 0x053 => [{ # CSf4-a (D6)
|
---|
850 | Name => 'MultiSelectorShootMode',
|
---|
851 | PrintConv => {
|
---|
852 | 1 => 'Select Center Focus Point',
|
---|
853 | 2 => 'Preset Focus Point - Press To Recall',
|
---|
854 | 3 => 'Preset Focus Point - Hold To Recall',
|
---|
855 | 4 => 'None',
|
---|
856 | },
|
---|
857 | %infoD6,
|
---|
858 | },{ # CSf3-a (Z7_2) also called the OK button on this camera
|
---|
859 | Name => 'MultiSelectorShootMode',
|
---|
860 | PrintConv => {
|
---|
861 | 1 => 'Select Center Focus Point',
|
---|
862 | 2 => 'Zoom (Low)',
|
---|
863 | 3 => 'Zoom (1:1)',
|
---|
864 | 4 => 'Zoom (High)',
|
---|
865 | 5 => 'None',
|
---|
866 | },
|
---|
867 | %infoZ72,
|
---|
868 | }],
|
---|
869 | 0x054 => [{ # CSf4-c (D6)
|
---|
870 | Name => 'MultiSelectorPlaybackMode',
|
---|
871 | PrintConv => {
|
---|
872 | 1 => 'Filtered Playback',
|
---|
873 | 2 => 'View Histograms',
|
---|
874 | 3 => 'Zoom (Low)',
|
---|
875 | 4 => 'Zoom (1:1)',
|
---|
876 | 5 => 'Zoom (High)',
|
---|
877 | 6 => 'Choose Folder',
|
---|
878 | },
|
---|
879 | %infoD6,
|
---|
880 | },{ # CSf3-b (Z7_2) # these decodes are correct. However, a new camera (or one following a 'reset all settings') will report Zoom (Low), despite the camera exhibiting the expected behavior (Zoom 1:1). Any change to CSf3-b corrects the reporting.
|
---|
881 | Name => 'MultiSelectorPlaybackMode',
|
---|
882 | PrintConv => {
|
---|
883 | 1 => 'Thumbnail On/Off',
|
---|
884 | 2 => 'View Histograms',
|
---|
885 | 3 => 'Zoom (Low)',
|
---|
886 | 4 => 'Zoom (1:1)',
|
---|
887 | 5 => 'Zoom (High)',
|
---|
888 | 6 => 'Choose Folder',
|
---|
889 | },
|
---|
890 | %infoZ72,
|
---|
891 | }],
|
---|
892 | 0x056 => { # CSf4-b (D6)
|
---|
893 | Name => 'MultiSelectorLiveView',
|
---|
894 | PrintConv => {
|
---|
895 | 1 => 'Select Center Focus Point',
|
---|
896 | 2 => 'Zoom (Low)',
|
---|
897 | 3 => 'Zoom (1:1)',
|
---|
898 | 4 => 'Zoom (High)',
|
---|
899 | 5 => 'None',
|
---|
900 | },
|
---|
901 | },
|
---|
902 | 0x058 => { # CSf6-a-1 and CSf6-a-2 (D6), CSf5-a-1 and CSf5-a-2 (Z7_2), Previous cameras reported these 2 in a single tag (CmdDialsReverseRotation). Blend the separate settings together to match extant tag name and values
|
---|
903 | Name => 'CmdDialsReverseRotExposureComp',
|
---|
904 | RawConv => '$$self{CmdDialsReverseRotExposureComp} = $val',
|
---|
905 | Unknown => 1,
|
---|
906 | },
|
---|
907 | 0x059 => { # CSf6-b-1 and CSf6-b-2 (D6), CSf5-b-1 and CSf5-b-2 (Z7_2), Previous cameras reported these 2 in a single tag (CmdDialsChangeMainSub). Blend the separate settings together to match extant tag name and values
|
---|
908 | Name => 'CmdDialsChangeMainSubExposure',
|
---|
909 | RawConv => '$$self{CmdDialsChangeMainSubExposure} = $val',
|
---|
910 | Unknown => 1,
|
---|
911 | },
|
---|
912 | 0x05a => [{ # CSf6-b-1 and CSf6-b-2 (D6), CSf5-b-1 and CSf5-b-2 (Z7_2), (continued from above)
|
---|
913 | Name => 'CmdDialsChangeMainSub',
|
---|
914 | Condition => '$$self{CmdDialsChangeMainSubExposure} and $$self{CmdDialsChangeMainSubExposure} == 1',
|
---|
915 | PrintConv => {
|
---|
916 | 1 => 'Autofocus On, Exposure On',
|
---|
917 | 2 => 'Autofocus Off, Exposure On',
|
---|
918 | },
|
---|
919 | },{
|
---|
920 | Name => 'CmdDialsChangeMainSub',
|
---|
921 | Condition => '$$self{CmdDialsChangeMainSubExposure} and $$self{CmdDialsChangeMainSubExposure} == 2',
|
---|
922 | PrintConv => {
|
---|
923 | 1 => 'Autofocus On, Exposure On (Mode A)',
|
---|
924 | 2 => 'Autofocus Off, Exposure On (Mode A)',
|
---|
925 | },
|
---|
926 | },{
|
---|
927 | Name => 'CmdDialsChangeMainSub',
|
---|
928 | PrintConv => {
|
---|
929 | 1 => 'Autofocus On, Exposure Off',
|
---|
930 | 2 => 'Autofocus Off, Exposure Off',
|
---|
931 | },
|
---|
932 | }],
|
---|
933 | 0x05b => { Name => 'CmdDialsMenuAndPlayback', PrintConv => { 1 => 'On', 2 => 'On (Image Review Excluded)', 3 => 'Off' } }, # CSf5-c (D6), CSf5-c (Z7_2)
|
---|
934 | 0x05c => { # CSf6-d (D6), CSf5-d (Z7_2)
|
---|
935 | Name => 'SubDialFrameAdvance',
|
---|
936 | PrintConv => {
|
---|
937 | 1 => '10 Frames',
|
---|
938 | 2 => '50 Frames',
|
---|
939 | 3 => 'Rating',
|
---|
940 | 4 => 'Protect',
|
---|
941 | 5 => 'Stills Only',
|
---|
942 | 6 => 'Movies Only',
|
---|
943 | 7 => 'Folder',
|
---|
944 | },
|
---|
945 | },
|
---|
946 | 0x05d => { Name => 'ReleaseButtonToUseDial', PrintConv => \%yesNo }, # CSf8 (D6), CSf6 (Z7_2)
|
---|
947 | 0x05e => { Name => 'ReverseIndicators', PrintConv => { 1 => '+ 0 -', 2 => '- 0 +' } }, # CSf9 (D6), CSf7 (Z7_2)
|
---|
948 | 0x062 => { # CSg2-f (D6), CSg2-e (Z7_2)
|
---|
949 | Name => 'MovieShutterButton',
|
---|
950 | PrintConv => {
|
---|
951 | 1 => 'Take Photo',
|
---|
952 | 2 => 'Record Movies',
|
---|
953 | },
|
---|
954 | },
|
---|
955 | 0x063 => { # Settings menu # (D6,Z7_2)
|
---|
956 | Name => 'Language',
|
---|
957 | PrintConv => {
|
---|
958 | 5 => 'English',
|
---|
959 | 6 => 'Spanish',
|
---|
960 | 8 => 'French',
|
---|
961 | 15 => 'Portuguese (Br)',
|
---|
962 | },
|
---|
963 | },
|
---|
964 | 0x06c => [{
|
---|
965 | Name => 'ShootingInfoDisplay',
|
---|
966 | PrintConv => {
|
---|
967 | 1 => 'Auto',
|
---|
968 | 2 => 'Manual (dark on light)',
|
---|
969 | 3 => 'Manual (light on dark)',
|
---|
970 | },
|
---|
971 | %infoD6,
|
---|
972 | },{
|
---|
973 | Name => 'ShootingInfoDisplay',
|
---|
974 | PrintConv => {
|
---|
975 | 1 => 'Manual (dark on light)',
|
---|
976 | 2 => 'Manual (light on dark)',
|
---|
977 | },
|
---|
978 | %infoZ72,
|
---|
979 | }],
|
---|
980 | 0x074 => { Name => 'FlickAdvanceDirection', PrintConv => { 1 => 'Right to Left', 2 => 'Left to Right' } }, # CSf12-3 (D6)
|
---|
981 | 0x080 => [{
|
---|
982 | Name => 'RemoteFuncButton',
|
---|
983 | PrintConv => {
|
---|
984 | 1 => 'AF-On',
|
---|
985 | 2 => 'AF Lock Only',
|
---|
986 | 3 => 'AE Lock (reset on release)',
|
---|
987 | 4 => 'AE Lock Only',
|
---|
988 | 5 => 'AE/AF Lock',
|
---|
989 | 6 => 'FV Lock',
|
---|
990 | 7 => 'Flash Disable/Enable',
|
---|
991 | 8 => 'Preview',
|
---|
992 | 9 => '+NEF(RAW)',
|
---|
993 | 10 => 'LiveView Info Display On/Off',
|
---|
994 | 11 => 'Recall Shooting Functions',
|
---|
995 | 12 => 'None',
|
---|
996 | },
|
---|
997 | %infoD6,
|
---|
998 | },{
|
---|
999 | Name => 'RemoteFuncButton',
|
---|
1000 | PrintConv => {
|
---|
1001 | 1 => 'AF-On',
|
---|
1002 | 2 => 'AF Lock Only',
|
---|
1003 | 3 => 'AE Lock (reset on release)',
|
---|
1004 | 4 => 'AE Lock Only',
|
---|
1005 | 5 => 'AE/AF Lock',
|
---|
1006 | 6 => 'FV Lock',
|
---|
1007 | 7 => 'Flash Disable/Enable',
|
---|
1008 | 8 => 'Preview',
|
---|
1009 | 9 => '+NEF(RAW)',
|
---|
1010 | 10 => 'None',
|
---|
1011 | 11 => 'LiveView Info Display On/Off',
|
---|
1012 | },
|
---|
1013 | %infoZ72,
|
---|
1014 | }],
|
---|
1015 | 0x08b => [{ # CSf6-a-1 and CSf6-a-2 (D6), CSf5-a-1 and CSf5-a-2 (Z7_2), (continued from above)
|
---|
1016 | Name => 'CmdDialsReverseRotation',
|
---|
1017 | Condition => '$$self{CmdDialsReverseRotExposureComp} and $$self{CmdDialsReverseRotExposureComp} == 1',
|
---|
1018 | PrintConv => {
|
---|
1019 | 1 => 'No',
|
---|
1020 | 2 => 'Shutter Speed & Aperture',
|
---|
1021 | },
|
---|
1022 | },{
|
---|
1023 | Name => 'CmdDialsReverseRotation',
|
---|
1024 | PrintConv => {
|
---|
1025 | 1 => 'Exposure Compensation',
|
---|
1026 | 2 => 'Exposure Compensation, Shutter Speed & Aperture',
|
---|
1027 | },
|
---|
1028 | }],
|
---|
1029 | 0x08d => { # CSd10-b (D6), CSd11-b (Z7_2)
|
---|
1030 | Name => 'FocusPeakingHighlightColor',
|
---|
1031 | PrintConv => {
|
---|
1032 | 1 => 'Red',
|
---|
1033 | 2 => 'Yellow',
|
---|
1034 | 3 => 'Blue',
|
---|
1035 | 4 => 'White',
|
---|
1036 | },
|
---|
1037 | },
|
---|
1038 | 0x08e => { Name => 'ContinuousModeDisplay', PrintConv => \%onOff }, # CSd14 (D6), CSd12 (Z7_2)
|
---|
1039 | 0x08f => { Name => 'ShutterSpeedLock', PrintConv => \%onOff }, # CSf54-a (D6), CSf4-a (Z7_2)
|
---|
1040 | 0x090 => { Name => 'ApertureLock', PrintConv => \%onOff }, # CSf5-b (D6), CSf4-b (Z7_2 could not select)
|
---|
1041 | 0x091 => { # CSg4-b (D6), CSg6-b (Z7_2)
|
---|
1042 | Name => 'MovieHighlightDisplayThreshold',
|
---|
1043 | PrintConv => {
|
---|
1044 | 1 => '255',
|
---|
1045 | 2 => '248',
|
---|
1046 | 3 => '235',
|
---|
1047 | 4 => '224',
|
---|
1048 | 5 => '213',
|
---|
1049 | 6 => '202',
|
---|
1050 | 7 => '191',
|
---|
1051 | 8 => '180',
|
---|
1052 | },
|
---|
1053 | },
|
---|
1054 | 0x093 => { # CSa3-a (D6), CSa3 (Z7_2)
|
---|
1055 | Name => 'BlockShotAFResponse',
|
---|
1056 | PrintConv => {
|
---|
1057 | 1 => '1 (Quick)',
|
---|
1058 | 2 => '2',
|
---|
1059 | 3 => '3 (Normal)',
|
---|
1060 | 4 => '4',
|
---|
1061 | 5 => '5 (Delay)',
|
---|
1062 | },
|
---|
1063 | },
|
---|
1064 | 0x094 => { Name => 'SubjectMotion', PrintConv => { 1 => 'Erratic', 2 => 'Steady' } }, # CSa3-b (D6)
|
---|
1065 | 0x095 => { Name => 'Three-DTrackingFaceDetection', PrintConv => \%onOff }, # CSa8 (D6)
|
---|
1066 | 0x097 => [{ # CSa5 (D6)
|
---|
1067 | Name => 'StoreByOrientation',
|
---|
1068 | PrintConv => {
|
---|
1069 | 1 => 'Focus Point',
|
---|
1070 | 2 => 'Focus Point and AF-area mode',
|
---|
1071 | 3 => 'Off',
|
---|
1072 | },
|
---|
1073 | %infoD6,
|
---|
1074 | },{ # CSa5 (Z7_2)
|
---|
1075 | Name => 'StoreByOrientation',
|
---|
1076 | PrintConv => {
|
---|
1077 | 1 => 'Focus Point',
|
---|
1078 | 2 => 'Off',
|
---|
1079 | },
|
---|
1080 | %infoZ72,
|
---|
1081 | }],
|
---|
1082 | 0x099 => { Name => 'DynamicAreaAFAssist',PrintConv => \%onOff }, # CSa17-c (D6), CSa9-b (Z7_2)
|
---|
1083 | 0x09a => { Name => 'ExposureCompStepSize', PrintConv => \%thirdHalfFull }, # CSb3 (D6)
|
---|
1084 | 0x09b => { Name => 'SyncReleaseMode', PrintConv => { 1 => 'Sync', 2 => 'No Sync' } }, # CSd4 (D6), CSd3 (Z7_2)
|
---|
1085 | 0x09c => { Name => 'ModelingFlash', PrintConv => \%onOff }, # CSe6 (D6), CSe5 (Z7_2)
|
---|
1086 | 0x09d => { # CSe7 (D6), CSe6 (Z7_2)
|
---|
1087 | Name => 'AutoBracketModeM',
|
---|
1088 | PrintConv => {
|
---|
1089 | 1 => 'Flash/Speed',
|
---|
1090 | 2 => 'Flash/Speed/Aperture',
|
---|
1091 | 3 => 'Flash/Aperture',
|
---|
1092 | 4 => 'Flash Only',
|
---|
1093 | },
|
---|
1094 | },
|
---|
1095 | 0x09e => { Name => 'PreviewButton', PrintConv => \%previewButtonD6 }, # CSf3-a (D6)
|
---|
1096 | 0x0a0 => [{ # CSf3-b (D6)
|
---|
1097 | Name => 'Func1Button',
|
---|
1098 | PrintConv => \%previewButtonD6,
|
---|
1099 | %infoD6,
|
---|
1100 | },{ # CSf2-a (Z7_2)
|
---|
1101 | Name => 'Func1Button',
|
---|
1102 | PrintConv => \%funcButtonZ7m2,
|
---|
1103 | %infoZ72,
|
---|
1104 | }],
|
---|
1105 | 0x0a2 => [{ # CSf3-c (D6)
|
---|
1106 | Name => 'Func2Button',
|
---|
1107 | PrintConv => \%previewButtonD6,
|
---|
1108 | %infoD6,
|
---|
1109 | },{ # CSf2-b (Z7_2)
|
---|
1110 | Name => 'Func2Button',
|
---|
1111 | PrintConv => \%funcButtonZ7m2,
|
---|
1112 | %infoZ72,
|
---|
1113 | }],
|
---|
1114 | 0x0a3 => [{ # CSf3-f (D6)
|
---|
1115 | Name => 'AF-OnButton',
|
---|
1116 | PrintConv => {
|
---|
1117 | 1 => 'AF-AreaMode S',
|
---|
1118 | 2 => 'AF-AreaMode D9',
|
---|
1119 | 3 => 'AF-AreaMode D25',
|
---|
1120 | 4 => 'AF-AreaMode D49',
|
---|
1121 | 5 => 'AF-AreaMode D105',
|
---|
1122 | 6 => 'AF-AreaMode 3D',
|
---|
1123 | 7 => 'AF-AreaMode Group',
|
---|
1124 | 8 => 'AF-AreaMode Group C1',
|
---|
1125 | 9 => 'AF-AreaMode Group C2',
|
---|
1126 | 10 => 'AF-AreaMode Auto Area',
|
---|
1127 | 11 => 'AF-AreaMode + AF-On S',
|
---|
1128 | 12 => 'AF-AreaMode + AF-On D9',
|
---|
1129 | 13 => 'AF-AreaMode + AF-On D25',
|
---|
1130 | 14 => 'AF-AreaMode + AF-On D49',
|
---|
1131 | 15 => 'AF-AreaMode + AF-On D105',
|
---|
1132 | 16 => 'AF-AreaMode + AF-On 3D',
|
---|
1133 | 17 => 'AF-AreaMode + AF-On Group',
|
---|
1134 | 18 => 'AF-AreaMode + AF-On Group C1',
|
---|
1135 | 19 => 'AF-AreaMode + AF-On Group C2',
|
---|
1136 | 20 => 'AF-AreaMode + AF-On Auto Area',
|
---|
1137 | 21 => 'AF-On',
|
---|
1138 | 22 => 'AF Lock Only',
|
---|
1139 | 23 => 'AE Lock (hold)',
|
---|
1140 | 24 => 'AE/WB Lock (hold)',
|
---|
1141 | 25 => 'AE Lock (reset on release)',
|
---|
1142 | 26 => 'AE Lock Only',
|
---|
1143 | 27 => 'AE/AF Lock',
|
---|
1144 | 28 => 'Recall Shooting Functions',
|
---|
1145 | 29 => 'None',
|
---|
1146 | },
|
---|
1147 | %infoD6,
|
---|
1148 | },{ # CSf2-c (Z7_2)
|
---|
1149 | Name => 'AF-OnButton',
|
---|
1150 | PrintConv => {
|
---|
1151 | 1 => 'Center Focus Point',
|
---|
1152 | 2 => 'AF-On',
|
---|
1153 | 3 => 'AF Lock Only',
|
---|
1154 | 4 => 'AE Lock (hold)',
|
---|
1155 | 5 => 'AE Lock (reset on release)',
|
---|
1156 | 6 => 'AE Lock Only',
|
---|
1157 | 7 => 'AE/AF Lock',
|
---|
1158 | 8 => 'LiveView Info Display On/Off',
|
---|
1159 | 9 => 'Zoom (Low)',
|
---|
1160 | 10 => 'Zoom (1:1)',
|
---|
1161 | 11 => 'Zoom (High)',
|
---|
1162 | 12 => 'None'
|
---|
1163 | },
|
---|
1164 | %infoZ72,
|
---|
1165 | }],
|
---|
1166 | 0x0a4 => { Name => 'SubSelector', PrintConv => \%tagSubSelector }, # CSf3-g-1 # (D6), CSf2-d-1 # (Z7_2)
|
---|
1167 | 0x0a5 => [{ # CSf3-h (D6)
|
---|
1168 | Name => 'SubSelectorCenter',
|
---|
1169 | PrintConv => {
|
---|
1170 | 1 => 'Preset Focus Point - Press To Recall',
|
---|
1171 | 2 => 'Preset Focus Point - Hold To Recall',
|
---|
1172 | 3 => 'Center Focus Point',
|
---|
1173 | 4 => 'AF-AreaMode S',
|
---|
1174 | 5 => 'AF-AreaMode D9',
|
---|
1175 | 6 => 'AF-AreaMode D25',
|
---|
1176 | 7 => 'AF-AreaMode D49',
|
---|
1177 | 8 => 'AF-AreaMode D105',
|
---|
1178 | 9 => 'AF-AreaMode 3D',
|
---|
1179 | 10 => 'AF-AreaMode Group',
|
---|
1180 | 11 => 'AF-AreaMode Group C1',
|
---|
1181 | 12 => 'AF-AreaMode Group C2',
|
---|
1182 | 13 => 'AF-AreaMode Auto Area',
|
---|
1183 | 14 => 'AF-AreaMode + AF-On S',
|
---|
1184 | 15 => 'AF-AreaMode + AF-On D9',
|
---|
1185 | 16 => 'AF-AreaMode + AF-On D25',
|
---|
1186 | 17 => 'AF-AreaMode + AF-On D49',
|
---|
1187 | 18 => 'AF-AreaMode + AF-On D105',
|
---|
1188 | 19 => 'AF-AreaMode + AF-On 3D',
|
---|
1189 | 20 => 'AF-AreaMode + AF-On Group',
|
---|
1190 | 21 => 'AF-AreaMode + AF-On Group C1',
|
---|
1191 | 22 => 'AF-AreaMode + AF-On Group C2',
|
---|
1192 | 23 => 'AF-AreaMode + AF-On Auto Area',
|
---|
1193 | 24 => 'AF-On',
|
---|
1194 | 25 => 'AF Lock Only',
|
---|
1195 | 26 => 'AE Lock (hold)',
|
---|
1196 | 27 => 'AE/WB Lock (hold)',
|
---|
1197 | 28 => 'AE Lock (reset on release)',
|
---|
1198 | 29 => 'AE Lock Only',
|
---|
1199 | 30 => 'AE/AF Lock',
|
---|
1200 | 31 => 'FV Lock',
|
---|
1201 | 32 => 'Flash Disable/Enable',
|
---|
1202 | 33 => 'Preview',
|
---|
1203 | 34 => 'Recall Shooting Functions',
|
---|
1204 | 35 => 'Bracketing Burst',
|
---|
1205 | 36 => 'Synchronized Release (Master)',
|
---|
1206 | 37 => 'Synchronized Release (Remote)',
|
---|
1207 | 38 => 'None',
|
---|
1208 | },
|
---|
1209 | %infoD6,
|
---|
1210 | },{ # CSf2-e (Z7_2)
|
---|
1211 | Name => 'SubSelectorCenter',
|
---|
1212 | PrintConv => {
|
---|
1213 | 1 => 'Center Focus Point',
|
---|
1214 | 2 => 'AF-On',
|
---|
1215 | 3 => 'AF Lock Only',
|
---|
1216 | 4 => 'AE Lock (hold)',
|
---|
1217 | 5 => 'AE Lock (reset on release)',
|
---|
1218 | 6 => 'AE Lock Only',
|
---|
1219 | 7 => 'AE/AF Lock',
|
---|
1220 | 8 => 'FV Lock',
|
---|
1221 | 9 => 'Flash Disable/Enable',
|
---|
1222 | 10 => 'Preview',
|
---|
1223 | 11 => 'Matrix Metering',
|
---|
1224 | 12 => 'Center-weighted Metering',
|
---|
1225 | 13 => 'Spot Metering',
|
---|
1226 | 14 => 'Highlight-weighted Metering',
|
---|
1227 | 15 => 'Bracketing Burst',
|
---|
1228 | 16 => 'Synchronized Release (Master)',
|
---|
1229 | 17 => 'Synchronized Release (Remote)',
|
---|
1230 | 20 => '+NEF(RAW)',
|
---|
1231 | 21 => 'LiveView Info Display On/Off',
|
---|
1232 | 22 => 'Grid Display',
|
---|
1233 | 23 => 'Image Area',
|
---|
1234 | 24 => 'Non-CPU Lens',
|
---|
1235 | 25 => 'None',
|
---|
1236 | },
|
---|
1237 | %infoZ72,
|
---|
1238 | }],
|
---|
1239 | 0x0a7 => [{ # CSf3-n (D6)
|
---|
1240 | Name => 'LensFunc1Button',
|
---|
1241 | PrintConv => {
|
---|
1242 | 1 => 'Preset Focus Point - Press To Recall',
|
---|
1243 | 2 => 'Preset Focus Point - Hold To Recall',
|
---|
1244 | 3 => 'AF-AreaMode S',
|
---|
1245 | 4 => 'AF-AreaMode D9',
|
---|
1246 | 5 => 'AF-AreaMode D25',
|
---|
1247 | 6 => 'AF-AreaMode D49',
|
---|
1248 | 7 => 'AF-AreaMode D105',
|
---|
1249 | 8 => 'AF-AreaMode 3D',
|
---|
1250 | 9 => 'AF-AreaMode Group',
|
---|
1251 | 10 => 'AF-AreaMode Group C1',
|
---|
1252 | 11 => 'AF-AreaMode Group C2',
|
---|
1253 | 12 => 'AF-AreaMode Auto Area',
|
---|
1254 | 13 => 'AF-AreaMode + AF-On S',
|
---|
1255 | 14 => 'AF-AreaMode + AF-On D9',
|
---|
1256 | 15 => 'AF-AreaMode + AF-On D25',
|
---|
1257 | 16 => 'AF-AreaMode + AF-On D49',
|
---|
1258 | 17 => 'AF-AreaMode + AF-On D105',
|
---|
1259 | 18 => 'AF-AreaMode + AF-On 3D',
|
---|
1260 | 19 => 'AF-AreaMode + AF-On Group',
|
---|
1261 | 20 => 'AF-AreaMode + AF-On Group C1',
|
---|
1262 | 21 => 'AF-AreaMode + AF-On Group C2',
|
---|
1263 | 22 => 'AF-AreaMode + AF-On Auto Area',
|
---|
1264 | 23 => 'AF-On',
|
---|
1265 | 24 => 'AF Lock Only',
|
---|
1266 | 25 => 'AE Lock Only',
|
---|
1267 | 26 => 'AE/AF Lock',
|
---|
1268 | 27 => 'Flash Disable/Enable',
|
---|
1269 | 28 => 'Recall Shooting Functions',
|
---|
1270 | 29 => 'Synchronized Release (Master)',
|
---|
1271 | 30 => 'Synchronized Release (Remote)',
|
---|
1272 | },
|
---|
1273 | %infoD6,
|
---|
1274 | },{ # CSf2-g (Z7_2)
|
---|
1275 | Name => 'LensFunc1Button',
|
---|
1276 | PrintConv => \%lensFuncButtonZ7m2,
|
---|
1277 | %infoZ72,
|
---|
1278 | }],
|
---|
1279 | 0x0a8 => { Name => 'CmdDialsApertureSetting', PrintConv => { 1 => 'Sub-command Dial', 2 => 'Aperture Ring' } }, # CSf6-c (D6)
|
---|
1280 | 0x0a9 => { Name => 'MultiSelector', PrintConv => \%tagMultiSelector }, # CSf7 (D6)
|
---|
1281 | 0x0aa => { # CSf10 (D6)
|
---|
1282 | Name => 'LiveViewButtonOptions',
|
---|
1283 | PrintConv => {
|
---|
1284 | 1 => 'Enable',
|
---|
1285 | 2 => 'Enable (Standby Timer Active)',
|
---|
1286 | 3 => 'Disable',
|
---|
1287 | },
|
---|
1288 | },
|
---|
1289 | 0x0ab => { # CSf11 (D6)
|
---|
1290 | Name => 'LightSwitch',
|
---|
1291 | PrintConv => {
|
---|
1292 | 1 => 'LCD Backlight',
|
---|
1293 | 2 => 'LCD Backlight and Shooting Information',
|
---|
1294 | },
|
---|
1295 | },
|
---|
1296 | 0x0b1 => [{ # CSg2-a (D6)
|
---|
1297 | Name => 'MoviePreviewButton',
|
---|
1298 | PrintConv => {
|
---|
1299 | 1 => 'Power Aperture (Open)',
|
---|
1300 | 2 => 'Exposure Compensation',
|
---|
1301 | 3 => 'Grid Display',
|
---|
1302 | 4 => 'Zoom (Low)',
|
---|
1303 | 5 => 'Zoom (1:1)',
|
---|
1304 | 6 => 'Zoom (High)',
|
---|
1305 | 7 => 'Image Area',
|
---|
1306 | 8 => 'Microphone Sensitivity',
|
---|
1307 | 9 => 'None',
|
---|
1308 | },
|
---|
1309 | %infoD6,
|
---|
1310 | },{ # CSg2-a (Z7_2)
|
---|
1311 | Name => 'MovieFunc1Button',
|
---|
1312 | PrintConv => {
|
---|
1313 | 1 => 'Power Aperture (Open)',
|
---|
1314 | 2 => 'Exposure Compensation',
|
---|
1315 | 3 => 'Subject Tracking',
|
---|
1316 | 4 => 'LiveView Info Display On/Off',
|
---|
1317 | 5 => 'Grid Display',
|
---|
1318 | 6 => 'Zoom (Low)',
|
---|
1319 | 7 => 'Zoom (1:1)',
|
---|
1320 | 8 => 'Zoom (High)',
|
---|
1321 | 9 => 'Protect',
|
---|
1322 | 10 => 'Image Area',
|
---|
1323 | 11 => 'White Balance',
|
---|
1324 | 12 => 'Picture Control',
|
---|
1325 | 13 => 'Active-D Lighting',
|
---|
1326 | 14 => 'Metering',
|
---|
1327 | 15 => 'Focus Mode',
|
---|
1328 | 16 => 'Microphone Sensitivity',
|
---|
1329 | 17 => 'Focus Peaking',
|
---|
1330 | 18 => 'Rating (None)',
|
---|
1331 | 19 => 'Rating (5)',
|
---|
1332 | 20 => 'Rating (4)',
|
---|
1333 | 21 => 'Rating (3)',
|
---|
1334 | 22 => 'Rating (2)',
|
---|
1335 | 23 => 'Rating (1)', # no mapping for 24 on the Z7_2. Possibly intended for Rating = 'Candidate for Deletion'?
|
---|
1336 | 25 => 'None',
|
---|
1337 | },
|
---|
1338 | %infoZ72,
|
---|
1339 | }],
|
---|
1340 | 0x0b3 => [{ # CSg2-b (D6)
|
---|
1341 | Name => 'MovieFunc1Button',
|
---|
1342 | PrintConv => {
|
---|
1343 | 1 => 'Power Aperture (Close)',
|
---|
1344 | 2 => 'Exposure Compensation',
|
---|
1345 | 3 => 'Grid Display',
|
---|
1346 | 4 => 'Zoom (Low)',
|
---|
1347 | 5 => 'Zoom (1:1)',
|
---|
1348 | 6 => 'Zoom (High)',
|
---|
1349 | 7 => 'Image Area',
|
---|
1350 | 8 => 'Microphone Sensitivity',
|
---|
1351 | 9 => 'None',
|
---|
1352 | },
|
---|
1353 | %infoD6,
|
---|
1354 | },{ # CSg2-b (Z7_2)
|
---|
1355 | Name => 'MovieFunc2Button',
|
---|
1356 | PrintConv => { # TODO: simplify Func1 and Func2 movies buttons - identical except for the 1st entry
|
---|
1357 | 1 => 'Power Aperture (Close)',
|
---|
1358 | 2 => 'Exposure Compensation',
|
---|
1359 | 3 => 'Subject Tracking',
|
---|
1360 | 4 => 'LiveView Info Display On/Off',
|
---|
1361 | 5 => 'Grid Display',
|
---|
1362 | 6 => 'Zoom (Low)',
|
---|
1363 | 7 => 'Zoom (1:1)',
|
---|
1364 | 8 => 'Zoom (High)',
|
---|
1365 | 9 => 'Protect',
|
---|
1366 | 10 => 'Image Area',
|
---|
1367 | 11 => 'White Balance',
|
---|
1368 | 12 => 'Picture Control',
|
---|
1369 | 13 => 'Active-D Lighting',
|
---|
1370 | 14 => 'Metering',
|
---|
1371 | 15 => 'Focus Mode',
|
---|
1372 | 16 => 'Microphone Sensitivity',
|
---|
1373 | 17 => 'Focus Peaking',
|
---|
1374 | 18 => 'Rating (None)',
|
---|
1375 | 19 => 'Rating (5)',
|
---|
1376 | 20 => 'Rating (4)',
|
---|
1377 | 21 => 'Rating (3)',
|
---|
1378 | 22 => 'Rating (2)',
|
---|
1379 | 23 => 'Rating (1)', # no mapping for 24 on the Z7_2. Possibly intended for Rating = 'Candidate for Deletion'?
|
---|
1380 | 25 => 'None',
|
---|
1381 | },
|
---|
1382 | %infoZ72,
|
---|
1383 | }],
|
---|
1384 | 0x0b5 => { # CSg2-c (D6)
|
---|
1385 | Name => 'MovieFunc2Button',
|
---|
1386 | PrintConv => {
|
---|
1387 | 1 => 'Grid Display',
|
---|
1388 | 2 => 'Zoom (Low)',
|
---|
1389 | 3 => 'Zoom (1:1)',
|
---|
1390 | 4 => 'Zoom (High)',
|
---|
1391 | 5 => 'Image Area',
|
---|
1392 | 6 => 'Microphone Sensitivity',
|
---|
1393 | 7 => 'None',
|
---|
1394 | },
|
---|
1395 | },
|
---|
1396 | 0x0b6 => [{ # CSg2-e (D6)
|
---|
1397 | Name => 'AssignMovieSubselector',
|
---|
1398 | PrintConv => {
|
---|
1399 | 1 => 'Center Focus Point',
|
---|
1400 | 2 => 'AF Lock Only',
|
---|
1401 | 3 => 'AE Lock (hold)',
|
---|
1402 | 4 => 'AE/WB Lock (hold)',
|
---|
1403 | 5 => 'AE Lock Only',
|
---|
1404 | 6 => 'AE/AF Lock',
|
---|
1405 | 7 => 'Zoom (Low)',
|
---|
1406 | 8 => 'Zoom (1:1)',
|
---|
1407 | 9 => 'Zoom (High)',
|
---|
1408 | 10 => 'Record Movies',
|
---|
1409 | 11 => 'None',
|
---|
1410 | },
|
---|
1411 | %infoD6,
|
---|
1412 | },{ # CSg2-d (Z7_2)
|
---|
1413 | Name => 'AssignMovieSubselector',
|
---|
1414 | PrintConv => {
|
---|
1415 | 1 => 'Center Focus Point',
|
---|
1416 | 2 => 'AF Lock Only',
|
---|
1417 | 3 => 'AE Lock (hold)',
|
---|
1418 | 4 => 'AE Lock Only',
|
---|
1419 | 5 => 'AE/AF Lock',
|
---|
1420 | 6 => 'LiveView Info Display On/Off',
|
---|
1421 | 7 => 'Grid Display',
|
---|
1422 | 8 => 'Zoom (Low)',
|
---|
1423 | 9 => 'Zoom (1:1)',
|
---|
1424 | 10 => 'Zoom (High)',
|
---|
1425 | 11 => 'Record Movies',
|
---|
1426 | 12 => 'Image Area',
|
---|
1427 | 13 => 'None',
|
---|
1428 | },
|
---|
1429 | %infoZ72,
|
---|
1430 | }],
|
---|
1431 | 0x0b8 => { Name => 'LimitAFAreaModeSelD9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-a (D6)
|
---|
1432 | 0x0b9 => { Name => 'LimitAFAreaModeSelD25', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-b (D6)
|
---|
1433 | 0x0bc => { Name => 'LimitAFAreaModeSel3D', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-e (D6)
|
---|
1434 | 0x0bd => { Name => 'LimitAFAreaModeSelGroup', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-f (D6)
|
---|
1435 | 0x0be => { Name => 'LimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-i (D6), CSa7-g (Z7_2)
|
---|
1436 | # 0x0bf => { Name => 'LimitSelectableImageArea30x20', PrintConv => \%limitNolimit }, # CSd8-1 (D6) further investigation & testing of CSd8-1 and CSd8-2 required. The other CSd8 tags are fine.
|
---|
1437 | # 0x0c0 => { Name => 'LimitSelectableImageAreaDX', PrintConv => \%limitNolimit }, # CSd8-2 (D6) further investigation & testing of CSd8-1 and CSd8-2 required. The other CSd8 tags are fine.
|
---|
1438 | 0x0c1 => { Name => 'LimitSelectableImageArea5To4', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd8-3 (D6)
|
---|
1439 | 0x0c2 => { Name => 'LimitSelectableImageArea1To1', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd8-4 (D6)
|
---|
1440 | # 0x0d3 => CSf3-g-2 (D6), CSf2-d-2 (Z7_2) SelectorPlaybackRole 'Scroll' and 'Display Next/Previous' (skipped to reduce volume of output)
|
---|
1441 | 0x0d4 => { Name => 'PhotoShootingMenuBank', PrintConv => \%menuBank }, # (D6)
|
---|
1442 | 0x0d5 => { Name => 'CustomSettingsBank', PrintConv => \%menuBank }, # (D6)
|
---|
1443 | 0x0d6 => { Name => 'LimitAF-AreaModeSelPinpoint', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-a (Z7_2)
|
---|
1444 | 0x0d7 => { Name => 'LimitAF-AreaModeSelDynamic', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-b (Z7_2)
|
---|
1445 | 0x0d8 => { Name => 'LimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-c (Z7_2)
|
---|
1446 | 0x0d9 => { Name => 'LimitAF-AreaModeSelWideAF_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-d (Z7_2)
|
---|
1447 | 0x0da => { Name => 'LowLightAF', PrintConv => \%onOff }, # CSa10 (Z7_2)
|
---|
1448 | 0x0db => { Name => 'LimitSelectableImageAreaDX', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd7-a (Z7_2)
|
---|
1449 | 0x0dc => { Name => 'LimitSelectableImageArea5To4', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd7-b (Z7_2)
|
---|
1450 | 0x0dd => { Name => 'LimitSelectableImageArea1To1', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd7-c (Z7_2)
|
---|
1451 | 0x0de => { Name => 'LimitSelectableImageArea16To9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd7-d (Z7_2)
|
---|
1452 | 0x0df => { Name => 'ApplySettingsToLiveView', PrintConv => \%onOff }, # CSd9 # new tag with Z7_2 # (Z7_2)
|
---|
1453 | 0x0e0 => { # CSd10-a (D6), CSd11-a (Z7_2)
|
---|
1454 | Name => 'FocusPeakingLevel',
|
---|
1455 | PrintConv => {
|
---|
1456 | 1 => 'High Sensitivity',
|
---|
1457 | 2 => 'Standard Sensitivity',
|
---|
1458 | 3 => 'Low Sensitivity',
|
---|
1459 | 4 => 'Off',
|
---|
1460 | },
|
---|
1461 | },
|
---|
1462 | 0x0e9 => { # CSf2-i # need to confirm with a Z series lens # (Z7_2)
|
---|
1463 | Name => 'LensControlRing',
|
---|
1464 | PrintConv => {
|
---|
1465 | 1 => 'Focus (M/A)',
|
---|
1466 | 2 => 'Aperture',
|
---|
1467 | 3 => 'Exposure Compensation',
|
---|
1468 | 4 => 'ISO Sensitivity',
|
---|
1469 | 5 => 'None (Disabled)',
|
---|
1470 | },
|
---|
1471 | },
|
---|
1472 | # 0x0eb MovieLensControlRing ? # (Z7_2)
|
---|
1473 | # 0x0ec # (Z7_2)
|
---|
1474 | 0x0ed => [{ # CSg3 (D6)
|
---|
1475 | Name => 'MovieMultiSelector',
|
---|
1476 | PrintConv => {
|
---|
1477 | 1 => 'Center Focus Point',
|
---|
1478 | 2 => 'Zoom (Low)',
|
---|
1479 | 3 => 'Zoom (1:1)',
|
---|
1480 | 4 => 'Zoom (High)',
|
---|
1481 | 5 => 'Record Movies',
|
---|
1482 | 6 => 'None',
|
---|
1483 | },
|
---|
1484 | %infoD6,
|
---|
1485 | },{ # labels Ok button on camera # (Z7_2)
|
---|
1486 | Name => 'MovieMultiSelector',
|
---|
1487 | PrintConv => { # Z7 has codes for both OK and MultiSelector - although only the OK value can be changed. [The multiselector served as the OK button on these cameras].
|
---|
1488 | 1 => 'Center Focus Point',
|
---|
1489 | 2 => 'Zoom (Low)',
|
---|
1490 | 3 => 'Zoom (1:1)',
|
---|
1491 | 4 => 'Zoom (High)',
|
---|
1492 | 5 => 'Record Movies',
|
---|
1493 | 6 => 'None',
|
---|
1494 | },
|
---|
1495 | }],
|
---|
1496 | 0x0ee => { Name => 'MovieAFSpeed', ValueConv => '$val - 6', ValueConvInv => '$val + 6' }, # CSg4-a (Z7_2)
|
---|
1497 | 0x0ef => { # CSg4-b (Z7_2)
|
---|
1498 | Name => 'MovieAFSpeedApply',
|
---|
1499 | PrintConv => {
|
---|
1500 | 1 => 'Always',
|
---|
1501 | 2 => 'Only During Recording',
|
---|
1502 | },
|
---|
1503 | },
|
---|
1504 | 0x0f0 => { # CSg5 (Z7_2)
|
---|
1505 | Name => 'MovieAFTrackingSensitivity',
|
---|
1506 | PrintConv => {
|
---|
1507 | 1 => '1 (High)',
|
---|
1508 | 2 => '2',
|
---|
1509 | 3 => '3',
|
---|
1510 | 4 => '4 (Normal)',
|
---|
1511 | 5 => '5',
|
---|
1512 | 6 => '6',
|
---|
1513 | 7 => '7 (Low)',
|
---|
1514 | },
|
---|
1515 | },
|
---|
1516 | 0x0f1 => { # CSg4-a (D6), CSg6-a (Z7_2)
|
---|
1517 | Name => 'MovieHighlightDisplayPattern',
|
---|
1518 | PrintConv => {
|
---|
1519 | 1 => 'Pattern 1',
|
---|
1520 | 2 => 'Pattern 2',
|
---|
1521 | 3 => 'Off',
|
---|
1522 | },
|
---|
1523 | },
|
---|
1524 | 0x0f2 => { Name => 'SubDialFrameAdvanceRating5', PrintConv => \%noYes, Unknown => 1 }, # (D6,Z7_2)
|
---|
1525 | 0x0f3 => { Name => 'SubDialFrameAdvanceRating4', PrintConv => \%noYes, Unknown => 1 }, # (D6,Z7_2)
|
---|
1526 | 0x0f4 => { Name => 'SubDialFrameAdvanceRating3', PrintConv => \%noYes, Unknown => 1 }, # (D6,Z7_2)
|
---|
1527 | 0x0f5 => { Name => 'SubDialFrameAdvanceRating2', PrintConv => \%noYes, Unknown => 1 }, # (D6,Z7_2)
|
---|
1528 | 0x0f6 => { Name => 'SubDialFrameAdvanceRating1', PrintConv => \%noYes, Unknown => 1 }, # (D6,Z7_2)
|
---|
1529 | 0x0f7 => { Name => 'SubDialFrameAdvanceRating0', PrintConv => \%noYes, Unknown => 1 }, # (D6,Z7_2)
|
---|
1530 | # 0x0f8 ?? looks like it should be part of the above, but nothing seems to cause the value to change. Possibly intended for Rating='Candidate for Deletion' # (D6)
|
---|
1531 | 0x0f9 => { # CSg2-c (Z7_2)
|
---|
1532 | Name => 'MovieAF-OnButton',
|
---|
1533 | PrintConv => {
|
---|
1534 | 1 => 'Center Focus Point',
|
---|
1535 | 2 => 'AF-On',
|
---|
1536 | 3 => 'AF Lock Only',
|
---|
1537 | 4 => 'AE Lock (hold)',
|
---|
1538 | 5 => 'AE Lock Only',
|
---|
1539 | 6 => 'AE/AF Lock',
|
---|
1540 | 7 => 'LiveView Info Display On/Off',
|
---|
1541 | 8 => 'Zoom (Low)',
|
---|
1542 | 9 => 'Zoom (1:1)',
|
---|
1543 | 10 => 'Zoom (High)',
|
---|
1544 | 11 => 'Record Movies',
|
---|
1545 | 12 => 'None',
|
---|
1546 | },
|
---|
1547 | },
|
---|
1548 | 0x0fb => { Name => 'SecondarySlotFunction', PrintConv => \%tagSecondarySlotFunction }, # tag name selected to maintain compatibility with older cameras # (Z7_2)
|
---|
1549 | 0x0fb => { Name => 'SecondarySlotFunction', PrintConv => \%tagSecondarySlotFunction }, # (D6)
|
---|
1550 | 0x0fc => { Name => 'SilentPhotography', PrintConv => \%onOff }, # (D6,Z7_2) # tag is associated with Silent LiveView Photography (as distinguisehed from Silent Interval or Silent Focus Shift)
|
---|
1551 | 0x0fd => { Name => 'ExtendedShutterSpeeds', PrintConv => \%onOff }, # CSd7 (D6), CSd6 (Z7_2)
|
---|
1552 | 0x109 => { # (D6,Z7_2)
|
---|
1553 | Name => 'BracketSet',
|
---|
1554 | RawConv => '$$self{BracketSet} = $val',
|
---|
1555 | PrintConv => {
|
---|
1556 | 1 => 'AE/Flash',
|
---|
1557 | 2 => 'AE',
|
---|
1558 | 3 => 'Flash',
|
---|
1559 | 4 => 'White Balance',
|
---|
1560 | 5 => 'Active-D Lighting',
|
---|
1561 | },
|
---|
1562 | },
|
---|
1563 | 0x10a => [{ # (D6/Z7_2)
|
---|
1564 | Name => 'BracketProgram',
|
---|
1565 | Condition => '$$self{BracketSet} < 4',
|
---|
1566 | Notes => 'AE and/or Flash Bracketing',
|
---|
1567 | RawConv => '$$self{BracketProgram} = $val',
|
---|
1568 | PrintConv => {
|
---|
1569 | 15 => '+3F',
|
---|
1570 | 16 => '-3F',
|
---|
1571 | 17 => '+2F',
|
---|
1572 | 18 => '-2F',
|
---|
1573 | 19 => 'Disabled',
|
---|
1574 | 20 => '3F',
|
---|
1575 | 21 => '5F',
|
---|
1576 | 22 => '7F',
|
---|
1577 | 23 => '9F',
|
---|
1578 | },
|
---|
1579 | },{
|
---|
1580 | Name => 'BracketProgram',
|
---|
1581 | Condition => '$$self{BracketSet} and $$self{BracketSet} == 4',
|
---|
1582 | Notes => 'White Balance Bracketing',
|
---|
1583 | RawConv => '$$self{BracketProgram} = $val',
|
---|
1584 | PrintConv => {
|
---|
1585 | 1 => 'B3F',
|
---|
1586 | 2 => 'A3F',
|
---|
1587 | 3 => 'B2F',
|
---|
1588 | 4 => 'A2F',
|
---|
1589 | 5 => 'Disabled',
|
---|
1590 | 6 => '3F',
|
---|
1591 | 7 => '5F',
|
---|
1592 | 8 => '7F',
|
---|
1593 | 9 => '9F',
|
---|
1594 | 19 => 'N/A' # observed when shooting other than JPG
|
---|
1595 | },
|
---|
1596 | },{
|
---|
1597 | Name => 'BracketProgram',
|
---|
1598 | Condition => '$$self{BracketSet} and $$self{BracketSet} == 5',
|
---|
1599 | Notes => 'Active-D Bracketing',
|
---|
1600 | RawConv => '$$self{BracketProgram} = $val',
|
---|
1601 | Mask => 0x0f,
|
---|
1602 | PrintConv => {
|
---|
1603 | 10 => 'Disabled',
|
---|
1604 | 11 => '2 Exposures',
|
---|
1605 | 12 => '3 Exposures',
|
---|
1606 | 13 => '4 Exposures',
|
---|
1607 | 14 => '5 Exposures',
|
---|
1608 | },
|
---|
1609 | }],
|
---|
1610 | 0x10b => [{ # (D6/Z7_2)
|
---|
1611 | Name => 'BracketIncrement',
|
---|
1612 | Condition => '$$self{BracketSet} < 4 and $$self{BracketProgram} ne 19',
|
---|
1613 | Notes => 'AE and/or Flash Bracketing enabled',
|
---|
1614 | PrintConv => {
|
---|
1615 | 0x01 => '0.3',
|
---|
1616 | 0x03 => '0.5',
|
---|
1617 | 0x04 => '1.0',
|
---|
1618 | 0x05 => '2.0',
|
---|
1619 | 0x06 => '3.0',
|
---|
1620 | },
|
---|
1621 | },{
|
---|
1622 | Name => 'BracketIncrement',
|
---|
1623 | Condition => '$$self{BracketSet} == 4 and $$self{BracketProgram} ne 5',
|
---|
1624 | Notes => 'White Balance Bracketing enabled',
|
---|
1625 | PrintConv => '$val-6', # TODO: qualify amber/blue direction of increment (eg, '1A' vs.'1B' vs '1A,1B')
|
---|
1626 | }],
|
---|
1627 | 0x10c => { # (D6/Z7_2)
|
---|
1628 | Name => 'BracketIncrement',
|
---|
1629 | Condition => '$$self{BracketSet} == 5 and $$self{BracketProgram} ne 10',
|
---|
1630 | Notes => 'Active-D Bracketing enabled',
|
---|
1631 | PrintConv => {
|
---|
1632 | 0 => 'Off',
|
---|
1633 | 1 => 'Off, Low',
|
---|
1634 | 2 => 'Off, Normal',
|
---|
1635 | 3 => 'Off, High',
|
---|
1636 | 4 => 'Off, Extra High',
|
---|
1637 | 5 => 'Off, Auto',
|
---|
1638 | 6 => 'Off, Low, Normal',
|
---|
1639 | 7 => 'Off, Low, Normal, High',
|
---|
1640 | 8 => 'Off, Low, Normal, High, Extra High',
|
---|
1641 | },
|
---|
1642 | },
|
---|
1643 | 0x116 => { Name => 'GroupAreaC1', PrintConv =>\%groupAreaCustom }, # CSa10-a (new with D6) # (D6)
|
---|
1644 | 0x117 => { Name => 'AutoAreaAFStartingPoint', PrintConv => \%enableDisable }, # CSa12 (D6)
|
---|
1645 | 0x118 => { Name => 'FocusPointPersistence', PrintConv => { 1 => 'Auto', 2 => 'Off' } }, # CSa13 (new with D6) # (D6)
|
---|
1646 | 0x119 => { Name => 'LimitAFAreaModeSelD49', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-c (D6)
|
---|
1647 | 0x11a => { Name => 'LimitAFAreaModeSelD105', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-d (D6)
|
---|
1648 | 0x11b => { Name => 'LimitAFAreaModeSelGroupC1', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-g (D6)
|
---|
1649 | 0x11c => { Name => 'LimitAFAreaModeSelGroupC2', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-h (D6)
|
---|
1650 | 0x11d => { # CSa15 (D6)
|
---|
1651 | Name => 'AutoFocusModeRestrictions',
|
---|
1652 | PrintConv => {
|
---|
1653 | 1 => 'AF-S',
|
---|
1654 | 2 => 'AF-C',
|
---|
1655 | 3 => 'No Limit',
|
---|
1656 | },
|
---|
1657 | },
|
---|
1658 | 0x11e => { # CSa17-b (D6)
|
---|
1659 | Name => 'FocusPointBrightness',
|
---|
1660 | PrintConv => {
|
---|
1661 | 1 => 'Extra High',
|
---|
1662 | 2 => 'High',
|
---|
1663 | 3 => 'Normal',
|
---|
1664 | 4 => 'Low',
|
---|
1665 | },
|
---|
1666 | },
|
---|
1667 | 0x11f => { Name => 'CHModeShootingSpeed', ValueConv => '15 - $val', ValueConvInv => '15 + $val', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1-a (D6)
|
---|
1668 | 0x120 => { Name => 'CLModeShootingSpeed', ValueConv => '11 - $val', ValueConvInv => '11 + $val', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1-b (D6)
|
---|
1669 | 0x121 => { # CSd1-c (new with D6)
|
---|
1670 | Name => 'QuietShutterShootingSpeed',
|
---|
1671 | PrintConv => {
|
---|
1672 | 1 => 'Single',
|
---|
1673 | 2 => '5 fps',
|
---|
1674 | 3 => '4 fps',
|
---|
1675 | 4 => '3 fps',
|
---|
1676 | 5 => '2 fps',
|
---|
1677 | 6 => '1 fps',
|
---|
1678 | },
|
---|
1679 | },
|
---|
1680 | 0x122 => { Name => 'LimitReleaseModeSelCL', PrintConv => \%limtReleaseModeSel, Unknown => 1 }, # CSd3-a (D6)
|
---|
1681 | 0x123 => { Name => 'LimitReleaseModeSelCH', PrintConv => \%limtReleaseModeSel, Unknown => 1 }, # CSd3-b (D6)
|
---|
1682 | 0x124 => { Name => 'LimitReleaseModeSelQ', PrintConv => \%limtReleaseModeSel, Unknown => 1 }, # CSd3-c (D6)
|
---|
1683 | 0x125 => { Name => 'LimitReleaseModeSelTimer', PrintConv => \%limtReleaseModeSel, Unknown => 1 }, # CSd3-d (D6)
|
---|
1684 | 0x126 => { Name => 'LimitReleaseModeSelMirror-Up', PrintConv => \%limtReleaseModeSel, Unknown => 1 }, # CSd3-e (D6)
|
---|
1685 | 0x127 => { Name => 'LimitSelectableImageArea16To9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd8-5 (D6)
|
---|
1686 | 0x128 => { Name => 'RearControPanelDisplay', PrintConv => { 1 => 'Release Mode', 2 => 'Frame Count' } }, # CSd12 # new tag with D6 # (D6)
|
---|
1687 | 0x129 => { Name => 'FlashBurstPriority', PrintConv => { 1 => 'Frame Rate', 2 => 'Exposure' } }, # CSE5 # new tag with D6 # (D6)
|
---|
1688 | 0x12a => { Name => 'RecallShootFuncExposureMode', PrintConv => \%offOn }, # (D6)
|
---|
1689 | 0x12b => { Name => 'RecallShootFuncShutterSpeed', PrintConv => \%offOn }, # (D6)
|
---|
1690 | 0x12c => { Name => 'RecallShootFuncAperture', PrintConv => \%offOn }, # (D6)
|
---|
1691 | 0x12d => { Name => 'RecallShootFuncExposureComp', PrintConv => \%offOn }, # (D6)
|
---|
1692 | 0x12e => { Name => 'RecallShootFuncISO', PrintConv => \%offOn }, # (D6)
|
---|
1693 | 0x12f => { Name => 'RecallShootFuncMeteringMode', PrintConv => \%offOn }, # (D6)
|
---|
1694 | 0x130 => { Name => 'RecallShootFuncWhiteBalance', PrintConv => \%offOn }, # (D6)
|
---|
1695 | 0x131 => { Name => 'RecallShootFuncAFAreaMode', PrintConv => \%offOn }, # (D6)
|
---|
1696 | 0x132 => { Name => 'RecallShootFuncFocusTracking', PrintConv => \%offOn }, # (D6)
|
---|
1697 | 0x133 => { Name => 'RecallShootFuncAF-On', PrintConv => \%offOn }, # (D6)
|
---|
1698 | 0x134 => { # CSf3-d (D6)
|
---|
1699 | Name => 'VerticalFuncButton',
|
---|
1700 | PrintConv => {
|
---|
1701 | 1 => 'Preset Focus Point',
|
---|
1702 | 2 => 'AE Lock (hold)',
|
---|
1703 | 3 => 'AE/WB Lock (hold)',
|
---|
1704 | 4 => 'AE Lock (reset on release)',
|
---|
1705 | 5 => 'FV Lock',
|
---|
1706 | 6 => 'Preview',
|
---|
1707 | 7 => '+NEF(RAW)',
|
---|
1708 | 8 => 'Grid Display',
|
---|
1709 | 9 => 'Virtual Horizon',
|
---|
1710 | 10 => 'Voice Memo',
|
---|
1711 | 11 => 'Playback',
|
---|
1712 | 12 => 'Filtered Playback',
|
---|
1713 | 13 => 'Photo Shooting Bank',
|
---|
1714 | 14 => 'Exposure Mode',
|
---|
1715 | 15 => 'Exposure Comp',
|
---|
1716 | 16 => 'AF Mode/AF Area Mode',
|
---|
1717 | 17 => 'Image Area',
|
---|
1718 | 18 => 'ISO',
|
---|
1719 | 19 => 'Active-D Lighting',
|
---|
1720 | 20 => 'Metering',
|
---|
1721 | 21 => 'Exposure Delay Mode',
|
---|
1722 | 22 => 'Shutter/Aperture Lock',
|
---|
1723 | 23 => '1 Stop Speed/Aperture',
|
---|
1724 | 24 => 'Rating 0',
|
---|
1725 | 25 => 'Rating 5',
|
---|
1726 | 26 => 'Rating 4',
|
---|
1727 | 27 => 'Rating 3',
|
---|
1728 | 28 => 'Rating 2',
|
---|
1729 | 29 => 'Rating 1',
|
---|
1730 | 30 => 'Candidate For Deletion',
|
---|
1731 | 31 => 'Non-CPU Lens',
|
---|
1732 | 32 => 'None',
|
---|
1733 | },
|
---|
1734 | },
|
---|
1735 | 0x135 => { # CSf3-e (D6)
|
---|
1736 | Name => 'Func3Button',
|
---|
1737 | PrintConv => {
|
---|
1738 | 1 => 'Voice Memo',
|
---|
1739 | 2 => 'Select To Send',
|
---|
1740 | 3 => 'Wired LAN',
|
---|
1741 | 4 => 'My Menu',
|
---|
1742 | 5 => 'My Menu Top Item',
|
---|
1743 | 6 => 'Filtered Playback',
|
---|
1744 | 7 => 'Rating 0',
|
---|
1745 | 8 => 'Rating 5',
|
---|
1746 | 9 => 'Rating 4',
|
---|
1747 | 10 => 'Rating 3',
|
---|
1748 | 11 => 'Rating 2',
|
---|
1749 | 12 => 'Rating 1',
|
---|
1750 | 13 => 'Candidate For Deletion',
|
---|
1751 | 14 => 'None',
|
---|
1752 | },
|
---|
1753 | },
|
---|
1754 | 0x136 => { # CSf3-i (D6)
|
---|
1755 | Name => 'VerticalAF-OnButton',
|
---|
1756 | PrintConv => {
|
---|
1757 | 1 => 'AF-AreaMode S',
|
---|
1758 | 2 => 'AF-AreaMode D9',
|
---|
1759 | 3 => 'AF-AreaMode D25',
|
---|
1760 | 4 => 'AF-AreaMode D49',
|
---|
1761 | 5 => 'AF-AreaMode D105',
|
---|
1762 | 6 => 'AF-AreaMode 3D',
|
---|
1763 | 7 => 'AF-AreaMode Group',
|
---|
1764 | 8 => 'AF-AreaMode Group C1',
|
---|
1765 | 9 => 'AF-AreaMode Group C2',
|
---|
1766 | 10 => 'AF-AreaMode Auto Area',
|
---|
1767 | 11 => 'AF-AreaMode + AF-On S',
|
---|
1768 | 12 => 'AF-AreaMode + AF-On D9',
|
---|
1769 | 13 => 'AF-AreaMode + AF-On D25',
|
---|
1770 | 14 => 'AF-AreaMode + AF-On D49',
|
---|
1771 | 15 => 'AF-AreaMode + AF-On D105',
|
---|
1772 | 16 => 'AF-AreaMode + AF-On 3D',
|
---|
1773 | 17 => 'AF-AreaMode + AF-On Group',
|
---|
1774 | 18 => 'AF-AreaMode + AF-On Group C1',
|
---|
1775 | 19 => 'AF-AreaMode + AF-On Group C2',
|
---|
1776 | 20 => 'AF-AreaMode + AF-On Auto Area',
|
---|
1777 | 21 => 'Same as AF-On',
|
---|
1778 | 22 => 'AF-On',
|
---|
1779 | 23 => 'AF Lock Only',
|
---|
1780 | 24 => 'AE Lock (hold)',
|
---|
1781 | 25 => 'AE/WB Lock (hold)',
|
---|
1782 | 26 => 'AE Lock (reset on release)',
|
---|
1783 | 27 => 'AE Lock Only',
|
---|
1784 | 28 => 'AE/AF Lock',
|
---|
1785 | 29 => 'Recall Shooting Functions',
|
---|
1786 | 30 => 'None',
|
---|
1787 | },
|
---|
1788 | },
|
---|
1789 | 0x137 => { Name => 'VerticalMultiSelector', PrintConv => \%tagSubSelector }, # CSf3-j-1 # (D6)
|
---|
1790 | 0x138 => { # CSf3-k (D6)
|
---|
1791 | Name => 'MeteringButton',
|
---|
1792 | PrintConv => {
|
---|
1793 | 1 => 'Photo Shooting Bank',
|
---|
1794 | 2 => 'Image Area',
|
---|
1795 | 3 => 'Active-D Lighting',
|
---|
1796 | 4 => 'Metering',
|
---|
1797 | 5 => 'Exposure Delay Mode',
|
---|
1798 | 6 => 'Shutter/Aperture Lock',
|
---|
1799 | 7 => '1 Stop Speed/Aperture',
|
---|
1800 | 8 => 'Non-CPU Lens',
|
---|
1801 | 9 => 'None',
|
---|
1802 | },
|
---|
1803 | },
|
---|
1804 | 0x139 => { Name => 'PlaybackFlickUp', RawConv => '$$self{PlaybackFlickUp} = $val', PrintConv => \%flickUpDownD6 }, # CSf12-1-a # (D6)
|
---|
1805 | 0x13a => { Name => 'PlaybackFlickUpRating', Condition => '$$self{PlaybackFlickUp} and $$self{PlaybackFlickUp} == 1', Notes => 'Meaningful only when PlaybackFlickUp is Rating', PrintConv => \%flickUpDownRatingD6 }, # CSf12-1-b # (D6)
|
---|
1806 | 0x13b => { Name => 'PlaybackFlickDown', RawConv => '$$self{PlaybackFlickDown} = $val', PrintConv => \%flickUpDownD6 }, # CSf12-2-a # (D6)
|
---|
1807 | 0x13c => { Name => 'PlaybackFlickDownRating', Condition => '$$self{PlaybackFlickDown} and $$self{PlaybackFlickDown} == 1', Notes => 'Meaningful only when PlaybackFlickDown is Rating', PrintConv => \%flickUpDownRatingD6 }, # CSf12-2-b # (D6)
|
---|
1808 | 0x13d => { # CSg2-d (D6)
|
---|
1809 | Name => 'MovieFunc3Button',
|
---|
1810 | PrintConv => {
|
---|
1811 | 1 => 'Record Movies',
|
---|
1812 | 2 => 'My Menu',
|
---|
1813 | 3 => 'My Menu Top Item',
|
---|
1814 | 4 => 'None',
|
---|
1815 | },
|
---|
1816 | },
|
---|
1817 | 0x150 => { # CSd5 (Z7_2) new with Z series
|
---|
1818 | Name => 'ShutterType',
|
---|
1819 | PrintConv => {
|
---|
1820 | 1 => 'Auto',
|
---|
1821 | 2 => 'Mechanical',
|
---|
1822 | 3 => 'Electronic',
|
---|
1823 | },
|
---|
1824 | },
|
---|
1825 | 0x151 => { Name => 'LensFunc2Button', PrintConv => \%lensFuncButtonZ7m2 }, # CSf2-h (Z7_2)
|
---|
1826 | 0x158 => { Name => 'USBPowerDelivery', PrintConv => \%enableDisable }, # (Z7_2)
|
---|
1827 | 0x15b => { Name => 'GroupAreaC2', PrintConv =>\%groupAreaCustom }, # CSa10-b (new with D6) # (D6)
|
---|
1828 | 0x15c => { Name => 'BracketingBurstOptions',PrintConv => \%enableDisable }, # CSe9 (D6)
|
---|
1829 | # 0x15d => CSf3-j-2 (D6) 'Same as Multi-Selector with Info(U/D) & Playback(R/L)' and 'Same as Multi-Selector with Info(R/L) & Playback(U/D)' (skipped to reduce volume of output)
|
---|
1830 | 0x15e => { Name => 'PrimarySlot', PrintConv => { 1 => 'CFexpress/XQD Card', 2 => 'SD Card' } }, # (Z7_2)
|
---|
1831 | 0x15f => { Name => 'ReverseFocusRing', PrintConv => { 1 => 'Not Reversed', 2 => 'Reversed' } }, # CSf8 (Z7_2)
|
---|
1832 | 0x160 => { # CSf9-a (Z7_2)
|
---|
1833 | Name => 'VerticalFuncButton',
|
---|
1834 | PrintConv => {
|
---|
1835 | 1 => 'AE Lock (hold)',
|
---|
1836 | 2 => 'AE Lock (reset on release)',
|
---|
1837 | 3 => 'FV Lock',
|
---|
1838 | 4 => 'Preview',
|
---|
1839 | 5 => '+NEF(RAW)',
|
---|
1840 | 6 => 'Subject Tracking',
|
---|
1841 | 7 => 'Silent Photography',
|
---|
1842 | 8 => 'LiveView Info Display On/Off',
|
---|
1843 | 9 => 'Playback',
|
---|
1844 | 10 => 'Image Area',
|
---|
1845 | 11 => 'Metering',
|
---|
1846 | 12 => 'Flash Mode',
|
---|
1847 | 13 => 'Focus Mode',
|
---|
1848 | 14 => 'Exposure Delay Mode',
|
---|
1849 | 15 => 'Shutter/Aperture Lock',
|
---|
1850 | 16 => 'Exposure Compensation',
|
---|
1851 | 17 => 'ISO Sensitivity',
|
---|
1852 | 18 => 'None',
|
---|
1853 | },
|
---|
1854 | },
|
---|
1855 | 0x161 => { # CSf9-b (Z7_2)
|
---|
1856 | Name => 'VerticalAFOnButton',
|
---|
1857 | PrintConv => {
|
---|
1858 | 1 => 'Same as AF-On Button',
|
---|
1859 | 2 => 'Select Center Focus Point',
|
---|
1860 | 3 => 'AF-On',
|
---|
1861 | 4 => 'AF Lock Only',
|
---|
1862 | 5 => 'AE Lock (hold)',
|
---|
1863 | 6 => 'AE Lock (reset on release)',
|
---|
1864 | 7 => 'AE Lock Only',
|
---|
1865 | 8 => 'AE/AF Lock',
|
---|
1866 | 9 => 'LiveView Info Display On/Off',
|
---|
1867 | 10 => 'Zoom (Low)',
|
---|
1868 | 11 => 'Zoom (1:1)',
|
---|
1869 | 12 => 'Zoom (High)',
|
---|
1870 | 13 => 'None',
|
---|
1871 | },
|
---|
1872 | },
|
---|
1873 | 0x162 => { Name => 'VerticalMultiSelector', PrintConv => \%tagSubSelector }, # CSf9-c (Z7_2)
|
---|
1874 | # 0x163 => CSf9-c-2 (Z7_2) 'Same as Multi-Selector with Info(U/D) & Playback(R/L)' and 'Same as Multi-Selector with Info(R/L) & Playback(U/D)' (skipped to reduce volume of output)
|
---|
1875 | 0x164 => { # CSg7-a (Z7_2)
|
---|
1876 | Name => 'VerticalMovieFuncButton',
|
---|
1877 | PrintConv => {
|
---|
1878 | 1 => 'LiveView Info Display On/Off',
|
---|
1879 | 2 => 'Record Movies',
|
---|
1880 | 3 => 'Exposure Compensation',
|
---|
1881 | 4 => 'ISO',
|
---|
1882 | 5 => 'None',
|
---|
1883 | },
|
---|
1884 | },
|
---|
1885 | 0x165 => { # CSg7-b (Z7_2)
|
---|
1886 | Name => 'VerticalMovieAFOnButton',
|
---|
1887 | PrintConv => {
|
---|
1888 | 1 => 'Same as AF-On',
|
---|
1889 | 2 => 'Center Focus Point',
|
---|
1890 | 3 => 'AF-On',
|
---|
1891 | 4 => 'AF Lock Only',
|
---|
1892 | 5 => 'AE Lock (hold)',
|
---|
1893 | 6 => 'AE Lock Only',
|
---|
1894 | 7 => 'AE/AF Lock',
|
---|
1895 | 8 => 'LiveView Info Display On/Off',
|
---|
1896 | 9 => 'Zoom (Low)',
|
---|
1897 | 10 => 'Zoom (1:1)',
|
---|
1898 | 11 => 'Zoom (High)',
|
---|
1899 | 12 => 'Record Movies',
|
---|
1900 | 13 => 'None',
|
---|
1901 | },
|
---|
1902 | },
|
---|
1903 | 0x169 => { Name => 'LimitAF-AreaModeSelAutoPeople', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-h (Z7_2)
|
---|
1904 | 0x16a => { Name => 'LimitAF-AreaModeSelAutoAnimals', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-h (Z7_2)
|
---|
1905 | 0x16b => { Name => 'LimitAF-AreaModeSelWideLPeople', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-e (Z7_2)
|
---|
1906 | 0x16c => { Name => 'LimitAF-AreaModeSelWideLAnimals', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-f (Z7_2)
|
---|
1907 | 0x16e => { # (Z7_2)
|
---|
1908 | Name => 'AFAreaMode',
|
---|
1909 | RawConv => '$$self{AFAreaMode} = $val',
|
---|
1910 | PrintConv => {
|
---|
1911 | 2 => 'Single-point',
|
---|
1912 | 3 => 'Dynamic-area',
|
---|
1913 | 4 => 'Wide (S)',
|
---|
1914 | 5 => 'Wide (L)',
|
---|
1915 | 6 => 'Wide (L-people)',
|
---|
1916 | 7 => 'Wide (L-animals)',
|
---|
1917 | 8 => 'Auto',
|
---|
1918 | 9 => 'Auto (People)',
|
---|
1919 | 10 => 'Auto (Animals)',
|
---|
1920 | },
|
---|
1921 | },
|
---|
1922 | );
|
---|
1923 |
|
---|
1924 | #------------------------------------------------------------------------------
|
---|
1925 | # Process NikonSettings directory (ref PH)
|
---|
1926 | # Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) tag table ref
|
---|
1927 | # Returns: 1 on success
|
---|
1928 | sub ProcessNikonSettings($$$)
|
---|
1929 | {
|
---|
1930 | my ($et, $dirInfo, $tagTablePtr) = @_;
|
---|
1931 |
|
---|
1932 | # NikonSettings directory has a 24-byte header:
|
---|
1933 | # 0x00 - undef[4]: '0100'
|
---|
1934 | # 0x04 - int32u: 1 (D-models), 2 (Z-models)
|
---|
1935 | # 0x08 - undef[4]: '0100'
|
---|
1936 | # 0x0c - int32u: 1 (Z7), 2 (D850), 3 (D780,Z50), 4 (D6,Z5), 5(Z7m2)
|
---|
1937 | # 0x10 - undef[4]: firmware version (eg. '0110' for firmware 1.10)
|
---|
1938 | # 0x14 - int32u: number of entries in directory
|
---|
1939 |
|
---|
1940 | return 0 if $$dirInfo{DirLen} < 24; # sanity check
|
---|
1941 |
|
---|
1942 | my $dataPt = $$dirInfo{DataPt};
|
---|
1943 | my $start = $$dirInfo{DirStart};
|
---|
1944 | my $num = Get32u($dataPt, $start + 0x14);
|
---|
1945 |
|
---|
1946 | $et->VerboseDir('NikonSettings', $num);
|
---|
1947 |
|
---|
1948 | my $n = int(($$dirInfo{DirLen} - 0x18) / 8);
|
---|
1949 | if ($n < $num) {
|
---|
1950 | $et->Warn('Missing '.($num-$n).' NikonSettings entries', 1);
|
---|
1951 | $num = $n;
|
---|
1952 | } elsif ($n > $num) {
|
---|
1953 | $et->Warn('Unused space in NikonSettings directory', 1);
|
---|
1954 | }
|
---|
1955 | my $i;
|
---|
1956 | for ($i=0; $i<$num; ++$i) {
|
---|
1957 | my $entry = $start + 0x18 + $i * 8;
|
---|
1958 | my $tag = Get16u($dataPt, $entry);
|
---|
1959 | my $fmt = Get16u($dataPt, $entry + 2);
|
---|
1960 | my $val = Get32u($dataPt, $entry + 4);
|
---|
1961 | # abort if the tag has a format that we haven't yet seen
|
---|
1962 | # (assuming this is a size/format code. So far we have only seen 0x400)
|
---|
1963 | $fmt == 0x400 or $et->Warn(sprintf('Unknown format 0x%x for NikonSettings tag 0x%.4x',$fmt,$tag)), last;
|
---|
1964 | $et->HandleTag($tagTablePtr, $tag, $val,
|
---|
1965 | DataPt => $dataPt,
|
---|
1966 | DataPos => $$dirInfo{DataPos},
|
---|
1967 | Base => $$dirInfo{Base},
|
---|
1968 | Start => $entry + 4,
|
---|
1969 | Size => 4,
|
---|
1970 | Format => 'int32u',
|
---|
1971 | Index => $i,
|
---|
1972 | );
|
---|
1973 | }
|
---|
1974 | return 1;
|
---|
1975 | }
|
---|
1976 |
|
---|
1977 |
|
---|
1978 | 1; # end
|
---|
1979 |
|
---|
1980 | __END__
|
---|
1981 |
|
---|
1982 | =head1 NAME
|
---|
1983 |
|
---|
1984 | Image::ExifTool::NikonSettings - Read Nikon user settings
|
---|
1985 |
|
---|
1986 | =head1 SYNOPSIS
|
---|
1987 |
|
---|
1988 | This module is loaded automatically by Image::ExifTool when required.
|
---|
1989 |
|
---|
1990 | =head1 DESCRIPTION
|
---|
1991 |
|
---|
1992 | This module contains the definitions necessary to read the user settings for
|
---|
1993 | Nikon cameras such as the D6 and Z7mk2.
|
---|
1994 |
|
---|
1995 |
|
---|
1996 | =head1 AUTHOR
|
---|
1997 |
|
---|
1998 | Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
---|
1999 |
|
---|
2000 | This library is free software; you can redistribute it and/or modify it
|
---|
2001 | under the same terms as Perl itself.
|
---|
2002 |
|
---|
2003 | =head1 ACKNOWLEDGEMENTS
|
---|
2004 |
|
---|
2005 | Thanks to Warren Hatch for his work decoding settings for the D6 and Z7mkII,
|
---|
2006 | and for providing the original source code for this module.
|
---|
2007 |
|
---|
2008 | =head1 SEE ALSO
|
---|
2009 |
|
---|
2010 | L<Image::ExifTool::TagNames/Nikon Tags>,
|
---|
2011 | L<Image::ExifTool(3pm)|Image::ExifTool>
|
---|
2012 |
|
---|
2013 | =cut
|
---|