Skip to content

Commit 20716d0

Browse files
authored
Merge pull request #64 from photostructure/update-exiftool-13.47
Update ExifTool to v13.47
2 parents 14c4ffa + 5a7e1ec commit 20716d0

File tree

11 files changed

+28
-19
lines changed

11 files changed

+28
-19
lines changed

bin/exiftool.exe

0 Bytes
Binary file not shown.

bin/exiftool_files/exiftool.pl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use warnings;
1212
require 5.004;
1313

14-
my $version = '13.46';
14+
my $version = '13.47';
1515

1616
$^W = 1; # enable global warnings
1717

bin/exiftool_files/lib/Image/ExifTool.pm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
2929
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
3030
%static_vars $advFmtSelf $configFile @configFiles $noConfig);
3131

32-
$VERSION = '13.46';
32+
$VERSION = '13.47';
3333
$RELEASE = '';
3434
@ISA = qw(Exporter);
3535
%EXPORT_TAGS = (
@@ -1147,7 +1147,7 @@ my @availableOptions = (
11471147
[ 'GeoMinSats', undef, 'geotag minimum satellites' ],
11481148
[ 'GeoHPosErr', undef, 'geotag GPSHPositioningError based on $GPSDOP' ],
11491149
[ 'GeoSpeedRef', undef, 'geotag GPSSpeedRef' ],
1150-
[ 'GeoUserTag', undef, 'user-defined GPX tags for geotagging' ],
1150+
[ 'GeoUserTag', undef, 'user-defined tags for geotagging' ],
11511151
[ 'GlobalTimeShift', undef, 'apply time shift to all extracted date/time values' ],
11521152
[ 'GPSQuadrant', undef, 'quadrant for GPS if not otherwise known' ],
11531153
[ 'Group#', undef, 'return tags for specified groups in family #' ],

bin/exiftool_files/lib/Image/ExifTool.pod

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -817,12 +817,13 @@ Reference units for writing GPSSpeed when geotagging:
817817

818818
=item GeoUserTag
819819

820-
Additional user-defined tags to write when geotagging from GPX files.
820+
Additional user-defined tags to write when geotagging from GPX or CSV files.
821821
Format is 'I<TAG>=I<TOKEN>,...' where I<TAG> is an ExifTool tag name (with
822-
optional group name), and I<TOKEN> is is the property name in the GPX file.
823-
eg) C<Location=desc> will write the Location tag based on the GPX 'desc'
824-
property. The tag value is taken from the nearest fix in time. Multiple
825-
tags may be specified using comma separators. Default is undef.
822+
optional group name), and I<TOKEN> is is the property name in the GPX file
823+
or the column name in the CSV file. eg) C<Location=desc> will write the
824+
Location tag based on the value of 'desc' in the GPS log file. The tag
825+
value is taken from the nearest fix in time. Multiple tags may be specified
826+
using comma separators. Default is undef.
826827

827828
=item GlobalTimeShift
828829

bin/exiftool_files/lib/Image/ExifTool/Geotag.pm

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use vars qw($VERSION);
3636
use Image::ExifTool qw(:Public);
3737
use Image::ExifTool::GPS;
3838

39-
$VERSION = '1.85';
39+
$VERSION = '1.86';
4040

4141
sub JITTER() { return 2 } # maximum time jitter
4242

