exiftool_vendored 13.04.0 → 13.08.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +48 -0
- data/bin/MANIFEST +1 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +30 -23
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -3
- data/bin/lib/Image/ExifTool/Canon.pm +19 -1
- data/bin/lib/Image/ExifTool/DJI.pm +91 -29
- data/bin/lib/Image/ExifTool/Exif.pm +2 -2
- data/bin/lib/Image/ExifTool/FITS.pm +2 -2
- data/bin/lib/Image/ExifTool/FLIF.pm +2 -2
- data/bin/lib/Image/ExifTool/FlashPix.pm +11 -11
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/Geolocation.pm +2 -1
- data/bin/lib/Image/ExifTool/GoPro.pm +3 -3
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +3 -3
- data/bin/lib/Image/ExifTool/IPTC.pm +2 -2
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +19 -4
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +6 -6
- data/bin/lib/Image/ExifTool/M2TS.pm +39 -9
- data/bin/lib/Image/ExifTool/MXF.pm +2 -2
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +15 -15
- data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +4 -4
- data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
- data/bin/lib/Image/ExifTool/PhaseOne.pm +3 -3
- data/bin/lib/Image/ExifTool/Photoshop.pm +63 -3
- data/bin/lib/Image/ExifTool/Protobuf.pm +242 -0
- data/bin/lib/Image/ExifTool/QuickTime.pm +23 -14
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +395 -109
- data/bin/lib/Image/ExifTool/README +4 -1
- data/bin/lib/Image/ExifTool/RIFF.pm +3 -3
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
- data/bin/lib/Image/ExifTool/Sony.pm +4 -3
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +4 -3
- data/bin/lib/Image/ExifTool/TagLookup.pm +6988 -6967
- data/bin/lib/Image/ExifTool/TagNames.pod +85 -5
- data/bin/lib/Image/ExifTool/VCard.pm +2 -2
- data/bin/lib/Image/ExifTool/Validate.pm +3 -3
- data/bin/lib/Image/ExifTool/WriteExif.pl +2 -2
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -4
- data/bin/lib/Image/ExifTool/WriteXMP.pl +2 -2
- data/bin/lib/Image/ExifTool/Writer.pl +17 -17
- data/bin/lib/Image/ExifTool/XMP.pm +20 -10
- data/bin/lib/Image/ExifTool/XMP2.pl +38 -0
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +109 -82
- data/bin/lib/Image/ExifTool.pod +8 -7
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
@@ -209,7 +209,7 @@ key:
|
|
209
209
|
name documentation. When this is set, numerical TagID's are
|
210
210
|
not converted to hexadecimal notation. Unless otherwise set,
|
211
211
|
an ID_LABEL of "Index" is assumed for tables which use
|
212
|
-
ProcessBinaryData.
|
212
|
+
ProcessBinaryData or set the IS_BINARY flag.
|
213
213
|
|
214
214
|
NO_ID Avoid printing "Tag ID" column in tag name documentation.
|
215
215
|
|
@@ -257,6 +257,9 @@ key:
|
|
257
257
|
ALLOW_REPROCESS Flag to allow reprocessing of another directory at this
|
258
258
|
same location in the file, bypassing recursion avoidance test.
|
259
259
|
|
260
|
+
IS_BINARY Set if this is a binary table and should show an Index in the
|
261
|
+
first column instead of a Tag ID.
|
262
|
+
|
260
263
|
DATAMEMBER : BinaryData tables only. A reference to a list of sorted tag ID's
|
261
264
|
which must be extracted as data members when writing. Must also list "var_"
|
262
265
|
format tags and tags with Hook so offsets are properly calculated if the table
|
@@ -1126,7 +1126,7 @@ my %code2charset = (
|
|
1126
1126
|
Name => 'TextFormat',
|
1127
1127
|
Condition => '$$self{RIFFStreamType} eq "txts"',
|
1128
1128
|
Hidden => 1,
|
1129
|
-
RawConv => '$self->Options("ExtractEmbedded") or $self->
|
1129
|
+
RawConv => '$self->Options("ExtractEmbedded") or $self->Warn("Use ExtractEmbedded option to extract timed text",3); undef',
|
1130
1130
|
},
|
1131
1131
|
],
|
1132
1132
|
);
|
@@ -2053,7 +2053,7 @@ sub ProcessRIFF($$)
|
|
2053
2053
|
last;
|
2054
2054
|
}
|
2055
2055
|
if ($et->Options('LargeFileSupport') eq '2') {
|
2056
|
-
$et->
|
2056
|
+
$et->Warn('Processing large chunk (LargeFileSupport is 2)');
|
2057
2057
|
}
|
2058
2058
|
}
|
2059
2059
|
if ($validate) {
|
@@ -2176,7 +2176,7 @@ sub ProcessRIFF($$)
|
|
2176
2176
|
last;
|
2177
2177
|
}
|
2178
2178
|
if ($et->Options('LargeFileSupport') eq '2') {
|
2179
|
-
$et->
|
2179
|
+
$et->Warn('Processing large chunk (LargeFileSupport is 2)');
|
2180
2180
|
}
|
2181
2181
|
}
|
2182
2182
|
if ($validate and $len2) {
|
@@ -182,7 +182,7 @@ sub UnescapeRTF($$$)
|
|
182
182
|
$skip = $2;
|
183
183
|
} elsif ($1 eq 'u') { # \uN
|
184
184
|
if ($2 < 0) {
|
185
|
-
$et->
|
185
|
+
$et->Warn('Invalid Unicode character(s) in text');
|
186
186
|
$rtnVal .= '?';
|
187
187
|
} else {
|
188
188
|
require Image::ExifTool::Charset;
|
@@ -1008,7 +1008,7 @@ sub ProcessRicohRDT($$$)
|
|
1008
1008
|
return 0 if $dirLen < 16;
|
1009
1009
|
my $ee = $et->Options('ExtractEmbedded');
|
1010
1010
|
unless ($ee) {
|
1011
|
-
$et->
|
1011
|
+
$et->Warn('Use ExtractEmbedded option to read Ricoh real-time metadata',3);
|
1012
1012
|
return 1;
|
1013
1013
|
}
|
1014
1014
|
my $endian = substr($$dataPt, 8, 2);
|
@@ -1017,11 +1017,11 @@ sub ProcessRicohRDT($$$)
|
|
1017
1017
|
my $len = Get16u($dataPt, 6);
|
1018
1018
|
if ($dirName eq 'RicohRDTG') {
|
1019
1019
|
if ($ee < 2) {
|
1020
|
-
$et->
|
1020
|
+
$et->Warn('Set ExtractEmbedded option to 2 or higher to extract frame timestamps',3);
|
1021
1021
|
return 1;
|
1022
1022
|
}
|
1023
1023
|
$rdtg = 0;
|
1024
|
-
$et->
|
1024
|
+
$et->Warn('Unexpected RDTG record length') if $len > 8;
|
1025
1025
|
}
|
1026
1026
|
if ($count * $len + 16 > $dirLen) {
|
1027
1027
|
$et->Warn("Truncated $dirName data");
|
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
34
34
|
use Image::ExifTool::Exif;
|
35
35
|
use Image::ExifTool::Minolta;
|
36
36
|
|
37
|
-
$VERSION = '3.
|
37
|
+
$VERSION = '3.71';
|
38
38
|
|
39
39
|
sub ProcessSRF($$$);
|
40
40
|
sub ProcessSR2($$$);
|
@@ -2166,6 +2166,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
2166
2166
|
397 => 'ILCE-7CM2', #JR
|
2167
2167
|
398 => 'ILX-LR1', #JR
|
2168
2168
|
399 => 'ZV-E10M2', #JR
|
2169
|
+
400 => 'ILCE-1M2', #PH
|
2169
2170
|
},
|
2170
2171
|
},
|
2171
2172
|
0xb020 => { #2
|
@@ -11376,7 +11377,7 @@ sub ProcessEnciphered($$$)
|
|
11376
11377
|
Decipher(\$data);
|
11377
11378
|
if ($$et{DoubleCipher}) {
|
11378
11379
|
Decipher(\$data);
|
11379
|
-
$et->
|
11380
|
+
$et->Warn('Some Sony metadata is double-enciphered. Write any tag to fix',1);
|
11380
11381
|
}
|
11381
11382
|
if ($et->Options('Verbose') > 2) {
|
11382
11383
|
my $tagInfo = $$dirInfo{TagInfo} || { Name => 'data' };
|
@@ -11408,7 +11409,7 @@ sub WriteEnciphered($$$)
|
|
11408
11409
|
if ($$et{DoubleCipher}) {
|
11409
11410
|
Decipher(\$data);
|
11410
11411
|
++$$et{CHANGED};
|
11411
|
-
$et->
|
11412
|
+
$et->Warn('Fixed double-enciphered Sony metadata',1);
|
11412
11413
|
}
|
11413
11414
|
my %dirInfo = (
|
11414
11415
|
%$dirInfo,
|
@@ -15,7 +15,7 @@ use vars qw($VERSION @ISA $makeMissing);
|
|
15
15
|
use Image::ExifTool qw(:Utils :Vars);
|
16
16
|
use Image::ExifTool::XMP;
|
17
17
|
|
18
|
-
$VERSION = '1.
|
18
|
+
$VERSION = '1.37';
|
19
19
|
@ISA = qw(Exporter);
|
20
20
|
|
21
21
|
# set this to a language code to generate Lang module with 'MISSING' entries
|
@@ -158,6 +158,7 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
|
|
158
158
|
my $writable = $format ? 'true' : 'false';
|
159
159
|
# check our conversions to make sure we can really write this tag
|
160
160
|
if ($writable eq 'true') {
|
161
|
+
$writable = 'false' if defined $$tagInfo{Writable} and not $$tagInfo{Writable};
|
161
162
|
foreach ('PrintConv','ValueConv') {
|
162
163
|
next unless $$tagInfo{$_};
|
163
164
|
next if $$tagInfo{$_ . 'Inv'};
|
@@ -167,7 +168,7 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
|
|
167
168
|
last;
|
168
169
|
}
|
169
170
|
}
|
170
|
-
$format = $$tagInfo{Format} || $$table{FORMAT} if not
|
171
|
+
$format = $$tagInfo{Format} || $$table{FORMAT} if not $format or $format eq '1';
|
171
172
|
$format = 'struct' if $$tagInfo{Struct};
|
172
173
|
if (defined $format) {
|
173
174
|
$format =~ s/\[.*\$.*\]//; # remove expressions from format
|
@@ -258,7 +259,7 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
|
|
258
259
|
# add bitmask values to main lookup
|
259
260
|
if ($$conv{BITMASK}) {
|
260
261
|
foreach $key (keys %{$$conv{BITMASK}}) {
|
261
|
-
my $mask =
|
262
|
+
my $mask = "Bit$key";
|
262
263
|
next if not $mask or $$conv{$mask};
|
263
264
|
$$conv{$mask} = $$conv{BITMASK}{$key};
|
264
265
|
}
|