exiftool_vendored 12.38.0 → 12.42.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +83 -1
  3. data/bin/MANIFEST +2 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +45 -45
  7. data/bin/arg_files/exif2xmp.args +5 -0
  8. data/bin/arg_files/xmp2exif.args +6 -0
  9. data/bin/config_files/acdsee.config +6 -6
  10. data/bin/config_files/photoshop_paths.config +30 -7
  11. data/bin/config_files/picasa_faces.config +1 -1
  12. data/bin/config_files/pix4d.config +2 -2
  13. data/bin/config_files/tiff_version.config +2 -2
  14. data/bin/exiftool +98 -66
  15. data/bin/lib/File/RandomAccess.pm +1 -1
  16. data/bin/lib/File/RandomAccess.pod +2 -2
  17. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  18. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  19. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  20. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  21. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  22. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  23. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  25. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  26. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  27. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  28. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  29. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +6 -4
  30. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  31. data/bin/lib/Image/ExifTool/Canon.pm +90 -7
  32. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  33. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  34. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  35. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  36. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  37. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  39. data/bin/lib/Image/ExifTool/DJI.pm +60 -2
  40. data/bin/lib/Image/ExifTool/DNG.pm +9 -3
  41. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  42. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  43. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  44. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  45. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Exif.pm +62 -21
  47. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FLIR.pm +16 -4
  51. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  52. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  53. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  54. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  55. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  56. data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  57. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  58. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  59. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  60. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  61. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  62. data/bin/lib/Image/ExifTool/Geotag.pm +4 -3
  63. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  64. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  65. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  66. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  67. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  68. data/bin/lib/Image/ExifTool/ICC_Profile.pm +11 -9
  69. data/bin/lib/Image/ExifTool/ID3.pm +6 -6
  70. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  71. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  72. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  73. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  74. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  75. data/bin/lib/Image/ExifTool/JPEG.pm +6 -2
  76. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  77. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  78. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  81. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  82. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  83. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  98. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  99. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  100. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  101. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  102. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  103. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  106. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  114. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  115. data/bin/lib/Image/ExifTool/MacOS.pm +10 -10
  116. data/bin/lib/Image/ExifTool/MakerNotes.pm +18 -2
  117. data/bin/lib/Image/ExifTool/Matroska.pm +9 -5
  118. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  119. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  120. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  121. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  122. data/bin/lib/Image/ExifTool/Nikon.pm +929 -184
  123. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  124. data/bin/lib/Image/ExifTool/NikonCustom.pm +522 -6
  125. data/bin/lib/Image/ExifTool/NikonSettings.pm +17 -18
  126. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  127. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  128. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  129. data/bin/lib/Image/ExifTool/Olympus.pm +28 -8
  130. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  131. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  132. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PDF.pm +3 -2
  135. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  138. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PNG.pm +28 -8
  140. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  141. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  142. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  143. data/bin/lib/Image/ExifTool/Panasonic.pm +11 -2
  144. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  145. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  146. data/bin/lib/Image/ExifTool/Pentax.pm +4 -3
  147. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  148. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  149. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  150. data/bin/lib/Image/ExifTool/Photoshop.pm +7 -6
  151. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  152. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  153. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  154. data/bin/lib/Image/ExifTool/QuickTime.pm +10 -6
  155. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +16 -5
  156. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  157. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  158. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Samsung.pm +238 -3
  166. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  168. data/bin/lib/Image/ExifTool/Shift.pl +3 -1
  169. data/bin/lib/Image/ExifTool/Shortcuts.pm +4 -2
  170. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  171. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Sony.pm +11 -5
  173. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  175. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  176. data/bin/lib/Image/ExifTool/TagLookup.pm +6398 -6290
  177. data/bin/lib/Image/ExifTool/TagNames.pod +397 -47
  178. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  180. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  182. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  183. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  184. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  185. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  186. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  187. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
  191. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  192. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  193. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +9 -4
  194. data/bin/lib/Image/ExifTool/WriteXMP.pl +3 -1
  195. data/bin/lib/Image/ExifTool/Writer.pl +7 -6
  196. data/bin/lib/Image/ExifTool/XMP.pm +49 -23
  197. data/bin/lib/Image/ExifTool/XMP2.pl +3 -2
  198. data/bin/lib/Image/ExifTool/XMPStruct.pl +22 -8
  199. data/bin/lib/Image/ExifTool/ZIP.pm +10 -2
  200. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  201. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  202. data/bin/lib/Image/ExifTool.pm +30 -14
  203. data/bin/lib/Image/ExifTool.pod +71 -69
  204. data/bin/perl-Image-ExifTool.spec +43 -43
  205. data/lib/exiftool_vendored/version.rb +1 -1
  206. metadata +2 -2
