exiftool-vendored.pl 12.96.0 → 12.97.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.
@@ -15,7 +15,7 @@ package Image::ExifTool::NikonCustom;
15
15
  use strict;
16
16
  use vars qw($VERSION @ISA @EXPORT_OK %buttonsZ9);
17
17
 
18
- $VERSION = '1.25';
18
+ $VERSION = '1.26';
19
19
 
20
20
  @ISA = qw(Exporter);
21
21
  @EXPORT_OK = qw(%buttonsZ9);
@@ -94,6 +94,7 @@ $VERSION = '1.25';
94
94
  89 => 'Set Picture Control (HLG)',
95
95
  90 => 'Skin Softening',
96
96
  91 => 'Portrait Impression Balance',
97
+ 92 => 'Fast AF-On',
97
98
  97 => 'High Frequency Flicker Reduction',
98
99
  98 => 'Switch FX/DX',
99
100
  99 => 'View Mode (Photo LV)',
@@ -113,7 +114,7 @@ $VERSION = '1.25';
113
114
  115 => 'Delete',
114
115
  116 => 'Pixel Shift Shooting',
115
116
  117 => 'Cycle AF-area Mode',
116
- 118 => 'Raw Processing (Current)', #118-131 are Retouch options
117
+ 118 => 'Raw Processing (Current)', #118-131 are Playback Retouch options
117
118
  119 => 'Raw Processing (Multiple)',
118
119
  120 => 'Trim',
119
120
  121 => 'Resize (Current)',
@@ -129,6 +130,103 @@ $VERSION = '1.25';
129
130
  131 => 'Motion Blend',
130
131
  },
131
132
  );
