exiftool_vendored 12.11.0 → 12.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.
- checksums.yaml +4 -4
- data/bin/Changes +62 -2
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +70 -36
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool.pm +39 -4
- data/bin/lib/Image/ExifTool.pod +12 -8
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/APP12.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +1 -1
- data/bin/lib/Image/ExifTool/Audible.pm +1 -1
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BPG.pm +1 -1
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +10 -4
- data/bin/lib/Image/ExifTool/Canon.pm +3 -2
- data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +1 -1
- data/bin/lib/Image/ExifTool/Charset.pm +1 -1
- data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- data/bin/lib/Image/ExifTool/DJI.pm +28 -2
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- data/bin/lib/Image/ExifTool/DPX.pm +4 -4
- data/bin/lib/Image/ExifTool/DV.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +14 -1
- data/bin/lib/Image/ExifTool/FITS.pm +1 -1
- data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +1 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +1 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +30 -11
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +1 -1
- data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/ISO.pm +1 -1
- data/bin/lib/Image/ExifTool/ITC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +3 -3
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +24 -2
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +1 -1
- data/bin/lib/Image/ExifTool/JVC.pm +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +9 -4
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +1 -1
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/MNG.pm +1 -1
- data/bin/lib/Image/ExifTool/MOI.pm +1 -1
- data/bin/lib/Image/ExifTool/MPC.pm +1 -1
- data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +1 -1
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +315 -35
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonSettings.pm +2013 -0
- data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +2 -1
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/Opus.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +10 -2
- data/bin/lib/Image/ExifTool/PGF.pm +1 -1
- data/bin/lib/Image/ExifTool/PICT.pm +1 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +12 -4
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- data/bin/lib/Image/ExifTool/PSP.pm +1 -1
- data/bin/lib/Image/ExifTool/Palm.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -2
- data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +38 -23
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +46 -7
- data/bin/lib/Image/ExifTool/RIFF.pm +83 -5
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- data/bin/lib/Image/ExifTool/Red.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
- data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- data/bin/lib/Image/ExifTool/Shift.pl +1 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +8 -2
- data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- data/bin/lib/Image/ExifTool/Stim.pm +1 -1
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +3943 -3807
- data/bin/lib/Image/ExifTool/TagNames.pod +312 -18
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +1 -1
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
- data/bin/lib/Image/ExifTool/Writer.pl +26 -14
- data/bin/lib/Image/ExifTool/XMP.pm +17 -8
- data/bin/lib/Image/ExifTool/XMP2.pl +5 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +9 -4
|
@@ -2544,7 +2544,7 @@ tag name. For example:
|
|
|
2544
2544
|
|
|
2545
2545
|
=head1 AUTHOR
|
|
2546
2546
|
|
|
2547
|
-
Copyright 2003-
|
|
2547
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2548
2548
|
|
|
2549
2549
|
This library is free software; you can redistribute it and/or modify it
|
|
2550
2550
|
under the same terms as Perl itself. The MIE format itself is also
|
|
@@ -356,7 +356,7 @@ A few examples of combined units strings:
|
|
|
356
356
|
|
|
357
357
|
=head1 AUTHOR
|
|
358
358
|
|
|
359
|
-
Copyright 2003-
|
|
359
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
360
360
|
|
|
361
361
|
This library is free software; you can redistribute it and/or modify it
|
|
362
362
|
under the same terms as Perl itself.
|
|
@@ -255,7 +255,7 @@ This module contains routines required by Image::ExifTool to read MIFF
|
|
|
255
255
|
|
|
256
256
|
=head1 AUTHOR
|
|
257
257
|
|
|
258
|
-
Copyright 2003-
|
|
258
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
259
259
|
|
|
260
260
|
This library is free software; you can redistribute it and/or modify it
|
|
261
261
|
under the same terms as Perl itself.
|
|
@@ -661,7 +661,7 @@ This module contains definitions required by Image::ExifTool to read MNG
|
|
|
661
661
|
|
|
662
662
|
=head1 AUTHOR
|
|
663
663
|
|
|
664
|
-
Copyright 2003-
|
|
664
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
665
665
|
|
|
666
666
|
This library is free software; you can redistribute it and/or modify it
|
|
667
667
|
under the same terms as Perl itself.
|
|
@@ -137,7 +137,7 @@ information from MOI files.
|
|
|
137
137
|
|
|
138
138
|
=head1 AUTHOR
|
|
139
139
|
|
|
140
|
-
Copyright 2003-
|
|
140
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
141
141
|
|
|
142
142
|
This library is free software; you can redistribute it and/or modify it
|
|
143
143
|
under the same terms as Perl itself.
|
|
@@ -134,7 +134,7 @@ information from Musepack (MPC) audio files.
|
|
|
134
134
|
|
|
135
135
|
=head1 AUTHOR
|
|
136
136
|
|
|
137
|
-
Copyright 2003-
|
|
137
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
138
138
|
|
|
139
139
|
This library is free software; you can redistribute it and/or modify it
|
|
140
140
|
under the same terms as Perl itself.
|
|
@@ -704,7 +704,7 @@ based on unofficial sources which may be incomplete, inaccurate or outdated.
|
|
|
704
704
|
|
|
705
705
|
=head1 AUTHOR
|
|
706
706
|
|
|
707
|
-
Copyright 2003-
|
|
707
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
708
708
|
|
|
709
709
|
This library is free software; you can redistribute it and/or modify it
|
|
710
710
|
under the same terms as Perl itself.
|
|
@@ -266,7 +266,7 @@ Format (MPF) information from JPEG images.
|
|
|
266
266
|
|
|
267
267
|
=head1 AUTHOR
|
|
268
268
|
|
|
269
|
-
Copyright 2003-
|
|
269
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
270
270
|
|
|
271
271
|
This library is free software; you can redistribute it and/or modify it
|
|
272
272
|
under the same terms as Perl itself.
|
|
@@ -756,7 +756,7 @@ must be loaded explicitly as described above.
|
|
|
756
756
|
|
|
757
757
|
=head1 AUTHOR
|
|
758
758
|
|
|
759
|
-
Copyright 2003-
|
|
759
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
760
760
|
|
|
761
761
|
This library is free software; you can redistribute it and/or modify it
|
|
762
762
|
under the same terms as Perl itself.
|
|
@@ -2987,7 +2987,7 @@ information from MXF (Material Exchange Format) files.
|
|
|
2987
2987
|
|
|
2988
2988
|
=head1 AUTHOR
|
|
2989
2989
|
|
|
2990
|
-
Copyright 2003-
|
|
2990
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2991
2991
|
|
|
2992
2992
|
This library is free software; you can redistribute it and/or modify it
|
|
2993
2993
|
under the same terms as Perl itself.
|
|
@@ -721,7 +721,7 @@ Writable tags use "xattr", "setfile" or "osascript" for writing.
|
|
|
721
721
|
|
|
722
722
|
=head1 AUTHOR
|
|
723
723
|
|
|
724
|
-
Copyright 2003-
|
|
724
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
725
725
|
|
|
726
726
|
This library is free software; you can redistribute it and/or modify it
|
|
727
727
|
under the same terms as Perl itself.
|
|
@@ -1812,7 +1812,7 @@ maker notes in EXIF information.
|
|
|
1812
1812
|
|
|
1813
1813
|
=head1 AUTHOR
|
|
1814
1814
|
|
|
1815
|
-
Copyright 2003-
|
|
1815
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1816
1816
|
|
|
1817
1817
|
This library is free software; you can redistribute it and/or modify it
|
|
1818
1818
|
under the same terms as Perl itself.
|
|
@@ -914,7 +914,7 @@ information from Matroska multimedia files (MKA, MKV, MKS and WEBM).
|
|
|
914
914
|
|
|
915
915
|
=head1 AUTHOR
|
|
916
916
|
|
|
917
|
-
Copyright 2003-
|
|
917
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
918
918
|
|
|
919
919
|
This library is free software; you can redistribute it and/or modify it
|
|
920
920
|
under the same terms as Perl itself.
|
|
@@ -884,7 +884,7 @@ Microsoft-specific EXIF and XMP tags.
|
|
|
884
884
|
|
|
885
885
|
=head1 AUTHOR
|
|
886
886
|
|
|
887
|
-
Copyright 2003-
|
|
887
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
888
888
|
|
|
889
889
|
This library is free software; you can redistribute it and/or modify it
|
|
890
890
|
under the same terms as Perl itself.
|
|
@@ -2928,7 +2928,7 @@ and write Minolta RAW (MRW) images.
|
|
|
2928
2928
|
|
|
2929
2929
|
=head1 AUTHOR
|
|
2930
2930
|
|
|
2931
|
-
Copyright 2003-
|
|
2931
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2932
2932
|
|
|
2933
2933
|
This library is free software; you can redistribute it and/or modify it
|
|
2934
2934
|
under the same terms as Perl itself.
|
|
@@ -512,7 +512,7 @@ write Konica-Minolta RAW (MRW) images.
|
|
|
512
512
|
|
|
513
513
|
=head1 AUTHOR
|
|
514
514
|
|
|
515
|
-
Copyright 2003-
|
|
515
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
516
516
|
|
|
517
517
|
This library is free software; you can redistribute it and/or modify it
|
|
518
518
|
under the same terms as Perl itself.
|
|
@@ -159,7 +159,7 @@ cell phone images.
|
|
|
159
159
|
|
|
160
160
|
=head1 AUTHOR
|
|
161
161
|
|
|
162
|
-
Copyright 2003-
|
|
162
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
163
163
|
|
|
164
164
|
This library is free software; you can redistribute it and/or modify it
|
|
165
165
|
under the same terms as Perl itself.
|
|
@@ -62,7 +62,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
62
62
|
use Image::ExifTool::Exif;
|
|
63
63
|
use Image::ExifTool::GPS;
|
|
64
64
|
|
|
65
|
-
$VERSION = '3.
|
|
65
|
+
$VERSION = '3.92';
|
|
66
66
|
|
|
67
67
|
sub LensIDConv($$$);
|
|
68
68
|
sub ProcessNikonAVI($$$);
|
|
@@ -886,33 +886,33 @@ my %afPoints39 = (
|
|
|
886
886
|
# AF point indices for models with 105 focus points, eg. D6 (ref 28)
|
|
887
887
|
# - 7 rows (A-G) with 15 columns (1-15), center is D8
|
|
888
888
|
my %afPoints105 = (
|
|
889
|
-
1 => 'D8', 28 => 'G7', 55 => 'F13', 82 => 'E4',
|
|
890
|
-
2 => 'C8', 29 => 'D6', 56 => 'G13', 83 => 'F4',
|
|
891
|
-
3 => 'B8', 30 => 'C6', 57 => 'D14', 84 => 'G4',
|
|
892
|
-
4 => 'A8', 31 => 'B6', 58 => 'C14', 85 => 'D3',
|
|
893
|
-
5 => 'E8', 32 => 'A6', 59 => 'B14', 86 => 'C3',
|
|
894
|
-
6 => 'F8', 33 => 'E6', 60 => 'A14', 87 => 'B3',
|
|
889
|
+
1 => 'D8', 28 => 'G7', 55 => 'F13', 82 => 'E4',
|
|
890
|
+
2 => 'C8', 29 => 'D6', 56 => 'G13', 83 => 'F4',
|
|
891
|
+
3 => 'B8', 30 => 'C6', 57 => 'D14', 84 => 'G4',
|
|
892
|
+
4 => 'A8', 31 => 'B6', 58 => 'C14', 85 => 'D3',
|
|
893
|
+
5 => 'E8', 32 => 'A6', 59 => 'B14', 86 => 'C3',
|
|
894
|
+
6 => 'F8', 33 => 'E6', 60 => 'A14', 87 => 'B3',
|
|
895
895
|
7 => 'G8', 34 => 'F6', 61 => 'E14', 88 => 'A3',
|
|
896
|
-
8 => 'D9', 35 => 'G6', 62 => 'F14', 89 => 'E3',
|
|
897
|
-
9 => 'C9', 36 => 'D11', 63 => 'G14', 90 => 'F3',
|
|
898
|
-
10 => 'B9', 37 => 'C11', 64 => 'D15', 91 => 'G3',
|
|
899
|
-
11 => 'A9', 38 => 'B11', 65 => 'C15', 92 => 'D2',
|
|
900
|
-
12 => 'E9', 39 => 'A11', 66 => 'B15', 93 => 'C2',
|
|
901
|
-
13 => 'F9', 40 => 'E11', 67 => 'A15', 94 => 'B2',
|
|
902
|
-
14 => 'G9', 41 => 'F11', 68 => 'E15', 95 => 'A2',
|
|
903
|
-
15 => 'D10', 42 => 'G11', 69 => 'F15', 96 => 'E2',
|
|
904
|
-
16 => 'C10', 43 => 'D12', 70 => 'G15', 97 => 'F2',
|
|
905
|
-
17 => 'B10', 44 => 'C12', 71 => 'D5', 98 => 'G2',
|
|
906
|
-
18 => 'A10', 45 => 'B12', 72 => 'C5', 99 => 'D1',
|
|
907
|
-
19 => 'E10', 46 => 'A12', 73 => 'B5', 100 => 'C1',
|
|
908
|
-
20 => 'F10', 47 => 'E12', 74 => 'A5', 101 => 'B1',
|
|
896
|
+
8 => 'D9', 35 => 'G6', 62 => 'F14', 89 => 'E3',
|
|
897
|
+
9 => 'C9', 36 => 'D11', 63 => 'G14', 90 => 'F3',
|
|
898
|
+
10 => 'B9', 37 => 'C11', 64 => 'D15', 91 => 'G3',
|
|
899
|
+
11 => 'A9', 38 => 'B11', 65 => 'C15', 92 => 'D2',
|
|
900
|
+
12 => 'E9', 39 => 'A11', 66 => 'B15', 93 => 'C2',
|
|
901
|
+
13 => 'F9', 40 => 'E11', 67 => 'A15', 94 => 'B2',
|
|
902
|
+
14 => 'G9', 41 => 'F11', 68 => 'E15', 95 => 'A2',
|
|
903
|
+
15 => 'D10', 42 => 'G11', 69 => 'F15', 96 => 'E2',
|
|
904
|
+
16 => 'C10', 43 => 'D12', 70 => 'G15', 97 => 'F2',
|
|
905
|
+
17 => 'B10', 44 => 'C12', 71 => 'D5', 98 => 'G2',
|
|
906
|
+
18 => 'A10', 45 => 'B12', 72 => 'C5', 99 => 'D1',
|
|
907
|
+
19 => 'E10', 46 => 'A12', 73 => 'B5', 100 => 'C1',
|
|
908
|
+
20 => 'F10', 47 => 'E12', 74 => 'A5', 101 => 'B1',
|
|
909
909
|
21 => 'G10', 48 => 'F12', 75 => 'E5', 102 => 'A1',
|
|
910
|
-
22 => 'D7', 49 => 'G12', 76 => 'F5', 103 => 'E1',
|
|
911
|
-
23 => 'C7', 50 => 'D13', 77 => 'G5', 104 => 'F1',
|
|
912
|
-
24 => 'B7', 51 => 'C13', 78 => 'D4', 105 => 'G1',
|
|
913
|
-
25 => 'A7', 52 => 'B13', 79 => 'C4',
|
|
914
|
-
26 => 'E7', 53 => 'A13', 80 => 'B4',
|
|
915
|
-
27 => 'F7', 54 => 'E13', 81 => 'A4',
|
|
910
|
+
22 => 'D7', 49 => 'G12', 76 => 'F5', 103 => 'E1',
|
|
911
|
+
23 => 'C7', 50 => 'D13', 77 => 'G5', 104 => 'F1',
|
|
912
|
+
24 => 'B7', 51 => 'C13', 78 => 'D4', 105 => 'G1',
|
|
913
|
+
25 => 'A7', 52 => 'B13', 79 => 'C4',
|
|
914
|
+
26 => 'E7', 53 => 'A13', 80 => 'B4',
|
|
915
|
+
27 => 'F7', 54 => 'E13', 81 => 'A4',
|
|
916
916
|
);
|
|
917
917
|
|
|
918
918
|
# AF point indices for models with 135 focus points, eg. 1J1 (ref PH)
|
|
@@ -1097,7 +1097,12 @@ my %binaryDataAttrs = (
|
|
|
1097
1097
|
0x0004 => { Name => 'Quality', Writable => 'string' },
|
|
1098
1098
|
0x0005 => { Name => 'WhiteBalance', Writable => 'string' },
|
|
1099
1099
|
0x0006 => { Name => 'Sharpness', Writable => 'string' },
|
|
1100
|
-
0x0007 => {
|
|
1100
|
+
0x0007 => {
|
|
1101
|
+
Name => 'FocusMode',
|
|
1102
|
+
DataMember => 'FocusMode',
|
|
1103
|
+
Writable => 'string',
|
|
1104
|
+
RawConv => '$$self{FocusMode} = $val',
|
|
1105
|
+
},
|
|
1101
1106
|
# FlashSetting (better named FlashSyncMode, ref 28) values:
|
|
1102
1107
|
# "Normal", "Slow", "Rear Slow", "RED-EYE", "RED-EYE SLOW"
|
|
1103
1108
|
0x0008 => { Name => 'FlashSetting', Writable => 'string' },
|
|
@@ -1401,7 +1406,9 @@ my %binaryDataAttrs = (
|
|
|
1401
1406
|
16 => 'Electronic',
|
|
1402
1407
|
# 33 => ? seen for 1J2
|
|
1403
1408
|
48 => 'Electronic Front Curtain',
|
|
1404
|
-
|
|
1409
|
+
64 => 'Electronic (Movie)', #JanSkoda (Z6II)
|
|
1410
|
+
80 => 'Auto (Mechanical)', #JanSkoda (Z6II)
|
|
1411
|
+
81 => 'Auto (Electronic Front Curtain)', #JanSkoda (Z6II)
|
|
1405
1412
|
},
|
|
1406
1413
|
},
|
|
1407
1414
|
0x0035 => { #32
|
|
@@ -1422,12 +1429,27 @@ my %binaryDataAttrs = (
|
|
|
1422
1429
|
Count => 4,
|
|
1423
1430
|
# (may need to divide by 4 for some images, eg. D3300/D5300, 12 bit - ref IB)
|
|
1424
1431
|
},
|
|
1432
|
+
0x003e => { #28
|
|
1433
|
+
Name => 'ImageSizeRAW',
|
|
1434
|
+
PrintConv => {
|
|
1435
|
+
1 => 'Large',
|
|
1436
|
+
2 => 'Medium',
|
|
1437
|
+
3 => 'Small',
|
|
1438
|
+
},
|
|
1439
|
+
},
|
|
1425
1440
|
0x0045 => { #IB
|
|
1426
1441
|
Name => 'CropArea',
|
|
1427
1442
|
Notes => 'left, top, width, height',
|
|
1428
1443
|
Writable => 'int16u',
|
|
1429
1444
|
Count => 4,
|
|
1430
1445
|
},
|
|
1446
|
+
0x004e => { #28
|
|
1447
|
+
Name => 'NikonSettings',
|
|
1448
|
+
Writable => 'undef',
|
|
1449
|
+
Permanent => 0,
|
|
1450
|
+
Flags => [ 'Binary', 'Protected' ],
|
|
1451
|
+
SubDirectory => { TagTable => 'Image::ExifTool::NikonSettings::Main' },
|
|
1452
|
+
},
|
|
1431
1453
|
0x004f => { #IB (D850)
|
|
1432
1454
|
Name => 'ColorTemperatureAuto',
|
|
1433
1455
|
Writable => 'int16u',
|
|
@@ -1498,6 +1520,7 @@ my %binaryDataAttrs = (
|
|
|
1498
1520
|
7 => 'Fired, External', #14
|
|
1499
1521
|
8 => 'Fired, Commander Mode',
|
|
1500
1522
|
9 => 'Fired, TTL Mode',
|
|
1523
|
+
18 => 'LED Light', #G.F. (movie LED light)
|
|
1501
1524
|
},
|
|
1502
1525
|
},
|
|
1503
1526
|
0x0088 => [
|
|
@@ -1826,9 +1849,9 @@ my %binaryDataAttrs = (
|
|
|
1826
1849
|
Condition => '$$valPt =~ /^0246/',
|
|
1827
1850
|
Name => 'ShotInfoD6',
|
|
1828
1851
|
SubDirectory => {
|
|
1829
|
-
TagTable => 'Image::ExifTool::Nikon::
|
|
1852
|
+
TagTable => 'Image::ExifTool::Nikon::ShotInfoD6',
|
|
1830
1853
|
DecryptStart => 4,
|
|
1831
|
-
DecryptLen =>
|
|
1854
|
+
DecryptLen => 0xc21a + 12,
|
|
1832
1855
|
ByteOrder => 'LittleEndian',
|
|
1833
1856
|
},
|
|
1834
1857
|
},
|
|
@@ -1842,6 +1865,16 @@ my %binaryDataAttrs = (
|
|
|
1842
1865
|
ByteOrder => 'BigEndian',
|
|
1843
1866
|
},
|
|
1844
1867
|
},
|
|
1868
|
+
{ # (Z6_2 firmware version 1.00 and Z7_2 firmware versions 1.00 & 1.01, ref 28)
|
|
1869
|
+
Condition => '$$valPt =~ /^0800/ or $$valPt =~ /^0803/',
|
|
1870
|
+
Name => 'ShotInfoZ7_2',
|
|
1871
|
+
SubDirectory => {
|
|
1872
|
+
TagTable => 'Image::ExifTool::Nikon::ShotInfoZ7_2',
|
|
1873
|
+
DecryptStart => 4,
|
|
1874
|
+
DecryptLen => 0xce32 + 12,
|
|
1875
|
+
ByteOrder => 'LittleEndian',
|
|
1876
|
+
},
|
|
1877
|
+
},
|
|
1845
1878
|
{ # D7100=0227, Z6/Z7=0800
|
|
1846
1879
|
Condition => '$$valPt =~ /^0[28]/',
|
|
1847
1880
|
Name => 'ShotInfo02xx',
|
|
@@ -2216,6 +2249,11 @@ my %binaryDataAttrs = (
|
|
|
2216
2249
|
Name => 'FlashInfo0107', # (0107 for D4S/D750/D810/D5500/D7200, 0108 for D5/D500/D3400)
|
|
2217
2250
|
Condition => '$$valPt =~ /^010[78]/',
|
|
2218
2251
|
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::FlashInfo0107' },
|
|
2252
|
+
},
|
|
2253
|
+
{
|
|
2254
|
+
Name => 'FlashInfo0300', # (Z7_2)
|
|
2255
|
+
Condition => '$$valPt =~ /^0300/',
|
|
2256
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::FlashInfo0300' },
|
|
2219
2257
|
},
|
|
2220
2258
|
{
|
|
2221
2259
|
Name => 'FlashInfoUnknown',
|
|
@@ -3379,13 +3417,13 @@ my %binaryDataAttrs = (
|
|
|
3379
3417
|
130 => 'Subject Tracking (41 points)', #PH (NC)
|
|
3380
3418
|
131 => 'Face Priority (41 points)', #PH (NC)
|
|
3381
3419
|
192 => 'Pinpoint', #PH (Z7)
|
|
3382
|
-
193 => 'Single', #PH (Z7)
|
|
3420
|
+
193 => 'Single', #PH (Z7)
|
|
3383
3421
|
194 => 'Dynamic', #PH (Z7)
|
|
3384
3422
|
195 => 'Wide (S)', #PH (Z7)
|
|
3385
3423
|
196 => 'Wide (L)', #PH (Z7)
|
|
3386
3424
|
197 => 'Auto', #PH (Z7)
|
|
3387
|
-
198 => 'Auto (
|
|
3388
|
-
199 => 'Auto (
|
|
3425
|
+
198 => 'Auto (People)', #28 (Z7) #if no faces are detected, will record as 'Auto'. Camera setting recorded in AFAreaMode field in the MakerNotes area
|
|
3426
|
+
199 => 'Auto (Animal)', #28 (Z7) #if no animals are detected, will record as 'Auto'. Camera setting recorded in AFAreaMode field in the MakerNotes area
|
|
3389
3427
|
200 => 'Normal-area AF', #28 (D6)
|
|
3390
3428
|
201 => 'Wide-area AF', #28 (D6)
|
|
3391
3429
|
202 => 'Face-priority AF', #28 (D6)
|
|
@@ -3680,7 +3718,7 @@ my %binaryDataAttrs = (
|
|
|
3680
3718
|
],
|
|
3681
3719
|
0x0a => { #28 (D6) in any of the 3 Group modes on the D6, the points specify the outer boundaries of the focus point area; otherwise the tag value is consistent with other Nikon bodies
|
|
3682
3720
|
Name => 'AFPointsUsed',
|
|
3683
|
-
Condition => '$$self{AFInfo2Version} eq "0301" and $$self{PhaseDetectAF} == 9',
|
|
3721
|
+
Condition => '$$self{AFInfo2Version} eq "0301" and $$self{PhaseDetectAF} == 9',
|
|
3684
3722
|
Notes => q{
|
|
3685
3723
|
models with 105-point AF -- 7 rows (A-G) and 15 columns (1-15). Center
|
|
3686
3724
|
point is D8
|
|
@@ -3769,6 +3807,14 @@ my %binaryDataAttrs = (
|
|
|
3769
3807
|
},
|
|
3770
3808
|
Format => 'int16u',
|
|
3771
3809
|
},
|
|
3810
|
+
0x2f => { #28 (Z7) Still photography range 1-17 for the 493 point Z7 (arranged in a 29x17 grid. Center at x=16, y=10).
|
|
3811
|
+
Name => 'AFFocusPointXPosition',
|
|
3812
|
+
Condition => q{
|
|
3813
|
+
$$self{ContrastDetectAF} == 2 and $$self{AFInfo2Version} =~ /^03/ or
|
|
3814
|
+
$$self{ContrastDetectAF} == 1 and $$self{AFInfo2Version} =~ /^0301/
|
|
3815
|
+
},
|
|
3816
|
+
PrintConv => sub { my ($val) = @_; PrintAFPointsLeftRight($val, 29 ); },
|
|
3817
|
+
},
|
|
3772
3818
|
0x30 => [
|
|
3773
3819
|
{ #PH (Z7)
|
|
3774
3820
|
Name => 'AFAreaYPosition',
|
|
@@ -3788,6 +3834,14 @@ my %binaryDataAttrs = (
|
|
|
3788
3834
|
PrintConvInv => sub { PrintAFPointsInv(shift, \%afPoints153); },
|
|
3789
3835
|
},
|
|
3790
3836
|
],
|
|
3837
|
+
0x31 => { #28 (Z7)
|
|
3838
|
+
Name => 'AFFocusPointYPosition',
|
|
3839
|
+
Condition => q{
|
|
3840
|
+
$$self{ContrastDetectAF} == 2 and $$self{AFInfo2Version} =~ /^03/ or
|
|
3841
|
+
$$self{ContrastDetectAF} == 1 and $$self{AFInfo2Version} =~ /^0301/
|
|
3842
|
+
},
|
|
3843
|
+
PrintConv => sub { my ($val) = @_; PrintAFPointsUpDown($val, 17 ); },
|
|
3844
|
+
},
|
|
3791
3845
|
0x32 => { #PH (Z7)
|
|
3792
3846
|
Name => 'AFAreaWidth',
|
|
3793
3847
|
Condition => '$$self{AFInfo2Version} =~ /^03/',
|
|
@@ -6392,6 +6446,77 @@ my %nikonFocalConversions = (
|
|
|
6392
6446
|
},
|
|
6393
6447
|
# note: DecryptLen currently set to OtherOffset + 0x2ea5 - 0x2c90
|
|
6394
6448
|
);
|
|
6449
|
+
|
|
6450
|
+
# shot information for the D6 firmware 1.00 (encrypted) - ref 28
|
|
6451
|
+
%Image::ExifTool::Nikon::ShotInfoD6 = (
|
|
6452
|
+
PROCESS_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
|
|
6453
|
+
WRITE_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
|
|
6454
|
+
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
6455
|
+
VARS => { ID_LABEL => 'Index' },
|
|
6456
|
+
DATAMEMBER => [ 0x9c, 0xc219 ],
|
|
6457
|
+
WRITABLE => 1,
|
|
6458
|
+
FIRST_ENTRY => 0,
|
|
6459
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
6460
|
+
NOTES => 'These tags are extracted from encrypted data in images from the D6.',
|
|
6461
|
+
0x00 => {
|
|
6462
|
+
Name => 'ShotInfoVersion',
|
|
6463
|
+
Format => 'string[4]',
|
|
6464
|
+
Writable => 0,
|
|
6465
|
+
},
|
|
6466
|
+
0x24 => {
|
|
6467
|
+
Name => 'NumberOffsets', # (number of entries in offset table. offsets are from start of ShotInfo data)
|
|
6468
|
+
DataMember => 'NumberOffsets',
|
|
6469
|
+
Format => 'int32u',
|
|
6470
|
+
Writable => 0,
|
|
6471
|
+
Hidden => 1,
|
|
6472
|
+
},
|
|
6473
|
+
0x9c => {
|
|
6474
|
+
Name => 'OrientationOffset',
|
|
6475
|
+
DataMember => 'OrientationOffset',
|
|
6476
|
+
Format => 'int32u',
|
|
6477
|
+
Writable => 0,
|
|
6478
|
+
Hidden => 1,
|
|
6479
|
+
RawConv => '$$self{OrientationOffset} = $val || 0x10000000; undef', # (ignore if 0)
|
|
6480
|
+
},
|
|
6481
|
+
### 0xc21a - OrientationInfo start (D6 firmware 1.00)
|
|
6482
|
+
0xc219 => {
|
|
6483
|
+
Name => 'Hook1',
|
|
6484
|
+
Hidden => 1,
|
|
6485
|
+
RawConv => 'undef',
|
|
6486
|
+
# account for variable location of OrientationInfo data
|
|
6487
|
+
Hook => '$varSize = $$self{OrientationOffset} - 0xc21a',
|
|
6488
|
+
},
|
|
6489
|
+
|
|
6490
|
+
0xc21a => {
|
|
6491
|
+
Name => 'RollAngle',
|
|
6492
|
+
Format => 'fixed32u',
|
|
6493
|
+
Notes => 'converted to degrees of clockwise camera roll',
|
|
6494
|
+
ValueConv => '$val <= 180 ? $val : $val - 360',
|
|
6495
|
+
ValueConvInv => '$val >= 0 ? $val : $val + 360',
|
|
6496
|
+
PrintConv => 'sprintf("%.1f", $val)',
|
|
6497
|
+
PrintConvInv => '$val',
|
|
6498
|
+
},
|
|
6499
|
+
0xc21e => {
|
|
6500
|
+
Name => 'PitchAngle',
|
|
6501
|
+
Format => 'fixed32u',
|
|
6502
|
+
Notes => 'converted to degrees of upward camera tilt',
|
|
6503
|
+
ValueConv => '$val <= 180 ? $val : $val - 360',
|
|
6504
|
+
ValueConvInv => '$val >= 0 ? $val : $val + 360',
|
|
6505
|
+
PrintConv => 'sprintf("%.1f", $val)',
|
|
6506
|
+
PrintConvInv => '$val',
|
|
6507
|
+
},
|
|
6508
|
+
0xc222 => {
|
|
6509
|
+
Name => 'YawAngle',
|
|
6510
|
+
Format => 'fixed32u',
|
|
6511
|
+
Notes => 'the camera yaw angle when shooting in portrait orientation',
|
|
6512
|
+
ValueConv => '$val <= 180 ? $val : $val - 360',
|
|
6513
|
+
ValueConvInv => '$val >= 0 ? $val : $val + 360',
|
|
6514
|
+
PrintConv => 'sprintf("%.1f", $val)',
|
|
6515
|
+
PrintConvInv => '$val',
|
|
6516
|
+
},
|
|
6517
|
+
# note: DecryptLen currently set to 0xc21a + 12
|
|
6518
|
+
);
|
|
6519
|
+
|
|
6395
6520
|
# shot information for the D610 firmware 1.00 (encrypted) - ref PH
|
|
6396
6521
|
%Image::ExifTool::Nikon::ShotInfoD610 = (
|
|
6397
6522
|
PROCESS_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
|
|
@@ -7209,6 +7334,98 @@ my %nikonFocalConversions = (
|
|
|
7209
7334
|
# note: DecryptLen currently set to 0x3697
|
|
7210
7335
|
);
|
|
7211
7336
|
|
|
7337
|
+
# shot information for the Z7_2 firmware 1.00 (encrypted) - ref 28
|
|
7338
|
+
%Image::ExifTool::Nikon::ShotInfoZ7_2 = (
|
|
7339
|
+
PROCESS_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
|
|
7340
|
+
WRITE_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
|
|
7341
|
+
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
7342
|
+
VARS => { ID_LABEL => 'Index' },
|
|
7343
|
+
DATAMEMBER => [ 0x04, 0x0e, 0x18, 0x98, 0xce31 ],
|
|
7344
|
+
WRITABLE => 1,
|
|
7345
|
+
FIRST_ENTRY => 0,
|
|
7346
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
7347
|
+
NOTES => 'These tags are extracted from encrypted data in images from the Z7_2.',
|
|
7348
|
+
0x00 => {
|
|
7349
|
+
Name => 'ShotInfoVersion',
|
|
7350
|
+
Format => 'string[4]',
|
|
7351
|
+
Writable => 0,
|
|
7352
|
+
},
|
|
7353
|
+
0x04 => {
|
|
7354
|
+
Name => 'FirmwareVersion',
|
|
7355
|
+
DataMember => 'FirmwareVersion',
|
|
7356
|
+
Format => 'string[8]',
|
|
7357
|
+
Writable => 0,
|
|
7358
|
+
RawConv => '$$self{FirmwareVersion} = $val',
|
|
7359
|
+
},
|
|
7360
|
+
0x0E => {
|
|
7361
|
+
Name => 'FirmwareVersion2',
|
|
7362
|
+
Format => 'string[8]',
|
|
7363
|
+
Writable => 0,
|
|
7364
|
+
RawConv => '$$self{FirmwareVersion2} = $val',
|
|
7365
|
+
Hidden => 1,
|
|
7366
|
+
},
|
|
7367
|
+
0x18 => {
|
|
7368
|
+
Name => 'FirmwareVersion3',
|
|
7369
|
+
Format => 'string[8]',
|
|
7370
|
+
Writable => 0,
|
|
7371
|
+
RawConv => '$$self{FirmwareVersion3} = $val',
|
|
7372
|
+
Hidden => 1,
|
|
7373
|
+
},
|
|
7374
|
+
0x24 => {
|
|
7375
|
+
Name => 'NumberOffsets', #number of entries in offset table. offsets are from start of ShotInfo data.
|
|
7376
|
+
DataMember => 'NumberOffsets',
|
|
7377
|
+
Format => 'int32u',
|
|
7378
|
+
Writable => 0,
|
|
7379
|
+
Hidden => 1,
|
|
7380
|
+
},
|
|
7381
|
+
0x98 => {
|
|
7382
|
+
Name => 'OrientationOffset',
|
|
7383
|
+
DataMember => 'OrientationOffset',
|
|
7384
|
+
Format => 'int32u',
|
|
7385
|
+
Writable => 0,
|
|
7386
|
+
Hidden => 1,
|
|
7387
|
+
RawConv => '$$self{OrientationOffset} = $val || 0x10000000; undef', # (ignore if 0)
|
|
7388
|
+
},
|
|
7389
|
+
|
|
7390
|
+
### 0xce32 - OrientationInfo start (Z7_2 firmware 1.00)
|
|
7391
|
+
0xce31 => {
|
|
7392
|
+
Name => 'Hook1',
|
|
7393
|
+
Hidden => 1,
|
|
7394
|
+
RawConv => 'undef',
|
|
7395
|
+
# account for variable location of OrientationInfo data
|
|
7396
|
+
Hook => '$varSize = $$self{OrientationOffset} - 0xce32',
|
|
7397
|
+
},
|
|
7398
|
+
|
|
7399
|
+
0xce32 => {
|
|
7400
|
+
Name => 'RollAngle',
|
|
7401
|
+
Format => 'fixed32u',
|
|
7402
|
+
Notes => 'converted to degrees of clockwise camera roll',
|
|
7403
|
+
ValueConv => '$val <= 180 ? $val : $val - 360',
|
|
7404
|
+
ValueConvInv => '$val >= 0 ? $val : $val + 360',
|
|
7405
|
+
PrintConv => 'sprintf("%.1f", $val)',
|
|
7406
|
+
PrintConvInv => '$val',
|
|
7407
|
+
},
|
|
7408
|
+
0xce36 => {
|
|
7409
|
+
Name => 'PitchAngle',
|
|
7410
|
+
Format => 'fixed32u',
|
|
7411
|
+
Notes => 'converted to degrees of upward camera tilt',
|
|
7412
|
+
ValueConv => '$val <= 180 ? $val : $val - 360',
|
|
7413
|
+
ValueConvInv => '$val >= 0 ? $val : $val + 360',
|
|
7414
|
+
PrintConv => 'sprintf("%.1f", $val)',
|
|
7415
|
+
PrintConvInv => '$val',
|
|
7416
|
+
},
|
|
7417
|
+
0xce3a => {
|
|
7418
|
+
Name => 'YawAngle',
|
|
7419
|
+
Format => 'fixed32u',
|
|
7420
|
+
Notes => 'the camera yaw angle when shooting in portrait orientation',
|
|
7421
|
+
ValueConv => '$val <= 180 ? $val : $val - 360',
|
|
7422
|
+
ValueConvInv => '$val >= 0 ? $val : $val + 360',
|
|
7423
|
+
PrintConv => 'sprintf("%.1f", $val)',
|
|
7424
|
+
PrintConvInv => '$val',
|
|
7425
|
+
},
|
|
7426
|
+
#note: DecryptLen currently set to 0xce32 + 12
|
|
7427
|
+
);
|
|
7428
|
+
|
|
7212
7429
|
# Flash information (ref JD)
|
|
7213
7430
|
%Image::ExifTool::Nikon::FlashInfo0100 = (
|
|
7214
7431
|
%binaryDataAttrs,
|
|
@@ -8103,6 +8320,42 @@ my %nikonFocalConversions = (
|
|
|
8103
8320
|
],
|
|
8104
8321
|
);
|
|
8105
8322
|
|
|
8323
|
+
# Flash information for the Z7_2 (ref 28)
|
|
8324
|
+
# (likey similar to FlashInfo010 and FlashInfo0108 with addition of support for radio controlled units such as the SB-5000?
|
|
8325
|
+
%Image::ExifTool::Nikon::FlashInfo0300 = (
|
|
8326
|
+
%binaryDataAttrs,
|
|
8327
|
+
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
8328
|
+
0 => {
|
|
8329
|
+
Name => 'FlashInfoVersion',
|
|
8330
|
+
Format => 'string[4]',
|
|
8331
|
+
Writable => 0,
|
|
8332
|
+
},
|
|
8333
|
+
4 => {
|
|
8334
|
+
Name => 'FlashSource',
|
|
8335
|
+
PrintConv => {
|
|
8336
|
+
0 => 'None',
|
|
8337
|
+
1 => 'External',
|
|
8338
|
+
2 => 'Internal',
|
|
8339
|
+
},
|
|
8340
|
+
},
|
|
8341
|
+
6 => {
|
|
8342
|
+
Format => 'int8u[2]',
|
|
8343
|
+
Name => 'ExternalFlashFirmware',
|
|
8344
|
+
SeparateTable => 'FlashFirmware',
|
|
8345
|
+
PrintConv => \%flashFirmware,
|
|
8346
|
+
},
|
|
8347
|
+
27 => {
|
|
8348
|
+
Name => 'FlashCompensation',
|
|
8349
|
+
# this is the compensation from the camera (0x0012) for "Built-in" FlashType, or
|
|
8350
|
+
# the compensation from the external unit (0x0017) for "Optional" FlashType - PH
|
|
8351
|
+
Format => 'int8s',
|
|
8352
|
+
Priority => 0,
|
|
8353
|
+
ValueConv => '-$val/6',
|
|
8354
|
+
ValueConvInv => '-6 * $val',
|
|
8355
|
+
PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)',
|
|
8356
|
+
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
|
|
8357
|
+
},
|
|
8358
|
+
);
|
|
8106
8359
|
# Unknown Flash information
|
|
8107
8360
|
%Image::ExifTool::Nikon::FlashInfoUnknown = (
|
|
8108
8361
|
%binaryDataAttrs,
|
|
@@ -8931,6 +9184,7 @@ my %nikonFocalConversions = (
|
|
|
8931
9184
|
7 => 'Fired, External', #14
|
|
8932
9185
|
8 => 'Fired, Commander Mode',
|
|
8933
9186
|
9 => 'Fired, TTL Mode',
|
|
9187
|
+
18 => 'LED Light', #G.F. (movie LED light)
|
|
8934
9188
|
},
|
|
8935
9189
|
},
|
|
8936
9190
|
0x2000098 => [
|
|
@@ -9260,6 +9514,32 @@ sub PrintAFPointsGridInv($$$)
|
|
|
9260
9514
|
return join(" ", unpack("H2"x$size, pack('C*', @dat)));
|
|
9261
9515
|
}
|
|
9262
9516
|
|
|
9517
|
+
#------------------------------------------------------------------------------
|
|
9518
|
+
# Print conversion for relative Left/Right AF points (ref 28)
|
|
9519
|
+
# Inputs: 0) column, 1) number of columns
|
|
9520
|
+
# Returns: AF point data as a string (e.g. '2L' or 'C' or '3R')
|
|
9521
|
+
sub PrintAFPointsLeftRight($$)
|
|
9522
|
+
{
|
|
9523
|
+
my ($col, $ncol) = @_;
|
|
9524
|
+
my $center = 1 + ($ncol + 1)/2;
|
|
9525
|
+
return 'C' if $col == $center;
|
|
9526
|
+
return sprintf('%d', $center - $col) . 'L of Center' if $col < $center;
|
|
9527
|
+
return sprintf('%d', $col - $center) . 'R of Center' if $col > $center;
|
|
9528
|
+
}
|
|
9529
|
+
|
|
9530
|
+
#------------------------------------------------------------------------------
|
|
9531
|
+
# Print conversion for relative Up/Down AF points (ref 28)
|
|
9532
|
+
# Inputs: 0) column, 1) number of columns
|
|
9533
|
+
# Returns: AF point data as a string (e.g. '2U' or 'C' or '3D')
|
|
9534
|
+
sub PrintAFPointsUpDown($$)
|
|
9535
|
+
{
|
|
9536
|
+
my ($row, $nrow) = @_;
|
|
9537
|
+
my $center = 1 + ($nrow + 1)/2;
|
|
9538
|
+
return 'C' if $row == $center;
|
|
9539
|
+
return sprintf('%d', $center - $row) . 'U from Center' if $row < $center;
|
|
9540
|
+
return sprintf('%d', $row - $center) . 'D from Center' if $row > $center;
|
|
9541
|
+
}
|
|
9542
|
+
|
|
9263
9543
|
#------------------------------------------------------------------------------
|
|
9264
9544
|
# Print PictureControl value
|
|
9265
9545
|
# Inputs: 0) value (with 0x80 subtracted),
|
|
@@ -9794,7 +10074,7 @@ Nikon maker notes in EXIF information.
|
|
|
9794
10074
|
|
|
9795
10075
|
=head1 AUTHOR
|
|
9796
10076
|
|
|
9797
|
-
Copyright 2003-
|
|
10077
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
9798
10078
|
|
|
9799
10079
|
This library is free software; you can redistribute it and/or modify it
|
|
9800
10080
|
under the same terms as Perl itself.
|