@@ -918,7 +918,7 @@ the maker notes of NEF images.
918
918
 
919
919
  =head1 AUTHOR
920
920
 
921
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
921
+ Copyright 2003-2022, 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.
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # Revisions: 2009/11/25 - P. Harvey Created
7
7
  #
8
- # References: 1) Warren Hatch private communication (D3 with SB-800 and SB-900)
8
+ # References: 1) Warren Hatch private communication (D3 and Z9 with SB-800 and SB-900)
9
9
  # 2) Anonymous contribution 2011/05/25 (D700, D7000)
10
10
  # JD) Jens Duttke private communication
11
11
  #------------------------------------------------------------------------------
@@ -15,8 +15,125 @@ package Image::ExifTool::NikonCustom;
15
15
  use strict;
16
16
  use vars qw($VERSION);
17
17
 
18
- $VERSION = '1.18';
18
+ $VERSION = '1.20';
19
19
 
20
+ my %buttonsZ9= (
21
+ 0 => 'None',
22
+ 1 => 'Preview',
23
+ 3 => 'FV Lock',
24
+ 4 => 'AE/AF Lock',
25
+ 5 => 'AE Lock Only',
26
+ 6 => 'AE Lock (reset on release)',
27
+ 7 => 'AE Lock (hold)',
28
+ 8 => 'AF Lock Only',
29
+ 9 => 'AF-On',
30
+ 10 => 'Flash Disable/Enable',
31
+ 11 => 'Bracketing Burst',
32
+ 12 => '+NEF(RAW)',
33
+ 18 => 'Virtual Horizon',
34
+ 19 => 'Synchronized Release',
35
+ 20 => 'My Menu',
36
+ 21 => 'My Menu Top Item',
37
+ 22 => 'Playback',
38
+ 23 => 'Rating',
39
+ 24 => 'Protect',
40
+ 25 => 'Zoom',
41
+ 26 => 'Focus Peaking',
42
+ 28 => 'Image Area',
43
+ 30 => 'Non-CPU Lens',
44
+ 31 => 'Active-D Lighting',
45
+ 33 => '1 Stop Speed/Aperture',
46
+ 35 => 'Metering',
47
+ 36 => 'Auto Bracketing',
48
+ 37 => 'Multiple Exposure',
49
+ 38 => 'HDR Overlay',
50
+ 39 => 'Picture Control',
51
+ 40 => 'Quality',
52
+ 41 => 'Focus Mode/AF AreaMode',
53
+ 42 => 'Select Center Focus Point',
54
+ 44 => 'Record Movie',
55
+ 47 => 'Choose Folder',
56
+ 48 => 'Power Aperture (Open)',
57
+ 49 => 'Power Aperture (Close)',
58
+ 52 => 'Microphone Sensitivity',
59
+ 57 => 'Preset Focus Point',
60
+ 58 => 'AE/AWB Lock (hold)',
61
+ 59 => 'AF-AreaMode',
62
+ 60 => 'AF-AreaMode + AF-On',
63
+ 61 => 'Recall Shooting Functions',
64
+ 64 => 'Filtered Playback',
65
+ 65 => 'Same as AF-On',
66
+ 66 => 'Voice Memo',
67
+ 70 => 'Photo Shooting Bank',
68
+ 73 => 'Exposure Compensation',
69
+ 76 => 'Silent Mode',
70
+ 78 => 'LiveView Information',
71
+ 79 => 'AWB Lock (hold)',
72
+ 80 => 'Grid Display',
73
+ 81 => 'Starlight View',
74
+ 82 => 'Select To Send (PC)',
75
+ 83 => 'Select To Send (FTP)',
76
+ 85 => 'Control Lock',
77
+ 86 => 'Save Focus Position',
78
+ 87 => 'Recall Focus Position',
79
+ 88 => 'Recall Shooting Functions (Hold)',
80
+ );
81
+ my %dialsZ9 = (
82
+ 0 => '1 Frame',
83
+ 1 => '10 Frames',
84
+ 2 => '50 Frames',
85
+ 3 => 'Folder',
86
+ 4 => 'Protect',
87
+ 5 => 'Photos Only',
88
+ 6 => 'Videos Only',
89
+ 7 => 'Rating',
90
+ 8 => 'Page',
91
+ );
92
+ my %evfGridsZ9 = (
93
+ 0 => '3x3',
94
+ 1 => '4x4',
95
+ 2 => '2.35:1',
96
+ 3 => '1.85:1',
97
+ 4 => '5:4',
98
+ 5 => '4:3',
99
+ 6 => '1:1',
100
+ 7 => '16:9',
101
+ 8 => '90%',
102
+ );
103
+ my %flicksZ9 = (
104
+ 0 => 'Rating',
105
+ 1 => 'Select To Send (PC)',
106
+ 2 => 'Select To Send (FTP)',
107
+ 3 => 'Protect',
108
+ 4 => 'Voice Memo',
109
+ 5 => 'None',
110
+ );
111
+ my %focusModeRestrictionsZ9 = (
112
+ 0 => 'AF-S',
113
+ 1 => 'AF-C',
114
+ 2 => 'Full-time AF',
115
+ 3 => 'Manual',
116
+ 4 => 'No Restrictions',
117
+ );
118
+ my %powerOffDelayTimesZ9 = (
119
+ 0 => '2 s',
120
+ 1 => '4 s',
121
+ 3 => '10 s',
122
+ 4 => '20 s',
123
+ 5 => '30 s',
124
+ 6 => '1 min',
125
+ 7 => '5 min',
126
+ 8 => '10 min',
127
+ 11 => '30 min',
128
+ 12 => 'No Limit',
129
+ );
130
+ my %thirdHalfFull = (
131
+ 0 => '1/3 EV',
132
+ 1 => '1/2 EV',
133
+ 2 => '1 EV',
134
+ );
135
+
136
+ my %limitNolimit = ( 0 => 'Limit', 1 => 'No Limit' );
20
137
  my %offOn = ( 0 => 'Off', 1 => 'On' );