133
+ my %buttonsZ6III= (
134
+ SeparateTable => 'ButtonsZ6III',
135
+ PrintConv => {
136
+ 0 => 'None',
137
+ 1 => 'Preview',
138
+ 3 => 'FV Lock',
139
+ 4 => 'AE/AF Lock',
140
+ 5 => 'AE Lock Only',
141
+ 6 => 'AE Lock (reset on release)',
142
+ 7 => 'AE Lock (hold)',
143
+ 8 => 'AF Lock Only',
144
+ 9 => 'AF-On',
145
+ 10 => 'Flash Disable/Enable',
146
+ 11 => 'Bracketing Burst',
147
+ 12 => '+NEF(RAW)',
148
+ 18 => 'Virtual Horizon',
149
+ 19 => 'Synchronized Release',
150
+ 20 => 'My Menu',
151
+ 21 => 'My Menu Top Item',
152
+ 22 => 'Playback',
153
+ 23 => 'Rating',
154
+ 24 => 'Protect',
155
+ 25 => 'Zoom',
156
+ 26 => 'Focus Peaking',
157
+ 27 => 'Flash Mode/Compensation',
158
+ 28 => 'Image Area',
159
+ 30 => 'Non-CPU Lens',
160
+ 31 => 'Active-D Lighting',
161
+ 32 => 'Exposure Delay Mode',
162
+ 33 => '1 Stop Speed/Aperture',
163
+ 34 => 'White Balance',
164
+ 35 => 'Metering',
165
+ 36 => 'Auto Bracketing',
166
+ 37 => 'Multiple Exposure',
167
+ 38 => 'HDR Overlay',
168
+ 39 => 'Picture Control',
169
+ 40 => 'Quality',
170
+ 41 => 'Focus Mode/AF AreaMode',
171
+ 42 => 'Select Center Focus Point',
172
+ 44 => 'Record Movie',
173
+ 45 => 'Thumbnail On/Off',
174
+ 46 => 'View Histograms',
175
+ 47 => 'Choose Folder',
176
+ 48 => 'Power Aperture (Open)',
177
+ 49 => 'Power Aperture (Close)',
178
+ 52 => 'Microphone Sensitivity',
179
+ 53 => 'Release Mode',
180
+ 57 => 'Preset Focus Point',
181
+ 58 => 'AE/AWB Lock (hold)',
182
+ 59 => 'AF-AreaMode',
183
+ 60 => 'AF-AreaMode + AF-On',
184
+ 61 => 'Recall Shooting Functions',
185
+ 64 => 'Filtered Playback',
186
+ 65 => 'Same as AF-On',
187
+ 66 => 'Voice Memo',
188
+ 70 => 'Photo Shooting Bank',
189
+ 71 => 'ISO',
190
+ 72 => 'Shooting Mode',
191
+ 73 => 'Exposure Compensation',
192
+ 76 => 'Silent Mode',
193
+ 78 => 'LiveView Information',
194
+ 79 => 'AWB Lock (hold)',
195
+ 80 => 'Grid Display',
196
+ 81 => 'Starlight View',
197
+ 82 => 'Select To Send (PC)',
198
+ 83 => 'Select To Send (FTP)',
199
+ 84 => 'Pattern Tone Range',
200
+ 85 => 'Control Lock',
201
+ 86 => 'Save Focus Position',
202
+ 87 => 'Recall Focus Position',
203
+ 88 => 'Recall Shooting Functions (Hold)',
204
+ 89 => 'Set Picture Control (HLG)',
205
+ 90 => 'Skin Softening',
206
+ 91 => 'Portrait Impression Balance',
207
+ 97 => 'High Frequency Flicker Reduction',
208
+ 98 => 'Switch FX/DX',
209
+ 99 => 'View Mode (Photo LV)',
210
+ 100 => 'Photo Flicker Reduction',
211
+ 101 => 'Filtered Playback (Select Criteria)',
212
+ 103 => 'Start Series Playback',
213
+ 104 => 'View Assist',
214
+ 105 => 'Hi-Res Zoom+',
215
+ 106 => 'Hi-Res Zoom-',
216
+ 108 => 'Override Other Cameras',
217
+ 109 => 'DISP - Cycle Information Display (shooting)', # Shooting Mode
218
+ 110 => 'DISP - Cycle Information Display (playback)', # Playback mode
219
+ 111 => 'Resume Shooting',
220
+ 112 => 'Switch Eyes',
221
+ 113 => 'Power Zoom +',
222
+ 114 => 'Power Zoom -',
223
+ 115 => 'Delete',
224
+ 116 => 'Pixel Shift Shooting',
225
+ 117 => 'Cycle AF-area Mode',
226
+ 118 => 'Pixel Shift Shooting',
227
+ 119 => 'Move Focus Point',
228
+ },
229
+ );
132
230
  my %dialsZ9 = (
133
231
  0 => '1 Frame',
134
232
  1 => '10 Frames',
@@ -199,6 +297,17 @@ my %thirdHalfFull = (
199
297
  1 => '1/2 EV',
200
298
  2 => '1 EV',
201
299
  );
300
+ my %touchFnAreaZ6III = (
301
+ 0 => 'Entire Frame',
302
+ 1 => 'Right Half',
303
+ 2 => 'Top Right Quadrant',
304
+ 3 => 'Bottom Right Quadrant',
305
+ 4 => 'Left Half',
306
+ 5 => 'Top Left Quadrant',
307
+ 6 => 'Bottom Left Quadrant',
308
+ 7 => 'Top Half',
309
+ 8 => 'Bottom Half',
310
+ );
202
311
 
203
312
  my %limitNolimit = ( 0 => 'Limit', 1 => 'No Limit' );
204
313
  my %offOn = ( 0 => 'Off', 1 => 'On' );
@@ -9700,6 +9809,308 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
9700
9809
  },
9701
9810
  );
9702
9811
 
