exiftool_vendored 12.12.0 → 12.17.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +73 -3
- data/bin/MANIFEST +3 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +87 -57
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool.pm +36 -3
- 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 +14 -7
- data/bin/lib/Image/ExifTool/Canon.pm +3 -2
- data/bin/lib/Image/ExifTool/CanonCustom.pm +20 -2
- 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 +45 -16
- 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 +3 -2
- 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 +6 -6
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +21 -6
- 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 +1 -1
- 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 -36
- 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 +1 -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 +20 -14
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +46 -7
- data/bin/lib/Image/ExifTool/README +5 -4
- data/bin/lib/Image/ExifTool/RIFF.pm +85 -7
- 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 +6 -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 +3985 -3807
- data/bin/lib/Image/ExifTool/TagNames.pod +432 -21
- 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 +10 -7
- data/bin/lib/Image/ExifTool/Writer.pl +32 -18
- data/bin/lib/Image/ExifTool/XMP.pm +44 -9
- 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
@@ -1032,7 +1032,7 @@ and values.
|
|
1032
1032
|
|
1033
1033
|
=head1 AUTHOR
|
1034
1034
|
|
1035
|
-
Copyright 2003-
|
1035
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
1036
1036
|
|
1037
1037
|
This library is free software; you can redistribute it and/or modify it
|
1038
1038
|
under the same terms as Perl itself.
|
@@ -4005,7 +4005,7 @@ and values.
|
|
4005
4005
|
|
4006
4006
|
=head1 AUTHOR
|
4007
4007
|
|
4008
|
-
Copyright 2003-
|
4008
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
4009
4009
|
|
4010
4010
|
This library is free software; you can redistribute it and/or modify it
|
4011
4011
|
under the same terms as Perl itself.
|
@@ -2878,7 +2878,7 @@ and values.
|
|
2878
2878
|
|
2879
2879
|
=head1 AUTHOR
|
2880
2880
|
|
2881
|
-
Copyright 2003-
|
2881
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
2882
2882
|
|
2883
2883
|
This library is free software; you can redistribute it and/or modify it
|
2884
2884
|
under the same terms as Perl itself.
|
@@ -4751,7 +4751,7 @@ and values.
|
|
4751
4751
|
|
4752
4752
|
=head1 AUTHOR
|
4753
4753
|
|
4754
|
-
Copyright 2003-
|
4754
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
4755
4755
|
|
4756
4756
|
This library is free software; you can redistribute it and/or modify it
|
4757
4757
|
under the same terms as Perl itself.
|
@@ -7903,7 +7903,7 @@ and values.
|
|
7903
7903
|
|
7904
7904
|
=head1 AUTHOR
|
7905
7905
|
|
7906
|
-
Copyright 2003-
|
7906
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
7907
7907
|
|
7908
7908
|
This library is free software; you can redistribute it and/or modify it
|
7909
7909
|
under the same terms as Perl itself.
|
@@ -5841,7 +5841,7 @@ and values.
|
|
5841
5841
|
|
5842
5842
|
=head1 AUTHOR
|
5843
5843
|
|
5844
|
-
Copyright 2003-
|
5844
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
5845
5845
|
|
5846
5846
|
This library is free software; you can redistribute it and/or modify it
|
5847
5847
|
under the same terms as Perl itself.
|
@@ -2316,7 +2316,7 @@ and values.
|
|
2316
2316
|
|
2317
2317
|
=head1 AUTHOR
|
2318
2318
|
|
2319
|
-
Copyright 2003-
|
2319
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
2320
2320
|
|
2321
2321
|
This library is free software; you can redistribute it and/or modify it
|
2322
2322
|
under the same terms as Perl itself.
|
@@ -3207,7 +3207,7 @@ and values.
|
|
3207
3207
|
|
3208
3208
|
=head1 AUTHOR
|
3209
3209
|
|
3210
|
-
Copyright 2003-
|
3210
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
3211
3211
|
|
3212
3212
|
This library is free software; you can redistribute it and/or modify it
|
3213
3213
|
under the same terms as Perl itself.
|
@@ -1258,7 +1258,7 @@ and values.
|
|
1258
1258
|
|
1259
1259
|
=head1 AUTHOR
|
1260
1260
|
|
1261
|
-
Copyright 2003-
|
1261
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
1262
1262
|
|
1263
1263
|
This library is free software; you can redistribute it and/or modify it
|
1264
1264
|
under the same terms as Perl itself.
|
@@ -5718,7 +5718,7 @@ and values.
|
|
5718
5718
|
|
5719
5719
|
=head1 AUTHOR
|
5720
5720
|
|
5721
|
-
Copyright 2003-
|
5721
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
5722
5722
|
|
5723
5723
|
This library is free software; you can redistribute it and/or modify it
|
5724
5724
|
under the same terms as Perl itself.
|
@@ -620,7 +620,7 @@ and values.
|
|
620
620
|
|
621
621
|
=head1 AUTHOR
|
622
622
|
|
623
|
-
Copyright 2003-
|
623
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
624
624
|
|
625
625
|
This library is free software; you can redistribute it and/or modify it
|
626
626
|
under the same terms as Perl itself.
|
@@ -528,7 +528,7 @@ and values.
|
|
528
528
|
|
529
529
|
=head1 AUTHOR
|
530
530
|
|
531
|
-
Copyright 2003-
|
531
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
532
532
|
|
533
533
|
This library is free software; you can redistribute it and/or modify it
|
534
534
|
under the same terms as Perl itself.
|
@@ -1313,7 +1313,7 @@ and values.
|
|
1313
1313
|
|
1314
1314
|
=head1 AUTHOR
|
1315
1315
|
|
1316
|
-
Copyright 2003-
|
1316
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
1317
1317
|
|
1318
1318
|
This library is free software; you can redistribute it and/or modify it
|
1319
1319
|
under the same terms as Perl itself.
|
@@ -784,7 +784,7 @@ and values.
|
|
784
784
|
|
785
785
|
=head1 AUTHOR
|
786
786
|
|
787
|
-
Copyright 2003-
|
787
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
788
788
|
|
789
789
|
This library is free software; you can redistribute it and/or modify it
|
790
790
|
under the same terms as Perl itself.
|
@@ -504,7 +504,7 @@ Capture.
|
|
504
504
|
|
505
505
|
=head1 AUTHOR
|
506
506
|
|
507
|
-
Copyright 2003-
|
507
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
508
508
|
|
509
509
|
This library is free software; you can redistribute it and/or modify it
|
510
510
|
under the same terms as Perl itself.
|
@@ -192,7 +192,7 @@ from Lytro Light Field Picture (LFP) files.
|
|
192
192
|
|
193
193
|
=head1 AUTHOR
|
194
194
|
|
195
|
-
Copyright 2003-
|
195
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
196
196
|
|
197
197
|
This library is free software; you can redistribute it and/or modify it
|
198
198
|
under the same terms as Perl itself.
|
@@ -714,7 +714,7 @@ video.
|
|
714
714
|
|
715
715
|
=head1 AUTHOR
|
716
716
|
|
717
|
-
Copyright 2003-
|
717
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
718
718
|
|
719
719
|
This library is free software; you can redistribute it and/or modify it
|
720
720
|
under the same terms as Perl itself.
|
@@ -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,8 +1406,9 @@ my %binaryDataAttrs = (
|
|
1401
1406
|
16 => 'Electronic',
|
1402
1407
|
# 33 => ? seen for 1J2
|
1403
1408
|
48 => 'Electronic Front Curtain',
|
1404
|
-
|
1405
|
-
|
1409
|
+
64 => 'Electronic (Movie)', #JanSkoda (Z6II)
|
1410
|
+
80 => 'Auto (Mechanical)', #JanSkoda (Z6II)
|
1411
|
+
81 => 'Auto (Electronic Front Curtain)', #JanSkoda (Z6II)
|
1406
1412
|
},
|
1407
1413
|
},
|
1408
1414
|
0x0035 => { #32
|
@@ -1423,12 +1429,27 @@ my %binaryDataAttrs = (
|
|
1423
1429
|
Count => 4,
|
1424
1430
|
# (may need to divide by 4 for some images, eg. D3300/D5300, 12 bit - ref IB)
|
1425
1431
|
},
|
1432
|
+
0x003e => { #28
|
1433
|
+
Name => 'ImageSizeRAW',
|
1434
|
+
PrintConv => {
|
1435
|
+
1 => 'Large',
|
1436
|
+
2 => 'Medium',
|
1437
|
+
3 => 'Small',
|
1438
|
+
},
|
1439
|
+
},
|
1426
1440
|
0x0045 => { #IB
|
1427
1441
|
Name => 'CropArea',
|
1428
1442
|
Notes => 'left, top, width, height',
|
1429
1443
|
Writable => 'int16u',
|
1430
1444
|
Count => 4,
|
1431
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
|
+
},
|
1432
1453
|
0x004f => { #IB (D850)
|
1433
1454
|
Name => 'ColorTemperatureAuto',
|
1434
1455
|
Writable => 'int16u',
|
@@ -1499,6 +1520,7 @@ my %binaryDataAttrs = (
|
|
1499
1520
|
7 => 'Fired, External', #14
|
1500
1521
|
8 => 'Fired, Commander Mode',
|
1501
1522
|
9 => 'Fired, TTL Mode',
|
1523
|
+
18 => 'LED Light', #G.F. (movie LED light)
|
1502
1524
|
},
|
1503
1525
|
},
|
1504
1526
|
0x0088 => [
|
@@ -1827,9 +1849,9 @@ my %binaryDataAttrs = (
|
|
1827
1849
|
Condition => '$$valPt =~ /^0246/',
|
1828
1850
|
Name => 'ShotInfoD6',
|
1829
1851
|
SubDirectory => {
|
1830
|
-
TagTable => 'Image::ExifTool::Nikon::
|
1852
|
+
TagTable => 'Image::ExifTool::Nikon::ShotInfoD6',
|
1831
1853
|
DecryptStart => 4,
|
1832
|
-
DecryptLen =>
|
1854
|
+
DecryptLen => 0xc21a + 12,
|
1833
1855
|
ByteOrder => 'LittleEndian',
|
1834
1856
|
},
|
1835
1857
|
},
|
@@ -1843,6 +1865,16 @@ my %binaryDataAttrs = (
|
|
1843
1865
|
ByteOrder => 'BigEndian',
|
1844
1866
|
},
|
1845
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
|
+
},
|
1846
1878
|
{ # D7100=0227, Z6/Z7=0800
|
1847
1879
|
Condition => '$$valPt =~ /^0[28]/',
|
1848
1880
|
Name => 'ShotInfo02xx',
|
@@ -2217,6 +2249,11 @@ my %binaryDataAttrs = (
|
|
2217
2249
|
Name => 'FlashInfo0107', # (0107 for D4S/D750/D810/D5500/D7200, 0108 for D5/D500/D3400)
|
2218
2250
|
Condition => '$$valPt =~ /^010[78]/',
|
2219
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' },
|
2220
2257
|
},
|
2221
2258
|
{
|
2222
2259
|
Name => 'FlashInfoUnknown',
|
@@ -3380,13 +3417,13 @@ my %binaryDataAttrs = (
|
|
3380
3417
|
130 => 'Subject Tracking (41 points)', #PH (NC)
|
3381
3418
|
131 => 'Face Priority (41 points)', #PH (NC)
|
3382
3419
|
192 => 'Pinpoint', #PH (Z7)
|
3383
|
-
193 => 'Single', #PH (Z7)
|
3420
|
+
193 => 'Single', #PH (Z7)
|
3384
3421
|
194 => 'Dynamic', #PH (Z7)
|
3385
3422
|
195 => 'Wide (S)', #PH (Z7)
|
3386
3423
|
196 => 'Wide (L)', #PH (Z7)
|
3387
3424
|
197 => 'Auto', #PH (Z7)
|
3388
|
-
198 => 'Auto (
|
3389
|
-
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
|
3390
3427
|
200 => 'Normal-area AF', #28 (D6)
|
3391
3428
|
201 => 'Wide-area AF', #28 (D6)
|
3392
3429
|
202 => 'Face-priority AF', #28 (D6)
|
@@ -3681,7 +3718,7 @@ my %binaryDataAttrs = (
|
|
3681
3718
|
],
|
3682
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
|
3683
3720
|
Name => 'AFPointsUsed',
|
3684
|
-
Condition => '$$self{AFInfo2Version} eq "0301" and $$self{PhaseDetectAF} == 9',
|
3721
|
+
Condition => '$$self{AFInfo2Version} eq "0301" and $$self{PhaseDetectAF} == 9',
|
3685
3722
|
Notes => q{
|
3686
3723
|
models with 105-point AF -- 7 rows (A-G) and 15 columns (1-15). Center
|
3687
3724
|
point is D8
|
@@ -3770,6 +3807,14 @@ my %binaryDataAttrs = (
|
|
3770
3807
|
},
|
3771
3808
|
Format => 'int16u',
|
3772
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
|
+
},
|
3773
3818
|
0x30 => [
|
3774
3819
|
{ #PH (Z7)
|
3775
3820
|
Name => 'AFAreaYPosition',
|
@@ -3789,6 +3834,14 @@ my %binaryDataAttrs = (
|
|
3789
3834
|
PrintConvInv => sub { PrintAFPointsInv(shift, \%afPoints153); },
|
3790
3835
|
},
|
3791
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
|
+
},
|
3792
3845
|
0x32 => { #PH (Z7)
|
3793
3846
|
Name => 'AFAreaWidth',
|
3794
3847
|
Condition => '$$self{AFInfo2Version} =~ /^03/',
|
@@ -6393,6 +6446,77 @@ my %nikonFocalConversions = (
|
|
6393
6446
|
},
|
6394
6447
|
# note: DecryptLen currently set to OtherOffset + 0x2ea5 - 0x2c90
|
6395
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
|
+
|
6396
6520
|
# shot information for the D610 firmware 1.00 (encrypted) - ref PH
|
6397
6521
|
%Image::ExifTool::Nikon::ShotInfoD610 = (
|
6398
6522
|
PROCESS_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
|
@@ -7210,6 +7334,98 @@ my %nikonFocalConversions = (
|
|
7210
7334
|
# note: DecryptLen currently set to 0x3697
|
7211
7335
|
);
|
7212
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
|
+
|
7213
7429
|
# Flash information (ref JD)
|
7214
7430
|
%Image::ExifTool::Nikon::FlashInfo0100 = (
|
7215
7431
|
%binaryDataAttrs,
|
@@ -8104,6 +8320,42 @@ my %nikonFocalConversions = (
|
|
8104
8320
|
],
|
8105
8321
|
);
|
8106
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
|
+
);
|
8107
8359
|
# Unknown Flash information
|
8108
8360
|
%Image::ExifTool::Nikon::FlashInfoUnknown = (
|
8109
8361
|
%binaryDataAttrs,
|
@@ -8932,6 +9184,7 @@ my %nikonFocalConversions = (
|
|
8932
9184
|
7 => 'Fired, External', #14
|
8933
9185
|
8 => 'Fired, Commander Mode',
|
8934
9186
|
9 => 'Fired, TTL Mode',
|
9187
|
+
18 => 'LED Light', #G.F. (movie LED light)
|
8935
9188
|
},
|
8936
9189
|
},
|
8937
9190
|
0x2000098 => [
|
@@ -9261,6 +9514,32 @@ sub PrintAFPointsGridInv($$$)
|
|
9261
9514
|
return join(" ", unpack("H2"x$size, pack('C*', @dat)));
|
9262
9515
|
}
|
9263
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
|
+
|
9264
9543
|
#------------------------------------------------------------------------------
|
9265
9544
|
# Print PictureControl value
|
9266
9545
|
# Inputs: 0) value (with 0x80 subtracted),
|
@@ -9795,7 +10074,7 @@ Nikon maker notes in EXIF information.
|
|
9795
10074
|
|
9796
10075
|
=head1 AUTHOR
|
9797
10076
|
|
9798
|
-
Copyright 2003-
|
10077
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
9799
10078
|
|
9800
10079
|
This library is free software; you can redistribute it and/or modify it
|
9801
10080
|
under the same terms as Perl itself.
|