exiftool-vendored.pl 12.43.0 → 12.45.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.
- package/bin/Changes +45 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +2 -2
- package/bin/exiftool +26 -22
- package/bin/fmt_files/gpx.fmt +3 -0
- package/bin/fmt_files/gpx_wpt.fmt +3 -0
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +7 -4
- package/bin/lib/Image/ExifTool/Canon.pm +17 -11
- package/bin/lib/Image/ExifTool/CanonVRD.pm +7 -8
- package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -0
- package/bin/lib/Image/ExifTool/EXE.pm +9 -1
- package/bin/lib/Image/ExifTool/Exif.pm +5 -5
- package/bin/lib/Image/ExifTool/FLIR.pm +4 -3
- package/bin/lib/Image/ExifTool/FlashPix.pm +9 -1
- package/bin/lib/Image/ExifTool/FujiFilm.pm +3 -1
- package/bin/lib/Image/ExifTool/GPS.pm +21 -1
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +2 -1
- package/bin/lib/Image/ExifTool/ID3.pm +1 -1
- package/bin/lib/Image/ExifTool/Matroska.pm +24 -16
- package/bin/lib/Image/ExifTool/Motorola.pm +8 -2
- package/bin/lib/Image/ExifTool/Nikon.pm +70 -24
- package/bin/lib/Image/ExifTool/PanasonicRaw.pm +18 -5
- package/bin/lib/Image/ExifTool/Parrot.pm +95 -2
- package/bin/lib/Image/ExifTool/QuickTime.pm +86 -4
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +7 -4
- package/bin/lib/Image/ExifTool/README +3 -1
- package/bin/lib/Image/ExifTool/Sony.pm +8 -1
- package/bin/lib/Image/ExifTool/TagLookup.pm +34 -8
- package/bin/lib/Image/ExifTool/TagNames.pod +94 -25
- package/bin/lib/Image/ExifTool/Validate.pm +3 -3
- package/bin/lib/Image/ExifTool/WriteExif.pl +81 -22
- package/bin/lib/Image/ExifTool/WriteIPTC.pl +2 -6
- package/bin/lib/Image/ExifTool/Writer.pl +7 -4
- package/bin/lib/Image/ExifTool/XMP.pm +7 -3
- package/bin/lib/Image/ExifTool/XMP2.pl +11 -4
- package/bin/lib/Image/ExifTool.pm +1 -1
- package/bin/lib/Image/ExifTool.pod +6 -5
- package/bin/perl-Image-ExifTool.spec +1 -1
- package/bin/pp_build_exe.args +4 -4
- package/package.json +1 -1
|
@@ -334,13 +334,9 @@ sub DoWriteIPTC($$$)
|
|
|
334
334
|
# - improves speed
|
|
335
335
|
# - avoids changing current MD5 digest unnecessarily
|
|
336
336
|
# - avoids adding mandatory tags unless some other IPTC is changed
|
|
337
|
-
unless
|
|
337
|
+
return undef unless exists $$et{EDIT_DIRS}{$$dirInfo{DirName}} or
|
|
338
338
|
# standard IPTC tags in other locations should be edited too (eg. AFCP_IPTC)
|
|
339
|
-
($tagTablePtr eq \%Image::ExifTool::IPTC::Main and exists $$et{EDIT_DIRS}{IPTC})
|
|
340
|
-
{
|
|
341
|
-
print $out "$$et{INDENT} [nothing changed]\n" if $verbose;
|
|
342
|
-
return undef;
|
|
343
|
-
}
|
|
339
|
+
($tagTablePtr eq \%Image::ExifTool::IPTC::Main and exists $$et{EDIT_DIRS}{IPTC});
|
|
344
340
|
my $dataPt = $$dirInfo{DataPt};
|
|
345
341
|
unless ($dataPt) {
|
|
346
342
|
my $emptyData = '';
|
|
@@ -975,7 +975,7 @@ TAG: foreach $tagInfo (@matchingTags) {
|
|
|
975
975
|
} else {
|
|
976
976
|
$wgrp = '';
|
|
977
977
|
}
|
|
978
|
-
foreach $wtag (keys %{$$tagInfo{WriteAlso}}) {
|
|
978
|
+
foreach $wtag (sort keys %{$$tagInfo{WriteAlso}}) {
|
|
979
979
|
my ($n,$e) = $self->SetNewValue($wgrp . $wtag, undef, Replace=>2);
|
|
980
980
|
$numSet += $n;
|
|
981
981
|
}
|
|
@@ -1123,7 +1123,7 @@ WriteAlso:
|
|
|
1123
1123
|
$wgrp = '';
|
|
1124
1124
|
}
|
|
1125
1125
|
local $SIG{'__WARN__'} = \&SetWarning;
|
|
1126
|
-
foreach $wtag (keys %$writeAlso) {
|
|
1126
|
+
foreach $wtag (sort keys %$writeAlso) {
|
|
1127
1127
|
my %opts = (
|
|
1128
1128
|
Type => 'ValueConv',
|
|
1129
1129
|
Protected => $protected | 0x02,
|
|
@@ -4242,7 +4242,10 @@ sub WriteDirectory($$$;$)
|
|
|
4242
4242
|
$$self{DIR_NAME} = $oldDir;
|
|
4243
4243
|
@$self{'Compression','SubfileType'} = @save;
|
|
4244
4244
|
SetByteOrder($saveOrder);
|
|
4245
|
-
|
|
4245
|
+
if ($out) {
|
|
4246
|
+
print $out " Deleting $name\n" if defined $newData and not length $newData;
|
|
4247
|
+
print $out "$$self{INDENT} [nothing changed in $dirName]\n" if $$self{CHANGED} == $oldChanged;
|
|
4248
|
+
}
|
|
4246
4249
|
return $newData;
|
|
4247
4250
|
}
|
|
4248
4251
|
|
|
@@ -4531,7 +4534,7 @@ sub DumpUnknownTrailer($$)
|
|
|
4531
4534
|
# add to Preview block list if valid and in the trailer
|
|
4532
4535
|
$image{$prePos} = [$tag, $preLen] if $prePos and $preLen and $prePos+$preLen > $pos;
|
|
4533
4536
|
last if $lastOne; # checked all images
|
|
4534
|
-
# look for MPF images (in the
|
|
4537
|
+
# look for MPF images (in the proper order)
|
|
4535
4538
|
++$mpImageNum;
|
|
4536
4539
|
$prePos = $$self{VALUE}{"MPImageStart ($mpImageNum)"};
|
|
4537
4540
|
if (defined $prePos) {
|
|
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
|
|
|
50
50
|
use Image::ExifTool::GPS;
|
|
51
51
|
require Exporter;
|
|
52
52
|
|
|
53
|
-
$VERSION = '3.
|
|
53
|
+
$VERSION = '3.52';
|
|
54
54
|
@ISA = qw(Exporter);
|
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
|
56
56
|
|
|
@@ -3447,8 +3447,12 @@ NoLoop:
|
|
|
3447
3447
|
} else {
|
|
3448
3448
|
$val = ConvertXMPDate($val, $new) if $new or $fmt eq 'date';
|
|
3449
3449
|
}
|
|
3450
|
-
if ($$et{XmpValidate} and $fmt and $fmt eq 'boolean') {
|
|
3451
|
-
$
|
|
3450
|
+
if ($$et{XmpValidate} and $fmt and $fmt eq 'boolean' and $val!~/^True|False$/) {
|
|
3451
|
+
if ($val =~ /^true|false$/) {
|
|
3452
|
+
$et->WarnOnce("Boolean value for XMP-$ns:$$tagInfo{Name} should be capitalized",1);
|
|
3453
|
+
} else {
|
|
3454
|
+
$et->WarnOnce(qq(Boolean value for XMP-$ns:$$tagInfo{Name} should be "True" or "False"),1);
|
|
3455
|
+
}
|
|
3452
3456
|
}
|
|
3453
3457
|
# protect against large binary data in unknown tags
|
|
3454
3458
|
$$tagInfo{Binary} = 1 if $new and length($val) > 65536;
|
|
@@ -538,10 +538,11 @@ my %sImageRegion = ( # new in 1.5
|
|
|
538
538
|
NAMESPACE => 'Iptc4xmpExt',
|
|
539
539
|
TABLE_DESC => 'XMP IPTC Extension',
|
|
540
540
|
NOTES => q{
|
|
541
|
-
This table contains tags defined by the IPTC Extension schema version 1.6
|
|
542
|
-
|
|
543
|
-
the family 1 group name. (
|
|
544
|
-
L<http://www.iptc.org/standards/photo-metadata/iptc-standard/>
|
|
541
|
+
This table contains tags defined by the IPTC Extension schema version 1.6
|
|
542
|
+
and IPTC Video Metadata version 1.3. The actual namespace prefix is
|
|
543
|
+
"Iptc4xmpExt", but ExifTool shortens this for the family 1 group name. (See
|
|
544
|
+
L<http://www.iptc.org/standards/photo-metadata/iptc-standard/> and
|
|
545
|
+
L<https://iptc.org/standards/video-metadata-hub/>.)
|
|
545
546
|
},
|
|
546
547
|
AboutCvTerm => {
|
|
547
548
|
Struct => \%sCVTermDetails,
|
|
@@ -796,6 +797,12 @@ my %sImageRegion = ( # new in 1.5
|
|
|
796
797
|
},
|
|
797
798
|
PlanningRef => { List => 'Bag', Struct => \%sEntityWithRole },
|
|
798
799
|
audioBitsPerSample => { Groups => { 2 => 'Audio' }, Writable => 'integer' },
|
|
800
|
+
# new IPTC video metadata 1.3 properties
|
|
801
|
+
# (ref https://iptc.org/std/videometadatahub/recommendation/IPTC-VideoMetadataHub-props-Rec_1.3.html)
|
|
802
|
+
metadataLastEdited => { Groups => { 2 => 'Time' }, %dateTimeInfo },
|
|
803
|
+
metadataLastEditor => { Struct => \%sEntity },
|
|
804
|
+
metadataAuthority => { Struct => \%sEntity },
|
|
805
|
+
parentId => { Name => 'ParentID' },
|
|
799
806
|
# new IPTC Extension schema 1.5 property
|
|
800
807
|
ImageRegion => { Groups => { 2 => 'Image' }, List => 'Bag', Struct => \%sImageRegion },
|
|
801
808
|
# new Extension 1.6 property
|
|
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
|
30
30
|
%static_vars);
|
|
31
31
|
|
|
32
|
-
$VERSION = '12.
|
|
32
|
+
$VERSION = '12.45';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -638,11 +638,12 @@ XMP to be extracted.
|
|
|
638
638
|
|
|
639
639
|
Flag to extract information from embedded documents in EPS files, embedded
|
|
640
640
|
EPS information and JPEG and Jpeg2000 images in PDF files, embedded MPF
|
|
641
|
-
images in JPEG and MPO files,
|
|
642
|
-
fork of Mac OS files.
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
any unlisted program containing
|
|
641
|
+
images in JPEG and MPO files, metadata after the first Cluster in MKV files,
|
|
642
|
+
timed metadata in videos, and the resource fork of Mac OS files. A setting
|
|
643
|
+
of 2 also causes the H264 video stream in MP4 files to be parsed until the
|
|
644
|
+
first SEI message is decoded, or 3 to parse the entire H264 stream in MP4
|
|
645
|
+
videos and the entire M2TS file to look for any unlisted program containing
|
|
646
|
+
GPS metadata. Default is undef.
|
|
646
647
|
|
|
647
648
|
=item FastScan
|
|
648
649
|
|
package/bin/pp_build_exe.args
CHANGED
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
# 10) Copy zip archive to web servers.
|
|
22
22
|
# 11) Update zip file version in link and text of html/index.html.
|
|
23
23
|
#------------------------------------------------------------------------------
|
|
24
|
-
-T exiftool-12.
|
|
25
|
-
#--info=FileVersion=12.4.
|
|
26
|
-
#--info=ProductVersion=12.4.
|
|
27
|
-
##"--info=Build Date=2022:
|
|
24
|
+
-T exiftool-12.45
|
|
25
|
+
#--info=FileVersion=12.4.5.0
|
|
26
|
+
#--info=ProductVersion=12.4.5.0
|
|
27
|
+
##"--info=Build Date=2022:09:16 13:49:11-04:00"
|
|
28
28
|
##"--info=Bundled Perl Version=ActivePerl 5.24.0"
|
|
29
29
|
##"--info=LegalCopyright=Copyright (c) 2003-2022, Phil Harvey"
|
|
30
30
|
##"--info=ProductName=ExifTool"
|