exiftool_vendored 13.04.0 → 13.08.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 +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
|
}
|