exiftool-vendored.pl 13.0.0 → 13.16.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 +254 -20
- package/bin/MANIFEST +10 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +3 -3
- package/bin/arg_files/exif2xmp.args +4 -0
- package/bin/arg_files/xmp2exif.args +2 -1
- package/bin/build_geolocation +1 -1
- package/bin/exiftool +356 -213
- package/bin/lib/File/RandomAccess.pm +1 -1
- package/bin/lib/File/RandomAccess.pod +2 -2
- package/bin/lib/Image/ExifTool/AAC.pm +1 -1
- package/bin/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/lib/Image/ExifTool/AFCP.pm +6 -6
- package/bin/lib/Image/ExifTool/AIFF.pm +2 -2
- package/bin/lib/Image/ExifTool/APE.pm +2 -2
- package/bin/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/lib/Image/ExifTool/ASF.pm +2 -2
- package/bin/lib/Image/ExifTool/Apple.pm +11 -9
- 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 +36 -22
- package/bin/lib/Image/ExifTool/CBOR.pm +5 -2
- package/bin/lib/Image/ExifTool/Canon.pm +66 -27
- 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 +1 -1
- package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/lib/Image/ExifTool/Casio.pm +1 -1
- 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 +196 -30
- 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 +138 -33
- package/bin/lib/Image/ExifTool/Exif.pm +29 -16
- package/bin/lib/Image/ExifTool/FITS.pm +3 -3
- package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIF.pm +3 -3
- package/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- 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 +17 -21
- package/bin/lib/Image/ExifTool/Font.pm +2 -2
- package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- package/bin/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/lib/Image/ExifTool/GIF.pm +144 -93
- package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/lib/Image/ExifTool/GM.pm +1 -1
- package/bin/lib/Image/ExifTool/GPS.pm +34 -30
- package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/lib/Image/ExifTool/Geolocation.pm +19 -9
- package/bin/lib/Image/ExifTool/Geotag.pm +46 -12
- package/bin/lib/Image/ExifTool/GoPro.pm +120 -8
- package/bin/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/lib/Image/ExifTool/HP.pm +2 -2
- 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 +81 -2
- package/bin/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/lib/Image/ExifTool/ID3.pm +8 -8
- package/bin/lib/Image/ExifTool/IPTC.pm +10 -7
- 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 +5 -4
- package/bin/lib/Image/ExifTool/InDesign.pm +2 -2
- package/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/lib/Image/ExifTool/JPEG.pm +32 -5
- 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 +10 -9
- 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 +2 -2
- package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/LigoGPS.pm +409 -0
- package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/lib/Image/ExifTool/M2TS.pm +57 -18
- package/bin/lib/Image/ExifTool/MIE.pm +15 -6
- 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 +3 -3
- package/bin/lib/Image/ExifTool/MacOS.pm +3 -2
- package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/lib/Image/ExifTool/Matroska.pm +22 -6
- package/bin/lib/Image/ExifTool/Microsoft.pm +2 -2
- 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 +495 -39
- package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/lib/Image/ExifTool/NikonCustom.pm +2 -2
- 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 +8 -8
- package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- package/bin/lib/Image/ExifTool/Olympus.pm +1 -1
- 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 +49 -18
- 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 +4 -4
- package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/lib/Image/ExifTool/PNG.pm +20 -8
- package/bin/lib/Image/ExifTool/PPM.pm +12 -3
- 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 +27 -3
- 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 +4 -4
- 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 +65 -4
- package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/lib/Image/ExifTool/Protobuf.pm +270 -0
- package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/lib/Image/ExifTool/QuickTime.pm +326 -88
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +199 -195
- package/bin/lib/Image/ExifTool/README +12 -2
- package/bin/lib/Image/ExifTool/RIFF.pm +21 -6
- package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/lib/Image/ExifTool/RTF.pm +2 -2
- 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 +4 -4
- package/bin/lib/Image/ExifTool/Samsung.pm +2 -2
- 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 +5 -4
- 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 +6 -5
- package/bin/lib/Image/ExifTool/TagLookup.pm +7023 -6968
- package/bin/lib/Image/ExifTool/TagNames.pod +445 -29
- package/bin/lib/Image/ExifTool/Text.pm +4 -3
- package/bin/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/lib/Image/ExifTool/Torrent.pm +3 -3
- package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/lib/Image/ExifTool/VCard.pm +3 -3
- package/bin/lib/Image/ExifTool/Validate.pm +6 -6
- package/bin/lib/Image/ExifTool/Vivo.pm +124 -0
- package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/lib/Image/ExifTool/WPG.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 +3 -3
- package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePDF.pl +1 -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 +166 -79
- package/bin/lib/Image/ExifTool/WriteRIFF.pl +17 -6
- package/bin/lib/Image/ExifTool/WriteXMP.pl +3 -3
- package/bin/lib/Image/ExifTool/Writer.pl +89 -96
- package/bin/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/lib/Image/ExifTool/XMP.pm +28 -13
- package/bin/lib/Image/ExifTool/XMP2.pl +103 -1
- package/bin/lib/Image/ExifTool/XMPStruct.pl +2 -3
- package/bin/lib/Image/ExifTool/ZIP.pm +2 -2
- package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/lib/Image/ExifTool.pm +335 -163
- package/bin/lib/Image/ExifTool.pod +119 -73
- package/bin/perl-Image-ExifTool.spec +1 -1
- package/bin/windows_exiftool.txt +96 -51
- package/package.json +9 -9
|
@@ -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.41';
|
|
69
69
|
|
|
70
70
|
sub LensIDConv($$$);
|
|
71
71
|
sub ProcessNikonAVI($$$);
|
|
@@ -1546,7 +1546,108 @@ my %afPoints81 = (
|
|
|
1546
1546
|
17 => 'H6', 34 => 'G7', 51 => 'F8', 68 => 'A9',
|
|
1547
1547
|
);
|
|
1548
1548
|
|
|
1549
|
-
# AF point indices for
|
|
1549
|
+
# AF point indices for 209 focus point(single-point AF) cameras equipped with Expeed 7 processor eg. Z50ii). Single-point AF array is 11 rows x 19 columns. (ref 28)
|
|
1550
|
+
# - Auto Area AF has 2 additional columns available and provides 231 focus points. Uses 11 rows (A-K) and 21 columns (1-21), center is F11
|
|
1551
|
+
my %afPoints209 = (
|
|
1552
|
+
1 => 'A1', 22 => 'B1', 43 => 'C1', 64 => 'D1', 85 => 'E1', 106 => 'F1', 127 => 'G1', 148 => 'H1',
|
|
1553
|
+
2 => 'A2', 23 => 'B2', 44 => 'C2', 65 => 'D2', 86 => 'E2', 107 => 'F2', 128 => 'G2', 149 => 'H2',
|
|
1554
|
+
3 => 'A3', 24 => 'B3', 45 => 'C3', 66 => 'D3', 87 => 'E3', 108 => 'F3', 129 => 'G3', 150 => 'H3',
|
|
1555
|
+
4 => 'A4', 25 => 'B4', 46 => 'C4', 67 => 'D4', 88 => 'E4', 109 => 'F4', 130 => 'G4', 151 => 'H4',
|
|
1556
|
+
5 => 'A5', 26 => 'B5', 47 => 'C5', 68 => 'D5', 89 => 'E5', 110 => 'F5', 131 => 'G5', 152 => 'H5',
|
|
1557
|
+
6 => 'A6', 27 => 'B6', 48 => 'C6', 69 => 'D6', 90 => 'E6', 111 => 'F6', 132 => 'G6', 153 => 'H6',
|
|
1558
|
+
7 => 'A7', 28 => 'B7', 49 => 'C7', 70 => 'D7', 91 => 'E7', 112 => 'F7', 133 => 'G7', 154 => 'H7',
|
|
1559
|
+
8 => 'A8', 29 => 'B8', 50 => 'C8', 71 => 'D8', 92 => 'E8', 113 => 'F8', 134 => 'G8', 155 => 'H8',
|
|
1560
|
+
9 => 'A9', 30 => 'B9', 51 => 'C9', 72 => 'D9', 93 => 'E9', 114 => 'F9', 135 => 'G9', 156 => 'H9',
|
|
1561
|
+
10 => 'A10', 31 => 'B10', 52 => 'C10', 73 => 'D10', 94 => 'E10', 115 => 'F10', 136 => 'G10', 157 => 'H10',
|
|
1562
|
+
11 => 'A11', 32 => 'B11' , 53 => 'C11', 74 => 'D11', 95 => 'E11', 116 => 'F11', 137 => 'G11', 158 => 'H11',
|
|
1563
|
+
12 => 'A12', 33 => 'B12' , 54 => 'C12', 75 => 'D12', 96 => 'E12', 117 => 'F12', 138 => 'G12', 159 => 'H12',
|
|
1564
|
+
13 => 'A13', 34 => 'B13' , 55 => 'C13', 76 => 'D13', 97 => 'E13', 118 => 'F13', 139 => 'G13', 160 => 'H13',
|
|
1565
|
+
14 => 'A14', 35 => 'B14' , 56 => 'C14', 77 => 'D14', 98 => 'E14', 119 => 'F14', 140 => 'G14', 161 => 'H14',
|
|
1566
|
+
15 => 'A15', 36 => 'B15', 57 => 'C15', 78 => 'D15', 99 => 'E15', 120 => 'F15', 141 => 'G15', 162 => 'H15',
|
|
1567
|
+
16 => 'A16', 37 => 'B16' , 58 => 'C16', 79 => 'D16', 100 => 'E16', 121 => 'F16', 142 => 'G16', 163 => 'H16',
|
|
1568
|
+
17 => 'A17', 38 => 'B17', 59 => 'C17', 80 => 'D17', 101 => 'E17', 122 => 'F17', 143 => 'G17', 164 => 'H17',
|
|
1569
|
+
18 => 'A18', 39 => 'B18', 60 => 'C18', 81 => 'D18', 102 => 'E18', 123 => 'F18', 144 => 'G18', 165 => 'H18',
|
|
1570
|
+
19 => 'A19', 40 => 'B19', 61 => 'C19', 82 => 'D19', 103 => 'E19', 124 => 'F19', 145 => 'G19', 166 => 'H19',
|
|
1571
|
+
20 => 'A20', 41 => 'B20', 62 => 'C20', 83 => 'D20', 104 => 'E20', 125 => 'F20', 146 => 'G20', 167 => 'H20',
|
|
1572
|
+
21 => 'A21', 42 => 'B21', 63 => 'C21', 84 => 'D21', 105 => 'E21', 126 => 'F21', 147 => 'G21', 168 => 'H21',
|
|
1573
|
+
|
|
1574
|
+
169 => 'I1', 190 => 'J1', 211 => 'K1',
|
|
1575
|
+
170 => 'I2', 191 => 'J2', 212 => 'K2',
|
|
1576
|
+
171 => 'I3', 192 => 'J3', 213 => 'K3',
|
|
1577
|
+
172 => 'I4', 193 => 'J4', 214 => 'K4',
|
|
1578
|
+
173 => 'I5', 194 => 'J5', 215 => 'K5',
|
|
1579
|
+
174 => 'I6', 195 => 'J6', 216 => 'K6',
|
|
1580
|
+
175 => 'I7', 196 => 'J7', 217 => 'K7',
|
|
1581
|
+
176 => 'I8', 197 => 'J8', 218 => 'K8',
|
|
1582
|
+
177 => 'I9', 198 => 'J9', 219 => 'K9',
|
|
1583
|
+
178 => 'I10', 199 => 'J10', 220 => 'K10',
|
|
1584
|
+
179 => 'I11', 200 => 'J11', 221 => 'K11',
|
|
1585
|
+
180 => 'I12', 201 => 'J12', 222 => 'K12',
|
|
1586
|
+
181 => 'I13', 202 => 'J13', 223 => 'K13',
|
|
1587
|
+
182 => 'I14', 203 => 'J14', 224 => 'K14',
|
|
1588
|
+
183 => 'I15', 204 => 'J15', 225 => 'K15',
|
|
1589
|
+
184 => 'I16', 205 => 'J16', 226 => 'K16',
|
|
1590
|
+
185 => 'I17', 206 => 'J17', 227 => 'K17',
|
|
1591
|
+
186 => 'I18', 207 => 'J18', 228 => 'K18',
|
|
1592
|
+
187 => 'I19', 208 => 'J19', 229 => 'K19',
|
|
1593
|
+
188 => 'I20', 209 => 'J20', 230 => 'K20',
|
|
1594
|
+
189 => 'I21', 210 => 'J21', 231 => 'K21',
|
|
1595
|
+
);
|
|
1596
|
+
|
|
1597
|
+
# AF point indices for 273 focus point (single-point AF) cameras equipped with Expeed 7 processor (eg. Z6iii and Zf). Single-point AF array is 13 rows x 21 columns (ref 28)
|
|
1598
|
+
# - Auto Area AF has 2 additional columns available and provides 299 focus points. Uses 13 rows (A-M) and 23 columns (1-23), center is G12
|
|
1599
|
+
#
|
|
1600
|
+
my %afPoints273 = (
|
|
1601
|
+
1 => 'A1', 24 => 'B1', 47 => 'C1', 70 => 'D1', 93 => 'E1', 116 => 'F1', 139 => 'G1', 162 => 'H1',
|
|
1602
|
+
2 => 'A2', 25 => 'B2', 48 => 'C2', 71 => 'D2', 94 => 'E2', 117 => 'F2', 140 => 'G2', 163 => 'H2',
|
|
1603
|
+
3 => 'A3', 26 => 'B3', 49 => 'C3', 72 => 'D3', 95 => 'E3', 118 => 'F3', 141 => 'G3', 164 => 'H3',
|
|
1604
|
+
4 => 'A4', 27 => 'B4', 50 => 'C4', 73 => 'D4', 96 => 'E4', 119 => 'F4', 142 => 'G4', 165 => 'H4',
|
|
1605
|
+
5 => 'A5', 28 => 'B5', 51 => 'C5', 74 => 'D5', 97 => 'E5', 120 => 'F5', 143 => 'G5', 166 => 'H5',
|
|
1606
|
+
6 => 'A6', 29 => 'B6', 52 => 'C6', 75 => 'D6', 98 => 'E6', 121 => 'F6', 144 => 'G6', 167 => 'H6',
|
|
1607
|
+
7 => 'A7', 30 => 'B7', 53 => 'C7', 76 => 'D7', 99 => 'E7', 122 => 'F7', 145 => 'G7', 168 => 'H7',
|
|
1608
|
+
8 => 'A8', 31 => 'B8', 54 => 'C8', 77 => 'D8', 100 => 'E8', 123 => 'F8', 146 => 'G8', 169 => 'H8',
|
|
1609
|
+
9 => 'A9', 32 => 'B9', 55 => 'C9', 78 => 'D9', 101 => 'E9', 124 => 'F9', 147 => 'G9', 170 => 'H9',
|
|
1610
|
+
10 => 'A10', 33 => 'B10', 56 => 'C10', 79 => 'D10', 102 => 'E10', 125 => 'F10', 148 => 'G10', 171 => 'H10',
|
|
1611
|
+
11 => 'A11', 34 => 'B11' , 57 => 'C11', 80 => 'D11', 103 => 'E11', 126 => 'F11', 149 => 'G11', 172 => 'H11',
|
|
1612
|
+
12 => 'A12', 35 => 'B12' , 58 => 'C12', 81 => 'D12', 104 => 'E12', 127 => 'F12', 150 => 'G12', 173 => 'H12',
|
|
1613
|
+
13 => 'A13', 36 => 'B13' , 59 => 'C13', 82 => 'D13', 105 => 'E13', 128 => 'F13', 151 => 'G13', 174 => 'H13',
|
|
1614
|
+
14 => 'A14', 37 => 'B14' , 60 => 'C14', 83 => 'D14', 106 => 'E14', 129 => 'F14', 152 => 'G14', 175 => 'H14',
|
|
1615
|
+
15 => 'A15', 38 => 'B15', 61 => 'C15', 84 => 'D15', 107 => 'E15', 130 => 'F15', 153 => 'G15', 176 => 'H15',
|
|
1616
|
+
16 => 'A16', 39 => 'B16' , 62 => 'C16', 85 => 'D16', 108 => 'E16', 131 => 'F16', 154 => 'G16', 177 => 'H16',
|
|
1617
|
+
17 => 'A17', 40 => 'B17', 63 => 'C17', 86 => 'D17', 109 => 'E17', 132 => 'F17', 155 => 'G17', 178 => 'H17',
|
|
1618
|
+
18 => 'A18', 41 => 'B18', 64 => 'C18', 87 => 'D18', 110 => 'E18', 133 => 'F18', 156 => 'G18', 179 => 'H18',
|
|
1619
|
+
19 => 'A19', 42 => 'B19', 65 => 'C19', 88 => 'D19', 111 => 'E19', 134 => 'F19', 157 => 'G19', 180 => 'H19',
|
|
1620
|
+
20 => 'A20', 43 => 'B20', 66 => 'C20', 89 => 'D20', 112 => 'E20', 135 => 'F20', 158 => 'G20', 181 => 'H20',
|
|
1621
|
+
21 => 'A21', 44 => 'B21', 67 => 'C21', 90 => 'D21', 113 => 'E21', 136 => 'F21', 159 => 'G21', 182 => 'H21',
|
|
1622
|
+
22 => 'A22', 45 => 'B22', 68 => 'C22', 91 => 'D22', 114 => 'E22', 137 => 'F22', 160 => 'G22', 183 => 'H22',
|
|
1623
|
+
23 => 'A23', 46 => 'B23', 69 => 'C23', 92 => 'D23', 115 => 'E23', 138 => 'F23', 161 => 'G23', 184 => 'H23',
|
|
1624
|
+
|
|
1625
|
+
185 => 'I1', 208 => 'J1', 231 => 'K1', 254 => 'L1', 277 => 'M1',
|
|
1626
|
+
186 => 'I2', 209 => 'J2', 232 => 'K2', 255 => 'L2', 278 => 'M2',
|
|
1627
|
+
187 => 'I3', 210 => 'J3', 233 => 'K3', 256 => 'L3', 279 => 'M3',
|
|
1628
|
+
188 => 'I4', 211 => 'J4', 234 => 'K4', 257 => 'L4', 280 => 'M4',
|
|
1629
|
+
189 => 'I5', 212 => 'J5', 235 => 'K5', 258 => 'L5', 281 => 'M5',
|
|
1630
|
+
190 => 'I6', 213 => 'J6', 236 => 'K6', 259 => 'L6', 282 => 'M6',
|
|
1631
|
+
191 => 'I7', 214 => 'J7', 237 => 'K7', 260 => 'L7', 283 => 'M7',
|
|
1632
|
+
192 => 'I8', 215 => 'J8', 238 => 'K8', 261 => 'L8', 284 => 'M8',
|
|
1633
|
+
193 => 'I9', 216 => 'J9', 239 => 'K9', 262 => 'L9', 285 => 'M9',
|
|
1634
|
+
194 => 'I10', 217 => 'J10', 240 => 'K10', 263 => 'L10', 286 => 'M10',
|
|
1635
|
+
195 => 'I11', 218 => 'J11', 241 => 'K11', 264 => 'L11', 287 => 'M11',
|
|
1636
|
+
196 => 'I12', 219 => 'J12', 242 => 'K12', 265 => 'L12', 288 => 'M12',
|
|
1637
|
+
197 => 'I13', 220 => 'J13', 243 => 'K13', 266 => 'L13', 289 => 'M13',
|
|
1638
|
+
198 => 'I14', 221 => 'J14', 244 => 'K14', 267 => 'L14', 290 => 'M14',
|
|
1639
|
+
199 => 'I15', 222 => 'J15', 245 => 'K15', 268 => 'L15', 291 => 'M15',
|
|
1640
|
+
200 => 'I16', 223 => 'J16', 246 => 'K16', 269 => 'L16', 292 => 'M16',
|
|
1641
|
+
201 => 'I17', 224 => 'J17', 247 => 'K17', 270 => 'L17', 293 => 'M17',
|
|
1642
|
+
202 => 'I18', 225 => 'J18', 248 => 'K18', 271 => 'L18', 294 => 'M18',
|
|
1643
|
+
203 => 'I19', 226 => 'J19', 249 => 'K19', 272 => 'L19', 295 => 'M19',
|
|
1644
|
+
204 => 'I20', 227 => 'J20', 250 => 'K20', 273 => 'L20', 296 => 'M20',
|
|
1645
|
+
205 => 'I21', 228 => 'J21', 251 => 'K21', 274 => 'L21', 297 => 'M21',
|
|
1646
|
+
206 => 'I22', 229 => 'J22', 252 => 'K22', 275 => 'L22', 298 => 'M22',
|
|
1647
|
+
208 => 'I23', 230 => 'J23', 253 => 'K23', 276 => 'L23', 299 => 'M23',
|
|
1648
|
+
);
|
|
1649
|
+
|
|
1650
|
+
# AF point indices for 493 focus point (single-point AF) cameras equipped with Expeed 7 processor (eg. Z8 and Z9). Single-point AF array is 17 rows x 29 columns (ref 28)
|
|
1550
1651
|
# - Auto Area AF uses 15 of the 17 rows (A-Q) and 27 of the 29 columns (1-27), center is H14 (405 of the 493 focus points can be used by Auto-area AF)
|
|
1551
1652
|
#
|
|
1552
1653
|
my %afPoints493 = (
|
|
@@ -1606,6 +1707,7 @@ my %afPoints493 = (
|
|
|
1606
1707
|
242 => 'I26', 269 => 'J26', 296 => 'K26', 323 => 'L26', 350 => 'M26', 377 => 'N26', 404 => 'O26',
|
|
1607
1708
|
243 => 'I27', 270 => 'J27', 297 => 'K27', 324 => 'L27', 351 => 'M27', 378 => 'N27', 405 => 'O27',
|
|
1608
1709
|
);
|
|
1710
|
+
|
|
1609
1711
|
my %cropHiSpeed = ( #IB
|
|
1610
1712
|
0 => 'Off',
|
|
1611
1713
|
1 => '1.3x Crop', # (1.3x Crop, Large)
|
|
@@ -3011,7 +3113,9 @@ my %base64coord = (
|
|
|
3011
3113
|
},
|
|
3012
3114
|
0x00b7 => [{
|
|
3013
3115
|
Name => 'AFInfo2',
|
|
3014
|
-
|
|
3116
|
+
# Expeed 7 processor models - Z8 & Z9 (AFInfo2Version 0400), Z6iii & Zf (AFInfo2Version 0401)
|
|
3117
|
+
# and Z50ii (AFInfo2Version 0402)
|
|
3118
|
+
Condition => '$$valPt =~ /^040[012]/',
|
|
3015
3119
|
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::AFInfo2V0400' },
|
|
3016
3120
|
},{ #JD
|
|
3017
3121
|
Name => 'AFInfo2',
|
|
@@ -4413,6 +4517,7 @@ my %base64coord = (
|
|
|
4413
4517
|
{ #PH (Z7)
|
|
4414
4518
|
Name => 'PrimaryAFPoint',
|
|
4415
4519
|
Condition => '$$self{PhaseDetectAF} == 8 and $$self{AFInfo2Version} =~ /^03/',
|
|
4520
|
+
PrintConvColumns => 5,
|
|
4416
4521
|
PrintConv => {
|
|
4417
4522
|
0 => '(none)',
|
|
4418
4523
|
%afPoints81,
|
|
@@ -4697,10 +4802,14 @@ my %base64coord = (
|
|
|
4697
4802
|
},
|
|
4698
4803
|
);
|
|
4699
4804
|
|
|
4700
|
-
%Image::ExifTool::Nikon::AFInfo2V0400 = (
|
|
4805
|
+
%Image::ExifTool::Nikon::AFInfo2V0400 = (
|
|
4701
4806
|
%binaryDataAttrs,
|
|
4702
4807
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
4703
|
-
DATAMEMBER => [ 0 ],
|
|
4808
|
+
DATAMEMBER => [ 0, 5 ],
|
|
4809
|
+
NOTES => q{
|
|
4810
|
+
AF information for Nikon cameras with the Expeed 7 processor: The Zf, Z6_3,
|
|
4811
|
+
Z8, Z9 and Z50_3.
|
|
4812
|
+
},
|
|
4704
4813
|
0 => {
|
|
4705
4814
|
Name => 'AFInfo2Version',
|
|
4706
4815
|
Format => 'undef[4]',
|
|
@@ -4709,6 +4818,7 @@ my %base64coord = (
|
|
|
4709
4818
|
},
|
|
4710
4819
|
5 => { #28
|
|
4711
4820
|
Name => 'AFAreaMode', #reflects the mode active when the shutter is tripped, not the position of the Focus Mode button (which is recorded in MenuSettingsZ9 tag also named AfAreaMode)
|
|
4821
|
+
RawConv => '$$self{AFAreaModeUsed} = $val',
|
|
4712
4822
|
PrintConv => {
|
|
4713
4823
|
192 => 'Pinpoint',
|
|
4714
4824
|
193 => 'Single',
|
|
@@ -4722,15 +4832,34 @@ my %base64coord = (
|
|
|
4722
4832
|
208 => 'Wide (C1/C2)',
|
|
4723
4833
|
},
|
|
4724
4834
|
},
|
|
4725
|
-
10 => {
|
|
4726
|
-
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4835
|
+
10 => [{
|
|
4836
|
+
# valid only for AFAreaModes where the camera selects the focus point (i.e., AutoArea & 3D-Tracking)
|
|
4837
|
+
# and the camera has yet to determine a focus target (in these cases tags AFAreaXPosition and AFAreaYPosition will be zeroes)
|
|
4838
|
+
Name => 'AFPointsUsed', # Z8 and Z9 (AFInfo2Version 0400)
|
|
4839
|
+
Condition => '$$self{Model} =~ /^NIKON (Z 8|Z 9)\b/i and ($$self{AFAreaModeUsed} == 197 or $$self{AFAreaModeUsed} == 207)',
|
|
4840
|
+
Format => 'undef[51]',
|
|
4841
|
+
Notes => 'either AFPointsUsed or AFAreaX/YPosition will be set, but not both',
|
|
4842
|
+
ValueConv => 'join(" ", unpack("H2"x51, $val))',
|
|
4843
|
+
ValueConvInv => '$val=~tr/ //d; pack("H*",$val)',
|
|
4844
|
+
PrintConv => sub { PrintAFPoints(shift, \%afPoints493); },
|
|
4845
|
+
PrintConvInv => sub { PrintAFPointsInv(shift, \%afPoints493); },
|
|
4846
|
+
},{
|
|
4847
|
+
Name => 'AFPointsUsed', # Z6iii and Zf (AFInfo2Version 0401)
|
|
4848
|
+
Condition => '$$self{Model} =~ /^NIKON (Z6_3|Z f)\b/i and ($$self{AFAreaModeUsed} == 197 or $$self{AFAreaModeUsed} == 207)',
|
|
4849
|
+
Format => 'undef[35]',
|
|
4850
|
+
ValueConv => 'join(" ", unpack("H2"x35, $val))',
|
|
4851
|
+
ValueConvInv => '$val=~tr/ //d; pack("H*",$val)',
|
|
4852
|
+
PrintConv => sub { PrintAFPoints(shift, \%afPoints273); },
|
|
4853
|
+
PrintConvInv => sub { PrintAFPointsInv(shift, \%afPoints273); },
|
|
4854
|
+
},{
|
|
4855
|
+
Name => 'AFPointsUsed', # Z50ii (AFInfo2Version 0402)
|
|
4856
|
+
Condition => '$$self{Model} =~ /^NIKON Z50_2\b/i and ($$self{AFAreaModeUsed} == 197 or $$self{AFAreaModeUsed} == 207)',
|
|
4857
|
+
Format => 'undef[27]',
|
|
4858
|
+
ValueConv => 'join(" ", unpack("H2"x27, $val))',
|
|
4859
|
+
ValueConvInv => '$val=~tr/ //d; pack("H*",$val)',
|
|
4860
|
+
PrintConv => sub { PrintAFPoints(shift, \%afPoints209); },
|
|
4861
|
+
PrintConvInv => sub { PrintAFPointsInv(shift, \%afPoints209); },
|
|
4862
|
+
}],
|
|
4734
4863
|
0x3e => {
|
|
4735
4864
|
Name => 'AFImageWidth',
|
|
4736
4865
|
Format => 'int16u',
|
|
@@ -4744,27 +4873,27 @@ my %base64coord = (
|
|
|
4744
4873
|
Format => 'int16u', # (decodes same byte as 0x43)
|
|
4745
4874
|
RawConv => '$val ? $val : undef',
|
|
4746
4875
|
},
|
|
4747
|
-
0x43 => {
|
|
4748
|
-
|
|
4749
|
-
|
|
4750
|
-
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4754
|
-
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
},
|
|
4876
|
+
#0x43 => {
|
|
4877
|
+
# Name => 'FocusPositionHorizontal',
|
|
4878
|
+
# Notes => q{
|
|
4879
|
+
# the focus points form a 29x17 grid, but the X,Y coordinate values run from 1,1
|
|
4880
|
+
# to 30,19. The horizontal coordinate 11R (5) and the vertical coordinates 6U
|
|
4881
|
+
# (4) and 2D (12) are not used for some reason
|
|
4882
|
+
# },
|
|
4883
|
+
# # 493 focus points for Z9 fall in a 30x19 grid
|
|
4884
|
+
# # (the 11R (5) position is not used, for a total of 29 columns, ref AlbertShan email)
|
|
4885
|
+
# PrintConv => sub { my ($val) = @_; PrintAFPointsLeftRight($val, 29); },
|
|
4886
|
+
#},
|
|
4758
4887
|
0x44 => { #28
|
|
4759
4888
|
Name => 'AFAreaYPosition',
|
|
4760
4889
|
Format => 'int16u', # (decodes same byte as 0x45)
|
|
4761
4890
|
RawConv => '$val ? $val : undef',
|
|
4762
4891
|
},
|
|
4763
|
-
0x45 => {
|
|
4764
|
-
|
|
4765
|
-
|
|
4766
|
-
|
|
4767
|
-
},
|
|
4892
|
+
#0x45 => {
|
|
4893
|
+
# Name => 'FocusPositionVertical',
|
|
4894
|
+
# # (the 6U (4) and 2D (12) are not used, for a total of 17 rows, ref AlbertShan email)
|
|
4895
|
+
# PrintConv => sub { my ($val) = @_; PrintAFPointsUpDown($val, 17); },
|
|
4896
|
+
#},
|
|
4768
4897
|
0x46 => {
|
|
4769
4898
|
Name => 'AFAreaWidth',
|
|
4770
4899
|
Format => 'int16u',
|
|
@@ -5581,15 +5710,17 @@ my %nikonFocalConversions = (
|
|
|
5581
5710
|
45 => 'Nikkor Z 600mm f/6.3 VR S', #28
|
|
5582
5711
|
46 => 'Nikkor Z 135mm f/1.8 S Plena', #28
|
|
5583
5712
|
48 => 'Nikkor Z 28-400mm f/4-8 VR', #30
|
|
5713
|
+
51 => 'Nikkor Z 35mm f/1.4', #28
|
|
5714
|
+
52 => 'Nikkor Z 50mm f/1.4', #28
|
|
5584
5715
|
2305 => 'Laowa FFII 10mm F2.8 C&D Dreamer', #30
|
|
5585
5716
|
32768 => 'Nikkor Z 400mm f/2.8 TC VR S TC-1.4x', #28
|
|
5586
5717
|
32769 => 'Nikkor Z 600mm f/4 TC VR S TC-1.4x', #28
|
|
5587
5718
|
},
|
|
5588
5719
|
},
|
|
5589
5720
|
0x34 => { #28
|
|
5590
|
-
Name => 'LensFirmwareVersion',
|
|
5721
|
+
Name => 'LensFirmwareVersion',
|
|
5591
5722
|
Condition => '$$self{LensID} and $$self{LensID} != 0', #only valid for Z-mount lenses
|
|
5592
|
-
Format => 'int16u', #4 bits each for version, release amd modification in VRM scheme.
|
|
5723
|
+
Format => 'int16u', #4 bits each for version, release amd modification in VRM scheme.
|
|
5593
5724
|
PrintConv => q{
|
|
5594
5725
|
my $version = int($val / 256);
|
|
5595
5726
|
my $release = int(($val - 256 * $version)/16);
|
|
@@ -8395,7 +8526,7 @@ my %nikonFocalConversions = (
|
|
|
8395
8526
|
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ6III',
|
|
8396
8527
|
Start => '$val',
|
|
8397
8528
|
},
|
|
8398
|
-
},
|
|
8529
|
+
},
|
|
8399
8530
|
);
|
|
8400
8531
|
|
|
8401
8532
|
# shot information for the Z7II firmware 1.00 (encrypted) - ref 28
|
|
@@ -8940,13 +9071,23 @@ my %nikonFocalConversions = (
|
|
|
8940
9071
|
},
|
|
8941
9072
|
{
|
|
8942
9073
|
Name => 'MenuSettingsOffsetZ9v4',
|
|
8943
|
-
|
|
9074
|
+
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} lt "05.01"',
|
|
9075
|
+
Notes => 'Firmware versions 4.x and 5.0',
|
|
8944
9076
|
Format => 'int32u',
|
|
8945
9077
|
SubDirectory => {
|
|
8946
9078
|
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ9v4',
|
|
8947
9079
|
Start => '$dirStart + $val',
|
|
8948
9080
|
},
|
|
8949
9081
|
},
|
|
9082
|
+
{
|
|
9083
|
+
Name => 'MenuSettingsOffsetZ9v4',
|
|
9084
|
+
Notes => 'Firmware versions 4.x and 5.0',
|
|
9085
|
+
Format => 'int32u',
|
|
9086
|
+
SubDirectory => {
|
|
9087
|
+
TagTable => 'Image::ExifTool::Nikon::MenuSettingsZ9v5',
|
|
9088
|
+
Start => '$dirStart + $val',
|
|
9089
|
+
},
|
|
9090
|
+
},
|
|
8950
9091
|
],
|
|
8951
9092
|
);
|
|
8952
9093
|
|
|
@@ -9191,7 +9332,7 @@ my %nikonFocalConversions = (
|
|
|
9191
9332
|
720 => { Name => 'FlickerReductionShooting',PrintConv => \%offOn },
|
|
9192
9333
|
722 => { Name => 'NikonMeteringMode', PrintConv => \%meteringModeZ7},
|
|
9193
9334
|
724 => {
|
|
9194
|
-
Name => 'FlashControlMode',
|
|
9335
|
+
Name => 'FlashControlMode',
|
|
9195
9336
|
RawConv => '$$self{FlashControlMode} = $val',
|
|
9196
9337
|
PrintConv => \%flashControlModeZ7,
|
|
9197
9338
|
},
|
|
@@ -10454,12 +10595,13 @@ my %nikonFocalConversions = (
|
|
|
10454
10595
|
#1936 FocusPointDisplayOption3DTrackingColor CSa11-d 0=> 'White', 1= => 'Red'
|
|
10455
10596
|
);
|
|
10456
10597
|
|
|
10598
|
+
# firmware version 4.x menu settings (ref 28)
|
|
10457
10599
|
%Image::ExifTool::Nikon::MenuSettingsZ9v4 = (
|
|
10458
10600
|
%binaryDataAttrs,
|
|
10459
10601
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
10460
10602
|
DATAMEMBER => [ 154, 204, 208, 248, 328, 444, 548, 554, 570, 596 ],
|
|
10461
10603
|
IS_SUBDIR => [ 847 ],
|
|
10462
|
-
NOTES => 'These tags are used by the Z9 firmware 4.0.0 and 4.1.0',
|
|
10604
|
+
NOTES => 'These tags are used by the Z9 firmware 4.0.0 and 4.1.0.',
|
|
10463
10605
|
72 => {
|
|
10464
10606
|
Name => 'HighFrameRate', #CH and C30/C60/C120 but not CL
|
|
10465
10607
|
PrintConv => \%highFrameRateZ9,
|
|
@@ -10765,6 +10907,318 @@ my %nikonFocalConversions = (
|
|
|
10765
10907
|
2072 => { Name => 'FlashModeButtonPlaybackMode', %buttonsZ9}, #CSf2
|
|
10766
10908
|
);
|
|
10767
10909
|
|
|
10910
|
+
# menu settings for the Z9 with firmware version 5.1 (ref 28)
|
|
10911
|
+
%Image::ExifTool::Nikon::MenuSettingsZ9v5 = (
|
|
10912
|
+
%binaryDataAttrs,
|
|
10913
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
10914
|
+
DATAMEMBER => [ 158, 208, 212, 252, 332, 448, 552, 558, 574, 600 ],
|
|
10915
|
+
IS_SUBDIR => [ 851 ],
|
|
10916
|
+
NOTES => 'These tags are used by the Z9 firmware 5.1.',
|
|
10917
|
+
72 => {
|
|
10918
|
+
Name => 'HighFrameRate', #CH and C30/C60/C120 but not CL
|
|
10919
|
+
PrintConv => \%highFrameRateZ9,
|
|
10920
|
+
},
|
|
10921
|
+
158 => {
|
|
10922
|
+
Name => 'MultipleExposureMode',
|
|
10923
|
+
RawConv => '$$self{MultipleExposureMode} = $val',
|
|
10924
|
+
PrintConv => \%multipleExposureModeZ9,
|
|
10925
|
+
},
|
|
10926
|
+
160 => {Name => 'MultiExposureShots', Condition => '$$self{MultipleExposureMode} != 0'}, #range 2-9
|
|
10927
|
+
208 => {
|
|
10928
|
+
Name => 'Intervals',
|
|
10929
|
+
Format => 'int32u',
|
|
10930
|
+
RawConv => '$$self{IntervalShootingIntervals} = $val',
|
|
10931
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0', #not valid for C30/C60/C120
|
|
10932
|
+
},
|
|
10933
|
+
212 => {
|
|
10934
|
+
Name => 'ShotsPerInterval',
|
|
10935
|
+
Format => 'int32u',
|
|
10936
|
+
RawConv => '$$self{IntervalShootingShotsPerInterval} = $val',
|
|
10937
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{IntervalShooting} > 0', #not valid for C30/C60/C120
|
|
10938
|
+
},
|
|
10939
|
+
252 => {
|
|
10940
|
+
Name => 'FocusShiftNumberShots', #1-300
|
|
10941
|
+
RawConv => '$$self{FocusShiftNumberShots} = $val',
|
|
10942
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
|
10943
|
+
},
|
|
10944
|
+
256 => {
|
|
10945
|
+
Name => 'FocusShiftStepWidth', #1(Narrow) to 10 (Wide)
|
|
10946
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
|
10947
|
+
},
|
|
10948
|
+
260 => {
|
|
10949
|
+
Name => 'FocusShiftInterval',
|
|
10950
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
|
10951
|
+
PrintConv => '$val == 1? "1 Second" : sprintf("%.0f Seconds",$val)',
|
|
10952
|
+
},
|
|
10953
|
+
264 => {
|
|
10954
|
+
Name => 'FocusShiftExposureLock',
|
|
10955
|
+
Unknown => 1,
|
|
10956
|
+
PrintConv => \%offOn,
|
|
10957
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
|
10958
|
+
},
|
|
10959
|
+
294 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
|
10960
|
+
296 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
|
10961
|
+
332 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
|
10962
|
+
#338 JPGCompression 0 => 'Size Priority', 1 => 'Optimal Quality',
|
|
10963
|
+
346 => { Name => 'AutoISO', PrintConv => \%offOn },
|
|
10964
|
+
348 => {
|
|
10965
|
+
Name => 'ISOAutoHiLimit',
|
|
10966
|
+
Format => 'int16u',
|
|
10967
|
+
Unknown => 1,
|
|
10968
|
+
ValueConv => '($val-104)/8',
|
|
10969
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
10970
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
10971
|
+
},
|
|
10972
|
+
350 => {
|
|
10973
|
+
Name => 'ISOAutoFlashLimit',
|
|
10974
|
+
Format => 'int16u',
|
|
10975
|
+
Unknown => 1,
|
|
10976
|
+
ValueConv => '($val-104)/8',
|
|
10977
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
10978
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
10979
|
+
},
|
|
10980
|
+
358 => {
|
|
10981
|
+
Name => 'ISOAutoShutterTime', # shutter speed is 2 ** (-$val/24)
|
|
10982
|
+
ValueConv => '$val / 8',
|
|
10983
|
+
Format => 'int16s',
|
|
10984
|
+
PrintConv => \%iSOAutoShutterTimeZ9,
|
|
10985
|
+
},
|
|
10986
|
+
440 => { Name => 'MovieVignetteControl', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
10987
|
+
442 => { Name => 'DiffractionCompensation', PrintConv => \%offOn }, # value can be set from both the Photo Shoot Menu and the Video Shooting Menu
|
|
10988
|
+
444 => { Name => 'FlickerReductionShooting',PrintConv => \%offOn },
|
|
10989
|
+
448 => {
|
|
10990
|
+
Name => 'FlashControlMode', # this and nearby tag values for flash may be set from either the Photo Shooting Menu or using the Flash unit menu
|
|
10991
|
+
RawConv => '$$self{FlashControlMode} = $val',
|
|
10992
|
+
PrintConv => \%flashControlModeZ7,
|
|
10993
|
+
},
|
|
10994
|
+
450 => {
|
|
10995
|
+
Name => 'FlashMasterCompensation',
|
|
10996
|
+
Format => 'int8s',
|
|
10997
|
+
Unknown => 1,
|
|
10998
|
+
ValueConv => '$val/6',
|
|
10999
|
+
ValueConvInv => '6 * $val',
|
|
11000
|
+
PrintConv => '$val ? sprintf("%+.1f",$val) : 0',
|
|
11001
|
+
PrintConvInv => '$val',
|
|
11002
|
+
},
|
|
11003
|
+
454 => {
|
|
11004
|
+
Name => 'FlashGNDistance',
|
|
11005
|
+
Condition => '$$self{FlashControlMode} == 2',
|
|
11006
|
+
Unknown => 1,
|
|
11007
|
+
ValueConv => '$val + 3',
|
|
11008
|
+
PrintConv => \%flashGNDistance,
|
|
11009
|
+
},
|
|
11010
|
+
458 => {
|
|
11011
|
+
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)
|
|
11012
|
+
Condition => '$$self{FlashControlMode} >= 3',
|
|
11013
|
+
Unknown => 1,
|
|
11014
|
+
ValueConv => '2 ** (-$val/3)',
|
|
11015
|
+
ValueConvInv => '$val>0 ? -3*log($val)/log(2) : 0',
|
|
11016
|
+
PrintConv => '$val>0.99 ? "Full" : sprintf("%.1f%%",$val*100)',
|
|
11017
|
+
PrintConvInv => '$val=~/(\d+)/ ? $1/100 : 1',
|
|
11018
|
+
},
|
|
11019
|
+
#466 flash wireless control 0=> 'Off' 1=> 'Optical AWL'
|
|
11020
|
+
#468 => { Name => 'FlashRemoteControl', PrintConv => \%flashRemoteControlZ7, Unknown => 1 },
|
|
11021
|
+
#480 => { Name => 'FlashWirelessOption', PrintConv => \%flashWirelessOptionZ7, Unknown => 1 },
|
|
11022
|
+
552 => { Name => 'AFAreaMode', RawConv => '$$self{AFAreaMode} = $val', PrintConv => \%aFAreaModeZ9},
|
|
11023
|
+
554 => { Name => 'VRMode', PrintConv => \%vRModeZ9},
|
|
11024
|
+
558 => {
|
|
11025
|
+
Name => 'BracketSet',
|
|
11026
|
+
RawConv => '$$self{BracketSet} = $val',
|
|
11027
|
+
PrintConv => \%bracketSetZ9,
|
|
11028
|
+
},
|
|
11029
|
+
560 => {
|
|
11030
|
+
Name => 'BracketProgram',
|
|
11031
|
+
Condition => '$$self{BracketSet} < 3',
|
|
11032
|
+
Notes => 'AE and/or Flash Bracketing',
|
|
11033
|
+
PrintConv => \%bracketProgramZ9,
|
|
11034
|
+
},
|
|
11035
|
+
562 => {
|
|
11036
|
+
Name => 'BracketIncrement',
|
|
11037
|
+
Condition => '$$self{BracketSet} < 3',
|
|
11038
|
+
Notes => 'AE and/or Flash Bracketing',
|
|
11039
|
+
PrintConv => \%bracketIncrementZ9,
|
|
11040
|
+
},
|
|
11041
|
+
574 => { Name => 'HDR', RawConv => '$$self{HDR} = $val', PrintConv => \%multipleExposureModeZ9 },
|
|
11042
|
+
580 => { Name => 'SecondarySlotFunction', PrintConv => \%secondarySlotFunctionZ9 },
|
|
11043
|
+
586 => { Name => 'HDRLevel', Condition => '$$self{HDR} ne 0', PrintConv => \%hdrLevelZ8 },
|
|
11044
|
+
590 => { Name => 'Slot2JpgSize', PrintConv => { 0 => 'Large (8256x5504)', 1 => 'Medium (6192x4128)', 2 => 'Small (4128x2752)' }, Unknown => 1},
|
|
11045
|
+
596 => { Name => 'DXCropAlert', PrintConv => \%offOn },
|
|
11046
|
+
598 => { Name => 'SubjectDetection', PrintConv => \%subjectDetectionZ9 },
|
|
11047
|
+
600 => {
|
|
11048
|
+
Name => 'DynamicAFAreaSize',
|
|
11049
|
+
Condition => '$$self{AFAreaMode} == 2',
|
|
11050
|
+
RawConv => '$$self{DynamicAFAreaSize} = $val',
|
|
11051
|
+
PrintConv => \%dynamicAfAreaModesZ9,
|
|
11052
|
+
},
|
|
11053
|
+
640 => { Name => 'HighFrequencyFlickerReduction', PrintConv => \%offOn, Unknown => 1 }, # new with firmware 3.0
|
|
11054
|
+
650 => {
|
|
11055
|
+
Name => 'MovieImageArea',
|
|
11056
|
+
Unknown => 1,
|
|
11057
|
+
Mask => 0x01, # without the mask 4 => 'FX' 5 => DX only the 2nd Z-series field encountered with a mask.
|
|
11058
|
+
PrintConv => \%imageAreaZ9b,
|
|
11059
|
+
},
|
|
11060
|
+
660 => { Name => 'MovieType', PrintConv => \%movieTypeZ9, Unknown => 1 },
|
|
11061
|
+
662 => {
|
|
11062
|
+
Name => 'MovieISOAutoHiLimit',
|
|
11063
|
+
Format => 'int16u',
|
|
11064
|
+
Unknown => 1,
|
|
11065
|
+
ValueConv => '($val-104)/8',
|
|
11066
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
11067
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
11068
|
+
},
|
|
11069
|
+
664 => { Name => 'MovieISOAutoControlManualMode', PrintConv => \%offOn, Unknown => 1 },
|
|
11070
|
+
666 => {
|
|
11071
|
+
Name => 'MovieISOAutoManualMode',
|
|
11072
|
+
Format => 'int16u',
|
|
11073
|
+
Unknown => 1,
|
|
11074
|
+
ValueConv => '($val-104)/8',
|
|
11075
|
+
ValueConvInv => '8 * ($val + 104)',
|
|
11076
|
+
PrintConv => \%iSOAutoHiLimitZ7,
|
|
11077
|
+
},
|
|
11078
|
+
740 => { Name => 'MovieActiveD-Lighting', PrintConv => \%activeDLightingZ7, Unknown => 1 },
|
|
11079
|
+
742 => { Name => 'MovieHighISONoiseReduction', PrintConv => \%offLowNormalHighZ7, Unknown => 1 },
|
|
11080
|
+
748 => { Name => 'MovieFlickerReduction', PrintConv => \%movieFlickerReductionZ9 },
|
|
11081
|
+
750 => { Name => 'MovieMeteringMode', PrintConv => \%meteringModeZ7, Unknown => 1 },
|
|
11082
|
+
752 => { Name => 'MovieFocusMode', PrintConv => \%focusModeZ7, Unknown => 1 },
|
|
11083
|
+
754 => { Name => 'MovieAFAreaMode', PrintConv => \%aFAreaModeZ9 },
|
|
11084
|
+
756 => { Name => 'MovieVRMode', PrintConv => \%vRModeZ9, Unknown => 1 },
|
|
11085
|
+
760 => { Name => 'MovieElectronicVR', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
|
11086
|
+
762 => { Name => 'MovieSoundRecording', PrintConv => { 0 => 'Off', 1 => 'Auto', 2 => 'Manual' }, Unknown => 1 },
|
|
11087
|
+
764 => { Name => 'MicrophoneSensitivity', Unknown => 1 }, # 1-20
|
|
11088
|
+
766 => { Name => 'MicrophoneAttenuator', PrintConv => \%offOn, Unknown => 1 }, # distinct from MoveieVRMode
|
|
11089
|
+
768 => { Name => 'MicrophoneFrequencyResponse',PrintConv => { 0 => 'Wide Range', 1 => 'Vocal Range' }, Unknown => 1 },
|
|
11090
|
+
770 => { Name => 'WindNoiseReduction', PrintConv => \%offOn, Unknown => 1 },
|
|
11091
|
+
792 => { Name => 'MovieToneMap', PrintConv => \%movieToneMapZ9, Unknown => 1 },
|
|
11092
|
+
798 => { Name => 'MovieFrameSize', PrintConv => \%movieFrameSizeZ9, Unknown => 1 },
|
|
11093
|
+
800 => { Name => 'MovieFrameRate', PrintConv => \%movieFrameRateZ7, Unknown => 1 },
|
|
11094
|
+
806 => { Name => 'MicrophoneJackPower', PrintConv => \%offOn, Unknown => 1 },
|
|
11095
|
+
807 => { Name => 'MovieDXCropAlert', PrintConv => \%offOn, Unknown => 1 },
|
|
11096
|
+
808 => { Name => 'MovieSubjectDetection', PrintConv => \%subjectDetectionZ9, Unknown => 1 },
|
|
11097
|
+
816 => { Name => 'MovieHighResZoom', PrintConv => \%offOn, Unknown => 1 },
|
|
11098
|
+
851 => {
|
|
11099
|
+
Name => 'CustomSettingsZ9v4',
|
|
11100
|
+
Format => 'undef[632]',
|
|
11101
|
+
SubDirectory => { TagTable => 'Image::ExifTool::NikonCustom::SettingsZ9v4' },
|
|
11102
|
+
},
|
|
11103
|
+
1502 => { Name => 'Language', PrintConv => \%languageZ9, Unknown => 1 },
|
|
11104
|
+
1504 => { Name => 'TimeZone', PrintConv => \%timeZoneZ9 },
|
|
11105
|
+
1510 => { Name => 'MonitorBrightness', PrintConv => \%monitorBrightnessZ9, Unknown => 1 }, # settings: -5 to +5. Added with firmware 3.0: Lo1, Lo2, Hi1, Hi2
|
|
11106
|
+
1532 => { Name => 'AFFineTune', PrintConv => \%offOn, Unknown => 1 },
|
|
11107
|
+
1536 => { Name => 'NonCPULens1FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1}, #should probably hide altogther if $val is 0
|
|
11108
|
+
1540 => { Name => 'NonCPULens2FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11109
|
+
1542 => { Name => 'NonCPULens3FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11110
|
+
1548 => { Name => 'NonCPULens4FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11111
|
+
1552 => { Name => 'NonCPULens5FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11112
|
+
1556 => { Name => 'NonCPULens6FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11113
|
+
1560 => { Name => 'NonCPULens7FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11114
|
+
1564 => { Name => 'NonCPULens8FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11115
|
+
1568 => { Name => 'NonCPULens9FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11116
|
+
1572 => { Name => 'NonCPULens10FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11117
|
+
1576 => { Name => 'NonCPULens11FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11118
|
+
1580 => { Name => 'NonCPULens12FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11119
|
+
1584 => { Name => 'NonCPULens13FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11120
|
+
1588 => { Name => 'NonCPULens14FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11121
|
+
1592 => { Name => 'NonCPULens15FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11122
|
+
1596 => { Name => 'NonCPULens16FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11123
|
+
1600 => { Name => 'NonCPULens17FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11124
|
+
1604 => { Name => 'NonCPULens18FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11125
|
+
1608 => { Name => 'NonCPULens19FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11126
|
+
1612 => { Name => 'NonCPULens20FocalLength', Format => 'int16s', PrintConv => 'sprintf("%.1fmm",$val/10)', Unknown => 1},
|
|
11127
|
+
1616 => { Name => 'NonCPULens1MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1}, #non-CPU aperture interface, values and storage differ from the Z8
|
|
11128
|
+
1620 => { Name => 'NonCPULens2MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11129
|
+
1624 => { Name => 'NonCPULens3MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11130
|
+
1628 => { Name => 'NonCPULens4MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11131
|
+
1632 => { Name => 'NonCPULens5MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11132
|
+
1636 => { Name => 'NonCPULens6MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11133
|
+
1640 => { Name => 'NonCPULens7MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11134
|
+
1644 => { Name => 'NonCPULens8MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11135
|
+
1648 => { Name => 'NonCPULens9MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11136
|
+
1652 => { Name => 'NonCPULens10MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11137
|
+
1656 => { Name => 'NonCPULens11MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11138
|
+
1660 => { Name => 'NonCPULens12MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11139
|
+
1664 => { Name => 'NonCPULens13MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11140
|
+
1668 => { Name => 'NonCPULens14MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11141
|
+
1672 => { Name => 'NonCPULens15MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11142
|
+
1676 => { Name => 'NonCPULens16MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11143
|
+
1680 => { Name => 'NonCPULens17MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11144
|
+
1684 => { Name => 'NonCPULens18MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11145
|
+
1688 => { Name => 'NonCPULens19MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11146
|
+
1692 => { Name => 'NonCPULens20MaxAperture', Format => 'int16s', PrintConv => 'sprintf("f/%.1f",$val/100)', Unknown => 1},
|
|
11147
|
+
1708 => { Name => 'HDMIOutputResolution', PrintConv => \%hDMIOutputResolutionZ9 },
|
|
11148
|
+
1721 => { Name => 'SetClockFromLocationData', PrintConv => \%offOn, Unknown => 1 },
|
|
11149
|
+
1728 => { Name => 'AirplaneMode', PrintConv => \%offOn, Unknown => 1 },
|
|
11150
|
+
1729 => { Name => 'EmptySlotRelease', PrintConv => { 0 => 'Disable Release', 1 => 'Enable Release' }, Unknown => 1 },
|
|
11151
|
+
1764 => { Name => 'EnergySavingMode', PrintConv => \%offOn, Unknown => 1 },
|
|
11152
|
+
1788 => { Name => 'RecordLocationData', PrintConv => \%offOn, Unknown => 1 },
|
|
11153
|
+
1792 => { Name => 'USBPowerDelivery', PrintConv => \%offOn, Unknown => 1 },
|
|
11154
|
+
1801 => { Name => 'SensorShield', PrintConv => { 0 => 'Stays Open', 1 => 'Closes' }, Unknown => 1 },
|
|
11155
|
+
1866 => {
|
|
11156
|
+
Name => 'AutoCapturePreset',
|
|
11157
|
+
PrintConv => {
|
|
11158
|
+
0 => '1',
|
|
11159
|
+
1 => '2',
|
|
11160
|
+
2 => '3',
|
|
11161
|
+
3 => '4',
|
|
11162
|
+
4 => '5',
|
|
11163
|
+
},
|
|
11164
|
+
},
|
|
11165
|
+
1868 => {
|
|
11166
|
+
Name => 'FocusShiftAutoReset',
|
|
11167
|
+
Unknown => 1,
|
|
11168
|
+
PrintConv => \%offOn,
|
|
11169
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96 and $$self{FocusShiftShooting} > 0', #not valid for C30/C60/C120
|
|
11170
|
+
},
|
|
11171
|
+
1926 => { #CSd4-a
|
|
11172
|
+
Name => 'PreReleaseBurstLength',
|
|
11173
|
+
PrintConv => {
|
|
11174
|
+
0 => 'None',
|
|
11175
|
+
1 => '0.3 Sec',
|
|
11176
|
+
2 => '0.5 Sec',
|
|
11177
|
+
3 => '1 Sec',
|
|
11178
|
+
},
|
|
11179
|
+
},
|
|
11180
|
+
1928 => { #CSd4-b
|
|
11181
|
+
Name => 'PostReleaseBurstLength',
|
|
11182
|
+
PrintConv => {
|
|
11183
|
+
0 => '1 Sec',
|
|
11184
|
+
1 => '2 Sec',
|
|
11185
|
+
2 => '3 Sec',
|
|
11186
|
+
3 => 'Max',
|
|
11187
|
+
},
|
|
11188
|
+
},
|
|
11189
|
+
1942 => { Name => 'VerticalISOButton', %buttonsZ9}, #CSf2
|
|
11190
|
+
1944 => { Name => 'ExposureCompensationButton', %buttonsZ9}, #CSf2
|
|
11191
|
+
1946 => { Name => 'ISOButton', %buttonsZ9}, #CSf2
|
|
11192
|
+
2006 => { Name => 'ViewModeShowEffectsOfSettings', PrintConv => { 0=>'Always', 1=> 'Only When Flash Not Used'}, Unknown => 1 }, #CSd9-a
|
|
11193
|
+
2008 => { Name => 'DispButton', %buttonsZ9}, #CSf2
|
|
11194
|
+
2052 => { #CSd6
|
|
11195
|
+
Name => 'ExposureDelay',
|
|
11196
|
+
Format => 'fixed32u',
|
|
11197
|
+
PrintConv => '$val ? sprintf("%.1f sec",$val/1000) : "Off"',
|
|
11198
|
+
},
|
|
11199
|
+
2056 => { #CSf2-m3
|
|
11200
|
+
Name => 'CommandDialFrameAdvanceZoom',
|
|
11201
|
+
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
|
|
11202
|
+
PrintConv => \%dialsFrameAdvanceZoomPositionZ9,
|
|
11203
|
+
Unknown => 1
|
|
11204
|
+
},
|
|
11205
|
+
2058 => { #CSf2-n3
|
|
11206
|
+
Name => 'SubCommandDialFrameAdvanceZoom',
|
|
11207
|
+
Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
|
|
11208
|
+
PrintConv => \%dialsFrameAdvanceZoomPositionZ9,
|
|
11209
|
+
Unknown => 1
|
|
11210
|
+
},
|
|
11211
|
+
2060 => { Name => 'PlaybackButton', %buttonsZ9}, #CSf2
|
|
11212
|
+
2062 => { Name => 'WBButton', %buttonsZ9}, #CSf2
|
|
11213
|
+
2064 => { Name => 'BracketButton', %buttonsZ9}, #CSf2
|
|
11214
|
+
2066 => { Name => 'FlashModeButton', %buttonsZ9}, #CSf2
|
|
11215
|
+
2068 => { Name => 'LensFunc1ButtonPlaybackMode', %buttonsZ9}, #CSf2
|
|
11216
|
+
2070 => { Name => 'LensFunc2ButtonPlaybackMode', %buttonsZ9}, #CSf2
|
|
11217
|
+
2072 => { Name => 'PlaybackButtonPlaybackMode', %buttonsZ9}, #CSf2
|
|
11218
|
+
2074 => { Name => 'BracketButtonPlaybackMode', %buttonsZ9}, #CSf2
|
|
11219
|
+
2076 => { Name => 'FlashModeButtonPlaybackMode', %buttonsZ9}, #CSf2
|
|
11220
|
+
);
|
|
11221
|
+
|
|
10768
11222
|
# Flash information (ref JD)
|
|
10769
11223
|
%Image::ExifTool::Nikon::FlashInfo0100 = (
|
|
10770
11224
|
%binaryDataAttrs,
|
|
@@ -12100,7 +12554,6 @@ my %nikonFocalConversions = (
|
|
|
12100
12554
|
3 => 'On (Required)',
|
|
12101
12555
|
},
|
|
12102
12556
|
},
|
|
12103
|
-
#0x10 Degree of radial distortion correction polynomial? (always 4? - decodes for the first 3 coefficients follow, the 4th at 0x2c/0x30 seems to always be 0)
|
|
12104
12557
|
0x14 => {
|
|
12105
12558
|
Name => 'RadialDistortionCoefficient1',
|
|
12106
12559
|
Format => 'rational64s',
|
|
@@ -13609,7 +14062,10 @@ sub ProcessNikonMOV($$$)
|
|
|
13609
14062
|
Size => $size,
|
|
13610
14063
|
Base => $$dirInfo{Base},
|
|
13611
14064
|
);
|
|
13612
|
-
|
|
14065
|
+
if ($key) {
|
|
14066
|
+
$$et{TAG_EXTRA}{$key}{Rational} = $rational if $rational;
|
|
14067
|
+
$$et{TAG_EXTRA}{$key}{BinVal} = substr($$dataPt, $pos, $size) if $$et{OPTIONS}{SaveBin};
|
|
14068
|
+
}
|
|
13613
14069
|
} elsif (exists $needTags{$tag}) {
|
|
13614
14070
|
$needTags{$tag} = ReadValue($dataPt, $pos, $fmtStr, $count, $size);
|
|
13615
14071
|
$$et{NikonSerialKey} = SerialKey($et, $needTags{0x110a431});
|
|
@@ -14088,7 +14544,7 @@ Nikon maker notes in EXIF information.
|
|
|
14088
14544
|
|
|
14089
14545
|
=head1 AUTHOR
|
|
14090
14546
|
|
|
14091
|
-
Copyright 2003-
|
|
14547
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
14092
14548
|
|
|
14093
14549
|
This library is free software; you can redistribute it and/or modify it
|
|
14094
14550
|
under the same terms as Perl itself.
|