exiftool_vendored 13.31.0 → 13.36.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 +88 -2
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/Makefile.PL +1 -0
- data/bin/README +47 -46
- data/bin/exiftool +155 -120
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +7 -5
- data/bin/lib/Image/ExifTool/Canon.pm +46 -6
- data/bin/lib/Image/ExifTool/DJI.pm +54 -3
- data/bin/lib/Image/ExifTool/Exif.pm +9 -6
- data/bin/lib/Image/ExifTool/FlashPix.pm +4 -159
- data/bin/lib/Image/ExifTool/FujiFilm.pm +97 -32
- data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
- data/bin/lib/Image/ExifTool/Geotag.pm +5 -3
- data/bin/lib/Image/ExifTool/GoPro.pm +14 -2
- data/bin/lib/Image/ExifTool/LNK.pm +4 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/ja.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +0 -1
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +0 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +2 -4
- data/bin/lib/Image/ExifTool/Microsoft.pm +158 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +4 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +73 -37
- data/bin/lib/Image/ExifTool/NikonCustom.pm +40 -10
- data/bin/lib/Image/ExifTool/Olympus.pm +258 -34
- data/bin/lib/Image/ExifTool/Panasonic.pm +3 -3
- data/bin/lib/Image/ExifTool/Pentax.pm +341 -61
- data/bin/lib/Image/ExifTool/Protobuf.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +11 -4
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +1 -1
- data/bin/lib/Image/ExifTool/README +2 -1
- data/bin/lib/Image/ExifTool/RIFF.pm +5 -3
- data/bin/lib/Image/ExifTool/Sony.pm +46 -17
- data/bin/lib/Image/ExifTool/TNEF.pm +487 -0
- data/bin/lib/Image/ExifTool/TagLookup.pm +4384 -4265
- data/bin/lib/Image/ExifTool/TagNames.pod +291 -27
- data/bin/lib/Image/ExifTool/WriteExif.pl +14 -12
- data/bin/lib/Image/ExifTool/Writer.pl +21 -16
- data/bin/lib/Image/ExifTool/XMP.pm +8 -2
- data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool.pm +14 -4
- data/bin/lib/Image/ExifTool.pod +50 -44
- data/bin/perl-Image-ExifTool.spec +46 -45
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -695,12 +695,11 @@ TAG: foreach $tagInfo (@matchingTags) {
|
|
695
695
|
my $src = GetTagTable($$table{SRC_TABLE});
|
696
696
|
$writeProc = $$src{WRITE_PROC} unless $writeProc;
|
697
697
|
}
|
698
|
-
{
|
698
|
+
if ($writeProc) {
|
699
699
|
# make sure module is loaded if the writeProc is a string
|
700
700
|
unless (ref $writeProc) {
|
701
701
|
my $module = $writeProc;
|
702
|
-
$module =~ s/::\w
|
703
|
-
eval "require $module";
|
702
|
+
$module =~ s/::\w+$// and eval "require $module";
|
704
703
|
}
|
705
704
|
no strict 'refs';
|
706
705
|
next unless $writeProc and &$writeProc();
|
@@ -1353,7 +1352,8 @@ sub SetNewValuesFromFile($$;@)
|
|
1353
1352
|
# get all tags from source file (including MakerNotes block)
|
1354
1353
|
$info = $srcExifTool->ImageInfo($srcFile);
|
1355
1354
|
}
|
1356
|
-
|
1355
|
+
# (allow processing to continue if we have alternate files that may have been read OK)
|
1356
|
+
return $info if $$info{Error} and $$info{Error} eq 'Error opening file' and not $$self{ALT_EXIFTOOL};
|
1357
1357
|
delete $$srcExifTool{VALUE}{Error}; # delete so we can check this later
|
1358
1358
|
|
1359
1359
|
# sort tags in file order with priority tags last
|
@@ -1907,7 +1907,7 @@ sub RestoreNewValues($)
|
|
1907
1907
|
#------------------------------------------------------------------------------
|
1908
1908
|
# Set alternate file for extracting information
|
1909
1909
|
# Inputs: 0) ExifTool ref, 1) family 8 group name (of the form "File#" where # is any number)
|
1910
|
-
# 2) alternate file name, or undef to reset
|
1910
|
+
# 2) alternate file name (may contain tag names with leading "$"), or undef to reset
|
1911
1911
|
# Returns: 1 on success, or 0 on invalid group name
|
1912
1912
|
sub SetAlternateFile($$$)
|
1913
1913
|
{
|
@@ -1917,7 +1917,9 @@ sub SetAlternateFile($$$)
|
|
1917
1917
|
# keep the same file if already initialized (possibly has metadata extracted)
|
1918
1918
|
if (not defined $file) {
|
1919
1919
|
delete $$self{ALT_EXIFTOOL}{$g8};
|
1920
|
-
} elsif (not ($$self{ALT_EXIFTOOL}{$g8} and
|
1920
|
+
} elsif (not ($$self{ALT_EXIFTOOL}{$g8} and $file !~ /\$/ and
|
1921
|
+
$$self{ALT_EXIFTOOL}{$g8}{ALT_FILE} eq $file))
|
1922
|
+
{
|
1921
1923
|
my $altExifTool = Image::ExifTool->new;
|
1922
1924
|
$$altExifTool{ALT_FILE} = $file;
|
1923
1925
|
$$self{ALT_EXIFTOOL}{$g8} = $altExifTool;
|
@@ -3201,7 +3203,7 @@ sub InsertTagValues($$;$$$$)
|
|
3201
3203
|
my ($docNum, $tag);
|
3202
3204
|
|
3203
3205
|
if ($docGrp) {
|
3204
|
-
$docNum = $docGrp =~ /(\d+)$/ ? $1 : 0;
|
3206
|
+
$docNum = $docGrp =~ /(\d+(-\d+)*)$/ ? $1 : 0;
|
3205
3207
|
} else {
|
3206
3208
|
undef $cache; # no cache if no document groups
|
3207
3209
|
}
|
@@ -3269,25 +3271,25 @@ sub InsertTagValues($$;$$$$)
|
|
3269
3271
|
# (similar to code in BuildCompositeTags(), but this is case-insensitive)
|
3270
3272
|
my $cacheTag = $$cache{$lcTag};
|
3271
3273
|
unless ($cacheTag) {
|
3272
|
-
$cacheTag = $$cache{$lcTag} =
|
3274
|
+
$cacheTag = $$cache{$lcTag} = { };
|
3273
3275
|
# find all matching keys, organize into groups, and store in cache
|
3274
3276
|
my $ex = $$self{TAG_EXTRA};
|
3275
3277
|
my @matches = grep /^$tag(\s|$)/i, @$foundTags;
|
3276
3278
|
@matches = $self->GroupMatches($group, \@matches) if defined $group;
|
3277
3279
|
foreach (@matches) {
|
3278
3280
|
my $doc = $$ex{$_}{G3} || 0;
|
3279
|
-
if (defined $$cacheTag
|
3280
|
-
next unless $$cacheTag
|
3281
|
+
if (defined $$cacheTag{$doc}) {
|
3282
|
+
next unless $$cacheTag{$doc} =~ / \((\d+)\)$/;
|
3281
3283
|
my $cur = $1;
|
3282
3284
|
# keep the most recently extracted tag
|
3283
3285
|
next if / \((\d+)\)$/ and $1 < $cur;
|
3284
3286
|
}
|
3285
|
-
$$cacheTag
|
3287
|
+
$$cacheTag{$doc} = $_;
|
3286
3288
|
}
|
3287
3289
|
}
|
3288
|
-
my $doc = $lcTag =~ /\b(main|doc(\d+)):/ ? ($2 || 0) : $docNum;
|
3289
|
-
if ($$cacheTag
|
3290
|
-
$tag = $$cacheTag
|
3290
|
+
my $doc = $lcTag =~ /\b(main|doc(\d+(-\d+)*)):/ ? ($2 || 0) : $docNum;
|
3291
|
+
if ($$cacheTag{$doc}) {
|
3292
|
+
$tag = $$cacheTag{$doc};
|
3291
3293
|
$val = $self->GetValue($tag, $type);
|
3292
3294
|
}
|
3293
3295
|
} else {
|
@@ -3403,7 +3405,7 @@ sub InsertTagValues($$;$$$$)
|
|
3403
3405
|
undef $advFmtSelf;
|
3404
3406
|
$didExpr = 1; # set flag indicating an expression was evaluated
|
3405
3407
|
}
|
3406
|
-
unless (defined $val) {
|
3408
|
+
unless (defined $val or (ref $opt and $$self{OPTIONS}{UndefTags})) {
|
3407
3409
|
$val = $$self{OPTIONS}{MissingTagValue};
|
3408
3410
|
unless (defined $val) {
|
3409
3411
|
my $g3 = ($docGrp and $var !~ /\b(main|doc\d+):/i) ? $docGrp . ':' : '';
|
@@ -5051,6 +5053,7 @@ TryLib: for ($lib=$strptimeLib; ; $lib='') {
|
|
5051
5053
|
last;
|
5052
5054
|
}
|
5053
5055
|
if (not $lib) {
|
5056
|
+
last unless $$self{OPTIONS}{StrictDate};
|
5054
5057
|
warn $wrn || "Install POSIX::strptime or Time::Piece for inverse date/time conversions\n";
|
5055
5058
|
return undef;
|
5056
5059
|
} elsif ($lib eq 'POSIX::strptime') {
|
@@ -6921,7 +6924,7 @@ sub CheckBinaryData($$$)
|
|
6921
6924
|
$format = $1;
|
6922
6925
|
$count = $2;
|
6923
6926
|
# can't evaluate $count now because we don't know $size yet
|
6924
|
-
|
6927
|
+
$count = -1 if $count =~ /\$size/; # (-1 = any count allowed)
|
6925
6928
|
}
|
6926
6929
|
return CheckValue($valPtr, $format, $count);
|
6927
6930
|
}
|
@@ -7247,6 +7250,8 @@ sub WriteBinaryData($$$)
|
|
7247
7250
|
$self->VerboseValue("- $dirName:$$tagInfo{Name}", $val);
|
7248
7251
|
$self->VerboseValue("+ $dirName:$$tagInfo{Name}", $newVal);
|
7249
7252
|
++$$self{CHANGED};
|
7253
|
+
} else {
|
7254
|
+
$self->Warn("Error packing $$tagInfo{Name} value");
|
7250
7255
|
}
|
7251
7256
|
}
|
7252
7257
|
# add necessary fixups for any offsets
|
@@ -3350,13 +3350,14 @@ sub PrintLensID(@)
|
|
3350
3350
|
#------------------------------------------------------------------------------
|
3351
3351
|
# Convert XMP date/time to EXIF format
|
3352
3352
|
# Inputs: 0) XMP date/time string, 1) set if we aren't sure this is a date
|
3353
|
-
# Returns: EXIF date/time
|
3353
|
+
# Returns: EXIF date/time, and flag in list context if this was a standard date/time value
|
3354
3354
|
sub ConvertXMPDate($;$)
|
3355
3355
|
{
|
3356
3356
|
my ($val, $unsure) = @_;
|
3357
3357
|
if ($val =~ /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}:\d{2})(:\d{2})?\s*(\S*)$/) {
|
3358
3358
|
my $s = $5 || ''; # seconds may be missing
|
3359
3359
|
$val = "$1:$2:$3 $4$s$6"; # convert back to EXIF time format
|
3360
|
+
return($val, 1) if wantarray;
|
3360
3361
|
} elsif (not $unsure and $val =~ /^(\d{4})(-\d{2}){0,2}/) {
|
3361
3362
|
$val =~ tr/-/:/;
|
3362
3363
|
}
|
@@ -3647,7 +3648,12 @@ NoLoop:
|
|
3647
3648
|
if (($new or $fmt eq 'rational') and ConvertRational($val)) {
|
3648
3649
|
$rational = $rawVal;
|
3649
3650
|
} else {
|
3650
|
-
|
3651
|
+
my $stdDate;
|
3652
|
+
($val, $stdDate) = ConvertXMPDate($val, $new) if $new or $fmt eq 'date';
|
3653
|
+
if ($stdDate and $added) {
|
3654
|
+
$$tagInfo{Groups}{2} = 'Time';
|
3655
|
+
$$tagInfo{PrintConv} = '$self->ConvertDateTime($val)';
|
3656
|
+
}
|
3651
3657
|
}
|
3652
3658
|
if ($$et{XmpValidate} and $fmt and $fmt eq 'boolean' and $val!~/^True|False$/) {
|
3653
3659
|
if ($val =~ /^true|false$/) {
|
@@ -1934,7 +1934,7 @@ my %sACDSeeRegionStruct = (
|
|
1934
1934
|
BurstPrimary => { },
|
1935
1935
|
PortraitNote => { },
|
1936
1936
|
PortraitRequest => {
|
1937
|
-
Notes => '
|
1937
|
+
Notes => 'HDRPlus (HDRP) data', #NealKrawetz
|
1938
1938
|
ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
|
1939
1939
|
ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
|
1940
1940
|
},
|
@@ -86,7 +86,7 @@ sub InflateStruct($$;$)
|
|
86
86
|
my %struct;
|
87
87
|
for (;;) {
|
88
88
|
last unless $sfmt ? $$obj =~ s/^\s*"(.*?)"\s*://s :
|
89
|
-
$$obj =~ s/^\s*([-\w
|
89
|
+
$$obj =~ s/^\s*([-\w:.]+#?)\s*=//s;
|
90
90
|
my $tag = $1;
|
91
91
|
my ($v, $w) = InflateStruct($et, $obj, '}');
|
92
92
|
$warn = $w if $w and not $warn;
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -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 $configFile @configFiles $noConfig);
|
31
31
|
|
32
|
-
$VERSION = '13.
|
32
|
+
$VERSION = '13.36';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -152,8 +152,8 @@ sub ReadValue($$$;$$$);
|
|
152
152
|
APE::OldHeader Audible MPC MPEG::Audio MPEG::Video MPEG::Xing M2TS QuickTime
|
153
153
|
QuickTime::ImageFile QuickTime::Stream QuickTime::Tags360Fly Matroska
|
154
154
|
Matroska::StdTag MOI MXF DV Flash Flash::FLV Real::Media Real::Audio
|
155
|
-
Real::Metafile Red RIFF AIFF ASF WTV DICOM FITS XISF MIE JSON HTML
|
156
|
-
Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion EXE::PEString
|
155
|
+
Real::Metafile Red RIFF AIFF ASF TNEF WTV DICOM FITS XISF MIE JSON HTML
|
156
|
+
XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion EXE::PEString
|
157
157
|
EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF EXE::ELF EXE::AR
|
158
158
|
EXE::CHM LNK PCAP Font VCard Text VCard::VCalendar VCard::VNote RSRC Rawzor
|
159
159
|
ZIP ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork ISO FLIR::AFF FLIR::FPF
|
@@ -200,7 +200,7 @@ $defaultLang = 'en'; # default language
|
|
200
200
|
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
201
201
|
JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard
|
202
202
|
LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP JSON MP3
|
203
|
-
DICOM PCD NKA ICO TXT AAC);
|
203
|
+
TNEF DICOM PCD NKA ICO TXT AAC);
|
204
204
|
|
205
205
|
# file types that we can write (edit)
|
206
206
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
@@ -536,6 +536,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
536
536
|
THMX => [['ZIP','FPX'], 'Office Open XML Theme'],
|
537
537
|
TIF => 'TIFF',
|
538
538
|
TIFF => ['TIFF', 'Tagged Image File Format'],
|
539
|
+
TNEF => ['TNEF', 'Transport Neural Encapsulation Format'], # (actual extension is .DAT)
|
539
540
|
TORRENT => ['Torrent', 'BitTorrent description file'],
|
540
541
|
TS => 'M2TS',
|
541
542
|
TTC => ['Font', 'True Type Font Collection'],
|
@@ -802,6 +803,7 @@ my %fileDescription = (
|
|
802
803
|
TAR => 'application/x-tar',
|
803
804
|
THMX => 'application/vnd.ms-officetheme',
|
804
805
|
TIFF => 'image/tiff',
|
806
|
+
TNEF => 'application/vnd.ms-tnef',
|
805
807
|
Torrent => 'application/x-bittorrent',
|
806
808
|
TTC => 'application/font-ttf',
|
807
809
|
TTF => 'application/font-ttf',
|
@@ -1012,6 +1014,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
1012
1014
|
RWZ => 'rawzor',
|
1013
1015
|
SWF => '[FC]WS[^\0]',
|
1014
1016
|
TAR => '.{257}ustar( )?\0', # (this doesn't catch old-style tar files)
|
1017
|
+
TNEF => '\x78\x9f\x3e\x22..\x01\x06\x90\x08\0',
|
1015
1018
|
TXT => '(\xff\xfe|(\0\0)?\xfe\xff|(\xef\xbb\xbf)?[\x07-\x0d\x20-\x7e\x80-\xfe]*$)',
|
1016
1019
|
TIFF => '(II|MM)', # don't test magic number (some raw formats are different)
|
1017
1020
|
VCard=> '(?i)BEGIN:(VCARD|VCALENDAR|VNOTE)\r\n',
|
@@ -1178,6 +1181,7 @@ my @availableOptions = (
|
|
1178
1181
|
[ 'SystemTags', undef, 'extract additional File System tags' ],
|
1179
1182
|
[ 'TextOut', \*STDOUT, 'file for Verbose/HtmlDump output' ],
|
1180
1183
|
[ 'TimeZone', undef, 'local time zone' ],
|
1184
|
+
[ 'UndefTags', undef, 'leave undef tags in -if conditions when -m or -f are used' ],
|
1181
1185
|
[ 'Unknown', 0, 'flag to get values of unknown tags (0-2)' ],
|
1182
1186
|
[ 'UserParam', { }, 'user parameters for additional user-defined tag values' ],
|
1183
1187
|
[ 'Validate', undef, 'perform additional validation' ],
|
@@ -2821,6 +2825,8 @@ sub ExtractInfo($;@)
|
|
2821
2825
|
$isDir = 1;
|
2822
2826
|
} else {
|
2823
2827
|
$self->Error('Error opening file');
|
2828
|
+
# continue to process alt files if necessary
|
2829
|
+
$self->DoneExtract() if $$self{ALT_EXIFTOOL};
|
2824
2830
|
}
|
2825
2831
|
} else {
|
2826
2832
|
$self->Error('No file specified');
|
@@ -4292,6 +4298,7 @@ sub Init($)
|
|
4292
4298
|
$$self{LOW_PRIORITY_DIR} = { PreviewIFD => 1 }; # names of priority 0 directories
|
4293
4299
|
$$self{TIFF_TYPE} = ''; # type of TIFF data (APP1, TIFF, NEF, etc...)
|
4294
4300
|
$$self{FMT_EXPR} = undef; # current advanced formatting expression
|
4301
|
+
$$self{HAS_DOC} = { }; # lookup for all document numbers in this file
|
4295
4302
|
$$self{Make} = ''; # camera make
|
4296
4303
|
$$self{Model} = ''; # camera model
|
4297
4304
|
$$self{CameraType} = ''; # Olympus camera type
|
@@ -6582,6 +6589,8 @@ sub ConvertDateTime($$)
|
|
6582
6589
|
}
|
6583
6590
|
$a[5] -= 1900; # strftime year starts from 1900
|
6584
6591
|
$date = POSIX::strftime($fmt, @a); # generate the formatted date/time
|
6592
|
+
# apparently strftime can set the UTF-8 flag (argh!), so reset this if necessary
|
6593
|
+
$self->Sanitize(\$date) if $fmt =~ /[\x80-\xff]/;
|
6585
6594
|
} elsif ($$self{OPTIONS}{StrictDate}) {
|
6586
6595
|
undef $date;
|
6587
6596
|
}
|
@@ -9480,6 +9489,7 @@ sub FoundTag($$$;@)
|
|
9480
9489
|
$$self{TAG_EXTRA}{$tag}{G1} = $grps[1] if $grps[1];
|
9481
9490
|
if ($$self{DOC_NUM}) {
|
9482
9491
|
$$self{TAG_EXTRA}{$tag}{G3} = $$self{DOC_NUM};
|
9492
|
+
$$self{HAS_DOC}{$$self{DOC_NUM}} = 1;
|
9483
9493
|
if ($$self{DOC_NUM} =~ /^(\d+)/) {
|
9484
9494
|
# keep track of maximum 1st-level sub-document number
|
9485
9495
|
$$self{DOC_COUNT} = $1 unless $$self{DOC_COUNT} >= $1;
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -65,50 +65,51 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
65
65
|
|
66
66
|
File Types
|
67
67
|
------------+-------------+-------------+-------------+------------
|
68
|
-
360 r/w |
|
69
|
-
3FR r |
|
70
|
-
3G2 r/w |
|
71
|
-
3GP r/w |
|
72
|
-
7Z r |
|
73
|
-
A r |
|
74
|
-
AA r |
|
75
|
-
AAC r |
|
76
|
-
AAE r |
|
77
|
-
AAX r/w |
|
78
|
-
ACR r |
|
79
|
-
AFM r |
|
80
|
-
AI r/w |
|
81
|
-
AIFF r |
|
82
|
-
APE r |
|
83
|
-
ARQ r/w |
|
84
|
-
ARW r/w |
|
85
|
-
ASF r |
|
86
|
-
AVI r |
|
87
|
-
AVIF r/w |
|
88
|
-
AZW r |
|
89
|
-
BMP r |
|
90
|
-
BPG r |
|
91
|
-
BTF r |
|
92
|
-
C2PA r |
|
93
|
-
CHM r |
|
94
|
-
COS r |
|
95
|
-
CR2 r/w |
|
96
|
-
CR3 r/w |
|
97
|
-
CRM r/w |
|
98
|
-
CRW r/w |
|
99
|
-
CS1 r/w |
|
100
|
-
CSV r |
|
101
|
-
CUR r |
|
102
|
-
CZI r |
|
103
|
-
DCM r |
|
104
|
-
DCP r/w |
|
105
|
-
DCR r |
|
106
|
-
DFONT r |
|
107
|
-
DIVX r |
|
108
|
-
DJVU r |
|
109
|
-
DLL r |
|
110
|
-
DNG r/w |
|
111
|
-
DOC r |
|
68
|
+
360 r/w | DPX r | JNG r/w | ODP r | RSRC r
|
69
|
+
3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
|
70
|
+
3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
|
71
|
+
3GP r/w | DV r | JSON r | OFR r | RWL r/w
|
72
|
+
7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
|
73
|
+
A r | DVR-MS r | K25 r | OGV r | RM r
|
74
|
+
AA r | DYLIB r | KDC r | ONP r | SEQ r
|
75
|
+
AAC r | EIP r | KEY r | OPUS r | SKETCH r
|
76
|
+
AAE r | EPS r/w | LA r | ORF r/w | SO r
|
77
|
+
AAX r/w | EPUB r | LFP r | ORI r/w | SR2 r/w
|
78
|
+
ACR r | ERF r/w | LIF r | OTF r | SRF r
|
79
|
+
AFM r | EXE r | LNK r | PAC r | SRW r/w
|
80
|
+
AI r/w | EXIF r/w/c | LRV r/w | PAGES r | SVG r
|
81
|
+
AIFF r | EXR r | M2TS r | PBM r/w | SWF r
|
82
|
+
APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
|
83
|
+
ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
|
84
|
+
ARW r/w | FFF r/w | MAX r | PCD r | TNEF r
|
85
|
+
ASF r | FITS r | MEF r/w | PCX r | TORRENT r
|
86
|
+
AVI r | FLA r | MIE r/w/c | PDB r | TTC r
|
87
|
+
AVIF r/w | FLAC r | MIFF r | PDF r/w | TTF r
|
88
|
+
AZW r | FLIF r/w | MKA r | PEF r/w | TXT r
|
89
|
+
BMP r | FLV r | MKS r | PFA r | VCF r
|
90
|
+
BPG r | FPF r | MKV r | PFB r | VNT r
|
91
|
+
BTF r | FPX r | MNG r/w | PFM r | VRD r/w/c
|
92
|
+
C2PA r | GIF r/w | MOBI r | PGF r | VSD r
|
93
|
+
CHM r | GLV r/w | MODD r | PGM r/w | WAV r
|
94
|
+
COS r | GPR r/w | MOI r | PLIST r | WDP r/w
|
95
|
+
CR2 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
|
96
|
+
CR3 r/w | HDP r/w | MOV r/w | PMP r | WEBM r
|
97
|
+
CRM r/w | HDR r | MP3 r | PNG r/w | WMA r
|
98
|
+
CRW r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
|
99
|
+
CS1 r/w | HEIF r/w | MPC r | PPT r | WPG r
|
100
|
+
CSV r | HTML r | MPG r | PPTX r | WTV r
|
101
|
+
CUR r | ICC r/w/c | MPO r/w | PS r/w | WV r
|
102
|
+
CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
|
103
|
+
DCM r | ICS r | MRC r | PSD r/w | XCF r
|
104
|
+
DCP r/w | IDML r | MRW r/w | PSP r | XISF r
|
105
|
+
DCR r | IIQ r/w | MXF r | QTIF r/w | XLS r
|
106
|
+
DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
|
107
|
+
DIVX r | INSP r/w | NKA r | RA r | XMP r/w/c
|
108
|
+
DJVU r | INSV r | NKSC r/w | RAF r/w | ZIP r
|
109
|
+
DLL r | INX r | NRW r/w | RAM r |
|
110
|
+
DNG r/w | ISO r | NUMBERS r | RAR r |
|
111
|
+
DOC r | ITC r | NXD r | RAW r/w |
|
112
|
+
DOCX r | J2C r | O r | RIFF r |
|
112
113
|
|
113
114
|
Meta Information
|
114
115
|
----------------------+----------------------+---------------------
|
@@ -1198,6 +1199,11 @@ For Unix-based systems, the value may also be a time zone ID like
|
|
1198
1199
|
"America/New_York". Requires Time::Piece on Windows, or POSIX::tzset on
|
1199
1200
|
other systems. Default is undef.
|
1200
1201
|
|
1202
|
+
=item UndefTags
|
1203
|
+
|
1204
|
+
Flag to maintain undefined tag values in the application B<-if> expression
|
1205
|
+
when the B<-f> or B<-m> option is also used. Default is undef.
|
1206
|
+
|
1201
1207
|
=item Unknown
|
1202
1208
|
|
1203
1209
|
Flag to get the values of unknown tags. If set to 1, unknown tags are
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Summary: perl module for image data extraction
|
2
2
|
Name: perl-Image-ExifTool
|
3
|
-
Version: 13.
|
3
|
+
Version: 13.36
|
4
4
|
Release: 1
|
5
5
|
License: Artistic/GPL
|
6
6
|
Group: Development/Libraries/Perl
|
@@ -22,50 +22,51 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
22
22
|
|
23
23
|
File Types
|
24
24
|
------------+-------------+-------------+-------------+------------
|
25
|
-
360 r/w |
|
26
|
-
3FR r |
|
27
|
-
3G2 r/w |
|
28
|
-
3GP r/w |
|
29
|
-
7Z r |
|
30
|
-
A r |
|
31
|
-
AA r |
|
32
|
-
AAC r |
|
33
|
-
AAE r |
|
34
|
-
AAX r/w |
|
35
|
-
ACR r |
|
36
|
-
AFM r |
|
37
|
-
AI r/w |
|
38
|
-
AIFF r |
|
39
|
-
APE r |
|
40
|
-
ARQ r/w |
|
41
|
-
ARW r/w |
|
42
|
-
ASF r |
|
43
|
-
AVI r |
|
44
|
-
AVIF r/w |
|
45
|
-
AZW r |
|
46
|
-
BMP r |
|
47
|
-
BPG r |
|
48
|
-
BTF r |
|
49
|
-
C2PA r |
|
50
|
-
CHM r |
|
51
|
-
COS r |
|
52
|
-
CR2 r/w |
|
53
|
-
CR3 r/w |
|
54
|
-
CRM r/w |
|
55
|
-
CRW r/w |
|
56
|
-
CS1 r/w |
|
57
|
-
CSV r |
|
58
|
-
CUR r |
|
59
|
-
CZI r |
|
60
|
-
DCM r |
|
61
|
-
DCP r/w |
|
62
|
-
DCR r |
|
63
|
-
DFONT r |
|
64
|
-
DIVX r |
|
65
|
-
DJVU r |
|
66
|
-
DLL r |
|
67
|
-
DNG r/w |
|
68
|
-
DOC r |
|
25
|
+
360 r/w | DPX r | JNG r/w | ODP r | RSRC r
|
26
|
+
3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
|
27
|
+
3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
|
28
|
+
3GP r/w | DV r | JSON r | OFR r | RWL r/w
|
29
|
+
7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
|
30
|
+
A r | DVR-MS r | K25 r | OGV r | RM r
|
31
|
+
AA r | DYLIB r | KDC r | ONP r | SEQ r
|
32
|
+
AAC r | EIP r | KEY r | OPUS r | SKETCH r
|
33
|
+
AAE r | EPS r/w | LA r | ORF r/w | SO r
|
34
|
+
AAX r/w | EPUB r | LFP r | ORI r/w | SR2 r/w
|
35
|
+
ACR r | ERF r/w | LIF r | OTF r | SRF r
|
36
|
+
AFM r | EXE r | LNK r | PAC r | SRW r/w
|
37
|
+
AI r/w | EXIF r/w/c | LRV r/w | PAGES r | SVG r
|
38
|
+
AIFF r | EXR r | M2TS r | PBM r/w | SWF r
|
39
|
+
APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
|
40
|
+
ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
|
41
|
+
ARW r/w | FFF r/w | MAX r | PCD r | TNEF r
|
42
|
+
ASF r | FITS r | MEF r/w | PCX r | TORRENT r
|
43
|
+
AVI r | FLA r | MIE r/w/c | PDB r | TTC r
|
44
|
+
AVIF r/w | FLAC r | MIFF r | PDF r/w | TTF r
|
45
|
+
AZW r | FLIF r/w | MKA r | PEF r/w | TXT r
|
46
|
+
BMP r | FLV r | MKS r | PFA r | VCF r
|
47
|
+
BPG r | FPF r | MKV r | PFB r | VNT r
|
48
|
+
BTF r | FPX r | MNG r/w | PFM r | VRD r/w/c
|
49
|
+
C2PA r | GIF r/w | MOBI r | PGF r | VSD r
|
50
|
+
CHM r | GLV r/w | MODD r | PGM r/w | WAV r
|
51
|
+
COS r | GPR r/w | MOI r | PLIST r | WDP r/w
|
52
|
+
CR2 r/w | GZ r | MOS r/w | PICT r | WEBP r/w
|
53
|
+
CR3 r/w | HDP r/w | MOV r/w | PMP r | WEBM r
|
54
|
+
CRM r/w | HDR r | MP3 r | PNG r/w | WMA r
|
55
|
+
CRW r/w | HEIC r/w | MP4 r/w | PPM r/w | WMV r
|
56
|
+
CS1 r/w | HEIF r/w | MPC r | PPT r | WPG r
|
57
|
+
CSV r | HTML r | MPG r | PPTX r | WTV r
|
58
|
+
CUR r | ICC r/w/c | MPO r/w | PS r/w | WV r
|
59
|
+
CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
|
60
|
+
DCM r | ICS r | MRC r | PSD r/w | XCF r
|
61
|
+
DCP r/w | IDML r | MRW r/w | PSP r | XISF r
|
62
|
+
DCR r | IIQ r/w | MXF r | QTIF r/w | XLS r
|
63
|
+
DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
|
64
|
+
DIVX r | INSP r/w | NKA r | RA r | XMP r/w/c
|
65
|
+
DJVU r | INSV r | NKSC r/w | RAF r/w | ZIP r
|
66
|
+
DLL r | INX r | NRW r/w | RAM r |
|
67
|
+
DNG r/w | ISO r | NUMBERS r | RAR r |
|
68
|
+
DOC r | ITC r | NXD r | RAW r/w |
|
69
|
+
DOCX r | J2C r | O r | RIFF r |
|
69
70
|
|
70
71
|
Meta Information
|
71
72
|
----------------------+----------------------+---------------------
|
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: 13.
|
4
|
+
version: 13.36.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: 2025-
|
12
|
+
date: 2025-09-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|
@@ -284,6 +284,7 @@ files:
|
|
284
284
|
- bin/lib/Image/ExifTool/Sony.pm
|
285
285
|
- bin/lib/Image/ExifTool/SonyIDC.pm
|
286
286
|
- bin/lib/Image/ExifTool/Stim.pm
|
287
|
+
- bin/lib/Image/ExifTool/TNEF.pm
|
287
288
|
- bin/lib/Image/ExifTool/TagInfoXML.pm
|
288
289
|
- bin/lib/Image/ExifTool/TagLookup.pm
|
289
290
|
- bin/lib/Image/ExifTool/TagNames.pod
|