exiftool_vendored 13.22.0 → 13.24.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 +23 -0
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +46 -46
- data/bin/exiftool +53 -53
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/GPS.pm +3 -3
- data/bin/lib/Image/ExifTool/JPEG.pm +4 -0
- data/bin/lib/Image/ExifTool/Nikon.pm +142 -746
- data/bin/lib/Image/ExifTool/PCAP.pm +462 -0
- data/bin/lib/Image/ExifTool/Plot.pm +3 -2
- data/bin/lib/Image/ExifTool/Protobuf.pm +3 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +78 -1
- data/bin/lib/Image/ExifTool/Sony.pm +18 -5
- data/bin/lib/Image/ExifTool/TagLookup.pm +151 -148
- data/bin/lib/Image/ExifTool/TagNames.pod +107 -218
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +4 -4
- data/bin/lib/Image/ExifTool/XMP.pm +17 -3
- data/bin/lib/Image/ExifTool.pm +24 -9
- data/bin/lib/Image/ExifTool.pod +45 -45
- data/bin/perl-Image-ExifTool.spec +45 -45
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -65,7 +65,7 @@ use Image::ExifTool::Exif;
|
|
65
65
|
use Image::ExifTool::GPS;
|
66
66
|
use Image::ExifTool::XMP;
|
67
67
|
|
68
|
-
$VERSION = '4.
|
68
|
+
$VERSION = '4.45';
|
69
69
|
|
70
70
|
sub LensIDConv($$$);
|
71
71
|
sub ProcessNikonAVI($$$);
|
@@ -1095,38 +1095,31 @@ my %iSOAutoHiLimitZ6III = ( #28
|
|
1095
1095
|
35 => 'ISO Hi 1.7',
|
1096
1096
|
);
|
1097
1097
|
|
1098
|
-
my %
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
24 => 'ISO 16000',
|
1124
|
-
25 => 'ISO 20000',
|
1125
|
-
26 => 'ISO 25600',
|
1126
|
-
27 => 'ISO Hi 0.3',
|
1127
|
-
28 => 'ISO Hi 0.7',
|
1128
|
-
29 => 'ISO Hi 1.0',
|
1129
|
-
32 => 'ISO Hi 2.0',
|
1098
|
+
my %isoAutoHiLimitZ7 = (
|
1099
|
+
Format => 'int16u',
|
1100
|
+
Unknown => 1,
|
1101
|
+
ValueConv => '($val-104)/8',
|
1102
|
+
ValueConvInv => '8 * ($val + 104)',
|
1103
|
+
SeparateTable => 'ISOAutoHiLimitZ7',
|
1104
|
+
PrintConv => {
|
1105
|
+
0 => 'ISO 64', 17 => 'ISO 3200',
|
1106
|
+
1 => 'ISO 80', 18 => 'ISO 4000',
|
1107
|
+
2 => 'ISO 100', 19 => 'ISO 5000',
|
1108
|
+
3 => 'ISO 125', 20 => 'ISO 6400',
|
1109
|
+
4 => 'ISO 160', 21 => 'ISO 8000',
|
1110
|
+
5 => 'ISO 200', 22 => 'ISO 10000',
|
1111
|
+
6 => 'ISO 250', 23 => 'ISO 12800',
|
1112
|
+
7 => 'ISO 320', 24 => 'ISO 16000',
|
1113
|
+
8 => 'ISO 400', 25 => 'ISO 20000',
|
1114
|
+
9 => 'ISO 500', 26 => 'ISO 25600',
|
1115
|
+
10 => 'ISO 640', 27 => 'ISO Hi 0.3',
|
1116
|
+
11 => 'ISO 800', 28 => 'ISO Hi 0.7',
|
1117
|
+
12 => 'ISO 1000', 29 => 'ISO Hi 1.0',
|
1118
|
+
13 => 'ISO 1250', 32 => 'ISO Hi 2.0',
|
1119
|
+
14 => 'ISO 1600',
|
1120
|
+
15 => 'ISO 2000',
|
1121
|
+
16 => 'ISO 2500',
|
1122
|
+
},
|
1130
1123
|
);
|
1131
1124
|
|
1132
1125
|
my %iSOAutoShutterTimeZ9 = (
|
@@ -1277,29 +1270,23 @@ my %multipleExposureModeZ9 = (
|
|
1277
1270
|
);
|
1278
1271
|
|
1279
1272
|
my %nonCPULensApertureZ8 = ( # 2**(val/6) rounded - non-CPU aperture interface, values and storage differ from the Z8
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
180 => 'f/13',
|
1298
|
-
188 => 'f/15',
|
1299
|
-
192 => 'f/16',
|
1300
|
-
204 => 'f/19',
|
1301
|
-
216 => 'f/22',
|
1302
|
-
313 => 'N/A', #camera menu shows "--" indicating value has not been set for the lens
|
1273
|
+
Format => 'int16u',
|
1274
|
+
Unknown => 1,
|
1275
|
+
SeparateTable => 'NonCPULensApertureZ8',
|
1276
|
+
PrintConv => {
|
1277
|
+
12 => 'f/1.2', 128 => 'f/6.3',
|
1278
|
+
24 => 'f/1.4', 136 => 'f/7.1',
|
1279
|
+
40 => 'f/1.8', 144 => 'f/8',
|
1280
|
+
48 => 'f/2.0', 156 => 'f/9.5',
|
1281
|
+
64 => 'f/2.5', 168 => 'f/11',
|
1282
|
+
72 => 'f/2.8', 180 => 'f/13',
|
1283
|
+
84 => 'f/3.3', 188 => 'f/15',
|
1284
|
+
88 => 'f/3.5', 192 => 'f/16',
|
1285
|
+
96 => 'f/4.0', 204 => 'f/19',
|
1286
|
+
104 => 'f/4.5', 216 => 'f/22',
|
1287
|
+
112 => 'f/5.0', 313 => 'N/A', #camera menu shows "--" indicating value has not been set for the lens,
|
1288
|
+
120 => 'f/5.6',
|
1289
|
+
},
|
1303
1290
|
);
|
1304
1291
|
|
1305
1292
|
my %offLowNormalHighZ7 = (
|
@@ -1347,7 +1334,7 @@ my %secondarySlotFunctionZ9 = (
|
|
1347
1334
|
3 => 'JPG Primary + JPG Secondary',
|
1348
1335
|
);
|
1349
1336
|
|
1350
|
-
my %subjectDetectionAreaMZ6III
|
1337
|
+
my %subjectDetectionAreaMZ6III = ( #28
|
1351
1338
|
0 => 'Off',
|
1352
1339
|
1 => 'All',
|
1353
1340
|
2 => 'Wide (L)',
|
@@ -9179,19 +9166,19 @@ my %nikonFocalConversions = (
|
|
9179
9166
|
# 0x00 - int32u size of this directory
|
9180
9167
|
0x10 => [
|
9181
9168
|
{
|
9182
|
-
Name => '
|
9169
|
+
Name => 'MenuSettingsOffsetZ8v1',
|
9183
9170
|
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} lt "02.00"',
|
9184
9171
|
Format => 'int32u',
|
9185
|
-
Notes => 'Firmware versions 1.
|
9172
|
+
Notes => 'Firmware versions 1.00 and 1.10',
|
9186
9173
|
SubDirectory => {
|
9187
|
-
TagTable => 'Image::ExifTool::Nikon::
|
9174
|
+
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ8v1',
|
9188
9175
|
Start => '$dirStart + $val',
|
9189
9176
|
},
|
9190
9177
|
},
|
9191
9178
|
{
|
9192
9179
|
Name => 'MenuSettingsOffsetZ8v2',
|
9193
9180
|
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "02.00"',
|
9194
|
-
Notes => 'Firmware version 2.
|
9181
|
+
Notes => 'Firmware version 2.00 and 2.10',
|
9195
9182
|
Format => 'int32u',
|
9196
9183
|
SubDirectory => {
|
9197
9184
|
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ8v2',
|
@@ -9220,7 +9207,7 @@ my %nikonFocalConversions = (
|
|
9220
9207
|
{
|
9221
9208
|
Name => 'MenuSettingsOffsetZ9v3',
|
9222
9209
|
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} lt "04.00"',
|
9223
|
-
Notes => 'Firmware versions 3.
|
9210
|
+
Notes => 'Firmware versions 3.00 and v3.10',
|
9224
9211
|
Format => 'int32u',
|
9225
9212
|
SubDirectory => {
|
9226
9213
|
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ9v3',
|
@@ -9229,23 +9216,13 @@ my %nikonFocalConversions = (
|
|
9229
9216
|
},
|
9230
9217
|
{
|
9231
9218
|
Name => 'MenuSettingsOffsetZ9v4',
|
9232
|
-
|
9233
|
-
Notes => 'Firmware versions 4.x and 5.0',
|
9219
|
+
Notes => 'Firmware versions 4.00 and higher',
|
9234
9220
|
Format => 'int32u',
|
9235
9221
|
SubDirectory => {
|
9236
9222
|
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ9v4',
|
9237
9223
|
Start => '$dirStart + $val',
|
9238
9224
|
},
|
9239
9225
|
},
|
9240
|
-
{
|
9241
|
-
Name => 'MenuSettingsOffsetZ9v4',
|
9242
|
-
Notes => 'Firmware versions 4.x and 5.0',
|
9243
|
-
Format => 'int32u',
|
9244
|
-
SubDirectory => {
|
9245
|
-
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ9v5',
|
9246
|
-
Start => '$dirStart + $val',
|
9247
|
-
},
|
9248
|
-
},
|
9249
9226
|
],
|
9250
9227
|
);
|
9251
9228
|
|
@@ -9399,7 +9376,7 @@ my %nikonFocalConversions = (
|
|
9399
9376
|
},
|
9400
9377
|
);
|
9401
9378
|
|
9402
|
-
%Image::ExifTool::Nikon::MenuSettingsZ6III
|
9379
|
+
%Image::ExifTool::Nikon::MenuSettingsZ6III = (
|
9403
9380
|
%binaryDataAttrs,
|
9404
9381
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
9405
9382
|
NOTES => 'These tags are used by the Z6III.',
|
@@ -9586,7 +9563,7 @@ my %nikonFocalConversions = (
|
|
9586
9563
|
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ6III' },
|
9587
9564
|
},
|
9588
9565
|
2300 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
9589
|
-
2302 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
9566
|
+
2302 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9, SeparateTable => 'TimeZone' },
|
9590
9567
|
2308 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5 and Lo1, Lo2, Hi1, Hi2
|
9591
9568
|
2444 => { Name => 'EmptySlotRelease', PrintConv => { 0 => 'Disable Release', 1 => 'Enable Release' }, Unknown => 1 },
|
9592
9569
|
2450 => { Name => 'EnergySavingMode', PrintConv => \%offOn, Unknown => 1 },
|
@@ -9596,7 +9573,7 @@ my %nikonFocalConversions = (
|
|
9596
9573
|
2496 => { Name => 'AirplaneMode', PrintConv => \%offOn, Unknown => 1 },
|
9597
9574
|
),
|
9598
9575
|
|
9599
|
-
%Image::ExifTool::Nikon::MenuSettingsZ7II
|
9576
|
+
%Image::ExifTool::Nikon::MenuSettingsZ7II = (
|
9600
9577
|
%binaryDataAttrs,
|
9601
9578
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
9602
9579
|
DATAMEMBER => [ 90, 176, 180, 328, 352, 858 ],
|
@@ -9681,7 +9658,7 @@ my %nikonFocalConversions = (
|
|
9681
9658
|
PrintConv => \%offOn,
|
9682
9659
|
},
|
9683
9660
|
#324 => {Name => 'FlickerReductionShooting',}, # redundant with tag in NikonSettings
|
9684
|
-
326 => { Name => 'NikonMeteringMode', PrintConv => \%meteringModeZ7},
|
9661
|
+
326 => { Name => 'NikonMeteringMode', PrintConv => \%meteringModeZ7 },
|
9685
9662
|
328 => {
|
9686
9663
|
Name => 'FlashControlMode', # this and nearby tag values for flash may be set from either the Photo Shooting Menu or using the Flash unit menu
|
9687
9664
|
RawConv => '$$self{FlashControlMode} = $val',
|
@@ -9757,11 +9734,7 @@ my %nikonFocalConversions = (
|
|
9757
9734
|
516 => {
|
9758
9735
|
Name => 'MovieISOAutoManualMode',
|
9759
9736
|
Condition => '$$self{Model} =~ /^NIKON 7/', #ISO ranges vary by model. These mappings are for the Z7 and Z7II
|
9760
|
-
|
9761
|
-
Unknown => 1,
|
9762
|
-
ValueConv => '($val-104)/8',
|
9763
|
-
ValueConvInv => '8 * ($val + 104)',
|
9764
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
9737
|
+
%isoAutoHiLimitZ7,
|
9765
9738
|
},
|
9766
9739
|
#520 => MovieWhiteBalanceSameAsPhoto
|
9767
9740
|
568 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
@@ -9812,16 +9785,19 @@ my %nikonFocalConversions = (
|
|
9812
9785
|
#859 => HDMIViewAssist
|
9813
9786
|
);
|
9814
9787
|
|
9815
|
-
%Image::ExifTool::Nikon::MenuSettingsZ8
|
9788
|
+
%Image::ExifTool::Nikon::MenuSettingsZ8 = (
|
9816
9789
|
%binaryDataAttrs,
|
9817
9790
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
9818
|
-
DATAMEMBER => [ 152, 200, 204, 244, 440, 548, 554, 570, 596 ],
|
9819
|
-
|
9820
|
-
NOTES => 'These tags are used by the Z8 firmware 1.00.',
|
9791
|
+
DATAMEMBER => [ 72, 152, 200, 204, 244, 440, 548, 554, 570, 596 ],
|
9792
|
+
NOTES => 'These tags are common to all Z8 firmware versions.',
|
9821
9793
|
72 => {
|
9822
9794
|
Name => 'HighFrameRate', #CH and C30/C60/C120 but not CL
|
9823
9795
|
PrintConv => \%highFrameRateZ9,
|
9796
|
+
Hook => '$varSize += 4 if $$self{FirmwareVersion} and $$self{FirmwareVersion} ge "02.10"',
|
9824
9797
|
},
|
9798
|
+
#
|
9799
|
+
# firmware 2.10 adds 4 bytes somewhere in the range 105-107 (hence the Hook above)
|
9800
|
+
#
|
9825
9801
|
152 => {
|
9826
9802
|
Name => 'MultipleExposureMode',
|
9827
9803
|
RawConv => '$$self{MultipleExposureMode} = $val',
|
@@ -9890,23 +9866,9 @@ my %nikonFocalConversions = (
|
|
9890
9866
|
286 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
9891
9867
|
288 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
9892
9868
|
324 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
|
9893
|
-
338 => { Name => 'AutoISO',
|
9894
|
-
340 => {
|
9895
|
-
|
9896
|
-
Format => 'int16u',
|
9897
|
-
Unknown => 1,
|
9898
|
-
ValueConv => '($val-104)/8',
|
9899
|
-
ValueConvInv => '8 * ($val + 104)',
|
9900
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
9901
|
-
},
|
9902
|
-
342 => {
|
9903
|
-
Name => 'ISOAutoFlashLimit',
|
9904
|
-
Format => 'int16u',
|
9905
|
-
Unknown => 1,
|
9906
|
-
ValueConv => '($val-104)/8',
|
9907
|
-
ValueConvInv => '8 * ($val + 104)',
|
9908
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
9909
|
-
},
|
9869
|
+
338 => { Name => 'AutoISO', PrintConv => \%offOn },
|
9870
|
+
340 => { Name => 'ISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
9871
|
+
342 => { Name => 'ISOAutoFlashLimit', %isoAutoHiLimitZ7 },
|
9910
9872
|
350 => {
|
9911
9873
|
Name => 'ISOAutoShutterTime', # shutter speed is 2 ** (-$val/24)
|
9912
9874
|
ValueConv => '$val / 8',
|
@@ -9962,24 +9924,10 @@ my %nikonFocalConversions = (
|
|
9962
9924
|
Mask => 0x01, # without the mask 4 => 'FX' 5 => DX only the 2nd Z-series field encountered with a mask.
|
9963
9925
|
PrintConv => \%imageAreaZ9b,
|
9964
9926
|
},
|
9965
|
-
740 => { Name => 'MovieType',
|
9966
|
-
742 => {
|
9967
|
-
Name => 'MovieISOAutoHiLimit',
|
9968
|
-
Format => 'int16u',
|
9969
|
-
Unknown => 1,
|
9970
|
-
ValueConv => '($val-104)/8',
|
9971
|
-
ValueConvInv => '8 * ($val + 104)',
|
9972
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
9973
|
-
},
|
9927
|
+
740 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
9928
|
+
742 => { Name => 'MovieISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
9974
9929
|
744 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
9975
|
-
746 => {
|
9976
|
-
Name => 'MovieISOAutoManualMode',
|
9977
|
-
Format => 'int16u',
|
9978
|
-
Unknown => 1,
|
9979
|
-
ValueConv => '($val-104)/8',
|
9980
|
-
ValueConvInv => '8 * ($val + 104)',
|
9981
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
9982
|
-
},
|
9930
|
+
746 => { Name => 'MovieISOAutoManualMode', %isoAutoHiLimitZ7 },
|
9983
9931
|
820 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
9984
9932
|
822 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
9985
9933
|
828 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
@@ -9999,14 +9947,26 @@ my %nikonFocalConversions = (
|
|
9999
9947
|
887 => { Name => 'MovieDXCropAlert', PrintConv => \%offOn, Unknown => 1 },
|
10000
9948
|
888 => { Name => 'MovieSubjectDetection', PrintConv => \%subjectDetectionZ9, Unknown => 1 },
|
10001
9949
|
896 => { Name => 'MovieHighResZoom', PrintConv => \%offOn, Unknown => 1 },
|
9950
|
+
);
|
9951
|
+
|
9952
|
+
%Image::ExifTool::Nikon::MenuSettingsZ8v1 = (
|
9953
|
+
%binaryDataAttrs,
|
9954
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
9955
|
+
NOTES => 'These tags are used by the Z8 firmware 1.00 and 1.10.',
|
9956
|
+
IS_SUBDIR => [ 0, 943 ],
|
9957
|
+
0 => {
|
9958
|
+
Name => 'MenuSettingsZ8',
|
9959
|
+
Format => 'undef[943]',
|
9960
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ8' },
|
9961
|
+
},
|
10002
9962
|
943 => {
|
10003
9963
|
Name => 'CustomSettingsZ8',
|
10004
9964
|
Format => 'undef[730]',
|
10005
9965
|
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ8' },
|
10006
9966
|
},
|
10007
|
-
|
10008
|
-
1684 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
9967
|
+
1684 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9, SeparateTable => 'TimeZone' },
|
10009
9968
|
1690 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5. Added with firmware 3.0: Lo1, Lo2, Hi1, Hi2
|
9969
|
+
1698 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
10010
9970
|
1712 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
10011
9971
|
1716 => { Name => 'NonCPULens1FocalLength', Format => 'int16u', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1}, #should probably hide altogther if $val is 0
|
10012
9972
|
1718 => { Name => 'NonCPULens2FocalLength', Format => 'int16u', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
@@ -10028,26 +9988,26 @@ my %nikonFocalConversions = (
|
|
10028
9988
|
1750 => { Name => 'NonCPULens18FocalLength', Format => 'int16u', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
10029
9989
|
1752 => { Name => 'NonCPULens19FocalLength', Format => 'int16u', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
10030
9990
|
1754 => { Name => 'NonCPULens20FocalLength', Format => 'int16u', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
10031
|
-
1756 => { Name => 'NonCPULens1MaxAperture',
|
10032
|
-
1758 => { Name => 'NonCPULens2MaxAperture',
|
10033
|
-
1760 => { Name => 'NonCPULens3MaxAperture',
|
10034
|
-
1762 => { Name => 'NonCPULens4MaxAperture',
|
10035
|
-
1764 => { Name => 'NonCPULens5MaxAperture',
|
10036
|
-
1766 => { Name => 'NonCPULens6MaxAperture',
|
10037
|
-
1768 => { Name => 'NonCPULens7MaxAperture',
|
10038
|
-
1770 => { Name => 'NonCPULens8MaxAperture',
|
10039
|
-
1772 => { Name => 'NonCPULens9MaxAperture',
|
10040
|
-
1774 => { Name => 'NonCPULens10MaxAperture',
|
10041
|
-
1776 => { Name => 'NonCPULens11MaxAperture',
|
10042
|
-
1778 => { Name => 'NonCPULens12MaxAperture',
|
10043
|
-
1780 => { Name => 'NonCPULens13MaxAperture',
|
10044
|
-
1782 => { Name => 'NonCPULens14MaxAperture',
|
10045
|
-
1784 => { Name => 'NonCPULens15MaxAperture',
|
10046
|
-
1786 => { Name => 'NonCPULens16MaxAperture',
|
10047
|
-
1788 => { Name => 'NonCPULens17MaxAperture',
|
10048
|
-
1790 => { Name => 'NonCPULens18MaxAperture',
|
10049
|
-
1792 => { Name => 'NonCPULens19MaxAperture',
|
10050
|
-
1794 => { Name => 'NonCPULens20MaxAperture',
|
9991
|
+
1756 => { Name => 'NonCPULens1MaxAperture', %nonCPULensApertureZ8 },
|
9992
|
+
1758 => { Name => 'NonCPULens2MaxAperture', %nonCPULensApertureZ8},
|
9993
|
+
1760 => { Name => 'NonCPULens3MaxAperture', %nonCPULensApertureZ8},
|
9994
|
+
1762 => { Name => 'NonCPULens4MaxAperture', %nonCPULensApertureZ8},
|
9995
|
+
1764 => { Name => 'NonCPULens5MaxAperture', %nonCPULensApertureZ8},
|
9996
|
+
1766 => { Name => 'NonCPULens6MaxAperture', %nonCPULensApertureZ8},
|
9997
|
+
1768 => { Name => 'NonCPULens7MaxAperture', %nonCPULensApertureZ8},
|
9998
|
+
1770 => { Name => 'NonCPULens8MaxAperture', %nonCPULensApertureZ8},
|
9999
|
+
1772 => { Name => 'NonCPULens9MaxAperture', %nonCPULensApertureZ8},
|
10000
|
+
1774 => { Name => 'NonCPULens10MaxAperture', %nonCPULensApertureZ8},
|
10001
|
+
1776 => { Name => 'NonCPULens11MaxAperture', %nonCPULensApertureZ8},
|
10002
|
+
1778 => { Name => 'NonCPULens12MaxAperture', %nonCPULensApertureZ8},
|
10003
|
+
1780 => { Name => 'NonCPULens13MaxAperture', %nonCPULensApertureZ8},
|
10004
|
+
1782 => { Name => 'NonCPULens14MaxAperture', %nonCPULensApertureZ8},
|
10005
|
+
1784 => { Name => 'NonCPULens15MaxAperture', %nonCPULensApertureZ8},
|
10006
|
+
1786 => { Name => 'NonCPULens16MaxAperture', %nonCPULensApertureZ8},
|
10007
|
+
1788 => { Name => 'NonCPULens17MaxAperture', %nonCPULensApertureZ8},
|
10008
|
+
1790 => { Name => 'NonCPULens18MaxAperture', %nonCPULensApertureZ8},
|
10009
|
+
1792 => { Name => 'NonCPULens19MaxAperture', %nonCPULensApertureZ8},
|
10010
|
+
1794 => { Name => 'NonCPULens20MaxAperture', %nonCPULensApertureZ8},
|
10051
10011
|
1808 => { Name => 'HDMIOutputResolution', PrintConv => \%hDMIOutputResolutionZ9 },
|
10052
10012
|
1826 => { Name => 'AirplaneMode', PrintConv => \%offOn, Unknown => 1 },
|
10053
10013
|
1827 => { Name => 'EmptySlotRelease', PrintConv => { 0 => 'Disable Release', 1 => 'Enable Release' }, Unknown => 1 },
|
@@ -10055,201 +10015,26 @@ my %nikonFocalConversions = (
|
|
10055
10015
|
1890 => { Name => 'USBPowerDelivery', PrintConv => \%offOn, Unknown => 1 },
|
10056
10016
|
1899 => { Name => 'SensorShield', PrintConv => { 0 => 'Stays Open', 1 => 'Closes' }, Unknown => 1 },
|
10057
10017
|
);
|
10058
|
-
|
10018
|
+
|
10019
|
+
%Image::ExifTool::Nikon::MenuSettingsZ8v2 = (
|
10059
10020
|
%binaryDataAttrs,
|
10060
10021
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
10061
|
-
DATAMEMBER => [
|
10062
|
-
IS_SUBDIR => [ 943 ],
|
10063
|
-
NOTES => 'These tags are used by the Z8 firmware
|
10064
|
-
|
10065
|
-
Name => '
|
10066
|
-
|
10067
|
-
|
10068
|
-
|
10069
|
-
Name => 'MultipleExposureMode',
|
10070
|
-
RawConv => '$$self{MultipleExposureMode} = $val',
|
10071
|
-
PrintConv => \%multipleExposureModeZ9,
|
10072
|
-
},
|
10073
|
-
154 => {Name => 'MultiExposureShots', Condition => '$$self{MultipleExposureMode} != 0'}, #range 2-9
|
10074
|
-
184 => {
|
10075
|
-
Name => 'IntervalDurationHours',
|
10076
|
-
Format => 'int32u',
|
10077
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0',
|
10078
|
-
},
|
10079
|
-
188 => {
|
10080
|
-
Name => 'IntervalDurationMinutes',
|
10081
|
-
Format => 'int32u',
|
10082
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0',
|
10083
|
-
},
|
10084
|
-
192 => {
|
10085
|
-
Name => 'IntervalDurationSeconds',
|
10086
|
-
Format => 'int32u',
|
10087
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0',
|
10088
|
-
},
|
10089
|
-
200 => {
|
10090
|
-
Name => 'Intervals',
|
10091
|
-
Format => 'int32u',
|
10092
|
-
RawConv => '$$self{IntervalShootingIntervals} = $val',
|
10093
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0',
|
10094
|
-
},
|
10095
|
-
204 => {
|
10096
|
-
Name => 'ShotsPerInterval',
|
10097
|
-
Format => 'int32u',
|
10098
|
-
RawConv => '$$self{IntervalShootingShotsPerInterval} = $val',
|
10099
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0',
|
10100
|
-
},
|
10101
|
-
208 => {
|
10102
|
-
Name => 'IntervalExposureSmoothing',
|
10103
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0',
|
10104
|
-
Format => 'int8u',
|
10105
|
-
PrintConv => \%offOn,
|
10106
|
-
},
|
10107
|
-
210 => {
|
10108
|
-
Name => 'IntervalPriority',
|
10109
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0',
|
10110
|
-
Format => 'int8u',
|
10111
|
-
PrintConv => \%offOn,
|
10112
|
-
},
|
10113
|
-
244 => {
|
10114
|
-
Name => 'FocusShiftNumberShots', #1-300
|
10115
|
-
RawConv => '$$self{FocusShiftNumberShots} = $val',
|
10116
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
10117
|
-
},
|
10118
|
-
248 => {
|
10119
|
-
Name => 'FocusShiftStepWidth', #1(Narrow) to 10 (Wide)
|
10120
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
10121
|
-
},
|
10122
|
-
252 => {
|
10123
|
-
Name => 'FocusShiftInterval',
|
10124
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
10125
|
-
PrintConv => '$val == 1? "1 Second" : sprintf("%.0f Seconds",$val)',
|
10126
|
-
},
|
10127
|
-
256 => {
|
10128
|
-
Name => 'FocusShiftExposureLock',
|
10129
|
-
Unknown => 1,
|
10130
|
-
PrintConv => \%offOn,
|
10131
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
10132
|
-
},
|
10133
|
-
286 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
10134
|
-
288 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
10135
|
-
324 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
|
10136
|
-
338 => { Name => 'AutoISO', PrintConv => \%offOn },
|
10137
|
-
340 => {
|
10138
|
-
Name => 'ISOAutoHiLimit',
|
10139
|
-
Format => 'int16u',
|
10140
|
-
Unknown => 1,
|
10141
|
-
ValueConv => '($val-104)/8',
|
10142
|
-
ValueConvInv => '8 * ($val + 104)',
|
10143
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10144
|
-
},
|
10145
|
-
342 => {
|
10146
|
-
Name => 'ISOAutoFlashLimit',
|
10147
|
-
Format => 'int16u',
|
10148
|
-
Unknown => 1,
|
10149
|
-
ValueConv => '($val-104)/8',
|
10150
|
-
ValueConvInv => '8 * ($val + 104)',
|
10151
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10152
|
-
},
|
10153
|
-
350 => {
|
10154
|
-
Name => 'ISOAutoShutterTime', # shutter speed is 2 ** (-$val/24)
|
10155
|
-
ValueConv => '$val / 8',
|
10156
|
-
Format => 'int16s',
|
10157
|
-
PrintConv => \%iSOAutoShutterTimeZ9,
|
10158
|
-
},
|
10159
|
-
432 => { Name => 'MovieVignetteControl', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
10160
|
-
434 => { Name => 'DiffractionCompensation', PrintConv => \%offOn }, # value can be set from both the Photo Shoot Menu and the Video Shooting Menu
|
10161
|
-
436 => { Name => 'FlickerReductionShooting',PrintConv => \%offOn },
|
10162
|
-
440 => {
|
10163
|
-
Name => 'FlashControlMode', # this and nearby tag values for flash may be set from either the Photo Shooting Menu or using the Flash unit menu
|
10164
|
-
RawConv => '$$self{FlashControlMode} = $val',
|
10165
|
-
PrintConv => \%flashControlModeZ7,
|
10166
|
-
},
|
10167
|
-
548 => { Name => 'AFAreaMode', RawConv => '$$self{AFAreaMode} = $val', PrintConv => \%aFAreaModeZ9},
|
10168
|
-
550 => { Name => 'VRMode', PrintConv => \%vRModeZ9},
|
10169
|
-
554 => {
|
10170
|
-
Name => 'BracketSet',
|
10171
|
-
RawConv => '$$self{BracketSet} = $val',
|
10172
|
-
PrintConv => \%bracketSetZ9,
|
10173
|
-
},
|
10174
|
-
556 => {
|
10175
|
-
Name => 'BracketProgram',
|
10176
|
-
Condition => '$$self{BracketSet} < 3',
|
10177
|
-
Notes => 'AE and/or Flash Bracketing',
|
10178
|
-
PrintConv => \%bracketProgramZ9,
|
10179
|
-
},
|
10180
|
-
558 => {
|
10181
|
-
Name => 'BracketIncrement',
|
10182
|
-
Condition => '$$self{BracketSet} < 3',
|
10183
|
-
Notes => 'AE and/or Flash Bracketing',
|
10184
|
-
PrintConv => \%bracketIncrementZ9,
|
10185
|
-
},
|
10186
|
-
570 => { Name => 'HDR', RawConv => '$$self{HDR} = $val', PrintConv => \%multipleExposureModeZ9 },
|
10187
|
-
#572 HDRSaveRaw 0=> No; 1=> Yes
|
10188
|
-
576 => { Name => 'SecondarySlotFunction', PrintConv => \%secondarySlotFunctionZ9 },
|
10189
|
-
582 => { Name => 'HDRLevel', Condition => '$$self{HDR} ne 0', PrintConv => \%hdrLevelZ8 },
|
10190
|
-
586 => { Name => 'Slot2JpgSize', PrintConv => { 0 => 'Large (8256x5504)', 1 => 'Medium (6192x4128)', 2 => 'Small (4128x2752)' }, Unknown => 1},
|
10191
|
-
592 => { Name => 'DXCropAlert', PrintConv => \%offOn },
|
10192
|
-
594 => { Name => 'SubjectDetection', PrintConv => \%subjectDetectionZ9 },
|
10193
|
-
596 => {
|
10194
|
-
Name => 'DynamicAFAreaSize',
|
10195
|
-
Condition => '$$self{AFAreaMode} == 2',
|
10196
|
-
RawConv => '$$self{DynamicAFAreaSize} = $val',
|
10197
|
-
PrintConv => \%dynamicAfAreaModesZ9,
|
10198
|
-
},
|
10199
|
-
618 => { Name => 'ToneMap', PrintConv => { 0 => 'SDR', 1 => 'HLG' }, Unknown => 1 },
|
10200
|
-
622 => { Name => 'PortraitImpressionBalance', PrintConv => \%portraitImpressionBalanceZ8 },
|
10201
|
-
636 => { Name => 'HighFrequencyFlickerReduction', PrintConv => \%offOn, Unknown => 1 }, # new with firmware 3.0
|
10202
|
-
730 => {
|
10203
|
-
Name => 'MovieImageArea',
|
10204
|
-
Unknown => 1,
|
10205
|
-
Mask => 0x01, # without the mask 4 => 'FX' 5 => DX only the 2nd Z-series field encountered with a mask.
|
10206
|
-
PrintConv => \%imageAreaZ9b,
|
10207
|
-
},
|
10208
|
-
#736 => { Name => 'MovieSlowMotion', PrintConv => \%movieSlowMotion, Unknown => 1 }, #only valid for MovieType H.264 8-bit
|
10209
|
-
740 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
10210
|
-
742 => {
|
10211
|
-
Name => 'MovieISOAutoHiLimit',
|
10212
|
-
Format => 'int16u',
|
10213
|
-
Unknown => 1,
|
10214
|
-
ValueConv => '($val-104)/8',
|
10215
|
-
ValueConvInv => '8 * ($val + 104)',
|
10216
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10217
|
-
},
|
10218
|
-
744 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
10219
|
-
746 => {
|
10220
|
-
Name => 'MovieISOAutoManualMode',
|
10221
|
-
Format => 'int16u',
|
10222
|
-
Unknown => 1,
|
10223
|
-
ValueConv => '($val-104)/8',
|
10224
|
-
ValueConvInv => '8 * ($val + 104)',
|
10225
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10022
|
+
DATAMEMBER => [ 0, 2046 ],
|
10023
|
+
IS_SUBDIR => [ 0, 943 ],
|
10024
|
+
NOTES => 'These tags are used by the Z8 firmware 2.00 and 2.10.',
|
10025
|
+
0 => {
|
10026
|
+
Name => 'MenuSettingsZ8',
|
10027
|
+
Format => 'undef[943]',
|
10028
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ8' },
|
10029
|
+
Hook => '$varSize += 4 if $$self{FirmwareVersion} and $$self{FirmwareVersion} ge "02.10"',
|
10226
10030
|
},
|
10227
|
-
820 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
10228
|
-
822 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
10229
|
-
828 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
10230
|
-
830 => { Name => 'MovieMeteringMode', PrintConv => \%meteringModeZ7, Unknown => 1 },
|
10231
|
-
832 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1 },
|
10232
|
-
834 => { Name => 'MovieAFAreaMode', PrintConv => \%aFAreaModeZ9 },
|
10233
|
-
836 => { Name => 'MovieVRMode', PrintConv => \%vRModeZ9, Unknown => 1 },
|
10234
|
-
840 => { Name => 'MovieElectronicVR', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
10235
|
-
842 => { Name => 'MovieSoundRecording', PrintConv => { 0 => 'Off', 1 => 'Auto', 2 => 'Manual' }, Unknown => 1 },
|
10236
|
-
844 => { Name => 'MicrophoneSensitivity', Unknown => 1 }, # 1-20
|
10237
|
-
846 => { Name => 'MicrophoneAttenuator', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
10238
|
-
848 => { Name => 'MicrophoneFrequencyResponse',PrintConv => { 0 => 'Wide Range', 1 => 'Vocal Range' }, Unknown => 1 },
|
10239
|
-
850 => { Name => 'WindNoiseReduction', PrintConv => \%offOn, Unknown => 1 },
|
10240
|
-
878 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1 },
|
10241
|
-
880 => { Name => 'MovieFrameRate', PrintConv => \%movieFrameRateZ7, Unknown => 1 },
|
10242
|
-
886 => { Name => 'MicrophoneJackPower', PrintConv => \%offOn, Unknown => 1 },
|
10243
|
-
887 => { Name => 'MovieDXCropAlert', PrintConv => \%offOn, Unknown => 1 },
|
10244
|
-
888 => { Name => 'MovieSubjectDetection', PrintConv => \%subjectDetectionZ9, Unknown => 1 },
|
10245
|
-
896 => { Name => 'MovieHighResZoom', PrintConv => \%offOn, Unknown => 1 },
|
10246
10031
|
943 => {
|
10247
10032
|
Name => 'CustomSettingsZ8',
|
10248
10033
|
Format => 'undef[755]',
|
10249
10034
|
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ8' },
|
10250
10035
|
},
|
10251
10036
|
1698 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
10252
|
-
1700 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
10037
|
+
1700 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9, SeparateTable => 'TimeZone' },
|
10253
10038
|
1706 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5. Added with firmware 3.0: Lo1, Lo2, Hi1, Hi2
|
10254
10039
|
1728 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
10255
10040
|
1732 => { Name => 'NonCPULens1FocalLength', Format => 'int16u', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1}, #should probably hide altogther if $val is 0
|
@@ -10309,7 +10094,8 @@ my %nikonFocalConversions = (
|
|
10309
10094
|
2062 => { Name => 'PlaybackButtonPlaybackMode', %buttonsZ9}, #CSf2
|
10310
10095
|
2064 => { Name => 'BracketButtonPlaybackMode', %buttonsZ9}, #CSf2
|
10311
10096
|
);
|
10312
|
-
|
10097
|
+
|
10098
|
+
%Image::ExifTool::Nikon::MenuSettingsZ9 = (
|
10313
10099
|
%binaryDataAttrs,
|
10314
10100
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
10315
10101
|
DATAMEMBER => [ 140, 188, 192, 232, 308, 424, 528, 534, 576 ],
|
@@ -10360,22 +10146,8 @@ my %nikonFocalConversions = (
|
|
10360
10146
|
308 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
10361
10147
|
#310 ImageQuality
|
10362
10148
|
322 => { Name => 'AutoISO', PrintConv => \%offOn },
|
10363
|
-
324 => {
|
10364
|
-
|
10365
|
-
Format => 'int16u',
|
10366
|
-
Unknown => 1,
|
10367
|
-
ValueConv => '($val-104)/8',
|
10368
|
-
ValueConvInv => '8 * ($val + 104)',
|
10369
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10370
|
-
},
|
10371
|
-
326 => {
|
10372
|
-
Name => 'ISOAutoFlashLimit',
|
10373
|
-
Format => 'int16u',
|
10374
|
-
Unknown => 1,
|
10375
|
-
ValueConv => '($val-104)/8',
|
10376
|
-
ValueConvInv => '8 * ($val + 104)',
|
10377
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10378
|
-
},
|
10149
|
+
324 => { Name => 'ISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
10150
|
+
326 => { Name => 'ISOAutoFlashLimit', %isoAutoHiLimitZ7 },
|
10379
10151
|
#332 ISOAutoShutterTime - Auto setting 0=> 'Auto (Slowest)', 1 => 'Auto (Slower)', 2=> 'Auto', 3=> 'Auto (Faster)', 4=> 'Auto (Fastest)'
|
10380
10152
|
334 => {
|
10381
10153
|
Name => 'ISOAutoShutterTime', #shutter speed is 2 ** (-$val/24)
|
@@ -10465,23 +10237,9 @@ my %nikonFocalConversions = (
|
|
10465
10237
|
PrintConv => \%imageAreaZ9b,
|
10466
10238
|
},
|
10467
10239
|
614 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
10468
|
-
616 => {
|
10469
|
-
Name => 'MovieISOAutoHiLimit',
|
10470
|
-
Format => 'int16u',
|
10471
|
-
Unknown => 1,
|
10472
|
-
ValueConv => '($val-104)/8',
|
10473
|
-
ValueConvInv => '8 * ($val + 104)',
|
10474
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10475
|
-
},
|
10240
|
+
616 => { Name => 'MovieISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
10476
10241
|
618 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
10477
|
-
620 => {
|
10478
|
-
Name => 'MovieISOAutoManualMode',
|
10479
|
-
Format => 'int16u',
|
10480
|
-
Unknown => 1,
|
10481
|
-
ValueConv => '($val-104)/8',
|
10482
|
-
ValueConvInv => '8 * ($val + 104)',
|
10483
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10484
|
-
},
|
10242
|
+
620 => { Name => 'MovieISOAutoManualMode', %isoAutoHiLimitZ7 },
|
10485
10243
|
696 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
10486
10244
|
698 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
10487
10245
|
704 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
@@ -10507,7 +10265,7 @@ my %nikonFocalConversions = (
|
|
10507
10265
|
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ9' },
|
10508
10266
|
},
|
10509
10267
|
1426 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
10510
|
-
1428 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
10268
|
+
1428 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9, SeparateTable => 'TimeZone' },
|
10511
10269
|
1434 => { Name => 'MonitorBrightness', ValueConv => '$val - 5', Unknown => 1 }, # settings: -5 to +5
|
10512
10270
|
1456 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
10513
10271
|
1552 => { Name => 'HDMIOutputResolution', PrintConv => \%hDMIOutputResolutionZ9 },
|
@@ -10520,7 +10278,7 @@ my %nikonFocalConversions = (
|
|
10520
10278
|
1645 => { Name => 'SensorShield', PrintConv => { 0 => 'Stays Open', 1 => 'Closes' }, Unknown => 1 },
|
10521
10279
|
);
|
10522
10280
|
|
10523
|
-
%Image::ExifTool::Nikon::MenuSettingsZ9v3
|
10281
|
+
%Image::ExifTool::Nikon::MenuSettingsZ9v3 = (
|
10524
10282
|
%binaryDataAttrs,
|
10525
10283
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
10526
10284
|
DATAMEMBER => [ 154, 204, 208, 248, 328, 444, 548, 554, 596 ],
|
@@ -10572,22 +10330,8 @@ my %nikonFocalConversions = (
|
|
10572
10330
|
292 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
10573
10331
|
328 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
10574
10332
|
342 => { Name => 'AutoISO', PrintConv => \%offOn },
|
10575
|
-
344 => {
|
10576
|
-
|
10577
|
-
Format => 'int16u',
|
10578
|
-
Unknown => 1,
|
10579
|
-
ValueConv => '($val-104)/8',
|
10580
|
-
ValueConvInv => '8 * ($val + 104)',
|
10581
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10582
|
-
},
|
10583
|
-
346 => {
|
10584
|
-
Name => 'ISOAutoFlashLimit',
|
10585
|
-
Format => 'int16u',
|
10586
|
-
Unknown => 1,
|
10587
|
-
ValueConv => '($val-104)/8',
|
10588
|
-
ValueConvInv => '8 * ($val + 104)',
|
10589
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10590
|
-
},
|
10333
|
+
344 => { Name => 'ISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
10334
|
+
346 => { Name => 'ISOAutoFlashLimit', %isoAutoHiLimitZ7 },
|
10591
10335
|
354 => {
|
10592
10336
|
Name => 'ISOAutoShutterTime', # shutter speed is 2 ** (-$val/24)
|
10593
10337
|
ValueConv => '$val / 8',
|
@@ -10666,23 +10410,9 @@ my %nikonFocalConversions = (
|
|
10666
10410
|
PrintConv => \%imageAreaZ9b,
|
10667
10411
|
},
|
10668
10412
|
656 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
10669
|
-
658 => {
|
10670
|
-
Name => 'MovieISOAutoHiLimit',
|
10671
|
-
Format => 'int16u',
|
10672
|
-
Unknown => 1,
|
10673
|
-
ValueConv => '($val-104)/8',
|
10674
|
-
ValueConvInv => '8 * ($val + 104)',
|
10675
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10676
|
-
},
|
10413
|
+
658 => { Name => 'MovieISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
10677
10414
|
660 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
10678
|
-
662 => {
|
10679
|
-
Name => 'MovieISOAutoManualMode',
|
10680
|
-
Format => 'int16u',
|
10681
|
-
Unknown => 1,
|
10682
|
-
ValueConv => '($val-104)/8',
|
10683
|
-
ValueConvInv => '8 * ($val + 104)',
|
10684
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10685
|
-
},
|
10415
|
+
662 => { Name => 'MovieISOAutoManualMode', %isoAutoHiLimitZ7 },
|
10686
10416
|
736 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
10687
10417
|
738 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
10688
10418
|
744 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
@@ -10709,7 +10439,7 @@ my %nikonFocalConversions = (
|
|
10709
10439
|
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ9' },
|
10710
10440
|
},
|
10711
10441
|
1474 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
10712
|
-
1476 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
10442
|
+
1476 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9, SeparateTable => 'TimeZone' },
|
10713
10443
|
1482 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5. Added with firmware 3.0: Lo1, Lo2, Hi1, Hi2
|
10714
10444
|
1504 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
10715
10445
|
1600 => { Name => 'HDMIOutputResolution', PrintConv => \%hDMIOutputResolutionZ9 },
|
@@ -10753,17 +10483,21 @@ my %nikonFocalConversions = (
|
|
10753
10483
|
#1936 FocusPointDisplayOption3DTrackingColor CSa11-d 0=> 'White', 1= => 'Red'
|
10754
10484
|
);
|
10755
10485
|
|
10756
|
-
# firmware version 4.x menu settings (ref 28)
|
10757
|
-
%Image::ExifTool::Nikon::MenuSettingsZ9v4
|
10486
|
+
# firmware version 4.x/5.x menu settings (ref 28)
|
10487
|
+
%Image::ExifTool::Nikon::MenuSettingsZ9v4 = (
|
10758
10488
|
%binaryDataAttrs,
|
10759
10489
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
10760
|
-
DATAMEMBER => [ 154, 204, 208, 248, 328, 444, 548, 554, 570, 596 ],
|
10490
|
+
DATAMEMBER => [ 72, 154, 204, 208, 248, 328, 444, 548, 554, 570, 596 ],
|
10761
10491
|
IS_SUBDIR => [ 847 ],
|
10762
|
-
NOTES => 'These tags are used by the Z9 firmware 4.
|
10492
|
+
NOTES => 'These tags are used by the Z9 firmware 4.00, 4.10, 5.00 and 5.10.',
|
10763
10493
|
72 => {
|
10764
10494
|
Name => 'HighFrameRate', #CH and C30/C60/C120 but not CL
|
10765
10495
|
PrintConv => \%highFrameRateZ9,
|
10496
|
+
Hook => '$varSize += 4 if $$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.10"',
|
10766
10497
|
},
|
10498
|
+
#
|
10499
|
+
# Note: Offsets after this are shifted by +4 for firmware 5.1 (see Hook above)
|
10500
|
+
#
|
10767
10501
|
154 => {
|
10768
10502
|
Name => 'MultipleExposureMode',
|
10769
10503
|
RawConv => '$$self{MultipleExposureMode} = $val',
|
@@ -10807,22 +10541,8 @@ my %nikonFocalConversions = (
|
|
10807
10541
|
328 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
10808
10542
|
#334 JPGCompression 0 => 'Size Priority', 1 => 'Optimal Quality',
|
10809
10543
|
342 => { Name => 'AutoISO', PrintConv => \%offOn },
|
10810
|
-
344 => {
|
10811
|
-
|
10812
|
-
Format => 'int16u',
|
10813
|
-
Unknown => 1,
|
10814
|
-
ValueConv => '($val-104)/8',
|
10815
|
-
ValueConvInv => '8 * ($val + 104)',
|
10816
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10817
|
-
},
|
10818
|
-
346 => {
|
10819
|
-
Name => 'ISOAutoFlashLimit',
|
10820
|
-
Format => 'int16u',
|
10821
|
-
Unknown => 1,
|
10822
|
-
ValueConv => '($val-104)/8',
|
10823
|
-
ValueConvInv => '8 * ($val + 104)',
|
10824
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10825
|
-
},
|
10544
|
+
344 => { Name => 'ISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
10545
|
+
346 => { Name => 'ISOAutoFlashLimit', %isoAutoHiLimitZ7 },
|
10826
10546
|
354 => {
|
10827
10547
|
Name => 'ISOAutoShutterTime', # shutter speed is 2 ** (-$val/24)
|
10828
10548
|
ValueConv => '$val / 8',
|
@@ -10904,23 +10624,9 @@ my %nikonFocalConversions = (
|
|
10904
10624
|
PrintConv => \%imageAreaZ9b,
|
10905
10625
|
},
|
10906
10626
|
656 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
10907
|
-
658 => {
|
10908
|
-
Name => 'MovieISOAutoHiLimit',
|
10909
|
-
Format => 'int16u',
|
10910
|
-
Unknown => 1,
|
10911
|
-
ValueConv => '($val-104)/8',
|
10912
|
-
ValueConvInv => '8 * ($val + 104)',
|
10913
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10914
|
-
},
|
10627
|
+
658 => { Name => 'MovieISOAutoHiLimit', %isoAutoHiLimitZ7 },
|
10915
10628
|
660 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
10916
|
-
662 => {
|
10917
|
-
Name => 'MovieISOAutoManualMode',
|
10918
|
-
Format => 'int16u',
|
10919
|
-
Unknown => 1,
|
10920
|
-
ValueConv => '($val-104)/8',
|
10921
|
-
ValueConvInv => '8 * ($val + 104)',
|
10922
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
10923
|
-
},
|
10629
|
+
662 => { Name => 'MovieISOAutoManualMode', %isoAutoHiLimitZ7 },
|
10924
10630
|
736 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
10925
10631
|
738 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
10926
10632
|
744 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
@@ -10947,7 +10653,7 @@ my %nikonFocalConversions = (
|
|
10947
10653
|
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ9v4' },
|
10948
10654
|
},
|
10949
10655
|
1498 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
10950
|
-
1500 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
10656
|
+
1500 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9, SeparateTable => 'TimeZone' },
|
10951
10657
|
1506 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5. Added with firmware 3.0: Lo1, Lo2, Hi1, Hi2
|
10952
10658
|
1528 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
10953
10659
|
1532 => { Name => 'NonCPULens1FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1}, #should probably hide altogther if $val is 0
|
@@ -11065,318 +10771,6 @@ my %nikonFocalConversions = (
|
|
11065
10771
|
2072 => { Name => 'FlashModeButtonPlaybackMode', %buttonsZ9}, #CSf2
|
11066
10772
|
);
|
11067
10773
|
|
11068
|
-
# menu settings for the Z9 with firmware version 5.1 (ref 28)
|
11069
|
-
%Image::ExifTool::Nikon::MenuSettingsZ9v5 = (
|
11070
|
-
%binaryDataAttrs,
|
11071
|
-
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
11072
|
-
DATAMEMBER => [ 158, 208, 212, 252, 332, 448, 552, 558, 574, 600 ],
|
11073
|
-
IS_SUBDIR => [ 851 ],
|
11074
|
-
NOTES => 'These tags are used by the Z9 firmware 5.1.',
|
11075
|
-
72 => {
|
11076
|
-
Name => 'HighFrameRate', #CH and C30/C60/C120 but not CL
|
11077
|
-
PrintConv => \%highFrameRateZ9,
|
11078
|
-
},
|
11079
|
-
158 => {
|
11080
|
-
Name => 'MultipleExposureMode',
|
11081
|
-
RawConv => '$$self{MultipleExposureMode} = $val',
|
11082
|
-
PrintConv => \%multipleExposureModeZ9,
|
11083
|
-
},
|
11084
|
-
160 => {Name => 'MultiExposureShots', Condition => '$$self{MultipleExposureMode} != 0'}, #range 2-9
|
11085
|
-
208 => {
|
11086
|
-
Name => 'Intervals',
|
11087
|
-
Format => 'int32u',
|
11088
|
-
RawConv => '$$self{IntervalShootingIntervals} = $val',
|
11089
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0', #not valid for C30/C60/C120
|
11090
|
-
},
|
11091
|
-
212 => {
|
11092
|
-
Name => 'ShotsPerInterval',
|
11093
|
-
Format => 'int32u',
|
11094
|
-
RawConv => '$$self{IntervalShootingShotsPerInterval} = $val',
|
11095
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0', #not valid for C30/C60/C120
|
11096
|
-
},
|
11097
|
-
252 => {
|
11098
|
-
Name => 'FocusShiftNumberShots', #1-300
|
11099
|
-
RawConv => '$$self{FocusShiftNumberShots} = $val',
|
11100
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
11101
|
-
},
|
11102
|
-
256 => {
|
11103
|
-
Name => 'FocusShiftStepWidth', #1(Narrow) to 10 (Wide)
|
11104
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
11105
|
-
},
|
11106
|
-
260 => {
|
11107
|
-
Name => 'FocusShiftInterval',
|
11108
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
11109
|
-
PrintConv => '$val == 1? "1 Second" : sprintf("%.0f Seconds",$val)',
|
11110
|
-
},
|
11111
|
-
264 => {
|
11112
|
-
Name => 'FocusShiftExposureLock',
|
11113
|
-
Unknown => 1,
|
11114
|
-
PrintConv => \%offOn,
|
11115
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
11116
|
-
},
|
11117
|
-
294 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
11118
|
-
296 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
11119
|
-
332 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
11120
|
-
#338 JPGCompression 0 => 'Size Priority', 1 => 'Optimal Quality',
|
11121
|
-
346 => { Name => 'AutoISO', PrintConv => \%offOn },
|
11122
|
-
348 => {
|
11123
|
-
Name => 'ISOAutoHiLimit',
|
11124
|
-
Format => 'int16u',
|
11125
|
-
Unknown => 1,
|
11126
|
-
ValueConv => '($val-104)/8',
|
11127
|
-
ValueConvInv => '8 * ($val + 104)',
|
11128
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
11129
|
-
},
|
11130
|
-
350 => {
|
11131
|
-
Name => 'ISOAutoFlashLimit',
|
11132
|
-
Format => 'int16u',
|
11133
|
-
Unknown => 1,
|
11134
|
-
ValueConv => '($val-104)/8',
|
11135
|
-
ValueConvInv => '8 * ($val + 104)',
|
11136
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
11137
|
-
},
|
11138
|
-
358 => {
|
11139
|
-
Name => 'ISOAutoShutterTime', # shutter speed is 2 ** (-$val/24)
|
11140
|
-
ValueConv => '$val / 8',
|
11141
|
-
Format => 'int16s',
|
11142
|
-
PrintConv => \%iSOAutoShutterTimeZ9,
|
11143
|
-
},
|
11144
|
-
440 => { Name => 'MovieVignetteControl', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
11145
|
-
442 => { Name => 'DiffractionCompensation', PrintConv => \%offOn }, # value can be set from both the Photo Shoot Menu and the Video Shooting Menu
|
11146
|
-
444 => { Name => 'FlickerReductionShooting',PrintConv => \%offOn },
|
11147
|
-
448 => {
|
11148
|
-
Name => 'FlashControlMode', # this and nearby tag values for flash may be set from either the Photo Shooting Menu or using the Flash unit menu
|
11149
|
-
RawConv => '$$self{FlashControlMode} = $val',
|
11150
|
-
PrintConv => \%flashControlModeZ7,
|
11151
|
-
},
|
11152
|
-
450 => {
|
11153
|
-
Name => 'FlashMasterCompensation',
|
11154
|
-
Format => 'int8s',
|
11155
|
-
Unknown => 1,
|
11156
|
-
ValueConv => '$val/6',
|
11157
|
-
ValueConvInv => '6 * $val',
|
11158
|
-
PrintConv => '$val ? sprintf("%+.1f",$val) : 0',
|
11159
|
-
PrintConvInv => '$val',
|
11160
|
-
},
|
11161
|
-
454 => {
|
11162
|
-
Name => 'FlashGNDistance',
|
11163
|
-
Condition => '$$self{FlashControlMode} == 2',
|
11164
|
-
Unknown => 1,
|
11165
|
-
ValueConv => '$val + 3',
|
11166
|
-
PrintConv => \%flashGNDistance,
|
11167
|
-
},
|
11168
|
-
458 => {
|
11169
|
-
Name => 'FlashOutput', # range[0,24] with 0=>Full; 1=>50%; then decreasing flash power in 1/3 stops to 0.39% (1/256 full power). also found in FlashInfoUnknown at offset 0x0a (with different mappings)
|
11170
|
-
Condition => '$$self{FlashControlMode} >= 3',
|
11171
|
-
Unknown => 1,
|
11172
|
-
ValueConv => '2 ** (-$val/3)',
|
11173
|
-
ValueConvInv => '$val>0 ? -3*log($val)/log(2) : 0',
|
11174
|
-
PrintConv => '$val>0.99 ? "Full" : sprintf("%.1f%%",$val*100)',
|
11175
|
-
PrintConvInv => '$val=~/(\d+)/ ? $1/100 : 1',
|
11176
|
-
},
|
11177
|
-
#466 flash wireless control 0=> 'Off' 1=> 'Optical AWL'
|
11178
|
-
#468 => { Name => 'FlashRemoteControl', PrintConv => \%flashRemoteControlZ7, Unknown => 1 },
|
11179
|
-
#480 => { Name => 'FlashWirelessOption', PrintConv => \%flashWirelessOptionZ7, Unknown => 1 },
|
11180
|
-
552 => { Name => 'AFAreaMode', RawConv => '$$self{AFAreaMode} = $val', PrintConv => \%aFAreaModeZ9},
|
11181
|
-
554 => { Name => 'VRMode', PrintConv => \%vRModeZ9},
|
11182
|
-
558 => {
|
11183
|
-
Name => 'BracketSet',
|
11184
|
-
RawConv => '$$self{BracketSet} = $val',
|
11185
|
-
PrintConv => \%bracketSetZ9,
|
11186
|
-
},
|
11187
|
-
560 => {
|
11188
|
-
Name => 'BracketProgram',
|
11189
|
-
Condition => '$$self{BracketSet} < 3',
|
11190
|
-
Notes => 'AE and/or Flash Bracketing',
|
11191
|
-
PrintConv => \%bracketProgramZ9,
|
11192
|
-
},
|
11193
|
-
562 => {
|
11194
|
-
Name => 'BracketIncrement',
|
11195
|
-
Condition => '$$self{BracketSet} < 3',
|
11196
|
-
Notes => 'AE and/or Flash Bracketing',
|
11197
|
-
PrintConv => \%bracketIncrementZ9,
|
11198
|
-
},
|
11199
|
-
574 => { Name => 'HDR', RawConv => '$$self{HDR} = $val', PrintConv => \%multipleExposureModeZ9 },
|
11200
|
-
580 => { Name => 'SecondarySlotFunction', PrintConv => \%secondarySlotFunctionZ9 },
|
11201
|
-
586 => { Name => 'HDRLevel', Condition => '$$self{HDR} ne 0', PrintConv => \%hdrLevelZ8 },
|
11202
|
-
590 => { Name => 'Slot2JpgSize', PrintConv => { 0 => 'Large (8256x5504)', 1 => 'Medium (6192x4128)', 2 => 'Small (4128x2752)' }, Unknown => 1},
|
11203
|
-
596 => { Name => 'DXCropAlert', PrintConv => \%offOn },
|
11204
|
-
598 => { Name => 'SubjectDetection', PrintConv => \%subjectDetectionZ9 },
|
11205
|
-
600 => {
|
11206
|
-
Name => 'DynamicAFAreaSize',
|
11207
|
-
Condition => '$$self{AFAreaMode} == 2',
|
11208
|
-
RawConv => '$$self{DynamicAFAreaSize} = $val',
|
11209
|
-
PrintConv => \%dynamicAfAreaModesZ9,
|
11210
|
-
},
|
11211
|
-
640 => { Name => 'HighFrequencyFlickerReduction', PrintConv => \%offOn, Unknown => 1 }, # new with firmware 3.0
|
11212
|
-
650 => {
|
11213
|
-
Name => 'MovieImageArea',
|
11214
|
-
Unknown => 1,
|
11215
|
-
Mask => 0x01, # without the mask 4 => 'FX' 5 => DX only the 2nd Z-series field encountered with a mask.
|
11216
|
-
PrintConv => \%imageAreaZ9b,
|
11217
|
-
},
|
11218
|
-
660 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
11219
|
-
662 => {
|
11220
|
-
Name => 'MovieISOAutoHiLimit',
|
11221
|
-
Format => 'int16u',
|
11222
|
-
Unknown => 1,
|
11223
|
-
ValueConv => '($val-104)/8',
|
11224
|
-
ValueConvInv => '8 * ($val + 104)',
|
11225
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
11226
|
-
},
|
11227
|
-
664 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
11228
|
-
666 => {
|
11229
|
-
Name => 'MovieISOAutoManualMode',
|
11230
|
-
Format => 'int16u',
|
11231
|
-
Unknown => 1,
|
11232
|
-
ValueConv => '($val-104)/8',
|
11233
|
-
ValueConvInv => '8 * ($val + 104)',
|
11234
|
-
PrintConv => \%iSOAutoHiLimitZ7,
|
11235
|
-
},
|
11236
|
-
740 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
11237
|
-
742 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
11238
|
-
748 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
11239
|
-
750 => { Name => 'MovieMeteringMode', PrintConv => \%meteringModeZ7, Unknown => 1 },
|
11240
|
-
752 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1 },
|
11241
|
-
754 => { Name => 'MovieAFAreaMode', PrintConv => \%aFAreaModeZ9 },
|
11242
|
-
756 => { Name => 'MovieVRMode', PrintConv => \%vRModeZ9, Unknown => 1 },
|
11243
|
-
760 => { Name => 'MovieElectronicVR', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
11244
|
-
762 => { Name => 'MovieSoundRecording', PrintConv => { 0 => 'Off', 1 => 'Auto', 2 => 'Manual' }, Unknown => 1 },
|
11245
|
-
764 => { Name => 'MicrophoneSensitivity', Unknown => 1 }, # 1-20
|
11246
|
-
766 => { Name => 'MicrophoneAttenuator', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
11247
|
-
768 => { Name => 'MicrophoneFrequencyResponse',PrintConv => { 0 => 'Wide Range', 1 => 'Vocal Range' }, Unknown => 1 },
|
11248
|
-
770 => { Name => 'WindNoiseReduction', PrintConv => \%offOn, Unknown => 1 },
|
11249
|
-
792 => { Name => 'MovieToneMap', PrintConv => \%movieToneMapZ9, Unknown => 1 },
|
11250
|
-
798 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1 },
|
11251
|
-
800 => { Name => 'MovieFrameRate', PrintConv => \%movieFrameRateZ7, Unknown => 1 },
|
11252
|
-
806 => { Name => 'MicrophoneJackPower', PrintConv => \%offOn, Unknown => 1 },
|
11253
|
-
807 => { Name => 'MovieDXCropAlert', PrintConv => \%offOn, Unknown => 1 },
|
11254
|
-
808 => { Name => 'MovieSubjectDetection', PrintConv => \%subjectDetectionZ9, Unknown => 1 },
|
11255
|
-
816 => { Name => 'MovieHighResZoom', PrintConv => \%offOn, Unknown => 1 },
|
11256
|
-
851 => {
|
11257
|
-
Name => 'CustomSettingsZ9v4',
|
11258
|
-
Format => 'undef[632]',
|
11259
|
-
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ9v4' },
|
11260
|
-
},
|
11261
|
-
1502 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
11262
|
-
1504 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
11263
|
-
1510 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5. Added with firmware 3.0: Lo1, Lo2, Hi1, Hi2
|
11264
|
-
1532 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
11265
|
-
1536 => { Name => 'NonCPULens1FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1}, #should probably hide altogther if $val is 0
|
11266
|
-
1540 => { Name => 'NonCPULens2FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11267
|
-
1542 => { Name => 'NonCPULens3FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11268
|
-
1548 => { Name => 'NonCPULens4FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11269
|
-
1552 => { Name => 'NonCPULens5FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11270
|
-
1556 => { Name => 'NonCPULens6FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11271
|
-
1560 => { Name => 'NonCPULens7FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11272
|
-
1564 => { Name => 'NonCPULens8FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11273
|
-
1568 => { Name => 'NonCPULens9FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11274
|
-
1572 => { Name => 'NonCPULens10FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11275
|
-
1576 => { Name => 'NonCPULens11FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11276
|
-
1580 => { Name => 'NonCPULens12FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11277
|
-
1584 => { Name => 'NonCPULens13FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11278
|
-
1588 => { Name => 'NonCPULens14FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11279
|
-
1592 => { Name => 'NonCPULens15FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11280
|
-
1596 => { Name => 'NonCPULens16FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11281
|
-
1600 => { Name => 'NonCPULens17FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11282
|
-
1604 => { Name => 'NonCPULens18FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11283
|
-
1608 => { Name => 'NonCPULens19FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11284
|
-
1612 => { Name => 'NonCPULens20FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
11285
|
-
1616 => { Name => 'NonCPULens1MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1}, #non-CPU aperture interface, values and storage differ from the Z8
|
11286
|
-
1620 => { Name => 'NonCPULens2MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11287
|
-
1624 => { Name => 'NonCPULens3MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11288
|
-
1628 => { Name => 'NonCPULens4MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11289
|
-
1632 => { Name => 'NonCPULens5MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11290
|
-
1636 => { Name => 'NonCPULens6MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11291
|
-
1640 => { Name => 'NonCPULens7MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11292
|
-
1644 => { Name => 'NonCPULens8MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11293
|
-
1648 => { Name => 'NonCPULens9MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11294
|
-
1652 => { Name => 'NonCPULens10MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11295
|
-
1656 => { Name => 'NonCPULens11MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11296
|
-
1660 => { Name => 'NonCPULens12MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11297
|
-
1664 => { Name => 'NonCPULens13MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11298
|
-
1668 => { Name => 'NonCPULens14MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11299
|
-
1672 => { Name => 'NonCPULens15MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11300
|
-
1676 => { Name => 'NonCPULens16MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11301
|
-
1680 => { Name => 'NonCPULens17MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11302
|
-
1684 => { Name => 'NonCPULens18MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11303
|
-
1688 => { Name => 'NonCPULens19MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11304
|
-
1692 => { Name => 'NonCPULens20MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
11305
|
-
1708 => { Name => 'HDMIOutputResolution', PrintConv => \%hDMIOutputResolutionZ9 },
|
11306
|
-
1721 => { Name => 'SetClockFromLocationData', PrintConv => \%offOn, Unknown => 1 },
|
11307
|
-
1728 => { Name => 'AirplaneMode', PrintConv => \%offOn, Unknown => 1 },
|
11308
|
-
1729 => { Name => 'EmptySlotRelease', PrintConv => { 0 => 'Disable Release', 1 => 'Enable Release' }, Unknown => 1 },
|
11309
|
-
1764 => { Name => 'EnergySavingMode', PrintConv => \%offOn, Unknown => 1 },
|
11310
|
-
1788 => { Name => 'RecordLocationData', PrintConv => \%offOn, Unknown => 1 },
|
11311
|
-
1792 => { Name => 'USBPowerDelivery', PrintConv => \%offOn, Unknown => 1 },
|
11312
|
-
1801 => { Name => 'SensorShield', PrintConv => { 0 => 'Stays Open', 1 => 'Closes' }, Unknown => 1 },
|
11313
|
-
1866 => {
|
11314
|
-
Name => 'AutoCapturePreset',
|
11315
|
-
PrintConv => {
|
11316
|
-
0 => '1',
|
11317
|
-
1 => '2',
|
11318
|
-
2 => '3',
|
11319
|
-
3 => '4',
|
11320
|
-
4 => '5',
|
11321
|
-
},
|
11322
|
-
},
|
11323
|
-
1868 => {
|
11324
|
-
Name => 'FocusShiftAutoReset',
|
11325
|
-
Unknown => 1,
|
11326
|
-
PrintConv => \%offOn,
|
11327
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
11328
|
-
},
|
11329
|
-
1926 => { #CSd4-a
|
11330
|
-
Name => 'PreReleaseBurstLength',
|
11331
|
-
PrintConv => {
|
11332
|
-
0 => 'None',
|
11333
|
-
1 => '0.3 Sec',
|
11334
|
-
2 => '0.5 Sec',
|
11335
|
-
3 => '1 Sec',
|
11336
|
-
},
|
11337
|
-
},
|
11338
|
-
1928 => { #CSd4-b
|
11339
|
-
Name => 'PostReleaseBurstLength',
|
11340
|
-
PrintConv => {
|
11341
|
-
0 => '1 Sec',
|
11342
|
-
1 => '2 Sec',
|
11343
|
-
2 => '3 Sec',
|
11344
|
-
3 => 'Max',
|
11345
|
-
},
|
11346
|
-
},
|
11347
|
-
1942 => { Name => 'VerticalISOButton', %buttonsZ9}, #CSf2
|
11348
|
-
1944 => { Name => 'ExposureCompensationButton', %buttonsZ9}, #CSf2
|
11349
|
-
1946 => { Name => 'ISOButton', %buttonsZ9}, #CSf2
|
11350
|
-
2006 => { Name => 'ViewModeShowEffectsOfSettings', PrintConv => { 0=>'Always', 1=> 'Only When Flash Not Used'}, Unknown => 1 }, #CSd9-a
|
11351
|
-
2008 => { Name => 'DispButton', %buttonsZ9}, #CSf2
|
11352
|
-
2052 => { #CSd6
|
11353
|
-
Name => 'ExposureDelay',
|
11354
|
-
Format => 'fixed32u',
|
11355
|
-
PrintConv => '$val ? sprintf("%.1f sec",$val/1000) : "Off"',
|
11356
|
-
},
|
11357
|
-
2056 => { #CSf2-m3
|
11358
|
-
Name => 'CommandDialFrameAdvanceZoom',
|
11359
|
-
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
|
11360
|
-
PrintConv => \%dialsFrameAdvanceZoomPositionZ9,
|
11361
|
-
Unknown => 1
|
11362
|
-
},
|
11363
|
-
2058 => { #CSf2-n3
|
11364
|
-
Name => 'SubCommandDialFrameAdvanceZoom',
|
11365
|
-
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
|
11366
|
-
PrintConv => \%dialsFrameAdvanceZoomPositionZ9,
|
11367
|
-
Unknown => 1
|
11368
|
-
},
|
11369
|
-
2060 => { Name => 'PlaybackButton', %buttonsZ9}, #CSf2
|
11370
|
-
2062 => { Name => 'WBButton', %buttonsZ9}, #CSf2
|
11371
|
-
2064 => { Name => 'BracketButton', %buttonsZ9}, #CSf2
|
11372
|
-
2066 => { Name => 'FlashModeButton', %buttonsZ9}, #CSf2
|
11373
|
-
2068 => { Name => 'LensFunc1ButtonPlaybackMode', %buttonsZ9}, #CSf2
|
11374
|
-
2070 => { Name => 'LensFunc2ButtonPlaybackMode', %buttonsZ9}, #CSf2
|
11375
|
-
2072 => { Name => 'PlaybackButtonPlaybackMode', %buttonsZ9}, #CSf2
|
11376
|
-
2074 => { Name => 'BracketButtonPlaybackMode', %buttonsZ9}, #CSf2
|
11377
|
-
2076 => { Name => 'FlashModeButtonPlaybackMode', %buttonsZ9}, #CSf2
|
11378
|
-
);
|
11379
|
-
|
11380
10774
|
# Flash information (ref JD)
|
11381
10775
|
%Image::ExifTool::Nikon::FlashInfo0100 = (
|
11382
10776
|
%binaryDataAttrs,
|
@@ -12647,6 +12041,7 @@ my %nikonFocalConversions = (
|
|
12647
12041
|
Name => 'FirmwareVersion51',
|
12648
12042
|
Format => 'string[8]',
|
12649
12043
|
Writable => 0,
|
12044
|
+
ValueConv => 'join ".", $val =~ /../g',
|
12650
12045
|
},
|
12651
12046
|
10 => {
|
12652
12047
|
Name => 'NEFCompression',
|
@@ -12661,9 +12056,10 @@ my %nikonFocalConversions = (
|
|
12661
12056
|
%binaryDataAttrs,
|
12662
12057
|
GROUPS => { 0 => 'MakerNotes' },
|
12663
12058
|
0 => {
|
12664
|
-
Name => '
|
12059
|
+
Name => 'FirmwareVersion56',
|
12665
12060
|
Format => 'string[4]',
|
12666
12061
|
Writable => 0,
|
12062
|
+
ValueConv => '$val =~ s/(\d{2})/$1./; $val',
|
12667
12063
|
},
|
12668
12064
|
4 => {
|
12669
12065
|
Name => 'BurstGroupID', #all frames shot within a burst (using CL/CH/C30/C60/C120) will share the same BurstGroupID. Value will be > 0 for all images shot in continuous modes (or via Pixel Shift). 0 for single-frame.
|