exiftool-vendored.pl 12.50.0 → 12.55.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/Changes +81 -3
- package/bin/MANIFEST +2 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +3 -3
- package/bin/exiftool +15 -12
- package/bin/fmt_files/kml_track.fmt +3 -3
- package/bin/lib/File/RandomAccess.pm +1 -1
- package/bin/lib/File/RandomAccess.pod +2 -2
- package/bin/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/APE.pm +1 -1
- package/bin/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/lib/Image/ExifTool/ASF.pm +1 -1
- package/bin/lib/Image/ExifTool/Apple.pm +197 -27
- package/bin/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
- package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- package/bin/lib/Image/ExifTool/Canon.pm +14 -2
- package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonVRD.pm +9 -9
- package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/lib/Image/ExifTool/Casio.pm +4 -4
- package/bin/lib/Image/ExifTool/Charset.pm +1 -1
- package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- package/bin/lib/Image/ExifTool/DJI.pm +1 -1
- package/bin/lib/Image/ExifTool/DNG.pm +1 -1
- package/bin/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/lib/Image/ExifTool/EXE.pm +1 -1
- package/bin/lib/Image/ExifTool/Exif.pm +5 -16
- package/bin/lib/Image/ExifTool/FITS.pm +1 -1
- package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIR.pm +7 -6
- package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- package/bin/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- package/bin/lib/Image/ExifTool/Font.pm +1 -1
- package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/lib/Image/ExifTool/FujiFilm.pm +21 -13
- package/bin/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/lib/Image/ExifTool/GIF.pm +1 -1
- package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/lib/Image/ExifTool/GPS.pm +12 -6
- package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +25 -8
- package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- package/bin/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/lib/Image/ExifTool/HP.pm +1 -1
- package/bin/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- package/bin/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/lib/Image/ExifTool/ID3.pm +1 -1
- package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- package/bin/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/lib/Image/ExifTool/Import.pm +1 -1
- package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/lib/Image/ExifTool/JPEG.pm +2 -1
- package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/lib/Image/ExifTool/JSON.pm +1 -1
- package/bin/lib/Image/ExifTool/JVC.pm +1 -1
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +35 -8
- package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/lib/Image/ExifTool/LNK.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/de.pm +2 -2
- package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/fr.pm +6016 -760
- package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/sk.pm +1806 -0
- package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- package/bin/lib/Image/ExifTool/MIE.pm +1 -1
- package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/MISB.pm +1 -1
- package/bin/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/lib/Image/ExifTool/MXF.pm +1 -1
- package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/lib/Image/ExifTool/Matroska.pm +262 -46
- package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/lib/Image/ExifTool/Nikon.pm +687 -280
- package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/lib/Image/ExifTool/NikonCustom.pm +140 -107
- package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
- package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- package/bin/lib/Image/ExifTool/Olympus.pm +4 -3
- package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/lib/Image/ExifTool/PDF.pm +1 -1
- package/bin/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/lib/Image/ExifTool/PLIST.pm +12 -7
- package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/lib/Image/ExifTool/PNG.pm +9 -2
- package/bin/lib/Image/ExifTool/PPM.pm +1 -1
- package/bin/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
- package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/lib/Image/ExifTool/Pentax.pm +1 -1
- package/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/lib/Image/ExifTool/QuickTime.pm +26 -7
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +166 -39
- package/bin/lib/Image/ExifTool/README +5 -1
- package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/lib/Image/ExifTool/RTF.pm +1 -1
- package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- package/bin/lib/Image/ExifTool/Samsung.pm +3 -1
- package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/lib/Image/ExifTool/Shift.pl +1 -1
- package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Sony.pm +7 -7
- package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/lib/Image/ExifTool/TagInfoXML.pm +13 -8
- package/bin/lib/Image/ExifTool/TagLookup.pm +4608 -4512
- package/bin/lib/Image/ExifTool/TagNames.pod +323 -43
- package/bin/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/lib/Image/ExifTool/VCard.pm +1 -1
- package/bin/lib/Image/ExifTool/Validate.pm +1 -1
- package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteExif.pl +14 -1
- package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePDF.pl +5 -1
- package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +30 -14
- package/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteXMP.pl +16 -2
- package/bin/lib/Image/ExifTool/Writer.pl +35 -15
- package/bin/lib/Image/ExifTool/XMP.pm +23 -3
- package/bin/lib/Image/ExifTool/XMP2.pl +20 -1
- package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- package/bin/lib/Image/ExifTool/ZIP.pm +20 -8
- package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/lib/Image/ExifTool.pm +38 -16
- package/bin/lib/Image/ExifTool.pod +39 -38
- package/bin/perl-Image-ExifTool.spec +1 -1
- package/bin/pp_build_exe.args +6 -5
- package/package.json +4 -4
|
@@ -918,7 +918,7 @@ the maker notes of NEF images.
|
|
|
918
918
|
|
|
919
919
|
=head1 AUTHOR
|
|
920
920
|
|
|
921
|
-
Copyright 2003-
|
|
921
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
922
922
|
|
|
923
923
|
This library is free software; you can redistribute it and/or modify it
|
|
924
924
|
under the same terms as Perl itself.
|
|
@@ -15,68 +15,87 @@ package Image::ExifTool::NikonCustom;
|
|
|
15
15
|
use strict;
|
|
16
16
|
use vars qw($VERSION);
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.22';
|
|
19
19
|
|
|
20
20
|
my %buttonsZ9= (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
21
|
+
SeparateTable => 'ButtonsZ9',
|
|
22
|
+
PrintConv => {
|
|
23
|
+
0 => 'None',
|
|
24
|
+
1 => 'Preview',
|
|
25
|
+
3 => 'FV Lock',
|
|
26
|
+
4 => 'AE/AF Lock',
|
|
27
|
+
5 => 'AE Lock Only',
|
|
28
|
+
6 => 'AE Lock (reset on release)',
|
|
29
|
+
7 => 'AE Lock (hold)',
|
|
30
|
+
8 => 'AF Lock Only',
|
|
31
|
+
9 => 'AF-On',
|
|
32
|
+
10 => 'Flash Disable/Enable',
|
|
33
|
+
11 => 'Bracketing Burst',
|
|
34
|
+
12 => '+NEF(RAW)',
|
|
35
|
+
18 => 'Virtual Horizon',
|
|
36
|
+
19 => 'Synchronized Release',
|
|
37
|
+
20 => 'My Menu',
|
|
38
|
+
21 => 'My Menu Top Item',
|
|
39
|
+
22 => 'Playback',
|
|
40
|
+
23 => 'Rating',
|
|
41
|
+
24 => 'Protect',
|
|
42
|
+
25 => 'Zoom',
|
|
43
|
+
26 => 'Focus Peaking',
|
|
44
|
+
28 => 'Image Area',
|
|
45
|
+
30 => 'Non-CPU Lens',
|
|
46
|
+
31 => 'Active-D Lighting',
|
|
47
|
+
33 => '1 Stop Speed/Aperture',
|
|
48
|
+
34 => 'White Balance',
|
|
49
|
+
35 => 'Metering',
|
|
50
|
+
36 => 'Auto Bracketing',
|
|
51
|
+
37 => 'Multiple Exposure',
|
|
52
|
+
38 => 'HDR Overlay',
|
|
53
|
+
39 => 'Picture Control',
|
|
54
|
+
40 => 'Quality',
|
|
55
|
+
41 => 'Focus Mode/AF AreaMode',
|
|
56
|
+
42 => 'Select Center Focus Point',
|
|
57
|
+
44 => 'Record Movie',
|
|
58
|
+
47 => 'Choose Folder',
|
|
59
|
+
48 => 'Power Aperture (Open)',
|
|
60
|
+
49 => 'Power Aperture (Close)',
|
|
61
|
+
52 => 'Microphone Sensitivity',
|
|
62
|
+
57 => 'Preset Focus Point',
|
|
63
|
+
58 => 'AE/AWB Lock (hold)',
|
|
64
|
+
59 => 'AF-AreaMode',
|
|
65
|
+
60 => 'AF-AreaMode + AF-On',
|
|
66
|
+
61 => 'Recall Shooting Functions',
|
|
67
|
+
64 => 'Filtered Playback',
|
|
68
|
+
65 => 'Same as AF-On',
|
|
69
|
+
66 => 'Voice Memo',
|
|
70
|
+
70 => 'Photo Shooting Bank',
|
|
71
|
+
71 => 'ISO',
|
|
72
|
+
73 => 'Exposure Compensation',
|
|
73
|
+
76 => 'Silent Mode',
|
|
74
|
+
78 => 'LiveView Information',
|
|
75
|
+
79 => 'AWB Lock (hold)',
|
|
76
|
+
80 => 'Grid Display',
|
|
77
|
+
81 => 'Starlight View',
|
|
78
|
+
82 => 'Select To Send (PC)',
|
|
79
|
+
83 => 'Select To Send (FTP)',
|
|
80
|
+
84 => 'Pattern Tone Range',
|
|
81
|
+
85 => 'Control Lock',
|
|
82
|
+
86 => 'Save Focus Position',
|
|
83
|
+
87 => 'Recall Focus Position',
|
|
84
|
+
88 => 'Recall Shooting Functions (Hold)',
|
|
85
|
+
97 => 'High Frequency Flicker Reduction',
|
|
86
|
+
98 => 'Switch FX/DX',
|
|
87
|
+
99 => 'View Mode (Photo LV)',
|
|
88
|
+
100 => 'Photo Flicker Reduction',
|
|
89
|
+
101 => 'Filtered Playback (Select Criteria)',
|
|
90
|
+
103 => 'Start Series Playback',
|
|
91
|
+
104 => 'View Assist',
|
|
92
|
+
105 => 'Hi-Res Zoom+',
|
|
93
|
+
106 => 'Hi-Res Zoom-',
|
|
94
|
+
108 => 'Override Other Cameras',
|
|
95
|
+
109 => 'DISP - Cycle Information Display (shooting)', # Shooting Mode
|
|
96
|
+
110 => 'DISP - Cycle Information Display (playback)', # Playback mode
|
|
97
|
+
111 => 'Resume Shooting',
|
|
98
|
+
},
|
|
80
99
|
);
|
|
81
100
|
my %dialsZ9 = (
|
|
82
101
|
0 => '1 Frame',
|
|
@@ -116,16 +135,19 @@ my %focusModeRestrictionsZ9 = (
|
|
|
116
135
|
4 => 'No Restrictions',
|
|
117
136
|
);
|
|
118
137
|
my %powerOffDelayTimesZ9 = (
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
138
|
+
SeparateTable => 'DelaysZ9',
|
|
139
|
+
PrintConv => {
|
|
140
|
+
0 => '2 s',
|
|
141
|
+
1 => '4 s',
|
|
142
|
+
3 => '10 s',
|
|
143
|
+
4 => '20 s',
|
|
144
|
+
5 => '30 s',
|
|
145
|
+
6 => '1 min',
|
|
146
|
+
7 => '5 min',
|
|
147
|
+
8 => '10 min',
|
|
148
|
+
11 => '30 min',
|
|
149
|
+
12 => 'No Limit',
|
|
150
|
+
},
|
|
129
151
|
);
|
|
130
152
|
my %thirdHalfFull = (
|
|
131
153
|
0 => '1/3 EV',
|
|
@@ -9767,10 +9789,10 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
9767
9789
|
3 => '3 s',
|
|
9768
9790
|
},
|
|
9769
9791
|
},
|
|
9770
|
-
51 => { Name => 'PlaybackMonitorOffTime',
|
|
9771
|
-
53 => { Name => 'MenuMonitorOffTime',
|
|
9772
|
-
55 => { Name => 'ShootingInfoMonitorOffTime'
|
|
9773
|
-
57 => { Name => 'ImageReviewMonitorOffTime',
|
|
9792
|
+
51 => { Name => 'PlaybackMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-a
|
|
9793
|
+
53 => { Name => 'MenuMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-b
|
|
9794
|
+
55 => { Name => 'ShootingInfoMonitorOffTime',%powerOffDelayTimesZ9 }, # CSc4-c
|
|
9795
|
+
57 => { Name => 'ImageReviewMonitorOffTime', %powerOffDelayTimesZ9 }, # CSc4-d
|
|
9774
9796
|
59 => { Name => 'CLModeShootingSpeed', ValueConv => '$val + 1', ValueConvInv => '$val - 1', PrintConv => '"$val fps"', PrintConvInv => '$val=~s/\s*fps//i; $val' }, # CSd1b
|
|
9775
9797
|
61 => { # CSd2 # values: 1-200 & 'No Limit'
|
|
9776
9798
|
Name => 'MaxContinuousRelease',
|
|
@@ -9848,25 +9870,25 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
9848
9870
|
},
|
|
9849
9871
|
},
|
|
9850
9872
|
97 => { Name => 'AutoBracketOrder', PrintConv => { 0 => '0,-,+',1 => '-,0,+' } }, # CSe7
|
|
9851
|
-
99 => { Name => 'Func1Button',
|
|
9873
|
+
99 => { Name => 'Func1Button', %buttonsZ9}, # CSf2-a
|
|
9852
9874
|
#101 Func1Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-a
|
|
9853
9875
|
#103 Func1Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-a
|
|
9854
9876
|
#105 Func1Button submenu: AreaMode+AF-On 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-a
|
|
9855
9877
|
#109 Func1Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-a
|
|
9856
9878
|
#111 Func1Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-a
|
|
9857
9879
|
#113 Func1Button & Func1ButtonPlayback submenu: Rating # CSf2-a & CSf3a 0=>'Candidate For Deletion' 6=>''None'
|
|
9858
|
-
115 => { Name => 'Func2Button',
|
|
9880
|
+
115 => { Name => 'Func2Button', %buttonsZ9}, # CSf2-b
|
|
9859
9881
|
#117 Func2Button submenu: Preview 0 => 'Press To Recall', 1=> 'Hold To Recall' # CSf2-b
|
|
9860
9882
|
#119 Func2Button submenu: AreaMode 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-b
|
|
9861
9883
|
#121 Func2Button submenu: AreaMode+AF-On 0-7 => S, Dyn-S, Dyn-M, Dyn-L, Wide-S, Wide-L, 3D, Auto; 11=>n/a # CSf2-b
|
|
9862
9884
|
#125 Func2Button submenu: SynchronizedRelease 1=>'Master', 2=>'Remote' # CSf2-b
|
|
9863
9885
|
#127 Func2Button submenu: Zoom 0=>'Zoom (Low)', 2=>'Zoom (1:1)', 2=>'Zoom (High)' # CSf2-b
|
|
9864
9886
|
#129 Func2Button & Func2ButtonPlayback submenu: Rating # CSf2-b & CSf3b 0=>'Candidate For Deletion' 6=>''None'
|
|
9865
|
-
131 => { Name => 'AFOnButton',
|
|
9866
|
-
143 => { Name => 'SubSelector',
|
|
9867
|
-
155 => { Name => 'AssignMovieRecordButton',
|
|
9868
|
-
159 => { Name => 'LensFunc1Button',
|
|
9869
|
-
167 => { Name => 'LensFunc2Button',
|
|
9887
|
+
131 => { Name => 'AFOnButton', %buttonsZ9}, # CSf2-c
|
|
9888
|
+
143 => { Name => 'SubSelector', %buttonsZ9, Unknown => 1}, # CSf2-g
|
|
9889
|
+
155 => { Name => 'AssignMovieRecordButton', %buttonsZ9, Unknown => 1}, # CSf2-m
|
|
9890
|
+
159 => { Name => 'LensFunc1Button', %buttonsZ9}, # CSf2-o
|
|
9891
|
+
167 => { Name => 'LensFunc2Button', %buttonsZ9}, # CSf2-p
|
|
9870
9892
|
173 => { # CSf2-q
|
|
9871
9893
|
Name => 'LensControlRing',
|
|
9872
9894
|
PrintConv => {
|
|
@@ -9877,8 +9899,8 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
9877
9899
|
4 => 'Aperture',
|
|
9878
9900
|
},
|
|
9879
9901
|
},
|
|
9880
|
-
175 => { Name => 'MultiSelectorShootMode',
|
|
9881
|
-
179 => { Name => 'MultiSelectorPlaybackMode',
|
|
9902
|
+
175 => { Name => 'MultiSelectorShootMode', %buttonsZ9}, # CSf2-h called the OK button in camera, tag name retained for compatibility
|
|
9903
|
+
179 => { Name => 'MultiSelectorPlaybackMode', %buttonsZ9}, # CSf3f
|
|
9882
9904
|
183 => { Name => 'ShutterSpeedLock', PrintConv => \%offOn }, # CSf4-a
|
|
9883
9905
|
184 => { Name => 'ApertureLock', PrintConv => \%offOn }, # CSf4-b
|
|
9884
9906
|
185 => { # CSf5-a Previous cameras reported this tag as part of CmdDialsReverseRotation. Blend with CSf5-b separate settings together to match extant tag name and values
|
|
@@ -9902,9 +9924,20 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
9902
9924
|
}],
|
|
9903
9925
|
191 => { Name => 'UseDialWithoutHold', PrintConv => \%offOn, Unknown => 1 }, # CSf6
|
|
9904
9926
|
193 => { Name => 'ReverseIndicators', PrintConv => { 0 => '+ 0 -', 1 => '- 0 +' }, Unknown => 1 }, # CSf7
|
|
9905
|
-
195 => { Name => 'MovieFunc1Button',
|
|
9906
|
-
|
|
9907
|
-
|
|
9927
|
+
195 => { Name => 'MovieFunc1Button', %buttonsZ9}, # CSg2-a
|
|
9928
|
+
199 => { Name => 'MovieFunc2Button', %buttonsZ9}, # CSg2-b
|
|
9929
|
+
203 => { Name => 'MovieAF-OnButton', %buttonsZ9}, # CSg2-f
|
|
9930
|
+
215 => { # CSg2-z
|
|
9931
|
+
Name => 'MovieLensControlRing',
|
|
9932
|
+
PrintConv => {
|
|
9933
|
+
0 => 'None (Disabled)',
|
|
9934
|
+
2 => 'ISO Sensitivity',
|
|
9935
|
+
3 => 'Exposure Compensation',
|
|
9936
|
+
4 => 'Power Aperture',
|
|
9937
|
+
5 => 'Hi-Res Zoom',
|
|
9938
|
+
},
|
|
9939
|
+
},
|
|
9940
|
+
217 => { Name => 'MovieMultiSelector', %buttonsZ9, Unknown => 1}, # CSg2-h
|
|
9908
9941
|
221 => { Name => 'MovieAFSpeed', ValueConv => '$val - 5', ValueConvInv => '$val + 6' }, # CSg6-a
|
|
9909
9942
|
223 => { Name => 'MovieAFSpeedApply', rintConv => {0 => 'Always', 1 => 'Only During Recording'},}, # CSg6-b
|
|
9910
9943
|
225 => { # CSg7
|
|
@@ -9931,11 +9964,11 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
9931
9964
|
269.4 => { Name => 'LimitReleaseModeSelC120', Mask => 0x40, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-c
|
|
9932
9965
|
269.5 => { Name => 'LimitReleaseModeSelSelf', Mask => 0x80, PrintConv => \%limitNolimit, Unknown => 1 }, # CSd3-d
|
|
9933
9966
|
273 => { Name => 'FlashBurstPriority', PrintConv => { 0 => 'Frame Rate',1 => 'Exposure'}, Unknown => 1 }, # CSe8
|
|
9934
|
-
277 => { Name => 'VerticalFuncButton',
|
|
9935
|
-
281 => { Name => 'Func3Button',
|
|
9936
|
-
285 => { Name => 'VerticalAFOnButton',
|
|
9967
|
+
277 => { Name => 'VerticalFuncButton', %buttonsZ9}, # CSf2-c
|
|
9968
|
+
281 => { Name => 'Func3Button', %buttonsZ9}, # CSf2-c
|
|
9969
|
+
285 => { Name => 'VerticalAFOnButton', %buttonsZ9}, # CSf2-l
|
|
9937
9970
|
293 => { Name => 'VerticalMultiSelectorPlaybackMode', PrintConv => { 0 => 'Image Scroll L/R', 1 => 'Image Scroll Up/Down' }, Unknown => 1}, # CSf3-j
|
|
9938
|
-
295 => { Name => 'MovieFunc3Button',
|
|
9971
|
+
295 => { Name => 'MovieFunc3Button', %buttonsZ9}, # CSg2-c
|
|
9939
9972
|
335 => { Name => 'LimitAF-AreaModeSelDynamic_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
|
9940
9973
|
336 => { Name => 'LimitAF-AreaModeSelDynamic_M', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
|
9941
9974
|
337 => { Name => 'LimitAF-AreaModeSelDynamic_L', PrintConv => \%limitNolimit, Unknown => 1 }, # CSa8
|
|
@@ -9947,26 +9980,26 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
|
|
|
9947
9980
|
356 => { Name => 'EVFImageFrame', PrintConv => \%offOn, Unknown => 1 }, # CSd14
|
|
9948
9981
|
357 => { Name => 'EVFGrid', PrintConv => \%evfGridsZ9, Unknown => 1 }, # CSd15
|
|
9949
9982
|
359 => { Name => 'VirtualHorizonStyle', PrintConv => {0 => 'Type A (Cockpit)', 1 => 'Type B (Sides)' }, Unknown => 1}, #CSd16
|
|
9950
|
-
373 => { Name => 'Func4Button',
|
|
9951
|
-
379 => { Name => 'AudioButton',
|
|
9952
|
-
381 => { Name => 'QualityButton',
|
|
9953
|
-
399 => { Name => 'VerticalMultiSelector',
|
|
9954
|
-
421 => { Name => 'Func1ButtonPlaybackMode',
|
|
9955
|
-
423 => { Name => 'Func2ButtonPlaybackMode',
|
|
9956
|
-
425 => { Name => 'Func3ButtonPlaybackMode',
|
|
9957
|
-
431 => { Name => 'Func4ButtonPlaybackMode',
|
|
9958
|
-
437 => { Name => 'MovieRecordButtonPlaybackMode',
|
|
9959
|
-
439 => { Name => 'VerticalFuncButtonPlaybackMode',
|
|
9960
|
-
441 => { Name => 'AudioButtonPlaybackMode',
|
|
9961
|
-
447 => { Name => 'QualityButtonPlaybackMode',
|
|
9983
|
+
373 => { Name => 'Func4Button', %buttonsZ9, Unknown => 1}, # CSf2-e
|
|
9984
|
+
379 => { Name => 'AudioButton', %buttonsZ9, Unknown => 1}, # CSf2-i
|
|
9985
|
+
381 => { Name => 'QualityButton', %buttonsZ9, Unknown => 1}, # CSf2-j
|
|
9986
|
+
399 => { Name => 'VerticalMultiSelector', %buttonsZ9, Unknown => 1}, # CSf2-k
|
|
9987
|
+
421 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-a
|
|
9988
|
+
423 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-b
|
|
9989
|
+
425 => { Name => 'Func3ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-c
|
|
9990
|
+
431 => { Name => 'Func4ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-e
|
|
9991
|
+
437 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-m
|
|
9992
|
+
439 => { Name => 'VerticalFuncButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-d
|
|
9993
|
+
441 => { Name => 'AudioButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-g
|
|
9994
|
+
447 => { Name => 'QualityButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-h
|
|
9962
9995
|
467 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
|
|
9963
|
-
453 => { Name => 'WhiteBalanceButtonPlaybackMode',
|
|
9996
|
+
453 => { Name => 'WhiteBalanceButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-i
|
|
9964
9997
|
459 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
|
|
9965
9998
|
463 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
|
|
9966
9999
|
469 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf10
|
|
9967
|
-
481 => { Name => 'VerticalMovieFuncButton',
|
|
9968
|
-
505 => { Name => 'VerticalMovieAFOnButton',
|
|
9969
|
-
515 => { Name => 'MovieAFAreaMode',
|
|
10000
|
+
481 => { Name => 'VerticalMovieFuncButton', %buttonsZ9, Unknown => 1}, # CSg2-d
|
|
10001
|
+
505 => { Name => 'VerticalMovieAFOnButton', %buttonsZ9, Unknown => 1}, # CSg2-l
|
|
10002
|
+
515 => { Name => 'MovieAFAreaMode', %buttonsZ9, Unknown => 1}, # CSg2-e
|
|
9970
10003
|
#521 => { Name => 'MovieLimitAF-AreaModeSelWideAF_S', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-a
|
|
9971
10004
|
#522 => { Name => 'MovieLimitAF-AreaModeSelWideAF_W', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-b
|
|
9972
10005
|
#523 => { Name => 'MovieLimitAF-AreaModeSelSubjectTrack', PrintConv => \%limitNolimit, Unknown => 1 }, # CSg4-c
|
|
@@ -10054,7 +10087,7 @@ this information.
|
|
|
10054
10087
|
|
|
10055
10088
|
=head1 AUTHOR
|
|
10056
10089
|
|
|
10057
|
-
Copyright 2003-
|
|
10090
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
10058
10091
|
|
|
10059
10092
|
This library is free software; you can redistribute it and/or modify it
|
|
10060
10093
|
under the same terms as Perl itself.
|
|
@@ -2077,7 +2077,7 @@ Nikon cameras such as the D6 and Z7mk2.
|
|
|
2077
2077
|
|
|
2078
2078
|
=head1 AUTHOR
|
|
2079
2079
|
|
|
2080
|
-
Copyright 2003-
|
|
2080
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
2081
2081
|
|
|
2082
2082
|
This library is free software; you can redistribute it and/or modify it
|
|
2083
2083
|
under the same terms as Perl itself.
|
|
@@ -107,7 +107,7 @@ interpret Nintendo maker notes EXIF meta information.
|
|
|
107
107
|
|
|
108
108
|
=head1 AUTHOR
|
|
109
109
|
|
|
110
|
-
Copyright 2003-
|
|
110
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
111
111
|
|
|
112
112
|
This library is free software; you can redistribute it and/or modify it
|
|
113
113
|
under the same terms as Perl itself.
|
|
@@ -395,7 +395,7 @@ archives of XML files.
|
|
|
395
395
|
|
|
396
396
|
=head1 AUTHOR
|
|
397
397
|
|
|
398
|
-
Copyright 2003-
|
|
398
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
399
399
|
|
|
400
400
|
This library is free software; you can redistribute it and/or modify it
|
|
401
401
|
under the same terms as Perl itself.
|
|
@@ -214,7 +214,7 @@ information from Ogg bitstream container files.
|
|
|
214
214
|
|
|
215
215
|
=head1 AUTHOR
|
|
216
216
|
|
|
217
|
-
Copyright 2003-
|
|
217
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
218
218
|
|
|
219
219
|
This library is free software; you can redistribute it and/or modify it
|
|
220
220
|
under the same terms as Perl itself.
|
|
@@ -115,6 +115,7 @@ my %olympusLensTypes = (
|
|
|
115
115
|
'0 35 00' => 'Olympus Zuiko Digital 14-54mm F2.8-3.5 II', #PH
|
|
116
116
|
'0 35 10' => 'Olympus M.Zuiko 100-400mm F5.0-6.3', #IB
|
|
117
117
|
'0 36 10' => 'Olympus M.Zuiko Digital ED 8-25mm F4 Pro', #IB
|
|
118
|
+
'0 37 10' => 'Olympus M.Zuiko Digital ED 40-150mm F4.0 Pro', #forum3833
|
|
118
119
|
# Sigma lenses
|
|
119
120
|
'1 01 00' => 'Sigma 18-50mm F3.5-5.6 DC', #8
|
|
120
121
|
'1 01 10' => 'Sigma 30mm F2.8 EX DN', #NJ
|
|
@@ -1835,7 +1836,7 @@ my %indexInfo = (
|
|
|
1835
1836
|
1 => 'Sequential shooting AF',
|
|
1836
1837
|
2 => 'Continuous AF',
|
|
1837
1838
|
3 => 'Multi AF',
|
|
1838
|
-
4 => 'Face
|
|
1839
|
+
4 => 'Face Detect', #11
|
|
1839
1840
|
10 => 'MF',
|
|
1840
1841
|
}, {
|
|
1841
1842
|
0 => '(none)',
|
|
@@ -1843,7 +1844,7 @@ my %indexInfo = (
|
|
|
1843
1844
|
0 => 'S-AF',
|
|
1844
1845
|
2 => 'C-AF',
|
|
1845
1846
|
4 => 'MF',
|
|
1846
|
-
5 => 'Face
|
|
1847
|
+
5 => 'Face Detect',
|
|
1847
1848
|
6 => 'Imager AF',
|
|
1848
1849
|
7 => 'Live View Magnification Frame',
|
|
1849
1850
|
8 => 'AF sensor',
|
|
@@ -4092,7 +4093,7 @@ Olympus or Epson maker notes in EXIF information.
|
|
|
4092
4093
|
|
|
4093
4094
|
=head1 AUTHOR
|
|
4094
4095
|
|
|
4095
|
-
Copyright 2003-
|
|
4096
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
4096
4097
|
|
|
4097
4098
|
This library is free software; you can redistribute it and/or modify it
|
|
4098
4099
|
under the same terms as Perl itself.
|
|
@@ -304,7 +304,7 @@ information from OpenEXR images.
|
|
|
304
304
|
|
|
305
305
|
=head1 AUTHOR
|
|
306
306
|
|
|
307
|
-
Copyright 2003-
|
|
307
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
308
308
|
|
|
309
309
|
This library is free software; you can redistribute it and/or modify it
|
|
310
310
|
under the same terms as Perl itself.
|
|
@@ -69,7 +69,7 @@ information from Ogg Opus audio files.
|
|
|
69
69
|
|
|
70
70
|
=head1 AUTHOR
|
|
71
71
|
|
|
72
|
-
Copyright 2003-
|
|
72
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
73
73
|
|
|
74
74
|
This library is free software; you can redistribute it and/or modify it
|
|
75
75
|
under the same terms as Perl itself.
|
|
@@ -71,7 +71,7 @@ information from Portable FloatMap (PFM) images.
|
|
|
71
71
|
|
|
72
72
|
=head1 AUTHOR
|
|
73
73
|
|
|
74
|
-
Copyright 2003-
|
|
74
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
75
75
|
|
|
76
76
|
This library is free software; you can redistribute it and/or modify it
|
|
77
77
|
under the same terms as Perl itself.
|
|
@@ -114,7 +114,7 @@ information from PC Paintbrush (PCX) files.
|
|
|
114
114
|
|
|
115
115
|
=head1 AUTHOR
|
|
116
116
|
|
|
117
|
-
Copyright 2003-
|
|
117
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
118
118
|
|
|
119
119
|
This library is free software; you can redistribute it and/or modify it
|
|
120
120
|
under the same terms as Perl itself.
|
|
@@ -2389,7 +2389,7 @@ including AESV2 (AES-128) and AESV3 (AES-256).
|
|
|
2389
2389
|
|
|
2390
2390
|
=head1 AUTHOR
|
|
2391
2391
|
|
|
2392
|
-
Copyright 2003-
|
|
2392
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
2393
2393
|
|
|
2394
2394
|
This library is free software; you can redistribute it and/or modify it
|
|
2395
2395
|
under the same terms as Perl itself.
|
|
@@ -119,7 +119,7 @@ information from Progressive Graphics File (PGF) images.
|
|
|
119
119
|
|
|
120
120
|
=head1 AUTHOR
|
|
121
121
|
|
|
122
|
-
Copyright 2003-
|
|
122
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
123
123
|
|
|
124
124
|
This library is free software; you can redistribute it and/or modify it
|
|
125
125
|
under the same terms as Perl itself.
|
|
@@ -1236,7 +1236,7 @@ Verbose or the Unknown option.
|
|
|
1236
1236
|
|
|
1237
1237
|
=head1 AUTHOR
|
|
1238
1238
|
|
|
1239
|
-
Copyright 2003-
|
|
1239
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
1240
1240
|
|
|
1241
1241
|
This library is free software; you can redistribute it and/or modify it
|
|
1242
1242
|
under the same terms as Perl itself.
|
|
@@ -21,7 +21,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
21
21
|
use Image::ExifTool::XMP;
|
|
22
22
|
use Image::ExifTool::GPS;
|
|
23
23
|
|
|
24
|
-
$VERSION = '1.
|
|
24
|
+
$VERSION = '1.10';
|
|
25
25
|
|
|
26
26
|
sub ExtractObject($$;$);
|
|
27
27
|
sub Get24u($$);
|
|
@@ -274,6 +274,7 @@ sub ExtractObject($$;$)
|
|
|
274
274
|
}
|
|
275
275
|
my $tagTablePtr = $$plistInfo{TagTablePtr};
|
|
276
276
|
my $verbose = $et->Options('Verbose');
|
|
277
|
+
$val = { }; # initialize return dictionary (will stay empty if tags are saved)
|
|
277
278
|
for ($i=0; $i<$size; ++$i) {
|
|
278
279
|
# get the entry key
|
|
279
280
|
$raf->Seek($$table[$refs[$i]], 0) or return undef;
|
|
@@ -284,8 +285,13 @@ sub ExtractObject($$;$)
|
|
|
284
285
|
# generate an ID for this tag
|
|
285
286
|
my $tag = defined $parent ? "$parent/$key" : $key;
|
|
286
287
|
undef $$plistInfo{DateFormat};
|
|
287
|
-
my $
|
|
288
|
-
next if not defined $
|
|
288
|
+
my $obj = ExtractObject($et, $plistInfo, $tag);
|
|
289
|
+
next if not defined $obj;
|
|
290
|
+
unless ($tagTablePtr) {
|
|
291
|
+
$$val{$key} = $obj if defined $obj;
|
|
292
|
+
next;
|
|
293
|
+
}
|
|
294
|
+
next if ref($obj) eq 'HASH';
|
|
289
295
|
my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
|
|
290
296
|
unless ($tagInfo) {
|
|
291
297
|
$et->VPrint(0, $$et{INDENT}, "[adding $tag]\n") if $verbose;
|
|
@@ -304,9 +310,8 @@ sub ExtractObject($$;$)
|
|
|
304
310
|
delete $$et{LIST_TAGS}{$$et{LastPListTag}};
|
|
305
311
|
}
|
|
306
312
|
$$et{LastPListTag} = $tagInfo;
|
|
307
|
-
$et->HandleTag($tagTablePtr, $tag, $
|
|
313
|
+
$et->HandleTag($tagTablePtr, $tag, $obj);
|
|
308
314
|
}
|
|
309
|
-
$val = { }; # flag the value as a dictionary (ie. tags already saved)
|
|
310
315
|
} else {
|
|
311
316
|
# extract the referenced objects
|
|
312
317
|
foreach $ref (@refs) {
|
|
@@ -326,7 +331,7 @@ sub ExtractObject($$;$)
|
|
|
326
331
|
# Process binary PLIST data (ref 2)
|
|
327
332
|
# Inputs: 0) ExifTool object ref, 1) DirInfo ref, 2) tag table ref
|
|
328
333
|
# Returns: 1 on success (and returns plist value as $$dirInfo{Value})
|
|
329
|
-
sub ProcessBinaryPLIST(
|
|
334
|
+
sub ProcessBinaryPLIST($$;$)
|
|
330
335
|
{
|
|
331
336
|
my ($et, $dirInfo, $tagTablePtr) = @_;
|
|
332
337
|
my ($i, $buff, @table);
|
|
@@ -438,7 +443,7 @@ This module decodes both the binary and XML-based PLIST format.
|
|
|
438
443
|
|
|
439
444
|
=head1 AUTHOR
|
|
440
445
|
|
|
441
|
-
Copyright 2003-
|
|
446
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
442
447
|
|
|
443
448
|
This library is free software; you can redistribute it and/or modify it
|
|
444
449
|
under the same terms as Perl itself.
|
|
@@ -2586,7 +2586,7 @@ Definitions for PLUS (Picture Licensing Universal System) tags.
|
|
|
2586
2586
|
|
|
2587
2587
|
=head1 AUTHOR
|
|
2588
2588
|
|
|
2589
|
-
Copyright 2003-
|
|
2589
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
2590
2590
|
|
|
2591
2591
|
This library is free software; you can redistribute it and/or modify it
|
|
2592
2592
|
under the same terms as Perl itself.
|
|
@@ -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.61';
|
|
40
40
|
|
|
41
41
|
sub ProcessPNG_tEXt($$$);
|
|
42
42
|
sub ProcessPNG_iTXt($$$);
|
|
@@ -339,6 +339,11 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
|
339
339
|
# int32u DividedHeight2
|
|
340
340
|
# int32u IDAT_Offset2 [location of IDAT with start of DividedHeight2 segment]
|
|
341
341
|
},
|
|
342
|
+
caBX => { # C2PA metadata
|
|
343
|
+
Name => 'JUMBF',
|
|
344
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Jpeg2000::Main' },
|
|
345
|
+
},
|
|
346
|
+
# cICP - Coding-independent code points (added in 2022 specification)
|
|
342
347
|
);
|
|
343
348
|
|
|
344
349
|
# PNG IHDR chunk
|
|
@@ -536,6 +541,8 @@ my %unreg = ( Notes => 'unregistered' );
|
|
|
536
541
|
Label => { %unreg },
|
|
537
542
|
Make => { %unreg, Groups => { 2 => 'Camera' } },
|
|
538
543
|
Model => { %unreg, Groups => { 2 => 'Camera' } },
|
|
544
|
+
# parameters (written by Stable Diffusion)
|
|
545
|
+
# aesthetic_score (written by Stable Diffusion)
|
|
539
546
|
'create-date'=> {
|
|
540
547
|
Name => 'CreateDate',
|
|
541
548
|
Groups => { 2 => 'Time' },
|
|
@@ -1561,7 +1568,7 @@ and JNG (JPEG Network Graphics) images.
|
|
|
1561
1568
|
|
|
1562
1569
|
=head1 AUTHOR
|
|
1563
1570
|
|
|
1564
|
-
Copyright 2003-
|
|
1571
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
1565
1572
|
|
|
1566
1573
|
This library is free software; you can redistribute it and/or modify it
|
|
1567
1574
|
under the same terms as Perl itself.
|
|
@@ -143,7 +143,7 @@ BitMap) images.
|
|
|
143
143
|
|
|
144
144
|
=head1 AUTHOR
|
|
145
145
|
|
|
146
|
-
Copyright 2003-
|
|
146
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
147
147
|
|
|
148
148
|
This library is free software; you can redistribute it and/or modify it
|
|
149
149
|
under the same terms as Perl itself.
|
|
@@ -284,7 +284,7 @@ information from Paint Shop Pro images.
|
|
|
284
284
|
|
|
285
285
|
=head1 AUTHOR
|
|
286
286
|
|
|
287
|
-
Copyright 2003-
|
|
287
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
288
288
|
|
|
289
289
|
This library is free software; you can redistribute it and/or modify it
|
|
290
290
|
under the same terms as Perl itself.
|
|
@@ -379,7 +379,7 @@ KF7 and KF8 books (AZW and AZW3).
|
|
|
379
379
|
|
|
380
380
|
=head1 AUTHOR
|
|
381
381
|
|
|
382
|
-
Copyright 2003-
|
|
382
|
+
Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
|
|
383
383
|
|
|
384
384
|
This library is free software; you can redistribute it and/or modify it
|
|
385
385
|
under the same terms as Perl itself.
|