exiftool_vendored 12.64.1 → 12.67.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +46 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +30 -19
- data/bin/lib/Image/ExifTool/Apple.pm +14 -6
- data/bin/lib/Image/ExifTool/BigTIFF.pm +8 -1
- data/bin/lib/Image/ExifTool/Canon.pm +32 -12
- data/bin/lib/Image/ExifTool/FlashPix.pm +8 -2
- data/bin/lib/Image/ExifTool/FujiFilm.pm +4 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +570 -67
- data/bin/lib/Image/ExifTool/NikonCustom.pm +862 -61
- data/bin/lib/Image/ExifTool/PDF.pm +18 -8
- data/bin/lib/Image/ExifTool/PLUS.pm +19 -4
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +18 -10
- data/bin/lib/Image/ExifTool/Samsung.pm +227 -227
- data/bin/lib/Image/ExifTool/Sony.pm +128 -24
- data/bin/lib/Image/ExifTool/TagLookup.pm +4609 -4592
- data/bin/lib/Image/ExifTool/TagNames.pod +474 -26
- data/bin/lib/Image/ExifTool/Writer.pl +8 -2
- data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
- data/bin/lib/Image/ExifTool.pm +120 -96
- data/bin/lib/Image/ExifTool.pod +41 -6
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +6 -188
@@ -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.
|
18
|
+
$VERSION = '1.24';
|
19
19
|
|
20
20
|
@ISA = qw(Exporter);
|
21
21
|
@EXPORT_OK = qw(%buttonsZ9);
|
@@ -117,6 +117,7 @@ my %dialsZ9 = (
|
|
117
117
|
6 => 'Videos Only',
|
118
118
|
7 => 'Rating',
|
119
119
|
8 => 'Page',
|
120
|
+
9 => 'Skip To First Shot In Series',
|
120
121
|
);
|
121
122
|
my %evfGridsZ9 = (
|
122
123
|
0 => '3x3',
|
@@ -9665,8 +9666,8 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9665
9666
|
},
|
9666
9667
|
);
|
9667
9668
|
|
9668
|
-
#
|
9669
|
-
%Image::ExifTool::NikonCustom::
|
9669
|
+
# Z8 custom settings (ref 1) #base at offset26 + 1195 (firmware 1.0.0)
|
9670
|
+
%Image::ExifTool::NikonCustom::SettingsZ8 = (
|
9670
9671
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
9671
9672
|
WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
|
9672
9673
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
@@ -9674,7 +9675,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9674
9675
|
WRITABLE => 1,
|
9675
9676
|
FIRST_ENTRY => 0,
|
9676
9677
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
9677
|
-
NOTES => 'Custom settings for the
|
9678
|
+
NOTES => 'Custom settings for the Z8.',
|
9678
9679
|
1 => {
|
9679
9680
|
Name => 'CustomSettingsBank',
|
9680
9681
|
PrintConv => {
|
@@ -9722,7 +9723,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9722
9723
|
23 => { Name => 'ManualFocusPointIllumination', PrintConv => {0 => 'On During Focus Point Selection Only', 1 => 'On', }, Unknown => 1 }, # CSa11a
|
9723
9724
|
24 => { Name => 'DynamicAreaAFAssist', PrintConv => { 0 => 'Focus Point Only',1 => 'Focus and Surrounding Points',}, Unknown => 1 }, # CSa11b
|
9724
9725
|
25 => { Name => 'AF-AssistIlluminator', PrintConv => \%offOn }, # CSa12
|
9725
|
-
26 => { Name => 'ManualFocusRingInAFMode', PrintConv => \%offOn }, #
|
9726
|
+
26 => { Name => 'ManualFocusRingInAFMode', PrintConv => \%offOn }, # CSa15
|
9726
9727
|
27 => { Name => 'ExposureControlStepSize', PrintConv => \%thirdHalfFull }, # CSb2
|
9727
9728
|
29 => { # CSb3
|
9728
9729
|
Name => 'EasyExposureCompensation',
|
@@ -9780,7 +9781,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9780
9781
|
2 => 'On (Burst Mode)',
|
9781
9782
|
},
|
9782
9783
|
},
|
9783
|
-
43 => { #
|
9784
|
+
43 => { # CSc2-a
|
9784
9785
|
Name => 'SelfTimerTime',
|
9785
9786
|
PrintConv => {
|
9786
9787
|
0 => '2 s',
|
@@ -9789,8 +9790,8 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9789
9790
|
3 => '20 s',
|
9790
9791
|
},
|
9791
9792
|
},
|
9792
|
-
45 => { Name => 'SelfTimerShotCount', }, #
|
9793
|
-
49 => { #
|
9793
|
+
45 => { Name => 'SelfTimerShotCount', }, # CSc2-b 1-9
|
9794
|
+
49 => { # CSc2-c
|
9794
9795
|
Name => 'SelfTimerShotInterval',
|
9795
9796
|
PrintConv => {
|
9796
9797
|
0 => '0.5 s',
|
@@ -9799,15 +9800,15 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9799
9800
|
3 => '3 s',
|
9800
9801
|
},
|
9801
9802
|
},
|
9802
|
-
51 => { Name => 'PlaybackMonitorOffTime', %powerOffDelayTimesZ9 }, #
|
9803
|
-
53 => { Name => 'MenuMonitorOffTime', %powerOffDelayTimesZ9 }, #
|
9804
|
-
55 => { Name => 'ShootingInfoMonitorOffTime',%powerOffDelayTimesZ9 }, #
|
9805
|
-
57 => { Name => 'ImageReviewMonitorOffTime', %powerOffDelayTimesZ9 }, #
|
9803
|
+
51 => { Name => 'PlaybackMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc3-a
|
9804
|
+
53 => { Name => 'MenuMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc3-b
|
9805
|
+
55 => { Name => 'ShootingInfoMonitorOffTime',%powerOffDelayTimesZ9 }, # CSc3-c
|
9806
|
+
57 => { Name => 'ImageReviewMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc3-d
|
9806
9807
|
59 => { Name => 'CLModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1b
|
9807
9808
|
61 => { # CSd2 # values: 1-200 & 'No Limit'
|
9808
9809
|
Name => 'MaxContinuousRelease',
|
9809
9810
|
Format => 'int16s',
|
9810
|
-
ValueConv => '($val
|
9811
|
+
ValueConv => '($val eq -1 ? \'No Limit\' : $val ) ',
|
9811
9812
|
},
|
9812
9813
|
65 => { Name => 'SyncReleaseMode', PrintConv => { 0 => 'No Sync', 1 => 'Sync' }, Unknown => 1 }, # CSd4
|
9813
9814
|
69 => { Name => 'LimitSelectableImageAreaDX', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-1
|
@@ -9833,6 +9834,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9833
9834
|
3 => 'White',
|
9834
9835
|
},
|
9835
9836
|
},
|
9837
|
+
|
9836
9838
|
81 => { Name => 'ContinuousModeDisplay', PrintConv => \%offOn }, # CSd12
|
9837
9839
|
83 => { # CSe1-a Previous cameras reported this with HighSpeedSync indicator appended as '(Auto FP)'. Z9 separated the 2 fields.
|
9838
9840
|
Name => 'FlashSyncSpeed',
|
@@ -9881,19 +9883,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9881
9883
|
},
|
9882
9884
|
97 => { Name => 'AutoBracketOrder', PrintConv => { 0 => '0,-,+',1 => '-,0,+' } }, # CSe7
|
9883
9885
|
99 => { Name => 'Func1Button', %buttonsZ9}, # CSf2-a
|
9884
|
-
#101 Func1Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-a
|
9885
|
-
#103 Func1Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-a
|
9886
|
-
#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
|
9887
|
-
#109 Func1Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-a
|
9888
|
-
#111 Func1Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-a
|
9889
|
-
#113 Func1Button & Func1ButtonPlayback submenu: Rating # CSf2-a & CSf3a 0=>'Candidate For Deletion' 6=>''None'
|
9890
9886
|
115 => { Name => 'Func2Button', %buttonsZ9}, # CSf2-b
|
9891
|
-
#117 Func2Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-b
|
9892
|
-
#119 Func2Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-b
|
9893
|
-
#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
|
9894
|
-
#125 Func2Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-b
|
9895
|
-
#127 Func2Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-b
|
9896
|
-
#129 Func2Button & Func2ButtonPlayback submenu: Rating # CSf2-b & CSf3b 0=>'Candidate For Deletion' 6=>''None'
|
9897
9887
|
131 => { Name => 'AFOnButton', %buttonsZ9}, # CSf2-c
|
9898
9888
|
143 => { Name => 'SubSelector', %buttonsZ9, Unknown => 1}, # CSf2-g
|
9899
9889
|
155 => { Name => 'AssignMovieRecordButton', %buttonsZ9, Unknown => 1}, # CSf2-m
|
@@ -9936,6 +9926,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9936
9926
|
193 => { Name => 'ReverseIndicators', PrintConv => { 0 => '+ 0 -', 1 => '- 0 +' }, Unknown => 1 }, # CSf7
|
9937
9927
|
195 => { Name => 'MovieFunc1Button', %buttonsZ9}, # CSg2-a
|
9938
9928
|
199 => { Name => 'MovieFunc2Button', %buttonsZ9}, # CSg2-b
|
9929
|
+
|
9939
9930
|
203 => { Name => 'MovieAF-OnButton', %buttonsZ9}, # CSg2-f
|
9940
9931
|
215 => { # CSg2-z
|
9941
9932
|
Name => 'MovieLensControlRing',
|
@@ -9968,54 +9959,27 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
9968
9959
|
261 => { Name => 'FocusPointPersistence', PrintConv => {0 => 'Auto', 1 => 'Off'} }, # CSa7
|
9969
9960
|
263 => { Name => 'AutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
|
9970
9961
|
267 => { Name => 'CHModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1a
|
9971
|
-
269.1 => { Name => 'LimitReleaseModeSelCL', Mask => 0x02, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-a
|
9972
|
-
269.2 => { Name => 'LimitReleaseModeSelCH', Mask => 0x04, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-b
|
9973
|
-
269.3 => { Name => 'LimitReleaseModeSelC30', Mask => 0x10, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-e
|
9974
|
-
269.4 => { Name => 'LimitReleaseModeSelC120', Mask => 0x40, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-c
|
9975
|
-
269.5 => { Name => 'LimitReleaseModeSelSelf', Mask => 0x80, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-d
|
9976
9962
|
273 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
|
9977
|
-
277 => { Name => 'VerticalFuncButton', %buttonsZ9}, # CSf2-c
|
9978
|
-
281 => { Name => 'Func3Button', %buttonsZ9}, # CSf2-c
|
9979
|
-
285 => { Name => 'VerticalAFOnButton', %buttonsZ9}, # CSf2-l
|
9980
|
-
293 => { Name => 'VerticalMultiSelectorPlaybackMode', PrintConv => { 0 => 'Image Scroll L/R', 1 => 'Image Scroll Up/Down' }, Unknown => 1}, # CSf3-j
|
9981
|
-
295 => { Name => 'MovieFunc3Button', %buttonsZ9}, # CSg2-c
|
9982
9963
|
335 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
9983
9964
|
336 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
9984
9965
|
337 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
9985
9966
|
339 => { Name => 'LimitAF-AreaModeSel3DTracking', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
9986
|
-
341 => { Name => 'PlaybackFlickUp', PrintConv => \%flicksZ9, Unknown => 1}, #
|
9987
|
-
345 => { Name => 'PlaybackFlickDown', PrintConv => \%flicksZ9, Unknown => 1}, #
|
9967
|
+
341 => { Name => 'PlaybackFlickUp', PrintConv => \%flicksZ9, Unknown => 1}, # CSf12-a
|
9968
|
+
345 => { Name => 'PlaybackFlickDown', PrintConv => \%flicksZ9, Unknown => 1}, # CSf12-b
|
9988
9969
|
349 => { Name => 'ISOStepSize', PrintConv => \%thirdHalfFull }, # CSb1
|
9989
9970
|
355 => { Name => 'ReverseFocusRing', PrintConv => { 0 => 'Not Reversed', 1 => 'Reversed' } }, # CSf8
|
9990
9971
|
356 => { Name => 'EVFImageFrame', PrintConv => \%offOn, Unknown => 1 }, # CSd14
|
9991
9972
|
357 => { Name => 'EVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSd15
|
9992
9973
|
359 => { Name => 'VirtualHorizonStyle', PrintConv => {0 => 'Type A (Cockpit)', 1 => 'Type B (Sides)' }, Unknown => 1}, #CSd16
|
9993
|
-
373 => { Name => 'Func4Button', %buttonsZ9, Unknown => 1}, # CSf2-e
|
9994
|
-
379 => { Name => 'AudioButton', %buttonsZ9, Unknown => 1}, # CSf2-i
|
9995
|
-
381 => { Name => 'QualityButton', %buttonsZ9, Unknown => 1}, # CSf2-j
|
9996
|
-
399 => { Name => 'VerticalMultiSelector', %buttonsZ9, Unknown => 1}, # CSf2-k
|
9997
9974
|
421 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-a
|
9998
9975
|
423 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-b
|
9999
|
-
425 => { Name => 'Func3ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-c
|
10000
|
-
431 => { Name => 'Func4ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-e
|
10001
9976
|
437 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-m
|
10002
|
-
439 => { Name => 'VerticalFuncButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-d
|
10003
|
-
441 => { Name => 'AudioButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-g
|
10004
|
-
447 => { Name => 'QualityButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-h
|
10005
9977
|
467 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
10006
|
-
453 => { Name => 'WhiteBalanceButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-i
|
10007
9978
|
459 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
|
10008
9979
|
463 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
|
10009
9980
|
469 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf10
|
10010
|
-
|
10011
|
-
505 => { Name => 'VerticalMovieAFOnButton', %buttonsZ9, Unknown => 1}, # CSg2-l
|
9981
|
+
|
10012
9982
|
515 => { Name => 'MovieAFAreaMode', %buttonsZ9, Unknown => 1}, # CSg2-e
|
10013
|
-
#521 => { Name => 'MovieLimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-a
|
10014
|
-
#522 => { Name => 'MovieLimitAF-AreaModeSelWideAF_W', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-b
|
10015
|
-
#523 => { Name => 'MovieLimitAF-AreaModeSelSubjectTrack', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-c
|
10016
|
-
#524 => { Name => 'MovieLimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-d
|
10017
|
-
#525 => { Name => 'MovieAutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
|
10018
|
-
527 => { Name => 'HDMIViewAssist', PrintConv => \%offOn, Unknown => 1 }, # CSg8
|
10019
9983
|
529 => { # CSg9-a
|
10020
9984
|
Name => 'ZebraPatternToneRange',
|
10021
9985
|
Unknown => 1,
|
@@ -10026,11 +9990,10 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
10026
9990
|
2 => 'Midtones',
|
10027
9991
|
},
|
10028
9992
|
},
|
10029
|
-
531 => { Name => 'MovieZebraPattern', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} != 0', PrintConv => {0 => 'Pattern 1', 1 => 'Pattern 2'}, Unknown => 1}, #
|
10030
|
-
533 => { Name => 'MovieHighlightDisplayThreshold', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 1', Unknown => 1 }, #
|
10031
|
-
535 => { Name => 'MovieMidtoneDisplayValue', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', Unknown => 1 }, #
|
10032
|
-
537 => { Name => 'MovieMidtoneDisplayRange', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', PrintConv => '"+/-$val"', Unknown => 1 }, #
|
10033
|
-
#539 CS g-10 LimitZebraPatternToneRange 0=>'No Restrictions', 1=> 'Highlights', 2=> 'Midtones'
|
9993
|
+
531 => { Name => 'MovieZebraPattern', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} != 0', PrintConv => {0 => 'Pattern 1', 1 => 'Pattern 2'}, Unknown => 1}, # CSg12-b
|
9994
|
+
533 => { Name => 'MovieHighlightDisplayThreshold', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 1', Unknown => 1 }, # CSg12-c 120-25 when highlights are the selected tone range
|
9995
|
+
535 => { Name => 'MovieMidtoneDisplayValue', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', Unknown => 1 }, # CSg12-d1 when midtones are the selected tone range
|
9996
|
+
537 => { Name => 'MovieMidtoneDisplayRange', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', PrintConv => '"+/-$val"', Unknown => 1 }, # CSg12-d1 when midtones are the selected tone range
|
10034
9997
|
541 => { Name => 'MovieEVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSg11
|
10035
9998
|
549 => { Name => 'MovieShutterSpeedLock', PrintConv => \%offOn, Unknown => 1}, # CSg4-a
|
10036
9999
|
550 => { Name => 'MovieFocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
@@ -10045,7 +10008,6 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
10045
10008
|
2 => 'ISO',
|
10046
10009
|
},
|
10047
10010
|
},
|
10048
|
-
#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.
|
10049
10011
|
585 => { Name => 'StarlightView', PrintConv => \%offOn, Unknown => 1 }, # CSd9
|
10050
10012
|
587 => { # CSd10-a
|
10051
10013
|
Name => 'EVFWarmDisplayMode',
|
@@ -10073,8 +10035,847 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
10073
10035
|
},
|
10074
10036
|
601 => { Name => 'MovieApertureLock', PrintConv => \%offOn, Unknown => 1 }, # CSg4-b
|
10075
10037
|
607 => { Name => 'FlickAdvanceDirection', PrintConv => { 0 => 'Left to Right', 1 => 'Right to Left' }, Unknown => 1 }, # CSf11-c
|
10038
|
+
647 => { #CSd4-a
|
10039
|
+
Name => 'PreReleaseBurstLength',
|
10040
|
+
PrintConv => {
|
10041
|
+
0 => 'None',
|
10042
|
+
1 => '0.3 Sec',
|
10043
|
+
2 => '0.5 Sec',
|
10044
|
+
3 => '1 Sec',
|
10045
|
+
},
|
10046
|
+
},
|
10047
|
+
649 => { #CSd4-b
|
10048
|
+
Name => 'PostReleaseBurstLength',
|
10049
|
+
PrintConv => {
|
10050
|
+
0 => '1 Sec',
|
10051
|
+
1 => '2 Sec',
|
10052
|
+
2 => '3 Sec',
|
10053
|
+
3 => 'Max',
|
10054
|
+
},
|
10055
|
+
},
|
10056
|
+
681 => { Name => 'ViewModeShowEffectsOfSettings', PrintConv => { 0=>'Always', 1=> 'Only When Flash Not Used'}, Unknown => 1 }, #CS8-a
|
10057
|
+
683 => { Name => 'DispButton', %buttonsZ9}, #CSf2
|
10076
10058
|
);
|
10077
10059
|
|
10060
|
+
# Z9 custom settings (ref 1) #base at offset26 + 1035 (firmware 1.0.0)
|
10061
|
+
%Image::ExifTool::NikonCustom::SettingsZ9 = (
|
10062
|
+
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
10063
|
+
WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
|
10064
|
+
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
10065
|
+
DATAMEMBER => [ 185, 529 ],
|
10066
|
+
WRITABLE => 1,
|
10067
|
+
FIRST_ENTRY => 0,
|
10068
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
10069
|
+
NOTES => 'Custom settings for the Z9.',
|
10070
|
+
1 => {
|
10071
|
+
Name => 'CustomSettingsBank',
|
10072
|
+
PrintConv => {
|
10073
|
+
0 => 'A',
|
10074
|
+
1 => 'B',
|
10075
|
+
2 => 'C',
|
10076
|
+
3 => 'D',
|
10077
|
+
},
|
10078
|
+
},
|
10079
|
+
3 => { # CSa1
|
10080
|
+
Name => 'AF-CPrioritySelection',
|
10081
|
+
PrintConv => {
|
10082
|
+
0 => 'Release',
|
10083
|
+
1 => 'Release + Focus',
|
10084
|
+
3 => 'Focus',
|
10085
|
+
},
|
10086
|
+
},
|
10087
|
+
5 => { Name => 'AF-SPrioritySelection', PrintConv => {0 => 'Release',1 => 'Focus'}}, #CSa2
|
10088
|
+
7 => { # CSa3-a #when AFAreaMode is 3D-tracking, blocked shot response will be 3, regardless of this setting
|
10089
|
+
Name => 'BlockShotAFResponse',
|
10090
|
+
PrintConv => {
|
10091
|
+
1 => '1 (Quick)',
|
10092
|
+
2 => '2',
|
10093
|
+
3 => '3 (Normal)',
|
10094
|
+
4 => '4',
|
10095
|
+
5 => '5 (Delayed)',
|
10096
|
+
},
|
10097
|
+
},
|
10098
|
+
11 => {Name => 'AFPointSel',PrintConv => { 0 => 'Use All',1 => 'Use Half' }}, # CSa4
|
10099
|
+
13 => { # CSa5
|
10100
|
+
Name => 'StoreByOrientation',
|
10101
|
+
PrintConv => {
|
10102
|
+
0 => 'Off',
|
10103
|
+
1 => 'Focus Point',
|
10104
|
+
2 => 'Focus Point and AF-area mode',
|
10105
|
+
},
|
10106
|
+
},
|
10107
|
+
15 => { Name => 'AFActivation', PrintConv => {0 => 'AF-On Only', 1 => 'Shutter/AF-On'}}, # CSa6-a
|
10108
|
+
16 => { Name => 'AF-OnOutOfFocusRelease', PrintConv => {0 => 'Disable', 1 => 'Enable'}, Unknown => 1}, # CSa6-b
|
10109
|
+
17 => { Name => 'LimitAF-AreaModeSelPinpoint', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10110
|
+
19 => { Name => 'LimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10111
|
+
20 => { Name => 'LimitAF-AreaModeSelWideAF_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10112
|
+
21 => { Name => 'LimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8 #left out hypen to retain compatibility with tag name in NikonSettings
|
10113
|
+
22 => { Name => 'FocusPointWrap', PrintConv => { 0 => 'No Wrap', 1 => 'Wrap' }, Unknown => 1 }, # CSa10
|
10114
|
+
23 => { Name => 'ManualFocusPointIllumination', PrintConv => {0 => 'On During Focus Point Selection Only', 1 => 'On', }, Unknown => 1 }, # CSa11a
|
10115
|
+
24 => { Name => 'DynamicAreaAFAssist', PrintConv => { 0 => 'Focus Point Only',1 => 'Focus and Surrounding Points',}, Unknown => 1 }, # CSa11b
|
10116
|
+
25 => { Name => 'AF-AssistIlluminator', PrintConv => \%offOn }, # CSa12
|
10117
|
+
26 => { Name => 'ManualFocusRingInAFMode', PrintConv => \%offOn }, # CSa14
|
10118
|
+
27 => { Name => 'ExposureControlStepSize', PrintConv => \%thirdHalfFull }, # CSb2
|
10119
|
+
29 => { # CSb3
|
10120
|
+
Name => 'EasyExposureCompensation',
|
10121
|
+
PrintConv => {
|
10122
|
+
0 => 'Off',
|
10123
|
+
1 => 'On',
|
10124
|
+
2 => 'On (auto reset)',
|
10125
|
+
},
|
10126
|
+
},
|
10127
|
+
31 => { # CSb5
|
10128
|
+
Name => 'CenterWeightedAreaSize',
|
10129
|
+
PrintConv => {
|
10130
|
+
0 => '8 mm',
|
10131
|
+
1 => '12 mm',
|
10132
|
+
4 => 'Average',
|
10133
|
+
},
|
10134
|
+
},
|
10135
|
+
33 => { # CSb6-a
|
10136
|
+
Name => 'FineTuneOptMatrixMetering',
|
10137
|
+
Format => 'int8s',
|
10138
|
+
ValueConv => '$val / 6',
|
10139
|
+
ValueConvInv => 'int($val*6)',
|
10140
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10141
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10142
|
+
},
|
10143
|
+
35 => { # CSb6-b
|
10144
|
+
Name => 'FineTuneOptCenterWeighted',
|
10145
|
+
Format => 'int8s',
|
10146
|
+
ValueConv => '$val / 6',
|
10147
|
+
ValueConvInv => 'int($val*6)',
|
10148
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10149
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10150
|
+
},
|
10151
|
+
37 => { # CSb6-c
|
10152
|
+
Name => 'FineTuneOptSpotMetering',
|
10153
|
+
Format => 'int8s',
|
10154
|
+
ValueConv => '$val / 6',
|
10155
|
+
ValueConvInv => 'int($val*6)',
|
10156
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10157
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10158
|
+
},
|
10159
|
+
39 => { # CSb6-d
|
10160
|
+
Name => 'FineTuneOptHighlightWeighted',
|
10161
|
+
Format => 'int8s',
|
10162
|
+
ValueConv => '$val / 6',
|
10163
|
+
ValueConvInv => 'int($val*6)',
|
10164
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10165
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10166
|
+
},
|
10167
|
+
41 => { # CSc1
|
10168
|
+
Name => 'ShutterReleaseButtonAE-L',
|
10169
|
+
PrintConv => {
|
10170
|
+
0 => 'Off',
|
10171
|
+
1 => 'On (Half Press)',
|
10172
|
+
2 => 'On (Burst Mode)',
|
10173
|
+
},
|
10174
|
+
},
|
10175
|
+
43 => { # CSc3-a
|
10176
|
+
Name => 'SelfTimerTime',
|
10177
|
+
PrintConv => {
|
10178
|
+
0 => '2 s',
|
10179
|
+
1 => '5 s',
|
10180
|
+
2 => '10 s',
|
10181
|
+
3 => '20 s',
|
10182
|
+
},
|
10183
|
+
},
|
10184
|
+
45 => { Name => 'SelfTimerShotCount', }, # CSc3-b 1-9
|
10185
|
+
49 => { # CSc3-c
|
10186
|
+
Name => 'SelfTimerShotInterval',
|
10187
|
+
PrintConv => {
|
10188
|
+
0 => '0.5 s',
|
10189
|
+
1 => '1 s',
|
10190
|
+
2 => '2 s',
|
10191
|
+
3 => '3 s',
|
10192
|
+
},
|
10193
|
+
},
|
10194
|
+
51 => { Name => 'PlaybackMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-a
|
10195
|
+
53 => { Name => 'MenuMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-b
|
10196
|
+
55 => { Name => 'ShootingInfoMonitorOffTime',%powerOffDelayTimesZ9 }, # CSc4-c
|
10197
|
+
57 => { Name => 'ImageReviewMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-d
|
10198
|
+
59 => { Name => 'CLModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1b
|
10199
|
+
61 => { # CSd2 # values: 1-200 & 'No Limit'
|
10200
|
+
Name => 'MaxContinuousRelease',
|
10201
|
+
Format => 'int16s',
|
10202
|
+
ValueConv => '($val eq -1 ? \'No Limit\' : $val ) ',
|
10203
|
+
},
|
10204
|
+
65 => { Name => 'SyncReleaseMode', PrintConv => { 0 => 'No Sync', 1 => 'Sync' }, Unknown => 1 }, # CSd4
|
10205
|
+
69 => { Name => 'LimitSelectableImageAreaDX', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-1
|
10206
|
+
70 => { Name => 'LimitSelectableImageArea1To1', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-2
|
10207
|
+
71 => { Name => 'LimitSelectableImageArea16To9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-3
|
10208
|
+
72 => { Name => 'FileNumberSequence', PrintConv => \%offOn }, # CSd7
|
10209
|
+
73 => { #CSa13b
|
10210
|
+
Name => 'FocusPeakingLevel',
|
10211
|
+
Unknown => 1,
|
10212
|
+
PrintConv => {
|
10213
|
+
0 => 'High Sensitivity',
|
10214
|
+
1 => 'Standard Sensitivity',
|
10215
|
+
2 => 'Low Sensitivity',
|
10216
|
+
},
|
10217
|
+
},
|
10218
|
+
75 => { #CSa13c
|
10219
|
+
Name => 'FocusPeakingHighlightColor',
|
10220
|
+
Unknown => 1,
|
10221
|
+
PrintConv => {
|
10222
|
+
0 => 'Red',
|
10223
|
+
1 => 'Yellow',
|
10224
|
+
2 => 'Blue',
|
10225
|
+
3 => 'White',
|
10226
|
+
},
|
10227
|
+
},
|
10228
|
+
81 => { Name => 'ContinuousModeDisplay', PrintConv => \%offOn }, # CSd12
|
10229
|
+
83 => { # CSe1-a Previous cameras reported this with HighSpeedSync indicator appended as '(Auto FP)'. Z9 separated the 2 fields.
|
10230
|
+
Name => 'FlashSyncSpeed',
|
10231
|
+
ValueConv => '($val-144)/8',
|
10232
|
+
PrintConv => {
|
10233
|
+
0 => '1/60 s',
|
10234
|
+
1 => '1/80 s',
|
10235
|
+
2 => '1/100 s',
|
10236
|
+
3 => '1/125 s',
|
10237
|
+
4 => '1/160 s',
|
10238
|
+
5 => '1/200 s',
|
10239
|
+
6 => '1/250 s',
|
10240
|
+
},
|
10241
|
+
},
|
10242
|
+
85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
|
10243
|
+
87 => { # CSe2
|
10244
|
+
Name => 'FlashShutterSpeed',
|
10245
|
+
ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
|
10246
|
+
PrintConv => {
|
10247
|
+
0 => '1 s',
|
10248
|
+
1 => '1/2 s',
|
10249
|
+
2 => '1/4 s',
|
10250
|
+
3 => '1/8 s',
|
10251
|
+
4 => '1/15 s',
|
10252
|
+
5 => '1/30 s',
|
10253
|
+
6 => '1/60 s',
|
10254
|
+
7 => '30 s',
|
10255
|
+
8 => '15 s',
|
10256
|
+
9 => '8 s',
|
10257
|
+
10 => '4 s',
|
10258
|
+
11 => '2 s',
|
10259
|
+
},
|
10260
|
+
},
|
10261
|
+
89 => { Name => 'FlashExposureCompArea', PrintConv => { 0 => 'Entire Frame', 1 => 'Background Only' } }, # CSe3
|
10262
|
+
91 => { Name => 'AutoFlashISOSensitivity', PrintConv => { 0 => 'Subject and Background',1 => 'Subject Only'} }, # CSe4
|
10263
|
+
93 => { Name => 'ModelingFlash', PrintConv => \%offOn }, # CSe5
|
10264
|
+
95 => { # CSe6
|
10265
|
+
Name => 'AutoBracketModeM',
|
10266
|
+
PrintConv => {
|
10267
|
+
0 => 'Flash/Speed',
|
10268
|
+
1 => 'Flash/Speed/Aperture',
|
10269
|
+
2 => 'Flash/Aperture',
|
10270
|
+
3 => 'Flash Only',
|
10271
|
+
4 => 'Flash/ISO',
|
10272
|
+
},
|
10273
|
+
},
|
10274
|
+
97 => { Name => 'AutoBracketOrder', PrintConv => { 0 => '0,-,+',1 => '-,0,+' } }, # CSe7
|
10275
|
+
99 => { Name => 'Func1Button', %buttonsZ9}, # CSf2-a
|
10276
|
+
#101 Func1Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-a
|
10277
|
+
#103 Func1Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-a
|
10278
|
+
#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
|
10279
|
+
#109 Func1Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-a
|
10280
|
+
#111 Func1Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-a
|
10281
|
+
#113 Func1Button & Func1ButtonPlayback submenu: Rating # CSf2-a & CSf3a 0=>'Candidate For Deletion' 6=>''None'
|
10282
|
+
115 => { Name => 'Func2Button', %buttonsZ9}, # CSf2-b
|
10283
|
+
#117 Func2Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-b
|
10284
|
+
#119 Func2Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-b
|
10285
|
+
#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
|
10286
|
+
#125 Func2Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-b
|
10287
|
+
#127 Func2Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-b
|
10288
|
+
#129 Func2Button & Func2ButtonPlayback submenu: Rating # CSf2-b & CSf3b 0=>'Candidate For Deletion' 6=>''None'
|
10289
|
+
131 => { Name => 'AFOnButton', %buttonsZ9}, # CSf2-c
|
10290
|
+
143 => { Name => 'SubSelector', %buttonsZ9, Unknown => 1}, # CSf2-g
|
10291
|
+
155 => { Name => 'AssignMovieRecordButton', %buttonsZ9, Unknown => 1}, # CSf2-m
|
10292
|
+
159 => { Name => 'LensFunc1Button', %buttonsZ9}, # CSf2-o
|
10293
|
+
167 => { Name => 'LensFunc2Button', %buttonsZ9}, # CSf2-p
|
10294
|
+
173 => { # CSf2-q
|
10295
|
+
Name => 'LensControlRing',
|
10296
|
+
PrintConv => {
|
10297
|
+
0 => 'None (Disabled)',
|
10298
|
+
1 => 'Focus (M/A)',
|
10299
|
+
2 => 'ISO Sensitivity',
|
10300
|
+
3 => 'Exposure Compensation',
|
10301
|
+
4 => 'Aperture',
|
10302
|
+
},
|
10303
|
+
},
|
10304
|
+
175 => { Name => 'MultiSelectorShootMode', %buttonsZ9}, # CSf2-h called the OK button in camera, tag name retained for compatibility
|
10305
|
+
179 => { Name => 'MultiSelectorPlaybackMode', %buttonsZ9}, # CSf3f
|
10306
|
+
183 => { Name => 'ShutterSpeedLock', PrintConv => \%offOn }, # CSf4-a
|
10307
|
+
184 => { Name => 'ApertureLock', PrintConv => \%offOn }, # CSf4-b
|
10308
|
+
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
|
10309
|
+
Name => 'CmdDialsReverseRotExposureComp',
|
10310
|
+
RawConv => '$$self{CmdDialsReverseRotExposureComp} = $val',
|
10311
|
+
Hidden => 1,
|
10312
|
+
},
|
10313
|
+
186 => [{ # CSf5-a (continued from above)
|
10314
|
+
Name => 'CmdDialsReverseRotation',
|
10315
|
+
Condition => '$$self{CmdDialsReverseRotExposureComp} == 0',
|
10316
|
+
PrintConv => {
|
10317
|
+
0 => 'No',
|
10318
|
+
1 => 'Shutter Speed & Aperture',
|
10319
|
+
},
|
10320
|
+
},{
|
10321
|
+
Name => 'CmdDialsReverseRotation',
|
10322
|
+
PrintConv => {
|
10323
|
+
0 => 'Exposure Compensation',
|
10324
|
+
1 => 'Exposure Compensation, Shutter Speed & Aperture',
|
10325
|
+
},
|
10326
|
+
}],
|
10327
|
+
191 => { Name => 'UseDialWithoutHold', PrintConv => \%offOn, Unknown => 1 }, # CSf6
|
10328
|
+
193 => { Name => 'ReverseIndicators', PrintConv => { 0 => '+ 0 -', 1 => '- 0 +' }, Unknown => 1 }, # CSf7
|
10329
|
+
195 => { Name => 'MovieFunc1Button', %buttonsZ9}, # CSg2-a
|
10330
|
+
199 => { Name => 'MovieFunc2Button', %buttonsZ9}, # CSg2-b
|
10331
|
+
203 => { Name => 'MovieAF-OnButton', %buttonsZ9}, # CSg2-f
|
10332
|
+
207 => { Name => 'MovieMultiSelector', %buttonsZ9, Unknown => 1}, # CSg2-h
|
10333
|
+
215 => { # CSg2-z
|
10334
|
+
Name => 'MovieLensControlRing',
|
10335
|
+
PrintConv => {
|
10336
|
+
0 => 'None (Disabled)',
|
10337
|
+
2 => 'ISO Sensitivity',
|
10338
|
+
3 => 'Exposure Compensation',
|
10339
|
+
4 => 'Power Aperture',
|
10340
|
+
5 => 'Hi-Res Zoom',
|
10341
|
+
},
|
10342
|
+
},
|
10343
|
+
221 => { Name => 'MovieAFSpeed', ValueConv => '$val - 5', ValueConvInv => '$val + 5' }, # CSg6-a
|
10344
|
+
223 => { Name => 'MovieAFSpeedApply', PrintConv => {0 => 'Always', 1 => 'Only During Recording'},}, # CSg6-b
|
10345
|
+
225 => { # CSg7
|
10346
|
+
Name => 'MovieAFTrackingSensitivity',
|
10347
|
+
PrintConv => {
|
10348
|
+
0 => '1 (High)',
|
10349
|
+
1 => '2',
|
10350
|
+
2 => '3',
|
10351
|
+
3 => '4 (Normal)',
|
10352
|
+
4 => '5',
|
10353
|
+
5 => '6',
|
10354
|
+
6 => '7 (Low)',
|
10355
|
+
},
|
10356
|
+
},
|
10357
|
+
257 => { Name => 'LCDIllumination', PrintConv => \%offOn, Unknown => 1 }, # CSd11
|
10358
|
+
258 => { Name => 'ExtendedShutterSpeeds', PrintConv => \%offOn }, # CSd5
|
10359
|
+
259 => { Name => 'SubjectMotion', PrintConv => {0 => 'Erratic', 1 => 'Steady'} }, # CSa3-b
|
10360
|
+
261 => { Name => 'FocusPointPersistence', PrintConv => {0 => 'Auto', 1 => 'Off'} }, # CSa7
|
10361
|
+
263 => { Name => 'AutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
|
10362
|
+
267 => { Name => 'CHModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1a
|
10363
|
+
269.1 => { Name => 'LimitReleaseModeSelCL', Mask => 0x02, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-a
|
10364
|
+
269.2 => { Name => 'LimitReleaseModeSelCH', Mask => 0x04, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-b
|
10365
|
+
269.3 => { Name => 'LimitReleaseModeSelC30', Mask => 0x10, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-e
|
10366
|
+
269.4 => { Name => 'LimitReleaseModeSelC120', Mask => 0x40, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-c
|
10367
|
+
269.5 => { Name => 'LimitReleaseModeSelSelf', Mask => 0x80, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-d
|
10368
|
+
273 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
|
10369
|
+
277 => { Name => 'VerticalFuncButton', %buttonsZ9}, # CSf2-c
|
10370
|
+
281 => { Name => 'Func3Button', %buttonsZ9}, # CSf2-c
|
10371
|
+
285 => { Name => 'VerticalAFOnButton', %buttonsZ9}, # CSf2-l
|
10372
|
+
293 => { Name => 'VerticalMultiSelectorPlaybackMode', PrintConv => { 0 => 'Image Scroll L/R', 1 => 'Image Scroll Up/Down' }, Unknown => 1}, # CSf3-j
|
10373
|
+
295 => { Name => 'MovieFunc3Button', %buttonsZ9}, # CSg2-c
|
10374
|
+
335 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10375
|
+
336 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10376
|
+
337 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10377
|
+
339 => { Name => 'LimitAF-AreaModeSel3DTracking', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10378
|
+
341 => { Name => 'PlaybackFlickUp', PrintConv => \%flicksZ9, Unknown => 1}, # CSf11-a
|
10379
|
+
345 => { Name => 'PlaybackFlickDown', PrintConv => \%flicksZ9, Unknown => 1}, # CSf11-b
|
10380
|
+
349 => { Name => 'ISOStepSize', PrintConv => \%thirdHalfFull }, # CSb1
|
10381
|
+
355 => { Name => 'ReverseFocusRing', PrintConv => { 0 => 'Not Reversed', 1 => 'Reversed' } }, # CSf8
|
10382
|
+
356 => { Name => 'EVFImageFrame', PrintConv => \%offOn, Unknown => 1 }, # CSd14
|
10383
|
+
357 => { Name => 'EVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSd15
|
10384
|
+
359 => { Name => 'VirtualHorizonStyle', PrintConv => {0 => 'Type A (Cockpit)', 1 => 'Type B (Sides)' }, Unknown => 1}, #CSd16
|
10385
|
+
373 => { Name => 'Func4Button', %buttonsZ9, Unknown => 1}, # CSf2-e
|
10386
|
+
379 => { Name => 'AudioButton', %buttonsZ9, Unknown => 1}, # CSf2-i
|
10387
|
+
381 => { Name => 'QualityButton', %buttonsZ9, Unknown => 1}, # CSf2-j
|
10388
|
+
399 => { Name => 'VerticalMultiSelector', %buttonsZ9, Unknown => 1}, # CSf2-k
|
10389
|
+
421 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-a
|
10390
|
+
423 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-b
|
10391
|
+
425 => { Name => 'Func3ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-c
|
10392
|
+
431 => { Name => 'Func4ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-e
|
10393
|
+
437 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-m
|
10394
|
+
439 => { Name => 'VerticalFuncButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-d
|
10395
|
+
441 => { Name => 'AudioButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-g
|
10396
|
+
447 => { Name => 'QualityButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-h
|
10397
|
+
467 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
10398
|
+
453 => { Name => 'WhiteBalanceButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-i
|
10399
|
+
459 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
|
10400
|
+
463 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
|
10401
|
+
469 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf10
|
10402
|
+
481 => { Name => 'VerticalMovieFuncButton', %buttonsZ9, Unknown => 1}, # CSg2-d
|
10403
|
+
505 => { Name => 'VerticalMovieAFOnButton', %buttonsZ9, Unknown => 1}, # CSg2-l
|
10404
|
+
515 => { Name => 'MovieAFAreaMode', %buttonsZ9, Unknown => 1}, # CSg2-e
|
10405
|
+
#521 => { Name => 'MovieLimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-a
|
10406
|
+
#522 => { Name => 'MovieLimitAF-AreaModeSelWideAF_W', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-b
|
10407
|
+
#523 => { Name => 'MovieLimitAF-AreaModeSelSubjectTrack', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-c
|
10408
|
+
#524 => { Name => 'MovieLimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-d
|
10409
|
+
#525 => { Name => 'MovieAutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
|
10410
|
+
527 => { Name => 'HDMIViewAssist', PrintConv => \%offOn, Unknown => 1 }, # CSg8
|
10411
|
+
529 => { # CSg9-a
|
10412
|
+
Name => 'ZebraPatternToneRange',
|
10413
|
+
Unknown => 1,
|
10414
|
+
RawConv => '$$self{ZebraPatternToneRange} = $val',
|
10415
|
+
PrintConv => {
|
10416
|
+
0 => 'Off',
|
10417
|
+
1 => 'Highlights',
|
10418
|
+
2 => 'Midtones',
|
10419
|
+
},
|
10420
|
+
},
|
10421
|
+
531 => { Name => 'MovieZebraPattern', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} != 0', PrintConv => {0 => 'Pattern 1', 1 => 'Pattern 2'}, Unknown => 1}, # CSg9-b
|
10422
|
+
533 => { Name => 'MovieHighlightDisplayThreshold', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 1', Unknown => 1 }, # CSg9-c 120-25 when highlights are the selected tone range
|
10423
|
+
535 => { Name => 'MovieMidtoneDisplayValue', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', Unknown => 1 }, # CSg9-d1 when midtones are the selected tone range
|
10424
|
+
537 => { Name => 'MovieMidtoneDisplayRange', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', PrintConv => '"+/-$val"', Unknown => 1 }, # CSg9-d1 when midtones are the selected tone range
|
10425
|
+
#539 CS g-10 LimitZebraPatternToneRange 0=>'No Restrictions', 1=> 'Highlights', 2=> 'Midtones'
|
10426
|
+
541 => { Name => 'MovieEVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSg11
|
10427
|
+
549 => { Name => 'MovieShutterSpeedLock', PrintConv => \%offOn, Unknown => 1}, # CSg4-a
|
10428
|
+
550 => { Name => 'MovieFocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
10429
|
+
563 => { Name => 'MatrixMetering', PrintConv => { 0 => 'Face Detection Off', 1 => 'Face Detection On' }, Unknown => 1 }, # CSb4
|
10430
|
+
564 => { Name => 'AF-CFocusDisplay', PrintConv => \%offOn }, # CSa11c
|
10431
|
+
565 => { Name => 'FocusPeakingDisplay', PrintConv => \%offOn, Unknown => 1}, # CSa13a
|
10432
|
+
567 => { # CSb7
|
10433
|
+
Name => 'KeepExposure',
|
10434
|
+
PrintConv => {
|
10435
|
+
0 => 'Off',
|
10436
|
+
1 => 'Shutter Speed',
|
10437
|
+
2 => 'ISO',
|
10438
|
+
},
|
10439
|
+
},
|
10440
|
+
#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.
|
10441
|
+
585 => { Name => 'StarlightView', PrintConv => \%offOn, Unknown => 1 }, # CSd9
|
10442
|
+
587 => { # CSd10-a
|
10443
|
+
Name => 'EVFWarmDisplayMode',
|
10444
|
+
Unknown => 1,
|
10445
|
+
PrintConv => {
|
10446
|
+
0 => 'Off',
|
10447
|
+
1 => 'Mode 1',
|
10448
|
+
2 => 'Mode 2',
|
10449
|
+
},
|
10450
|
+
},
|
10451
|
+
589 => { # CSd10-b values in range -3 to +3
|
10452
|
+
Name => 'EVFWarmDisplayBrightness',
|
10453
|
+
Format => 'int8s',
|
10454
|
+
Unknown => 1,
|
10455
|
+
},
|
10456
|
+
591 => { #CSd13
|
10457
|
+
Name => 'EVFReleaseIndicator',
|
10458
|
+
Unknown => 1,
|
10459
|
+
PrintConv => {
|
10460
|
+
0 => 'Off',
|
10461
|
+
1 => 'Type A (Dark)',
|
10462
|
+
2 => 'Type B (Border)',
|
10463
|
+
3 => 'Type C (Sides)',
|
10464
|
+
},
|
10465
|
+
},
|
10466
|
+
601 => { Name => 'MovieApertureLock', PrintConv => \%offOn, Unknown => 1 }, # CSg4-b
|
10467
|
+
607 => { Name => 'FlickAdvanceDirection', PrintConv => { 0 => 'Left to Right', 1 => 'Right to Left' }, Unknown => 1 }, # CSf11-c
|
10468
|
+
);
|
10469
|
+
|
10470
|
+
# Z9 custom settings (ref 1) #base at offset26 + 1095 (firmware 4.0)
|
10471
|
+
%Image::ExifTool::NikonCustom::SettingsZ9v4 = (
|
10472
|
+
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
10473
|
+
WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
|
10474
|
+
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
10475
|
+
DATAMEMBER => [ 185, 553 ],
|
10476
|
+
WRITABLE => 1,
|
10477
|
+
FIRST_ENTRY => 0,
|
10478
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
10479
|
+
NOTES => 'Custom settings for the Z9.',
|
10480
|
+
1 => {
|
10481
|
+
Name => 'CustomSettingsBank',
|
10482
|
+
PrintConv => {
|
10483
|
+
0 => 'A',
|
10484
|
+
1 => 'B',
|
10485
|
+
2 => 'C',
|
10486
|
+
3 => 'D',
|
10487
|
+
},
|
10488
|
+
},
|
10489
|
+
3 => { # CSa1
|
10490
|
+
Name => 'AF-CPrioritySelection',
|
10491
|
+
PrintConv => {
|
10492
|
+
0 => 'Release',
|
10493
|
+
1 => 'Release + Focus',
|
10494
|
+
3 => 'Focus',
|
10495
|
+
},
|
10496
|
+
},
|
10497
|
+
5 => { Name => 'AF-SPrioritySelection', PrintConv => {0 => 'Release',1 => 'Focus'}}, #CSa2
|
10498
|
+
7 => { # CSa3-a #when AFAreaMode is 3D-tracking, blocked shot response will be 3, regardless of this setting
|
10499
|
+
Name => 'BlockShotAFResponse',
|
10500
|
+
PrintConv => {
|
10501
|
+
1 => '1 (Quick)',
|
10502
|
+
2 => '2',
|
10503
|
+
3 => '3 (Normal)',
|
10504
|
+
4 => '4',
|
10505
|
+
5 => '5 (Delayed)',
|
10506
|
+
},
|
10507
|
+
},
|
10508
|
+
11 => {Name => 'AFPointSel',PrintConv => { 0 => 'Use All',1 => 'Use Half' }}, # CSa4
|
10509
|
+
13 => { # CSa5
|
10510
|
+
Name => 'StoreByOrientation',
|
10511
|
+
PrintConv => {
|
10512
|
+
0 => 'Off',
|
10513
|
+
1 => 'Focus Point',
|
10514
|
+
2 => 'Focus Point and AF-area mode',
|
10515
|
+
},
|
10516
|
+
},
|
10517
|
+
15 => { Name => 'AFActivation', PrintConv => {0 => 'AF-On Only', 1 => 'Shutter/AF-On'}}, # CSa6-a
|
10518
|
+
16 => { Name => 'AF-OnOutOfFocusRelease', PrintConv => {0 => 'Disable', 1 => 'Enable'}, Unknown => 1}, # CSa6-b
|
10519
|
+
17 => { Name => 'LimitAF-AreaModeSelPinpoint', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10520
|
+
19 => { Name => 'LimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10521
|
+
20 => { Name => 'LimitAF-AreaModeSelWideAF_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10522
|
+
21 => { Name => 'LimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8 #left out hypen to retain compatibility with tag name in NikonSettings
|
10523
|
+
22 => { Name => 'FocusPointWrap', PrintConv => { 0 => 'No Wrap', 1 => 'Wrap' }, Unknown => 1 }, # CSa10
|
10524
|
+
23 => { Name => 'ManualFocusPointIllumination', PrintConv => {0 => 'On During Focus Point Selection Only', 1 => 'On', }, Unknown => 1 }, # CSa11a
|
10525
|
+
24 => { Name => 'DynamicAreaAFAssist', PrintConv => { 0 => 'Focus Point Only',1 => 'Focus and Surrounding Points',}, Unknown => 1 }, # CSa11b
|
10526
|
+
25 => { Name => 'AF-AssistIlluminator', PrintConv => \%offOn }, # CSa12
|
10527
|
+
26 => { Name => 'ManualFocusRingInAFMode', PrintConv => \%offOn }, # CSa14
|
10528
|
+
27 => { Name => 'ExposureControlStepSize', PrintConv => \%thirdHalfFull }, # CSb2
|
10529
|
+
29 => { # CSb3
|
10530
|
+
Name => 'EasyExposureCompensation',
|
10531
|
+
PrintConv => {
|
10532
|
+
0 => 'Off',
|
10533
|
+
1 => 'On',
|
10534
|
+
2 => 'On (auto reset)',
|
10535
|
+
},
|
10536
|
+
},
|
10537
|
+
31 => { # CSb5
|
10538
|
+
Name => 'CenterWeightedAreaSize',
|
10539
|
+
PrintConv => {
|
10540
|
+
0 => '8 mm',
|
10541
|
+
1 => '12 mm',
|
10542
|
+
4 => 'Average',
|
10543
|
+
},
|
10544
|
+
},
|
10545
|
+
33 => { # CSb6-a
|
10546
|
+
Name => 'FineTuneOptMatrixMetering',
|
10547
|
+
Format => 'int8s',
|
10548
|
+
ValueConv => '$val / 6',
|
10549
|
+
ValueConvInv => 'int($val*6)',
|
10550
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10551
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10552
|
+
},
|
10553
|
+
35 => { # CSb6-b
|
10554
|
+
Name => 'FineTuneOptCenterWeighted',
|
10555
|
+
Format => 'int8s',
|
10556
|
+
ValueConv => '$val / 6',
|
10557
|
+
ValueConvInv => 'int($val*6)',
|
10558
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10559
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10560
|
+
},
|
10561
|
+
37 => { # CSb6-c
|
10562
|
+
Name => 'FineTuneOptSpotMetering',
|
10563
|
+
Format => 'int8s',
|
10564
|
+
ValueConv => '$val / 6',
|
10565
|
+
ValueConvInv => 'int($val*6)',
|
10566
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10567
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10568
|
+
},
|
10569
|
+
39 => { # CSb6-d
|
10570
|
+
Name => 'FineTuneOptHighlightWeighted',
|
10571
|
+
Format => 'int8s',
|
10572
|
+
ValueConv => '$val / 6',
|
10573
|
+
ValueConvInv => 'int($val*6)',
|
10574
|
+
PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
|
10575
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
10576
|
+
},
|
10577
|
+
41 => { # CSc1
|
10578
|
+
Name => 'ShutterReleaseButtonAE-L',
|
10579
|
+
PrintConv => {
|
10580
|
+
0 => 'Off',
|
10581
|
+
1 => 'On (Half Press)',
|
10582
|
+
2 => 'On (Burst Mode)',
|
10583
|
+
},
|
10584
|
+
},
|
10585
|
+
43 => { # CSc3-a
|
10586
|
+
Name => 'SelfTimerTime',
|
10587
|
+
PrintConv => {
|
10588
|
+
0 => '2 s',
|
10589
|
+
1 => '5 s',
|
10590
|
+
2 => '10 s',
|
10591
|
+
3 => '20 s',
|
10592
|
+
},
|
10593
|
+
},
|
10594
|
+
45 => { Name => 'SelfTimerShotCount', }, # CSc3-b 1-9
|
10595
|
+
49 => { # CSc3-c
|
10596
|
+
Name => 'SelfTimerShotInterval',
|
10597
|
+
PrintConv => {
|
10598
|
+
0 => '0.5 s',
|
10599
|
+
1 => '1 s',
|
10600
|
+
2 => '2 s',
|
10601
|
+
3 => '3 s',
|
10602
|
+
},
|
10603
|
+
},
|
10604
|
+
51 => { Name => 'PlaybackMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-a
|
10605
|
+
53 => { Name => 'MenuMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-b
|
10606
|
+
55 => { Name => 'ShootingInfoMonitorOffTime',%powerOffDelayTimesZ9 }, # CSc4-c
|
10607
|
+
57 => { Name => 'ImageReviewMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-d
|
10608
|
+
59 => { Name => 'CLModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1b
|
10609
|
+
61 => { # CSd2 # values: 1-200 & 'No Limit'
|
10610
|
+
Name => 'MaxContinuousRelease',
|
10611
|
+
Format => 'int16s',
|
10612
|
+
ValueConv => '($val eq -1 ? \'No Limit\' : $val ) ',
|
10613
|
+
},
|
10614
|
+
65 => { Name => 'SyncReleaseMode', PrintConv => { 0 => 'No Sync', 1 => 'Sync' }, Unknown => 1 }, # CSd4
|
10615
|
+
69 => { Name => 'LimitSelectableImageAreaDX', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-1
|
10616
|
+
70 => { Name => 'LimitSelectableImageArea1To1', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-2
|
10617
|
+
71 => { Name => 'LimitSelectableImageArea16To9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSd6-3
|
10618
|
+
72 => { Name => 'FileNumberSequence', PrintConv => \%offOn }, # CSd7
|
10619
|
+
73 => { #CSa13b
|
10620
|
+
Name => 'FocusPeakingLevel',
|
10621
|
+
Unknown => 1,
|
10622
|
+
PrintConv => {
|
10623
|
+
0 => 'High Sensitivity',
|
10624
|
+
1 => 'Standard Sensitivity',
|
10625
|
+
2 => 'Low Sensitivity',
|
10626
|
+
},
|
10627
|
+
},
|
10628
|
+
75 => { #CSa13c
|
10629
|
+
Name => 'FocusPeakingHighlightColor',
|
10630
|
+
Unknown => 1,
|
10631
|
+
PrintConv => {
|
10632
|
+
0 => 'Red',
|
10633
|
+
1 => 'Yellow',
|
10634
|
+
2 => 'Blue',
|
10635
|
+
3 => 'White',
|
10636
|
+
},
|
10637
|
+
},
|
10638
|
+
81 => { Name => 'ContinuousModeDisplay', PrintConv => \%offOn }, # CSd12
|
10639
|
+
83 => { # CSe1-a Previous cameras reported this with HighSpeedSync indicator appended as '(Auto FP)'. Z9 separated the 2 fields.
|
10640
|
+
Name => 'FlashSyncSpeed',
|
10641
|
+
ValueConv => '($val-144)/8',
|
10642
|
+
PrintConv => {
|
10643
|
+
0 => '1/60 s',
|
10644
|
+
1 => '1/80 s',
|
10645
|
+
2 => '1/100 s',
|
10646
|
+
3 => '1/125 s',
|
10647
|
+
4 => '1/160 s',
|
10648
|
+
5 => '1/200 s',
|
10649
|
+
6 => '1/250 s',
|
10650
|
+
},
|
10651
|
+
},
|
10652
|
+
85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
|
10653
|
+
87 => { # CSe2
|
10654
|
+
Name => 'FlashShutterSpeed',
|
10655
|
+
ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
|
10656
|
+
PrintConv => {
|
10657
|
+
0 => '1 s',
|
10658
|
+
1 => '1/2 s',
|
10659
|
+
2 => '1/4 s',
|
10660
|
+
3 => '1/8 s',
|
10661
|
+
4 => '1/15 s',
|
10662
|
+
5 => '1/30 s',
|
10663
|
+
6 => '1/60 s',
|
10664
|
+
7 => '30 s',
|
10665
|
+
8 => '15 s',
|
10666
|
+
9 => '8 s',
|
10667
|
+
10 => '4 s',
|
10668
|
+
11 => '2 s',
|
10669
|
+
},
|
10670
|
+
},
|
10671
|
+
89 => { Name => 'FlashExposureCompArea', PrintConv => { 0 => 'Entire Frame', 1 => 'Background Only' } }, # CSe3
|
10672
|
+
91 => { Name => 'AutoFlashISOSensitivity', PrintConv => { 0 => 'Subject and Background',1 => 'Subject Only'} }, # CSe4
|
10673
|
+
93 => { Name => 'ModelingFlash', PrintConv => \%offOn }, # CSe5
|
10674
|
+
95 => { # CSe6
|
10675
|
+
Name => 'AutoBracketModeM',
|
10676
|
+
PrintConv => {
|
10677
|
+
0 => 'Flash/Speed',
|
10678
|
+
1 => 'Flash/Speed/Aperture',
|
10679
|
+
2 => 'Flash/Aperture',
|
10680
|
+
3 => 'Flash Only',
|
10681
|
+
4 => 'Flash/ISO',
|
10682
|
+
},
|
10683
|
+
},
|
10684
|
+
97 => { Name => 'AutoBracketOrder', PrintConv => { 0 => '0,-,+',1 => '-,0,+' } }, # CSe7
|
10685
|
+
99 => { Name => 'Func1Button', %buttonsZ9}, # CSf2-a
|
10686
|
+
#101 Func1Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-a
|
10687
|
+
#103 Func1Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-a
|
10688
|
+
#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
|
10689
|
+
#109 Func1Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-a
|
10690
|
+
#111 Func1Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-a
|
10691
|
+
#113 Func1Button & Func1ButtonPlayback submenu: Rating # CSf2-a & CSf3a 0=>'Candidate For Deletion' 6=>''None'
|
10692
|
+
115 => { Name => 'Func2Button', %buttonsZ9}, # CSf2-b
|
10693
|
+
#117 Func2Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-b
|
10694
|
+
#119 Func2Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-b
|
10695
|
+
#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
|
10696
|
+
#125 Func2Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-b
|
10697
|
+
#127 Func2Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-b
|
10698
|
+
#129 Func2Button & Func2ButtonPlayback submenu: Rating # CSf2-b & CSf3b 0=>'Candidate For Deletion' 6=>''None'
|
10699
|
+
131 => { Name => 'AFOnButton', %buttonsZ9}, # CSf2-c
|
10700
|
+
143 => { Name => 'SubSelector', %buttonsZ9, Unknown => 1}, # CSf2-g
|
10701
|
+
155 => { Name => 'AssignMovieRecordButton', %buttonsZ9, Unknown => 1}, # CSf2-m
|
10702
|
+
159 => { Name => 'LensFunc1Button', %buttonsZ9}, # CSf2-o
|
10703
|
+
167 => { Name => 'LensFunc2Button', %buttonsZ9}, # CSf2-p
|
10704
|
+
173 => { # CSf2-q
|
10705
|
+
Name => 'LensControlRing',
|
10706
|
+
PrintConv => {
|
10707
|
+
0 => 'None (Disabled)',
|
10708
|
+
1 => 'Focus (M/A)',
|
10709
|
+
2 => 'ISO Sensitivity',
|
10710
|
+
3 => 'Exposure Compensation',
|
10711
|
+
4 => 'Aperture',
|
10712
|
+
},
|
10713
|
+
},
|
10714
|
+
175 => { Name => 'MultiSelectorShootMode', %buttonsZ9}, # CSf2-h called the OK button in camera, tag name retained for compatibility
|
10715
|
+
179 => { Name => 'MultiSelectorPlaybackMode', %buttonsZ9}, # CSf3f
|
10716
|
+
183 => { Name => 'ShutterSpeedLock', PrintConv => \%offOn }, # CSf4-a
|
10717
|
+
184 => { Name => 'ApertureLock', PrintConv => \%offOn }, # CSf4-b
|
10718
|
+
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
|
10719
|
+
Name => 'CmdDialsReverseRotExposureComp',
|
10720
|
+
RawConv => '$$self{CmdDialsReverseRotExposureComp} = $val',
|
10721
|
+
Hidden => 1,
|
10722
|
+
},
|
10723
|
+
186 => [{ # CSf5-a (continued from above)
|
10724
|
+
Name => 'CmdDialsReverseRotation',
|
10725
|
+
Condition => '$$self{CmdDialsReverseRotExposureComp} == 0',
|
10726
|
+
PrintConv => {
|
10727
|
+
0 => 'No',
|
10728
|
+
1 => 'Shutter Speed & Aperture',
|
10729
|
+
},
|
10730
|
+
},{
|
10731
|
+
Name => 'CmdDialsReverseRotation',
|
10732
|
+
PrintConv => {
|
10733
|
+
0 => 'Exposure Compensation',
|
10734
|
+
1 => 'Exposure Compensation, Shutter Speed & Aperture',
|
10735
|
+
},
|
10736
|
+
}],
|
10737
|
+
191 => { Name => 'UseDialWithoutHold', PrintConv => \%offOn, Unknown => 1 }, # CSf6
|
10738
|
+
193 => { Name => 'ReverseIndicators', PrintConv => { 0 => '+ 0 -', 1 => '- 0 +' }, Unknown => 1 }, # CSf7
|
10739
|
+
195 => { Name => 'MovieFunc1Button', %buttonsZ9}, # CSg2-a
|
10740
|
+
199 => { Name => 'MovieFunc2Button', %buttonsZ9}, # CSg2-b
|
10741
|
+
203 => { Name => 'MovieAF-OnButton', %buttonsZ9}, # CSg2-f
|
10742
|
+
207 => { Name => 'MovieMultiSelector', %buttonsZ9, Unknown => 1}, # CSg2-h
|
10743
|
+
215 => { # CSg2-z
|
10744
|
+
Name => 'MovieLensControlRing',
|
10745
|
+
PrintConv => {
|
10746
|
+
0 => 'None (Disabled)',
|
10747
|
+
2 => 'ISO Sensitivity',
|
10748
|
+
3 => 'Exposure Compensation',
|
10749
|
+
4 => 'Power Aperture',
|
10750
|
+
5 => 'Hi-Res Zoom',
|
10751
|
+
},
|
10752
|
+
},
|
10753
|
+
221 => { Name => 'MovieAFSpeed', ValueConv => '$val - 5', ValueConvInv => '$val + 5' }, # CSg6-a
|
10754
|
+
223 => { Name => 'MovieAFSpeedApply', PrintConv => {0 => 'Always', 1 => 'Only During Recording'},}, # CSg6-b
|
10755
|
+
225 => { # CSg7
|
10756
|
+
Name => 'MovieAFTrackingSensitivity',
|
10757
|
+
PrintConv => {
|
10758
|
+
0 => '1 (High)',
|
10759
|
+
1 => '2',
|
10760
|
+
2 => '3',
|
10761
|
+
3 => '4 (Normal)',
|
10762
|
+
4 => '5',
|
10763
|
+
5 => '6',
|
10764
|
+
6 => '7 (Low)',
|
10765
|
+
},
|
10766
|
+
},
|
10767
|
+
279 => { Name => 'LCDIllumination', PrintConv => \%offOn, Unknown => 1 }, # CSd11
|
10768
|
+
280 => { Name => 'ExtendedShutterSpeeds', PrintConv => \%offOn }, # CSd5
|
10769
|
+
281 => { Name => 'SubjectMotion', PrintConv => {0 => 'Erratic', 1 => 'Steady'} }, # CSa3-b
|
10770
|
+
283 => { Name => 'FocusPointPersistence', PrintConv => {0 => 'Auto', 1 => 'Off'} }, # CSa7
|
10771
|
+
285 => { Name => 'AutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
|
10772
|
+
289 => { Name => 'CHModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1a
|
10773
|
+
293.1 => { Name => 'LimitReleaseModeSelCL', Mask => 0x02, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-a
|
10774
|
+
293.2 => { Name => 'LimitReleaseModeSelCH', Mask => 0x04, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-b
|
10775
|
+
293.3 => { Name => 'LimitReleaseModeSelC30', Mask => 0x10, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-e
|
10776
|
+
293.4 => { Name => 'LimitReleaseModeSelC120', Mask => 0x40, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-c
|
10777
|
+
293.5 => { Name => 'LimitReleaseModeSelSelf', Mask => 0x80, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-d
|
10778
|
+
297 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
|
10779
|
+
301 => { Name => 'VerticalFuncButton', %buttonsZ9}, # CSf2-c
|
10780
|
+
305 => { Name => 'Func3Button', %buttonsZ9}, # CSf2-c
|
10781
|
+
309 => { Name => 'VerticalAFOnButton', %buttonsZ9}, # CSf2-l
|
10782
|
+
317 => { Name => 'VerticalMultiSelectorPlaybackMode', PrintConv => { 0 => 'Image Scroll L/R', 1 => 'Image Scroll Up/Down' }, Unknown => 1}, # CSf3-j
|
10783
|
+
319 => { Name => 'MovieFunc3Button', %buttonsZ9}, # CSg2-c
|
10784
|
+
359 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10785
|
+
360 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10786
|
+
361 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10787
|
+
363 => { Name => 'LimitAF-AreaModeSel3DTracking', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
10788
|
+
365 => { Name => 'PlaybackFlickUp', PrintConv => \%flicksZ9, Unknown => 1}, # CSf11-a
|
10789
|
+
369 => { Name => 'PlaybackFlickDown', PrintConv => \%flicksZ9, Unknown => 1}, # CSf11-b
|
10790
|
+
373 => { Name => 'ISOStepSize', PrintConv => \%thirdHalfFull }, # CSb1
|
10791
|
+
379 => { Name => 'ReverseFocusRing', PrintConv => { 0 => 'Not Reversed', 1 => 'Reversed' } }, # CSf8
|
10792
|
+
380 => { Name => 'EVFImageFrame', PrintConv => \%offOn, Unknown => 1 }, # CSd14
|
10793
|
+
381 => { Name => 'EVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSd15
|
10794
|
+
383 => { Name => 'VirtualHorizonStyle', PrintConv => {0 => 'Type A (Cockpit)', 1 => 'Type B (Sides)' }, Unknown => 1}, #CSd16
|
10795
|
+
397 => { Name => 'Func4Button', %buttonsZ9, Unknown => 1}, # CSf2-e
|
10796
|
+
403 => { Name => 'AudioButton', %buttonsZ9, Unknown => 1}, # CSf2-i
|
10797
|
+
405 => { Name => 'QualityButton', %buttonsZ9, Unknown => 1}, # CSf2-j
|
10798
|
+
423 => { Name => 'VerticalMultiSelector', %buttonsZ9, Unknown => 1}, # CSf2-k
|
10799
|
+
445 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-a
|
10800
|
+
447 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-b
|
10801
|
+
449 => { Name => 'Func3ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-c
|
10802
|
+
455 => { Name => 'Func4ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-e
|
10803
|
+
461 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-m
|
10804
|
+
463 => { Name => 'VerticalFuncButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-d
|
10805
|
+
465 => { Name => 'AudioButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-g
|
10806
|
+
471 => { Name => 'QualityButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-h
|
10807
|
+
477 => { Name => 'WhiteBalanceButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-i
|
10808
|
+
483 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
|
10809
|
+
487 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
|
10810
|
+
491 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
10811
|
+
493 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf10
|
10812
|
+
505 => { Name => 'VerticalMovieFuncButton', %buttonsZ9, Unknown => 1}, # CSg2-d
|
10813
|
+
529 => { Name => 'VerticalMovieAFOnButton', %buttonsZ9, Unknown => 1}, # CSg2-l
|
10814
|
+
539 => { Name => 'MovieAFAreaMode', %buttonsZ9, Unknown => 1}, # CSg2-e
|
10815
|
+
#545 => { Name => 'MovieLimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-a
|
10816
|
+
#546 => { Name => 'MovieLimitAF-AreaModeSelWideAF_W', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-b
|
10817
|
+
#547 => { Name => 'MovieLimitAF-AreaModeSelSubjectTrack', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-c
|
10818
|
+
#548 => { Name => 'MovieLimitAFAreaModeSelAuto', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-d
|
10819
|
+
#549 => { Name => 'MovieAutoFocusModeRestrictions', PrintConv => \%focusModeRestrictionsZ9, Unknown => 1}, # CSa9
|
10820
|
+
551 => { Name => 'HDMIViewAssist', PrintConv => \%offOn, Unknown => 1 }, # CSg12
|
10821
|
+
553 => { # CSg13-a
|
10822
|
+
Name => 'ZebraPatternToneRange',
|
10823
|
+
Unknown => 1,
|
10824
|
+
RawConv => '$$self{ZebraPatternToneRange} = $val',
|
10825
|
+
PrintConv => {
|
10826
|
+
0 => 'Off',
|
10827
|
+
1 => 'Highlights',
|
10828
|
+
2 => 'Midtones',
|
10829
|
+
},
|
10830
|
+
},
|
10831
|
+
555 => { Name => 'MovieZebraPattern', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} != 0', PrintConv => {0 => 'Pattern 1', 1 => 'Pattern 2'}, Unknown => 1}, # CSg13-b
|
10832
|
+
557 => { Name => 'MovieHighlightDisplayThreshold', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 1', Unknown => 1 }, # CSg13-c 120-25 when highlights are the selected tone range
|
10833
|
+
559 => { Name => 'MovieMidtoneDisplayValue', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', Unknown => 1 }, # CSg13-d1 when midtones are the selected tone range
|
10834
|
+
561 => { Name => 'MovieMidtoneDisplayRange', Condition => '$$self{ZebraPatternToneRange} and $$self{ZebraPatternToneRange} == 2', PrintConv => '"+/-$val"', Unknown => 1 }, # CSg13-d2 when midtones are the selected tone range
|
10835
|
+
#563 CS g-14 LimitZebraPatternToneRange 0=>'No Restrictions', 1=> 'Highlights', 2=> 'Midtones'
|
10836
|
+
565 => { Name => 'MovieEVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSg15
|
10837
|
+
573 => { Name => 'MovieShutterSpeedLock', PrintConv => \%offOn, Unknown => 1}, # CSg3-a
|
10838
|
+
574 => { Name => 'MovieFocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSg3-c
|
10839
|
+
587 => { Name => 'MatrixMetering', PrintConv => { 0 => 'Face Detection Off', 1 => 'Face Detection On' }, Unknown => 1 }, # CSb4
|
10840
|
+
588 => { Name => 'AF-CFocusDisplay', PrintConv => \%offOn }, # CSa11c
|
10841
|
+
589 => { Name => 'FocusPeakingDisplay', PrintConv => \%offOn, Unknown => 1}, # CSa13a
|
10842
|
+
591 => { # CSb7
|
10843
|
+
Name => 'KeepExposure',
|
10844
|
+
PrintConv => {
|
10845
|
+
0 => 'Off',
|
10846
|
+
1 => 'Shutter Speed',
|
10847
|
+
2 => 'ISO',
|
10848
|
+
},
|
10849
|
+
},
|
10850
|
+
#593 CSd (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.
|
10851
|
+
609 => { Name => 'StarlightView', PrintConv => \%offOn, Unknown => 1 }, # CSd11
|
10852
|
+
611 => { # CSd12-a
|
10853
|
+
Name => 'EVFWarmDisplayMode',
|
10854
|
+
Unknown => 1,
|
10855
|
+
PrintConv => {
|
10856
|
+
0 => 'Off',
|
10857
|
+
1 => 'Mode 1',
|
10858
|
+
2 => 'Mode 2',
|
10859
|
+
},
|
10860
|
+
},
|
10861
|
+
613 => { # CSd12-b values in range -3 to +3
|
10862
|
+
Name => 'EVFWarmDisplayBrightness',
|
10863
|
+
Format => 'int8s',
|
10864
|
+
Unknown => 1,
|
10865
|
+
},
|
10866
|
+
615 => { #CSd15
|
10867
|
+
Name => 'EVFReleaseIndicator',
|
10868
|
+
Unknown => 1,
|
10869
|
+
PrintConv => {
|
10870
|
+
0 => 'Off',
|
10871
|
+
1 => 'Type A (Dark)',
|
10872
|
+
2 => 'Type B (Border)',
|
10873
|
+
3 => 'Type C (Sides)',
|
10874
|
+
},
|
10875
|
+
},
|
10876
|
+
625 => { Name => 'MovieApertureLock', PrintConv => \%offOn, Unknown => 1 }, # CSg3-b
|
10877
|
+
631 => { Name => 'FlickAdvanceDirection', PrintConv => { 0 => 'Left to Right', 1 => 'Right to Left' }, Unknown => 1 }, # CSf13-c
|
10878
|
+
);
|
10078
10879
|
1; # end
|
10079
10880
|
|
10080
10881
|
__END__
|