exiftool_vendored 12.12.0 → 12.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +73 -3
- data/bin/MANIFEST +3 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +87 -57
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool.pm +36 -3
- data/bin/lib/Image/ExifTool.pod +12 -8
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/APP12.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +1 -1
- data/bin/lib/Image/ExifTool/Audible.pm +1 -1
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BPG.pm +1 -1
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +14 -7
- data/bin/lib/Image/ExifTool/Canon.pm +3 -2
- data/bin/lib/Image/ExifTool/CanonCustom.pm +20 -2
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +1 -1
- data/bin/lib/Image/ExifTool/Charset.pm +1 -1
- data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- data/bin/lib/Image/ExifTool/DJI.pm +28 -2
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- data/bin/lib/Image/ExifTool/DPX.pm +4 -4
- data/bin/lib/Image/ExifTool/DV.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +45 -16
- data/bin/lib/Image/ExifTool/FITS.pm +1 -1
- data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +3 -2
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +1 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +6 -6
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +21 -6
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +1 -1
- data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/ISO.pm +1 -1
- data/bin/lib/Image/ExifTool/ITC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +1 -1
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +24 -2
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +1 -1
- data/bin/lib/Image/ExifTool/JVC.pm +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +9 -4
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +1 -1
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/MNG.pm +1 -1
- data/bin/lib/Image/ExifTool/MOI.pm +1 -1
- data/bin/lib/Image/ExifTool/MPC.pm +1 -1
- data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +1 -1
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +315 -36
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonSettings.pm +2013 -0
- data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/Opus.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +10 -2
- data/bin/lib/Image/ExifTool/PGF.pm +1 -1
- data/bin/lib/Image/ExifTool/PICT.pm +1 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +12 -4
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- data/bin/lib/Image/ExifTool/PSP.pm +1 -1
- data/bin/lib/Image/ExifTool/Palm.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -2
- data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +20 -14
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +46 -7
- data/bin/lib/Image/ExifTool/README +5 -4
- data/bin/lib/Image/ExifTool/RIFF.pm +85 -7
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- data/bin/lib/Image/ExifTool/Red.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
- data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- data/bin/lib/Image/ExifTool/Shift.pl +1 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +6 -2
- data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- data/bin/lib/Image/ExifTool/Stim.pm +1 -1
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +3985 -3807
- data/bin/lib/Image/ExifTool/TagNames.pod +432 -21
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +1 -1
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteXMP.pl +10 -7
- data/bin/lib/Image/ExifTool/Writer.pl +32 -18
- data/bin/lib/Image/ExifTool/XMP.pm +44 -9
- data/bin/lib/Image/ExifTool/XMP2.pl +5 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +9 -4
@@ -918,7 +918,7 @@ the maker notes of NEF images.
|
|
918
918
|
|
919
919
|
=head1 AUTHOR
|
920
920
|
|
921
|
-
Copyright 2003-
|
921
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
922
922
|
|
923
923
|
This library is free software; you can redistribute it and/or modify it
|
924
924
|
under the same terms as Perl itself.
|
@@ -9534,7 +9534,7 @@ this information.
|
|
9534
9534
|
|
9535
9535
|
=head1 AUTHOR
|
9536
9536
|
|
9537
|
-
Copyright 2003-
|
9537
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
9538
9538
|
|
9539
9539
|
This library is free software; you can redistribute it and/or modify it
|
9540
9540
|
under the same terms as Perl itself.
|
@@ -0,0 +1,2013 @@
|
|
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.01';
|
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} == 1',
|
915
|
+
PrintConv => {
|
916
|
+
1 => 'Autofocus On, Exposure On',
|
917
|
+
2 => 'Autofocus Off, Exposure On',
|
918
|
+
},
|
919
|
+
},{
|
920
|
+
Name => 'CmdDialsChangeMainSub',
|
921
|
+
Condition => '$$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} == 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} == 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} == 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} == 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} == 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
|