exiftool_vendored 10.65.0 → 11.41.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +818 -19
- data/bin/MANIFEST +38 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +48 -44
- data/bin/arg_files/exif2xmp.args +4 -1
- data/bin/arg_files/gps2xmp.args +4 -1
- data/bin/arg_files/iptcCore.args +8 -0
- data/bin/arg_files/xmp2exif.args +4 -1
- data/bin/arg_files/xmp2gps.args +4 -1
- data/bin/config_files/dji.config +131 -0
- data/bin/config_files/example.config +6 -2
- data/bin/config_files/gps2utm.config +256 -256
- data/bin/config_files/nksc.config +146 -0
- data/bin/config_files/picasa_faces.config +382 -382
- data/bin/exiftool +688 -408
- data/bin/fmt_files/gpx.fmt +10 -6
- data/bin/fmt_files/gpx_wpt.fmt +10 -6
- data/bin/fmt_files/kml.fmt +8 -5
- data/bin/lib/File/RandomAccess.pm +48 -8
- data/bin/lib/File/RandomAccess.pod +21 -2
- data/bin/lib/Image/ExifTool.pm +645 -256
- data/bin/lib/Image/ExifTool.pod +219 -164
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +3 -8
- data/bin/lib/Image/ExifTool/AIFF.pm +12 -4
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/APP12.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +19 -6
- data/bin/lib/Image/ExifTool/Apple.pm +13 -5
- data/bin/lib/Image/ExifTool/Audible.pm +1 -1
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BPG.pm +17 -15
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +30 -15
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +103 -52
- data/bin/lib/Image/ExifTool/Canon.pm +684 -112
- data/bin/lib/Image/ExifTool/CanonCustom.pm +119 -9
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +13 -26
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +1 -1
- data/bin/lib/Image/ExifTool/Charset.pm +1 -1
- data/bin/lib/Image/ExifTool/DICOM.pm +12 -5
- data/bin/lib/Image/ExifTool/DJI.pm +51 -3
- data/bin/lib/Image/ExifTool/DNG.pm +15 -8
- data/bin/lib/Image/ExifTool/DPX.pm +1 -1
- data/bin/lib/Image/ExifTool/DV.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +63 -23
- data/bin/lib/Image/ExifTool/DjVu.pm +4 -2
- data/bin/lib/Image/ExifTool/EXE.pm +30 -6
- data/bin/lib/Image/ExifTool/Exif.pm +351 -109
- data/bin/lib/Image/ExifTool/FITS.pm +148 -0
- data/bin/lib/Image/ExifTool/FLAC.pm +2 -2
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +109 -13
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +3 -3
- data/bin/lib/Image/ExifTool/FlashPix.pm +433 -9
- data/bin/lib/Image/ExifTool/Font.pm +2 -2
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +336 -16
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +5 -7
- data/bin/lib/Image/ExifTool/GIMP.pm +39 -3
- data/bin/lib/Image/ExifTool/GPS.pm +48 -22
- data/bin/lib/Image/ExifTool/GeoTiff.pm +23 -23
- data/bin/lib/Image/ExifTool/Geotag.pm +80 -45
- data/bin/lib/Image/ExifTool/GoPro.pm +709 -0
- data/bin/lib/Image/ExifTool/H264.pm +40 -18
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +19 -12
- data/bin/lib/Image/ExifTool/HtmlDump.pm +37 -26
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +297 -23
- data/bin/lib/Image/ExifTool/ID3.pm +12 -7
- data/bin/lib/Image/ExifTool/IPTC.pm +48 -19
- data/bin/lib/Image/ExifTool/ISO.pm +1 -1
- data/bin/lib/Image/ExifTool/ITC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +13 -9
- data/bin/lib/Image/ExifTool/InDesign.pm +3 -5
- data/bin/lib/Image/ExifTool/JPEG.pm +22 -11
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +3 -3
- data/bin/lib/Image/ExifTool/JVC.pm +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +2 -2
- data/bin/lib/Image/ExifTool/Kodak.pm +1233 -58
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +33 -24
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +64 -2
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +64 -2
- data/bin/lib/Image/ExifTool/Lang/es.pm +8 -4
- data/bin/lib/Image/ExifTool/Lang/fi.pm +46 -4
- data/bin/lib/Image/ExifTool/Lang/fr.pm +5 -3
- data/bin/lib/Image/ExifTool/Lang/it.pm +6 -3
- data/bin/lib/Image/ExifTool/Lang/ja.pm +15 -3
- data/bin/lib/Image/ExifTool/Lang/ko.pm +5 -2
- data/bin/lib/Image/ExifTool/Lang/nl.pm +6 -3
- data/bin/lib/Image/ExifTool/Lang/pl.pm +2 -2
- data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/tr.pm +4 -2
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- data/bin/lib/Image/ExifTool/Lytro.pm +4 -8
- data/bin/lib/Image/ExifTool/M2TS.pm +10 -9
- data/bin/lib/Image/ExifTool/MIE.pm +12 -8
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/MNG.pm +1 -1
- data/bin/lib/Image/ExifTool/MOI.pm +1 -1
- data/bin/lib/Image/ExifTool/MPC.pm +1 -1
- data/bin/lib/Image/ExifTool/MPEG.pm +2 -3
- data/bin/lib/Image/ExifTool/MPF.pm +6 -6
- data/bin/lib/Image/ExifTool/MWG.pm +4 -4
- data/bin/lib/Image/ExifTool/MXF.pm +2 -2
- data/bin/lib/Image/ExifTool/MacOS.pm +184 -34
- data/bin/lib/Image/ExifTool/MakerNotes.pm +101 -18
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +5 -3
- data/bin/lib/Image/ExifTool/Minolta.pm +89 -62
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +1511 -380
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +2758 -2935
- data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +47 -8
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/Opus.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +138 -0
- data/bin/lib/Image/ExifTool/PDF.pm +58 -42
- data/bin/lib/Image/ExifTool/PGF.pm +1 -1
- data/bin/lib/Image/ExifTool/PICT.pm +1 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +12 -5
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +108 -10
- data/bin/lib/Image/ExifTool/PPM.pm +3 -3
- data/bin/lib/Image/ExifTool/PSP.pm +1 -1
- data/bin/lib/Image/ExifTool/Palm.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +299 -31
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +201 -19
- data/bin/lib/Image/ExifTool/Pentax.pm +164 -143
- data/bin/lib/Image/ExifTool/PhaseOne.pm +12 -5
- data/bin/lib/Image/ExifTool/PhotoCD.pm +9 -10
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +230 -60
- data/bin/lib/Image/ExifTool/PostScript.pm +29 -4
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +2 -2
- data/bin/lib/Image/ExifTool/QuickTime.pm +1539 -279
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +1857 -0
- data/bin/lib/Image/ExifTool/README +84 -46
- data/bin/lib/Image/ExifTool/RIFF.pm +116 -23
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +6 -4
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +3 -2
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +261 -7
- data/bin/lib/Image/ExifTool/Red.pm +325 -0
- data/bin/lib/Image/ExifTool/Ricoh.pm +3 -7
- data/bin/lib/Image/ExifTool/Samsung.pm +95 -25
- data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- data/bin/lib/Image/ExifTool/Shift.pl +26 -12
- data/bin/lib/Image/ExifTool/Shortcuts.pm +9 -2
- data/bin/lib/Image/ExifTool/Sigma.pm +36 -30
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +3 -8
- data/bin/lib/Image/ExifTool/Sony.pm +531 -177
- data/bin/lib/Image/ExifTool/SonyIDC.pm +63 -3
- data/bin/lib/Image/ExifTool/Stim.pm +2 -2
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +23 -23
- data/bin/lib/Image/ExifTool/TagLookup.pm +6352 -5062
- data/bin/lib/Image/ExifTool/TagNames.pod +3024 -565
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +2 -2
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +47 -9
- data/bin/lib/Image/ExifTool/Validate.pm +391 -99
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +319 -0
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +91 -18
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +6 -6
- data/bin/lib/Image/ExifTool/WritePDF.pl +13 -12
- data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePostScript.pl +2 -2
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +764 -121
- data/bin/lib/Image/ExifTool/WriteXMP.pl +176 -67
- data/bin/lib/Image/ExifTool/Writer.pl +490 -246
- data/bin/lib/Image/ExifTool/XMP.pm +216 -76
- data/bin/lib/Image/ExifTool/XMP2.pl +54 -10
- data/bin/lib/Image/ExifTool/XMPStruct.pl +14 -11
- data/bin/lib/Image/ExifTool/ZIP.pm +60 -15
- data/bin/lib/Image/ExifTool/iWork.pm +12 -5
- data/bin/perl-Image-ExifTool.spec +46 -44
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +14 -4
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
|
|
477
477
|
|
478
478
|
=head1 AUTHOR
|
479
479
|
|
480
|
-
Copyright 2003-
|
480
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
481
481
|
|
482
482
|
This library is free software; you can redistribute it and/or modify it
|
483
483
|
under the same terms as Perl itself.
|
@@ -14,7 +14,7 @@ use strict;
|
|
14
14
|
use vars qw($VERSION);
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
16
16
|
|
17
|
-
$VERSION = '1.
|
17
|
+
$VERSION = '1.08';
|
18
18
|
|
19
19
|
sub ProcessAFCP($$);
|
20
20
|
|
@@ -149,12 +149,7 @@ NoAFCP: for (;;) {
|
|
149
149
|
if ($verbose > 2 and not $outfile) {
|
150
150
|
my $dat = $buff . $dir;
|
151
151
|
print $out " AFCP Directory:\n";
|
152
|
-
|
153
|
-
Addr => $$dirInfo{DataPos},
|
154
|
-
Width => 12,
|
155
|
-
Prefix => $$et{INDENT},
|
156
|
-
Out => $out,
|
157
|
-
);
|
152
|
+
$et->VerboseDump(\$dat, Addr => $$dirInfo{DataPos}, Width => 12);
|
158
153
|
}
|
159
154
|
$fix and $et->Warn("Adjusted AFCP offsets by $fix", 1);
|
160
155
|
#
|
@@ -264,7 +259,7 @@ scanning for AFCP information.
|
|
264
259
|
|
265
260
|
=head1 AUTHOR
|
266
261
|
|
267
|
-
Copyright 2003-
|
262
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
268
263
|
|
269
264
|
This library is free software; you can redistribute it and/or modify it
|
270
265
|
under the same terms as Perl itself.
|
@@ -18,7 +18,7 @@ use vars qw($VERSION);
|
|
18
18
|
use Image::ExifTool qw(:DataAccess :Utils);
|
19
19
|
use Image::ExifTool::ID3;
|
20
20
|
|
21
|
-
$VERSION = '1.
|
21
|
+
$VERSION = '1.09';
|
22
22
|
|
23
23
|
# information for time/date-based tags (time zero is Jan 1, 1904)
|
24
24
|
my %timeInfo = (
|
@@ -99,6 +99,14 @@ my %timeInfo = (
|
|
99
99
|
MAC3 => 'MAC 3-to-1',
|
100
100
|
MAC6 => 'MAC 6-to-1',
|
101
101
|
sowt => 'Little-endian, no compression',
|
102
|
+
alaw => 'a-law',
|
103
|
+
ALAW => 'A-law',
|
104
|
+
ulaw => 'mu-law',
|
105
|
+
ULAW => 'Mu-law',
|
106
|
+
'GSM '=> 'GSM',
|
107
|
+
G722 => 'G722',
|
108
|
+
G726 => 'G726',
|
109
|
+
G728 => 'G728',
|
102
110
|
},
|
103
111
|
},
|
104
112
|
11 => { #PH
|
@@ -214,7 +222,7 @@ sub ProcessAIFF($$)
|
|
214
222
|
$pos += 8;
|
215
223
|
my ($tag, $len) = unpack('a4N', $buff);
|
216
224
|
my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
|
217
|
-
$et->VPrint(0, "AIFF '$tag' chunk ($len bytes of data):\n");
|
225
|
+
$et->VPrint(0, "AIFF '${tag}' chunk ($len bytes of data):\n");
|
218
226
|
# AIFF chunks are padded to an even number of bytes
|
219
227
|
my $len2 = $len + ($len & 0x01);
|
220
228
|
if ($tagInfo) {
|
@@ -235,7 +243,7 @@ sub ProcessAIFF($$)
|
|
235
243
|
);
|
236
244
|
} elsif ($verbose > 2 and $len2 < 1024000) {
|
237
245
|
$raf->Read($buff, $len2) == $len2 or $err = 1, last;
|
238
|
-
|
246
|
+
$et->VerboseDump(\$buff);
|
239
247
|
} else {
|
240
248
|
$raf->Seek($len2, 1) or $err=1, last;
|
241
249
|
}
|
@@ -264,7 +272,7 @@ information from AIFF (Audio Interchange File Format) audio files.
|
|
264
272
|
|
265
273
|
=head1 AUTHOR
|
266
274
|
|
267
|
-
Copyright 2003-
|
275
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
268
276
|
|
269
277
|
This library is free software; you can redistribute it and/or modify it
|
270
278
|
under the same terms as Perl itself.
|
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
|
|
263
263
|
|
264
264
|
=head1 AUTHOR
|
265
265
|
|
266
|
-
Copyright 2003-
|
266
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
267
267
|
|
268
268
|
This library is free software; you can redistribute it and/or modify it
|
269
269
|
under the same terms as Perl itself.
|
@@ -305,7 +305,7 @@ APP12 meta information.
|
|
305
305
|
|
306
306
|
=head1 AUTHOR
|
307
307
|
|
308
|
-
Copyright 2003-
|
308
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
309
309
|
|
310
310
|
This library is free software; you can redistribute it and/or modify it
|
311
311
|
under the same terms as Perl itself.
|
@@ -17,7 +17,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
17
17
|
use Image::ExifTool::Exif;
|
18
18
|
use Image::ExifTool::RIFF;
|
19
19
|
|
20
|
-
$VERSION = '1.
|
20
|
+
$VERSION = '1.25';
|
21
21
|
|
22
22
|
sub ProcessASF($$;$);
|
23
23
|
sub ProcessContentDescription($$$);
|
@@ -154,6 +154,9 @@ my %advancedContentEncryption = (
|
|
154
154
|
3 => 'CopyrightURL',
|
155
155
|
);
|
156
156
|
|
157
|
+
# Note: Many of these tags are similar to those in Image::ExifTool::Microsoft::Xtra
|
158
|
+
# and Image::ExifTool::WTV::Metadata
|
159
|
+
# (tags in this table may have a leading "WM/" removed)
|
157
160
|
%Image::ExifTool::ASF::ExtendedDescr = (
|
158
161
|
PROCESS_PROC => \&ProcessExtendedContentDescription,
|
159
162
|
GROUPS => { 2 => 'Video' },
|
@@ -238,7 +241,7 @@ my %advancedContentEncryption = (
|
|
238
241
|
DVDID => {},
|
239
242
|
EncodedBy => {},
|
240
243
|
EncodingSettings => {},
|
241
|
-
EncodingTime => { Groups => { 2 => 'Time' } },
|
244
|
+
EncodingTime => { Groups => { 2 => 'Time' }, PrintConv => '$self->ConvertDateTime($val)' },
|
242
245
|
Genre => {},
|
243
246
|
GenreID => {},
|
244
247
|
InitialKey => {},
|
@@ -260,7 +263,11 @@ my %advancedContentEncryption = (
|
|
260
263
|
MediaIsSubtitled => {},
|
261
264
|
MediaIsTape => {},
|
262
265
|
MediaNetworkAffiliation => {},
|
263
|
-
MediaOriginalBroadcastDateTime => {
|
266
|
+
MediaOriginalBroadcastDateTime => {
|
267
|
+
Groups => { 2 => 'Time' },
|
268
|
+
ValueConv => '$val=~tr/-T/: /; $val',
|
269
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
270
|
+
},
|
264
271
|
MediaOriginalChannel => {},
|
265
272
|
MediaStationCallSign => {},
|
266
273
|
MediaStationName => {},
|
@@ -270,7 +277,11 @@ my %advancedContentEncryption = (
|
|
270
277
|
OriginalArtist => {},
|
271
278
|
OriginalFilename => 'OriginalFileName',
|
272
279
|
OriginalLyricist => {},
|
273
|
-
OriginalReleaseTime => {
|
280
|
+
OriginalReleaseTime => {
|
281
|
+
Groups => { 2 => 'Time' },
|
282
|
+
ValueConv => '$val=~tr/-T/: /; $val',
|
283
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
284
|
+
},
|
274
285
|
OriginalReleaseYear => { Groups => { 2 => 'Time' } },
|
275
286
|
ParentalRating => {},
|
276
287
|
ParentalRatingReason => {},
|
@@ -380,8 +391,10 @@ my %advancedContentEncryption = (
|
|
380
391
|
},
|
381
392
|
32 => { Name => 'DataPackets', Format => 'int64u' },
|
382
393
|
40 => {
|
383
|
-
Name => '
|
394
|
+
Name => 'Duration',
|
384
395
|
Format => 'int64u',
|
396
|
+
Notes => 'called PlayDuration by the ASF spec',
|
397
|
+
Priority => 0,
|
385
398
|
ValueConv => '$val / 1e7',
|
386
399
|
PrintConv => 'ConvertDuration($val)',
|
387
400
|
},
|
@@ -863,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
|
|
863
876
|
|
864
877
|
=head1 AUTHOR
|
865
878
|
|
866
|
-
Copyright 2003-
|
879
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
867
880
|
|
868
881
|
This library is free software; you can redistribute it and/or modify it
|
869
882
|
under the same terms as Perl itself.
|
@@ -15,7 +15,7 @@ use vars qw($VERSION);
|
|
15
15
|
use Image::ExifTool::Exif;
|
16
16
|
use Image::ExifTool::PLIST;
|
17
17
|
|
18
|
-
$VERSION = '1.
|
18
|
+
$VERSION = '1.04';
|
19
19
|
|
20
20
|
# Apple iPhone metadata (ref PH)
|
21
21
|
%Image::ExifTool::Apple::Main = (
|
@@ -24,7 +24,7 @@ $VERSION = '1.03';
|
|
24
24
|
WRITABLE => 1,
|
25
25
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
26
26
|
NOTES => 'Tags extracted from the maker notes of iPhone images.',
|
27
|
-
# 0x0001 - int32s: seen 0,1,2,3,4
|
27
|
+
# 0x0001 - int32s: seen 0,1,2,3,4,9
|
28
28
|
# 0x0002 - binary plist with a single data object of size 512 bytes (iPhone5s)
|
29
29
|
0x0003 => {
|
30
30
|
Name => 'RunTime', # (includes time plugged in, but not when suspended, ref 1)
|
@@ -67,16 +67,24 @@ $VERSION = '1.03';
|
|
67
67
|
Notes => 'unique ID for all images in a burst',
|
68
68
|
},
|
69
69
|
# 0x000c - rational64s[2]: eg) "0.1640625 0.19921875"
|
70
|
-
# 0x000d - int32s: 0,1,6,20,40
|
70
|
+
# 0x000d - int32s: 0,1,6,20,24,32,40
|
71
71
|
# 0x000e - int32s: 0,1,4,12 (Orienation? 0=landscape? 4=portrait? ref 1)
|
72
72
|
# 0x000f - int32s: 2,3
|
73
73
|
# 0x0010 - int32s: 1
|
74
|
-
|
74
|
+
0x0011 => {
|
75
|
+
Name => 'ContentIdentifier', #forum8750
|
76
|
+
Writable => 'string',
|
77
|
+
},
|
75
78
|
# 0x0014 - int32s: 1,2,3,4,5 (iPhone 6s, iOS 6.1)
|
76
79
|
0x0015 => {
|
77
80
|
Name => 'ImageUniqueID',
|
78
81
|
Writable => 'string',
|
79
82
|
},
|
83
|
+
# 0x0016 - string[29]: "AXZ6pMTOh2L+acSh4Kg630XCScoO\0"
|
84
|
+
# 0x0017 - int32s: 0,8192
|
85
|
+
# 0x0019 - int32s: 0,2,128
|
86
|
+
# 0x001a - string[6]: "q825s\0"
|
87
|
+
# 0x001f - int32s: 0
|
80
88
|
);
|
81
89
|
|
82
90
|
# PLIST-format CMTime structure (ref PH)
|
@@ -140,7 +148,7 @@ Apple maker notes in EXIF information.
|
|
140
148
|
|
141
149
|
=head1 AUTHOR
|
142
150
|
|
143
|
-
Copyright 2003-
|
151
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
144
152
|
|
145
153
|
This library is free software; you can redistribute it and/or modify it
|
146
154
|
under the same terms as Perl itself.
|
@@ -291,7 +291,7 @@ information from Audible audio books.
|
|
291
291
|
|
292
292
|
=head1 AUTHOR
|
293
293
|
|
294
|
-
Copyright 2003-
|
294
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
295
295
|
|
296
296
|
This library is free software; you can redistribute it and/or modify it
|
297
297
|
under the same terms as Perl itself.
|
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
|
|
335
335
|
|
336
336
|
=head1 AUTHOR
|
337
337
|
|
338
|
-
Copyright 2003-
|
338
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
339
339
|
|
340
340
|
This library is free software; you can redistribute it and/or modify it
|
341
341
|
under the same terms as Perl itself.
|
@@ -14,7 +14,7 @@ use strict;
|
|
14
14
|
use vars qw($VERSION);
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
16
16
|
|
17
|
-
$VERSION = '1.
|
17
|
+
$VERSION = '1.01';
|
18
18
|
|
19
19
|
# BPG information
|
20
20
|
%Image::ExifTool::BPG::Main = (
|
@@ -29,18 +29,20 @@ $VERSION = '1.00';
|
|
29
29
|
Format => 'int16u',
|
30
30
|
Mask => 0xe000,
|
31
31
|
PrintConv => {
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
32
|
+
0 => 'Grayscale',
|
33
|
+
1 => '4:2:0 (chroma at 0.5, 0.5)',
|
34
|
+
2 => '4:2:2 (chroma at 0.5, 0)',
|
35
|
+
3 => '4:4:4',
|
36
|
+
4 => '4:2:0 (chroma at 0, 0.5)',
|
37
|
+
5 => '4:2:2 (chroma at 0, 0)',
|
38
38
|
},
|
39
39
|
},
|
40
40
|
4.1 => {
|
41
41
|
Name => 'Alpha',
|
42
42
|
Format => 'int16u',
|
43
43
|
Mask => 0x1004,
|
44
|
+
BitShift => 0,
|
45
|
+
PrintHex => 1,
|
44
46
|
PrintConv => {
|
45
47
|
0x0000 => 'No Alpha Plane',
|
46
48
|
0x1000 => 'Alpha Exists (color not premultiplied)',
|
@@ -52,19 +54,19 @@ $VERSION = '1.00';
|
|
52
54
|
Name => 'BitDepth',
|
53
55
|
Format => 'int16u',
|
54
56
|
Mask => 0x0f00,
|
55
|
-
ValueConv => '
|
57
|
+
ValueConv => '$val + 8',
|
56
58
|
},
|
57
59
|
4.3 => {
|
58
60
|
Name => 'ColorSpace',
|
59
61
|
Format => 'int16u',
|
60
62
|
Mask => 0x00f0,
|
61
63
|
PrintConv => {
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
64
|
+
0 => 'YCbCr (BT 601)',
|
65
|
+
1 => 'RGB',
|
66
|
+
2 => 'YCgCo',
|
67
|
+
3 => 'YCbCr (BT 709)',
|
68
|
+
4 => 'YCbCr (BT 2020)',
|
69
|
+
5 => 'BT 2020 Constant Luminance',
|
68
70
|
},
|
69
71
|
},
|
70
72
|
4.4 => {
|
@@ -229,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
|
|
229
231
|
|
230
232
|
=head1 AUTHOR
|
231
233
|
|
232
|
-
Copyright 2003-
|
234
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
233
235
|
|
234
236
|
This library is free software; you can redistribute it and/or modify it
|
235
237
|
under the same terms as Perl itself.
|
@@ -445,7 +445,7 @@ compression ability).
|
|
445
445
|
|
446
446
|
=head1 AUTHOR
|
447
447
|
|
448
|
-
Copyright 2003-
|
448
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
449
449
|
Copyright 2002, Leon Bottou and Yann Le Cun
|
450
450
|
Copyright 2001, AT&T
|
451
451
|
Copyright 1999-2001, LizardTech Inc.
|
@@ -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.07';
|
19
19
|
|
20
20
|
my $maxOffset = 0x7fffffff; # currently supported maximum data offset/size
|
21
21
|
|
@@ -31,8 +31,12 @@ sub ProcessBigIFD($$$)
|
|
31
31
|
my $htmlDump = $$et{HTML_DUMP};
|
32
32
|
my $dirName = $$dirInfo{DirName};
|
33
33
|
my $dirStart = $$dirInfo{DirStart};
|
34
|
+
my ($offName, $nextOffName);
|
34
35
|
|
35
|
-
|
36
|
+
if ($htmlDump) {
|
37
|
+
$verbose = -1; # mix htmlDump into verbose so we can test for both at once
|
38
|
+
$offName = $$dirInfo{OffsetName};
|
39
|
+
}
|
36
40
|
|
37
41
|
# loop through IFD chain
|
38
42
|
for (;;) {
|
@@ -64,10 +68,13 @@ sub ProcessBigIFD($$$)
|
|
64
68
|
my $nextIFD;
|
65
69
|
$raf->Read($nextIFD, 8) == 8 or undef $nextIFD; # try to read next IFD pointer
|
66
70
|
if ($htmlDump) {
|
67
|
-
$et->HDump($bufPos-8, 8, "$dirName entries", "Entry count: $numEntries");
|
71
|
+
$et->HDump($bufPos-8, 8, "$dirName entries", "Entry count: $numEntries", undef, $offName);
|
68
72
|
if (defined $nextIFD) {
|
69
|
-
my $
|
70
|
-
|
73
|
+
my $off = Image::ExifTool::Get64u(\$nextIFD, 0);
|
74
|
+
my $tip = sprintf("Offset: 0x%.8x", $off);
|
75
|
+
my $id = $offName;
|
76
|
+
($nextOffName, $id) = Image::ExifTool::Exif::NextOffsetName($et, $id) if $off;
|
77
|
+
$et->HDump($bufPos + 20 * $numEntries, 8, "Next IFD", $tip, 0, $id);
|
71
78
|
}
|
72
79
|
}
|
73
80
|
# loop through all entries in this BigTIFF IFD
|
@@ -79,7 +86,7 @@ sub ProcessBigIFD($$$)
|
|
79
86
|
my $formatSize = $Image::ExifTool::Exif::formatSize[$format];
|
80
87
|
unless (defined $formatSize) {
|
81
88
|
$et->HDump($bufPos+$entry,20,"[invalid IFD entry]",
|
82
|
-
"Bad format value: $format", 1);
|
89
|
+
"Bad format value: $format", 1, $offName);
|
83
90
|
# warn unless the IFD was just padded with zeros
|
84
91
|
$et->Warn(sprintf("Unknown format ($format) for $dirName tag 0x%x",$tagID));
|
85
92
|
return 0; # assume corrupted IFD
|
@@ -89,7 +96,7 @@ sub ProcessBigIFD($$$)
|
|
89
96
|
my $tagInfo = $et->GetTagInfo($tagTablePtr, $tagID);
|
90
97
|
next unless defined $tagInfo or $verbose;
|
91
98
|
my $valuePtr = $entry + 12;
|
92
|
-
my ($valBuff, $valBase, $rational);
|
99
|
+
my ($valBuff, $valBase, $rational, $subOffName);
|
93
100
|
if ($size > 8) {
|
94
101
|
if ($size > $maxOffset) {
|
95
102
|
$et->Warn("Can't handle $dirName entry $index (huge size)");
|
@@ -148,11 +155,17 @@ sub ProcessBigIFD($$$)
|
|
148
155
|
}
|
149
156
|
}
|
150
157
|
$tip .= "Value: $tval";
|
151
|
-
|
158
|
+
my ($id, $sid);
|
159
|
+
if ($tagInfo and $$tagInfo{SubIFD}) {
|
160
|
+
($subOffName, $id, $sid) = Image::ExifTool::Exif::NextOffsetName($et, $offName);
|
161
|
+
} else {
|
162
|
+
$id = $offName;
|
163
|
+
}
|
164
|
+
$et->HDump($entry+$bufPos, 20, "$dname $colName", $tip, 1, $id);
|
152
165
|
if ($size > 8) {
|
153
166
|
# add value data block
|
154
167
|
my $flg = ($tagInfo and $$tagInfo{SubDirectory} and $$tagInfo{MakerNotes}) ? 4 : 0;
|
155
|
-
$et->HDump($valuePtr,$size,"$tagName value",'SAME', $flg);
|
168
|
+
$et->HDump($valuePtr,$size,"$tagName value",'SAME', $flg, $sid);
|
156
169
|
}
|
157
170
|
}
|
158
171
|
if ($tagInfo and $$tagInfo{SubIFD}) {
|
@@ -174,11 +187,12 @@ sub ProcessBigIFD($$$)
|
|
174
187
|
my $subdirName = $$tagInfo{Name};
|
175
188
|
$subdirName .= $i if $i;
|
176
189
|
my %subdirInfo = (
|
177
|
-
RAF
|
178
|
-
DataPos
|
179
|
-
DirStart
|
180
|
-
DirName
|
181
|
-
Parent
|
190
|
+
RAF => $raf,
|
191
|
+
DataPos => 0,
|
192
|
+
DirStart => $offsets[$i],
|
193
|
+
DirName => $subdirName,
|
194
|
+
Parent => $dirName,
|
195
|
+
OffsetName => $subOffName,
|
182
196
|
);
|
183
197
|
$et->ProcessDirectory(\%subdirInfo, $tagTablePtr, \&ProcessBigIFD);
|
184
198
|
}
|
@@ -201,6 +215,7 @@ sub ProcessBigIFD($$$)
|
|
201
215
|
defined $nextIFD or $et->Warn("Bad $dirName pointer"), return 0;
|
202
216
|
$dirStart = Image::ExifTool::Get64u(\$nextIFD, 0);
|
203
217
|
$dirStart or last;
|
218
|
+
$offName = $nextOffName;
|
204
219
|
}
|
205
220
|
return 1;
|
206
221
|
}
|
@@ -260,7 +275,7 @@ information in BigTIFF images.
|
|
260
275
|
|
261
276
|
=head1 AUTHOR
|
262
277
|
|
263
|
-
Copyright 2003-
|
278
|
+
Copyright 2003-2019, Phil Harvey (phil at owl.phy.queensu.ca)
|
264
279
|
|
265
280
|
This library is free software; you can redistribute it and/or modify it
|
266
281
|
under the same terms as Perl itself.
|