@@ -336,6 +336,8 @@ sub LoadTrackLog($$;$)
336336
$param = 'roll';
337337
} elsif (/^Img ?Dir/i) {
338338
$param = 'dir';
339+
} elsif ($userTag{lc $_}) {
340+
$param = $userTag{lc $_};
339341
}
340342
if ($param) {
341343
$et->VPrint(2, "CSV column '${head}' is $param$xtra\n");
@@ -581,6 +583,8 @@ DoneFix: $isDate = 1;
581583
} elsif ($param eq 'runtime') {
582584
$date = $trackTime;
583585
$secs = $val;
586+
} elsif ($param =~ /^_/) {
587+
$$fix{$param} = $val;
584588
} else {
585589
$val /= $scaleSpeed if $scaleSpeed and $param eq 'speed';
586590
$$fix{$param} = $val;

bin/exiftool_files/lib/Image/ExifTool/Google.pm

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use vars qw($VERSION);
1515
use Image::ExifTool qw(:DataAccess :Utils);
1616
use Image::ExifTool::XMP;
1717

18-
$VERSION = '1.00';
18+
$VERSION = '1.01';
1919

2020
sub ProcessHDRP($$$);
2121

@@ -672,8 +672,11 @@ sub ProcessHDRP($$$)
672672
my $tagInfo = $$dirInfo{TagInfo};
673673
my $tagName = $tagInfo ? $$tagInfo{Name} : '';
674674
my $verbose = $et->Options('Verbose');
675+
my $fast = $et->Options('FastScan') || 0;
675676
my ($ver, $valPt);
676677

678+
return undef if $fast > 1;
679+
677680
if ($$dirInfo{DirStart}) {
678681
my $dat = substr($$dataPt, $$dirInfo{DirStart}, $$dirInfo{DirLen});
679682
$dataPt = \$dat;

bin/exiftool_files/lib/Image/ExifTool/Protobuf.pm

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use strict;
2121
use vars qw($VERSION);
2222
use Image::ExifTool qw(:DataAccess :Utils);
2323

24-
$VERSION = '1.06';
24+
$VERSION = '1.07';
2525

2626
sub ProcessProtobuf($$$;$);
2727

@@ -59,12 +59,14 @@ sub VarInt($)
5959
my $val = ord($buff) & 0x7f;
6060
$$dirInfo{Bit0} = $val & 0x01;
6161
my $mult = 128;
62+
my $i = 0;
6263
for (;;) {
6364
last unless ord($buff) & 0x80;
6465
$buff = GetBytes($dirInfo, 1);
6566
return undef unless defined $buff;
6667
$val += (ord($buff) & 0x7f) * $mult;
6768
last unless ord($buff) & 0x80;
69+
return undef if ++$i > 32; # set a reasonable limit
6870
$mult *= 128; # (Note: don't use integer bit shift to avoid integer overflow)
6971
}
7072
return $val;
@@ -73,7 +75,7 @@ sub VarInt($)
7375
#------------------------------------------------------------------------------
7476
# Read protobuf record
7577
# Inputs: 0) dirInfo ref
76-
# Returns: 0) record payload (plus tag id and format type in list context)
78+
# Returns: 0) record payload (plus tag id and format type in list context) or undef on error
7779
# Notes: Updates $$dirInfo{Pos} to start of next record, and sets $$dirInfo{Bit0}
7880
# according to the least significant bit of type 0 (varInt) records
7981
sub ReadRecord($)
@@ -138,7 +140,6 @@ sub ProcessProtobuf($$$;$)
138140

139141
$$dirInfo{Pos} = $$dirInfo{DirStart} || 0; # initialize buffer Pos
140142
$et->VerboseDir('Protobuf', undef, $dirLen);
141-
142143
unless ($prefix) {
143144
$prefix = '';
144145
$$et{ProtoPrefix}{$dirName} = '' unless defined $$et{ProtoPrefix}{$dirName};

bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
4949
use Image::ExifTool::Exif;
5050
use Image::ExifTool::GPS;
5151

52-
$VERSION = '3.26';
52+
$VERSION = '3.27';
5353

5454
sub ProcessMOV($$;$);
5555
sub ProcessKeys($$$);
@@ -10638,7 +10638,7 @@ QTLang: foreach $tag (@{$$et{QTLang}}) {
1063810638
}
1063910639
# brute force scan for metadata embedded in media data
1064010640
# (and process Insta360 trailer if it exists)
10641-
ScanMediaData($et) if $ee and $topLevel;
10641+
ScanMediaData($et) if $ee and $topLevel and not $$et{OPTIONS}{FastScan};
1064210642

1064310643
# restore any changed options
1064410644
$et->Options($_ => $saveOptions{$_}) foreach keys %saveOptions;

bin/exiftool_files/windows_exiftool.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1107,7 +1107,7 @@ OPTIONS
11071107

11081108
produces output like this:
11091109

1110-
-- Generated by ExifTool 13.46 --
1110+
-- Generated by ExifTool 13.47 --
11111111
File: a.jpg - 2003:10:31 15:44:19
11121112
(f/5.6, 1/60s, ISO 100)
11131113
File: b.jpg - 2006:05:23 11:57:38

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)