exiftool_vendored 11.49.0 → 11.50.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.
- checksums.yaml +4 -4
- data/bin/Changes +16 -1
- data/bin/MANIFEST +2 -0
- data/bin/META.json +4 -3
- data/bin/META.yml +15 -14
- data/bin/README +7 -5
- data/bin/config_files/rotate_regions.config +173 -0
- data/bin/config_files/tiff_version.config +121 -0
- data/bin/exiftool +16 -15
- data/bin/lib/Image/ExifTool.pm +26 -19
- data/bin/lib/Image/ExifTool.pod +5 -2
- data/bin/lib/Image/ExifTool/Audible.pm +2 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +25 -21
- data/bin/lib/Image/ExifTool/Canon.pm +13 -9
- data/bin/lib/Image/ExifTool/CanonVRD.pm +4 -4
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -2
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +44 -6
- data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +12 -9
- data/bin/lib/Image/ExifTool/GPS.pm +3 -3
- data/bin/lib/Image/ExifTool/GoPro.pm +4 -4
- data/bin/lib/Image/ExifTool/H264.pm +2 -2
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +3 -3
- data/bin/lib/Image/ExifTool/MPF.pm +2 -2
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +2 -2
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +58 -56
- data/bin/lib/Image/ExifTool/Nikon.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +2 -2
- data/bin/lib/Image/ExifTool/OpenEXR.pm +2 -2
- data/bin/lib/Image/ExifTool/PDF.pm +4 -4
- data/bin/lib/Image/ExifTool/PICT.pm +3 -3
- data/bin/lib/Image/ExifTool/PNG.pm +2 -2
- data/bin/lib/Image/ExifTool/Pentax.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +1 -2
- data/bin/lib/Image/ExifTool/PostScript.pm +4 -4
- data/bin/lib/Image/ExifTool/QuickTime.pm +37 -15
- data/bin/lib/Image/ExifTool/RIFF.pm +3 -2
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +4 -2
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +9 -7
- data/bin/lib/Image/ExifTool/TagNames.pod +31 -21
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +2 -2
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +1 -1
- data/bin/lib/Image/ExifTool/Writer.pl +11 -6
- data/bin/lib/Image/ExifTool/XMP.pm +3 -7
- data/bin/lib/Image/ExifTool/XMPStruct.pl +2 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/perl-Image-ExifTool.spec +3 -3
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -2
|
@@ -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 22568 tags, with 15014 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
|
|
@@ -68,7 +68,7 @@ listed as the computer-readable and human-readable values on the left and
|
|
|
68
68
|
right hand side of an equals sign (C<=>) respectively. The human-readable
|
|
69
69
|
values are used by default when reading and writing, but the
|
|
70
70
|
computer-readable values may be accessed by disabling the value conversion
|
|
71
|
-
with the -n option on the command line, by setting the
|
|
71
|
+
with the -n option on the command line, by setting the PrintConv option to 0
|
|
72
72
|
in the API, or or on a per-tag basis by adding a hash (C<#>) after the tag
|
|
73
73
|
name.
|
|
74
74
|
|
|
@@ -18812,7 +18812,7 @@ L<http://www.scalado.com/>.)
|
|
|
18812
18812
|
Tags extracted from the GPMF box of GoPro MP4 videos, the APP6 "GoPro" segment
|
|
18813
18813
|
of JPEG files, and from the "gpmd" timed metadata if the ExtractEmbedded option
|
|
18814
18814
|
is enabled. Many more tags exist, but are currently unknown and extracted only
|
|
18815
|
-
with the -u option. Please let me know if you discover the meaning of any of
|
|
18815
|
+
with the Unknown (-u) option. Please let me know if you discover the meaning of any of
|
|
18816
18816
|
these unknown tags. See L<https://github.com/gopro/gpmf-parser> for details
|
|
18817
18817
|
about this format.
|
|
18818
18818
|
|
|
@@ -24020,14 +24020,18 @@ QuickTime-based files; it extracts other track-specific and timed
|
|
|
24020
24020
|
metadata, but can not yet edit tags in these locations (with the
|
|
24021
24021
|
exception of track-level date/time tags).
|
|
24022
24022
|
|
|
24023
|
-
Alternate language tags may be accessed for
|
|
24023
|
+
Alternate language tags may be accessed for
|
|
24024
|
+
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> and
|
|
24025
|
+
L<Keys|Image::ExifTool::TagNames/QuickTime Keys Tags> tags by adding
|
|
24024
24026
|
a 3-character ISO 639-2 language code and an optional ISO 3166-1 alpha 2
|
|
24025
24027
|
country code to the tag name (eg. "ItemList:Artist-deu" or
|
|
24026
|
-
"ItemList::Artist-deu-DE"). Most
|
|
24027
|
-
|
|
24028
|
-
|
|
24029
|
-
|
|
24030
|
-
|
|
24028
|
+
"ItemList::Artist-deu-DE"). Most
|
|
24029
|
+
L<UserData|Image::ExifTool::TagNames/QuickTime UserData Tags> tags support a
|
|
24030
|
+
language code, but without a country code. If no language code is specified
|
|
24031
|
+
when writing, alternate languages for the tag are deleted. Use the "und"
|
|
24032
|
+
language code to write the default language without deleting alternate
|
|
24033
|
+
languages. Note that "eng" is treated as a default language when reading,
|
|
24034
|
+
but not when writing.
|
|
24031
24035
|
|
|
24032
24036
|
According to the specification, many QuickTime date/time tags should be
|
|
24033
24037
|
stored as UTC. Unfortunately, digital cameras often store local time values
|
|
@@ -24258,10 +24262,11 @@ specification.
|
|
|
24258
24262
|
=head3 QuickTime Keys Tags
|
|
24259
24263
|
|
|
24260
24264
|
This directory contains a list of key names which are used to decode tags
|
|
24261
|
-
written by the "mdta" handler.
|
|
24262
|
-
|
|
24263
|
-
|
|
24264
|
-
|
|
24265
|
+
written by the "mdta" handler. Also in this table are a few tags found in
|
|
24266
|
+
timed metadata that are not yet writable by ExifTool. The prefix of
|
|
24267
|
+
"com.apple.quicktime." has been removed from the TagID's below. These tags
|
|
24268
|
+
support alternate languages in the same way as the
|
|
24269
|
+
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> tags. Note
|
|
24265
24270
|
that by default,
|
|
24266
24271
|
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> and
|
|
24267
24272
|
L<UserData|Image::ExifTool::TagNames/QuickTime UserData Tags> tags are
|
|
@@ -24281,17 +24286,19 @@ changed via the config file.
|
|
|
24281
24286
|
FrameReadoutTime string
|
|
24282
24287
|
'camera.identifier' CameraIdentifier string
|
|
24283
24288
|
'collection.user' UserCollection string
|
|
24289
|
+
'com.android.version' AndroidVersion string
|
|
24290
|
+
'com.apple.photos.captureMode' CaptureMode string
|
|
24284
24291
|
'comment' Comment string
|
|
24285
24292
|
'copyright' Copyright string
|
|
24286
24293
|
'creationdate' CreationDate string
|
|
24287
24294
|
'description' Description string
|
|
24288
24295
|
'detected-face' FaceInfo QuickTime FaceInfo
|
|
24289
|
-
'detected-face.bounds' DetectedFaceBounds
|
|
24290
|
-
'detected-face.face-id' DetectedFaceID
|
|
24296
|
+
'detected-face.bounds' DetectedFaceBounds no
|
|
24297
|
+
'detected-face.face-id' DetectedFaceID no
|
|
24291
24298
|
'detected-face.roll-angle'
|
|
24292
|
-
DetectedFaceRollAngle
|
|
24299
|
+
DetectedFaceRollAngle no
|
|
24293
24300
|
'detected-face.yaw-angle'
|
|
24294
|
-
DetectedFaceYawAngle
|
|
24301
|
+
DetectedFaceYawAngle no
|
|
24295
24302
|
'direction.facing' CameraDirection string
|
|
24296
24303
|
'direction.motion' CameraMotion string
|
|
24297
24304
|
'director' Director string
|
|
@@ -24323,10 +24330,10 @@ changed via the config file.
|
|
|
24323
24330
|
'publisher' Publisher string
|
|
24324
24331
|
'rating.user' UserRating string
|
|
24325
24332
|
'software' Software string
|
|
24326
|
-
'still-image-time' StillImageTime
|
|
24333
|
+
'still-image-time' StillImageTime no
|
|
24327
24334
|
'title' Title string
|
|
24328
24335
|
'version' Version string
|
|
24329
|
-
'video-orientation' VideoOrientation
|
|
24336
|
+
'video-orientation' VideoOrientation no
|
|
24330
24337
|
'year' Year string
|
|
24331
24338
|
|
|
24332
24339
|
=head3 QuickTime FaceInfo Tags
|
|
@@ -24437,7 +24444,10 @@ This is the preferred location for creating new QuickTime tags. Tags in
|
|
|
24437
24444
|
this table support alternate languages which are accessed by adding a
|
|
24438
24445
|
3-character ISO 639-2 language code and an optional ISO 3166-1 alpha 2
|
|
24439
24446
|
country code to the tag name (eg. "ItemList:Title-fra" or
|
|
24440
|
-
"ItemList::Title-fra-FR").
|
|
24447
|
+
"ItemList::Title-fra-FR"). When creating a new Meta box to contain the
|
|
24448
|
+
ItemList directory, by default ExifTool does not specify a
|
|
24449
|
+
L<Handler|Image::ExifTool::TagNames/QuickTime Handler Tags>, but the
|
|
24450
|
+
API QuickTimeHandler option may be used to include an 'mdir' Handler box.
|
|
24441
24451
|
|
|
24442
24452
|
Tag ID Tag Name Writable
|
|
24443
24453
|
------ -------- --------
|
|
@@ -25042,7 +25052,7 @@ text. Alternate language tags are accessed by adding a dash followed by a
|
|
|
25042
25052
|
3-character ISO 639-2 language code to the tag name. ExifTool will extract
|
|
25043
25053
|
any multi-language user data tags found, even if they aren't in this table.
|
|
25044
25054
|
Note when creating new tags,
|
|
25045
|
-
L<ItemList
|
|
25055
|
+
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> tags are
|
|
25046
25056
|
preferred over these, so to create the tag when a same-named ItemList tag
|
|
25047
25057
|
exists, either "UserData" must be specified (eg. C<-UserData:Artist=Monet>
|
|
25048
25058
|
on the command line), or the PREFERRED level must be changed via the config
|
|
@@ -323,7 +323,7 @@ sub ProcessVCard($$)
|
|
|
323
323
|
} else {
|
|
324
324
|
delete $$et{SET_GROUP1};
|
|
325
325
|
}
|
|
326
|
-
my ($name, %param, $p
|
|
326
|
+
my ($name, %param, $p);
|
|
327
327
|
# vCard tag ID's are case-insensitive, so normalize to lowercase with
|
|
328
328
|
# an uppercase first letter for use as a tag name
|
|
329
329
|
$name = ucfirst $tag if $tag =~ /[a-z]/; # preserve mixed case in name if it exists
|
|
@@ -253,7 +253,7 @@ my %validateInfo = (
|
|
|
253
253
|
Groups => { 0 => 'ExifTool', 1 => 'ExifTool', 2 => 'ExifTool' },
|
|
254
254
|
Notes => q{
|
|
255
255
|
generated only if specifically requested. Requesting this tag automatically
|
|
256
|
-
enables the L<
|
|
256
|
+
enables the API L<Validate|../ExifTool.html#Validate> option, imposing
|
|
257
257
|
additional validation checks when extracting metadata. Returns the number
|
|
258
258
|
of errors, warnings and minor warnings encountered. Note that the Validate
|
|
259
259
|
feature focuses mainly on validation of TIFF/EXIF metadata
|
|
@@ -540,7 +540,7 @@ sub FinishValidate($$)
|
|
|
540
540
|
} elsif ($result eq '') {
|
|
541
541
|
$pre = defined $val ? 'Invalid value for' : "Missing required $fileType";
|
|
542
542
|
} else {
|
|
543
|
-
next if $result
|
|
543
|
+
next if $result eq '1';
|
|
544
544
|
$pre = $result;
|
|
545
545
|
}
|
|
546
546
|
} else {
|
|
@@ -105,7 +105,7 @@ sub CheckIPTC($$$)
|
|
|
105
105
|
my $format = $$tagInfo{Format} || $$tagInfo{Table}{FORMAT} || '';
|
|
106
106
|
if ($format =~ /^int(\d+)/) {
|
|
107
107
|
my $bytes = int(($1 || 0) / 8);
|
|
108
|
-
if ($bytes
|
|
108
|
+
if ($bytes != 1 and $bytes != 2 and $bytes != 4) {
|
|
109
109
|
return "Can't write $bytes-byte integer";
|
|
110
110
|
}
|
|
111
111
|
my $val = $$valPtr;
|
|
@@ -409,7 +409,7 @@ sub WriteKeys($$$)
|
|
|
409
409
|
next unless $$nvHash{IsCreating} and $et->IsOverwriting($nvHash) and
|
|
410
410
|
defined $et->GetNewValue($nvHash);
|
|
411
411
|
# add new entry to 'keys' data
|
|
412
|
-
my $val = "com.apple.quicktime.$id";
|
|
412
|
+
my $val = $id =~ /^com\./ ? $id : "com.apple.quicktime.$id";
|
|
413
413
|
$newData .= Set32u(8 + length($val)) . 'mdta' . $val;
|
|
414
414
|
$et->VPrint(1, "$$et{INDENT}\[adding Keys entry $newIndex '${id}']\n");
|
|
415
415
|
$add{$newIndex++} = $tagInfo;
|
|
@@ -2917,7 +2917,7 @@ sub InsertTagValues($$$;$$$)
|
|
|
2917
2917
|
local $_;
|
|
2918
2918
|
my ($self, $foundTags, $line, $opt, $docGrp, $cache) = @_;
|
|
2919
2919
|
my $rtnStr = '';
|
|
2920
|
-
my $docNum;
|
|
2920
|
+
my ($docNum, $tag);
|
|
2921
2921
|
if ($docGrp) {
|
|
2922
2922
|
$docNum = $docGrp =~ /(\d+)$/ ? $1 : 0;
|
|
2923
2923
|
} else {
|
|
@@ -2970,8 +2970,9 @@ sub InsertTagValues($$$;$$$)
|
|
|
2970
2970
|
|
|
2971
2971
|
for (;;) {
|
|
2972
2972
|
# temporarily reset ListJoin option if evaluating list values separately
|
|
2973
|
-
my $oldListJoin
|
|
2974
|
-
|
|
2973
|
+
my $oldListJoin;
|
|
2974
|
+
$oldListJoin = $self->Options(ListJoin => undef) if $asList;
|
|
2975
|
+
$tag = shift @tags;
|
|
2975
2976
|
my $lcTag = lc $tag;
|
|
2976
2977
|
if ($cache and $lcTag !~ /(^|:)all$/) {
|
|
2977
2978
|
# remove group from tag name (but not lower-case version)
|
|
@@ -2998,7 +2999,10 @@ sub InsertTagValues($$$;$$$)
|
|
|
2998
2999
|
}
|
|
2999
3000
|
}
|
|
3000
3001
|
my $doc = $lcTag =~ /\b(main|doc(\d+)):/ ? ($2 || 0) : $docNum;
|
|
3001
|
-
|
|
3002
|
+
if ($$cacheTag[$doc]) {
|
|
3003
|
+
$tag = $$cacheTag[$doc];
|
|
3004
|
+
$val = $self->GetValue($tag, $type);
|
|
3005
|
+
}
|
|
3002
3006
|
} else {
|
|
3003
3007
|
# add document number to tag if specified and it doesn't already exist
|
|
3004
3008
|
if ($docGrp and $lcTag !~ /\b(main|doc\d+):/) {
|
|
@@ -5352,7 +5356,7 @@ sub WriteJPEG($$)
|
|
|
5352
5356
|
}
|
|
5353
5357
|
unless ($marker and $marker == 0xda) {
|
|
5354
5358
|
$isEXV or $self->Error('Corrupted JPEG image'), return 1;
|
|
5355
|
-
$marker and $marker
|
|
5359
|
+
$marker and $marker != 0xd9 and $self->Error('Corrupted EXV file'), return 1;
|
|
5356
5360
|
}
|
|
5357
5361
|
$raf->Seek($pos, 0) or $self->Error('Seek error'), return 1;
|
|
5358
5362
|
#
|
|
@@ -6675,7 +6679,6 @@ sub WriteBinaryData($$$)
|
|
|
6675
6679
|
next unless $writeInfo and $writeInfo eq $tagInfo;
|
|
6676
6680
|
}
|
|
6677
6681
|
# add offsets for variable-sized tags if necessary
|
|
6678
|
-
my $varFmt;
|
|
6679
6682
|
while (@varInfo and $varInfo[0][0] < $tagID) {
|
|
6680
6683
|
$varSize = $varInfo[0][1]; # get accumulated variable size
|
|
6681
6684
|
shift @varInfo;
|
|
@@ -6707,6 +6710,8 @@ sub WriteBinaryData($$$)
|
|
|
6707
6710
|
next unless $self->IsOverwriting($nvHash, $val);
|
|
6708
6711
|
my $newVal = $self->GetNewValue($nvHash);
|
|
6709
6712
|
next unless defined $newVal; # can't delete from a binary table
|
|
6713
|
+
# update DataMember with new value if necessary
|
|
6714
|
+
$$self{$$tagInfo{DataMember}} = $newVal if $$tagInfo{DataMember};
|
|
6710
6715
|
# only write masked bits if specified
|
|
6711
6716
|
my $mask = $$tagInfo{Mask};
|
|
6712
6717
|
$newVal = (($newVal << $$tagInfo{BitShift}) & $mask) | ($val & ~$mask) if $mask;
|
|
@@ -2229,7 +2229,7 @@ my %sPantryItem = (
|
|
|
2229
2229
|
# (used to set EXIF GPS position from XMP tags)
|
|
2230
2230
|
GPSLatitudeRef => {
|
|
2231
2231
|
Require => 'XMP:GPSLatitude',
|
|
2232
|
-
|
|
2232
|
+
# Note: Do not Inihibit based on EXIF:GPSLatitudeRef (see forum10192)
|
|
2233
2233
|
ValueConv => q{
|
|
2234
2234
|
IsFloat($val[0]) and return $val[0] < 0 ? "S" : "N";
|
|
2235
2235
|
$val[0] =~ /^.*([NS])/;
|
|
@@ -2239,7 +2239,6 @@ my %sPantryItem = (
|
|
|
2239
2239
|
},
|
|
2240
2240
|
GPSLongitudeRef => {
|
|
2241
2241
|
Require => 'XMP:GPSLongitude',
|
|
2242
|
-
Inhibit => 'GPSLongitudeRef',
|
|
2243
2242
|
ValueConv => q{
|
|
2244
2243
|
IsFloat($val[0]) and return $val[0] < 0 ? "W" : "E";
|
|
2245
2244
|
$val[0] =~ /^.*([EW])/;
|
|
@@ -2249,7 +2248,6 @@ my %sPantryItem = (
|
|
|
2249
2248
|
},
|
|
2250
2249
|
GPSDestLatitudeRef => {
|
|
2251
2250
|
Require => 'XMP:GPSDestLatitude',
|
|
2252
|
-
Inhibit => 'GPSDestLatitudeRef',
|
|
2253
2251
|
ValueConv => q{
|
|
2254
2252
|
IsFloat($val[0]) and return $val[0] < 0 ? "S" : "N";
|
|
2255
2253
|
$val[0] =~ /^.*([NS])/;
|
|
@@ -2259,7 +2257,6 @@ my %sPantryItem = (
|
|
|
2259
2257
|
},
|
|
2260
2258
|
GPSDestLongitudeRef => {
|
|
2261
2259
|
Require => 'XMP:GPSDestLongitude',
|
|
2262
|
-
Inhibit => 'GPSDestLongitudeRef',
|
|
2263
2260
|
ValueConv => q{
|
|
2264
2261
|
IsFloat($val[0]) and return $val[0] < 0 ? "W" : "E";
|
|
2265
2262
|
$val[0] =~ /^.*([EW])/;
|
|
@@ -2304,11 +2301,11 @@ my %sPantryItem = (
|
|
|
2304
2301
|
my $i = 0;
|
|
2305
2302
|
$val[$i++] = $val[5]{$_} foreach qw(Fired Return Mode Function RedEyeMode);
|
|
2306
2303
|
}
|
|
2307
|
-
return
|
|
2304
|
+
return((($val[0] and lc($val[0]) eq 'true') ? 0x01 : 0) |
|
|
2308
2305
|
(($val[1] || 0) << 1) |
|
|
2309
2306
|
(($val[2] || 0) << 3) |
|
|
2310
2307
|
(($val[3] and lc($val[3]) eq 'true') ? 0x20 : 0) |
|
|
2311
|
-
(($val[4] and lc($val[4]) eq 'true') ? 0x40 : 0);
|
|
2308
|
+
(($val[4] and lc($val[4]) eq 'true') ? 0x40 : 0));
|
|
2312
2309
|
},
|
|
2313
2310
|
PrintConv => \%Image::ExifTool::Exif::flash,
|
|
2314
2311
|
WriteAlso => {
|
|
@@ -3282,7 +3279,6 @@ sub ParseXMPElement($$$;$$$$)
|
|
|
3282
3279
|
# (empty elements end with '/', eg. <a:b/>)
|
|
3283
3280
|
if ($attrs !~ s/\/$//) {
|
|
3284
3281
|
my $nesting = 1;
|
|
3285
|
-
my $tok;
|
|
3286
3282
|
for (;;) {
|
|
3287
3283
|
# this match fails with perl 5.6.2 (perl bug!), but it works without
|
|
3288
3284
|
# the '(.*?)', so we must do it differently...
|
|
@@ -107,7 +107,8 @@ sub InflateStruct($;$)
|
|
|
107
107
|
$val = '';
|
|
108
108
|
$delim = $delim ? "\\$delim|,|\\||\$" : ',|\\||$';
|
|
109
109
|
for (;;) {
|
|
110
|
-
$$obj =~ s/^(.*?)($delim)//s
|
|
110
|
+
$$obj =~ s/^(.*?)($delim)//s or last;
|
|
111
|
+
$val .= $1;
|
|
111
112
|
last unless $2;
|
|
112
113
|
$2 eq '|' or $$obj = $2 . $$obj, last;
|
|
113
114
|
$$obj =~ s/^(.)//s and $val .= $1; # add escaped character
|
|
@@ -448,7 +448,7 @@ sub ProcessZIP($$)
|
|
|
448
448
|
|
|
449
449
|
# check for an Office Open file (DOCX, etc)
|
|
450
450
|
# --> read '[Content_Types].xml' to determine the file type
|
|
451
|
-
my ($mime, @members
|
|
451
|
+
my ($mime, @members);
|
|
452
452
|
my $cType = $zip->memberNamed('[Content_Types].xml');
|
|
453
453
|
if ($cType) {
|
|
454
454
|
($buff, $status) = $zip->contents($cType);
|
|
@@ -70,7 +70,7 @@ sub GetTagID($)
|
|
|
70
70
|
{
|
|
71
71
|
my $props = shift;
|
|
72
72
|
return 0 if $$props[-1] =~ /^\w+:ID$/; # ignore ID tags
|
|
73
|
-
return
|
|
73
|
+
return $$props[0] =~ /^.*?:(.*)/ ? $1 : $$props[0];
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
#------------------------------------------------------------------------------
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Summary: perl module for image data extraction
|
|
2
2
|
Name: perl-Image-ExifTool
|
|
3
|
-
Version: 11.
|
|
3
|
+
Version: 11.50
|
|
4
4
|
Release: 1
|
|
5
5
|
License: Artistic/GPL
|
|
6
6
|
Group: Development/Libraries/Perl
|
|
@@ -49,8 +49,8 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
49
49
|
CRM r/w | GZ r | MOI r | PMP r | WAV r
|
|
50
50
|
CRW r/w | HDP r/w | MOS r/w | PNG r/w | WDP r/w
|
|
51
51
|
CS1 r/w | HDR r | MOV r/w | PPM r/w | WEBP r
|
|
52
|
-
DCM r | HEIC r
|
|
53
|
-
DCP r/w | HEIF r
|
|
52
|
+
DCM r | HEIC r/w | MP3 r | PPT r | WEBM r
|
|
53
|
+
DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WMA r
|
|
54
54
|
DCR r | HTML r | MPC r | PS r/w | WMV r
|
|
55
55
|
DFONT r | ICC r/w/c | MPG r | PSB r/w | WTV r
|
|
56
56
|
DIVX r | ICS r | MPO r/w | PSD r/w | WV r
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: exiftool_vendored
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 11.
|
|
4
|
+
version: 11.50.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matthew McEachen
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2019-06-
|
|
12
|
+
date: 2019-06-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: exiftool
|
|
@@ -201,6 +201,8 @@ files:
|
|
|
201
201
|
- bin/config_files/nksc.config
|
|
202
202
|
- bin/config_files/photoshop_paths.config
|
|
203
203
|
- bin/config_files/picasa_faces.config
|
|
204
|
+
- bin/config_files/rotate_regions.config
|
|
205
|
+
- bin/config_files/tiff_version.config
|
|
204
206
|
- bin/config_files/time_zone.config
|
|
205
207
|
- bin/exiftool
|
|
206
208
|
- bin/fmt_files/gpx.fmt
|