exiftool_vendored 13.10.0 → 13.14.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 +82 -19
- data/bin/MANIFEST +6 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/arg_files/exif2xmp.args +4 -0
- data/bin/arg_files/xmp2exif.args +2 -1
- data/bin/build_geolocation +1 -1
- data/bin/exiftool +208 -150
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool/AAC.pm +1 -1
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +6 -6
- 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 +29 -18
- data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- data/bin/lib/Image/ExifTool/Canon.pm +8 -4
- 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 +150 -46
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- data/bin/lib/Image/ExifTool/DPX.pm +1 -1
- 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 +123 -32
- data/bin/lib/Image/ExifTool/Exif.pm +7 -4
- 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/GM.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/Geolocation.pm +17 -8
- 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 +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/ICO.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- data/bin/lib/Image/ExifTool/IPTC.pm +8 -5
- 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 +5 -4
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +6 -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 +1 -1
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LIF.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/sk.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/LigoGPS.pm +409 -0
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +22 -13
- 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/MISB.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/MRC.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 +12 -4
- 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 +166 -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 +1 -1
- 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/Other.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +1 -1
- 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 +1 -1
- 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 +20 -2
- 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 +1 -1
- 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/Protobuf.pm +48 -20
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +206 -66
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +21 -303
- data/bin/lib/Image/ExifTool/README +4 -0
- data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- 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 +2 -2
- 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 +1 -1
- 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 +3449 -3435
- data/bin/lib/Image/ExifTool/TagNames.pod +164 -47
- 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 +3 -3
- 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/Vivo.pm +124 -0
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WPG.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 +74 -43
- data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
- data/bin/lib/Image/ExifTool/Writer.pl +21 -16
- data/bin/lib/Image/ExifTool/XISF.pm +1 -1
- data/bin/lib/Image/ExifTool/XMP.pm +1 -1
- data/bin/lib/Image/ExifTool/XMP2.pl +1 -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/lib/Image/ExifTool.pm +34 -12
- data/bin/lib/Image/ExifTool.pod +57 -46
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -2
@@ -354,7 +354,7 @@ linear list when ApplyFixups() is called.
|
|
354
354
|
|
355
355
|
=head1 AUTHOR
|
356
356
|
|
357
|
-
Copyright 2003-
|
357
|
+
Copyright 2003-2025, 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-2025, 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.
|
@@ -2557,7 +2557,7 @@ JPEG images.
|
|
2557
2557
|
|
2558
2558
|
=head1 AUTHOR
|
2559
2559
|
|
2560
|
-
Copyright 2003-
|
2560
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
2561
2561
|
|
2562
2562
|
This library is free software; you can redistribute it and/or modify it
|
2563
2563
|
under the same terms as Perl itself.
|
@@ -633,7 +633,7 @@ extracted from these formats.
|
|
633
633
|
|
634
634
|
=head1 AUTHOR
|
635
635
|
|
636
|
-
Copyright 2003-
|
636
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
637
637
|
|
638
638
|
This library is free software; you can redistribute it and/or modify it
|
639
639
|
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-2025, 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.
|
@@ -1959,7 +1959,7 @@ FujiFilm maker notes in EXIF information, and to read/write FujiFilm RAW
|
|
1959
1959
|
|
1960
1960
|
=head1 AUTHOR
|
1961
1961
|
|
1962
|
-
Copyright 2003-
|
1962
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1963
1963
|
|
1964
1964
|
This library is free software; you can redistribute it and/or modify it
|
1965
1965
|
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-2025, 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.
|
@@ -596,7 +596,7 @@ write GIF meta information.
|
|
596
596
|
|
597
597
|
=head1 AUTHOR
|
598
598
|
|
599
|
-
Copyright 2003-
|
599
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
600
600
|
|
601
601
|
This library is free software; you can redistribute it and/or modify it
|
602
602
|
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-2025, 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.
|
@@ -531,7 +531,7 @@ metadata from videos written by some GM models such as Corvette and Camero.
|
|
531
531
|
|
532
532
|
=head1 AUTHOR
|
533
533
|
|
534
|
-
Copyright 2003-
|
534
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
535
535
|
|
536
536
|
This library is free software; you can redistribute it and/or modify it
|
537
537
|
under the same terms as Perl itself.
|
@@ -619,7 +619,7 @@ GPS (Global Positioning System) meta information in EXIF data.
|
|
619
619
|
|
620
620
|
=head1 AUTHOR
|
621
621
|
|
622
|
-
Copyright 2003-
|
622
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
623
623
|
|
624
624
|
This library is free software; you can redistribute it and/or modify it
|
625
625
|
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-2025, 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.
|
@@ -71,7 +71,7 @@ package Image::ExifTool::Geolocation;
|
|
71
71
|
use strict;
|
72
72
|
use vars qw($VERSION $geoDir $altDir $dbInfo);
|
73
73
|
|
74
|
-
$VERSION = '1.
|
74
|
+
$VERSION = '1.09'; # (this is the module version number, not the database version)
|
75
75
|
|
76
76
|
my $debug; # set to output processing time for testing
|
77
77
|
|
@@ -463,7 +463,7 @@ sub GetAltNames($;$)
|
|
463
463
|
sub Geolocate($;$)
|
464
464
|
{
|
465
465
|
my ($arg, $opts) = @_;
|
466
|
-
my ($city, @exact, %regex, @multiCity, $other, $idx, @cargs
|
466
|
+
my ($city, @exact, %regex, @multiCity, $other, $idx, @cargs);
|
467
467
|
my ($minPop, $minDistU, $minDistC, @matchParms, @coords, %fcOK, $both);
|
468
468
|
my ($pop, $maxDist, $multi, $fcodes, $altNames, @startTime);
|
469
469
|
|
@@ -594,8 +594,16 @@ Entry: for (; $i<@cityList; ++$i) {
|
|
594
594
|
}
|
595
595
|
@startTime and printf("= Processing time: %.3f sec\n", Time::HiRes::tv_interval(\@startTime));
|
596
596
|
if (%lastFound) {
|
597
|
-
@coords == 2
|
597
|
+
last if @coords == 2; # continue to use coords with last city matches
|
598
598
|
scalar(keys %lastFound) > 200 and warn("Too many matching cities\n"), return();
|
599
|
+
# return nearby cities if "num=" is used and only one match found
|
600
|
+
if ($num > 1 and scalar(keys %lastFound) == 1) {
|
601
|
+
my ($i) = keys %lastFound;
|
602
|
+
my @entry = GetEntry($i);
|
603
|
+
@coords = @entry[8,9];
|
604
|
+
SortDatabase('Latitude'); # (make sure we are sorted by latitude)
|
605
|
+
last;
|
606
|
+
}
|
599
607
|
unless (@lastByPop) {
|
600
608
|
@lastByPop = sort { $lastFound{$b} cmp $lastFound{$a} or $cityList[$a] cmp $cityList[$b] } keys %lastFound;
|
601
609
|
}
|
@@ -777,7 +785,7 @@ on the first call.
|
|
777
785
|
|
778
786
|
Sort database in specified order.
|
779
787
|
|
780
|
-
Image::ExifTool::Geolocation::
|
788
|
+
Image::ExifTool::Geolocation::SortDatabase('City');
|
781
789
|
|
782
790
|
=over 4
|
783
791
|
|
@@ -924,9 +932,10 @@ to the argument list:
|
|
924
932
|
both to determine the closest city matching the specified
|
925
933
|
name(s) instead of using GPS only.
|
926
934
|
|
927
|
-
'num=##' - When the search includes GPS coordinates,
|
928
|
-
|
929
|
-
|
935
|
+
'num=##' - When the search includes GPS coordinates, or when a single
|
936
|
+
city is matched by name, return the nearest ## cities instead
|
937
|
+
of just the closest or named one. Returned cities are in the
|
938
|
+
order from nearest to farthest.
|
930
939
|
|
931
940
|
See L<https://exiftool.org/geolocation.html#Read> for more details.
|
932
941
|
|
@@ -1006,7 +1015,7 @@ the input arguments of the AddEntry method.
|
|
1006
1015
|
|
1007
1016
|
=head1 AUTHOR
|
1008
1017
|
|
1009
|
-
Copyright 2003-
|
1018
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1010
1019
|
|
1011
1020
|
This library is free software; you can redistribute it and/or modify it
|
1012
1021
|
under the same terms as Perl itself. The associated database files are
|
@@ -1561,7 +1561,7 @@ user-defined tag GPSRoll, must be active.
|
|
1561
1561
|
|
1562
1562
|
=head1 AUTHOR
|
1563
1563
|
|
1564
|
-
Copyright 2003-
|
1564
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1565
1565
|
|
1566
1566
|
This library is free software; you can redistribute it and/or modify it
|
1567
1567
|
under the same terms as Perl itself.
|
@@ -860,7 +860,7 @@ metadata from GoPro MP4 videos.
|
|
860
860
|
|
861
861
|
=head1 AUTHOR
|
862
862
|
|
863
|
-
Copyright 2003-
|
863
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
864
864
|
|
865
865
|
This library is free software; you can redistribute it and/or modify it
|
866
866
|
under the same terms as Perl itself.
|
@@ -1123,7 +1123,7 @@ information from H.264 video streams.
|
|
1123
1123
|
|
1124
1124
|
=head1 AUTHOR
|
1125
1125
|
|
1126
|
-
Copyright 2003-
|
1126
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1127
1127
|
|
1128
1128
|
This library is free software; you can redistribute it and/or modify it
|
1129
1129
|
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-2025, 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-2025, 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.
|
@@ -920,7 +920,7 @@ page.
|
|
920
920
|
|
921
921
|
=head1 AUTHOR
|
922
922
|
|
923
|
-
Copyright 2003-
|
923
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
924
924
|
|
925
925
|
This library is free software; you can redistribute it and/or modify it
|
926
926
|
under the same terms as Perl itself.
|
@@ -1436,7 +1436,7 @@ data created on one device into another device's native color space.
|
|
1436
1436
|
|
1437
1437
|
=head1 AUTHOR
|
1438
1438
|
|
1439
|
-
Copyright 2003-
|
1439
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1440
1440
|
|
1441
1441
|
This library is free software; you can redistribute it and/or modify it
|
1442
1442
|
under the same terms as Perl itself.
|
@@ -121,7 +121,7 @@ information from Windows ICO (icon) and CUR (cursor) files.
|
|
121
121
|
|
122
122
|
=head1 AUTHOR
|
123
123
|
|
124
|
-
Copyright 2003-
|
124
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
125
125
|
|
126
126
|
This library is free software; you can redistribute it and/or modify it
|
127
127
|
under the same terms as Perl itself.
|
@@ -1746,7 +1746,7 @@ other types of audio files.
|
|
1746
1746
|
|
1747
1747
|
=head1 AUTHOR
|
1748
1748
|
|
1749
|
-
Copyright 2003-
|
1749
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1750
1750
|
|
1751
1751
|
This library is free software; you can redistribute it and/or modify it
|
1752
1752
|
under the same terms as Perl itself.
|
@@ -15,7 +15,7 @@ use strict;
|
|
15
15
|
use vars qw($VERSION $AUTOLOAD %iptcCharset);
|
16
16
|
use Image::ExifTool qw(:DataAccess :Utils);
|
17
17
|
|
18
|
-
$VERSION = '1.
|
18
|
+
$VERSION = '1.59';
|
19
19
|
|
20
20
|
%iptcCharset = (
|
21
21
|
"\x1b%G" => 'UTF8',
|
@@ -1057,7 +1057,7 @@ sub ProcessIPTC($$$)
|
|
1057
1057
|
my $verbose = $et->Options('Verbose');
|
1058
1058
|
my $validate = $et->Options('Validate');
|
1059
1059
|
my $success = 0;
|
1060
|
-
my ($lastRec, $recordPtr, $recordName);
|
1060
|
+
my ($lastRec, $recordPtr, $recordName, %seen);
|
1061
1061
|
|
1062
1062
|
$verbose and $dirInfo and $et->VerboseDir('IPTC', 0, $$dirInfo{DirLen});
|
1063
1063
|
|
@@ -1083,7 +1083,7 @@ sub ProcessIPTC($$$)
|
|
1083
1083
|
$et->FoundTag('CurrentIPTCDigest', $md5);
|
1084
1084
|
}
|
1085
1085
|
} else {
|
1086
|
-
if (($Image::ExifTool::MWG::strict or $
|
1086
|
+
if (($Image::ExifTool::MWG::strict or $validate) and
|
1087
1087
|
$$et{FILE_TYPE} =~ /^(JPEG|TIFF|PSD)$/)
|
1088
1088
|
{
|
1089
1089
|
if ($Image::ExifTool::MWG::strict) {
|
@@ -1186,8 +1186,11 @@ sub ProcessIPTC($$$)
|
|
1186
1186
|
# - no Name so name is generated automatically with decimal tag number
|
1187
1187
|
AddTagToTable($recordPtr, $tag, { Unknown => 1 });
|
1188
1188
|
}
|
1189
|
-
|
1190
1189
|
my $tagInfo = $et->GetTagInfo($recordPtr, $tag);
|
1190
|
+
if ($validate and not $$tagInfo{List} and not $$tagInfo{Unknown}) {
|
1191
|
+
$et->Warn("Multiple IPTC $$tagInfo{Name} tags") if $seen{$tagInfo};
|
1192
|
+
$seen{$tagInfo} = 1;
|
1193
|
+
}
|
1191
1194
|
my $format;
|
1192
1195
|
# (could use $$recordPtr{FORMAT} if no Format below, but don't do this to
|
1193
1196
|
# be backward compatible with improperly written PhotoMechanic tags)
|
@@ -1284,7 +1287,7 @@ image files.
|
|
1284
1287
|
|
1285
1288
|
=head1 AUTHOR
|
1286
1289
|
|
1287
|
-
Copyright 2003-
|
1290
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1288
1291
|
|
1289
1292
|
This library is free software; you can redistribute it and/or modify it
|
1290
1293
|
under the same terms as Perl itself.
|
@@ -184,7 +184,7 @@ information from ISO 9660 disk images.
|
|
184
184
|
|
185
185
|
=head1 AUTHOR
|
186
186
|
|
187
|
-
Copyright 2003-
|
187
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
188
188
|
|
189
189
|
This library is free software; you can redistribute it and/or modify it
|
190
190
|
under the same terms as Perl itself.
|
@@ -191,7 +191,7 @@ information (including artwork images) from iTunes Cover Flow files.
|
|
191
191
|
|
192
192
|
=head1 AUTHOR
|
193
193
|
|
194
|
-
Copyright 2003-
|
194
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
195
195
|
|
196
196
|
This library is free software; you can redistribute it and/or modify it
|
197
197
|
under the same terms as Perl itself.
|
@@ -12,7 +12,7 @@ require Exporter;
|
|
12
12
|
|
13
13
|
use vars qw($VERSION @ISA @EXPORT_OK);
|
14
14
|
|
15
|
-
$VERSION = '1.
|
15
|
+
$VERSION = '1.14';
|
16
16
|
@ISA = qw(Exporter);
|
17
17
|
@EXPORT_OK = qw(ReadCSV ReadJSON);
|
18
18
|
|
@@ -80,14 +80,15 @@ sub ReadCSV($$;$$)
|
|
80
80
|
}
|
81
81
|
if (@tags) {
|
82
82
|
# save values for each tag
|
83
|
+
$fileInfo{_ordered_keys_} = [ ];
|
83
84
|
for ($i=0; $i<@vals and $i<@tags; ++$i) {
|
84
85
|
# ignore empty entries unless missingValue is empty too
|
85
86
|
next unless length $vals[$i] or defined $missingValue and $missingValue eq '';
|
86
87
|
# delete tag (set value to undef) if value is same as missing tag
|
87
88
|
$fileInfo{$tags[$i]} =
|
88
89
|
(defined $missingValue and $vals[$i] eq $missingValue) ? undef : $vals[$i];
|
90
|
+
push @{$fileInfo{_ordered_keys_}}, $tags[$i];
|
89
91
|
}
|
90
|
-
$fileInfo{_ordered_keys_} = \@tags;
|
91
92
|
# figure out the file name to use
|
92
93
|
if ($fileInfo{SourceFile}) {
|
93
94
|
$$database{$fileInfo{SourceFile}} = \%fileInfo;
|
@@ -99,7 +100,7 @@ sub ReadCSV($$;$$)
|
|
99
100
|
# terminate at first blank tag name (eg. extra comma at end of line)
|
100
101
|
last unless length $_;
|
101
102
|
@tags or s/^\xef\xbb\xbf//; # remove UTF-8 BOM if it exists
|
102
|
-
/^[
|
103
|
+
/^([-_0-9A-Z]+:)*[-_0-9A-Z]+#?$/i or $err = "Invalid tag name '${_}'", last;
|
103
104
|
push(@tags, $_);
|
104
105
|
}
|
105
106
|
last if $err;
|
@@ -355,7 +356,7 @@ ARRAY reference in a special "_ordered_keys_" element of this hash.
|
|
355
356
|
|
356
357
|
=head1 AUTHOR
|
357
358
|
|
358
|
-
Copyright 2003-
|
359
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
359
360
|
|
360
361
|
This library is free software; you can redistribute it and/or modify it
|
361
362
|
under the same terms as Perl itself.
|
@@ -277,7 +277,7 @@ them and the LargeFileSupport option is enabled.
|
|
277
277
|
|
278
278
|
=head1 AUTHOR
|
279
279
|
|
280
|
-
Copyright 2003-
|
280
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
281
281
|
|
282
282
|
This library is free software; you can redistribute it and/or modify it
|
283
283
|
under the same terms as Perl itself.
|
@@ -206,7 +206,7 @@ IJPEG SDK, used in cameras such as the P2 Pro.
|
|
206
206
|
|
207
207
|
=head1 AUTHOR
|
208
208
|
|
209
|
-
Copyright 2003-
|
209
|
+
Copyright 2003-2025, Marcos Del Sol Vives (marcos at orca.pet)
|
210
210
|
|
211
211
|
This library is free software; you can redistribute it and/or modify it
|
212
212
|
under the same terms as Perl itself.
|
@@ -11,7 +11,7 @@ use strict;
|
|
11
11
|
use vars qw($VERSION);
|
12
12
|
use Image::ExifTool qw(:DataAccess :Utils);
|
13
13
|
|
14
|
-
$VERSION = '1.
|
14
|
+
$VERSION = '1.39';
|
15
15
|
|
16
16
|
sub ProcessOcad($$$);
|
17
17
|
sub ProcessJPEG_HDR($$$);
|
@@ -347,6 +347,10 @@ sub ProcessJPEG_HDR($$$);
|
|
347
347
|
Name => 'Samsung',
|
348
348
|
Condition => '$$valPt =~ /QDIOBS$/',
|
349
349
|
SubDirectory => { TagTable => 'Image::ExifTool::Samsung::Trailer' },
|
350
|
+
}, {
|
351
|
+
Name => 'Vivo',
|
352
|
+
Condition => '$$valPt =~ /^(streamdata|vivo\{")/',
|
353
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Vivo::Main' },
|
350
354
|
}, {
|
351
355
|
Name => 'EmbeddedVideo',
|
352
356
|
Notes => 'extracted only when ExtractEmbedded option is used',
|
@@ -791,7 +795,7 @@ segments are included in the Image::ExifTool module itself.
|
|
791
795
|
|
792
796
|
=head1 AUTHOR
|
793
797
|
|
794
|
-
Copyright 2003-
|
798
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
795
799
|
|
796
800
|
This library is free software; you can redistribute it and/or modify it
|
797
801
|
under the same terms as Perl itself.
|
@@ -2590,7 +2590,7 @@ estimated JPEG quality if requested.
|
|
2590
2590
|
|
2591
2591
|
=head1 AUTHOR
|
2592
2592
|
|
2593
|
-
Copyright 2003-
|
2593
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
2594
2594
|
|
2595
2595
|
This library is free software; you can redistribute it and/or modify it
|
2596
2596
|
under the same terms as Perl itself.
|
@@ -183,7 +183,7 @@ information from JSON files.
|
|
183
183
|
|
184
184
|
=head1 AUTHOR
|
185
185
|
|
186
|
-
Copyright 2003-
|
186
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
187
187
|
|
188
188
|
This library is free software; you can redistribute it and/or modify it
|
189
189
|
under the same terms as Perl itself.
|
@@ -117,7 +117,7 @@ notes.
|
|
117
117
|
|
118
118
|
=head1 AUTHOR
|
119
119
|
|
120
|
-
Copyright 2003-
|
120
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
121
121
|
|
122
122
|
This library is free software; you can redistribute it and/or modify it
|
123
123
|
under the same terms as Perl itself.
|
@@ -1671,7 +1671,7 @@ files.
|
|
1671
1671
|
|
1672
1672
|
=head1 AUTHOR
|
1673
1673
|
|
1674
|
-
Copyright 2003-
|
1674
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1675
1675
|
|
1676
1676
|
This library is free software; you can redistribute it and/or modify it
|
1677
1677
|
under the same terms as Perl itself.
|
@@ -3252,7 +3252,7 @@ interpret Kodak maker notes EXIF meta information.
|
|
3252
3252
|
|
3253
3253
|
=head1 AUTHOR
|
3254
3254
|
|
3255
|
-
Copyright 2003-
|
3255
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
3256
3256
|
|
3257
3257
|
This library is free software; you can redistribute it and/or modify it
|
3258
3258
|
under the same terms as Perl itself.
|
@@ -152,7 +152,7 @@ meta information from Kyocera Contax N Digital RAW images.
|
|
152
152
|
|
153
153
|
=head1 AUTHOR
|
154
154
|
|
155
|
-
Copyright 2003-
|
155
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
156
156
|
|
157
157
|
This library is free software; you can redistribute it and/or modify it
|
158
158
|
under the same terms as Perl itself.
|
@@ -147,7 +147,7 @@ metadata from Leica Image File (LIF) images.
|
|
147
147
|
|
148
148
|
=head1 AUTHOR
|
149
149
|
|
150
|
-
Copyright 2003-
|
150
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
151
151
|
|
152
152
|
This library is free software; you can redistribute it and/or modify it
|
153
153
|
under the same terms as Perl itself.
|
@@ -703,7 +703,7 @@ information MS Shell Link (Windows shortcut) files.
|
|
703
703
|
|
704
704
|
=head1 AUTHOR
|
705
705
|
|
706
|
-
Copyright 2003-
|
706
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
707
707
|
|
708
708
|
This library is free software; you can redistribute it and/or modify it
|
709
709
|
under the same terms as Perl itself.
|
@@ -1570,7 +1570,7 @@ and values.
|
|
1570
1570
|
|
1571
1571
|
=head1 AUTHOR
|
1572
1572
|
|
1573
|
-
Copyright 2003-
|
1573
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1574
1574
|
|
1575
1575
|
This library is free software; you can redistribute it and/or modify it
|
1576
1576
|
under the same terms as Perl itself.
|
@@ -8702,7 +8702,7 @@ and values.
|
|
8702
8702
|
|
8703
8703
|
=head1 AUTHOR
|
8704
8704
|
|
8705
|
-
Copyright 2003-
|
8705
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
8706
8706
|
|
8707
8707
|
This library is free software; you can redistribute it and/or modify it
|
8708
8708
|
under the same terms as Perl itself.
|
@@ -989,7 +989,7 @@ and values.
|
|
989
989
|
|
990
990
|
=head1 AUTHOR
|
991
991
|
|
992
|
-
Copyright 2003-
|
992
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
993
993
|
|
994
994
|
This library is free software; you can redistribute it and/or modify it
|
995
995
|
under the same terms as Perl itself.
|
@@ -1032,7 +1032,7 @@ and values.
|
|
1032
1032
|
|
1033
1033
|
=head1 AUTHOR
|
1034
1034
|
|
1035
|
-
Copyright 2003-
|
1035
|
+
Copyright 2003-2025, 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-2025, 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-2025, 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.
|
@@ -11270,7 +11270,7 @@ and values.
|
|
11270
11270
|
|
11271
11271
|
=head1 AUTHOR
|
11272
11272
|
|
11273
|
-
Copyright 2003-
|
11273
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
11274
11274
|
|
11275
11275
|
This library is free software; you can redistribute it and/or modify it
|
11276
11276
|
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-2025, 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-2025, 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-2025, 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.
|
@@ -3208,7 +3208,7 @@ and values.
|
|
3208
3208
|
|
3209
3209
|
=head1 AUTHOR
|
3210
3210
|
|
3211
|
-
Copyright 2003-
|
3211
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
3212
3212
|
|
3213
3213
|
This library is free software; you can redistribute it and/or modify it
|
3214
3214
|
under the same terms as Perl itself.
|