exiftool_vendored 12.12.0 → 12.17.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.
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.
|