exiftool-vendored.exe 12.30.0 → 12.38.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.
- package/bin/exiftool_files/Changes +129 -3
- package/bin/exiftool_files/README +2 -2
- package/bin/exiftool_files/arg_files/xmp2exif.args +2 -1
- package/bin/exiftool_files/config_files/example.config +1 -1
- package/bin/exiftool_files/exiftool.pl +100 -58
- package/bin/exiftool_files/fmt_files/gpx.fmt +1 -1
- package/bin/exiftool_files/fmt_files/gpx_wpt.fmt +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +13 -3
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +331 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +175 -12
- package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +12 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +2 -0
- package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +13 -2
- package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +109 -3
- package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +33 -8
- package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +5 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +14 -10
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +13 -2
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +16 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +96 -4
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +7 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +154 -24
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +27 -12
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +1204 -96
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +5 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +135 -71
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +5 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +4 -2
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +11 -12
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +4 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +69 -10
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +141 -111
- package/bin/exiftool_files/lib/Image/ExifTool/README +9 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +56 -13
- package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +9 -4
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +6473 -5827
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +1401 -54
- package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +2 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +10 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +10 -11
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +50 -5
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +125 -31
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool.pm +8931 -8864
- package/bin/exiftool_files/lib/Image/ExifTool.pod +21 -13
- package/package.json +3 -3
|
@@ -15,7 +15,7 @@ package Image::ExifTool::NikonCustom;
|
|
|
15
15
|
use strict;
|
|
16
16
|
use vars qw($VERSION);
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.18';
|
|
19
19
|
|
|
20
20
|
my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
21
21
|
my %onOff = ( 0 => 'On', 1 => 'Off' );
|
|
@@ -3358,6 +3358,8 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
3358
3358
|
47 => 'AF-Area Mode + AF-On (Auto Area AF)',
|
|
3359
3359
|
49 => 'Sync Release (Master Only)',
|
|
3360
3360
|
50 => 'Sync Release (Remote Only)',
|
|
3361
|
+
58 => 'AF-Area Mode + AF-On (Group Area AF - HL)',
|
|
3362
|
+
59 => 'AF-Area Mode + AF-On (Group Area AF - VL)',
|
|
3361
3363
|
},
|
|
3362
3364
|
},
|
|
3363
3365
|
15.1 => { # CSf1-a
|
|
@@ -3401,6 +3403,8 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
3401
3403
|
47 => 'AF-Area Mode + AF-On (Auto Area AF)',
|
|
3402
3404
|
49 => 'Sync Release (Master Only)',
|
|
3403
3405
|
50 => 'Sync Release (Remote Only)',
|
|
3406
|
+
58 => 'AF-Area Mode + AF-On (Group Area AF - HL)',
|
|
3407
|
+
59 => 'AF-Area Mode + AF-On (Group Area AF - VL)',
|
|
3404
3408
|
},
|
|
3405
3409
|
},
|
|
3406
3410
|
16.1 => { # CSf1-p
|
|
@@ -17,7 +17,7 @@ use strict;
|
|
|
17
17
|
use vars qw($VERSION);
|
|
18
18
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
19
19
|
|
|
20
|
-
$VERSION = '1.
|
|
20
|
+
$VERSION = '1.06';
|
|
21
21
|
|
|
22
22
|
sub ProcessNikonSettings($$$);
|
|
23
23
|
|
|
@@ -161,6 +161,39 @@ my %iSOAutoHiLimitD6 = (
|
|
|
161
161
|
45 => 'ISO Hi 5.0',
|
|
162
162
|
);
|
|
163
163
|
|
|
164
|
+
my %iSOAutoHiLimitZ7 = (
|
|
165
|
+
1 => 'ISO 100',
|
|
166
|
+
2 => 'ISO 125',
|
|
167
|
+
4 => 'ISO 160',
|
|
168
|
+
5 => 'ISO 200',
|
|
169
|
+
6 => 'ISO 250',
|
|
170
|
+
8 => 'ISO 320',
|
|
171
|
+
9 => 'ISO 400',
|
|
172
|
+
10 => 'ISO 500',
|
|
173
|
+
12 => 'ISO 640',
|
|
174
|
+
13 => 'ISO 800',
|
|
175
|
+
14 => 'ISO 1000',
|
|
176
|
+
16 => 'ISO 1250',
|
|
177
|
+
17 => 'ISO 1600',
|
|
178
|
+
18 => 'ISO 2000',
|
|
179
|
+
20 => 'ISO 2500',
|
|
180
|
+
21 => 'ISO 3200',
|
|
181
|
+
22 => 'ISO 4000',
|
|
182
|
+
24 => 'ISO 5000',
|
|
183
|
+
25 => 'ISO 6400',
|
|
184
|
+
26 => 'ISO 8000',
|
|
185
|
+
28 => 'ISO 10000',
|
|
186
|
+
29 => 'ISO 12800',
|
|
187
|
+
30 => 'ISO 16000',
|
|
188
|
+
32 => 'ISO 20000',
|
|
189
|
+
33 => 'ISO 25600',
|
|
190
|
+
38 => 'ISO Hi 0.3',
|
|
191
|
+
39 => 'ISO Hi 0.5',
|
|
192
|
+
40 => 'ISO Hi 0.7',
|
|
193
|
+
41 => 'ISO Hi 1.0',
|
|
194
|
+
42 => 'ISO Hi 2.0',
|
|
195
|
+
);
|
|
196
|
+
|
|
164
197
|
my %lensFuncButtonZ7m2 = (
|
|
165
198
|
1 => 'AF-On',
|
|
166
199
|
2 => 'AF Lock Only',
|
|
@@ -305,16 +338,21 @@ my %times4s10s20s1m5m20m = (
|
|
|
305
338
|
|
|
306
339
|
my %yesNo = ( 1 => 'Yes', 2 => 'No' );
|
|
307
340
|
|
|
308
|
-
my %infoZ72 = (
|
|
309
|
-
Condition => '$$self{Model} =~ /^NIKON Z 6_2/i or $$self{Model} =~ /^NIKON Z 7_2/i',
|
|
310
|
-
Notes => 'Z7_2',
|
|
311
|
-
);
|
|
312
|
-
|
|
313
341
|
my %infoD6 = (
|
|
314
|
-
Condition => '$$self{Model} =~ /^NIKON D6/i',
|
|
342
|
+
Condition => '$$self{Model} =~ /^NIKON D6\b/i',
|
|
315
343
|
Notes => 'D6',
|
|
316
344
|
);
|
|
317
345
|
|
|
346
|
+
my %infoZ7 = (
|
|
347
|
+
Condition => '$$self{Model} =~ /^NIKON Z (7|7_2)\b/i',
|
|
348
|
+
Notes => 'Z7 and Z7_2',
|
|
349
|
+
);
|
|
350
|
+
|
|
351
|
+
my %infoZSeries = (
|
|
352
|
+
Condition => '$$self{Model} =~ /^NIKON Z (5|50|6|6_2|7|7_2|fc)\b/i',
|
|
353
|
+
Notes => 'Z Series cameras thru November 2021',
|
|
354
|
+
);
|
|
355
|
+
|
|
318
356
|
# Nikon Settings tags (ref 1, tag ID's ref PH)
|
|
319
357
|
%Image::ExifTool::NikonSettings::Main = (
|
|
320
358
|
PROCESS_PROC => \&ProcessNikonSettings,
|
|
@@ -329,39 +367,8 @@ my %infoD6 = (
|
|
|
329
367
|
%infoD6,
|
|
330
368
|
},{
|
|
331
369
|
Name => 'ISOAutoHiLimit',
|
|
332
|
-
PrintConv =>
|
|
333
|
-
|
|
334
|
-
2 => 'ISO 125',
|
|
335
|
-
4 => 'ISO 160',
|
|
336
|
-
5 => 'ISO 200',
|
|
337
|
-
6 => 'ISO 250',
|
|
338
|
-
8 => 'ISO 320',
|
|
339
|
-
9 => 'ISO 400',
|
|
340
|
-
10 => 'ISO 500',
|
|
341
|
-
12 => 'ISO 640',
|
|
342
|
-
13 => 'ISO 800',
|
|
343
|
-
14 => 'ISO 1000',
|
|
344
|
-
16 => 'ISO 1250',
|
|
345
|
-
17 => 'ISO 1600',
|
|
346
|
-
18 => 'ISO 2000',
|
|
347
|
-
20 => 'ISO 2500',
|
|
348
|
-
21 => 'ISO 3200',
|
|
349
|
-
22 => 'ISO 4000',
|
|
350
|
-
24 => 'ISO 5000',
|
|
351
|
-
25 => 'ISO 6400',
|
|
352
|
-
26 => 'ISO 8000',
|
|
353
|
-
28 => 'ISO 10000',
|
|
354
|
-
29 => 'ISO 12800',
|
|
355
|
-
30 => 'ISO 16000',
|
|
356
|
-
32 => 'ISO 20000',
|
|
357
|
-
33 => 'ISO 25600',
|
|
358
|
-
38 => 'ISO Hi 0.3',
|
|
359
|
-
39 => 'ISO Hi 0.5',
|
|
360
|
-
40 => 'ISO Hi 0.7',
|
|
361
|
-
41 => 'ISO Hi 1.0',
|
|
362
|
-
42 => 'ISO Hi 2.0',
|
|
363
|
-
},
|
|
364
|
-
%infoZ72,
|
|
370
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
371
|
+
%infoZ7,
|
|
365
372
|
}],
|
|
366
373
|
0x002 => [{
|
|
367
374
|
Name => 'ISOAutoFlashLimit',
|
|
@@ -441,7 +448,7 @@ my %infoD6 = (
|
|
|
441
448
|
42 => 'ISO Hi 1.0',
|
|
442
449
|
43 => 'ISO Hi 2.0',
|
|
443
450
|
},
|
|
444
|
-
%
|
|
451
|
+
%infoZ7,
|
|
445
452
|
}],
|
|
446
453
|
0x003 => { # (D6/Z7_2)
|
|
447
454
|
Name => 'ISOAutoShutterTime',
|
|
@@ -542,18 +549,10 @@ my %infoD6 = (
|
|
|
542
549
|
37 => 'ISO Hi 1.0',
|
|
543
550
|
38 => 'ISO Hi 2.0',
|
|
544
551
|
},
|
|
545
|
-
%
|
|
552
|
+
%infoZ7,
|
|
546
553
|
}],
|
|
547
554
|
0x00e => { Name => 'MovieISOAutoControlManualMode',PrintConv => \%onOff }, # (D6/Z7_2)
|
|
548
|
-
|
|
549
|
-
# Name => 'MovieISOAutoManualMode',
|
|
550
|
-
# PrintConv => \%iSOAutoHiLimitD6,
|
|
551
|
-
# %infoD6,
|
|
552
|
-
# },{
|
|
553
|
-
# Name => 'MovieISOAutoManualMode',
|
|
554
|
-
# PrintConv => \%iSOAutoHiLimitZ7m2,
|
|
555
|
-
# %infoZ72,
|
|
556
|
-
# }],
|
|
555
|
+
0x00f => { Name => 'MovieWhiteBalanceSameAsPhoto', PrintConv => \%yesNo }, # (D6/Z7_2)
|
|
557
556
|
0x01d => [{ # CSa1 (D6)
|
|
558
557
|
Name => 'AF-CPrioritySel',
|
|
559
558
|
PrintConv => { # valid for cameras with 4 options for CS1, otherwise 1=Release, 2=Focus
|
|
@@ -566,7 +565,7 @@ my %infoD6 = (
|
|
|
566
565
|
},{ # CSa1 (Z7_2)
|
|
567
566
|
Name => 'AF-CPrioritySel',
|
|
568
567
|
PrintConv => \%releaseFocus,
|
|
569
|
-
%
|
|
568
|
+
%infoZSeries,
|
|
570
569
|
}],
|
|
571
570
|
0x01e => { Name => 'AF-SPrioritySel', PrintConv => \%releaseFocus }, # CSa2 (D6), CSa2 (Z7_2)
|
|
572
571
|
0x020 => [{ # CSa4 (D6)
|
|
@@ -580,7 +579,7 @@ my %infoD6 = (
|
|
|
580
579
|
},{ # CSa4 (Z7_2)
|
|
581
580
|
Name => 'AFPointSel',
|
|
582
581
|
PrintConv => { 1 => 'Use All', 2 => 'Use Half' },
|
|
583
|
-
%
|
|
582
|
+
%infoZSeries,
|
|
584
583
|
}],
|
|
585
584
|
0x022 => { Name => 'AFActivation', PrintConv => { 1 => 'Shutter/AF-On', 2 => 'AF-On Only' } }, # CSa6-a (D6/Z7_2) (missing enable/disable out of focus release) # (D6)
|
|
586
585
|
0x023 => { Name => 'FocusPointWrap', PrintConv => { 1 => 'Wrap', 2 => 'No Wrap' } }, # CSa16 (D6), CSa8 (Z7_2)
|
|
@@ -617,7 +616,7 @@ my %infoD6 = (
|
|
|
617
616
|
},{ # CSb3 (Z7_2)
|
|
618
617
|
Name => 'CenterWeightedAreaSize',
|
|
619
618
|
PrintConv => { 1 => '12 mm', 2 => 'Average' },
|
|
620
|
-
%
|
|
619
|
+
%infoZSeries,
|
|
621
620
|
}],
|
|
622
621
|
0x02f => { # CSb7-a (D6), CSb4-a (Z7_2)
|
|
623
622
|
Name => 'FineTuneOptMatrixMetering',
|
|
@@ -681,7 +680,7 @@ my %infoD6 = (
|
|
|
681
680
|
7 => '30 min',
|
|
682
681
|
8 => 'No Limit',
|
|
683
682
|
},
|
|
684
|
-
%
|
|
683
|
+
%infoZSeries,
|
|
685
684
|
}],
|
|
686
685
|
0x035 => { # CSc3-a (D6), CSc2-a (Z7_2)
|
|
687
686
|
Name => 'SelfTimerTime',
|
|
@@ -770,7 +769,7 @@ my %infoD6 = (
|
|
|
770
769
|
6 => '1/80 s',
|
|
771
770
|
7 => '1/60 s',
|
|
772
771
|
},
|
|
773
|
-
%
|
|
772
|
+
%infoZSeries,
|
|
774
773
|
}],
|
|
775
774
|
0x048 => { # CSe2 (D6/Z7_2)
|
|
776
775
|
Name => 'FlashShutterSpeed',
|
|
@@ -844,7 +843,7 @@ my %infoD6 = (
|
|
|
844
843
|
25 => 'Non-CPU Lens',
|
|
845
844
|
26 => 'None',
|
|
846
845
|
},
|
|
847
|
-
%
|
|
846
|
+
%infoZSeries,
|
|
848
847
|
}],
|
|
849
848
|
0x053 => [{ # CSf4-a (D6)
|
|
850
849
|
Name => 'MultiSelectorShootMode',
|
|
@@ -864,7 +863,7 @@ my %infoD6 = (
|
|
|
864
863
|
4 => 'Zoom (High)',
|
|
865
864
|
5 => 'None',
|
|
866
865
|
},
|
|
867
|
-
%
|
|
866
|
+
%infoZSeries,
|
|
868
867
|
}],
|
|
869
868
|
0x054 => [{ # CSf4-c (D6)
|
|
870
869
|
Name => 'MultiSelectorPlaybackMode',
|
|
@@ -887,7 +886,7 @@ my %infoD6 = (
|
|
|
887
886
|
5 => 'Zoom (High)',
|
|
888
887
|
6 => 'Choose Folder',
|
|
889
888
|
},
|
|
890
|
-
%
|
|
889
|
+
%infoZSeries,
|
|
891
890
|
}],
|
|
892
891
|
0x056 => { # CSf4-b (D6)
|
|
893
892
|
Name => 'MultiSelectorLiveView',
|
|
@@ -975,9 +974,29 @@ my %infoD6 = (
|
|
|
975
974
|
1 => 'Manual (dark on light)',
|
|
976
975
|
2 => 'Manual (light on dark)',
|
|
977
976
|
},
|
|
978
|
-
%
|
|
977
|
+
%infoZSeries,
|
|
979
978
|
}],
|
|
980
979
|
0x074 => { Name => 'FlickAdvanceDirection', PrintConv => { 1 => 'Right to Left', 2 => 'Left to Right' } }, # CSf12-3 (D6)
|
|
980
|
+
0x075 => { # Settings menu # (D6,Z7_2)
|
|
981
|
+
Name => 'HDMIOutputResolution',
|
|
982
|
+
PrintConv => {
|
|
983
|
+
1 => 'Auto',
|
|
984
|
+
2 => '2160p',
|
|
985
|
+
3 => '1080p',
|
|
986
|
+
4 => '1080i',
|
|
987
|
+
5 => '720p',
|
|
988
|
+
6 => '576p',
|
|
989
|
+
7 => '480p',
|
|
990
|
+
},
|
|
991
|
+
},
|
|
992
|
+
0x077 => { # Settings menu # (D6,Z7_2)
|
|
993
|
+
Name => 'HDMIOutputRange',
|
|
994
|
+
PrintConv => {
|
|
995
|
+
1 => 'Auto',
|
|
996
|
+
2 => 'Limit',
|
|
997
|
+
3 => 'Full',
|
|
998
|
+
},
|
|
999
|
+
},
|
|
981
1000
|
0x080 => [{
|
|
982
1001
|
Name => 'RemoteFuncButton',
|
|
983
1002
|
PrintConv => {
|
|
@@ -1010,7 +1029,7 @@ my %infoD6 = (
|
|
|
1010
1029
|
10 => 'None',
|
|
1011
1030
|
11 => 'LiveView Info Display On/Off',
|
|
1012
1031
|
},
|
|
1013
|
-
%
|
|
1032
|
+
%infoZSeries,
|
|
1014
1033
|
}],
|
|
1015
1034
|
0x08b => [{ # CSf6-a-1 and CSf6-a-2 (D6), CSf5-a-1 and CSf5-a-2 (Z7_2), (continued from above)
|
|
1016
1035
|
Name => 'CmdDialsReverseRotation',
|
|
@@ -1051,6 +1070,7 @@ my %infoD6 = (
|
|
|
1051
1070
|
8 => '180',
|
|
1052
1071
|
},
|
|
1053
1072
|
},
|
|
1073
|
+
0x092 => { Name => 'HDMIExternalRecorder', PrintConv => \%onOff }, # Settings Menu/HDMI/Advanced entry (D6 & Z7_2)
|
|
1054
1074
|
0x093 => { # CSa3-a (D6), CSa3 (Z7_2)
|
|
1055
1075
|
Name => 'BlockShotAFResponse',
|
|
1056
1076
|
PrintConv => {
|
|
@@ -1077,7 +1097,7 @@ my %infoD6 = (
|
|
|
1077
1097
|
1 => 'Focus Point',
|
|
1078
1098
|
2 => 'Off',
|
|
1079
1099
|
},
|
|
1080
|
-
%
|
|
1100
|
+
%infoZSeries,
|
|
1081
1101
|
}],
|
|
1082
1102
|
0x099 => { Name => 'DynamicAreaAFAssist',PrintConv => \%onOff }, # CSa17-c (D6), CSa9-b (Z7_2)
|
|
1083
1103
|
0x09a => { Name => 'ExposureCompStepSize', PrintConv => \%thirdHalfFull }, # CSb3 (D6)
|
|
@@ -1100,7 +1120,7 @@ my %infoD6 = (
|
|
|
1100
1120
|
},{ # CSf2-a (Z7_2)
|
|
1101
1121
|
Name => 'Func1Button',
|
|
1102
1122
|
PrintConv => \%funcButtonZ7m2,
|
|
1103
|
-
%
|
|
1123
|
+
%infoZSeries,
|
|
1104
1124
|
}],
|
|
1105
1125
|
0x0a2 => [{ # CSf3-c (D6)
|
|
1106
1126
|
Name => 'Func2Button',
|
|
@@ -1109,7 +1129,7 @@ my %infoD6 = (
|
|
|
1109
1129
|
},{ # CSf2-b (Z7_2)
|
|
1110
1130
|
Name => 'Func2Button',
|
|
1111
1131
|
PrintConv => \%funcButtonZ7m2,
|
|
1112
|
-
%
|
|
1132
|
+
%infoZSeries,
|
|
1113
1133
|
}],
|
|
1114
1134
|
0x0a3 => [{ # CSf3-f (D6)
|
|
1115
1135
|
Name => 'AF-OnButton',
|
|
@@ -1161,7 +1181,7 @@ my %infoD6 = (
|
|
|
1161
1181
|
11 => 'Zoom (High)',
|
|
1162
1182
|
12 => 'None'
|
|
1163
1183
|
},
|
|
1164
|
-
%
|
|
1184
|
+
%infoZSeries,
|
|
1165
1185
|
}],
|
|
1166
1186
|
0x0a4 => { Name => 'SubSelector', PrintConv => \%tagSubSelector }, # CSf3-g-1 # (D6), CSf2-d-1 # (Z7_2)
|
|
1167
1187
|
0x0a5 => [{ # CSf3-h (D6)
|
|
@@ -1234,7 +1254,7 @@ my %infoD6 = (
|
|
|
1234
1254
|
24 => 'Non-CPU Lens',
|
|
1235
1255
|
25 => 'None',
|
|
1236
1256
|
},
|
|
1237
|
-
%
|
|
1257
|
+
%infoZSeries,
|
|
1238
1258
|
}],
|
|
1239
1259
|
0x0a7 => [{ # CSf3-n (D6)
|
|
1240
1260
|
Name => 'LensFunc1Button',
|
|
@@ -1274,7 +1294,7 @@ my %infoD6 = (
|
|
|
1274
1294
|
},{ # CSf2-g (Z7_2)
|
|
1275
1295
|
Name => 'LensFunc1Button',
|
|
1276
1296
|
PrintConv => \%lensFuncButtonZ7m2,
|
|
1277
|
-
%
|
|
1297
|
+
%infoZSeries,
|
|
1278
1298
|
}],
|
|
1279
1299
|
0x0a8 => { Name => 'CmdDialsApertureSetting', PrintConv => { 1 => 'Sub-command Dial', 2 => 'Aperture Ring' } }, # CSf6-c (D6)
|
|
1280
1300
|
0x0a9 => { Name => 'MultiSelector', PrintConv => \%tagMultiSelector }, # CSf7 (D6)
|
|
@@ -1335,7 +1355,7 @@ my %infoD6 = (
|
|
|
1335
1355
|
23 => 'Rating (1)', # no mapping for 24 on the Z7_2. Possibly intended for Rating = 'Candidate for Deletion'?
|
|
1336
1356
|
25 => 'None',
|
|
1337
1357
|
},
|
|
1338
|
-
%
|
|
1358
|
+
%infoZSeries,
|
|
1339
1359
|
}],
|
|
1340
1360
|
0x0b3 => [{ # CSg2-b (D6)
|
|
1341
1361
|
Name => 'MovieFunc1Button',
|
|
@@ -1379,7 +1399,7 @@ my %infoD6 = (
|
|
|
1379
1399
|
23 => 'Rating (1)', # no mapping for 24 on the Z7_2. Possibly intended for Rating = 'Candidate for Deletion'?
|
|
1380
1400
|
25 => 'None',
|
|
1381
1401
|
},
|
|
1382
|
-
%
|
|
1402
|
+
%infoZSeries,
|
|
1383
1403
|
}],
|
|
1384
1404
|
0x0b5 => { # CSg2-c (D6)
|
|
1385
1405
|
Name => 'MovieFunc2Button',
|
|
@@ -1426,7 +1446,7 @@ my %infoD6 = (
|
|
|
1426
1446
|
12 => 'Image Area',
|
|
1427
1447
|
13 => 'None',
|
|
1428
1448
|
},
|
|
1429
|
-
%
|
|
1449
|
+
%infoZSeries,
|
|
1430
1450
|
}],
|
|
1431
1451
|
0x0b8 => { Name => 'LimitAFAreaModeSelD9', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-a (D6)
|
|
1432
1452
|
0x0b9 => { Name => 'LimitAFAreaModeSelD25', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa14-b (D6)
|
|
@@ -1549,6 +1569,29 @@ my %infoD6 = (
|
|
|
1549
1569
|
0x0fb => { Name => 'SecondarySlotFunction', PrintConv => \%tagSecondarySlotFunction }, # (D6)
|
|
1550
1570
|
0x0fc => { Name => 'SilentPhotography', PrintConv => \%onOff }, # (D6,Z7_2) # tag is associated with Silent LiveView Photography (as distinguisehed from Silent Interval or Silent Focus Shift)
|
|
1551
1571
|
0x0fd => { Name => 'ExtendedShutterSpeeds', PrintConv => \%onOff }, # CSd7 (D6), CSd6 (Z7_2)
|
|
1572
|
+
0x102 => { # (Z7_2)
|
|
1573
|
+
Name => 'HDMIBitDepth',
|
|
1574
|
+
RawConv => '$$self{HDMIBitDepth} = $val',
|
|
1575
|
+
PrintConv => {
|
|
1576
|
+
1 => '8 Bit',
|
|
1577
|
+
2 => '10 Bit',
|
|
1578
|
+
#5 => 'Auto', #observed on the Z50 - needs confirmation
|
|
1579
|
+
},
|
|
1580
|
+
},
|
|
1581
|
+
0x103 => { # (Z7_2)
|
|
1582
|
+
Name => 'HDMIOutputHDR',
|
|
1583
|
+
Condition => '$$self{HDMIBitDepth} == 2', # HDR(HLC) output option only available only for 10 bit
|
|
1584
|
+
RawConv => '$$self{HDMIOutputHDR} = $val',
|
|
1585
|
+
PrintConv => {
|
|
1586
|
+
2 => 'On', # unusual decode perhaps due to sharing sub-menu with tag HDMIOutputN-Log?
|
|
1587
|
+
3 => 'Off',
|
|
1588
|
+
},
|
|
1589
|
+
},
|
|
1590
|
+
0x104 => { # valid for 10 bit with either N-Log or HDR/HLG selected (Z7_2)
|
|
1591
|
+
Name => 'HDMIViewAssist',
|
|
1592
|
+
Condition => '$$self{HDMIBitDepth} == 2',
|
|
1593
|
+
PrintConv => \%onOff
|
|
1594
|
+
},
|
|
1552
1595
|
0x109 => { # (D6,Z7_2)
|
|
1553
1596
|
Name => 'BracketSet',
|
|
1554
1597
|
RawConv => '$$self{BracketSet} = $val',
|
|
@@ -1640,6 +1683,11 @@ my %infoD6 = (
|
|
|
1640
1683
|
8 => 'Off, Low, Normal, High, Extra High',
|
|
1641
1684
|
},
|
|
1642
1685
|
},
|
|
1686
|
+
0x10e => { # (D6/Z7_2)
|
|
1687
|
+
Name => 'MonitorBrightness',
|
|
1688
|
+
# settings: -5 to +5
|
|
1689
|
+
ValueConv => '$val - 6',
|
|
1690
|
+
},
|
|
1643
1691
|
0x116 => { Name => 'GroupAreaC1', PrintConv =>\%groupAreaCustom }, # CSa10-a (new with D6) # (D6)
|
|
1644
1692
|
0x117 => { Name => 'AutoAreaAFStartingPoint', PrintConv => \%enableDisable }, # CSa12 (D6)
|
|
1645
1693
|
0x118 => { Name => 'FocusPointPersistence', PrintConv => { 1 => 'Auto', 2 => 'Off' } }, # CSa13 (new with D6) # (D6)
|
|
@@ -1823,8 +1871,9 @@ my %infoD6 = (
|
|
|
1823
1871
|
},
|
|
1824
1872
|
},
|
|
1825
1873
|
0x151 => { Name => 'LensFunc2Button', PrintConv => \%lensFuncButtonZ7m2 }, # CSf2-h (Z7_2)
|
|
1874
|
+
#0x153 => { Name => 'ViewfinderBrightness', } #(Z7_2) # commented out to reduce output volume. Range [-5,+5]. PrintConv matches MonitorBrightness.
|
|
1826
1875
|
0x158 => { Name => 'USBPowerDelivery', PrintConv => \%enableDisable }, # (Z7_2)
|
|
1827
|
-
|
|
1876
|
+
0x159 => { Name => 'EnergySavingMode', PrintConv =>\%onOff }, # (Z7_2)
|
|
1828
1877
|
0x15c => { Name => 'BracketingBurstOptions',PrintConv => \%enableDisable }, # CSe9 (D6)
|
|
1829
1878
|
# 0x15d => CSf3-j-2 (D6) 'Same as Multi-Selector with Info(U/D) & Playback(R/L)' and 'Same as Multi-Selector with Info(R/L) & Playback(U/D)' (skipped to reduce volume of output)
|
|
1830
1879
|
0x15e => { Name => 'PrimarySlot', PrintConv => { 1 => 'CFexpress/XQD Card', 2 => 'SD Card' } }, # (Z7_2)
|
|
@@ -1900,10 +1949,12 @@ my %infoD6 = (
|
|
|
1900
1949
|
13 => 'None',
|
|
1901
1950
|
},
|
|
1902
1951
|
},
|
|
1952
|
+
#0x168 => { Name => 'ControlPanelBrightness', # (Z7_2) #commented to reduce output volume
|
|
1903
1953
|
0x169 => { Name => 'LimitAF-AreaModeSelAutoPeople', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-h (Z7_2)
|
|
1904
1954
|
0x16a => { Name => 'LimitAF-AreaModeSelAutoAnimals', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-h (Z7_2)
|
|
1905
1955
|
0x16b => { Name => 'LimitAF-AreaModeSelWideLPeople', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-e (Z7_2)
|
|
1906
1956
|
0x16c => { Name => 'LimitAF-AreaModeSelWideLAnimals', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa7-f (Z7_2)
|
|
1957
|
+
0x16d => { Name => 'SaveFocus', PrintConv => \%onOff }, # (Z7_2)
|
|
1907
1958
|
0x16e => { # (Z7_2)
|
|
1908
1959
|
Name => 'AFAreaMode',
|
|
1909
1960
|
RawConv => '$$self{AFAreaMode} = $val',
|
|
@@ -1919,6 +1970,19 @@ my %infoD6 = (
|
|
|
1919
1970
|
10 => 'Auto (Animals)',
|
|
1920
1971
|
},
|
|
1921
1972
|
},
|
|
1973
|
+
0x16f => { # (Z7_2)
|
|
1974
|
+
Name => 'MovieAFAreaMode',
|
|
1975
|
+
PrintConv => {
|
|
1976
|
+
1 => 'Single-point',
|
|
1977
|
+
2 => 'Wide (S)',
|
|
1978
|
+
3 => 'Wide (L)',
|
|
1979
|
+
4 => 'Wide (L-people)',
|
|
1980
|
+
5 => 'Wide (L-animals)',
|
|
1981
|
+
6 => 'Auto',
|
|
1982
|
+
7 => 'Auto (People)',
|
|
1983
|
+
8 => 'Auto (Animals)',
|
|
1984
|
+
},
|
|
1985
|
+
},
|
|
1922
1986
|
0x170 => { Name => 'PreferSubSelectorCenter', PrintConv => \%offOn }, # CSf13 (D6 firmware v1.2.0)
|
|
1923
1987
|
0x171 => { # CSb8 (D6 firmware v1.3.0)
|
|
1924
1988
|
Name => 'KeepExposureWithTeleconverter',
|
|
@@ -40,7 +40,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
40
40
|
use Image::ExifTool::Exif;
|
|
41
41
|
use Image::ExifTool::APP12;
|
|
42
42
|
|
|
43
|
-
$VERSION = '2.
|
|
43
|
+
$VERSION = '2.75';
|
|
44
44
|
|
|
45
45
|
sub PrintLensInfo($$$);
|
|
46
46
|
|
|
@@ -3609,6 +3609,10 @@ my %indexInfo = (
|
|
|
3609
3609
|
Format => 'string[24]',
|
|
3610
3610
|
Groups => { 2 => 'Time' },
|
|
3611
3611
|
},
|
|
3612
|
+
0x17f => {
|
|
3613
|
+
Name => 'LensModel',
|
|
3614
|
+
Format => 'string[32]'
|
|
3615
|
+
},
|
|
3612
3616
|
);
|
|
3613
3617
|
|
|
3614
3618
|
# yet a different "thmb" atom format (PH, E-M5)
|
|
@@ -15,7 +15,7 @@ use vars qw($VERSION);
|
|
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
16
16
|
use Image::ExifTool::GPS;
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.03';
|
|
19
19
|
|
|
20
20
|
# supported EXR value format types (other types are extracted as undef binary data)
|
|
21
21
|
my %formatType = (
|
|
@@ -172,12 +172,13 @@ sub ProcessEXR($$)
|
|
|
172
172
|
my $ver = unpack('x4V', $buff);
|
|
173
173
|
$et->HandleTag($tagTablePtr, '_ver', $ver & 0xff);
|
|
174
174
|
$et->HandleTag($tagTablePtr, '_lay', $ver & 0x200);
|
|
175
|
+
my $maxLen = ($ver & 0x400) ? 255 : 31;
|
|
175
176
|
|
|
176
177
|
# extract attributes
|
|
177
178
|
for (;;) {
|
|
178
179
|
$raf->Read($buff, 68) or last;
|
|
179
180
|
last if $buff =~ /^\0/;
|
|
180
|
-
unless ($buff =~ /^([^\0]{1
|
|
181
|
+
unless ($buff =~ /^([^\0]{1,$maxLen})\0([^\0]{1,$maxLen})\0(.{4})/sg) {
|
|
181
182
|
$et->Warn('EXR format error');
|
|
182
183
|
last;
|
|
183
184
|
}
|
|
@@ -189,6 +190,7 @@ sub ProcessEXR($$)
|
|
|
189
190
|
my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
|
|
190
191
|
unless ($tagInfo) {
|
|
191
192
|
my $name = ucfirst $tag;
|
|
193
|
+
$name =~ s/([^a-zA-Z])([a-z])/$1\U$2/g; # capitalize first letter of each word
|
|
192
194
|
$name =~ tr/-_a-zA-Z0-9//dc;
|
|
193
195
|
if (length $name <= 1) {
|
|
194
196
|
if (length $name) {
|
|
@@ -21,7 +21,7 @@ use vars qw($VERSION $AUTOLOAD $lastFetched);
|
|
|
21
21
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
22
22
|
require Exporter;
|
|
23
23
|
|
|
24
|
-
$VERSION = '1.
|
|
24
|
+
$VERSION = '1.54';
|
|
25
25
|
|
|
26
26
|
sub FetchObject($$$$);
|
|
27
27
|
sub ExtractObject($$;$$);
|
|
@@ -280,7 +280,12 @@ my %supportedFilter = (
|
|
|
280
280
|
ConvertToDict => 1,
|
|
281
281
|
},
|
|
282
282
|
Cs1 => {
|
|
283
|
-
SubDirectory => { TagTable => 'Image::ExifTool::PDF::
|
|
283
|
+
SubDirectory => { TagTable => 'Image::ExifTool::PDF::DefaultRGB' },
|
|
284
|
+
ConvertToDict => 1, # (just in case)
|
|
285
|
+
},
|
|
286
|
+
CS0 => {
|
|
287
|
+
SubDirectory => { TagTable => 'Image::ExifTool::PDF::DefaultRGB' },
|
|
288
|
+
ConvertToDict => 1, # (just in case)
|
|
284
289
|
},
|
|
285
290
|
);
|
|
286
291
|
|
|
@@ -291,14 +296,7 @@ my %supportedFilter = (
|
|
|
291
296
|
},
|
|
292
297
|
);
|
|
293
298
|
|
|
294
|
-
# tags in PDF Cs1
|
|
295
|
-
%Image::ExifTool::PDF::Cs1 = (
|
|
296
|
-
_stream => {
|
|
297
|
-
SubDirectory => { TagTable => 'Image::ExifTool::ICC_Profile::Main' },
|
|
298
|
-
},
|
|
299
|
-
);
|
|
300
|
-
|
|
301
|
-
# tags in PDF ICCBased dictionary
|
|
299
|
+
# tags in PDF ICCBased, Cs1 and CS0 dictionaries
|
|
302
300
|
%Image::ExifTool::PDF::ICCBased = (
|
|
303
301
|
_stream => {
|
|
304
302
|
SubDirectory => { TagTable => 'Image::ExifTool::ICC_Profile::Main' },
|
|
@@ -1989,16 +1987,17 @@ sub ProcessDict($$$$;$$)
|
|
|
1989
1987
|
} else {
|
|
1990
1988
|
$val = ReadPDFValue($val);
|
|
1991
1989
|
}
|
|
1992
|
-
# convert from UTF-16 (big endian) to UTF-8 or Latin if necessary
|
|
1993
|
-
# unless this is binary data (hex-encoded strings would not have been converted)
|
|
1994
1990
|
if (ref $val) {
|
|
1995
1991
|
if (ref $val eq 'ARRAY') {
|
|
1992
|
+
delete $$et{LIST_TAGS}{$tagInfo} if $$tagInfo{List};
|
|
1996
1993
|
my $v;
|
|
1997
1994
|
foreach $v (@$val) {
|
|
1998
1995
|
$et->FoundTag($tagInfo, $v);
|
|
1999
1996
|
}
|
|
2000
1997
|
}
|
|
2001
1998
|
} elsif (defined $val) {
|
|
1999
|
+
# convert from UTF-16 (big endian) to UTF-8 or Latin if necessary
|
|
2000
|
+
# unless this is binary data (hex-encoded strings would not have been converted)
|
|
2002
2001
|
my $format = $$tagInfo{Format} || $$tagInfo{Writable} || 'string';
|
|
2003
2002
|
$val = ConvertPDFDate($val) if $format eq 'date';
|
|
2004
2003
|
if (not $$tagInfo{Binary} and $val =~ /[\x18-\x1f\x80-\xff]/) {
|
|
@@ -36,7 +36,7 @@ use strict;
|
|
|
36
36
|
use vars qw($VERSION $AUTOLOAD %stdCase);
|
|
37
37
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
38
38
|
|
|
39
|
-
$VERSION = '1.
|
|
39
|
+
$VERSION = '1.59';
|
|
40
40
|
|
|
41
41
|
sub ProcessPNG_tEXt($$$);
|
|
42
42
|
sub ProcessPNG_iTXt($$$);
|
|
@@ -259,6 +259,7 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
|
259
259
|
},
|
|
260
260
|
tRNS => {
|
|
261
261
|
Name => 'Transparency',
|
|
262
|
+
# may have as many entries as the PLTE table, but who wants to see all that?
|
|
262
263
|
ValueConv => q{
|
|
263
264
|
return \$val if length($val) > 6;
|
|
264
265
|
join(" ",unpack($Image::ExifTool::PNG::colorType == 3 ? "C*" : "n*", $val));
|
|
@@ -478,6 +479,8 @@ my %unreg = ( Notes => 'unregistered' );
|
|
|
478
479
|
if the L<Compress|../ExifTool.html#Compress> option is used and Compress::Zlib is available. Raw profile
|
|
479
480
|
information is always created as compressed zTXt if Compress::Zlib is
|
|
480
481
|
available, or tEXt otherwise. Standard XMP is written as uncompressed iTXt.
|
|
482
|
+
User-defined tags may set an 'iTXt' flag in the tag definition to be written
|
|
483
|
+
only as iTXt.
|
|
481
484
|
|
|
482
485
|
Alternate languages are accessed by suffixing the tag name with a '-',
|
|
483
486
|
followed by an RFC 3066 language code (eg. "PNG:Comment-fr", or
|
|
@@ -37,7 +37,7 @@ use vars qw($VERSION %leicaLensTypes);
|
|
|
37
37
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
38
38
|
use Image::ExifTool::Exif;
|
|
39
39
|
|
|
40
|
-
$VERSION = '2.
|
|
40
|
+
$VERSION = '2.16';
|
|
41
41
|
|
|
42
42
|
sub ProcessLeicaLEIC($$$);
|
|
43
43
|
sub WhiteBalanceConv($;$$);
|
|
@@ -449,7 +449,7 @@ my %shootingMode = (
|
|
|
449
449
|
same as the number printed on the camera body
|
|
450
450
|
},
|
|
451
451
|
PrintConv => q{
|
|
452
|
-
return $val unless $val=~/^([A-Z]
|
|
452
|
+
return $val unless $val=~/^([A-Z][0-9A-Z]{2})(\d{2})(\d{2})(\d{2})(\d{4})/;
|
|
453
453
|
my $yr = $2 + ($2 < 70 ? 2000 : 1900);
|
|
454
454
|
return "($1) $yr:$3:$4 no. $5";
|
|
455
455
|
},
|
|
@@ -58,7 +58,7 @@ use Image::ExifTool::Exif;
|
|
|
58
58
|
use Image::ExifTool::GPS;
|
|
59
59
|
use Image::ExifTool::HP;
|
|
60
60
|
|
|
61
|
-
$VERSION = '3.
|
|
61
|
+
$VERSION = '3.39';
|
|
62
62
|
|
|
63
63
|
sub CryptShutterCount($$);
|
|
64
64
|
sub PrintFilter($$$);
|
|
@@ -340,6 +340,7 @@ sub DecodeAFPoints($$$$;$);
|
|
|
340
340
|
'8 64' => 'HD PENTAX-D FA* 50mm F1.4 SDM AW', #27
|
|
341
341
|
'8 65' => 'HD PENTAX-D FA 70-210mm F4 ED SDM WR', #PH
|
|
342
342
|
'8 66' => 'HD PENTAX-D FA 85mm F1.4 ED SDM AW', #James O'Neill
|
|
343
|
+
'8 195' => 'HD PENTAX DA* 16-50mm F2.8 ED PLM AW', #27
|
|
343
344
|
'8 196' => 'HD PENTAX-DA* 11-18mm F2.8 ED DC AW', #29
|
|
344
345
|
'8 197' => 'HD PENTAX-DA 55-300mm F4.5-6.3 ED PLM WR RE', #29
|
|
345
346
|
'8 198' => 'smc PENTAX-DA L 18-50mm F4-5.6 DC WR RE', #29
|