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.
Files changed (41) hide show
  1. package/bin/Changes +45 -0
  2. package/bin/META.json +1 -1
  3. package/bin/META.yml +1 -1
  4. package/bin/README +2 -2
  5. package/bin/exiftool +26 -22
  6. package/bin/fmt_files/gpx.fmt +3 -0
  7. package/bin/fmt_files/gpx_wpt.fmt +3 -0
  8. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +7 -4
  9. package/bin/lib/Image/ExifTool/Canon.pm +17 -11
  10. package/bin/lib/Image/ExifTool/CanonVRD.pm +7 -8
  11. package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -0
  12. package/bin/lib/Image/ExifTool/EXE.pm +9 -1
  13. package/bin/lib/Image/ExifTool/Exif.pm +5 -5
  14. package/bin/lib/Image/ExifTool/FLIR.pm +4 -3
  15. package/bin/lib/Image/ExifTool/FlashPix.pm +9 -1
  16. package/bin/lib/Image/ExifTool/FujiFilm.pm +3 -1
  17. package/bin/lib/Image/ExifTool/GPS.pm +21 -1
  18. package/bin/lib/Image/ExifTool/ICC_Profile.pm +2 -1
  19. package/bin/lib/Image/ExifTool/ID3.pm +1 -1
  20. package/bin/lib/Image/ExifTool/Matroska.pm +24 -16
  21. package/bin/lib/Image/ExifTool/Motorola.pm +8 -2
  22. package/bin/lib/Image/ExifTool/Nikon.pm +70 -24
  23. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +18 -5
  24. package/bin/lib/Image/ExifTool/Parrot.pm +95 -2
  25. package/bin/lib/Image/ExifTool/QuickTime.pm +86 -4
  26. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +7 -4
  27. package/bin/lib/Image/ExifTool/README +3 -1
  28. package/bin/lib/Image/ExifTool/Sony.pm +8 -1
  29. package/bin/lib/Image/ExifTool/TagLookup.pm +34 -8
  30. package/bin/lib/Image/ExifTool/TagNames.pod +94 -25
  31. package/bin/lib/Image/ExifTool/Validate.pm +3 -3
  32. package/bin/lib/Image/ExifTool/WriteExif.pl +81 -22
  33. package/bin/lib/Image/ExifTool/WriteIPTC.pl +2 -6
  34. package/bin/lib/Image/ExifTool/Writer.pl +7 -4
  35. package/bin/lib/Image/ExifTool/XMP.pm +7 -3
  36. package/bin/lib/Image/ExifTool/XMP2.pl +11 -4
  37. package/bin/lib/Image/ExifTool.pm +1 -1
  38. package/bin/lib/Image/ExifTool.pod +6 -5
  39. package/bin/perl-Image-ExifTool.spec +1 -1
  40. package/bin/pp_build_exe.args +4 -4
  41. 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 (exists $$et{EDIT_DIRS}{$$dirInfo{DirName}} or
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
- print $out " Deleting $name\n" if $out and defined $newData and not length $newData;
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 the proper order)
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.51';
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
- $et->WarnOnce("Boolean value for XMP-$ns:$$tagInfo{Name} should be capitalized",1);
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
- The actual namespace prefix is "Iptc4xmpExt", but ExifTool shortens this for
543
- the family 1 group name. (see
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.43';
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, timed metadata in videos, and the resource
642
- fork of Mac OS files. A setting of 2 also causes the H264 video stream in
643
- MP4 files to be parsed until the first SEI message is decoded, or 3 to parse
644
- the entire H264 stream in MP4 videos and the entire M2TS file to look for
645
- any unlisted program containing GPS metadata. Default is undef.
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
 
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 12.43
3
+ Version: 12.45
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -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.43
25
- #--info=FileVersion=12.4.3.0
26
- #--info=ProductVersion=12.4.3.0
27
- ##"--info=Build Date=2022:07:06 14:42:27-04:00"
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"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exiftool-vendored.pl",
3
- "version": "12.43.0",
3
+ "version": "12.45.0",
4
4
  "description": "Vendored perl ExifTool for Node.js",
5
5
  "main": "./index.js",
6
6
  "homepage": "https://github.com/mceachen/exiftool-vendored.pl#readme",