exiftool_vendored 12.64.1 → 12.65.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.
- checksums.yaml +4 -4
- data/bin/Changes +26 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +22 -15
- data/bin/lib/Image/ExifTool/Apple.pm +9 -5
- data/bin/lib/Image/ExifTool/BigTIFF.pm +8 -1
- data/bin/lib/Image/ExifTool/Canon.pm +3 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +8 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +561 -67
- data/bin/lib/Image/ExifTool/NikonCustom.pm +862 -61
- data/bin/lib/Image/ExifTool/PDF.pm +18 -8
- 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 +4607 -4591
- data/bin/lib/Image/ExifTool/TagNames.pod +465 -21
- data/bin/lib/Image/ExifTool/Writer.pl +7 -2
- data/bin/lib/Image/ExifTool.pm +112 -92
- data/bin/lib/Image/ExifTool.pod +26 -1
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -184
@@ -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__
|