exiftool_vendored 13.08.0 → 13.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +60 -2
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +229 -158
- 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 +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 +10 -8
- 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 -6
- 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 +96 -45
- 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.dat +0 -0
- data/bin/lib/Image/ExifTool/Geolocation.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 +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 +81 -2
- 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 +1 -1
- 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 +3 -2
- 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 +408 -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 +164 -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 +3 -3
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +3 -2
- 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 +2 -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 +24 -14
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +94 -26
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +20 -302
- 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 +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 +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 +14 -5
- data/bin/lib/Image/ExifTool/TagNames.pod +106 -34
- 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/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 +48 -12
- 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 +25 -13
- 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 +20 -11
- data/bin/lib/Image/ExifTool.pod +55 -40
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -12,6 +12,7 @@
|
|
12
12
|
# 5) http://www.color.org/icc_specs2.xalter (approved revisions, 2010-07-16)
|
13
13
|
# 6) Eef Vreeland private communication
|
14
14
|
# 7) https://color.org/specification/ICC.2-2019.pdf
|
15
|
+
# 8) https://www.color.org/specification/ICC.1-2022-05.pdf
|
15
16
|
#
|
16
17
|
# Notes: The ICC profile information is different: the format of each
|
17
18
|
# tag is embedded in the information instead of in the directory
|
@@ -25,7 +26,7 @@ use strict;
|
|
25
26
|
use vars qw($VERSION);
|
26
27
|
use Image::ExifTool qw(:DataAccess :Utils);
|
27
28
|
|
28
|
-
$VERSION = '1.
|
29
|
+
$VERSION = '1.41';
|
29
30
|
|
30
31
|
sub ProcessICC($$);
|
31
32
|
sub ProcessICC_Profile($$$);
|
@@ -367,6 +368,7 @@ my %manuSig = ( #6
|
|
367
368
|
Groups => { 2 => 'Time' },
|
368
369
|
PrintConv => '$self->ConvertDateTime($val)',
|
369
370
|
},
|
371
|
+
|
370
372
|
targ => {
|
371
373
|
Name => 'CharTarget',
|
372
374
|
ValueConv => '$val=~s/\0.*//; length $val > 128 ? \$val : $val',
|
@@ -493,6 +495,10 @@ my %manuSig = ( #6
|
|
493
495
|
},
|
494
496
|
},
|
495
497
|
ciis => 'ColorimetricIntentImageState', #5
|
498
|
+
cicp => { #8 (Coding-independent Code Points)
|
499
|
+
Name => 'ColorRepresentation',
|
500
|
+
SubDirectory => { TagTable => 'Image::ExifTool::ICC_Profile::ColorRep' },
|
501
|
+
},
|
496
502
|
scoe => 'SceneColorimetryEstimates', #5
|
497
503
|
sape => 'SceneAppearanceEstimates', #5
|
498
504
|
fpce => 'FocalPlaneColorimetryEstimates', #5
|
@@ -628,6 +634,7 @@ my %manuSig = ( #6
|
|
628
634
|
s2cp => 'StandardToCustomPcc',
|
629
635
|
smap => 'SurfaceMap',
|
630
636
|
# smwp ? (seen in some v5 samples [was a mistake in sample production])
|
637
|
+
hdgm => { Name => 'HDGainMapInfo', Binary => 1 }, #PH
|
631
638
|
|
632
639
|
# the following entry represents the ICC profile header, and doesn't
|
633
640
|
# exist as a tag in the directory. It is only in this table to provide
|
@@ -747,6 +754,78 @@ my %manuSig = ( #6
|
|
747
754
|
},
|
748
755
|
);
|
749
756
|
|
757
|
+
# Coding-independent code points (cicp) definition
|
758
|
+
# (NOTE: conversions are the same as Image::ExifTool::QuickTime::ColorRep tags)
|
759
|
+
%Image::ExifTool::ICC_Profile::ColorRep = (
|
760
|
+
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
761
|
+
GROUPS => { 0 => 'ICC_Profile', 1 => 'ICC-cicp', 2 => 'Image' },
|
762
|
+
8 => {
|
763
|
+
Name => 'ColorPrimaries',
|
764
|
+
PrintConv => {
|
765
|
+
1 => 'BT.709',
|
766
|
+
2 => 'Unspecified',
|
767
|
+
4 => 'BT.470 System M (historical)',
|
768
|
+
5 => 'BT.470 System B, G (historical)',
|
769
|
+
6 => 'BT.601',
|
770
|
+
7 => 'SMPTE 240',
|
771
|
+
8 => 'Generic film (color filters using illuminant C)',
|
772
|
+
9 => 'BT.2020, BT.2100',
|
773
|
+
10 => 'SMPTE 428 (CIE 1931 XYZ)', #forum14766
|
774
|
+
11 => 'SMPTE RP 431-2',
|
775
|
+
12 => 'SMPTE EG 432-1',
|
776
|
+
22 => 'EBU Tech. 3213-E',
|
777
|
+
},
|
778
|
+
},
|
779
|
+
9 => {
|
780
|
+
Name => 'TransferCharacteristics',
|
781
|
+
PrintConv => {
|
782
|
+
0 => 'For future use (0)',
|
783
|
+
1 => 'BT.709',
|
784
|
+
2 => 'Unspecified',
|
785
|
+
3 => 'For future use (3)',
|
786
|
+
4 => 'BT.470 System M (historical)', # Gamma 2.2? (ref forum14960)
|
787
|
+
5 => 'BT.470 System B, G (historical)', # Gamma 2.8? (ref forum14960)
|
788
|
+
6 => 'BT.601',
|
789
|
+
7 => 'SMPTE 240 M',
|
790
|
+
8 => 'Linear',
|
791
|
+
9 => 'Logarithmic (100 : 1 range)',
|
792
|
+
10 => 'Logarithmic (100 * Sqrt(10) : 1 range)',
|
793
|
+
11 => 'IEC 61966-2-4',
|
794
|
+
12 => 'BT.1361',
|
795
|
+
13 => 'sRGB or sYCC',
|
796
|
+
14 => 'BT.2020 10-bit systems',
|
797
|
+
15 => 'BT.2020 12-bit systems',
|
798
|
+
16 => 'SMPTE ST 2084, ITU BT.2100 PQ',
|
799
|
+
17 => 'SMPTE ST 428',
|
800
|
+
18 => 'BT.2100 HLG, ARIB STD-B67',
|
801
|
+
},
|
802
|
+
},
|
803
|
+
10 => {
|
804
|
+
Name => 'MatrixCoefficients',
|
805
|
+
PrintConv => {
|
806
|
+
0 => 'Identity matrix',
|
807
|
+
1 => 'BT.709',
|
808
|
+
2 => 'Unspecified',
|
809
|
+
3 => 'For future use (3)',
|
810
|
+
4 => 'US FCC 73.628',
|
811
|
+
5 => 'BT.470 System B, G (historical)',
|
812
|
+
6 => 'BT.601',
|
813
|
+
7 => 'SMPTE 240 M',
|
814
|
+
8 => 'YCgCo',
|
815
|
+
9 => 'BT.2020 non-constant luminance, BT.2100 YCbCr',
|
816
|
+
10 => 'BT.2020 constant luminance',
|
817
|
+
11 => 'SMPTE ST 2085 YDzDx',
|
818
|
+
12 => 'Chromaticity-derived non-constant luminance',
|
819
|
+
13 => 'Chromaticity-derived constant luminance',
|
820
|
+
14 => 'BT.2100 ICtCp',
|
821
|
+
},
|
822
|
+
},
|
823
|
+
11 => {
|
824
|
+
Name => 'VideoFullRangeFlag',
|
825
|
+
PrintConv => { 0 => 'Limited', 1 => 'Full' },
|
826
|
+
},
|
827
|
+
);
|
828
|
+
|
750
829
|
# viewingConditionsType (view) definition
|
751
830
|
%Image::ExifTool::ICC_Profile::ViewingConditions = (
|
752
831
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
@@ -1357,7 +1436,7 @@ data created on one device into another device's native color space.
|
|
1357
1436
|
|
1358
1437
|
=head1 AUTHOR
|
1359
1438
|
|
1360
|
-
Copyright 2003-
|
1439
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1361
1440
|
|
1362
1441
|
This library is free software; you can redistribute it and/or modify it
|
1363
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.
|
@@ -791,7 +791,7 @@ segments are included in the Image::ExifTool module itself.
|
|
791
791
|
|
792
792
|
=head1 AUTHOR
|
793
793
|
|
794
|
-
Copyright 2003-
|
794
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
795
795
|
|
796
796
|
This library is free software; you can redistribute it and/or modify it
|
797
797
|
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.
|
@@ -16,7 +16,7 @@ use strict;
|
|
16
16
|
use vars qw($VERSION);
|
17
17
|
use Image::ExifTool qw(:DataAccess :Utils);
|
18
18
|
|
19
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.43';
|
20
20
|
|
21
21
|
sub ProcessJpeg2000Box($$$);
|
22
22
|
sub ProcessJUMD($$$);
|
@@ -631,6 +631,7 @@ my %j2cMarker = (
|
|
631
631
|
%Image::ExifTool::Jpeg2000::ColorSpec = (
|
632
632
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
633
633
|
WRITE_PROC => \&Image::ExifTool::WriteBinaryData, # (we don't actually call this)
|
634
|
+
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
634
635
|
GROUPS => { 2 => 'Image' },
|
635
636
|
FORMAT => 'int8s',
|
636
637
|
WRITABLE => 1,
|
@@ -1670,7 +1671,7 @@ files.
|
|
1670
1671
|
|
1671
1672
|
=head1 AUTHOR
|
1672
1673
|
|
1673
|
-
Copyright 2003-
|
1674
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1674
1675
|
|
1675
1676
|
This library is free software; you can redistribute it and/or modify it
|
1676
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.
|
@@ -1258,7 +1258,7 @@ and values.
|
|
1258
1258
|
|
1259
1259
|
=head1 AUTHOR
|
1260
1260
|
|
1261
|
-
Copyright 2003-
|
1261
|
+
Copyright 2003-2025, 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-2025, 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.
|
@@ -1789,7 +1789,7 @@ and values.
|
|
1789
1789
|
|
1790
1790
|
=head1 AUTHOR
|
1791
1791
|
|
1792
|
-
Copyright 2003-
|
1792
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
1793
1793
|
|
1794
1794
|
This library is free software; you can redistribute it and/or modify it
|
1795
1795
|
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-2025, 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-2025, 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-2025, 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-2025, 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-2025, 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.
|