9812
+ # Z6III custom settings (ref 1) #base at offset27 + 1255 (firmware 1.0.0)
9813
+ %Image::ExifTool::NikonCustom::SettingsZ6III = (
9814
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
9815
+ WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
9816
+ CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
9817
+ WRITABLE => 1,
9818
+ FIRST_ENTRY => 0,
9819
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
9820
+ NOTES => 'Custom settings for the Z6III.',
9821
+ DATAMEMBER => [ 189 ],
9822
+ 3 => { # CSa1
9823
+ Name => 'AF-CPrioritySelection',
9824
+ PrintConv => {
9825
+ 0 => 'Release',
9826
+ 1 => 'Release + Focus',
9827
+ 3 => 'Focus',
9828
+ },
9829
+ },
9830
+ 5 => { Name => 'AF-SPrioritySelection', PrintConv => {0 => 'Release',1 => 'Focus'}}, #CSa2
9831
+ 7 => { # CSa3 #when AFAreaMode is 3D-tracking, blocked shot response will be 3, regardless of this setting
9832
+ Name => 'BlockShotAFResponse',
9833
+ PrintConv => {
9834
+ 1 => '1 (Quick)',
9835
+ 2 => '2',
9836
+ 3 => '3 (Normal)',
9837
+ 4 => '4',
9838
+ 5 => '5 (Delayed)',
9839
+ },
9840
+ },
9841
+ 11 => {Name => 'AFPointSel',PrintConv => { 0 => 'Use All',1 => 'Use Half' }}, # CSa4
9842
+ 13 => { # CSa5
9843
+ Name => 'StoreByOrientation',
9844
+ PrintConv => {
9845
+ 0 => 'Off',
9846
+ 1 => 'Focus Point',
9847
+ 2 => 'Focus Point and AF-area mode',
9848
+ },
9849
+ },
9850
+ 15 => { Name => 'AFActivation', PrintConv => {0 => 'AF-On Only', 1 => 'Shutter/AF-On'}}, # CSa6-a
9851
+ 16 => { Name => 'AF-OnOutOfFocusRelease', PrintConv => {0 => 'Disable', 1 => 'Enable'}, Unknown => 1}, # CSa6-b
9852
+ 17 => { Name => 'LimitAF-AreaModeSelPinpoint', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9853
+ 19 => { Name => 'LimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9854
+ 20 => { Name => 'LimitAF-AreaModeSelWideAF_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9855
+ 21 => { Name => 'LimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9856
+ 22 => { Name => 'FocusPointWrap', PrintConv => { 0 => 'No Wrap', 1 => 'Wrap' }, Unknown => 1 }, # CSa10
9857
+ 23 => { Name => 'ManualFocusPointIllumination', PrintConv => {0 => 'On During Focus Point Selection Only', 1 => 'On', }, Unknown => 1 }, # CSa10a
9858
+ 24 => { Name => 'DynamicAreaAFAssist', PrintConv => { 0 => 'Focus Point Only',1 => 'Focus and Surrounding Points',}, Unknown => 1 }, # CSa10b
9859
+
9860
+ 26 => { Name => 'AF-AssistIlluminator', PrintConv => \%offOn }, # CSa11
9861
+ 27 => { Name => 'ManualFocusRingInAFMode', PrintConv => \%offOn }, # CSa14
9862
+ 29 => { Name => 'ExposureControlStepSize', PrintConv => \%thirdHalfFull }, # CSb2
9863
+ 31 => { # CSb3
9864
+ Name => 'EasyExposureCompensation',
9865
+ PrintConv => {
9866
+ 0 => 'Off',
9867
+ 1 => 'On',
9868
+ 2 => 'On (auto reset)',
9869
+ },
9870
+ },
9871
+ 33 => { # CSb5
9872
+ Name => 'CenterWeightedAreaSize',
9873
+ PrintConv => {
9874
+ 0 => 'Standard',
9875
+ 1 => 'Small',
9876
+ 4 => 'Average',
9877
+ },
9878
+ },
9879
+ 35 => { # CSb6-a
9880
+ Name => 'FineTuneOptMatrixMetering',
9881
+ Format => 'int8s',
9882
+ ValueConv => '$val / 6',
9883
+ ValueConvInv => 'int($val*6)',
9884
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9885
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9886
+ },
9887
+ 37 => { # CSb6-b
9888
+ Name => 'FineTuneOptCenterWeighted',
9889
+ Format => 'int8s',
9890
+ ValueConv => '$val / 6',
9891
+ ValueConvInv => 'int($val*6)',
9892
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9893
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9894
+ },
9895
+ 39 => { # CSb6-c
9896
+ Name => 'FineTuneOptSpotMetering',
9897
+ Format => 'int8s',
9898
+ ValueConv => '$val / 6',
9899
+ ValueConvInv => 'int($val*6)',
9900
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9901
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9902
+ },
9903
+ 41 => { # CSb6-d
9904
+ Name => 'FineTuneOptHighlightWeighted',
9905
+ Format => 'int8s',
9906
+ ValueConv => '$val / 6',
9907
+ ValueConvInv => 'int($val*6)',
9908
+ PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
9909
+ PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
9910
+ },
9911
+ 43 => { # CSc1
9912
+ Name => 'ShutterReleaseButtonAE-L',
9913
+ PrintConv => {
9914
+ 0 => 'Off',
9915
+ 1 => 'On (Half Press)',
9916
+ 2 => 'On (Burst Mode)',
9917
+ },
9918
+ },
9919
+ 45 => { # CSc2-a
9920
+ Name => 'SelfTimerTime',
9921
+ PrintConv => {
9922
+ 0 => '2 s',
9923
+ 1 => '5 s',
9924
+ 2 => '10 s',
9925
+ 3 => '20 s',
9926
+ },
9927
+ },
9928
+ 49 => { Name => 'SelfTimerShotCount', }, # CSc2-b 1-9
9929
+ 53 => { # CSc2-c
9930
+ Name => 'SelfTimerShotInterval',
9931
+ PrintConv => {
9932
+ 0 => '0.5 s',
9933
+ 1 => '1 s',
9934
+ 2 => '2 s',
9935
+ 3 => '3 s',
9936
+ },
9937
+ },
9938
+ 55 => { Name => 'PlaybackMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc3-a
9939
+ 57 => { Name => 'MenuMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc3-b
9940
+ 59 => { Name => 'ImageReviewMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc3-d
9941
+ 61 => { Name => 'ShootingInfoMonitorOffTime',%powerOffDelayTimesZ9 }, # CSc3-c
9942
+
9943
+ 63 => { Name => 'CLModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1b
9944
+ 65 => { # CSd2 # values: 1-200 & 'No Limit'
9945
+ Name => 'MaxContinuousRelease',
9946
+ Format => 'int16s',
9947
+ ValueConv => '($val eq -1 ? \'No Limit\' : $val ) ',
9948
+ },
9949
+ 69 => { Name => 'SyncReleaseMode', PrintConv => { 0 => 'No Sync', 1 => 'Sync' }, Unknown => 1 }, # CSd4
9950
+ 75 => { Name => 'LimitSelectableImageAreaDX', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-1
9951
+ 76 => { Name => 'LimitSelectableImageArea1To1', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-2
9952
+ 77 => { Name => 'LimitSelectableImageArea16To9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-3
9953
+ 78 => { Name => 'FileNumberSequence', PrintConv => \%offOn }, # CSd7
9954
+ 81 => { #CSa12b
9955
+ Name => 'FocusPeakingLevel',
9956
+ Unknown => 1,
9957
+ PrintConv => {
9958
+ 0 => 'High Sensitivity',
9959
+ 1 => 'Standard Sensitivity',
9960
+ 2 => 'Low Sensitivity',
9961
+ },
9962
+ },
9963
+ 83 => { #CSa12c
9964
+ Name => 'FocusPeakingHighlightColor',
9965
+ Unknown => 1,
9966
+ PrintConv => {
9967
+ 0 => 'Red',
9968
+ 1 => 'Yellow',
9969
+ 2 => 'Blue',
9970
+ 3 => 'White',
9971
+ },
9972
+ },
9973
+ 85 => { Name => 'ContinuousModeDisplay', PrintConv => \%offOn }, # CSd14
9974
+ 87 => { # CSe1-a Previous cameras reported this with HighSpeedSync indicator appended as '(Auto FP)'.
9975
+ Name => 'FlashSyncSpeed',
9976
+ ValueConv => '($val-144)/8',
9977
+ PrintConv => {
9978
+ 0 => '1/60 s',
9979
+ 1 => '1/80 s',
9980
+ 2 => '1/100 s',
9981
+ 3 => '1/125 s',
9982
+ 4 => '1/160 s',
9983
+ 5 => '1/200 s',
9984
+ },
9985
+ },
9986
+ 89 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
9987
+ 91 => { # CSe2
9988
+ Name => 'FlashShutterSpeed',
9989
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accommodate 4 new values?
9990
+ PrintConv => {
9991
+ 0 => '1 s',
9992
+ 1 => '1/2 s',
9993
+ 2 => '1/4 s',
9994
+ 3 => '1/8 s',
9995
+ 4 => '1/15 s',
9996
+ 5 => '1/30 s',
9997
+ 6 => '1/60 s',
9998
+ 7 => '30 s',
9999
+ 8 => '15 s',
10000
+ 9 => '8 s',
10001
+ 10 => '4 s',
10002
+ 11 => '2 s',
10003
+ },
10004
+ },
10005
+ 93 => { Name => 'FlashExposureCompArea', PrintConv => { 0 => 'Entire Frame', 1 => 'Background Only' } }, # CSe3
10006
+ 95 => { Name => 'AutoFlashISOSensitivity', PrintConv => { 0 => 'Subject and Background',1 => 'Subject Only'} }, # CSe4
10007
+ 97 => { Name => 'ModelingFlash', PrintConv => \%offOn }, # CSe5
10008
+ 99 => { # CSe6
10009
+ Name => 'AutoBracketModeM',
10010
+ PrintConv => {
10011
+ 0 => 'Flash/Speed',
10012
+ 1 => 'Flash/Speed/Aperture',
10013
+ 2 => 'Flash/Aperture',
10014
+ 3 => 'Flash Only',
10015
+ 4 => 'Flash/ISO',
10016
+ },
10017
+ },
10018
+ 101 => { Name => 'AutoBracketOrder', PrintConv => { 0 => '0,-,+',1 => '-,0,+' } }, # CSe7
10019
+ 103 => { Name => 'Func1Button', %buttonsZ6III }, # CSf2-a
10020
+ 119 => { Name => 'Func2Button', %buttonsZ6III }, # CSf2-b
10021
+ 135 => { Name => 'AFOnButton', %buttonsZ6III }, # CSf2-d
10022
+ 147 => { Name => 'SubSelector', %buttonsZ6III , Unknown => 1}, # CSf2-g
10023
+ 159 => { Name => 'AssignMovieRecordButton', %buttonsZ6III , Unknown => 1}, # CSf2-m
10024
+ 163 => { Name => 'LensFunc1Button', %buttonsZ6III }, # CSf2-q
10025
+ 171 => { Name => 'LensFunc2Button', %buttonsZ6III }, # CSf2-p
10026
+ 177 => { # CSf2-u
10027
+ Name => 'LensControlRing',
10028
+ PrintConv => {
10029
+ 0 => 'None (Disabled)',
10030
+ 1 => 'Focus (M/A)',
10031
+ 2 => 'ISO Sensitivity',
10032
+ 3 => 'Exposure Compensation',
10033
+ 4 => 'Aperture',
10034
+ },
10035
+ },
10036
+ 179 => { Name => 'MultiSelectorShootMode', %buttonsZ6III }, # CSf2-h called the OK button in camera, tag name retained for compatibility
10037
+ 183 => { Name => 'MultiSelectorPlaybackMode', %buttonsZ6III }, # CSf3f
10038
+ 187 => { Name => 'ShutterSpeedLock', PrintConv => \%offOn }, # CSf5-a
10039
+ 188 => { Name => 'ApertureLock', PrintConv => \%offOn }, # CSf5-b
10040
+ 189 => { # CSf6-a Previous cameras reported this tag as part of CmdDialsReverseRotation. Blend with CSf5-b separate settings together to match extant tag name and values
10041
+ Name => 'CmdDialsReverseRotExposureComp',
10042
+ RawConv => '$$self{CmdDialsReverseRotExposureComp} = $val',
10043
+ Hidden => 1,
10044
+ },
10045
+ 190 => [{ # CSf6-b (continued from above)
10046
+ Name => 'CmdDialsReverseRotation',
10047
+ Condition => '$$self{CmdDialsReverseRotExposureComp} == 0',
10048
+ PrintConv => {
10049
+ 0 => 'No',
10050
+ 1 => 'Shutter Speed & Aperture',
10051
+ },
10052
+ },{
10053
+ Name => 'CmdDialsReverseRotation',
10054
+ PrintConv => {
10055
+ 0 => 'Exposure Compensation',
10056
+ 1 => 'Exposure Compensation, Shutter Speed & Aperture',
10057
+ },
10058
+ }],
10059
+ 195 => { Name => 'UseDialWithoutHold', PrintConv => \%offOn, Unknown => 1 }, # CSf7
10060
+ 197 => { Name => 'ReverseIndicators', PrintConv => { 0 => '+ 0 -', 1 => '- 0 +' }, Unknown => 1 }, # CSf8
10061
+ 199 => { Name => 'MovieFunc1Button', %buttonsZ6III }, # CSg2-a
10062
+ 205 => { Name => 'MovieFunc2Button', %buttonsZ6III }, # CSg2-b
10063
+ 211 => { Name => 'MovieAF-OnButton', %buttonsZ6III }, # CSg2-f
10064
+ 223 => { # CSg2-z
10065
+ Name => 'MovieLensControlRing',
10066
+ PrintConv => {
10067
+ 0 => 'None (Disabled)',
10068
+ 2 => 'ISO Sensitivity',
10069
+ 3 => 'Exposure Compensation',
10070
+ 4 => 'Power Aperture',
10071
+ 5 => 'Hi-Res Zoom',
10072
+ },
10073
+ },
10074
+ 225 => { Name => 'MovieMultiSelector', %buttonsZ6III, Unknown => 1}, # CSg2-h
10075
+ 229 => { Name => 'MovieAFSpeed', ValueConv => '$val - 5', ValueConvInv => '$val + 5' }, # CSg5-a
10076
+ 231 => { Name => 'MovieAFSpeedApply', PrintConv => {0 => 'Always', 1 => 'Only During Recording'},}, # CSg5-b
10077
+ 233 => { # CSg6
10078
+ Name => 'MovieAFTrackingSensitivity',
10079
+ PrintConv => {
10080
+ 0 => '1 (High)',
10081
+ 1 => '2',
10082
+ 2 => '3',
10083
+ 3 => '4 (Normal)',
10084
+ 4 => '5',
10085
+ 5 => '6',
10086
+ 6 => '7 (Low)',
10087
+ },
10088
+ },
10089
+ 241 => { Name => 'LCDIllumination', PrintConv => \%offOn, Unknown => 1 }, # CSd13
10090
+ 242 => { Name => 'ExtendedShutterSpeeds', PrintConv => \%offOn }, # CSd7
10091
+ 245 => { Name => 'FocusPointPersistence', PrintConv => {0 => 'Auto', 1 => 'Off'} }, # CSa7
10092
+ 257 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
10093
+ 319 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10094
+ 320 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10095
+ 321 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10096
+ 323 => { Name => 'LimitAF-AreaModeSel3DTracking', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10097
+ 325 => { Name => 'PlaybackFlickUp', PrintConv => \%flicksZ9, Unknown => 1}, # CSf14-a
10098
+ 329 => { Name => 'PlaybackFlickDown', PrintConv => \%flicksZ9, Unknown => 1}, # CSf14-b
10099
+ 333 => { Name => 'ISOStepSize', PrintConv => \%thirdHalfFull }, # CSb1
10100
+ 340 => { Name => 'TouchFn', PrintConv => \%offOn, Unknown => 1}, # CSf4a
10101
+ 341 => { Name => 'TouchFnRole', %buttonsZ6III , Unknown => 1}, # CSf4b
10102
+ 345 => { Name => 'TouchFnAreaWide', PrintConv => \%touchFnAreaZ6III, Unknown => 1}, # CSf4c-1
10103
+ 347 => { Name => 'TouchFnAreaTall', PrintConv => \%touchFnAreaZ6III, Unknown => 1}, # CSf4c-2
10104
+ 350 => { Name => 'EVFImageFrame', PrintConv => \%offOn, Unknown => 1 }, # CSd16
10105
+ 351 => { Name => 'EVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSd17
10106
+ 353 => { Name => 'VirtualHorizonStyle', PrintConv => {0 => 'Type A (Cockpit)', 1 => 'Type B (Sides)' }, Unknown => 1}, #CSd18
10107
+ 415 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ6III , Unknown => 1}, # CSf3-a
10108
+ 417 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ6III , Unknown => 1}, # CSf3-b
10109
+ 431 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ6III , Unknown => 1}, # CSf3-m
10110
+ 463 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf11
10111
+ 559 => { Name => 'FocusPeakingDisplay', PrintConv => \%offOn, Unknown => 1}, # CSa12a
10112
+ );
10113
+
9703
10114
  # Z8 custom settings (ref 1) #base at offset26 + 1195 (firmware 1.0.0)
9704
10115
  %Image::ExifTool::NikonCustom::SettingsZ8 = (
9705
10116
  PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
@@ -9960,7 +10371,6 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
9960
10371
  193 => { Name => 'ReverseIndicators', PrintConv => { 0 => '+ 0 -', 1 => '- 0 +' }, Unknown => 1 }, # CSf7
9961
10372
  195 => { Name => 'MovieFunc1Button', %buttonsZ9}, # CSg2-a
9962
10373
  199 => { Name => 'MovieFunc2Button', %buttonsZ9}, # CSg2-b
9963
-
9964
10374
  203 => { Name => 'MovieAF-OnButton', %buttonsZ9}, # CSg2-f
9965
10375
  215 => { # CSg2-z
9966
10376
  Name => 'MovieLensControlRing',
@@ -9993,11 +10403,11 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
9993
10403
  261 => { Name => 'FocusPointPersistence', PrintConv => {0 => 'Auto', 1 => 'Off'} }, # CSa7
9994
10404
  263 => { Name => 'AutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
9995
10405
  267 => { Name => 'CHModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1a
9996
- 273 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
9997
- 335 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9998
- 336 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
9999
- 337 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10000
- 339 => { Name => 'LimitAF-AreaModeSel3DTracking', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10406
+ 273 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
10407
+ 335 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10408
+ 336 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10409
+ 337 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10410
+ 339 => { Name => 'LimitAF-AreaModeSel3DTracking', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
10001
10411
  341 => { Name => 'PlaybackFlickUp', PrintConv => \%flicksZ9, Unknown => 1}, # CSf12-a
10002
10412
  345 => { Name => 'PlaybackFlickDown', PrintConv => \%flicksZ9, Unknown => 1}, # CSf12-b
10003
10413
  349 => { Name => 'ISOStepSize', PrintConv => \%thirdHalfFull }, # CSb1
@@ -10008,9 +10418,9 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
10008
10418
  421 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-a
10009
10419
  423 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-b
10010
10420
  437 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-m
10011
- 453 => { Name => 'WBButtonPlaybackMode', %buttonsZ9}, #CSf2
10012
- 461 => { Name => 'CommandDialVideoPlaybackMode', PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
10013
- 465 => { Name => 'SubCommandDialVideoPlaybackMode', PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
10421
+ 453 => { Name => 'WBButtonPlaybackMode', %buttonsZ9}, # CSf2
10422
+ 461 => { Name => 'CommandDialVideoPlaybackMode', PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
10423
+ 465 => { Name => 'SubCommandDialVideoPlaybackMode',PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
10014
10424
  467 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
10015
10425
  459 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
10016
10426
  463 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
@@ -341,6 +341,7 @@ my %insvLimit = (
341
341
  },
342
342
  # djmd - DJI AC003 Osmo Action 4 cam
343
343
  #TODO djmd => { SubDirectory => { TagTable => 'Image::ExifTool::DJI::djmd', ByteOrder => 'Little-Endian' } },
344
+ # (also DJI_20240615181302_0006_D.LRF)
344
345
  # dbgi - DJI AC003 Osmo Action 4 cam -- lots more unknown stuff
345
346
  Unknown00 => { Unknown => 1 },
346
347
  Unknown01 => { Unknown => 1 },