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
|
@@ -820,7 +820,7 @@ information in DNG (Digital Negative) images.
|
|
|
820
820
|
|
|
821
821
|
=head1 AUTHOR
|
|
822
822
|
|
|
823
|
-
Copyright 2003-
|
|
823
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
824
824
|
|
|
825
825
|
This library is free software; you can redistribute it and/or modify it
|
|
826
826
|
under the same terms as Perl itself.
|
|
@@ -15,7 +15,7 @@ use strict;
|
|
|
15
15
|
use vars qw($VERSION);
|
|
16
16
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.05';
|
|
19
19
|
|
|
20
20
|
# DPX tags
|
|
21
21
|
%Image::ExifTool::DPX::Main = (
|
|
@@ -158,11 +158,11 @@ $VERSION = '1.04';
|
|
|
158
158
|
1588=> { Name => 'InputDeviceSerialNumber', Format => 'string[32]' },
|
|
159
159
|
# 1620=> { Name => 'AspectRatio', Format => 'int32u' },
|
|
160
160
|
1724 => { Name => 'OriginalFrameRate',Format => 'float' },
|
|
161
|
-
1728 => { Name => 'ShutterAngle', Format => 'float', RawConv => '$val =~ /\d/ ? $val : undef' }, #2
|
|
161
|
+
1728 => { Name => 'ShutterAngle', Format => 'float', RawConv => '($val =~ /\d/ and $val !~ /nan/i) ? $val : undef' }, #2
|
|
162
162
|
1732 => { Name => 'FrameID', Format => 'string[32]' },
|
|
163
163
|
1764 => { Name => 'SlateInformation', Format => 'string[100]' },
|
|
164
164
|
1920 => { Name => 'TimeCode', Format => 'int32u' }, #2
|
|
165
|
-
1940 => { Name => 'FrameRate', Format => 'float', RawConv => '$val =~ /\d/ ? $val : undef' }, #2
|
|
165
|
+
1940 => { Name => 'FrameRate', Format => 'float', RawConv => '($val =~ /\d/ and $val !~ /nan/i) ? $val : undef' }, #2
|
|
166
166
|
1972 => { Name => 'Reserved5', Format => 'string[76]', Unknown => 1 },
|
|
167
167
|
2048 => { Name => 'UserID', Format => 'string[32]' },
|
|
168
168
|
);
|
|
@@ -214,7 +214,7 @@ metadata from DPX (Digital Picture Exchange) images.
|
|
|
214
214
|
|
|
215
215
|
=head1 AUTHOR
|
|
216
216
|
|
|
217
|
-
Copyright 2003-
|
|
217
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
218
218
|
|
|
219
219
|
This library is free software; you can redistribute it and/or modify it
|
|
220
220
|
under the same terms as Perl itself.
|
|
@@ -291,7 +291,7 @@ information from DV (raw Digital Video) files.
|
|
|
291
291
|
|
|
292
292
|
=head1 AUTHOR
|
|
293
293
|
|
|
294
|
-
Copyright 2003-
|
|
294
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
295
295
|
|
|
296
296
|
This library is free software; you can redistribute it and/or modify it
|
|
297
297
|
under the same terms as Perl itself.
|
|
@@ -360,7 +360,7 @@ This file contains tag definitions for the Darwin Core XMP namespace.
|
|
|
360
360
|
|
|
361
361
|
=head1 AUTHOR
|
|
362
362
|
|
|
363
|
-
Copyright 2003-
|
|
363
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
364
364
|
|
|
365
365
|
This library is free software; you can redistribute it and/or modify it
|
|
366
366
|
under the same terms as Perl itself.
|
|
@@ -352,7 +352,7 @@ Image::ExifTool::AIFF.
|
|
|
352
352
|
|
|
353
353
|
=head1 AUTHOR
|
|
354
354
|
|
|
355
|
-
Copyright 2003-
|
|
355
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
356
356
|
|
|
357
357
|
This library is free software; you can redistribute it and/or modify it
|
|
358
358
|
under the same terms as Perl itself.
|
|
@@ -1398,7 +1398,7 @@ library files.
|
|
|
1398
1398
|
|
|
1399
1399
|
=head1 AUTHOR
|
|
1400
1400
|
|
|
1401
|
-
Copyright 2003-
|
|
1401
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1402
1402
|
|
|
1403
1403
|
This library is free software; you can redistribute it and/or modify it
|
|
1404
1404
|
under the same terms as Perl itself.
|
|
@@ -1377,6 +1377,12 @@ my %opcodeInfo = (
|
|
|
1377
1377
|
Count => 6,
|
|
1378
1378
|
Priority => 0,
|
|
1379
1379
|
},
|
|
1380
|
+
# 0x220 - int32u: 0 (IFD0, Xaiomi Redmi models)
|
|
1381
|
+
# 0x221 - int32u: 0 (IFD0, Xaiomi Redmi models)
|
|
1382
|
+
# 0x222 - int32u: 0 (IFD0, Xaiomi Redmi models)
|
|
1383
|
+
# 0x223 - int32u: 0 (IFD0, Xaiomi Redmi models)
|
|
1384
|
+
# 0x224 - int32u: 0,1 (IFD0, Xaiomi Redmi models)
|
|
1385
|
+
# 0x225 - string: "" (IFD0, Xaiomi Redmi models)
|
|
1380
1386
|
0x22f => 'StripRowCounts',
|
|
1381
1387
|
0x2bc => {
|
|
1382
1388
|
Name => 'ApplicationNotes', # (writable directory!)
|
|
@@ -1998,6 +2004,7 @@ my %opcodeInfo = (
|
|
|
1998
2004
|
0x885d => 'FaxSubAddress', #9
|
|
1999
2005
|
0x885e => 'FaxRecvTime', #9
|
|
2000
2006
|
0x8871 => 'FedexEDR', #exifprobe (NC)
|
|
2007
|
+
# 0x8889 - string: "portrait" (ExifIFD, Xiaomi POCO F1)
|
|
2001
2008
|
0x888a => { #PH
|
|
2002
2009
|
Name => 'LeafSubIFD',
|
|
2003
2010
|
Format => 'int32u', # Leaf incorrectly uses 'undef' format!
|
|
@@ -2008,6 +2015,10 @@ my %opcodeInfo = (
|
|
|
2008
2015
|
Start => '$val',
|
|
2009
2016
|
},
|
|
2010
2017
|
},
|
|
2018
|
+
# 0x8891 - int16u: 35 (ExifIFD, Xiaomi POCO F1)
|
|
2019
|
+
# 0x8894 - int16u: 0 (ExifIFD, Xiaomi POCO F1)
|
|
2020
|
+
# 0x8895 - int16u: 0 (ExifIFD, Xiaomi POCO F1)
|
|
2021
|
+
# 0x889a - int16u: 0 (ExifIFD, Xiaomi POCO F1)
|
|
2011
2022
|
# 0x89ab - seen "11 100 130 16 0 0 0 0" in IFD0 of TIFF image from IR scanner (forum8470)
|
|
2012
2023
|
0x9000 => {
|
|
2013
2024
|
Name => 'ExifVersion',
|
|
@@ -2368,6 +2379,8 @@ my %opcodeInfo = (
|
|
|
2368
2379
|
Name => 'CameraElevationAngle',
|
|
2369
2380
|
Writable => 'rational64s',
|
|
2370
2381
|
},
|
|
2382
|
+
# 0x9999 - string: camera settings (ExifIFD, Xiaomi POCO F1)
|
|
2383
|
+
# 0x9aaa - int8u[2176]: ? (ExifIFD, Xiaomi POCO F1)
|
|
2371
2384
|
0x9c9b => {
|
|
2372
2385
|
Name => 'XPTitle',
|
|
2373
2386
|
Format => 'undef',
|
|
@@ -6591,7 +6604,7 @@ EXIF and TIFF meta information.
|
|
|
6591
6604
|
|
|
6592
6605
|
=head1 AUTHOR
|
|
6593
6606
|
|
|
6594
|
-
Copyright 2003-
|
|
6607
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
6595
6608
|
|
|
6596
6609
|
This library is free software; you can redistribute it and/or modify it
|
|
6597
6610
|
under the same terms as Perl itself.
|
|
@@ -126,7 +126,7 @@ information from FITS (Flexible Image Transport System) images.
|
|
|
126
126
|
|
|
127
127
|
=head1 AUTHOR
|
|
128
128
|
|
|
129
|
-
Copyright 2003-
|
|
129
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
130
130
|
|
|
131
131
|
This library is free software; you can redistribute it and/or modify it
|
|
132
132
|
under the same terms as Perl itself.
|
|
@@ -284,7 +284,7 @@ information from Free Lossless Audio Codec (FLAC) audio files.
|
|
|
284
284
|
|
|
285
285
|
=head1 AUTHOR
|
|
286
286
|
|
|
287
|
-
Copyright 2003-
|
|
287
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
288
288
|
|
|
289
289
|
This library is free software; you can redistribute it and/or modify it
|
|
290
290
|
under the same terms as Perl itself.
|
|
@@ -329,7 +329,7 @@ meta information in FLIF (Free Lossless Image Format) images.
|
|
|
329
329
|
|
|
330
330
|
=head1 AUTHOR
|
|
331
331
|
|
|
332
|
-
Copyright 2003-
|
|
332
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
333
333
|
|
|
334
334
|
This library is free software; you can redistribute it and/or modify it
|
|
335
335
|
under the same terms as Perl itself.
|
|
@@ -1594,7 +1594,7 @@ Systems Inc. thermal image files (FFF, FPF and JPEG format).
|
|
|
1594
1594
|
|
|
1595
1595
|
=head1 AUTHOR
|
|
1596
1596
|
|
|
1597
|
-
Copyright 2003-
|
|
1597
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1598
1598
|
|
|
1599
1599
|
This library is free software; you can redistribute it and/or modify it
|
|
1600
1600
|
under the same terms as Perl itself.
|
|
@@ -354,7 +354,7 @@ linear list when ApplyFixups() is called.
|
|
|
354
354
|
|
|
355
355
|
=head1 AUTHOR
|
|
356
356
|
|
|
357
|
-
Copyright 2003-
|
|
357
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
358
358
|
|
|
359
359
|
This library is free software; you can redistribute it and/or modify it
|
|
360
360
|
under the same terms as Perl itself.
|
|
@@ -721,7 +721,7 @@ will add AMF3 support.
|
|
|
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.
|
|
@@ -2370,7 +2370,7 @@ JPEG images.
|
|
|
2370
2370
|
|
|
2371
2371
|
=head1 AUTHOR
|
|
2372
2372
|
|
|
2373
|
-
Copyright 2003-
|
|
2373
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2374
2374
|
|
|
2375
2375
|
This library is free software; you can redistribute it and/or modify it
|
|
2376
2376
|
under the same terms as Perl itself.
|
|
@@ -622,7 +622,7 @@ extracted from these formats.
|
|
|
622
622
|
|
|
623
623
|
=head1 AUTHOR
|
|
624
624
|
|
|
625
|
-
Copyright 2003-
|
|
625
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
626
626
|
|
|
627
627
|
This library is free software; you can redistribute it and/or modify it
|
|
628
628
|
under the same terms as Perl itself.
|
|
@@ -243,7 +243,7 @@ write information from the FotoWare FotoStation trailer.
|
|
|
243
243
|
|
|
244
244
|
=head1 AUTHOR
|
|
245
245
|
|
|
246
|
-
Copyright 2003-
|
|
246
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
247
247
|
|
|
248
248
|
This library is free software; you can redistribute it and/or modify it
|
|
249
249
|
under the same terms as Perl itself.
|
|
@@ -1658,7 +1658,7 @@ FujiFilm maker notes in EXIF information, and to read/write FujiFilm RAW
|
|
|
1658
1658
|
|
|
1659
1659
|
=head1 AUTHOR
|
|
1660
1660
|
|
|
1661
|
-
Copyright 2003-
|
|
1661
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1662
1662
|
|
|
1663
1663
|
This library is free software; you can redistribute it and/or modify it
|
|
1664
1664
|
under the same terms as Perl itself.
|
|
@@ -68,7 +68,7 @@ General Imaging maker notes.
|
|
|
68
68
|
|
|
69
69
|
=head1 AUTHOR
|
|
70
70
|
|
|
71
|
-
Copyright 2003-
|
|
71
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
72
72
|
|
|
73
73
|
This library is free software; you can redistribute it and/or modify it
|
|
74
74
|
under the same terms as Perl itself.
|
|
@@ -537,7 +537,7 @@ write GIF meta information.
|
|
|
537
537
|
|
|
538
538
|
=head1 AUTHOR
|
|
539
539
|
|
|
540
|
-
Copyright 2003-
|
|
540
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
541
541
|
|
|
542
542
|
This library is free software; you can redistribute it and/or modify it
|
|
543
543
|
under the same terms as Perl itself.
|
|
@@ -270,7 +270,7 @@ GIMP software.
|
|
|
270
270
|
|
|
271
271
|
=head1 AUTHOR
|
|
272
272
|
|
|
273
|
-
Copyright 2003-
|
|
273
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
274
274
|
|
|
275
275
|
This library is free software; you can redistribute it and/or modify it
|
|
276
276
|
under the same terms as Perl itself.
|
|
@@ -564,7 +564,7 @@ GPS (Global Positioning System) meta information in EXIF data.
|
|
|
564
564
|
|
|
565
565
|
=head1 AUTHOR
|
|
566
566
|
|
|
567
|
-
Copyright 2003-
|
|
567
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
568
568
|
|
|
569
569
|
This library is free software; you can redistribute it and/or modify it
|
|
570
570
|
under the same terms as Perl itself.
|
|
@@ -2242,7 +2242,7 @@ coordinates.
|
|
|
2242
2242
|
|
|
2243
2243
|
=head1 AUTHOR
|
|
2244
2244
|
|
|
2245
|
-
Copyright 2003-
|
|
2245
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2246
2246
|
|
|
2247
2247
|
This library is free software; you can redistribute it and/or modify it
|
|
2248
2248
|
under the same terms as Perl itself.
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# 2016/07/13 - PH Added ability to geotag date/time only
|
|
14
14
|
# 2019/07/02 - PH Added ability to read IMU CSV files
|
|
15
15
|
# 2019/11/10 - PH Also write pitch to CameraElevationAngle
|
|
16
|
+
# 2020/12/01 - PH Added ability to read DJI CSV log files
|
|
16
17
|
#
|
|
17
18
|
# References: 1) http://www.topografix.com/GPX/1/1/
|
|
18
19
|
# 2) http://www.gpsinformation.org/dale/nmea.htm#GSA
|
|
@@ -27,7 +28,7 @@ use vars qw($VERSION);
|
|
|
27
28
|
use Image::ExifTool qw(:Public);
|
|
28
29
|
use Image::ExifTool::GPS;
|
|
29
30
|
|
|
30
|
-
$VERSION = '1.
|
|
31
|
+
$VERSION = '1.64';
|
|
31
32
|
|
|
32
33
|
sub JITTER() { return 2 } # maximum time jitter
|
|
33
34
|
|
|
@@ -133,7 +134,7 @@ sub LoadTrackLog($$;$)
|
|
|
133
134
|
my ($et, $val) = @_;
|
|
134
135
|
my ($raf, $from, $time, $isDate, $noDate, $noDateChanged, $lastDate, $dateFlarm);
|
|
135
136
|
my ($nmeaStart, $fixSecs, @fixTimes, $lastFix, %nmea, @csvHeadings);
|
|
136
|
-
my ($canCut, $cutPDOP, $cutHDOP, $cutSats, $e0, $e1, @tmp);
|
|
137
|
+
my ($canCut, $cutPDOP, $cutHDOP, $cutSats, $e0, $e1, @tmp, $trackFile, $trackTime);
|
|
137
138
|
|
|
138
139
|
unless (eval { require Time::Local }) {
|
|
139
140
|
return 'Geotag feature requires Time::Local installed';
|
|
@@ -159,6 +160,7 @@ sub LoadTrackLog($$;$)
|
|
|
159
160
|
} else {
|
|
160
161
|
# $val is track file name
|
|
161
162
|
if ($et->Open(\*EXIFTOOL_TRKFILE, $val)) {
|
|
163
|
+
$trackFile = $val;
|
|
162
164
|
$raf = new File::RandomAccess(\*EXIFTOOL_TRKFILE);
|
|
163
165
|
unless ($raf->Read($_, 256)) {
|
|
164
166
|
close EXIFTOOL_TRKFILE;
|
|
@@ -201,6 +203,8 @@ sub LoadTrackLog($$;$)
|
|
|
201
203
|
my $skipped = 0;
|
|
202
204
|
my $lastSecs = 0;
|
|
203
205
|
my $fix = { };
|
|
206
|
+
my $csvDelim = $et->Options('CSVDelim');
|
|
207
|
+
$csvDelim = ',' unless defined $csvDelim;
|
|
204
208
|
my (@saveFix, $timeSpan);
|
|
205
209
|
for (;;) {
|
|
206
210
|
$raf->ReadLine($_) or last;
|
|
@@ -230,19 +234,31 @@ sub LoadTrackLog($$;$)
|
|
|
230
234
|
$format = 'Winplus';
|
|
231
235
|
} elsif (/^\s*\d+\s+.*\sypr\s*$/ and (@tmp=split) == 12) {
|
|
232
236
|
$format = 'Bramor';
|
|
233
|
-
} elsif (/\b(GPS)?Date/i and /\b(GPS)?(Date)?Time/i and
|
|
237
|
+
} elsif (((/\b(GPS)?Date/i and /\b(GPS)?(Date)?Time/i) or /\bTime\(seconds\)/i) and /\Q$csvDelim/) {
|
|
234
238
|
chomp;
|
|
235
|
-
@csvHeadings = split
|
|
239
|
+
@csvHeadings = split /\Q$csvDelim/;
|
|
236
240
|
$format = 'CSV';
|
|
237
241
|
# convert recognized headings to our parameter names
|
|
238
242
|
foreach (@csvHeadings) {
|
|
239
243
|
my $param;
|
|
240
244
|
s/^GPS ?//; # remove leading "GPS" to simplify regex patterns
|
|
241
|
-
if (/^
|
|
245
|
+
if (/^Time ?\(seconds\)$/i) { # DJI
|
|
246
|
+
# DJI CSV log files have a column "Time(seconds)" which is seconds since
|
|
247
|
+
# the start of the flight. The date/time is obtained from the file name.
|
|
248
|
+
$param = 'runtime';
|
|
249
|
+
if ($trackFile and $trackFile =~ /(\d{4})-(\d{2})-(\d{2})[^\/]+(\d{2})-(\d{2})-(\d{2})[^\/]*$/) {
|
|
250
|
+
$trackTime = Image::ExifTool::TimeLocal($6,$5,$4,$3,$2-1,$1);
|
|
251
|
+
my $utc = PrintFixTime($trackTime);
|
|
252
|
+
my $tzs = Image::ExifTool::TimeZoneString([$6,$5,$4,$3,$2-1,$1-1900],$trackTime);
|
|
253
|
+
$et->VPrint(2, " DJI start time: $utc (local timezone is $tzs)\n");
|
|
254
|
+
} else {
|
|
255
|
+
return 'Error getting start time from file name for DJI CSV track file';
|
|
256
|
+
}
|
|
257
|
+
} elsif (/^Date ?Time/i) { # ExifTool addition
|
|
242
258
|
$param = 'datetime';
|
|
243
259
|
} elsif (/^Date/i) {
|
|
244
260
|
$param = 'date';
|
|
245
|
-
} elsif (/^Time/i) {
|
|
261
|
+
} elsif (/^Time(?! ?\(text\))/i) { # (ignore DJI "Time(text)" column)
|
|
246
262
|
$param = 'time';
|
|
247
263
|
} elsif (/^(Pos)?Lat/i) {
|
|
248
264
|
$param = 'lat';
|
|
@@ -423,7 +439,7 @@ DoneFix: $isDate = 1;
|
|
|
423
439
|
goto DoneFix; # save this fix
|
|
424
440
|
} elsif ($format eq 'CSV') {
|
|
425
441
|
chomp;
|
|
426
|
-
my @vals = split
|
|
442
|
+
my @vals = split /\Q$csvDelim/;
|
|
427
443
|
#
|
|
428
444
|
# CSV format output of GPS/IMU POS system
|
|
429
445
|
# Date* - date in DD/MM/YYYY format
|
|
@@ -435,7 +451,7 @@ DoneFix: $isDate = 1;
|
|
|
435
451
|
# [Angle]Pitch* - pitch angle in degrees
|
|
436
452
|
# [Angle]Roll* - roll angle in degrees
|
|
437
453
|
# (ExifTool enhancements allow for standard tag names or descriptions as the column headings,
|
|
438
|
-
# add support for time zones and flexible coordinates, and allow
|
|
454
|
+
# add support for time zones and flexible coordinates, and allow new DateTime and Shift columns)
|
|
439
455
|
#
|
|
440
456
|
my ($param, $date, $secs);
|
|
441
457
|
foreach $param (@csvHeadings) {
|
|
@@ -463,6 +479,9 @@ DoneFix: $isDate = 1;
|
|
|
463
479
|
}
|
|
464
480
|
} elsif ($param eq 'lat' or $param eq 'lon') {
|
|
465
481
|
$$fix{$param} = Image::ExifTool::GPS::ToDegrees($val, 1);
|
|
482
|
+
} elsif ($param eq 'runtime') {
|
|
483
|
+
$date = $trackTime;
|
|
484
|
+
$secs = $val;
|
|
466
485
|
} else {
|
|
467
486
|
$$fix{$param} = $val;
|
|
468
487
|
}
|
|
@@ -1378,8 +1397,8 @@ This module is used by Image::ExifTool
|
|
|
1378
1397
|
This module loads GPS track logs, interpolates to determine position based
|
|
1379
1398
|
on time, and sets new GPS values for geotagging images. Currently supported
|
|
1380
1399
|
formats are GPX, NMEA RMC/GGA/GLL, KML, IGC, Garmin XML and TCX, Magellan
|
|
1381
|
-
PMGNTRK, Honeywell PTNTHPR, Winplus Beacon text, IMU CSV,
|
|
1382
|
-
files.
|
|
1400
|
+
PMGNTRK, Honeywell PTNTHPR, Winplus Beacon text, IMU CSV, DJI CSV, and
|
|
1401
|
+
Bramor gEO log files.
|
|
1383
1402
|
|
|
1384
1403
|
Methods in this module should not be called directly. Instead, the Geotag
|
|
1385
1404
|
feature is accessed by writing the values of the ExifTool Geotag, Geosync
|
|
@@ -1393,7 +1412,7 @@ user-defined tag GPSRoll, must be active.
|
|
|
1393
1412
|
|
|
1394
1413
|
=head1 AUTHOR
|
|
1395
1414
|
|
|
1396
|
-
Copyright 2003-
|
|
1415
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1397
1416
|
|
|
1398
1417
|
This library is free software; you can redistribute it and/or modify it
|
|
1399
1418
|
under the same terms as Perl itself.
|
|
@@ -718,7 +718,7 @@ metadata from GoPro MP4 videos.
|
|
|
718
718
|
|
|
719
719
|
=head1 AUTHOR
|
|
720
720
|
|
|
721
|
-
Copyright 2003-
|
|
721
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
722
722
|
|
|
723
723
|
This library is free software; you can redistribute it and/or modify it
|
|
724
724
|
under the same terms as Perl itself.
|
|
@@ -1108,7 +1108,7 @@ information from H.264 video streams.
|
|
|
1108
1108
|
|
|
1109
1109
|
=head1 AUTHOR
|
|
1110
1110
|
|
|
1111
|
-
Copyright 2003-
|
|
1111
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1112
1112
|
|
|
1113
1113
|
This library is free software; you can redistribute it and/or modify it
|
|
1114
1114
|
under the same terms as Perl itself.
|
|
@@ -250,7 +250,7 @@ Hewlett-Packard maker notes.
|
|
|
250
250
|
|
|
251
251
|
=head1 AUTHOR
|
|
252
252
|
|
|
253
|
-
Copyright 2003-
|
|
253
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
254
254
|
|
|
255
255
|
This library is free software; you can redistribute it and/or modify it
|
|
256
256
|
under the same terms as Perl itself.
|
|
@@ -555,7 +555,7 @@ meta information from HTML documents.
|
|
|
555
555
|
|
|
556
556
|
=head1 AUTHOR
|
|
557
557
|
|
|
558
|
-
Copyright 2003-
|
|
558
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
559
559
|
|
|
560
560
|
This library is free software; you can redistribute it and/or modify it
|
|
561
561
|
under the same terms as Perl itself.
|
|
@@ -917,7 +917,7 @@ page.
|
|
|
917
917
|
|
|
918
918
|
=head1 AUTHOR
|
|
919
919
|
|
|
920
|
-
Copyright 2003-
|
|
920
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
921
921
|
|
|
922
922
|
This library is free software; you can redistribute it and/or modify it
|
|
923
923
|
under the same terms as Perl itself.
|