exiftool_vendored 12.50.0 → 12.52.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 +39 -2
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +5 -4
- data/bin/lib/Image/ExifTool/Casio.pm +3 -3
- data/bin/lib/Image/ExifTool/FLIR.pm +6 -5
- data/bin/lib/Image/ExifTool/GPS.pm +11 -5
- data/bin/lib/Image/ExifTool/Geotag.pm +12 -4
- data/bin/lib/Image/ExifTool/JPEG.pm +1 -0
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +24 -3
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +6015 -759
- data/bin/lib/Image/ExifTool/Lang/sk.pm +1927 -0
- data/bin/lib/Image/ExifTool/Matroska.pm +261 -45
- data/bin/lib/Image/ExifTool/Nikon.pm +470 -272
- data/bin/lib/Image/ExifTool/NikonCustom.pm +139 -106
- data/bin/lib/Image/ExifTool/Olympus.pm +3 -2
- data/bin/lib/Image/ExifTool/PNG.pm +8 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +4 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +44 -11
- data/bin/lib/Image/ExifTool/README +2 -1
- data/bin/lib/Image/ExifTool/Sony.pm +4 -4
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +11 -6
- data/bin/lib/Image/ExifTool/TagLookup.pm +4543 -4491
- data/bin/lib/Image/ExifTool/TagNames.pod +227 -37
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +12 -7
- data/bin/lib/Image/ExifTool/WriteXMP.pl +15 -1
- data/bin/lib/Image/ExifTool/Writer.pl +33 -13
- data/bin/lib/Image/ExifTool/ZIP.pm +19 -7
- data/bin/lib/Image/ExifTool.pm +36 -15
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
|
@@ -64,7 +64,7 @@ use Image::ExifTool::Exif;
|
|
|
64
64
|
use Image::ExifTool::GPS;
|
|
65
65
|
use Image::ExifTool::XMP;
|
|
66
66
|
|
|
67
|
-
$VERSION = '4.
|
|
67
|
+
$VERSION = '4.15';
|
|
68
68
|
|
|
69
69
|
sub LensIDConv($$$);
|
|
70
70
|
sub ProcessNikonAVI($$$);
|
|
@@ -369,6 +369,7 @@ sub GetAFPointGrid($$;$);
|
|
|
369
369
|
'48 54 3E 3E 0C 0C 4B 06' => 'Sigma 30mm F1.4 EX DC HSM',
|
|
370
370
|
'F8 54 3E 3E 0C 0C 4B 06' => 'Sigma 30mm F1.4 EX DC HSM', #JD
|
|
371
371
|
'91 54 44 44 0C 0C 4B 06' => 'Sigma 35mm F1.4 DG HSM', #30
|
|
372
|
+
'BD 54 48 48 0C 0C 4B 46' => 'Sigma 40mm F1.4 DG HSM | A', #30
|
|
372
373
|
'DE 54 50 50 0C 0C 4B 06' => 'Sigma 50mm F1.4 EX DG HSM',
|
|
373
374
|
'88 54 50 50 0C 0C 4B 06' => 'Sigma 50mm F1.4 DG HSM | A',
|
|
374
375
|
'02 48 50 50 24 24 02 00' => 'Sigma Macro 50mm F2.8', #https://exiftool.org/forum/index.php/topic,4027.0.html
|
|
@@ -382,6 +383,7 @@ sub GetAFPointGrid($$;$);
|
|
|
382
383
|
'32 54 6A 6A 24 24 35 02.2' => 'Sigma Macro 105mm F2.8 EX DG', #JD
|
|
383
384
|
'E5 54 6A 6A 24 24 35 02' => 'Sigma Macro 105mm F2.8 EX DG',
|
|
384
385
|
'97 48 6A 6A 24 24 4B 0E' => 'Sigma Macro 105mm F2.8 EX DG OS HSM',
|
|
386
|
+
'BE 54 6A 6A 0C 0C 4B 46' => 'Sigma 105mm F1.4 DG HSM | A', #30
|
|
385
387
|
'48 48 76 76 24 24 4B 06' => 'Sigma APO Macro 150mm F2.8 EX DG HSM',
|
|
386
388
|
'F5 48 76 76 24 24 4B 06' => 'Sigma APO Macro 150mm F2.8 EX DG HSM', #24
|
|
387
389
|
'99 48 76 76 24 24 4B 0E' => 'Sigma APO Macro 150mm F2.8 EX DG OS HSM', #(Christian Hesse)
|
|
@@ -437,7 +439,7 @@ sub GetAFPointGrid($$;$);
|
|
|
437
439
|
'90 40 2D 80 2C 40 4B 0E' => 'Sigma 18-200mm F3.5-6.3 II DC OS HSM', #JohnHelour
|
|
438
440
|
'89 30 2D 80 2C 40 4B 0E' => 'Sigma 18-200mm F3.5-6.3 DC Macro OS HS | C', #JoeSchonberg
|
|
439
441
|
'A5 40 2D 88 2C 40 4B 0E' => 'Sigma 18-250mm F3.5-6.3 DC OS HSM',
|
|
440
|
-
|
|
442
|
+
# LensFStops varies with FocalLength for this lens (ref 2):
|
|
441
443
|
'92 2C 2D 88 2C 40 4B 0E' => 'Sigma 18-250mm F3.5-6.3 DC Macro OS HSM', #2
|
|
442
444
|
'87 2C 2D 8E 2C 40 4B 0E' => 'Sigma 18-300mm F3.5-6.3 DC Macro HSM', #30
|
|
443
445
|
# '92 2C 2D 88 2C 40 4B 0E' (250mm)
|
|
@@ -829,6 +831,53 @@ my %activeDLightingZ7 = (
|
|
|
829
831
|
5 => 'Extra High',
|
|
830
832
|
);
|
|
831
833
|
|
|
834
|
+
my %aFAreaModeZ9 = (
|
|
835
|
+
0 => 'Pinpoint',
|
|
836
|
+
1 => 'Single',
|
|
837
|
+
2 => 'Dynamic',
|
|
838
|
+
3 => 'Wide (S)',
|
|
839
|
+
4 => 'Wide (L)',
|
|
840
|
+
5 => '3D',
|
|
841
|
+
6 => 'Auto',
|
|
842
|
+
11 => 'Subject Tracking',
|
|
843
|
+
12 => 'Wide (C1)',
|
|
844
|
+
13 => 'Wide (C2)',
|
|
845
|
+
);
|
|
846
|
+
|
|
847
|
+
my %banksZ9 = (
|
|
848
|
+
0 => 'A',
|
|
849
|
+
1 => 'B',
|
|
850
|
+
2 => 'C',
|
|
851
|
+
3 => 'D',
|
|
852
|
+
);
|
|
853
|
+
|
|
854
|
+
my %bracketIncrementZ9 = (
|
|
855
|
+
0 => '0.3',
|
|
856
|
+
#1 => '0.5',
|
|
857
|
+
2 => '0.7',
|
|
858
|
+
3 => '1.0',
|
|
859
|
+
4 => '2.0',
|
|
860
|
+
5 => '3.0',
|
|
861
|
+
);
|
|
862
|
+
|
|
863
|
+
my %bracketSetZ9 = (
|
|
864
|
+
0 => 'AE/Flash',
|
|
865
|
+
1 => 'AE',
|
|
866
|
+
2 => 'Flash',
|
|
867
|
+
3 => 'White Balance',
|
|
868
|
+
4 => 'Active-D Lighting',
|
|
869
|
+
);
|
|
870
|
+
|
|
871
|
+
my %bracketProgramZ9 = (
|
|
872
|
+
0 => 'Disabled',
|
|
873
|
+
2 => '2F',
|
|
874
|
+
3 => '3F',
|
|
875
|
+
4 => '4F',
|
|
876
|
+
5 => '5F',
|
|
877
|
+
7 => '7F',
|
|
878
|
+
9 => '9F',
|
|
879
|
+
);
|
|
880
|
+
|
|
832
881
|
my %flashControlModeZ7 = (
|
|
833
882
|
0 => 'TTL',
|
|
834
883
|
1 => 'Auto External Flash',
|
|
@@ -857,6 +906,29 @@ my %focusModeZ7 = (
|
|
|
857
906
|
4 => 'AF-F', # full frame
|
|
858
907
|
);
|
|
859
908
|
|
|
909
|
+
my %hDMIOutputResolutionZ9 = (
|
|
910
|
+
0 => 'Auto',
|
|
911
|
+
1 => '4320p',
|
|
912
|
+
2 => '2160p',
|
|
913
|
+
3 => '1080p',
|
|
914
|
+
#4 => '1080i',
|
|
915
|
+
5 => '720p',
|
|
916
|
+
#6 => '576p',
|
|
917
|
+
#7 => '480p',
|
|
918
|
+
);
|
|
919
|
+
|
|
920
|
+
my %imageAreaZ9 = (
|
|
921
|
+
0 => 'FX',
|
|
922
|
+
1 => 'DX',
|
|
923
|
+
4 => '16:9',
|
|
924
|
+
8 => '1:1',
|
|
925
|
+
);
|
|
926
|
+
|
|
927
|
+
my %imageAreaZ9b = (
|
|
928
|
+
0 => 'FX',
|
|
929
|
+
1 => 'DX',
|
|
930
|
+
);
|
|
931
|
+
|
|
860
932
|
my %infoZSeries = (
|
|
861
933
|
Condition => '$$self{Model} =~ /^NIKON Z (5|50|6|6_2|7|7_2|fc|9)\b/i',
|
|
862
934
|
Notes => 'Z Series cameras thru December 2021',
|
|
@@ -895,6 +967,66 @@ my %iSOAutoHiLimitZ7 = (
|
|
|
895
967
|
32 => 'ISO Hi 2.0',
|
|
896
968
|
);
|
|
897
969
|
|
|
970
|
+
my %iSOAutoShutterTimeZ9 = (
|
|
971
|
+
-15 => 'Auto', #z9 firmware 1.00 maps both 'Auto' and '30 s' to -15
|
|
972
|
+
-12 => '15 s',
|
|
973
|
+
-9 => '8 s',
|
|
974
|
+
-6 => '4 s',
|
|
975
|
+
-3 => '2 s',
|
|
976
|
+
0 => '1 s',
|
|
977
|
+
1 => '1/1.3 s',
|
|
978
|
+
2 => '1/1.6 s',
|
|
979
|
+
3 => '1/2 s',
|
|
980
|
+
4 => '1/2.5 s',
|
|
981
|
+
5 => '1/3 s',
|
|
982
|
+
6 => '1/4 s',
|
|
983
|
+
7 => '1/5 s',
|
|
984
|
+
8 => '1/6 s',
|
|
985
|
+
9 => '1/8 s',
|
|
986
|
+
10 => '1/10 s',
|
|
987
|
+
11 => '1/13 s',
|
|
988
|
+
12 => '1/15 s',
|
|
989
|
+
13 => '1/20 s',
|
|
990
|
+
14 => '1/25 s',
|
|
991
|
+
15 => '1/30 s',
|
|
992
|
+
16 => '1/40 s',
|
|
993
|
+
17 => '1/50 s',
|
|
994
|
+
18 => '1/60 s',
|
|
995
|
+
19 => '1/80 s',
|
|
996
|
+
20 => '1/100 s',
|
|
997
|
+
21 => '1/120 s',
|
|
998
|
+
22 => '1/160 s',
|
|
999
|
+
23 => '1/200 s',
|
|
1000
|
+
24 => '1/250 s',
|
|
1001
|
+
25 => '1/320 s',
|
|
1002
|
+
26 => '1/400 s',
|
|
1003
|
+
27 => '1/500 s',
|
|
1004
|
+
28 => '1/640 s',
|
|
1005
|
+
29 => '1/800 s',
|
|
1006
|
+
30 => '1/1000 s',
|
|
1007
|
+
31 => '1/1250 s',
|
|
1008
|
+
32 => '1/1600 s',
|
|
1009
|
+
33 => '1/2000 s',
|
|
1010
|
+
34 => '1/2500 s',
|
|
1011
|
+
35 => '1/3200 s',
|
|
1012
|
+
36 => '1/4000 s',
|
|
1013
|
+
37 => '1/5000 s',
|
|
1014
|
+
37.5 => '1/6000 s',
|
|
1015
|
+
38 => '1/6400 s',
|
|
1016
|
+
39 => '1/8000 s',
|
|
1017
|
+
40 => '1/10000 s',
|
|
1018
|
+
40.5 => '1/12000 s',
|
|
1019
|
+
41 => '1/13000 s',
|
|
1020
|
+
42 => '1/16000 s',
|
|
1021
|
+
);
|
|
1022
|
+
|
|
1023
|
+
my %languageZ9 = (
|
|
1024
|
+
4 => 'English',
|
|
1025
|
+
5 => 'Spanish',
|
|
1026
|
+
7 => 'French',
|
|
1027
|
+
15 => 'Portuguese'
|
|
1028
|
+
);
|
|
1029
|
+
|
|
898
1030
|
my %meteringModeZ7 = (
|
|
899
1031
|
0 => 'Matrix',
|
|
900
1032
|
1 => 'Center',
|
|
@@ -902,6 +1034,30 @@ my %meteringModeZ7 = (
|
|
|
902
1034
|
3 => 'Highlight'
|
|
903
1035
|
);
|
|
904
1036
|
|
|
1037
|
+
my %monitorBrightnessZ9 = (
|
|
1038
|
+
0 => '-5',
|
|
1039
|
+
1 => '-4',
|
|
1040
|
+
2 => '-3',
|
|
1041
|
+
3 => '-2',
|
|
1042
|
+
4 => '-1',
|
|
1043
|
+
5 => '0',
|
|
1044
|
+
6 => '1',
|
|
1045
|
+
7 => '2',
|
|
1046
|
+
8 => '3',
|
|
1047
|
+
9 => '4',
|
|
1048
|
+
10 => '5',
|
|
1049
|
+
14 => 'Hi1',
|
|
1050
|
+
15 => 'Hi2',
|
|
1051
|
+
16 => 'Lo2',
|
|
1052
|
+
17 => 'Lo1',
|
|
1053
|
+
);
|
|
1054
|
+
|
|
1055
|
+
my %movieFlickerReductionZ9 = (
|
|
1056
|
+
0 => 'Auto',
|
|
1057
|
+
1 => '50Hz',
|
|
1058
|
+
2 => '60Hz',
|
|
1059
|
+
);
|
|
1060
|
+
|
|
905
1061
|
my %movieFrameRateZ7 = (
|
|
906
1062
|
0 => '120p',
|
|
907
1063
|
1 => '100p',
|
|
@@ -912,6 +1068,33 @@ my %movieFrameRateZ7 = (
|
|
|
912
1068
|
6 => '24p',
|
|
913
1069
|
);
|
|
914
1070
|
|
|
1071
|
+
my %movieFrameSizeZ9 = (
|
|
1072
|
+
1 => '1920x1080',
|
|
1073
|
+
2 => '3840x2160',
|
|
1074
|
+
3 => '7680x4320',
|
|
1075
|
+
);
|
|
1076
|
+
|
|
1077
|
+
my %movieToneMapZ9 = (
|
|
1078
|
+
0 => 'SDR',
|
|
1079
|
+
1 => 'HLG',
|
|
1080
|
+
2 => 'N-Log',
|
|
1081
|
+
);
|
|
1082
|
+
|
|
1083
|
+
my %movieTypeZ9 = (
|
|
1084
|
+
1 => 'H.265 8-bit (MP4)',
|
|
1085
|
+
2 => 'H.265 8-bit (MOV)',
|
|
1086
|
+
3 => 'H.265 10-bit (MOV)',
|
|
1087
|
+
4 => 'ProRes 422 HQ 10-bit (MOV)',
|
|
1088
|
+
5 => 'ProRes RAW HQ 12-bit (MOV)',
|
|
1089
|
+
6 => 'NRAW 12-bit (NEV)'
|
|
1090
|
+
);
|
|
1091
|
+
|
|
1092
|
+
my %multipleExposureModeZ9 = (
|
|
1093
|
+
0 => 'Off',
|
|
1094
|
+
1 => 'On',
|
|
1095
|
+
2 => 'On (Series)',
|
|
1096
|
+
);
|
|
1097
|
+
|
|
915
1098
|
my %offLowNormalHighZ7 = (
|
|
916
1099
|
0 => 'Off',
|
|
917
1100
|
1 => 'Low',
|
|
@@ -919,10 +1102,11 @@ my %offLowNormalHighZ7 = (
|
|
|
919
1102
|
3 => 'High',
|
|
920
1103
|
);
|
|
921
1104
|
|
|
922
|
-
my %
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
1105
|
+
my %secondarySlotFunctionZ9 = (
|
|
1106
|
+
0 => 'Overflow',
|
|
1107
|
+
1 => 'Backup',
|
|
1108
|
+
2 => 'NEF Primary + JPG Secondary',
|
|
1109
|
+
3 => 'JPG Primary + JPG Secondary',
|
|
926
1110
|
);
|
|
927
1111
|
|
|
928
1112
|
my %subjectDetectionZ9 = (
|
|
@@ -933,6 +1117,34 @@ my %subjectDetectionZ9 = (
|
|
|
933
1117
|
4 => 'Vehicles',
|
|
934
1118
|
);
|
|
935
1119
|
|
|
1120
|
+
my %timeZoneZ9 = (
|
|
1121
|
+
3 => '+10:00 (Sydney)',
|
|
1122
|
+
5 => '+09:00 (Tokyo)',
|
|
1123
|
+
6 => '+08:00 (Beijing, Honk Kong, Sinapore)',
|
|
1124
|
+
10 => '+05:45 (Kathmandu)',
|
|
1125
|
+
11 => '+05:30 (New Dehli)',
|
|
1126
|
+
12 => '+05:00 (Islamabad)',
|
|
1127
|
+
13 => '+04:30 (Kabul)',
|
|
1128
|
+
14 => '+04:00 (Abu Dhabi)',
|
|
1129
|
+
15 => '+03:30 (Tehran)',
|
|
1130
|
+
16 => '+03:00 (Moscow, Nairobi)',
|
|
1131
|
+
17 => '+02:00 (Athens, Helsinki)',
|
|
1132
|
+
18 => '+01:00 (Madrid, Paris, Berlin)',
|
|
1133
|
+
19 => '+00:00 (London)',
|
|
1134
|
+
20 => '-01:00 (Azores)',
|
|
1135
|
+
21 => '-02:00 (Fernando de Noronha)',
|
|
1136
|
+
22 => '-03:00 (Buenos Aires, Sao Paulo)',
|
|
1137
|
+
23 => '-03:30 (Newfoundland)',
|
|
1138
|
+
24 => '-04:00 (Manaus, Caracas)',
|
|
1139
|
+
25 => '-05:00 (New York, Toronto, Lima)',
|
|
1140
|
+
26 => '-06:00 (Chicago, Mexico City)',
|
|
1141
|
+
27 => '-07:00 (Denver)',
|
|
1142
|
+
28 => '-08:00 (Los Angeles, Vancouver)',
|
|
1143
|
+
29 => '-09:00 (Anchorage)',
|
|
1144
|
+
30 => '-10:00 (Hawaii)',
|
|
1145
|
+
);
|
|
1146
|
+
|
|
1147
|
+
|
|
936
1148
|
my %vRModeZ9 = (
|
|
937
1149
|
0 => 'Off',
|
|
938
1150
|
1 => 'Normal',
|
|
@@ -2091,7 +2303,7 @@ my %base64coord = (
|
|
|
2091
2303
|
TagTable => 'Image::ExifTool::Nikon::ShotInfoZ9',
|
|
2092
2304
|
DecryptStart => 4,
|
|
2093
2305
|
# TODO: eventually set the length dynamically according to actual offsets!
|
|
2094
|
-
DecryptLen => 0xec4b +
|
|
2306
|
+
DecryptLen => 0xec4b + 2196, # decoded thru end of Offset26
|
|
2095
2307
|
ByteOrder => 'LittleEndian',
|
|
2096
2308
|
},
|
|
2097
2309
|
},
|
|
@@ -5053,6 +5265,7 @@ my %nikonFocalConversions = (
|
|
|
5053
5265
|
31 => 'Nikkor Z 24-120 f/4', #28
|
|
5054
5266
|
32 => 'Nikkor Z 800mm f/6.3 VR S', #28
|
|
5055
5267
|
36 => 'Nikkor Z 400mm f/4.5 VR S', #IB
|
|
5268
|
+
39 => 'Nikkor Z 17-28mm f/2.8', #IB
|
|
5056
5269
|
},
|
|
5057
5270
|
},
|
|
5058
5271
|
0x35 => { #28
|
|
@@ -8250,15 +8463,26 @@ my %nikonFocalConversions = (
|
|
|
8250
8463
|
# account for variable location of menu settings data
|
|
8251
8464
|
Hook => '$varSize = $$self{MenuSettingsZ9Offset} - 0xec4b',
|
|
8252
8465
|
},
|
|
8253
|
-
0xec4b =>
|
|
8254
|
-
|
|
8255
|
-
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
|
|
8466
|
+
0xec4b => [
|
|
8467
|
+
{
|
|
8468
|
+
Name => 'MenuSettingsZ9',
|
|
8469
|
+
Condition => '$$self{FirmwareVersion} lt "03.00"',
|
|
8470
|
+
Format => 'undef[1646]',
|
|
8471
|
+
Notes => 'Firmware versions 2.11 and earlier',
|
|
8472
|
+
SubDirectory => {
|
|
8473
|
+
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ9',
|
|
8474
|
+
},
|
|
8259
8475
|
},
|
|
8260
|
-
|
|
8261
|
-
|
|
8476
|
+
{
|
|
8477
|
+
Name => 'MenuSettingsZ9',
|
|
8478
|
+
Notes => 'Firmware versions 3.0 and later',
|
|
8479
|
+
Format => 'undef[1948]',
|
|
8480
|
+
SubDirectory => {
|
|
8481
|
+
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ9Firmware3',
|
|
8482
|
+
},
|
|
8483
|
+
},
|
|
8484
|
+
],
|
|
8485
|
+
# note: DecryptLen currently set to 0xec4b + 2196
|
|
8262
8486
|
);
|
|
8263
8487
|
|
|
8264
8488
|
%Image::ExifTool::Nikon::MenuSettingsZ7II = (
|
|
@@ -8366,8 +8590,8 @@ my %nikonFocalConversions = (
|
|
|
8366
8590
|
PrintConv => '$val>0.99 ? "Full" : sprintf("%.1f%%",$val*100)',
|
|
8367
8591
|
PrintConvInv => '$val=~/(\d+)/ ? $1/100 : 1',
|
|
8368
8592
|
},
|
|
8369
|
-
346 => { Name => 'FlashWirelessOption', PrintConv => \%flashWirelessOptionZ7, Unknown => 1},
|
|
8370
|
-
348 => { Name => 'FlashRemoteControl', PrintConv => \%flashRemoteControlZ7,
|
|
8593
|
+
346 => { Name => 'FlashWirelessOption', PrintConv => \%flashWirelessOptionZ7, Unknown => 1 },
|
|
8594
|
+
348 => { Name => 'FlashRemoteControl', PrintConv => \%flashRemoteControlZ7, Unknown => 1 },
|
|
8371
8595
|
352 => {
|
|
8372
8596
|
Name => 'FlashMasterControlMode', # tag name chosen for compatibility with those found in FlashInfo0102 & FlashInfo0103
|
|
8373
8597
|
RawConv => '$$self{FlashGroupOptionsMasterMode} = $val',
|
|
@@ -8392,12 +8616,12 @@ my %nikonFocalConversions = (
|
|
|
8392
8616
|
PrintConv => '$val>0.99 ? "Full" : sprintf("%.1f%%",$val*100)',
|
|
8393
8617
|
PrintConvInv => '$val=~/(\d+)/ ? $1/100 : 1',
|
|
8394
8618
|
},
|
|
8395
|
-
#360 => {Name => 'FlashGroupAControlMode'
|
|
8396
|
-
#368 => {Name => 'FlashGroupBControlMode'
|
|
8397
|
-
#376 => {Name => 'FlashGroupCControlMode'
|
|
8398
|
-
#384 => {Name => 'FlashGroupDControlMode'
|
|
8399
|
-
#392 => {Name => 'FlashGroupEControlMode'
|
|
8400
|
-
#400 => {Name => 'FlashGroupFControlMode'
|
|
8619
|
+
#360 => { Name => 'FlashGroupAControlMode' }, # commented out to reduce output volume - mapping follows FlashMasterControlMode with FlashGroupACompensation at 362 and FlashGroupAOutput at 368
|
|
8620
|
+
#368 => { Name => 'FlashGroupBControlMode' }, # commented out to reduce output volume - mapping follows FlashMasterControlMode with FlashGroupBCompensation at 370 and FlashGroupBOutput at 374
|
|
8621
|
+
#376 => { Name => 'FlashGroupCControlMode' }, # commented out to reduce output volume - mapping follows FlashMasterControlMode with FlashGroupCCompensation at 378 and FlashGroupCOutput at 382
|
|
8622
|
+
#384 => { Name => 'FlashGroupDControlMode' }, # commented out to reduce output volume - mapping follows FlashMasterControlMode with FlashGroupDCompensation at 386 and FlashGroupDOutput at 390
|
|
8623
|
+
#392 => { Name => 'FlashGroupEControlMode' }, # commented out to reduce output volume - mapping follows FlashMasterControlMode with FlashGroupECompensation at 394 and FlashGroupEOutput at 398
|
|
8624
|
+
#400 => { Name => 'FlashGroupFControlMode' }, # commented out to reduce output volume - mapping follows FlashMasterControlMode with FlashGroupFCompensation at 402 and FlashGroupFOutput at 406
|
|
8401
8625
|
#434 => FocusMode
|
|
8402
8626
|
#436 => AFAreaMode
|
|
8403
8627
|
#438 => VibrationReduction
|
|
@@ -8405,8 +8629,8 @@ my %nikonFocalConversions = (
|
|
|
8405
8629
|
#444 => BracketProgram
|
|
8406
8630
|
#446 => BracketIncrement
|
|
8407
8631
|
#463 => SilentPhotography
|
|
8408
|
-
502 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1},
|
|
8409
|
-
504 => { Name => 'MovieFrameRate',
|
|
8632
|
+
502 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1 },
|
|
8633
|
+
504 => { Name => 'MovieFrameRate', PrintConv => \%movieFrameRateZ7, Unknown => 1 },
|
|
8410
8634
|
506 => {
|
|
8411
8635
|
Name => 'MovieSlowMotion',
|
|
8412
8636
|
Unknown => 1,
|
|
@@ -8435,9 +8659,9 @@ my %nikonFocalConversions = (
|
|
|
8435
8659
|
PrintConv => \%iSOAutoHiLimitZ7,
|
|
8436
8660
|
},
|
|
8437
8661
|
#520 => MovieWhiteBalanceSameAsPhoto
|
|
8438
|
-
568 => { Name => 'MovieActiveD-Lighting',
|
|
8439
|
-
572 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1},
|
|
8440
|
-
574 => { Name => 'MovieVignetteControl',
|
|
8662
|
+
568 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
|
8663
|
+
572 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
8664
|
+
574 => { Name => 'MovieVignetteControl', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
8441
8665
|
576 => {
|
|
8442
8666
|
Name => 'MovieVignetteControlSameAsPhoto',
|
|
8443
8667
|
Unknown => 1,
|
|
@@ -8453,7 +8677,7 @@ my %nikonFocalConversions = (
|
|
|
8453
8677
|
Unknown => 1,
|
|
8454
8678
|
PrintConv => \%offOn
|
|
8455
8679
|
},
|
|
8456
|
-
584 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1},
|
|
8680
|
+
584 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1 },
|
|
8457
8681
|
#586 => MovieAFAreaMode
|
|
8458
8682
|
590 => {
|
|
8459
8683
|
Name => 'MovieVibrationReduction',
|
|
@@ -8493,11 +8717,7 @@ my %nikonFocalConversions = (
|
|
|
8493
8717
|
140 => {
|
|
8494
8718
|
Name => 'MultipleExposureMode',
|
|
8495
8719
|
RawConv => '$$self{MultipleExposureMode} = $val',
|
|
8496
|
-
PrintConv =>
|
|
8497
|
-
0 => 'Off',
|
|
8498
|
-
1 => 'On (Series)',
|
|
8499
|
-
2 => 'On',
|
|
8500
|
-
},
|
|
8720
|
+
PrintConv => \%multipleExposureModeZ9,
|
|
8501
8721
|
},
|
|
8502
8722
|
142 => {Name => 'MultiExposureShots', Condition => '$$self{MultipleExposureMode} != 0' }, #range 2-9
|
|
8503
8723
|
188 => {
|
|
@@ -8533,27 +8753,11 @@ my %nikonFocalConversions = (
|
|
|
8533
8753
|
PrintConv => \%offOn,
|
|
8534
8754
|
Condition => '$$self{FocusShiftShooting} > 0',
|
|
8535
8755
|
},
|
|
8536
|
-
274 => {
|
|
8537
|
-
|
|
8538
|
-
|
|
8539
|
-
0 => 'A',
|
|
8540
|
-
1 => 'B',
|
|
8541
|
-
2 => 'C',
|
|
8542
|
-
3 => 'D',
|
|
8543
|
-
},
|
|
8544
|
-
},
|
|
8545
|
-
276 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn, }, #single tag from both Photo & Video menus
|
|
8546
|
-
308 => {
|
|
8547
|
-
Name => 'PhotoShootingMenuBankImageArea',
|
|
8548
|
-
PrintConv => {
|
|
8549
|
-
0 => 'FX',
|
|
8550
|
-
1 => 'DX',
|
|
8551
|
-
4 => '16:9',
|
|
8552
|
-
8 => '1:1',
|
|
8553
|
-
},
|
|
8554
|
-
},
|
|
8756
|
+
274 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
|
8757
|
+
276 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, #single tag from both Photo & Video menus
|
|
8758
|
+
308 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
|
|
8555
8759
|
#310 ImageQuality
|
|
8556
|
-
322 => { Name => 'AutoISO', PrintConv => \%offOn
|
|
8760
|
+
322 => { Name => 'AutoISO', PrintConv => \%offOn },
|
|
8557
8761
|
324 => {
|
|
8558
8762
|
Name => 'ISOAutoHiLimit',
|
|
8559
8763
|
Format => 'int16u',
|
|
@@ -8575,58 +8779,7 @@ my %nikonFocalConversions = (
|
|
|
8575
8779
|
Name => 'ISOAutoShutterTime', #shutter speed is 2 ** (-$val/24)
|
|
8576
8780
|
ValueConv => '$val / 8',
|
|
8577
8781
|
Format => 'int16s',
|
|
8578
|
-
PrintConv =>
|
|
8579
|
-
-15 => 'Auto', #z9 firmware 1.00 maps both 'Auto' and '30 s' to -15
|
|
8580
|
-
-12 => '15 s',
|
|
8581
|
-
-9 => '8 s',
|
|
8582
|
-
-6 => '4 s',
|
|
8583
|
-
-3 => '2 s',
|
|
8584
|
-
0 => '1 s',
|
|
8585
|
-
1 => '1/1.3 s',
|
|
8586
|
-
2 => '1/1.6 s',
|
|
8587
|
-
3 => '1/2 s',
|
|
8588
|
-
4 => '1/2.5 s',
|
|
8589
|
-
5 => '1/3 s',
|
|
8590
|
-
6 => '1/4 s',
|
|
8591
|
-
7 => '1/5 s',
|
|
8592
|
-
8 => '1/6 s',
|
|
8593
|
-
9 => '1/8 s',
|
|
8594
|
-
10 => '1/10 s',
|
|
8595
|
-
11 => '1/13 s',
|
|
8596
|
-
12 => '1/15 s',
|
|
8597
|
-
13 => '1/20 s',
|
|
8598
|
-
14 => '1/25 s',
|
|
8599
|
-
15 => '1/30 s',
|
|
8600
|
-
16 => '1/40 s',
|
|
8601
|
-
17 => '1/50 s',
|
|
8602
|
-
18 => '1/60 s',
|
|
8603
|
-
19 => '1/80 s',
|
|
8604
|
-
20 => '1/100 s',
|
|
8605
|
-
21 => '1/120 s',
|
|
8606
|
-
22 => '1/160 s',
|
|
8607
|
-
23 => '1/200 s',
|
|
8608
|
-
24 => '1/250 s',
|
|
8609
|
-
25 => '1/320 s',
|
|
8610
|
-
26 => '1/400 s',
|
|
8611
|
-
27 => '1/500 s',
|
|
8612
|
-
28 => '1/640 s',
|
|
8613
|
-
29 => '1/800 s',
|
|
8614
|
-
30 => '1/1000 s',
|
|
8615
|
-
31 => '1/1250 s',
|
|
8616
|
-
32 => '1/1600 s',
|
|
8617
|
-
33 => '1/2000 s',
|
|
8618
|
-
34 => '1/2500 s',
|
|
8619
|
-
35 => '1/3200 s',
|
|
8620
|
-
36 => '1/4000 s',
|
|
8621
|
-
37 => '1/5000 s',
|
|
8622
|
-
37.5 => '1/6000 s',
|
|
8623
|
-
38 => '1/6400 s',
|
|
8624
|
-
39 => '1/8000 s',
|
|
8625
|
-
40 => '1/10000 s',
|
|
8626
|
-
40.5 => '1/12000 s',
|
|
8627
|
-
41 => '1/13000 s',
|
|
8628
|
-
42 => '1/16000 s',
|
|
8629
|
-
},
|
|
8782
|
+
PrintConv => \%iSOAutoShutterTimeZ9,
|
|
8630
8783
|
},
|
|
8631
8784
|
#336 WhiteBalance
|
|
8632
8785
|
#406 PictureControl
|
|
@@ -8635,8 +8788,8 @@ my %nikonFocalConversions = (
|
|
|
8635
8788
|
#412 => { Name => 'NoiseReduction', PrintConv => \%offOn }, #Long Exposure Noise Reduction
|
|
8636
8789
|
#414 HighISONoiseReduction
|
|
8637
8790
|
#414 VignetteControl
|
|
8638
|
-
416 => { Name => 'MovieVignetteControl',
|
|
8639
|
-
418 => { Name => 'DiffractionCompensation',
|
|
8791
|
+
416 => { Name => 'MovieVignetteControl', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
8792
|
+
418 => { Name => 'DiffractionCompensation', PrintConv => \%offOn }, #value can be set from both the Photo Shoot Menu and the Video Shooting Menu
|
|
8640
8793
|
#419 AutoDistortionControl #value can be set from both the Photo Shoot Menu and the Video Shooting Menu
|
|
8641
8794
|
420 => { Name => 'FlickerReductionShooting', PrintConv => \%offOn },
|
|
8642
8795
|
#422 MeteringMode
|
|
@@ -8671,94 +8824,39 @@ my %nikonFocalConversions = (
|
|
|
8671
8824
|
PrintConvInv => '$val=~/(\d+)/ ? $1/100 : 1',
|
|
8672
8825
|
},
|
|
8673
8826
|
#442 flash wirelss control 0=> 'Off' 1=> 'CMD'
|
|
8674
|
-
444 => { Name => 'FlashRemoteControl', PrintConv => \%flashRemoteControlZ7,
|
|
8675
|
-
456 => { Name => 'FlashWirelessOption', PrintConv => \%flashWirelessOptionZ7, Unknown => 1},
|
|
8827
|
+
444 => { Name => 'FlashRemoteControl', PrintConv => \%flashRemoteControlZ7, Unknown => 1 },
|
|
8828
|
+
456 => { Name => 'FlashWirelessOption', PrintConv => \%flashWirelessOptionZ7, Unknown => 1 },
|
|
8676
8829
|
#526 FocusMode
|
|
8677
|
-
528 => {
|
|
8678
|
-
|
|
8679
|
-
PrintConv => {
|
|
8680
|
-
1 => 'Single',
|
|
8681
|
-
2 => 'Dynamic',
|
|
8682
|
-
3 => 'Wide (S)',
|
|
8683
|
-
4 => 'Wide (L)',
|
|
8684
|
-
5 => '3D',
|
|
8685
|
-
6 => 'Auto',
|
|
8686
|
-
12 => 'Wide (C1)',
|
|
8687
|
-
13 => 'Wide (C2)',
|
|
8688
|
-
},
|
|
8689
|
-
},
|
|
8690
|
-
530 => { Name => 'VRMode', PrintConv => \%vRModeZ9},
|
|
8830
|
+
528 => { Name => 'AFAreaMode',PrintConv => \%aFAreaModeZ9 },
|
|
8831
|
+
530 => { Name => 'VRMode', PrintConv => \%vRModeZ9 },
|
|
8691
8832
|
534 => {
|
|
8692
8833
|
Name => 'BracketSet',
|
|
8693
8834
|
RawConv => '$$self{BracketSet} = $val',
|
|
8694
|
-
PrintConv =>
|
|
8695
|
-
0 => 'AE/Flash',
|
|
8696
|
-
1 => 'AE',
|
|
8697
|
-
2 => 'Flash',
|
|
8698
|
-
3 => 'White Balance',
|
|
8699
|
-
4 => 'Active-D Lighting',
|
|
8700
|
-
},
|
|
8835
|
+
PrintConv => \%bracketSetZ9,
|
|
8701
8836
|
},
|
|
8702
8837
|
536 => {
|
|
8703
8838
|
Name => 'BracketProgram',
|
|
8704
8839
|
Condition => '$$self{BracketSet} < 3',
|
|
8705
8840
|
Notes => 'AE and/or Flash Bracketing',
|
|
8706
|
-
PrintConv =>
|
|
8707
|
-
0 => 'Disabled',
|
|
8708
|
-
2 => '2F',
|
|
8709
|
-
3 => '3F',
|
|
8710
|
-
4 => '4F',
|
|
8711
|
-
5 => '5F',
|
|
8712
|
-
7 => '7F',
|
|
8713
|
-
9 => '9F',
|
|
8714
|
-
},
|
|
8841
|
+
PrintConv => \%bracketProgramZ9,
|
|
8715
8842
|
},
|
|
8716
8843
|
538 => {
|
|
8717
8844
|
Name => 'BracketIncrement',
|
|
8718
8845
|
Condition => '$$self{BracketSet} < 3',
|
|
8719
8846
|
Notes => 'AE and/or Flash Bracketing',
|
|
8720
|
-
PrintConv =>
|
|
8721
|
-
0 => '0.3',
|
|
8722
|
-
#1 => '0.5',
|
|
8723
|
-
2 => '0.7',
|
|
8724
|
-
3 => '1.0',
|
|
8725
|
-
4 => '2.0',
|
|
8726
|
-
5 => '3.0',
|
|
8727
|
-
},
|
|
8847
|
+
PrintConv => \%bracketIncrementZ9,
|
|
8728
8848
|
},
|
|
8729
8849
|
#544 BracketProgram for ADL
|
|
8730
|
-
556 => {
|
|
8731
|
-
|
|
8732
|
-
|
|
8733
|
-
0 => 'Overflow',
|
|
8734
|
-
1 => 'Backup',
|
|
8735
|
-
2 => 'NEF Primary + JPG Secondary',
|
|
8736
|
-
3 => 'JPG Primary + JPG Secondary',
|
|
8737
|
-
},
|
|
8738
|
-
},
|
|
8739
|
-
572 => { Name => 'DXCropAlert', PrintConv => \%offOn, },
|
|
8740
|
-
574 => { Name => 'SubjectDetection', PrintConv => \%subjectDetectionZ9},
|
|
8850
|
+
556 => { Name => 'SecondarySlotFunction', PrintConv => \%secondarySlotFunctionZ9 },
|
|
8851
|
+
572 => { Name => 'DXCropAlert', PrintConv => \%offOn },
|
|
8852
|
+
574 => { Name => 'SubjectDetection', PrintConv => \%subjectDetectionZ9 },
|
|
8741
8853
|
604 => {
|
|
8742
8854
|
Name => 'MovieImageArea',
|
|
8743
8855
|
Unknown => 1,
|
|
8744
|
-
Mask => 0x01,
|
|
8745
|
-
PrintConv =>
|
|
8746
|
-
0 => 'FX',
|
|
8747
|
-
1 => 'DX',
|
|
8748
|
-
},
|
|
8749
|
-
},
|
|
8750
|
-
614 => {
|
|
8751
|
-
Name => 'MovieType',
|
|
8752
|
-
Unknown => 1,
|
|
8753
|
-
PrintConv => {
|
|
8754
|
-
1 => 'H.265 8-bit (MP4)',
|
|
8755
|
-
2 => 'H.265 8-bit (MOV)',
|
|
8756
|
-
3 => 'H.265 10-bit (MOV)',
|
|
8757
|
-
4 => 'ProRes 422 HQ 10-bit (MOV)',
|
|
8758
|
-
5 => 'ProRes RAW HQ 12-bit (MOV)',
|
|
8759
|
-
6 => 'NRAW 12-bit (NEV)'
|
|
8760
|
-
},
|
|
8856
|
+
Mask => 0x01, # without the mask 4 => 'FX', 5 => DX. only the 2nd Z-series field encountered with a mask
|
|
8857
|
+
PrintConv => \%imageAreaZ9b,
|
|
8761
8858
|
},
|
|
8859
|
+
614 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
|
8762
8860
|
616 => {
|
|
8763
8861
|
Name => 'MovieISOAutoHiLimit',
|
|
8764
8862
|
Format => 'int16u',
|
|
@@ -8767,115 +8865,44 @@ my %nikonFocalConversions = (
|
|
|
8767
8865
|
ValueConvInv => '8 * ($val + 104)',
|
|
8768
8866
|
PrintConv => \%iSOAutoHiLimitZ7,
|
|
8769
8867
|
},
|
|
8770
|
-
618 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1},
|
|
8868
|
+
618 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
|
8771
8869
|
620 => {
|
|
8772
8870
|
Name => 'MovieISOAutoManualMode',
|
|
8773
8871
|
Format => 'int16u',
|
|
8774
8872
|
Unknown => 1,
|
|
8775
8873
|
ValueConv => '($val-104)/8',
|
|
8776
|
-
|
|
8874
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
8777
8875
|
PrintConv => \%iSOAutoHiLimitZ7,
|
|
8778
8876
|
},
|
|
8779
|
-
696 => { Name => 'MovieActiveD-Lighting',
|
|
8780
|
-
698 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1},
|
|
8781
|
-
704 => {
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
},
|
|
8789
|
-
|
|
8790
|
-
708 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1},
|
|
8791
|
-
710 => {
|
|
8792
|
-
Name => 'MovieAFAreaMode',
|
|
8793
|
-
PrintConv => {
|
|
8794
|
-
1 => 'Single',
|
|
8795
|
-
3 => 'Wide (S)',
|
|
8796
|
-
4 => 'Wide (L)',
|
|
8797
|
-
6 => 'Auto',
|
|
8798
|
-
11 => 'Subject Tracking',
|
|
8799
|
-
},
|
|
8800
|
-
},
|
|
8801
|
-
712 => { Name => 'MovieVRMode', PrintConv => \%vRModeZ9, Unknown => 1},
|
|
8802
|
-
716 => { Name => 'MovieElectronicVR', PrintConv => \%offOn, Unknown => 1 }, #distinct from MoveieVRMode
|
|
8803
|
-
718 => { Name => 'MovieSoundRecording', PrintConv => { 0 => 'Off', 1 => 'On', 2 => 'On' }, Unknown => 1 }, #not sure why the unusal mapping with 2 => 'On'
|
|
8804
|
-
720 => { Name => 'MicrophoneSensitivity', Unknown => 1}, #1-20
|
|
8805
|
-
722 => { Name => 'MicrophoneAttenuator', PrintConv => \%offOn, Unknown => 1 }, #distinct from MoveieVRMode
|
|
8877
|
+
696 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
|
8878
|
+
698 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
8879
|
+
704 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
|
8880
|
+
706 => { Name => 'MovieMeteringMode', PrintConv => \%meteringModeZ7, Unknown => 1 },
|
|
8881
|
+
708 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1 },
|
|
8882
|
+
710 => { Name => 'MovieAFAreaMode', PrintConv => \%aFAreaModeZ9 },
|
|
8883
|
+
712 => { Name => 'MovieVRMode', PrintConv => \%vRModeZ9, Unknown => 1 },
|
|
8884
|
+
716 => { Name => 'MovieElectronicVR', PrintConv => \%offOn, Unknown => 1 }, #distinct from MoveieVRMode
|
|
8885
|
+
718 => { Name => 'MovieSoundRecording', PrintConv => { 0 => 'Off', 1 => 'Auto', 2 => 'Manual' }, Unknown => 1 },
|
|
8886
|
+
720 => { Name => 'MicrophoneSensitivity', Unknown => 1 }, #1-20
|
|
8887
|
+
722 => { Name => 'MicrophoneAttenuator', PrintConv => \%offOn, Unknown => 1 }, #distinct from MoveieVRMode
|
|
8806
8888
|
724 => { Name => 'MicrophoneFrequencyResponse', PrintConv => { 0 => 'Wide Range', 1 => 'Vocal Range' }, Unknown => 1 },
|
|
8807
|
-
726 => { Name => 'WindNoiseReduction',
|
|
8808
|
-
748 => {
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
|
|
8812
|
-
|
|
8813
|
-
|
|
8814
|
-
2 => 'N-Log',
|
|
8815
|
-
},
|
|
8816
|
-
},
|
|
8817
|
-
754 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1},
|
|
8818
|
-
756 => { Name => 'MovieFrameRate', PrintConv => \%movieFrameRateZ7, Unknown => 1},
|
|
8819
|
-
762 => { Name => 'MicrophoneJackPower', PrintConv => \%offOn, Unknown => 1 },
|
|
8820
|
-
763 => { Name => 'MovieDXCropAlert', PrintConv => \%offOn, Unknown => 1 },
|
|
8821
|
-
764 => { Name => 'MovieSubjectDetection', PrintConv => \%subjectDetectionZ9, Unknown => 1},
|
|
8889
|
+
726 => { Name => 'WindNoiseReduction', PrintConv => \%offOn, Unknown => 1 },
|
|
8890
|
+
748 => { Name => 'MovieToneMap', PrintConv => \%movieToneMapZ9, Unknown => 1 },
|
|
8891
|
+
754 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1 },
|
|
8892
|
+
756 => { Name => 'MovieFrameRate', PrintConv => \%movieFrameRateZ7, Unknown => 1 },
|
|
8893
|
+
762 => { Name => 'MicrophoneJackPower', PrintConv => \%offOn, Unknown => 1 },
|
|
8894
|
+
763 => { Name => 'MovieDXCropAlert', PrintConv => \%offOn, Unknown => 1 },
|
|
8895
|
+
764 => { Name => 'MovieSubjectDetection', PrintConv => \%subjectDetectionZ9, Unknown => 1 },
|
|
8822
8896
|
799 => {
|
|
8823
8897
|
Name => 'CustomSettingsZ9',
|
|
8824
8898
|
Format => 'undef[608]',
|
|
8825
8899
|
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ9' },
|
|
8826
8900
|
},
|
|
8827
|
-
1426 => {
|
|
8828
|
-
|
|
8829
|
-
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
5 => 'Spanish',
|
|
8833
|
-
7 => 'French',
|
|
8834
|
-
},
|
|
8835
|
-
},
|
|
8836
|
-
1428 => {
|
|
8837
|
-
Name => 'TimeZone',
|
|
8838
|
-
PrintConv => {
|
|
8839
|
-
5 => '+09:00 (Tokyo)',
|
|
8840
|
-
6 => '+08:00 (Beijing, Honk Kong, Sinapore)',
|
|
8841
|
-
10 => '+05:45 (Kathmandu)',
|
|
8842
|
-
11 => '+05:30 (New Dehli)',
|
|
8843
|
-
12 => '+05:00 (Islamabad)',
|
|
8844
|
-
13 => '+04:30 (Kabul)',
|
|
8845
|
-
14 => '+04:00 (Abu Dhabi)',
|
|
8846
|
-
15 => '+03:30 (Tehran)',
|
|
8847
|
-
16 => '+03:00 (Moscow, Nairobi)',
|
|
8848
|
-
17 => '+02:00 (Athens, Helsinki)',
|
|
8849
|
-
18 => '+01:00 (Madrid, Paris, Berlin)',
|
|
8850
|
-
19 => '+00:00 (London)',
|
|
8851
|
-
20 => '-01:00 (Azores)',
|
|
8852
|
-
21 => '-02:00 (Fernando de Noronha)',
|
|
8853
|
-
22 => '-03:00 (Buenos Aires, Sao Paulo)',
|
|
8854
|
-
23 => '-03:30 (Newfoundland)',
|
|
8855
|
-
24 => '-04:00 (Manaus, Caracas)',
|
|
8856
|
-
25 => '-05:00 (New York, Toronto, Lima)',
|
|
8857
|
-
26 => '-06:00 (Chicago, Mexico City)',
|
|
8858
|
-
27 => '-07:00 (Denver)',
|
|
8859
|
-
28 => '-08:00 (Los Angeles, Vancouver)',
|
|
8860
|
-
29 => '-09:00 (Anchorage)',
|
|
8861
|
-
30 => '-10:00 (Hawaii)',
|
|
8862
|
-
},
|
|
8863
|
-
},
|
|
8864
|
-
1434 => {Name => 'MonitorBrightness', ValueConv => '$val - 5', Unknown => 1}, # settings: -5 to +5
|
|
8865
|
-
1456 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
|
8866
|
-
1552 => {
|
|
8867
|
-
Name => 'HDMIOutputResolution',
|
|
8868
|
-
PrintConv => {
|
|
8869
|
-
0 => 'Auto',
|
|
8870
|
-
1 => '4320p',
|
|
8871
|
-
2 => '2160p',
|
|
8872
|
-
3 => '1080p',
|
|
8873
|
-
#4 => '1080i',
|
|
8874
|
-
5 => '720p',
|
|
8875
|
-
#6 => '576p',
|
|
8876
|
-
#7 => '480p',
|
|
8877
|
-
},
|
|
8878
|
-
},
|
|
8901
|
+
1426 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
|
8902
|
+
1428 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
|
8903
|
+
1434 => { Name => 'MonitorBrightness', ValueConv => '$val - 5', Unknown => 1 }, # settings: -5 to +5
|
|
8904
|
+
1456 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
|
8905
|
+
1552 => { Name => 'HDMIOutputResolution', PrintConv => \%hDMIOutputResolutionZ9 },
|
|
8879
8906
|
1565 => { Name => 'SetClockFromLocationData', PrintConv => \%offOn, Unknown => 1 },
|
|
8880
8907
|
1572 => { Name => 'AirplaneMode', PrintConv => \%offOn, Unknown => 1 },
|
|
8881
8908
|
1573 => { Name => 'EmptySlotRelease', PrintConv => { 0 => 'Disable Release', 1 => 'Enable Release' }, Unknown => 1 },
|
|
@@ -8884,6 +8911,177 @@ my %nikonFocalConversions = (
|
|
|
8884
8911
|
1636 => { Name => 'USBPowerDelivery', PrintConv => \%offOn, Unknown => 1 },
|
|
8885
8912
|
1645 => { Name => 'SensorShield', PrintConv => { 0 => 'Stays Open', 1 => 'Closes' }, Unknown => 1 },
|
|
8886
8913
|
);
|
|
8914
|
+
%Image::ExifTool::Nikon::MenuSettingsZ9Firmware3 = ( #starts at Offset26 + 248
|
|
8915
|
+
%binaryDataAttrs,
|
|
8916
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
8917
|
+
DATAMEMBER => [ 154, 204, 208, 248, 554 ],
|
|
8918
|
+
IS_SUBDIR => [ 847 ],
|
|
8919
|
+
NOTES => 'These tags are used by the Z9 firmware 3.00.',
|
|
8920
|
+
154 => {
|
|
8921
|
+
Name => 'MultipleExposureMode',
|
|
8922
|
+
RawConv => '$$self{MultipleExposureMode} = $val',
|
|
8923
|
+
PrintConv => \%multipleExposureModeZ9,
|
|
8924
|
+
},
|
|
8925
|
+
156 => {Name => 'MultiExposureShots', Condition => '$$self{MultipleExposureMode} != 0'}, #range 2-9
|
|
8926
|
+
204 => {
|
|
8927
|
+
Name => 'Intervals',
|
|
8928
|
+
Format => 'int32u',
|
|
8929
|
+
RawConv => '$$self{IntervalShootingIntervals} = $val',
|
|
8930
|
+
Condition => '$$self{IntervalShooting} > 0',
|
|
8931
|
+
},
|
|
8932
|
+
208 => {
|
|
8933
|
+
Name => 'ShotsPerInterval',
|
|
8934
|
+
Format => 'int32u',
|
|
8935
|
+
RawConv => '$$self{IntervalShootingShotsPerInterval} = $val',
|
|
8936
|
+
Condition => '$$self{IntervalShooting} > 0',
|
|
8937
|
+
},
|
|
8938
|
+
248 => {
|
|
8939
|
+
Name => 'FocusShiftNumberShots', #1-300
|
|
8940
|
+
RawConv => '$$self{FocusShiftNumberShots} = $val',
|
|
8941
|
+
Condition => '$$self{FocusShiftShooting} > 0',
|
|
8942
|
+
},
|
|
8943
|
+
252 => {
|
|
8944
|
+
Name => 'FocusShiftStepWidth', #1(Narrow) to 10 (Wide)
|
|
8945
|
+
Condition => '$$self{FocusShiftShooting} > 0',
|
|
8946
|
+
},
|
|
8947
|
+
256 => {
|
|
8948
|
+
Name => 'FocusShiftInterval',
|
|
8949
|
+
Condition => '$$self{FocusShiftShooting} > 0',
|
|
8950
|
+
PrintConv => '$val == 1? "1 Second" : sprintf("%.0f Seconds",$val)',
|
|
8951
|
+
},
|
|
8952
|
+
260 => {
|
|
8953
|
+
Name => 'FocusShiftExposureLock',
|
|
8954
|
+
Unknown => 1,
|
|
8955
|
+
PrintConv => \%offOn,
|
|
8956
|
+
Condition => '$$self{FocusShiftShooting} > 0',
|
|
8957
|
+
},
|
|
8958
|
+
290 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
|
8959
|
+
292 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
|
8960
|
+
328 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
|
|
8961
|
+
342 => { Name => 'AutoISO', PrintConv => \%offOn },
|
|
8962
|
+
344 => {
|
|
8963
|
+
Name => 'ISOAutoHiLimit',
|
|
8964
|
+
Format => 'int16u',
|
|
8965
|
+
Unknown => 1,
|
|
8966
|
+
ValueConv => '($val-104)/8',
|
|
8967
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
8968
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
8969
|
+
},
|
|
8970
|
+
346 => {
|
|
8971
|
+
Name => 'ISOAutoFlashLimit',
|
|
8972
|
+
Format => 'int16u',
|
|
8973
|
+
Unknown => 1,
|
|
8974
|
+
ValueConv => '($val-104)/8',
|
|
8975
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
8976
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
8977
|
+
},
|
|
8978
|
+
354 => {
|
|
8979
|
+
Name => 'ISOAutoShutterTime', # shutter speed is 2 ** (-$val/24)
|
|
8980
|
+
ValueConv => '$val / 8',
|
|
8981
|
+
Format => 'int16s',
|
|
8982
|
+
PrintConv => \%iSOAutoShutterTimeZ9,
|
|
8983
|
+
},
|
|
8984
|
+
436 => { Name => 'MovieVignetteControl', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
8985
|
+
438 => { Name => 'DiffractionCompensation', PrintConv => \%offOn }, # value can be set from both the Photo Shoot Menu and the Video Shooting Menu
|
|
8986
|
+
440 => { Name => 'FlickerReductionShooting',PrintConv => \%offOn },
|
|
8987
|
+
548 => { Name => 'AFAreaMode', PrintConv => \%aFAreaModeZ9},
|
|
8988
|
+
550 => { Name => 'VRMode', PrintConv => \%vRModeZ9},
|
|
8989
|
+
554 => {
|
|
8990
|
+
Name => 'BracketSet',
|
|
8991
|
+
RawConv => '$$self{BracketSet} = $val',
|
|
8992
|
+
PrintConv => \%bracketSetZ9,
|
|
8993
|
+
},
|
|
8994
|
+
556 => {
|
|
8995
|
+
Name => 'BracketProgram',
|
|
8996
|
+
Condition => '$$self{BracketSet} < 3',
|
|
8997
|
+
Notes => 'AE and/or Flash Bracketing',
|
|
8998
|
+
PrintConv => \%bracketProgramZ9,
|
|
8999
|
+
},
|
|
9000
|
+
558 => {
|
|
9001
|
+
Name => 'BracketIncrement',
|
|
9002
|
+
Condition => '$$self{BracketSet} < 3',
|
|
9003
|
+
Notes => 'AE and/or Flash Bracketing',
|
|
9004
|
+
PrintConv => \%bracketIncrementZ9,
|
|
9005
|
+
},
|
|
9006
|
+
576 => { Name => 'SecondarySlotFunction', PrintConv => \%secondarySlotFunctionZ9 },
|
|
9007
|
+
592 => { Name => 'DXCropAlert', PrintConv => \%offOn },
|
|
9008
|
+
594 => { Name => 'SubjectDetection', PrintConv => \%subjectDetectionZ9 },
|
|
9009
|
+
636 => { Name => 'HighFrequencyFlickerReductionShooting', PrintConv => \%offOn, Unknown => 1 }, # new with firmware 3.0
|
|
9010
|
+
646 => {
|
|
9011
|
+
Name => 'MovieImageArea',
|
|
9012
|
+
Unknown => 1,
|
|
9013
|
+
Mask => 0x01, # without the mask 4 => 'FX' 5 => DX only the 2nd Z-series field encountered with a mask.
|
|
9014
|
+
PrintConv => \%imageAreaZ9b,
|
|
9015
|
+
},
|
|
9016
|
+
656 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
|
9017
|
+
658 => {
|
|
9018
|
+
Name => 'MovieISOAutoHiLimit',
|
|
9019
|
+
Format => 'int16u',
|
|
9020
|
+
Unknown => 1,
|
|
9021
|
+
ValueConv => '($val-104)/8',
|
|
9022
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
9023
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
9024
|
+
},
|
|
9025
|
+
660 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
|
9026
|
+
662 => {
|
|
9027
|
+
Name => 'MovieISOAutoManualMode',
|
|
9028
|
+
Format => 'int16u',
|
|
9029
|
+
Unknown => 1,
|
|
9030
|
+
ValueConv => '($val-104)/8',
|
|
9031
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
9032
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
9033
|
+
},
|
|
9034
|
+
736 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
|
9035
|
+
738 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
9036
|
+
744 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
|
9037
|
+
746 => { Name => 'MovieMeteringMode', PrintConv => \%meteringModeZ7, Unknown => 1 },
|
|
9038
|
+
748 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1 },
|
|
9039
|
+
750 => { Name => 'MovieAFAreaMode', PrintConv => \%aFAreaModeZ9 },
|
|
9040
|
+
752 => { Name => 'MovieVRMode', PrintConv => \%vRModeZ9, Unknown => 1 },
|
|
9041
|
+
756 => { Name => 'MovieElectronicVR', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
|
9042
|
+
758 => { Name => 'MovieSoundRecording', PrintConv => { 0 => 'Off', 1 => 'Auto', 2 => 'Manual' }, Unknown => 1 },
|
|
9043
|
+
760 => { Name => 'MicrophoneSensitivity', Unknown => 1 }, # 1-20
|
|
9044
|
+
762 => { Name => 'MicrophoneAttenuator', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
|
9045
|
+
764 => { Name => 'MicrophoneFrequencyResponse',PrintConv => { 0 => 'Wide Range', 1 => 'Vocal Range' }, Unknown => 1 },
|
|
9046
|
+
766 => { Name => 'WindNoiseReduction', PrintConv => \%offOn, Unknown => 1 },
|
|
9047
|
+
788 => { Name => 'MovieToneMap', PrintConv => \%movieToneMapZ9, Unknown => 1 },
|
|
9048
|
+
794 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1 },
|
|
9049
|
+
796 => { Name => 'MovieFrameRate', PrintConv => \%movieFrameRateZ7, Unknown => 1 },
|
|
9050
|
+
802 => { Name => 'MicrophoneJackPower', PrintConv => \%offOn, Unknown => 1 },
|
|
9051
|
+
803 => { Name => 'MovieDXCropAlert', PrintConv => \%offOn, Unknown => 1 },
|
|
9052
|
+
804 => { Name => 'MovieSubjectDetection', PrintConv => \%subjectDetectionZ9, Unknown => 1 },
|
|
9053
|
+
812 => { Name => 'MovieHighResZoom', PrintConv => \%offOn, Unknown => 1 },
|
|
9054
|
+
847 => {
|
|
9055
|
+
Name => 'CustomSettingsZ9',
|
|
9056
|
+
Format => 'undef[608]',
|
|
9057
|
+
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ9' },
|
|
9058
|
+
},
|
|
9059
|
+
1474 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
|
9060
|
+
1476 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
|
9061
|
+
1482 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5. Added with firmware 3.0: Lo1, Lo2, Hi1, Hi2
|
|
9062
|
+
1504 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
|
9063
|
+
1600 => { Name => 'HDMIOutputResolution', PrintConv => \%hDMIOutputResolutionZ9 },
|
|
9064
|
+
1613 => { Name => 'SetClockFromLocationData', PrintConv => \%offOn, Unknown => 1 },
|
|
9065
|
+
1620 => { Name => 'AirplaneMode', PrintConv => \%offOn, Unknown => 1 },
|
|
9066
|
+
1621 => { Name => 'EmptySlotRelease', PrintConv => { 0 => 'Disable Release', 1 => 'Enable Release' }, Unknown => 1 },
|
|
9067
|
+
1656 => { Name => 'EnergySavingMode', PrintConv =>\%offOn, Unknown => 1 },
|
|
9068
|
+
1680 => { Name => 'RecordLocationData', PrintConv => \%offOn, Unknown => 1 },
|
|
9069
|
+
1684 => { Name => 'USBPowerDelivery', PrintConv => \%offOn, Unknown => 1 },
|
|
9070
|
+
1693 => { Name => 'SensorShield', PrintConv => { 0 => 'Stays Open', 1 => 'Closes' }, Unknown => 1 },
|
|
9071
|
+
1754 => {
|
|
9072
|
+
Name => 'FocusShiftAutoReset',
|
|
9073
|
+
Unknown => 1,
|
|
9074
|
+
PrintConv => \%offOn,
|
|
9075
|
+
Condition => '$$self{FocusShiftShooting} > 0',
|
|
9076
|
+
},
|
|
9077
|
+
#1824 ReleaseTimingIndicatorTypeADelay CSd14-b 0 => '1/200' ... 15 => '1/6'
|
|
9078
|
+
#1826 VerticalISOButton CSf2
|
|
9079
|
+
#1828 ExposureCompensationButton CSf2
|
|
9080
|
+
#1830 ISOButton CSf2
|
|
9081
|
+
#1890 ViewModeShowEffectsOfSettings CSd9-a 0=>'Always', 1=> 'Only When Flash Not Used'
|
|
9082
|
+
#1892 DispButton CSf2
|
|
9083
|
+
#1936 FocusPointDisplayOption3DTrackingColor CSa11-d 0=> 'White', 1= => 'Red'
|
|
9084
|
+
);
|
|
8887
9085
|
|
|
8888
9086
|
# Flash information (ref JD)
|
|
8889
9087
|
%Image::ExifTool::Nikon::FlashInfo0100 = (
|