exiftool-vendored.exe 12.70.0 → 12.73.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/exiftool_files/Changes +53 -1
- package/bin/exiftool_files/README +11 -11
- package/bin/exiftool_files/exiftool.pl +49 -28
- 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 +177 -0
- package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +1 -1
- 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 +4 -3
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +22 -7
- 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 +1 -1
- 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 +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +31 -10
- package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +1 -1
- 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 +60 -7
- package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +6 -3
- package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +17 -2
- package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +1 -1
- 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 +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +8 -5
- package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +1 -1
- 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 +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +17 -6
- 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 +1 -1
- 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 +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +4 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +3 -3
- 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 +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +22 -17
- package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +3 -3
- 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 +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
- 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 +166 -97
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +24 -2
- package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +1 -1
- 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 -2
- 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 +46 -16
- package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +4 -4
- 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 +1 -1
- 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/Qualcomm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +50 -11
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +148 -12
- package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +1 -1
- 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 +111 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +4 -3
- 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 +85 -6
- 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 +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4878 -4830
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +11518 -11379
- package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +1 -1
- 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 +20 -5
- 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 +4 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +5 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +87 -15
- package/bin/exiftool_files/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +19 -3
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +1 -1
- 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 +35 -8
- package/bin/exiftool_files/lib/Image/ExifTool.pod +29 -16
- package/package.json +5 -4
|
@@ -65,13 +65,13 @@ use Image::ExifTool::Exif;
|
|
|
65
65
|
use Image::ExifTool::GPS;
|
|
66
66
|
use Image::ExifTool::XMP;
|
|
67
67
|
|
|
68
|
-
$VERSION = '4.
|
|
68
|
+
$VERSION = '4.29';
|
|
69
69
|
|
|
70
70
|
sub LensIDConv($$$);
|
|
71
71
|
sub ProcessNikonAVI($$$);
|
|
72
72
|
sub ProcessNikonMOV($$$);
|
|
73
73
|
sub ProcessNikonEncrypted($$$);
|
|
74
|
-
sub FormatString(
|
|
74
|
+
sub FormatString($$);
|
|
75
75
|
sub ProcessNikonCaptureEditVersions($$$);
|
|
76
76
|
sub PrintAFPoints($$);
|
|
77
77
|
sub PrintAFPointsInv($$);
|
|
@@ -949,6 +949,15 @@ my %highFrameRateZ9 = (
|
|
|
949
949
|
4 => 'C120',
|
|
950
950
|
);
|
|
951
951
|
|
|
952
|
+
my %imageAreaD6 = (
|
|
953
|
+
0 => 'FX (36x24)',
|
|
954
|
+
1 => 'DX (24x16)',
|
|
955
|
+
2 => '5:4 (30x24)',
|
|
956
|
+
3 => '1.2x (30x20)',
|
|
957
|
+
4 => '1:1 (24x24)',
|
|
958
|
+
6 => '16:9',
|
|
959
|
+
);
|
|
960
|
+
|
|
952
961
|
my %imageAreaZ9 = (
|
|
953
962
|
0 => 'FX',
|
|
954
963
|
1 => 'DX',
|
|
@@ -1987,7 +1996,7 @@ my %base64coord = (
|
|
|
1987
1996
|
},
|
|
1988
1997
|
0x0044 => { #28
|
|
1989
1998
|
Name => 'JPGCompression',
|
|
1990
|
-
RawConv => '($val) ? $val : undef', # undef for raw files
|
|
1999
|
+
RawConv => '($val) ? $val : undef', # undef for raw files
|
|
1991
2000
|
PrintConv => {
|
|
1992
2001
|
1 => 'Size Priority',
|
|
1993
2002
|
3 => 'Optimal Quality',
|
|
@@ -5933,9 +5942,9 @@ my %nikonFocalConversions = (
|
|
|
5933
5942
|
0x10 => { #28
|
|
5934
5943
|
Name => 'ImageArea',
|
|
5935
5944
|
PrintConv => {
|
|
5936
|
-
0 => 'FX (
|
|
5937
|
-
1 => 'DX (
|
|
5938
|
-
2 => '5:4 (
|
|
5945
|
+
0 => 'FX (36x24)',
|
|
5946
|
+
1 => 'DX (24x16)',
|
|
5947
|
+
2 => '5:4 (30x24)',
|
|
5939
5948
|
},
|
|
5940
5949
|
},
|
|
5941
5950
|
0x25d => {
|
|
@@ -7328,6 +7337,10 @@ my %nikonFocalConversions = (
|
|
|
7328
7337
|
Format => 'int16u',
|
|
7329
7338
|
Hidden => 1,
|
|
7330
7339
|
},
|
|
7340
|
+
0x2b => {
|
|
7341
|
+
Name => 'ImageArea',
|
|
7342
|
+
PrintConv => \%imageAreaD6,
|
|
7343
|
+
},
|
|
7331
7344
|
);
|
|
7332
7345
|
|
|
7333
7346
|
%Image::ExifTool::Nikon::IntervalInfoD6 = (
|
|
@@ -8319,6 +8332,10 @@ my %nikonFocalConversions = (
|
|
|
8319
8332
|
Format => 'int16u',
|
|
8320
8333
|
Hidden => 1,
|
|
8321
8334
|
},
|
|
8335
|
+
0x2b => {
|
|
8336
|
+
Name => 'ImageArea',
|
|
8337
|
+
PrintConv => \%imageAreaD6,
|
|
8338
|
+
},
|
|
8322
8339
|
);
|
|
8323
8340
|
|
|
8324
8341
|
%Image::ExifTool::Nikon::PortraitInfoZ7II = (
|
|
@@ -8519,8 +8536,8 @@ my %nikonFocalConversions = (
|
|
|
8519
8536
|
%binaryDataAttrs,
|
|
8520
8537
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
8521
8538
|
DATAMEMBER => [ 0x20, 0x28, 0x2a ],
|
|
8522
|
-
#0x0019 => HDRFrame # For JPG 0=> Not HDR; 1=> file is the blended exposure. For raw files: 0=> Not from an HDR capture sequence; otherwise frame number in the HDR capture sequence -- 'Save Individual Pictures (RAW)' must be enabled.
|
|
8523
|
-
#0x001A => MultipleExposureFrame # For JPG 0=> Not a multiple exposure; 1=> file is the blended exposure. For raw files: 0=> Not a multiple exposure capture; otherwise frame number in the capture sequence -- 'Save Individual Pictures (RAW)' must be enabled.
|
|
8539
|
+
#0x0019 => HDRFrame # For JPG 0=> Not HDR; 1=> file is the blended exposure. For raw files: 0=> Not from an HDR capture sequence; otherwise frame number in the HDR capture sequence -- 'Save Individual Pictures (RAW)' must be enabled.
|
|
8540
|
+
#0x001A => MultipleExposureFrame # For JPG 0=> Not a multiple exposure; 1=> file is the blended exposure. For raw files: 0=> Not a multiple exposure capture; otherwise frame number in the capture sequence -- 'Save Individual Pictures (RAW)' must be enabled.
|
|
8524
8541
|
0x0020 => {
|
|
8525
8542
|
Name => 'FocusShiftShooting',
|
|
8526
8543
|
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96', #not valid for C30/C60/C120
|
|
@@ -8559,24 +8576,18 @@ my %nikonFocalConversions = (
|
|
|
8559
8576
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
8560
8577
|
DATAMEMBER => [ 0x0bea, 0x0beb ],
|
|
8561
8578
|
0x0be8 => {
|
|
8562
|
-
Name => 'AFAreaInitialXPosition', #
|
|
8563
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96
|
|
8579
|
+
Name => 'AFAreaInitialXPosition', #the horizontal position of the center the focus box prior to any subject detection or tracking. Origin is Top Left.
|
|
8580
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96', #not valid for C30/C60/C120
|
|
8564
8581
|
Format => 'int8s',
|
|
8565
8582
|
PrintConv => q{
|
|
8566
|
-
|
|
8567
|
-
#in FX mode and Dynamic(L), the 27 horizontal focus points are spaced 259 pixels apart starting at pixel 761 and ending at 7495
|
|
8568
|
-
#in FX mode and Dynamic(M), the 29 horizontal focus points are spaced 259 pixels apart starting at pixel 502 and ending at 7754
|
|
8569
|
-
#in DX mode and Single-point, the 19 horizontal focus points are spaced 388 pixels apart starting at pixel 636 and ending at 7620. [These correspond to FX positions and match the corresponding values in AFAreaMode tag AFAreaXPosition].
|
|
8570
|
-
#in DX mode and Wide(S), the 17 horizontal focus points are spaced 393 pixels apart starting at pixel 591 and ending at 7272.
|
|
8571
|
-
#in DX mode and Dynamic(L), the 17 horizontal focus points are spaced 388 pixels apart starting at pixel 1024 and ending at 7232
|
|
8572
|
-
#in DX mode and Dynamic(M), the 19 horizontal focus points are spaced 388 pixels apart starting at pixel 636 and ending at 7620
|
|
8573
|
-
|
|
8574
|
-
my $areaMode = $$self{VALUE}{PhotoShootingMenuBankImageArea};
|
|
8583
|
+
my $imageArea = $$self{ImageArea};
|
|
8575
8584
|
my $afAreaMode = $$self{VALUE}{AFAreaMode};
|
|
8576
|
-
my $dynamicAFAreaSize = $$self{
|
|
8585
|
+
my $dynamicAFAreaSize = ( defined $$self{DynamicAFAreaSize} ? $$self{DynamicAFAreaSize} : 0 );
|
|
8577
8586
|
|
|
8578
|
-
my $FX = 0;
|
|
8579
|
-
my $DX = 1;
|
|
8587
|
+
my $FX = 0; #image size 8256 x 5504
|
|
8588
|
+
my $DX = 1; #image size 5392 x 3592
|
|
8589
|
+
my $WideScreen = 4; #16:9 image area, image size 8256x4640
|
|
8590
|
+
my $OneToOne = 8; #1:1 image area, image size 5504x5504
|
|
8580
8591
|
|
|
8581
8592
|
my $Single = 1;
|
|
8582
8593
|
my $Dynamic = 2;
|
|
@@ -8590,54 +8601,51 @@ my %nikonFocalConversions = (
|
|
|
8590
8601
|
my $DynamicM = 1;
|
|
8591
8602
|
my $DynamicL = 2;
|
|
8592
8603
|
|
|
8593
|
-
my $start = 502;
|
|
8594
|
-
$
|
|
8595
|
-
$start = 591 if $areaMode == $DX and $afAreaMode == $WideS ; #DX Wide(S)
|
|
8604
|
+
my $start = 502; #FX, 16:9 & 1:1 formats
|
|
8605
|
+
my $increment = 259; #FX, & 16:9 formats
|
|
8596
8606
|
|
|
8597
|
-
|
|
8598
|
-
$
|
|
8599
|
-
$
|
|
8607
|
+
$start = $start + 5 * $increment if $imageArea == $OneToOne; # need to provide additional offset for the cropped horizontal pixels in 1:1 (19 vs 29 horizontal focus positions)
|
|
8608
|
+
$start = $start - $increment if $val < 49 and ($imageArea == $FX or $imageArea == $WideScreen); #calculations for the left side of the frames are offset by 1 position from the right side
|
|
8609
|
+
$start = $start - $increment if $imageArea == $OneToOne and $afAreaMode == $Auto;
|
|
8600
8610
|
|
|
8601
|
-
|
|
8602
|
-
|
|
8611
|
+
if ($imageArea == $DX) { # DX results are in FX coordinate system to match reporting of ($AFAreaXPosition , $AFAreaYPosition)
|
|
8612
|
+
$start = 636;
|
|
8613
|
+
$increment = 388;
|
|
8614
|
+
if ( $afAreaMode == $WideS ) { #Wide S focus box width is an unusual size
|
|
8615
|
+
$start = 591;
|
|
8616
|
+
$increment = 393;
|
|
8617
|
+
}
|
|
8618
|
+
$start = $start - $increment if $afAreaMode == $Auto ;
|
|
8619
|
+
}
|
|
8620
|
+
|
|
8621
|
+
my $divisor = 3.99; #subtract .01 to ensure $val of 2n+2 rounds up
|
|
8622
|
+
$divisor = 4.01 if $val >= 50; #...but round up on the right side of the frame
|
|
8623
|
+
$divisor = 6 if $imageArea == $DX or $imageArea == $OneToOne;
|
|
8603
8624
|
|
|
8604
|
-
my $
|
|
8605
|
-
$offsetVal = 12 if $areaMode == $FX and $afAreaMode == $Dynamic ; #FX Dynamic (L/M) - force positive values so perl rounding toward zero isn't an issue
|
|
8606
|
-
$offsetVal = 18 if $areaMode == $DX and $afAreaMode == $Dynamic ; #DX Dynamic (L/M)
|
|
8625
|
+
my $roundedValOverDivisor = sprintf("%.0f", $val / $divisor); #round to nearest int
|
|
8607
8626
|
|
|
8608
|
-
my $
|
|
8609
|
-
$
|
|
8627
|
+
my $focusBoxWidth = $$self{AFAreaInitialWidth} ; #wider focus boxes (e.g., DynM, DynL and some Wide C1/C2) will start and end closer to the center of the frame
|
|
8628
|
+
$focusBoxWidth = int($focusBoxWidth * 2 / 3) if $imageArea == $DX or $imageArea == $OneToOne ;
|
|
8610
8629
|
|
|
8611
|
-
my $
|
|
8612
|
-
$ncol = int($ncol * 2 / 3) if $areaMode == $DX ; #DX
|
|
8630
|
+
my $skipPositions = int($focusBoxWidth / 2); #jump over half the width of the focus box
|
|
8613
8631
|
|
|
8614
|
-
|
|
8615
|
-
#FX Wide(S/L/C1/C2) [6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117] to 502, 761, 1020, 1279, 1538, 1797, 2056, 2315, 2574, 2833, 3092, 3351, 3610, 3869, 4128, 4387, 4646, 4905, 5164, 5423, 5682, 5941, 6200, 6459, 6718, 6977, 7236, 7495, 7754]
|
|
8616
|
-
#DX Wide(L/C1/C2) map for Wide(L)/C1/C2 [6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 67, 73, 79, 85, 91, 97, 103, 109, 115] to [636, 1024, 1412, 1800, 2188, 2576, 2964, 3352, 3740, 4128, 4516, 4904, 5292, 5680, 6068, 6456, 6844, 7232, 7620]
|
|
8617
|
-
#DX Wide(S) for Wide(S) [6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 67, 73, 79, 85, 91, 97, 103] to [984, 1377, 1770, 2163, 2556, 2949, 3342, 3735, 4128, 4521, 4914, 5307, 5700, 6093, 6486, 6879, 7272]
|
|
8618
|
-
#FX Dynamic (L) map [-9, -5, -1, 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93] to [761, 1020, 1279, 1538, 1797, 2056, 2315, 2574, 2833, 3092, 3351, 3610, 3869, 4128, 4387, 4646, 4905, 5164, 5423, 5682, 5941, 6200, 6459, 6718, 6977, 7236, 7495]
|
|
8632
|
+
my $result = $start + $increment * ($roundedValOverDivisor + $skipPositions - 1 ) ;
|
|
8619
8633
|
|
|
8620
|
-
return $
|
|
8634
|
+
return $result;
|
|
8621
8635
|
},
|
|
8622
8636
|
},
|
|
8623
8637
|
0x0be9 => {
|
|
8624
|
-
Name =>'AFAreaInitialYPosition', #
|
|
8625
|
-
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96
|
|
8638
|
+
Name =>'AFAreaInitialYPosition', #the vertical position of the center the focus box prior to any subject detection or tracking. Origin is Top Left.
|
|
8639
|
+
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96', #not valid for C30/C60/C120 or for Area Modes 1:1 and 16:9
|
|
8626
8640
|
Format => 'int8s',
|
|
8627
8641
|
PrintConv => q{
|
|
8628
|
-
|
|
8629
|
-
#in FX mode and Dynamic(L), the 15 vertical focus points are spaced 291 pixels apart starting at pixel 715 and ending at 4789
|
|
8630
|
-
#in FX mode and Dynamic(M), the 17 vertical l focus points are spaced 291 pixels apart starting at pixel 424 and ending at 5080
|
|
8631
|
-
#in DX mode and Single-point, the 11 vertical focus points are spaced 436 pixels apart starting at pixel 572 and ending at 4932. [These correspond to FX positions and match the corresponding values in AFAreaMode tag AFAreaYPosition].
|
|
8632
|
-
#in DX Mode and Wide(S) the 9 vertical focus points are spaced 442 pixels apart starting at pixel 542 and ending at 4520
|
|
8633
|
-
#in DX mode and Dynamic(L), the 9 vertical focus points are spaced 436 pixels apart starting at pixel 1008 and ending at 4496
|
|
8634
|
-
|
|
8635
|
-
my $areaMode = $$self{VALUE}{PhotoShootingMenuBankImageArea};
|
|
8642
|
+
my $imageArea = $$self{ImageArea};
|
|
8636
8643
|
my $afAreaMode = $$self{VALUE}{AFAreaMode};
|
|
8637
|
-
my $dynamicAFAreaSize = $$self{VALUE}{DynamicAFAreaSize};
|
|
8638
8644
|
|
|
8639
|
-
my $FX = 0;
|
|
8640
|
-
my $DX = 1;
|
|
8645
|
+
my $FX = 0; #image size 8256 x 5504
|
|
8646
|
+
my $DX = 1; #image size 5392 x 3592
|
|
8647
|
+
my $WideScreen = 4; #16:9 image area, image size 8256x4640
|
|
8648
|
+
my $OneToOne = 8; #1:1 image area, image size 5504x5504
|
|
8641
8649
|
|
|
8642
8650
|
my $Single = 1;
|
|
8643
8651
|
my $Dynamic = 2;
|
|
@@ -8651,49 +8659,42 @@ my %nikonFocalConversions = (
|
|
|
8651
8659
|
my $DynamicM = 1;
|
|
8652
8660
|
my $DynamicL = 2;
|
|
8653
8661
|
|
|
8654
|
-
my $start = 424;
|
|
8655
|
-
$
|
|
8656
|
-
$start =
|
|
8657
|
-
|
|
8658
|
-
my $increment = 291; #FX - all flavors
|
|
8659
|
-
$increment = 436 if $areaMode == $DX and ($afAreaMode == $Dynamic or $afAreaMode == $WideL or $afAreaMode == $ThreeD or $afAreaMode == $Auto or $afAreaMode >= $WideC1); #DX Wide(L/C1/C2) + Dynamic (L/M/S) +3D + Auto
|
|
8660
|
-
$increment = 442 if $areaMode == $DX and $afAreaMode == 3 ; #DX Wide(S)
|
|
8662
|
+
my $start = 424; #FX, 16:9 & 1:1 formats
|
|
8663
|
+
my $increment = 291; #FX, & 16:9 formats
|
|
8664
|
+
$start = $start + $increment if $imageArea == $WideScreen and $val > 0;
|
|
8661
8665
|
|
|
8662
|
-
|
|
8663
|
-
|
|
8666
|
+
if ($imageArea == $DX) { # DX results are in FX coordinate system to match reporting of ($AFAreaXPosition , $AFAreaYPosition)
|
|
8667
|
+
$start = 572;
|
|
8668
|
+
$increment = 436;
|
|
8669
|
+
if ( $afAreaMode == $WideS ) { #Wide S focus box is a strange size
|
|
8670
|
+
$start = 542;
|
|
8671
|
+
$increment = 442;
|
|
8672
|
+
}
|
|
8673
|
+
}
|
|
8664
8674
|
|
|
8665
|
-
my $
|
|
8666
|
-
$
|
|
8667
|
-
$
|
|
8668
|
-
$offsetVal = 40 if $areaMode == $FX and (($afAreaMode == $Dynamic and $dynamicAFAreaSize == $DynamicS) or $afAreaMode == $ThreeD) ; #FX Dynamic (S) or 3D
|
|
8669
|
-
$offsetVal = 38 if $areaMode == $DX and ($afAreaMode == $Dynamic and $dynamicAFAreaSize == $DynamicS ) ; #DX Dynamic (S)or 3D
|
|
8675
|
+
my $divisor = 6.67;
|
|
8676
|
+
$divisor = 10.01 if $imageArea == $DX ; #extra .01 to ensure $val of 10*n+5 rounds down
|
|
8677
|
+
$divisor = 8.01 if $imageArea == $WideScreen ;
|
|
8670
8678
|
|
|
8671
|
-
my $
|
|
8672
|
-
$offsetSum = -6 if $areaMode == $FX and ($afAreaMode == $Dynamic or $afAreaMode == $ThreeD); #FX Dynamic (L/M/S) or 3D
|
|
8673
|
-
$offsetSum = -4 if $areaMode == $DX and ($afAreaMode == $Dynamic or $afAreaMode == $ThreeD ); #DX Dynamic (L/M/S) or 3D
|
|
8679
|
+
my $roundedValOverDivisor = sprintf("%.0f", $val / $divisor); #round to nearest int
|
|
8674
8680
|
|
|
8675
|
-
my $
|
|
8676
|
-
$
|
|
8681
|
+
my $focusBoxHeight = $$self{AFAreaInitialHeight} ; #wider focus boxes (e.g., DynM, DynL and some Wide C1/C2) will start and end closer to the center of the frame
|
|
8682
|
+
$focusBoxHeight = int($focusBoxHeight * 2 / 3) if $imageArea == $DX ;
|
|
8677
8683
|
|
|
8678
|
-
#
|
|
8679
|
-
#FX Wide(S/L/C1/C2) map [7, 13, 20, 27, 33, 40, 47, 53, 60, 67, 74, 80, 87, 94, 100, 107, 114] to [424, 715, 1006, 1297, 1588, 1879, 2170, 2461, 2752, 3043, 3334, 3625, 3916, 4207, 4498, 4789, 5080]
|
|
8680
|
-
#DX Wide(L/C1/C2) map [7, 17, 28, 38, 48, 58, 69, 79, 89, 100, 110] to [572, 1008, 1444, 1880, 2316, 2752, 3188, 3624, 4060, 4496, 4932]
|
|
8681
|
-
#DX Wide(S) map for Wide(S) [7, 17, 28, 38, 48, 58, 69, 79, 89] to [984, 1426, 1868, 2310, 2752, 3194, 3636, 4078, 4520]
|
|
8682
|
-
#FX Dynamic (L) map [-19, -13, -6, 0, 7, 13, 20, 27, 33, 40, 47, 53, 60, 67, 74] to [715, 1006, 1297, 1588, 1879, 2170, 2461, 2752, 3043, 3334, 3625, 3916, 4207, 4498, 4789]
|
|
8684
|
+
my $skipPositions = int($focusBoxHeight / 2); #jump over half the height of the focus box
|
|
8683
8685
|
|
|
8684
|
-
|
|
8686
|
+
my $result = $start + $increment * ($roundedValOverDivisor + $skipPositions - 1 ) ;
|
|
8687
|
+
return $result;
|
|
8685
8688
|
},
|
|
8686
8689
|
},
|
|
8687
8690
|
0x0bea => {
|
|
8688
8691
|
Name => 'AFAreaInitialWidth',
|
|
8689
8692
|
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96', #not valid for C30/C60/C120
|
|
8690
|
-
ValueConv => '$$self{VALUE}{PhotoShootingMenuBankImageArea} eq 0 ? $val : int($val * 2 / 3)', #DX mode requires scaling down TODO: add support ImageAreas 1:1 and 16:9
|
|
8691
8693
|
RawConv => '$$self{AFAreaInitialWidth} = 1 + int ($val / 4)', #convert from [3, 11, 19, 35, 51, 75] to [1, 3, 5, 9 13, 19] to match camera options for C1/C2 focus modes .. input/output of 11/3 is for Wide(S)
|
|
8692
8694
|
},
|
|
8693
8695
|
0x0beb => {
|
|
8694
8696
|
Name => 'AFAreaInitialHeight',
|
|
8695
8697
|
Condition => '$$self{ShutterMode} and $$self{ShutterMode} ne 96', #not valid for C30/C60/C120
|
|
8696
|
-
ValueConv => '$$self{VALUE}{PhotoShootingMenuBankImageArea} eq 0 ? $val : int($val * 2 / 3)', #DX mode requires scaling down TODO: add support ImageAreas 1:1 and 16:9
|
|
8697
8698
|
RawConv => '$$self{AFAreaInitialHeight} = 1 + int ($val / 7) ', #convert from [6, 20, 33, 46, 73] to [1, 3, 5, 7, 11] to match camera options for C1/C2 focus modes .. input/output of 33/5 is for Wide(L)
|
|
8698
8699
|
},
|
|
8699
8700
|
);
|
|
@@ -9384,7 +9385,7 @@ my %nikonFocalConversions = (
|
|
|
9384
9385
|
%Image::ExifTool::Nikon::MenuSettingsZ9 = (
|
|
9385
9386
|
%binaryDataAttrs,
|
|
9386
9387
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
9387
|
-
DATAMEMBER => [ 140, 188, 192, 232, 424, 528, 534, 576 ],
|
|
9388
|
+
DATAMEMBER => [ 140, 188, 192, 232, 308, 424, 528, 534, 576 ],
|
|
9388
9389
|
IS_SUBDIR => [ 799 ],
|
|
9389
9390
|
NOTES => 'These tags are used by the Z9.',
|
|
9390
9391
|
#90 ISO
|
|
@@ -9429,7 +9430,7 @@ my %nikonFocalConversions = (
|
|
|
9429
9430
|
},
|
|
9430
9431
|
274 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
|
9431
9432
|
276 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, #single tag from both Photo & Video menus
|
|
9432
|
-
308 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
|
|
9433
|
+
308 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
|
9433
9434
|
#310 ImageQuality
|
|
9434
9435
|
322 => { Name => 'AutoISO', PrintConv => \%offOn },
|
|
9435
9436
|
324 => {
|
|
@@ -9595,7 +9596,7 @@ my %nikonFocalConversions = (
|
|
|
9595
9596
|
%Image::ExifTool::Nikon::MenuSettingsZ9v3 = (
|
|
9596
9597
|
%binaryDataAttrs,
|
|
9597
9598
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
9598
|
-
DATAMEMBER => [ 154, 204, 208, 248, 444, 548, 554, 596 ],
|
|
9599
|
+
DATAMEMBER => [ 154, 204, 208, 248, 328, 444, 548, 554, 596 ],
|
|
9599
9600
|
IS_SUBDIR => [ 847 ],
|
|
9600
9601
|
NOTES => 'These tags are used by the Z9 firmware 3.00.',
|
|
9601
9602
|
72 => {
|
|
@@ -9642,7 +9643,7 @@ my %nikonFocalConversions = (
|
|
|
9642
9643
|
},
|
|
9643
9644
|
290 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
|
9644
9645
|
292 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
|
9645
|
-
328 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
|
|
9646
|
+
328 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
|
9646
9647
|
342 => { Name => 'AutoISO', PrintConv => \%offOn },
|
|
9647
9648
|
344 => {
|
|
9648
9649
|
Name => 'ISOAutoHiLimit',
|
|
@@ -9828,7 +9829,7 @@ my %nikonFocalConversions = (
|
|
|
9828
9829
|
%Image::ExifTool::Nikon::MenuSettingsZ9v4 = (
|
|
9829
9830
|
%binaryDataAttrs,
|
|
9830
9831
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
9831
|
-
DATAMEMBER => [ 154, 204, 208, 248, 444, 548, 554, 570, 596 ],
|
|
9832
|
+
DATAMEMBER => [ 154, 204, 208, 248, 328, 444, 548, 554, 570, 596 ],
|
|
9832
9833
|
IS_SUBDIR => [ 847 ],
|
|
9833
9834
|
NOTES => 'These tags are used by the Z9 firmware 3.00.',
|
|
9834
9835
|
72 => {
|
|
@@ -9875,7 +9876,7 @@ my %nikonFocalConversions = (
|
|
|
9875
9876
|
},
|
|
9876
9877
|
290 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
|
|
9877
9878
|
292 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
|
|
9878
|
-
328 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
|
|
9879
|
+
328 => { Name => 'PhotoShootingMenuBankImageArea', RawConv => '$$self{ImageArea} = $val', PrintConv => \%imageAreaZ9 },
|
|
9879
9880
|
#334 JPGCompression 0 => 'Size Priority', 1 => 'Optimal Quality',
|
|
9880
9881
|
342 => { Name => 'AutoISO', PrintConv => \%offOn },
|
|
9881
9882
|
344 => {
|
|
@@ -11429,13 +11430,80 @@ my %nikonFocalConversions = (
|
|
|
11429
11430
|
# 0x02 - undef[148]
|
|
11430
11431
|
# 0x03 - undef[284]
|
|
11431
11432
|
# 0x04 - undef[148,212]
|
|
11432
|
-
|
|
11433
|
-
|
|
11433
|
+
0x05 => { #28
|
|
11434
|
+
Name => 'DistortionInfo', # Z-series distortion correction information
|
|
11435
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::DistortionInfo' },
|
|
11436
|
+
},
|
|
11437
|
+
0x06 => { #28
|
|
11438
|
+
Name => 'VignetteInfo', # Z-series vignette correction information
|
|
11439
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::VignetteInfo' },
|
|
11440
|
+
},
|
|
11434
11441
|
# 0x07 - undef[104]
|
|
11435
11442
|
# 0x08 - undef[24]
|
|
11436
11443
|
# 0x09 - undef[36]
|
|
11437
11444
|
);
|
|
11438
11445
|
|
|
11446
|
+
# Z-series distortion correction information (correction model is appears to be a cubic polynomial) (ref 28)
|
|
11447
|
+
%Image::ExifTool::Nikon::DistortionInfo = (
|
|
11448
|
+
%binaryDataAttrs,
|
|
11449
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
11450
|
+
0 => {
|
|
11451
|
+
Name => 'DistortionCorrectionVersion',
|
|
11452
|
+
Format => 'string[4]',
|
|
11453
|
+
},
|
|
11454
|
+
4 => {
|
|
11455
|
+
Name => 'DistortionCorrection', #used by ACR to determine whether the built-in lens profile is applied
|
|
11456
|
+
Format => 'int8u',
|
|
11457
|
+
PrintConv => {
|
|
11458
|
+
1 => 'On (Optional)',
|
|
11459
|
+
2 => 'Off',
|
|
11460
|
+
3 => 'On (Required)',
|
|
11461
|
+
},
|
|
11462
|
+
},
|
|
11463
|
+
#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)
|
|
11464
|
+
0x14 => {
|
|
11465
|
+
Name => 'RadialDistortionCoefficient1',
|
|
11466
|
+
Format => 'rational64s',
|
|
11467
|
+
PrintConv => 'sprintf("%.5f",$val)',
|
|
11468
|
+
},
|
|
11469
|
+
0x1c => {
|
|
11470
|
+
Name => 'RadialDistortionCoefficient2',
|
|
11471
|
+
Format => 'rational64s',
|
|
11472
|
+
PrintConv => 'sprintf("%.5f",$val)',
|
|
11473
|
+
},
|
|
11474
|
+
0x24 => {
|
|
11475
|
+
Name => 'RadialDistortionCoefficient3',
|
|
11476
|
+
Format => 'rational64s',
|
|
11477
|
+
PrintConv => 'sprintf("%.5f",$val)',
|
|
11478
|
+
},
|
|
11479
|
+
);
|
|
11480
|
+
|
|
11481
|
+
# Z-series vignette correction information (correction model seems to be using a 6th order even polynomial) (ref 28)
|
|
11482
|
+
%Image::ExifTool::Nikon::VignetteInfo = (
|
|
11483
|
+
%binaryDataAttrs,
|
|
11484
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
11485
|
+
0 => {
|
|
11486
|
+
Name => 'VignetteCorrectionVersion',
|
|
11487
|
+
Format => 'string[4]',
|
|
11488
|
+
},
|
|
11489
|
+
#0x10 Degree of vignette correction polynomial? (always 8? - decodes for the first 3 coefficents follow, the 4th at 0x4c/0x50 seems to always be 0)
|
|
11490
|
+
0x24 => {
|
|
11491
|
+
Name => 'VignetteCoefficient1',
|
|
11492
|
+
Format => 'rational64s',
|
|
11493
|
+
PrintConv => 'sprintf("%.5f",$val)',
|
|
11494
|
+
},
|
|
11495
|
+
0x34 => {
|
|
11496
|
+
Name => 'VignetteCoefficient2',
|
|
11497
|
+
Format => 'rational64s',
|
|
11498
|
+
PrintConv => 'sprintf("%.5f",$val)',
|
|
11499
|
+
},
|
|
11500
|
+
0x44 => {
|
|
11501
|
+
Name => 'VignetteCoefficient3',
|
|
11502
|
+
Format => 'rational64s',
|
|
11503
|
+
PrintConv => 'sprintf("%.5f",$val)',
|
|
11504
|
+
},
|
|
11505
|
+
);
|
|
11506
|
+
|
|
11439
11507
|
# tags in Nikon QuickTime videos (PH - observations with Coolpix S3)
|
|
11440
11508
|
# (similar information in Kodak,Minolta,Nikon,Olympus,Pentax and Sanyo videos)
|
|
11441
11509
|
%Image::ExifTool::Nikon::MOV = (
|
|
@@ -12663,15 +12731,16 @@ sub LensIDConv($$$)
|
|
|
12663
12731
|
|
|
12664
12732
|
#------------------------------------------------------------------------------
|
|
12665
12733
|
# Clean up formatting of string values
|
|
12666
|
-
# Inputs: 0) string value
|
|
12734
|
+
# Inputs: 0) string value, 1) ExifTool ref
|
|
12667
12735
|
# Returns: formatted string value
|
|
12668
12736
|
# - removes trailing spaces and changes case to something more sensible
|
|
12669
|
-
sub FormatString(
|
|
12737
|
+
sub FormatString($$)
|
|
12670
12738
|
{
|
|
12671
|
-
my $str =
|
|
12739
|
+
my ($str, $et) = @_;
|
|
12672
12740
|
# limit string length (can be very long for some unknown tags)
|
|
12673
|
-
|
|
12674
|
-
|
|
12741
|
+
my $lim = $et->Options('LimitLongValues');
|
|
12742
|
+
if (length($str) > $lim and $lim >= 5) {
|
|
12743
|
+
$str = substr($str,0,$lim-5) . "[...]";
|
|
12675
12744
|
} else {
|
|
12676
12745
|
$str =~ s/\s+$//; # remove trailing white space
|
|
12677
12746
|
# Don't change case of non-words (no vowels)
|
|
@@ -13361,7 +13430,7 @@ Nikon maker notes in EXIF information.
|
|
|
13361
13430
|
|
|
13362
13431
|
=head1 AUTHOR
|
|
13363
13432
|
|
|
13364
|
-
Copyright 2003-
|
|
13433
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
13365
13434
|
|
|
13366
13435
|
This library is free software; you can redistribute it and/or modify it
|
|
13367
13436
|
under the same terms as Perl itself.
|
|
@@ -918,7 +918,7 @@ the maker notes of NEF images.
|
|
|
918
918
|
|
|
919
919
|
=head1 AUTHOR
|
|
920
920
|
|
|
921
|
-
Copyright 2003-
|
|
921
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
922
922
|
|
|
923
923
|
This library is free software; you can redistribute it and/or modify it
|
|
924
924
|
under the same terms as Perl itself.
|
|
@@ -10898,7 +10898,7 @@ this information.
|
|
|
10898
10898
|
|
|
10899
10899
|
=head1 AUTHOR
|
|
10900
10900
|
|
|
10901
|
-
Copyright 2003-
|
|
10901
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
10902
10902
|
|
|
10903
10903
|
This library is free software; you can redistribute it and/or modify it
|
|
10904
10904
|
under the same terms as Perl itself.
|
|
@@ -2077,7 +2077,7 @@ Nikon cameras such as the D6 and Z7mk2.
|
|
|
2077
2077
|
|
|
2078
2078
|
=head1 AUTHOR
|
|
2079
2079
|
|
|
2080
|
-
Copyright 2003-
|
|
2080
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2081
2081
|
|
|
2082
2082
|
This library is free software; you can redistribute it and/or modify it
|
|
2083
2083
|
under the same terms as Perl itself.
|
|
@@ -107,7 +107,7 @@ interpret Nintendo maker notes EXIF meta information.
|
|
|
107
107
|
|
|
108
108
|
=head1 AUTHOR
|
|
109
109
|
|
|
110
|
-
Copyright 2003-
|
|
110
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
111
111
|
|
|
112
112
|
This library is free software; you can redistribute it and/or modify it
|
|
113
113
|
under the same terms as Perl itself.
|
|
@@ -395,7 +395,7 @@ archives of XML files.
|
|
|
395
395
|
|
|
396
396
|
=head1 AUTHOR
|
|
397
397
|
|
|
398
|
-
Copyright 2003-
|
|
398
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
399
399
|
|
|
400
400
|
This library is free software; you can redistribute it and/or modify it
|
|
401
401
|
under the same terms as Perl itself.
|
|
@@ -214,7 +214,7 @@ information from Ogg bitstream container files.
|
|
|
214
214
|
|
|
215
215
|
=head1 AUTHOR
|
|
216
216
|
|
|
217
|
-
Copyright 2003-
|
|
217
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
218
218
|
|
|
219
219
|
This library is free software; you can redistribute it and/or modify it
|
|
220
220
|
under the same terms as Perl itself.
|
|
@@ -4181,7 +4181,7 @@ Olympus or Epson maker notes in EXIF information.
|
|
|
4181
4181
|
|
|
4182
4182
|
=head1 AUTHOR
|
|
4183
4183
|
|
|
4184
|
-
Copyright 2003-
|
|
4184
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
4185
4185
|
|
|
4186
4186
|
This library is free software; you can redistribute it and/or modify it
|
|
4187
4187
|
under the same terms as Perl itself.
|
|
@@ -321,7 +321,7 @@ information from OpenEXR images.
|
|
|
321
321
|
|
|
322
322
|
=head1 AUTHOR
|
|
323
323
|
|
|
324
|
-
Copyright 2003-
|
|
324
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
325
325
|
|
|
326
326
|
This library is free software; you can redistribute it and/or modify it
|
|
327
327
|
under the same terms as Perl itself.
|
|
@@ -69,7 +69,7 @@ information from Ogg Opus audio files.
|
|
|
69
69
|
|
|
70
70
|
=head1 AUTHOR
|
|
71
71
|
|
|
72
|
-
Copyright 2003-
|
|
72
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
73
73
|
|
|
74
74
|
This library is free software; you can redistribute it and/or modify it
|
|
75
75
|
under the same terms as Perl itself.
|
|
@@ -71,7 +71,7 @@ information from Portable FloatMap (PFM) images.
|
|
|
71
71
|
|
|
72
72
|
=head1 AUTHOR
|
|
73
73
|
|
|
74
|
-
Copyright 2003-
|
|
74
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
75
75
|
|
|
76
76
|
This library is free software; you can redistribute it and/or modify it
|
|
77
77
|
under the same terms as Perl itself.
|
|
@@ -114,7 +114,7 @@ information from PC Paintbrush (PCX) files.
|
|
|
114
114
|
|
|
115
115
|
=head1 AUTHOR
|
|
116
116
|
|
|
117
|
-
Copyright 2003-
|
|
117
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
118
118
|
|
|
119
119
|
This library is free software; you can redistribute it and/or modify it
|
|
120
120
|
under the same terms as Perl itself.
|
|
@@ -2416,7 +2416,7 @@ and AESV3 (AES-256).
|
|
|
2416
2416
|
|
|
2417
2417
|
=head1 AUTHOR
|
|
2418
2418
|
|
|
2419
|
-
Copyright 2003-
|
|
2419
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2420
2420
|
|
|
2421
2421
|
This library is free software; you can redistribute it and/or modify it
|
|
2422
2422
|
under the same terms as Perl itself.
|
|
@@ -119,7 +119,7 @@ information from Progressive Graphics File (PGF) images.
|
|
|
119
119
|
|
|
120
120
|
=head1 AUTHOR
|
|
121
121
|
|
|
122
|
-
Copyright 2003-
|
|
122
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
123
123
|
|
|
124
124
|
This library is free software; you can redistribute it and/or modify it
|
|
125
125
|
under the same terms as Perl itself.
|
|
@@ -1236,7 +1236,7 @@ Verbose or the Unknown option.
|
|
|
1236
1236
|
|
|
1237
1237
|
=head1 AUTHOR
|
|
1238
1238
|
|
|
1239
|
-
Copyright 2003-
|
|
1239
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1240
1240
|
|
|
1241
1241
|
This library is free software; you can redistribute it and/or modify it
|
|
1242
1242
|
under the same terms as Perl itself.
|
|
@@ -450,7 +450,7 @@ This module decodes both the binary and XML-based PLIST format.
|
|
|
450
450
|
|
|
451
451
|
=head1 AUTHOR
|
|
452
452
|
|
|
453
|
-
Copyright 2003-
|
|
453
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
454
454
|
|
|
455
455
|
This library is free software; you can redistribute it and/or modify it
|
|
456
456
|
under the same terms as Perl itself.
|
|
@@ -2601,7 +2601,7 @@ Definitions for PLUS (Picture Licensing Universal System) tags.
|
|
|
2601
2601
|
|
|
2602
2602
|
=head1 AUTHOR
|
|
2603
2603
|
|
|
2604
|
-
Copyright 2003-
|
|
2604
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2605
2605
|
|
|
2606
2606
|
This library is free software; you can redistribute it and/or modify it
|
|
2607
2607
|
under the same terms as Perl itself.
|