exiftool-vendored.pl 12.99.0 → 13.0.1
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 +22 -3
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +2 -2
- package/bin/arg_files/exif2xmp.args +4 -0
- package/bin/arg_files/xmp2exif.args +4 -0
- package/bin/exiftool +28 -17
- package/bin/lib/Image/ExifTool/Exif.pm +1 -1
- package/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/lib/Image/ExifTool/Geotag.pm +4 -3
- package/bin/lib/Image/ExifTool/M2TS.pm +2 -2
- package/bin/lib/Image/ExifTool/PhaseOne.pm +2 -1
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +69 -7
- package/bin/lib/Image/ExifTool/TagLookup.pm +11 -8
- package/bin/lib/Image/ExifTool/TagNames.pod +33 -18
- package/bin/lib/Image/ExifTool/XMP.pm +11 -1
- package/bin/lib/Image/ExifTool.pm +4 -4
- package/bin/perl-Image-ExifTool.spec +1 -1
- package/bin/windows_exiftool.txt +9 -5
- package/package.json +6 -6
package/bin/Changes
CHANGED
|
@@ -4,9 +4,28 @@ ExifTool Version History
|
|
|
4
4
|
|
|
5
5
|
RSS feed: https://exiftool.org/rss.xml
|
|
6
6
|
|
|
7
|
-
Note: The most recent production release is Version
|
|
7
|
+
Note: The most recent production release is Version 13.00. (Other versions are
|
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
|
9
9
|
|
|
10
|
+
Oct. 29, 2024 - Version 13.00 (production release)
|
|
11
|
+
|
|
12
|
+
- Added support for reading GPS from Autel Evo II drone videos
|
|
13
|
+
- Added a new PhaseOne RawFormat value
|
|
14
|
+
- Updated XMP-exifEX tags, exif2xmp.args and xmp2exif.args according to the
|
|
15
|
+
2024 EXIF for XMP specification
|
|
16
|
+
- Updated Geolocation databases from current geonames.org files
|
|
17
|
+
- Updated the MIME types for a couple of font formats
|
|
18
|
+
- Enhanced -diff option to work with -ec (C-style escape of special chars)
|
|
19
|
+
- Changed name of EXIF Title tag to ImageTitle to correspond with specifiation
|
|
20
|
+
- Reverted a geotag warning message to remove debugging information that was
|
|
21
|
+
added in version 12.67 and moved this information into a -v3 verbose message
|
|
22
|
+
- Patched Perl bug which gave "Can't spawn" warning in Windows if control-C
|
|
23
|
+
was pressed while displaying the exiftool application help
|
|
24
|
+
- Fixed API StructFormat JSONQ setting to properly quote values in structures
|
|
25
|
+
- Fixed incorrect AudioStreamType for M2TS videos containing a PGS stream
|
|
26
|
+
- Fixed -diff option so "same tags" messages are only shown when -v is added
|
|
27
|
+
(as per the documentation)
|
|
28
|
+
|
|
10
29
|
Oct. 18, 2024 - Version 12.99
|
|
11
30
|
|
|
12
31
|
- Added -diff option to compare the metadata in two files
|
|
@@ -23,8 +42,8 @@ Oct. 18, 2024 - Version 12.99
|
|
|
23
42
|
- Structured values returned as HASH references with the Struct option may
|
|
24
43
|
contain a new "_ordered_keys_" entry used to preserve the order of the
|
|
25
44
|
entries
|
|
26
|
-
- Added the OrderedKeys method to
|
|
27
|
-
|
|
45
|
+
- Added the OrderedKeys method to return the ordered or sorted keys from a
|
|
46
|
+
returned structure value
|
|
28
47
|
|
|
29
48
|
Oct. 8, 2024 - Version 12.98
|
|
30
49
|
|
package/bin/META.json
CHANGED
package/bin/META.yml
CHANGED
package/bin/README
CHANGED
|
@@ -109,8 +109,8 @@ your home directory, then you would type the following commands in a
|
|
|
109
109
|
terminal window to extract and run ExifTool:
|
|
110
110
|
|
|
111
111
|
cd ~/Desktop
|
|
112
|
-
gzip -dc Image-ExifTool-
|
|
113
|
-
cd Image-ExifTool-
|
|
112
|
+
gzip -dc Image-ExifTool-13.00.tar.gz | tar -xf -
|
|
113
|
+
cd Image-ExifTool-13.00
|
|
114
114
|
./exiftool t/images/ExifTool.jpg
|
|
115
115
|
|
|
116
116
|
Note: These commands extract meta information from one of the test images.
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# 2015/01/12 - PH Avoid copying to non-standard namespaces
|
|
14
14
|
# 2018/05/07 - PH Added support for GPSDestXxxRef tags
|
|
15
15
|
# 2022/03/31 - PH IPTC Photometadata Mapping Guidelines 2202.1 update
|
|
16
|
+
# 2024/10/24 - PH Additions for the 2024 EXIF for XMP spec
|
|
16
17
|
#
|
|
17
18
|
# References: http://www.metadataworkinggroup.org/specs/
|
|
18
19
|
# https://iptc.org/std/photometadata/documentation/mappingguidelines/
|
|
@@ -50,4 +51,7 @@
|
|
|
50
51
|
-XMP:GPSDestLatitude < Composite:GPSDestLatitude
|
|
51
52
|
-XMP:GPSDestLongitude < Composite:GPSDestLongitude
|
|
52
53
|
-XMP:GPSDateTime < Composite:GPSDateTime
|
|
54
|
+
# new for the 2024 EXIF for XMP specification
|
|
55
|
+
-XMP-exifEX:PhotographicSensitivity < EXIF:ISO
|
|
56
|
+
-XMP-exif:DateTimeDigitized < EXIF:CreateDate
|
|
53
57
|
# end
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
# 2022/03/31 - PH IPTC Photometadata Mapping Guidelines 2202.1 update
|
|
18
18
|
# 2023/01/30 - PH Also write Composite:SubSecDateTimeOriginal from
|
|
19
19
|
# XMP-exif:DateTimeOriginal
|
|
20
|
+
# 2024/10/24 - PH Additions for the 2024 EXIF for XMP spec
|
|
20
21
|
#
|
|
21
22
|
# References: http://www.metadataworkinggroup.org/specs/
|
|
22
23
|
# https://iptc.org/std/photometadata/documentation/mappingguidelines/
|
|
@@ -36,6 +37,9 @@
|
|
|
36
37
|
-EXIF:all < XMP-tiff:all
|
|
37
38
|
-EXIF:ImageDescription < XMP-dc:Description
|
|
38
39
|
-EXIF:DateTimeOriginal < XMP-photoshop:DateCreated
|
|
40
|
+
# new for the 2024 EXIF for XMP specification
|
|
41
|
+
-EXIF:ISO < XMP-exifEX:PhotographicSensitivity
|
|
42
|
+
-EXIF:CreateDate < XMP-exif:DateTimeDigitized
|
|
39
43
|
# the following SubSec tags also write/delete the corresponding EXIF
|
|
40
44
|
# SubSecTime and OffsetTime tags as appropriate
|
|
41
45
|
-Composite:SubSecDateTimeOriginal < XMP-exif:DateTimeOriginal
|
package/bin/exiftool
CHANGED
|
@@ -11,7 +11,7 @@ use strict;
|
|
|
11
11
|
use warnings;
|
|
12
12
|
require 5.004;
|
|
13
13
|
|
|
14
|
-
my $version = '
|
|
14
|
+
my $version = '13.00';
|
|
15
15
|
|
|
16
16
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
|
17
17
|
my $exePath;
|
|
@@ -2378,7 +2378,7 @@ sub GetImageInfo($$)
|
|
|
2378
2378
|
$done2{$t2} = 1;
|
|
2379
2379
|
}
|
|
2380
2380
|
my $str = '';
|
|
2381
|
-
|
|
2381
|
+
$v and ($same or $v > 1) and $str = " ($same same tag" . ($same==1 ? '' : 's') . ')';
|
|
2382
2382
|
if (not $allGroup) {
|
|
2383
2383
|
print $fp "---- $g2 ----$str\n" if $g2 and ($str or @diffs);
|
|
2384
2384
|
} elsif ($str and $g2) {
|
|
@@ -2418,12 +2418,12 @@ sub GetImageInfo($$)
|
|
|
2418
2418
|
$grp .= ' ' x (15 - length($grp)) if length($grp) < 15 and $outFormat < 2;
|
|
2419
2419
|
push @diffs, sprintf "< %s %s%s: %s\n", $grp, $name, $pad, Printable($val);
|
|
2420
2420
|
if (defined $val2) {
|
|
2421
|
-
$
|
|
2421
|
+
$grp = ' ' x length($grp), $name = ' ' x $len if $v < 3;
|
|
2422
2422
|
push @diffs, sprintf "> %s %s%s: %s\n", $grp, $name, $pad, Printable($val2);
|
|
2423
2423
|
}
|
|
2424
2424
|
} else {
|
|
2425
2425
|
push @diffs, sprintf "< %s%s: %s\n", $name, $pad, Printable($val);
|
|
2426
|
-
$
|
|
2426
|
+
$name = ' ' x $len if $v < 3;
|
|
2427
2427
|
push @diffs, sprintf "> %s%s %s\n", $name, $pad, Printable($val2) if defined $val2;
|
|
2428
2428
|
}
|
|
2429
2429
|
}
|
|
@@ -3638,7 +3638,7 @@ sub FormatJSON($$$;$)
|
|
|
3638
3638
|
print $fp $bra;
|
|
3639
3639
|
foreach (@$val) {
|
|
3640
3640
|
print $fp ',' if $comma;
|
|
3641
|
-
FormatJSON($fp, $_, $ind);
|
|
3641
|
+
FormatJSON($fp, $_, $ind, $quote);
|
|
3642
3642
|
$comma = 1,
|
|
3643
3643
|
}
|
|
3644
3644
|
print $fp $ket,
|
|
@@ -3654,7 +3654,7 @@ sub FormatJSON($$$;$)
|
|
|
3654
3654
|
if ($showTagID and $_ eq 'id' and $showTagID eq 'H' and $$val{$_} =~ /^\d+\.\d+$/) {
|
|
3655
3655
|
print $fp qq{"$$val{$_}"};
|
|
3656
3656
|
} else {
|
|
3657
|
-
FormatJSON($fp, $$val{$_}, "$ind ");
|
|
3657
|
+
FormatJSON($fp, $$val{$_}, "$ind ", $quote);
|
|
3658
3658
|
}
|
|
3659
3659
|
$comma = 1,
|
|
3660
3660
|
}
|
|
@@ -3820,7 +3820,14 @@ sub Printable($)
|
|
|
3820
3820
|
$val = '(Binary data '.length($$val).' bytes)';
|
|
3821
3821
|
}
|
|
3822
3822
|
}
|
|
3823
|
-
$
|
|
3823
|
+
if ($escapeC) {
|
|
3824
|
+
$val =~ s/([\0-\x1f\\\x7f])/$escC{$1} || sprintf('\x%.2x', ord $1)/eg;
|
|
3825
|
+
} else {
|
|
3826
|
+
# translate unprintable chars in value and remove trailing spaces
|
|
3827
|
+
$val =~ tr/\x01-\x1f\x7f/./;
|
|
3828
|
+
$val =~ s/\x00//g;
|
|
3829
|
+
$val =~ s/\s+$//;
|
|
3830
|
+
}
|
|
3824
3831
|
return $val;
|
|
3825
3832
|
}
|
|
3826
3833
|
|
|
@@ -5130,13 +5137,13 @@ may be used to to indicate any XMP namespace (eg. C<--xmp-all:dabs>).
|
|
|
5130
5137
|
Write a new value for the specified tag (eg. C<-comment=wow>), or delete the
|
|
5131
5138
|
tag if no I<VALUE> is given (eg. C<-comment=>). C<+=> and C<-=> are used to
|
|
5132
5139
|
add or remove existing entries from a list, or to shift date/time values
|
|
5133
|
-
(see L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> and
|
|
5134
|
-
for more details). C<+=> may also be used to increment numerical
|
|
5135
|
-
decrement if I<VALUE> is negative), and C<-=> may be used to
|
|
5136
|
-
delete or replace a tag (see L</WRITING EXAMPLES> for
|
|
5137
|
-
used to write an empty string instead of deleting the
|
|
5138
|
-
is given, but otherwise it is equivalent to C<=>.
|
|
5139
|
-
be quoted on the Windows command line.)
|
|
5140
|
+
(see L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> and notes 6 and
|
|
5141
|
+
7 below for more details). C<+=> may also be used to increment numerical
|
|
5142
|
+
values (or decrement if I<VALUE> is negative), and C<-=> may be used to
|
|
5143
|
+
conditionally delete or replace a tag (see L</WRITING EXAMPLES> for
|
|
5144
|
+
examples). C<^=> is used to write an empty string instead of deleting the
|
|
5145
|
+
tag when no I<VALUE> is given, but otherwise it is equivalent to C<=>.
|
|
5146
|
+
(Note that the caret must be quoted on the Windows command line.)
|
|
5140
5147
|
|
|
5141
5148
|
I<TAG> may contain one or more leading family 0, 1, 2 or 7 group names,
|
|
5142
5149
|
prefixed by optional family numbers, and separated colons. If no group name
|
|
@@ -5211,6 +5218,10 @@ tag, overriding any other values previously assigned to the tag on the same
|
|
|
5211
5218
|
command line. To shift a date/time value and copy it to another tag in the
|
|
5212
5219
|
same operation, use the B<-globalTimeShift> option.
|
|
5213
5220
|
|
|
5221
|
+
7) The C<+=> operator may not be used to shift a List-type date/time tag
|
|
5222
|
+
(eg. XMP-dc:Date) because C<+=> is used to add elements to the list.
|
|
5223
|
+
Instead, the B<-globalTimeShift> option should be used.
|
|
5224
|
+
|
|
5214
5225
|
Special feature: Integer values may be specified in hexadecimal with a
|
|
5215
5226
|
leading C<0x>, and simple rational values may be specified as fractions.
|
|
5216
5227
|
|
|
@@ -5834,7 +5845,7 @@ with this command:
|
|
|
5834
5845
|
|
|
5835
5846
|
produces output like this:
|
|
5836
5847
|
|
|
5837
|
-
-- Generated by ExifTool
|
|
5848
|
+
-- Generated by ExifTool 13.00 --
|
|
5838
5849
|
File: a.jpg - 2003:10:31 15:44:19
|
|
5839
5850
|
(f/5.6, 1/60s, ISO 100)
|
|
5840
5851
|
File: b.jpg - 2006:05:23 11:57:38
|
|
@@ -6683,8 +6694,8 @@ The B<-g> and B<-G> options may be used to organize the output by the
|
|
|
6683
6694
|
specified family of groups, with B<-G1> being the default. The B<-a> option
|
|
6684
6695
|
is implied. Adding B<-v> includes a count of the number of tags that are
|
|
6685
6696
|
the same in each group. The following text formatting options are valid
|
|
6686
|
-
when B<-diff> is used: B<-c>, B<-charset>, B<-d>, B<-E>, B<-
|
|
6687
|
-
B<-n>, B<-s>, B<-sep>, B<-struct> and B<-w>.
|
|
6697
|
+
when B<-diff> is used: B<-c>, B<-charset>, B<-d>, B<-E>, B<-ec>, B<-ex>,
|
|
6698
|
+
B<-L>, B<-lang>, B<-n>, B<-s>, B<-sep>, B<-struct> and B<-w>.
|
|
6688
6699
|
|
|
6689
6700
|
=item B<-geotag> I<TRKFILE>
|
|
6690
6701
|
|
|
@@ -2931,7 +2931,7 @@ my %opcodeInfo = (
|
|
|
2931
2931
|
0xa433 => { Name => 'LensMake', Writable => 'string' }, #24
|
|
2932
2932
|
0xa434 => { Name => 'LensModel', Writable => 'string' }, #24
|
|
2933
2933
|
0xa435 => { Name => 'LensSerialNumber', Writable => 'string' }, #24
|
|
2934
|
-
0xa436 => { Name => '
|
|
2934
|
+
0xa436 => { Name => 'ImageTitle', Writable => 'string' }, #33
|
|
2935
2935
|
0xa437 => { Name => 'Photographer', Writable => 'string' }, #33
|
|
2936
2936
|
0xa438 => { Name => 'ImageEditor', Writable => 'string' }, #33
|
|
2937
2937
|
0xa439 => { Name => 'CameraFirmware', Writable => 'string' }, #33
|
|
Binary file
|
|
@@ -31,7 +31,7 @@ use vars qw($VERSION);
|
|
|
31
31
|
use Image::ExifTool qw(:Public);
|
|
32
32
|
use Image::ExifTool::GPS;
|
|
33
33
|
|
|
34
|
-
$VERSION = '1.
|
|
34
|
+
$VERSION = '1.79';
|
|
35
35
|
|
|
36
36
|
sub JITTER() { return 2 } # maximum time jitter
|
|
37
37
|
|
|
@@ -1127,8 +1127,9 @@ sub SetGeoValues($$;$)
|
|
|
1127
1127
|
$iExt = $i1;
|
|
1128
1128
|
}
|
|
1129
1129
|
if (abs($time - $tn) > $geoMaxExtSecs) {
|
|
1130
|
-
$err or $err = 'Time is too far from nearest GPS fix'
|
|
1131
|
-
$et->VPrint(2, ' Nearest fix: ', PrintFixTime($tn),
|
|
1130
|
+
$err or $err = 'Time is too far from nearest GPS fix';
|
|
1131
|
+
$et->VPrint(2, ' Nearest fix: ', PrintFixTime($tn), ' (',
|
|
1132
|
+
int(abs $time-$tn), " sec away)\n") if $verbose > 2;
|
|
1132
1133
|
$fix = { } if $$geotag{DateTimeOnly};
|
|
1133
1134
|
} else {
|
|
1134
1135
|
$fix = $$points{$tn};
|
|
@@ -32,7 +32,7 @@ use strict;
|
|
|
32
32
|
use vars qw($VERSION);
|
|
33
33
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
34
34
|
|
|
35
|
-
$VERSION = '1.
|
|
35
|
+
$VERSION = '1.26';
|
|
36
36
|
|
|
37
37
|
# program map table "stream_type" lookup (ref 6/1/9)
|
|
38
38
|
my %streamType = (
|
|
@@ -82,7 +82,7 @@ my %streamType = (
|
|
|
82
82
|
0x86 => 'DTS-HD Audio',
|
|
83
83
|
0x87 => 'E-AC-3 Audio',
|
|
84
84
|
0x8a => 'DTS Audio',
|
|
85
|
-
0x90 => '
|
|
85
|
+
0x90 => 'Presentation Graphic Stream (subtitle)', #https://en.wikipedia.org/wiki/Program-specific_information
|
|
86
86
|
0x91 => 'A52b/AC-3 Audio',
|
|
87
87
|
0x92 => 'DVD_SPU vls Subtitle',
|
|
88
88
|
0x94 => 'SDDS Audio',
|
|
@@ -15,7 +15,7 @@ use vars qw($VERSION);
|
|
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
16
16
|
use Image::ExifTool::Exif;
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.11';
|
|
19
19
|
|
|
20
20
|
sub WritePhaseOne($$$);
|
|
21
21
|
sub ProcessPhaseOne($$$);
|
|
@@ -71,6 +71,7 @@ my @formatName = ( undef, 'string', 'int16s', undef, 'int32s' );
|
|
|
71
71
|
# >2 = compressed
|
|
72
72
|
# 5 = non-linear
|
|
73
73
|
PrintConv => { #PH
|
|
74
|
+
0 => 'Uncompressed', #https://github.com/darktable-org/darktable/issues/7308
|
|
74
75
|
1 => 'RAW 1', #? (encrypted)
|
|
75
76
|
2 => 'RAW 2', #? (encrypted)
|
|
76
77
|
3 => 'IIQ L', # (now "L14", ref IB)
|
|
@@ -591,8 +591,8 @@ my %insvLimit = (
|
|
|
591
591
|
GROUPS => { 2 => 'Location' },
|
|
592
592
|
FIRST_ENTRY => 0,
|
|
593
593
|
NOTES => q{
|
|
594
|
-
Tags extracted from the tx3g sbtl timed metadata of Yuneec drones,
|
|
595
|
-
subtitle text in some other videos.
|
|
594
|
+
Tags extracted from the tx3g sbtl timed metadata of Yuneec and Autel drones,
|
|
595
|
+
and subtitle text in some other videos.
|
|
596
596
|
},
|
|
597
597
|
Lat => {
|
|
598
598
|
Name => 'GPSLatitude',
|
|
@@ -619,6 +619,32 @@ my %insvLimit = (
|
|
|
619
619
|
PrintConv => '$self->ConvertDateTime($val)',
|
|
620
620
|
},
|
|
621
621
|
Text => { Groups => { 2 => 'Other' } },
|
|
622
|
+
# the following tags are extracted from Autel Evo II drone videos
|
|
623
|
+
GPSDateTime => {
|
|
624
|
+
Groups => { 2 => 'Time' },
|
|
625
|
+
Description => 'GPS Date/Time',
|
|
626
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
|
627
|
+
},
|
|
628
|
+
HomeLat => {
|
|
629
|
+
Name => 'GPSHomeLatitude',
|
|
630
|
+
RawConv => '$$self{FoundGPSLatitude} = 1; $val',
|
|
631
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
|
|
632
|
+
},
|
|
633
|
+
HomeLon => {
|
|
634
|
+
Name => 'GPSHomeLongitude',
|
|
635
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
|
|
636
|
+
},
|
|
637
|
+
ISO => { },
|
|
638
|
+
SHUTTER => {
|
|
639
|
+
Name => 'ExposureTime',
|
|
640
|
+
ValueConv => '1 / $val',
|
|
641
|
+
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
|
|
642
|
+
},
|
|
643
|
+
'F-NUM' => {
|
|
644
|
+
Name => 'FNumber',
|
|
645
|
+
PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
|
|
646
|
+
},
|
|
647
|
+
EV => 'ExposureCompensation',
|
|
622
648
|
);
|
|
623
649
|
|
|
624
650
|
%Image::ExifTool::QuickTime::INSV_MakerNotes = (
|
|
@@ -2361,7 +2387,7 @@ sub ParseTag($$$)
|
|
|
2361
2387
|
}
|
|
2362
2388
|
|
|
2363
2389
|
#------------------------------------------------------------------------------
|
|
2364
|
-
# Process Yuneec 'tx3g' sbtl metadata (ref PH)
|
|
2390
|
+
# Process Yuneec 'tx3g' and Autel sbtl metadata (ref PH)
|
|
2365
2391
|
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
|
|
2366
2392
|
# Returns: 1 on success
|
|
2367
2393
|
sub Process_tx3g($$$)
|
|
@@ -2369,13 +2395,49 @@ sub Process_tx3g($$$)
|
|
|
2369
2395
|
my ($et, $dirInfo, $tagTablePtr) = @_;
|
|
2370
2396
|
my $dataPt = $$dirInfo{DataPt};
|
|
2371
2397
|
return 0 if length $$dataPt < 2;
|
|
2372
|
-
pos($$dataPt) = 2; # skip 2-byte length word
|
|
2373
2398
|
$et->VerboseDir('tx3g', undef, length($$dataPt)-2);
|
|
2374
|
-
$
|
|
2375
|
-
|
|
2399
|
+
my $text = substr($$dataPt, 2); # remove 2-byte length word
|
|
2400
|
+
$et->HandleTag($tagTablePtr, 'Text', $text);
|
|
2401
|
+
if ($text =~ /^HOME\(/) {
|
|
2402
|
+
# --- sample text from Autel Evo II drone ---
|
|
2403
|
+
# HOME(W: 109.318642, N: 40.769371) 2023-09-12 10:28:07
|
|
2404
|
+
# GPS(W: 109.339287, N: 40.768574, 2371.76m)
|
|
2405
|
+
# HDR ISO:100 SHUTTER:1000 EV:-0.7 F-NUM:1.8
|
|
2406
|
+
# F.PRY (1.0\xc2\xb0, -3.7\xc2\xb0, -59.0\xc2\xb0), G.PRY (-51.1\xc2\xb0, 0.0\xc2\xb0, -58.9\xc2\xb0)
|
|
2407
|
+
my $line;
|
|
2408
|
+
foreach $line (split /\x0a/, $text) {
|
|
2409
|
+
if ($line =~ /^HOME\(([EW]):\s*(\d+\.\d+),\s*([NS]):\s*(\d+\.\d+)\)\s*(.*)/) {
|
|
2410
|
+
my ($lon, $lat, $time) = ($2, $4, $5);
|
|
2411
|
+
$lon = -$lon if $1 eq 'W';
|
|
2412
|
+
$lat = -$lat if $3 eq 'S';
|
|
2413
|
+
$time =~ tr/-/:/; # (likely local time zone, but not confirmed)
|
|
2414
|
+
$et->HandleTag($tagTablePtr, GPSDateTime => $time);
|
|
2415
|
+
$et->HandleTag($tagTablePtr, HomeLat => $lat);
|
|
2416
|
+
$et->HandleTag($tagTablePtr, HomeLon => $lon);
|
|
2417
|
+
} elsif ($line =~ /^GPS\(([EW]):\s*(\d+\.\d+),\s*([NS]):\s*(\d+\.\d+),\s*(.*)m/) {
|
|
2418
|
+
my ($lon, $lat, $alt) = ($2, $4, $5);
|
|
2419
|
+
$lon = -$lon if $1 eq 'W';
|
|
2420
|
+
$lat = -$lat if $3 eq 'S';
|
|
2421
|
+
$et->HandleTag($tagTablePtr, Lat => $lat);
|
|
2422
|
+
$et->HandleTag($tagTablePtr, Lon => $lon);
|
|
2423
|
+
$et->HandleTag($tagTablePtr, Alt => $alt);
|
|
2424
|
+
} elsif ($line =~ /^F\.PRY\s*\((-?[\d.]+)\xc2\xb0,\s*(-?[\d.]+)\xc2\xb0,\s*(-?[\d.]+)\xc2\xb0/) {
|
|
2425
|
+
$et->HandleTag($tagTablePtr, Yaw => $1);
|
|
2426
|
+
$et->HandleTag($tagTablePtr, Pitch => $2);
|
|
2427
|
+
$et->HandleTag($tagTablePtr, Roll => $3);
|
|
2428
|
+
if ($line =~ /G\.PRY\s*\((-?[\d.]+)\xc2\xb0,\s*(-?[\d.]+)\xc2\xb0,\s*(-?[\d.]+)\xc2\xb0/) {
|
|
2429
|
+
$et->HandleTag($tagTablePtr, GimYaw => $1);
|
|
2430
|
+
$et->HandleTag($tagTablePtr, GimPitch => $2);
|
|
2431
|
+
$et->HandleTag($tagTablePtr, GimRoll => $3);
|
|
2432
|
+
}
|
|
2433
|
+
} else {
|
|
2434
|
+
$et->HandleTag($tagTablePtr, $1, $2) while $line =~ /([-\w]+):([^:]*[^:\s])(\s|$)/sg;
|
|
2435
|
+
}
|
|
2436
|
+
}
|
|
2437
|
+
} elsif ($text =~ /^\w{3} (\d{4})-(\d{2})-(\d{2}) (\d{2}:\d{2}:\d{2}) ?([-+])(\d{2}):?(\d{2})$/s) {
|
|
2376
2438
|
$et->HandleTag($tagTablePtr, 'DateTime', "$1:$2:$3 $4$5$6:$7");
|
|
2377
2439
|
} else {
|
|
2378
|
-
$et->HandleTag($tagTablePtr, $1, $2) while
|
|
2440
|
+
$et->HandleTag($tagTablePtr, $1, $2) while $text =~ /(\w+):([^:]*[^:\s])(\s|$)/sg;
|
|
2379
2441
|
}
|
|
2380
2442
|
return 1;
|
|
2381
2443
|
}
|
|
@@ -1349,7 +1349,7 @@ my %tagLookup = (
|
|
|
1349
1349
|
'camerae-mountversion' => { 490 => 0xb },
|
|
1350
1350
|
'cameraelevationangle' => { 124 => 0x9405, 524 => 'CameraElevationAngle' },
|
|
1351
1351
|
'camerafilename' => { 507 => 'CameraFilename' },
|
|
1352
|
-
'camerafirmware' => { 124 => 0xa439 },
|
|
1352
|
+
'camerafirmware' => { 124 => 0xa439, 524 => 'CameraFirmware' },
|
|
1353
1353
|
'cameraid' => { 333 => 0x209, 413 => 'cmid', 429 => 0x209 },
|
|
1354
1354
|
'cameraidentifier' => { 407 => 'camera.identifier' },
|
|
1355
1355
|
'cameraimage' => { 495 => [\'Cameras','CamerasCameraImage'] },
|
|
@@ -3728,8 +3728,8 @@ my %tagLookup = (
|
|
|
3728
3728
|
'imagedustoff' => { 300 => 0xfe443a45 },
|
|
3729
3729
|
'imageeditcount' => { 388 => 0x41 },
|
|
3730
3730
|
'imageediting' => { 388 => 0x32 },
|
|
3731
|
-
'imageeditingsoftware' => { 124 => 0xa43b },
|
|
3732
|
-
'imageeditor' => { 124 => 0xa438 },
|
|
3731
|
+
'imageeditingsoftware' => { 124 => 0xa43b, 524 => 'ImageEditingSoftware' },
|
|
3732
|
+
'imageeditor' => { 124 => 0xa438, 524 => 'ImageEditor' },
|
|
3733
3733
|
'imageeffects' => { 420 => 0x1010 },
|
|
3734
3734
|
'imagefileconstraints' => { 338 => 'ImageFileConstraints' },
|
|
3735
3735
|
'imagefileformatasdelivered' => { 338 => 'ImageFileFormatAsDelivered' },
|
|
@@ -3805,9 +3805,10 @@ my %tagLookup = (
|
|
|
3805
3805
|
'imagesuppliername' => { 338 => [\'ImageSupplier','ImageSupplierImageSupplierName'] },
|
|
3806
3806
|
'imagetemperaturemax' => { 126 => 0x1 },
|
|
3807
3807
|
'imagetemperaturemin' => { 126 => 0x2 },
|
|
3808
|
+
'imagetitle' => { 124 => 0xa436, 524 => 'ImageTitle' },
|
|
3808
3809
|
'imagetone' => { 388 => 0x4f },
|
|
3809
3810
|
'imagetype' => { 136 => 0x82, 338 => 'ImageType' },
|
|
3810
|
-
'imageuniqueid' => { 1 => 0x15, 68 => 0x28, 124 => 0xa420, 522 => 'ImageUniqueID', 523 => 'ImageUniqueID' },
|
|
3811
|
+
'imageuniqueid' => { 1 => 0x15, 68 => 0x28, 124 => 0xa420, 522 => 'ImageUniqueID', 523 => 'ImageUniqueID', 524 => 'ImageUniqueID' },
|
|
3811
3812
|
'imagewidth' => { 124 => 0x100, 193 => 0xe, 397 => 0x10c, 502 => 'ImageWidth', 542 => 'ImageWidth' },
|
|
3812
3813
|
'inclinationangle' => { 491 => 0x900f },
|
|
3813
3814
|
'inclinationcorrection' => { 491 => 0x900e },
|
|
@@ -4796,7 +4797,7 @@ my %tagLookup = (
|
|
|
4796
4797
|
'metadataauthorityidentifier' => { 531 => [\'metadataAuthority','metadataAuthorityIdentifier'] },
|
|
4797
4798
|
'metadataauthorityname' => { 531 => [\'metadataAuthority','metadataAuthorityName'] },
|
|
4798
4799
|
'metadatadate' => { 544 => 'MetadataDate' },
|
|
4799
|
-
'metadataeditingsoftware' => { 124 => 0xa43c },
|
|
4800
|
+
'metadataeditingsoftware' => { 124 => 0xa43c, 524 => 'MetadataEditingSoftware' },
|
|
4800
4801
|
'metadatalastedited' => { 531 => 'metadataLastEdited' },
|
|
4801
4802
|
'metadatalasteditor' => { 531 => 'metadataLastEditor' },
|
|
4802
4803
|
'metadatalasteditoridentifier' => { 531 => [\'metadataLastEditor','metadataLastEditorIdentifier'] },
|
|
@@ -5599,7 +5600,7 @@ my %tagLookup = (
|
|
|
5599
5600
|
'photoeffectsgreen' => { 302 => 0x6 },
|
|
5600
5601
|
'photoeffectsred' => { 302 => 0x4 },
|
|
5601
5602
|
'photoeffectstype' => { 302 => 0x0 },
|
|
5602
|
-
'photographer' => { 124 => 0xa437 },
|
|
5603
|
+
'photographer' => { 124 => 0xa437, 524 => 'Photographer' },
|
|
5603
5604
|
'photographicsensitivity' => { 524 => 'PhotographicSensitivity' },
|
|
5604
5605
|
'photoidentifier' => { 1 => 0x2b },
|
|
5605
5606
|
'photoinfoplayback' => { 307 => '17.6', 316 => '33.6' },
|
|
@@ -5946,7 +5947,7 @@ my %tagLookup = (
|
|
|
5946
5947
|
'rawdevcolorspace' => { 334 => 0x108, 335 => 0x109 },
|
|
5947
5948
|
'rawdevcontrastvalue' => { 334 => 0x106, 335 => 0x105 },
|
|
5948
5949
|
'rawdeveditstatus' => { 334 => 0x10b },
|
|
5949
|
-
'rawdevelopingsoftware' => { 124 => 0xa43a },
|
|
5950
|
+
'rawdevelopingsoftware' => { 124 => 0xa43a, 524 => 'RAWDevelopingSoftware' },
|
|
5950
5951
|
'rawdevelopmentprocess' => { 388 => 0x62 },
|
|
5951
5952
|
'rawdevengine' => { 334 => 0x109, 335 => 0x10b },
|
|
5952
5953
|
'rawdevexposurebiasvalue' => { 334 => 0x100, 335 => 0x100 },
|
|
@@ -6940,7 +6941,7 @@ my %tagLookup = (
|
|
|
6940
6941
|
'timezoneinfo' => { 105 => 0x2 },
|
|
6941
6942
|
'timezoneoffset' => { 124 => 0x882a },
|
|
6942
6943
|
'tint' => { 407 => 'player.movie.visual.tint', 517 => 'Tint', 519 => 'Tint' },
|
|
6943
|
-
'title' => {
|
|
6944
|
+
'title' => { 162 => 'Title', 337 => 'Title', 341 => 'Title', 352 => 0x65, 404 => 'Title', 405 => ['titl',"\xa9nam"], 407 => 'title', 413 => ['titl',"\xa9nam"], 520 => 'title', 533 => 'Title', 544 => 'Title' },
|
|
6944
6945
|
'togglestyleamount' => { 517 => 'ToggleStyleAmount', 519 => 'ToggleStyleAmount' },
|
|
6945
6946
|
'togglestyledigest' => { 517 => 'ToggleStyleDigest', 519 => 'ToggleStyleDigest' },
|
|
6946
6947
|
'tonecomp' => { 241 => 0x81 },
|
|
@@ -9742,6 +9743,8 @@ my %tagExists = (
|
|
|
9742
9743
|
'gpsframingaltitude' => 1,
|
|
9743
9744
|
'gpsframinglatitude' => 1,
|
|
9744
9745
|
'gpsframinglongitude' => 1,
|
|
9746
|
+
'gpshomelatitude' => 1,
|
|
9747
|
+
'gpshomelongitude' => 1,
|
|
9745
9748
|
'gpshorizontalaccuracy' => 1,
|
|
9746
9749
|
'gpsinfo' => 1,
|
|
9747
9750
|
'gpslatitude2' => 1,
|
|
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
|
|
|
12
12
|
=head1 TAG TABLES
|
|
13
13
|
|
|
14
14
|
The tables listed below give the names of all tags recognized by ExifTool.
|
|
15
|
-
They contain a total of
|
|
15
|
+
They contain a total of 28165 tags, with 17491 unique tag names.
|
|
16
16
|
|
|
17
17
|
B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
|
|
18
18
|
table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
|
|
@@ -871,7 +871,7 @@ for the official EXIF 2.32 specification.
|
|
|
871
871
|
0xa433 LensMake ExifIFD string
|
|
872
872
|
0xa434 LensModel ExifIFD string
|
|
873
873
|
0xa435 LensSerialNumber ExifIFD string
|
|
874
|
-
0xa436
|
|
874
|
+
0xa436 ImageTitle ExifIFD string
|
|
875
875
|
0xa437 Photographer ExifIFD string
|
|
876
876
|
0xa438 ImageEditor ExifIFD string
|
|
877
877
|
0xa439 CameraFirmware ExifIFD string
|
|
@@ -4605,7 +4605,7 @@ These tags belong to the ExifTool XMP-exif family 1 group.
|
|
|
4605
4605
|
GPSTrack rational
|
|
4606
4606
|
GPSTrackRef string
|
|
4607
4607
|
GPSVersionID string
|
|
4608
|
-
ImageUniqueID string
|
|
4608
|
+
ImageUniqueID string/
|
|
4609
4609
|
ISO integer+
|
|
4610
4610
|
LightSource string
|
|
4611
4611
|
MakerNote string
|
|
@@ -4686,6 +4686,7 @@ These tags belong to the ExifTool XMP-exifEX family 1 group.
|
|
|
4686
4686
|
Acceleration rational
|
|
4687
4687
|
SerialNumber string
|
|
4688
4688
|
CameraElevationAngle rational
|
|
4689
|
+
CameraFirmware string
|
|
4689
4690
|
OwnerName string
|
|
4690
4691
|
CompositeImage integer
|
|
4691
4692
|
CompositeImageCount integer+
|
|
@@ -4702,6 +4703,10 @@ These tags belong to the ExifTool XMP-exifEX family 1 group.
|
|
|
4702
4703
|
CompImageValues rational_+
|
|
4703
4704
|
Gamma rational
|
|
4704
4705
|
Humidity rational
|
|
4706
|
+
ImageEditingSoftware string
|
|
4707
|
+
ImageEditor string
|
|
4708
|
+
ImageTitle string
|
|
4709
|
+
ImageUniqueID string
|
|
4705
4710
|
InteropIndex string
|
|
4706
4711
|
ISOSpeed integer
|
|
4707
4712
|
ISOSpeedLatitudeyyy integer
|
|
@@ -4710,8 +4715,11 @@ These tags belong to the ExifTool XMP-exifEX family 1 group.
|
|
|
4710
4715
|
LensModel string
|
|
4711
4716
|
LensSerialNumber string
|
|
4712
4717
|
LensInfo rational+
|
|
4718
|
+
MetadataEditingSoftware string
|
|
4719
|
+
Photographer string
|
|
4713
4720
|
PhotographicSensitivity integer
|
|
4714
4721
|
Pressure rational
|
|
4722
|
+
RAWDevelopingSoftware string
|
|
4715
4723
|
RecommendedExposureIndex integer
|
|
4716
4724
|
SensitivityType integer
|
|
4717
4725
|
StandardOutputSensitivity integer
|
|
@@ -30187,22 +30195,29 @@ changed via the config file.
|
|
|
30187
30195
|
|
|
30188
30196
|
=head3 QuickTime tx3g Tags
|
|
30189
30197
|
|
|
30190
|
-
Tags extracted from the tx3g sbtl timed metadata of Yuneec drones,
|
|
30191
|
-
subtitle text in some other videos.
|
|
30198
|
+
Tags extracted from the tx3g sbtl timed metadata of Yuneec and Autel drones,
|
|
30199
|
+
and subtitle text in some other videos.
|
|
30192
30200
|
|
|
30193
|
-
Tag ID
|
|
30194
|
-
------
|
|
30195
|
-
'Alt'
|
|
30196
|
-
'DateTime'
|
|
30197
|
-
'
|
|
30198
|
-
'
|
|
30199
|
-
'
|
|
30200
|
-
'
|
|
30201
|
-
'
|
|
30202
|
-
'
|
|
30203
|
-
'
|
|
30204
|
-
'
|
|
30205
|
-
'
|
|
30201
|
+
Tag ID Tag Name Writable
|
|
30202
|
+
------ -------- --------
|
|
30203
|
+
'Alt' GPSAltitude no
|
|
30204
|
+
'DateTime' DateTime no
|
|
30205
|
+
'EV' ExposureCompensation no
|
|
30206
|
+
'F-NUM' FNumber no
|
|
30207
|
+
'GPSDateTime' GPSDateTime no
|
|
30208
|
+
'GimPitch' GimbalPitch no
|
|
30209
|
+
'GimRoll' GimbalRoll no
|
|
30210
|
+
'GimYaw' GimbalYaw no
|
|
30211
|
+
'HomeLat' GPSHomeLatitude no
|
|
30212
|
+
'HomeLon' GPSHomeLongitude no
|
|
30213
|
+
'ISO' ISO no
|
|
30214
|
+
'Lat' GPSLatitude no
|
|
30215
|
+
'Lon' GPSLongitude no
|
|
30216
|
+
'Pitch' Pitch no
|
|
30217
|
+
'Roll' Roll no
|
|
30218
|
+
'SHUTTER' ExposureTime no
|
|
30219
|
+
'Text' Text no
|
|
30220
|
+
'Yaw' Yaw no
|
|
30206
30221
|
|
|
30207
30222
|
=head3 QuickTime HTCInfo Tags
|
|
30208
30223
|
|
|
@@ -2016,6 +2016,7 @@ my %sPantryItem = (
|
|
|
2016
2016
|
Writable => 'integer',
|
|
2017
2017
|
List => 'Seq',
|
|
2018
2018
|
AutoSplit => 1,
|
|
2019
|
+
Notes => 'deprecated',
|
|
2019
2020
|
},
|
|
2020
2021
|
OECF => {
|
|
2021
2022
|
Name => 'Opto-ElectricConvFactor',
|
|
@@ -2267,7 +2268,7 @@ my %sPantryItem = (
|
|
|
2267
2268
|
3 => 'Distant',
|
|
2268
2269
|
},
|
|
2269
2270
|
},
|
|
2270
|
-
ImageUniqueID => { },
|
|
2271
|
+
ImageUniqueID => { Avoid => 1, Notes => 'moved to exifEX namespace in 2024 spec' },
|
|
2271
2272
|
GPSVersionID => { Groups => { 2 => 'Location' } },
|
|
2272
2273
|
GPSLatitude => { Groups => { 2 => 'Location' }, %latConv },
|
|
2273
2274
|
GPSLongitude => { Groups => { 2 => 'Location' }, %longConv },
|
|
@@ -2509,6 +2510,15 @@ my %sPantryItem = (
|
|
|
2509
2510
|
Values => { List => 'Seq', Writable => 'rational' },
|
|
2510
2511
|
},
|
|
2511
2512
|
},
|
|
2513
|
+
# new in Exif 3.0
|
|
2514
|
+
ImageUniqueID => { },
|
|
2515
|
+
ImageTitle => { },
|
|
2516
|
+
ImageEditor => { },
|
|
2517
|
+
Photographer => { Groups => { 2 => 'Author' } },
|
|
2518
|
+
CameraFirmware => { Groups => { 2 => 'Camera' } },
|
|
2519
|
+
RAWDevelopingSoftware => { },
|
|
2520
|
+
ImageEditingSoftware => { },
|
|
2521
|
+
MetadataEditingSoftware => { },
|
|
2512
2522
|
);
|
|
2513
2523
|
|
|
2514
2524
|
# Auxiliary namespace properties (aux) - not fully documented (ref PH)
|
|
@@ -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 $advFmtSelf);
|
|
31
31
|
|
|
32
|
-
$VERSION = '
|
|
32
|
+
$VERSION = '13.00';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -740,7 +740,7 @@ my %fileDescription = (
|
|
|
740
740
|
OGV => 'video/ogg',
|
|
741
741
|
ONP => 'application/on1',
|
|
742
742
|
ORF => 'image/x-olympus-orf',
|
|
743
|
-
OTF => 'application/
|
|
743
|
+
OTF => 'application/font-otf',
|
|
744
744
|
PAGES=> 'application/x-iwork-pages-sffpages',
|
|
745
745
|
PBM => 'image/x-portable-bitmap',
|
|
746
746
|
PCD => 'image/x-photo-cd',
|
|
@@ -798,8 +798,8 @@ my %fileDescription = (
|
|
|
798
798
|
THMX => 'application/vnd.ms-officetheme',
|
|
799
799
|
TIFF => 'image/tiff',
|
|
800
800
|
Torrent => 'application/x-bittorrent',
|
|
801
|
-
TTC => 'application/
|
|
802
|
-
TTF => 'application/
|
|
801
|
+
TTC => 'application/font-ttf',
|
|
802
|
+
TTF => 'application/font-ttf',
|
|
803
803
|
TXT => 'text/plain',
|
|
804
804
|
VCard=> 'text/vcard',
|
|
805
805
|
VRD => 'application/octet-stream', #PH (NC)
|
package/bin/windows_exiftool.txt
CHANGED
|
@@ -312,8 +312,8 @@ OPTIONS
|
|
|
312
312
|
Write a new value for the specified tag (eg. "-comment=wow"), or
|
|
313
313
|
delete the tag if no *VALUE* is given (eg. "-comment="). "+=" and
|
|
314
314
|
"-=" are used to add or remove existing entries from a list, or to
|
|
315
|
-
shift date/time values (see Image::ExifTool::Shift.pl and
|
|
316
|
-
below for more details). "+=" may also be used to increment
|
|
315
|
+
shift date/time values (see Image::ExifTool::Shift.pl and notes 6
|
|
316
|
+
and 7 below for more details). "+=" may also be used to increment
|
|
317
317
|
numerical values (or decrement if *VALUE* is negative), and "-="
|
|
318
318
|
may be used to conditionally delete or replace a tag (see "WRITING
|
|
319
319
|
EXAMPLES" for examples). "^=" is used to write an empty string
|
|
@@ -399,6 +399,10 @@ OPTIONS
|
|
|
399
399
|
copy it to another tag in the same operation, use the
|
|
400
400
|
-globalTimeShift option.
|
|
401
401
|
|
|
402
|
+
7) The "+=" operator may not be used to shift a List-type date/time
|
|
403
|
+
tag (eg. XMP-dc:Date) because "+=" is used to add elements to the
|
|
404
|
+
list. Instead, the -globalTimeShift option should be used.
|
|
405
|
+
|
|
402
406
|
Special feature: Integer values may be specified in hexadecimal
|
|
403
407
|
with a leading "0x", and simple rational values may be specified as
|
|
404
408
|
fractions.
|
|
@@ -1035,7 +1039,7 @@ OPTIONS
|
|
|
1035
1039
|
|
|
1036
1040
|
produces output like this:
|
|
1037
1041
|
|
|
1038
|
-
-- Generated by ExifTool
|
|
1042
|
+
-- Generated by ExifTool 13.00 --
|
|
1039
1043
|
File: a.jpg - 2003:10:31 15:44:19
|
|
1040
1044
|
(f/5.6, 1/60s, ISO 100)
|
|
1041
1045
|
File: b.jpg - 2006:05:23 11:57:38
|
|
@@ -1879,8 +1883,8 @@ OPTIONS
|
|
|
1879
1883
|
specified family of groups, with -G1 being the default. The -a
|
|
1880
1884
|
option is implied. Adding -v includes a count of the number of tags
|
|
1881
1885
|
that are the same in each group. The following text formatting
|
|
1882
|
-
options are valid when -diff is used: -c, -charset, -d, -E, -
|
|
1883
|
-
-lang, -n, -s, -sep, -struct and -w.
|
|
1886
|
+
options are valid when -diff is used: -c, -charset, -d, -E, -ec,
|
|
1887
|
+
-ex, -L, -lang, -n, -s, -sep, -struct and -w.
|
|
1884
1888
|
|
|
1885
1889
|
-geotag *TRKFILE*
|
|
1886
1890
|
Geotag images from the specified GPS track log file. Using the
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored.pl",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.1",
|
|
4
4
|
"description": "Vendored perl ExifTool for Node.js",
|
|
5
5
|
"main": "./index.js",
|
|
6
|
-
"homepage": "https://github.com/
|
|
6
|
+
"homepage": "https://github.com/photostructure/exiftool-vendored.pl#readme",
|
|
7
7
|
"bugs": {
|
|
8
|
-
"url": "https://github.com/
|
|
8
|
+
"url": "https://github.com/photostructure/exiftool-vendored/issues"
|
|
9
9
|
},
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
|
-
"url": "
|
|
12
|
+
"url": "git@github.com:photostructure/exiftool-vendored.pl.git"
|
|
13
13
|
},
|
|
14
14
|
"os": [
|
|
15
15
|
"!win32"
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"mocha": "^10.
|
|
45
|
-
"npm-check-updates": "^17.1.
|
|
44
|
+
"mocha": "^10.8.0",
|
|
45
|
+
"npm-check-updates": "^17.1.9",
|
|
46
46
|
"prettier": "^3.3.3"
|
|
47
47
|
}
|
|
48
48
|
}
|