exiftool-vendored.exe 12.99.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/exiftool.exe +0 -0
- package/bin/exiftool_files/exiftool.pl +183 -70
- package/bin/exiftool_files/lib/File/RandomAccess.pm +1 -1
- package/bin/exiftool_files/lib/File/RandomAccess.pod +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/AAC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +6 -6
- package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +11 -9
- package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BZZ.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +36 -22
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +66 -27
- package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Casio.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DICOM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +196 -30
- package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +138 -33
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +30 -17
- package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Fixup.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +17 -21
- package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +144 -93
- package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +34 -30
- package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +19 -9
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +49 -14
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +120 -8
- package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +81 -2
- package/bin/exiftool_files/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +8 -8
- package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +10 -7
- package/bin/exiftool_files/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +5 -4
- package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +32 -5
- package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +10 -9
- package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/de.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/es.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sk.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Leaf.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LigoGPS.pm +409 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +58 -19
- package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +15 -6
- package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MISB.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +3 -2
- package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +22 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +495 -39
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +8 -8
- package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +49 -18
- package/bin/exiftool_files/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +20 -8
- package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +12 -3
- package/bin/exiftool_files/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +27 -3
- package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +6 -5
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +65 -4
- package/bin/exiftool_files/lib/Image/ExifTool/PostScript.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Protobuf.pm +270 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +326 -88
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +266 -200
- package/bin/exiftool_files/lib/Image/ExifTool/README +12 -2
- package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +21 -6
- package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Shift.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +5 -4
- package/bin/exiftool_files/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +6 -5
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +7025 -6967
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +477 -46
- package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +4 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +6 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Vivo.pm +124 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +166 -79
- package/bin/exiftool_files/lib/Image/ExifTool/WriteRIFF.pl +17 -6
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +89 -96
- package/bin/exiftool_files/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +39 -14
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +103 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +2 -3
- package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool.pm +338 -166
- package/bin/exiftool_files/lib/Image/ExifTool.pod +119 -73
- package/bin/exiftool_files/readme_windows.txt +8 -13
- package/bin/exiftool_files/windows_exiftool.txt +102 -53
- package/package.json +11 -11
|
@@ -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.
|