21
138
  my %onOff = ( 0 => 'On', 1 => 'Off' );
22
139
  my %noYes = ( 0 => 'No', 1 => 'Yes' );
@@ -9516,6 +9633,405 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
9516
9633
  },
9517
9634
  );
9518
9635
 
9636
+ # Z9 custom settings (ref 1) #base at offset26 + 1035 (firmware 1.0.0)
9637
+ %Image::ExifTool::NikonCustom::SettingsZ9 = (
9638
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
9639
+ WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
9640
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
9641
+ DATAMEMBER => [ 185, 529 ],
9642
+ WRITABLE => 1,
9643
+ FIRST_ENTRY => 0,
9644
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
9645
+ NOTES => 'Custom settings for the Z9.',
9646
+ 1 => {
9647
+ Name => 'CustomSettingsBank',
9648
+ PrintConv => {
9649
+ 0 => 'A',
9650
+ 1 => 'B',
9651
+ 2 => 'C',
9652
+ 3 => 'D',
9653
+ },
9654
+ },
9655
+ 3 => { # CSa1
9656
+ Name => 'AF-CPrioritySelection',
9657
+ PrintConv => {
9658
+ 0 => 'Release',
9659
+ 1 => 'Release + Focus',
9660
+ 3 => 'Focus',
9661
+ },
9662
+ },
9663
+ 5 => { Name => 'AF-SPrioritySelection', PrintConv => {0 => 'Release',1 => 'Focus'}}, #CSa2
9664
+ 7 => { # CSa3-a #when AFAreaMode is 3D-tracking, blocked shot response will be 3, regardless of this setting
9665
+ Name => 'BlockShotAFResponse',
9666
+ PrintConv => {
9667
+ 1 => '1 (Quick)',
9668
+ 2 => '2',
9669
+ 3 => '3 (Normal)',
9670
+ 4 => '4',
9671
+ 5 => '5 (Delayed)',
9672
+ },
9673
+ },
9674
+ 11 => {Name => 'AFPointSel',PrintConv => { 0 => 'Use All',1 => 'Use Half' }}, # CSa4
9675
+ 13 => { # CSa5
9676
+ Name => 'StoreByOrientation',
9677
+ PrintConv => {
9678
+ 0 => 'Off',
9679
+ 1 => 'Focus Point',
9680
+ 2 => 'Focus Point and AF-area mode',
9681
+ },
9682
+ },
9683
+ 15 => { Name => 'AFActivation', PrintConv => {0 => 'AF-On Only', 1 => 'Shutter/AF-On'}}, # CSa6-a
9684
+ 16 => { Name => 'AF-OnOutOfFocusRelease', PrintConv => {0 => 'Disable', 1 => 'Enable'}, Unknown => 1}, # CSa6-b
9685
+ 17 => { Name => 'LimitAF-AreaModeSelPinpoint', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9686
+ 19 => { Name => 'LimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9687
+ 20 => { Name => 'LimitAF-AreaModeSelWideAF_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9688
+ 21 => { Name => 'LimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8 #left out hypen to retain compatibility with tag name in NikonSettings
9689
+ 22 => { Name => 'FocusPointWrap', PrintConv => { 0 => 'No Wrap', 1 => 'Wrap' }, Unknown => 1 }, # CSa10
9690
+ 23 => { Name => 'ManualFocusPointIllumination', PrintConv => {0 => 'On During Focus Point Selection Only', 1 => 'On', }, Unknown => 1 }, # CSa11a
9691
+ 24 => { Name => 'DynamicAreaAFAssist', PrintConv => { 0 => 'Focus Point Only',1 => 'Focus and Surrounding Points',}, Unknown => 1 }, # CSa11b
9692
+ 25 => { Name => 'AF-AssistIlluminator', PrintConv => \%offOn }, # CSa12
9693
+ 26 => { Name => 'ManualFocusRingInAFMode', PrintConv => \%offOn }, # CSa14
9694
+ 27 => { Name => 'ExposureControlStepSize', PrintConv => \%thirdHalfFull }, # CSb2
9695
+ 29 => { # CSb3
9696
+ Name => 'EasyExposureCompensation',
9697
+ PrintConv => {
9698
+ 0 => 'Off',
9699
+ 1 => 'On',
9700
+ 2 => 'On (auto reset)',
9701
+ },
9702
+ },
9703
+ 31 => { # CSb5
9704
+ Name => 'CenterWeightedAreaSize',
9705
+ PrintConv => {
9706
+ 0 => '8 mm',
9707
+ 1 => '12 mm',
9708
+ 4 => 'Average',
9709
+ },
9710
+ },
9711
+ 33 => { # CSb6-a
9712
+ Name => 'FineTuneOptMatrixMetering',
9713
+ Format => 'int8s',
9714
+ ValueConv => '$val / 6',
9715
+ ValueConvInv => 'int($val*6)',
9716
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9717
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9718
+ },
9719
+ 35 => { # CSb6-b
9720
+ Name => 'FineTuneOptCenterWeighted',
9721
+ Format => 'int8s',
9722
+ ValueConv => '$val / 6',
9723
+ ValueConvInv => 'int($val*6)',
9724
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9725
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9726
+ },
9727
+ 37 => { # CSb6-c
9728
+ Name => 'FineTuneOptSpotMetering',
9729
+ Format => 'int8s',
9730
+ ValueConv => '$val / 6',
9731
+ ValueConvInv => 'int($val*6)',
9732
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9733
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9734
+ },
9735
+ 39 => { # CSb6-d
9736
+ Name => 'FineTuneOptHighlightWeighted',
9737
+ Format => 'int8s',
9738
+ ValueConv => '$val / 6',
9739
+ ValueConvInv => 'int($val*6)',
9740
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9741
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9742
+ },
9743
+ 41 => { # CSc1
9744
+ Name => 'ShutterReleaseButtonAE-L',
9745
+ PrintConv => {
9746
+ 0 => 'Off',
9747
+ 1 => 'On (Half Press)',
9748
+ 2 => 'On (Burst Mode)',
9749
+ },
9750
+ },
9751
+ 43 => { # CSc3-a
9752
+ Name => 'SelfTimerTime',
9753
+ PrintConv => {
9754
+ 0 => '2 s',
9755
+ 1 => '5 s',
9756
+ 2 => '10 s',
9757
+ 3 => '20 s',
9758
+ },
9759
+ },
9760
+ 45 => { Name => 'SelfTimerShotCount', }, # CSc3-b 1-9
9761
+ 49 => { # CSc3-c
9762
+ Name => 'SelfTimerShotInterval',
9763
+ PrintConv => {
9764
+ 0 => '0.5 s',
9765
+ 1 => '1 s',
9766
+ 2 => '2 s',
9767
+ 3 => '3 s',
9768
+ },
9769
+ },
9770
+ 51 => { Name => 'PlaybackMonitorOffTime', PrintConv => \%powerOffDelayTimesZ9 }, # CSc4-a
9771
+ 53 => { Name => 'MenuMonitorOffTime', PrintConv => \%powerOffDelayTimesZ9 }, # CSc4-b
9772
+ 55 => { Name => 'ShootingInfoMonitorOffTime',PrintConv => \%powerOffDelayTimesZ9 }, # CSc4-c
9773
+ 57 => { Name => 'ImageReviewMonitorOffTime', PrintConv => \%powerOffDelayTimesZ9 }, # CSc4-d
9774
+ 59 => { Name => 'CLModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1b
9775
+ 61 => { # CSd2 # values: 1-200 & 'No Limit'
9776
+ Name => 'MaxContinuousRelease',
9777
+ Format => 'int16s',
9778
+ ValueConv => '($val = -1 ? \'No Limit\' : $val ) ',
9779
+ },
9780
+ 65 => { Name => 'SyncReleaseMode', PrintConv => { 0 => 'No Sync', 1 => 'Sync' }, Unknown => 1 }, # CSd4
9781
+ 69 => { Name => 'LimitSelectableImageAreaDX', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-1
9782
+ 70 => { Name => 'LimitSelectableImageArea1To1', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-2
9783
+ 71 => { Name => 'LimitSelectableImageArea16To9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-3
9784
+ 72 => { Name => 'FileNumberSequence', PrintConv => \%offOn }, # CSd7
9785
+ 73 => { #CSa13b
9786
+ Name => 'FocusPeakingLevel',
9787
+ Unknown => 1,
9788
+ PrintConv => {
9789
+ 0 => 'High Sensitivity',
9790
+ 1 => 'Standard Sensitivity',
9791
+ 2 => 'Low Sensitivity',
9792
+ },
9793
+ },
9794
+ 75 => { #CSa13c
9795
+ Name => 'FocusPeakingHighlightColor',
9796
+ Unknown => 1,
9797
+ PrintConv => {
9798
+ 0 => 'Red',
9799
+ 1 => 'Yellow',
9800
+ 2 => 'Blue',
9801
+ 3 => 'White',
9802
+ },
9803
+ },
9804
+ 81 => { Name => 'ContinuousModeDisplay', PrintConv => \%offOn }, # CSd12
9805
+ 83 => { # CSe1-a Previous cameras reported this with HighSpeedSync indicator appended as '(Auto FP)'. Z9 separated the 2 fields.
9806
+ Name => 'FlashSyncSpeed',
9807
+ ValueConv => '($val-144)/8',
9808
+ PrintConv => {
9809
+ 0 => '1/60 s',
9810
+ 1 => '1/80 s',
9811
+ 2 => '1/100 s',
9812
+ 3 => '1/125 s',
9813
+ 4 => '1/160 s',
9814
+ 5 => '1/200 s',
9815
+ 6 => '1/250 s',
9816
+ },
9817
+ },
9818
+ 85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
9819
+ 87 => { # CSe2
9820
+ Name => 'FlashShutterSpeed',
9821
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
9822
+ PrintConv => {
9823
+ 0 => '1 s',
9824
+ 1 => '1/2 s',
9825
+ 2 => '1/4 s',
9826
+ 3 => '1/8 s',
9827
+ 4 => '1/15 s',
9828
+ 5 => '1/30 s',
9829
+ 6 => '1/60 s',
9830
+ 7 => '30 s',
9831
+ 8 => '15 s',
9832
+ 9 => '8 s',
9833
+ 10 => '4 s',
9834
+ 11 => '2 s',
9835
+ },
9836
+ },
9837
+ 89 => { Name => 'FlashExposureCompArea', PrintConv => { 0 => 'Entire Frame', 1 => 'Background Only' } }, # CSe3
9838
+ 91 => { Name => 'AutoFlashISOSensitivity', PrintConv => { 0 => 'Subject and Background',1 => 'Subject Only'} }, # CSe4
9839
+ 93 => { Name => 'ModelingFlash', PrintConv => \%offOn }, # CSe5
9840
+ 95 => { # CSe6
9841
+ Name => 'AutoBracketModeM',
9842
+ PrintConv => {
9843
+ 0 => 'Flash/Speed',
9844
+ 1 => 'Flash/Speed/Aperture',
9845
+ 2 => 'Flash/Aperture',
9846
+ 3 => 'Flash Only',
9847
+ 4 => 'Flash/ISO',
9848
+ },
9849
+ },
9850
+ 97 => { Name => 'AutoBracketOrder', PrintConv => { 0 => '0,-,+',1 => '-,0,+' } }, # CSe7
9851
+ 99 => { Name => 'Func1Button', PrintConv => \%buttonsZ9}, # CSf2-a
9852
+ #101 Func1Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-a
9853
+ #103 Func1Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-a
9854
+ #105 Func1Button submenu: AreaMode+AF-On 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-a
9855
+ #109 Func1Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-a
9856
+ #111 Func1Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-a
9857
+ #113 Func1Button & Func1ButtonPlayback submenu: Rating # CSf2-a & CSf3a 0=>'Candidate For Deletion' 6=>''None'
9858
+ 115 => { Name => 'Func2Button', PrintConv => \%buttonsZ9}, # CSf2-b
9859
+ #117 Func2Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-b
9860
+ #119 Func2Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-b
9861
+ #121 Func2Button submenu: AreaMode+AF-On 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-b
9862
+ #125 Func2Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-b
9863
+ #127 Func2Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-b
9864
+ #129 Func2Button & Func2ButtonPlayback submenu: Rating # CSf2-b & CSf3b 0=>'Candidate For Deletion' 6=>''None'
9865
+ 131 => { Name => 'AFOnButton', PrintConv => \%buttonsZ9}, # CSf2-c
9866
+ 143 => { Name => 'SubSelector', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf2-g
9867
+ 155 => { Name => 'AssignMovieRecordButton', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf2-m
9868
+ 159 => { Name => 'LensFunc1Button', PrintConv => \%buttonsZ9}, # CSf2-o
9869
+ 167 => { Name => 'LensFunc2Button', PrintConv => \%buttonsZ9}, # CSf2-p
9870
+ 173 => { # CSf2-q
9871
+ Name => 'LensControlRing',
9872
+ PrintConv => {
9873
+ 0 => 'None (Disabled)',
9874
+ 1 => 'Focus (M/A)',
9875
+ 2 => 'ISO Sensitivity',
9876
+ 3 => 'Exposure Compensation',
9877
+ 4 => 'Aperture',
9878
+ },
9879
+ },
9880
+ 175 => { Name => 'MultiSelectorShootMode', PrintConv => \%buttonsZ9}, # CSf2-h called the OK button in camera, tag name retained for compatibility
9881
+ 179 => { Name => 'MultiSelectorPlaybackMode', PrintConv => \%buttonsZ9}, # CSf3f
9882
+ 183 => { Name => 'ShutterSpeedLock', PrintConv => \%offOn }, # CSf4-a
9883
+ 184 => { Name => 'ApertureLock', PrintConv => \%offOn }, # CSf4-b
9884
+ 185 => { # CSf5-a Previous cameras reported this tag as part of CmdDialsReverseRotation. Blend with CSf5-b separate settings together to match extant tag name and values
9885
+ Name => 'CmdDialsReverseRotExposureComp',
9886
+ RawConv => '$$self{CmdDialsReverseRotExposureComp} = $val',
9887
+ Hidden => 1,
9888
+ },
9889
+ 186 => [{ # CSf5-a (continued from above)
9890
+ Name => 'CmdDialsReverseRotation',
9891
+ Condition => '$$self{CmdDialsReverseRotExposureComp} == 0',
9892
+ PrintConv => {
9893
+ 0 => 'No',
9894
+ 1 => 'Shutter Speed & Aperture',
9895
+ },
9896
+ },{
9897
+ Name => 'CmdDialsReverseRotation',
9898
+ PrintConv => {
9899
+ 0 => 'Exposure Compensation',
9900
+ 1 => 'Exposure Compensation, Shutter Speed & Aperture',
9901
+ },
9902
+ }],
9903
+ 191 => { Name => 'UseDialWithoutHold', PrintConv => \%offOn, Unknown => 1 }, # CSf6
9904
+ 193 => { Name => 'ReverseIndicators', PrintConv => { 0 => '+ 0 -', 1 => '- 0 +' }, Unknown => 1 }, # CSf7
9905
+ 195 => { Name => 'MovieFunc1Button', PrintConv => \%buttonsZ9}, # CSg2-a
9906
+ 203 => { Name => 'MovieAF-OnButton', PrintConv => \%buttonsZ9}, # CSg2-f
9907
+ 217 => { Name => 'MovieMultiSelector', PrintConv => \%buttonsZ9, Unknown => 1}, # CSg2-h
9908
+ 221 => { Name => 'MovieAFSpeed', ValueConv => '$val - 5', ValueConvInv => '$val + 6' }, # CSg6-a
9909
+ 223 => { Name => 'MovieAFSpeedApply', rintConv => {0 => 'Always', 1 => 'Only During Recording'},}, # CSg6-b
9910
+ 225 => { # CSg7
9911
+ Name => 'MovieAFTrackingSensitivity',
9912
+ PrintConv => {
9913
+ 0 => '1 (High)',
9914
+ 1 => '2',
9915
+ 2 => '3',
9916
+ 3 => '4 (Normal)',
9917
+ 4 => '5',
9918
+ 5 => '6',
9919
+ 6 => '7 (Low)',
9920
+ },
9921
+ },
9922
+ 257 => { Name => 'LCDIllumination', PrintConv => \%offOn, Unknown => 1 }, # CSd11
9923
+ 258 => { Name => 'ExtendedShutterSpeeds', PrintConv => \%offOn }, # CSd5
9924
+ 259 => { Name => 'SubjectMotion', PrintConv => {0 => 'Erratic', 1 => 'Steady'} }, # CSa3-b
9925
+ 261 => { Name => 'FocusPointPersistence', PrintConv => {0 => 'Auto', 1 => 'Off'} }, # CSa7
9926
+ 263 => { Name => 'AutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
9927
+ 267 => { Name => 'CHModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1a
9928
+ 269.1 => { Name => 'LimitReleaseModeSelCL', Mask => 0x02, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-a
9929
+ 269.2 => { Name => 'LimitReleaseModeSelCH', Mask => 0x04, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-b
9930
+ 269.3 => { Name => 'LimitReleaseModeSelC30', Mask => 0x10, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-e
9931
+ 269.4 => { Name => 'LimitReleaseModeSelC120', Mask => 0x40, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-c
9932
+ 269.5 => { Name => 'LimitReleaseModeSelSelf', Mask => 0x80, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-d
9933
+ 273 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
9934
+ 277 => { Name => 'VerticalFuncButton', PrintConv => \%buttonsZ9}, # CSf2-c
9935
+ 281 => { Name => 'Func3Button', PrintConv => \%buttonsZ9}, # CSf2-c
9936
+ 285 => { Name => 'VerticalAFOnButton', PrintConv => \%buttonsZ9}, # CSf2-l
9937
+ 293 => { Name => 'VerticalMultiSelectorPlaybackMode', PrintConv => { 0 => 'Image Scroll L/R', 1 => 'Image Scroll Up/Down' }, Unknown => 1}, # CSf3-j
9938
+ 295 => { Name => 'MovieFunc3Button', PrintConv => \%buttonsZ9}, # CSg2-c
9939
+ 335 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9940
+ 336 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9941
+ 337 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9942
+ 339 => { Name => 'LimitAF-AreaModeSel3DTracking', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9943
+ 341 => { Name => 'PlaybackFlickUp', PrintConv => \%flicksZ9, Unknown => 1}, # CSf11-a
9944
+ 345 => { Name => 'PlaybackFlickDown', PrintConv => \%flicksZ9, Unknown => 1}, # CSf11-b
9945
+ 349 => { Name => 'ISOStepSize', PrintConv => \%thirdHalfFull }, # CSb1
9946
+ 355 => { Name => 'ReverseFocusRing', PrintConv => { 0 => 'Not Reversed', 1 => 'Reversed' } }, # CSf8
9947
+ 356 => { Name => 'EVFImageFrame', PrintConv => \%offOn, Unknown => 1 }, # CSd14
9948
+ 357 => { Name => 'EVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSd15
9949
+ 359 => { Name => 'VirtualHorizonStyle', PrintConv => {0 => 'Type A (Cockpit)', 1 => 'Type B (Sides)' }, Unknown => 1}, #CSd16
9950
+ 373 => { Name => 'Func4Button', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf2-e
9951
+ 379 => { Name => 'AudioButton', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf2-i
9952
+ 381 => { Name => 'QualityButton', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf2-j
9953
+ 399 => { Name => 'VerticalMultiSelector', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf2-k
9954
+ 421 => { Name => 'Func1ButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-a
9955
+ 423 => { Name => 'Func2ButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-b
9956
+ 425 => { Name => 'Func3ButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-c
9957
+ 431 => { Name => 'Func4ButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-e
9958
+ 437 => { Name => 'MovieRecordButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-m
9959
+ 439 => { Name => 'VerticalFuncButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-d
9960
+ 441 => { Name => 'AudioButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-g
9961
+ 447 => { Name => 'QualityButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-h
9962
+ 467 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
9963
+ 453 => { Name => 'WhiteBalanceButtonPlaybackMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSf3-i
9964
+ 459 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
9965
+ 463 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
9966
+ 469 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf10
9967
+ 481 => { Name => 'VerticalMovieFuncButton', PrintConv => \%buttonsZ9, Unknown => 1}, # CSg2-d
9968
+ 505 => { Name => 'VerticalMovieAFOnButton', PrintConv => \%buttonsZ9, Unknown => 1}, # CSg2-l
9969
+ 515 => { Name => 'MovieAFAreaMode', PrintConv => \%buttonsZ9, Unknown => 1}, # CSg2-e
9970
+ #521 => { Name => 'MovieLimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-a
9971
+ #522 => { Name => 'MovieLimitAF-AreaModeSelWideAF_W', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-b
9972
+ #523 => { Name => 'MovieLimitAF-AreaModeSelSubjectTrack', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-c
9973
+ #524 => { Name => 'MovieLimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-d
9974
+ #525 => { Name => 'MovieAutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
9975
+ 527 => { Name => 'HDMIViewAssist', PrintConv => \%offOn, Unknown => 1 }, # CSg8
9976
+ 529 => { # CSg9-a
9977
+ Name => 'ZebraPatternToneRange',
9978
+ Unknown => 1,
9979
+ RawConv => '$$self{ZebraPatternToneRange} = $val',
9980
+ PrintConv => {
9981
+ 0 => 'Off',
9982
+ 1 => 'Highlights',
9983
+ 2 => 'Midtones',
9984
+ },
9985
+ },
9986
+ 531 => { Name => 'MovieZebraPattern', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} != 0', PrintConv => {0 => 'Pattern 1', 1 => 'Pattern 2'}, Unknown => 1}, # CSg9-b
9987
+ 533 => { Name => 'MovieHighlightDisplayThreshold', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 1', Unknown => 1 }, # CSg9-c 120-25 when highlights are the selected tone range
9988
+ 535 => { Name => 'MovieMidtoneDisplayValue', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', Unknown => 1 }, # CSg9-d1 when midtones are the selected tone range
9989
+ 537 => { Name => 'MovieMidtoneDisplayRange', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', PrintConv => '"+/-$val"', Unknown => 1 }, # CSg9-d1 when midtones are the selected tone range
9990
+ #539 CS g-10 LimitZebraPatternToneRange 0=>'No Restrictions', 1=> 'Highlights', 2=> 'Midtones'
9991
+ 541 => { Name => 'MovieEVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSg11
9992
+ 549 => { Name => 'MovieShutterSpeedLock', PrintConv => \%offOn, Unknown => 1}, # CSg4-a
9993
+ 550 => { Name => 'MovieFocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
9994
+ 563 => { Name => 'MatrixMetering', PrintConv => { 0 => 'Face Detection Off', 1 => 'Face Detection On' }, Unknown => 1 }, # CSb4
9995
+ 564 => { Name => 'AF-CFocusDisplay', PrintConv => \%offOn }, # CSa11c
9996
+ 565 => { Name => 'FocusPeakingDisplay', PrintConv => \%offOn, Unknown => 1}, # CSa13a
9997
+ 567 => { # CSb7
9998
+ Name => 'KeepExposure',
9999
+ PrintConv => {
10000
+ 0 => 'Off',
10001
+ 1 => 'Shutter Speed',
10002
+ 2 => 'ISO',
10003
+ },
10004
+ },
10005
+ #569 CDd8 (adjust viewfinder/monitor hue, brightness and/or white balance settings) 0=>'No adjustment', 1=>'Adjust'. Related ontrols & adjustments stored in following dozen bytes or so.
10006
+ 585 => { Name => 'StarlightView', PrintConv => \%offOn, Unknown => 1 }, # CSd9
10007
+ 587 => { # CSd10-a
10008
+ Name => 'EVFWarmDisplayMode',
10009
+ Unknown => 1,
10010
+ PrintConv => {
10011
+ 0 => 'Off',
10012
+ 1 => 'Mode 1',
10013
+ 2 => 'Mode 2',
10014
+ },
10015
+ },
10016
+ 589 => { # CSd10-b values in range -3 to +3
10017
+ Name => 'EVFWarmDisplayBrightness',
10018
+ Format => 'int8s',
10019
+ Unknown => 1,
10020
+ },
10021
+ 591 => { #CSd13
10022
+ Name => 'EVFReleaseIndicator',
10023
+ Unknown => 1,
10024
+ PrintConv => {
10025
+ 0 => 'Off',
10026
+ 1 => 'Type A (Dark)',
10027
+ 2 => 'Type B (Border)',
10028
+ 3 => 'Type C (Sides)',
10029
+ },
10030
+ },
10031
+ 601 => { Name => 'MovieApertureLock', PrintConv => \%offOn, Unknown => 1 }, # CSg4-b
10032
+ 607 => { Name => 'FlickAdvanceDirection', PrintConv => { 0 => 'Left to Right', 1 => 'Right to Left' }, Unknown => 1 }, # CSf11-c
10033
+ );
10034
+
9519
10035
  1; # end
9520
10036
 
9521
10037
  __END__
@@ -9538,16 +10054,16 @@ this information.
9538
10054
 
9539
10055
  =head1 AUTHOR
9540
10056
 
9541
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
10057
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
9542
10058
 
9543
10059
  This library is free software; you can redistribute it and/or modify it
9544
10060
  under the same terms as Perl itself.
9545
10061
 
9546
10062
  =head1 ACKNOWLEDGEMENTS
9547
10063
 
9548
- Thanks to Jens Duttke and Warren Hatch for their help decoding the D300 and
9549
- D3 custom settings. And thanks to the customer service personnel at Best
9550
- Buy for not bugging me while I spent lots of time playing with their
10064
+ Thanks to Jens Duttke and Warren Hatch for their help decoding the D300, D3
10065
+ and Z9 custom settings. And thanks to the customer service personnel at
10066
+ Best Buy for not bugging me while I spent lots of time playing with their
9551
10067
  cameras.
9552
10068
 
9553
10069
  =head1 SEE ALSO