exiftool_vendored 12.13.0 → 12.14.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 +19 -2
- data/bin/MANIFEST +1 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +26 -13
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool.pm +7 -3
- data/bin/lib/Image/ExifTool.pod +2 -2
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +5 -4
- data/bin/lib/Image/ExifTool/Canon.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/DJI.pm +1 -1
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +14 -1
- data/bin/lib/Image/ExifTool/FITS.pm +1 -1
- data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +1 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +1 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +1 -1
- data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +1 -1
- data/bin/lib/Image/ExifTool/JVC.pm +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +9 -4
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- 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 +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +1 -1
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
- 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 +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +10 -2
- 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 +1 -1
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +1 -1
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -2
- data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +24 -3
- data/bin/lib/Image/ExifTool/RIFF.pm +82 -5
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- data/bin/lib/Image/ExifTool/Red.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +1 -1
- data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- data/bin/lib/Image/ExifTool/Stim.pm +1 -1
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +2 -1
- data/bin/lib/Image/ExifTool/TagNames.pod +22 -5
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +1 -1
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
- data/bin/lib/Image/ExifTool/Writer.pl +11 -3
- data/bin/lib/Image/ExifTool/XMP.pm +17 -8
- data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
|
@@ -9796,7 +9796,7 @@ Nikon maker notes in EXIF information.
|
|
|
9796
9796
|
|
|
9797
9797
|
=head1 AUTHOR
|
|
9798
9798
|
|
|
9799
|
-
Copyright 2003-
|
|
9799
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
9800
9800
|
|
|
9801
9801
|
This library is free software; you can redistribute it and/or modify it
|
|
9802
9802
|
under the same terms as Perl itself.
|
|
@@ -918,7 +918,7 @@ the maker notes of NEF images.
|
|
|
918
918
|
|
|
919
919
|
=head1 AUTHOR
|
|
920
920
|
|
|
921
|
-
Copyright 2003-
|
|
921
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
922
922
|
|
|
923
923
|
This library is free software; you can redistribute it and/or modify it
|
|
924
924
|
under the same terms as Perl itself.
|
|
@@ -9534,7 +9534,7 @@ this information.
|
|
|
9534
9534
|
|
|
9535
9535
|
=head1 AUTHOR
|
|
9536
9536
|
|
|
9537
|
-
Copyright 2003-
|
|
9537
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
9538
9538
|
|
|
9539
9539
|
This library is free software; you can redistribute it and/or modify it
|
|
9540
9540
|
under the same terms as Perl itself.
|
|
@@ -107,7 +107,7 @@ interpret Nintendo maker notes EXIF meta information.
|
|
|
107
107
|
|
|
108
108
|
=head1 AUTHOR
|
|
109
109
|
|
|
110
|
-
Copyright 2003-
|
|
110
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
111
111
|
|
|
112
112
|
This library is free software; you can redistribute it and/or modify it
|
|
113
113
|
under the same terms as Perl itself.
|
|
@@ -395,7 +395,7 @@ archives of XML files.
|
|
|
395
395
|
|
|
396
396
|
=head1 AUTHOR
|
|
397
397
|
|
|
398
|
-
Copyright 2003-
|
|
398
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
399
399
|
|
|
400
400
|
This library is free software; you can redistribute it and/or modify it
|
|
401
401
|
under the same terms as Perl itself.
|
|
@@ -214,7 +214,7 @@ information from Ogg bitstream container files.
|
|
|
214
214
|
|
|
215
215
|
=head1 AUTHOR
|
|
216
216
|
|
|
217
|
-
Copyright 2003-
|
|
217
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
218
218
|
|
|
219
219
|
This library is free software; you can redistribute it and/or modify it
|
|
220
220
|
under the same terms as Perl itself.
|
|
@@ -4064,7 +4064,7 @@ Olympus or Epson maker notes in EXIF information.
|
|
|
4064
4064
|
|
|
4065
4065
|
=head1 AUTHOR
|
|
4066
4066
|
|
|
4067
|
-
Copyright 2003-
|
|
4067
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
4068
4068
|
|
|
4069
4069
|
This library is free software; you can redistribute it and/or modify it
|
|
4070
4070
|
under the same terms as Perl itself.
|
|
@@ -302,7 +302,7 @@ information from OpenEXR images.
|
|
|
302
302
|
|
|
303
303
|
=head1 AUTHOR
|
|
304
304
|
|
|
305
|
-
Copyright 2003-
|
|
305
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
306
306
|
|
|
307
307
|
This library is free software; you can redistribute it and/or modify it
|
|
308
308
|
under the same terms as Perl itself.
|
|
@@ -69,7 +69,7 @@ information from Ogg Opus audio files.
|
|
|
69
69
|
|
|
70
70
|
=head1 AUTHOR
|
|
71
71
|
|
|
72
|
-
Copyright 2003-
|
|
72
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
73
73
|
|
|
74
74
|
This library is free software; you can redistribute it and/or modify it
|
|
75
75
|
under the same terms as Perl itself.
|
|
@@ -114,7 +114,7 @@ information from PC Paintbrush (PCX) files.
|
|
|
114
114
|
|
|
115
115
|
=head1 AUTHOR
|
|
116
116
|
|
|
117
|
-
Copyright 2003-
|
|
117
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
118
118
|
|
|
119
119
|
This library is free software; you can redistribute it and/or modify it
|
|
120
120
|
under the same terms as Perl itself.
|
|
@@ -21,7 +21,7 @@ use vars qw($VERSION $AUTOLOAD $lastFetched);
|
|
|
21
21
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
22
22
|
require Exporter;
|
|
23
23
|
|
|
24
|
-
$VERSION = '1.
|
|
24
|
+
$VERSION = '1.51';
|
|
25
25
|
|
|
26
26
|
sub FetchObject($$$$);
|
|
27
27
|
sub ExtractObject($$;$$);
|
|
@@ -2164,6 +2164,7 @@ sub ReadPDF($$)
|
|
|
2164
2164
|
# set input record separator
|
|
2165
2165
|
local $/ = $ws =~ /(\x0d\x0a|\x0d|\x0a)/ ? $1 : "\x0a";
|
|
2166
2166
|
my (%xref, @mainDicts, %loaded, $mainFree);
|
|
2167
|
+
my ($xrefSize, $mainDictSize) = (0, 0);
|
|
2167
2168
|
# initialize variables to capture when rewriting
|
|
2168
2169
|
if ($capture) {
|
|
2169
2170
|
$capture->{startxref} = $xr;
|
|
@@ -2206,6 +2207,7 @@ XRef:
|
|
|
2206
2207
|
$raf->Read($buff, 20) == 20 or return -6;
|
|
2207
2208
|
$buff =~ /^\s*(\d{10}) (\d{5}) (f|n)/s or return -4;
|
|
2208
2209
|
my $num = $start + $i;
|
|
2210
|
+
$xrefSize = $num if $num > $xrefSize;
|
|
2209
2211
|
# locate object to generate entry from stream if necessary
|
|
2210
2212
|
# (must do this before we test $xref{$num})
|
|
2211
2213
|
LocateAnyObject(\%xref, $num) if $xref{dicts};
|
|
@@ -2242,6 +2244,8 @@ XRef:
|
|
|
2242
2244
|
$et->Warn('Error loading secondary dictionary');
|
|
2243
2245
|
next;
|
|
2244
2246
|
}
|
|
2247
|
+
# keep track of total trailer dictionary Size
|
|
2248
|
+
$mainDictSize = $$mainDict{Size} if $$mainDict{Size} and $$mainDict{Size} > $mainDictSize;
|
|
2245
2249
|
if ($loadXRefStream) {
|
|
2246
2250
|
# decode and save our XRef stream from PDF-1.5 file
|
|
2247
2251
|
# (but parse it later as required to save time)
|
|
@@ -2280,6 +2284,10 @@ XRef:
|
|
|
2280
2284
|
# load previous xref table if it exists
|
|
2281
2285
|
push @xrefOffsets, $$mainDict{Prev}, 'Prev' if $$mainDict{Prev};
|
|
2282
2286
|
}
|
|
2287
|
+
if ($xrefSize > $mainDictSize) {
|
|
2288
|
+
my $str = "Objects in xref table ($xrefSize) exceed trailer dictionary Size ($mainDictSize)";
|
|
2289
|
+
$capture ? $et->Error($str) : $et->Warn($str);
|
|
2290
|
+
}
|
|
2283
2291
|
#
|
|
2284
2292
|
# extract encryption information if necessary
|
|
2285
2293
|
#
|
|
@@ -2381,7 +2389,7 @@ including AESV2 (AES-128) and AESV3 (AES-256).
|
|
|
2381
2389
|
|
|
2382
2390
|
=head1 AUTHOR
|
|
2383
2391
|
|
|
2384
|
-
Copyright 2003-
|
|
2392
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2385
2393
|
|
|
2386
2394
|
This library is free software; you can redistribute it and/or modify it
|
|
2387
2395
|
under the same terms as Perl itself.
|
|
@@ -119,7 +119,7 @@ information from Progressive Graphics File (PGF) images.
|
|
|
119
119
|
|
|
120
120
|
=head1 AUTHOR
|
|
121
121
|
|
|
122
|
-
Copyright 2003-
|
|
122
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
123
123
|
|
|
124
124
|
This library is free software; you can redistribute it and/or modify it
|
|
125
125
|
under the same terms as Perl itself.
|
|
@@ -1236,7 +1236,7 @@ Verbose or the Unknown option.
|
|
|
1236
1236
|
|
|
1237
1237
|
=head1 AUTHOR
|
|
1238
1238
|
|
|
1239
|
-
Copyright 2003-
|
|
1239
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1240
1240
|
|
|
1241
1241
|
This library is free software; you can redistribute it and/or modify it
|
|
1242
1242
|
under the same terms as Perl itself.
|
|
@@ -438,7 +438,7 @@ This module decodes both the binary and XML-based PLIST format.
|
|
|
438
438
|
|
|
439
439
|
=head1 AUTHOR
|
|
440
440
|
|
|
441
|
-
Copyright 2003-
|
|
441
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
442
442
|
|
|
443
443
|
This library is free software; you can redistribute it and/or modify it
|
|
444
444
|
under the same terms as Perl itself.
|
|
@@ -2586,7 +2586,7 @@ Definitions for PLUS (Picture Licensing Universal System) tags.
|
|
|
2586
2586
|
|
|
2587
2587
|
=head1 AUTHOR
|
|
2588
2588
|
|
|
2589
|
-
Copyright 2003-
|
|
2589
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2590
2590
|
|
|
2591
2591
|
This library is free software; you can redistribute it and/or modify it
|
|
2592
2592
|
under the same terms as Perl itself.
|
|
@@ -1531,7 +1531,7 @@ and JNG (JPEG Network Graphics) images.
|
|
|
1531
1531
|
|
|
1532
1532
|
=head1 AUTHOR
|
|
1533
1533
|
|
|
1534
|
-
Copyright 2003-
|
|
1534
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1535
1535
|
|
|
1536
1536
|
This library is free software; you can redistribute it and/or modify it
|
|
1537
1537
|
under the same terms as Perl itself.
|
|
@@ -143,7 +143,7 @@ BitMap) images.
|
|
|
143
143
|
|
|
144
144
|
=head1 AUTHOR
|
|
145
145
|
|
|
146
|
-
Copyright 2003-
|
|
146
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
147
147
|
|
|
148
148
|
This library is free software; you can redistribute it and/or modify it
|
|
149
149
|
under the same terms as Perl itself.
|
|
@@ -284,7 +284,7 @@ information from Paint Shop Pro images.
|
|
|
284
284
|
|
|
285
285
|
=head1 AUTHOR
|
|
286
286
|
|
|
287
|
-
Copyright 2003-
|
|
287
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
288
288
|
|
|
289
289
|
This library is free software; you can redistribute it and/or modify it
|
|
290
290
|
under the same terms as Perl itself.
|
|
@@ -379,7 +379,7 @@ KF7 and KF8 books (AZW and AZW3).
|
|
|
379
379
|
|
|
380
380
|
=head1 AUTHOR
|
|
381
381
|
|
|
382
|
-
Copyright 2003-
|
|
382
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
383
383
|
|
|
384
384
|
This library is free software; you can redistribute it and/or modify it
|
|
385
385
|
under the same terms as Perl itself.
|
|
@@ -2812,7 +2812,7 @@ Panasonic and Leica maker notes in EXIF information.
|
|
|
2812
2812
|
|
|
2813
2813
|
=head1 AUTHOR
|
|
2814
2814
|
|
|
2815
|
-
Copyright 2003-
|
|
2815
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2816
2816
|
|
|
2817
2817
|
This library is free software; you can redistribute it and/or modify it
|
|
2818
2818
|
under the same terms as Perl itself.
|
|
@@ -888,7 +888,7 @@ write meta information in Panasonic/Leica RAW, RW2 and RWL images.
|
|
|
888
888
|
|
|
889
889
|
=head1 AUTHOR
|
|
890
890
|
|
|
891
|
-
Copyright 2003-
|
|
891
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
892
892
|
|
|
893
893
|
This library is free software; you can redistribute it and/or modify it
|
|
894
894
|
under the same terms as Perl itself.
|
|
@@ -731,7 +731,7 @@ timed metadata from the 'mett' frame found in Parrot drone MP4 videos.
|
|
|
731
731
|
|
|
732
732
|
=head1 AUTHOR
|
|
733
733
|
|
|
734
|
-
Copyright 2003-
|
|
734
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
735
735
|
|
|
736
736
|
This library is free software; you can redistribute it and/or modify it
|
|
737
737
|
under the same terms as Perl itself.
|
|
@@ -58,7 +58,7 @@ use Image::ExifTool::Exif;
|
|
|
58
58
|
use Image::ExifTool::GPS;
|
|
59
59
|
use Image::ExifTool::HP;
|
|
60
60
|
|
|
61
|
-
$VERSION = '3.
|
|
61
|
+
$VERSION = '3.36';
|
|
62
62
|
|
|
63
63
|
sub CryptShutterCount($$);
|
|
64
64
|
sub PrintFilter($$$);
|
|
@@ -322,6 +322,7 @@ sub DecodeAFPoints($$$$;$);
|
|
|
322
322
|
'8 21' => 'Sigma 17-50mm F2.8 EX DC OS HSM', #26
|
|
323
323
|
'8 22' => 'Sigma 85mm F1.4 EX DG HSM', #26
|
|
324
324
|
'8 23' => 'Sigma 70-200mm F2.8 APO EX DG OS HSM', #27
|
|
325
|
+
'8 24' => 'Sigma 17-70mm F2.8-4 DC Macro OS HSM', #27
|
|
325
326
|
'8 25' => 'Sigma 17-50mm F2.8 EX DC HSM', #Exiv2
|
|
326
327
|
'8 27' => 'Sigma 18-200mm F3.5-6.3 II DC HSM', #27
|
|
327
328
|
'8 28' => 'Sigma 18-250mm F3.5-6.3 DC Macro HSM', #27
|
|
@@ -6290,7 +6291,7 @@ tags, and everyone who helped contribute to the LensType values.
|
|
|
6290
6291
|
|
|
6291
6292
|
=head1 AUTHOR
|
|
6292
6293
|
|
|
6293
|
-
Copyright 2003-
|
|
6294
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
6294
6295
|
|
|
6295
6296
|
This library is free software; you can redistribute it and/or modify it
|
|
6296
6297
|
under the same terms as Perl itself.
|
|
@@ -711,7 +711,7 @@ One maker notes.
|
|
|
711
711
|
|
|
712
712
|
=head1 AUTHOR
|
|
713
713
|
|
|
714
|
-
Copyright 2003-
|
|
714
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
715
715
|
|
|
716
716
|
This library is free software; you can redistribute it and/or modify it
|
|
717
717
|
under the same terms as Perl itself.
|
|
@@ -484,7 +484,7 @@ information from Kodak Photo CD Image Pac (PCD) files.
|
|
|
484
484
|
|
|
485
485
|
=head1 AUTHOR
|
|
486
486
|
|
|
487
|
-
Copyright 2003-
|
|
487
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
488
488
|
|
|
489
489
|
This library is free software; you can redistribute it and/or modify it
|
|
490
490
|
under the same terms as Perl itself.
|
|
@@ -236,7 +236,7 @@ write information written by the Camera Bits Photo Mechanic software.
|
|
|
236
236
|
|
|
237
237
|
=head1 AUTHOR
|
|
238
238
|
|
|
239
|
-
Copyright 2003-
|
|
239
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
240
240
|
|
|
241
241
|
This library is free software; you can redistribute it and/or modify it
|
|
242
242
|
under the same terms as Perl itself.
|
|
@@ -1137,7 +1137,7 @@ be preserved when copying Photoshop information via user-defined tags.
|
|
|
1137
1137
|
|
|
1138
1138
|
=head1 AUTHOR
|
|
1139
1139
|
|
|
1140
|
-
Copyright 2003-
|
|
1140
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1141
1141
|
|
|
1142
1142
|
This library is free software; you can redistribute it and/or modify it
|
|
1143
1143
|
under the same terms as Perl itself.
|
|
@@ -777,7 +777,7 @@ This code reads meta information from EPS (Encapsulated PostScript), PS
|
|
|
777
777
|
|
|
778
778
|
=head1 AUTHOR
|
|
779
779
|
|
|
780
|
-
Copyright 2003-
|
|
780
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
781
781
|
|
|
782
782
|
This library is free software; you can redistribute it and/or modify it
|
|
783
783
|
under the same terms as Perl itself.
|
|
@@ -112,7 +112,7 @@ Print Image Matching meta information.
|
|
|
112
112
|
|
|
113
113
|
=head1 AUTHOR
|
|
114
114
|
|
|
115
|
-
Copyright 2003-
|
|
115
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
116
116
|
|
|
117
117
|
This library is free software; you can redistribute it and/or modify it
|
|
118
118
|
under the same terms as Perl itself.
|
|
@@ -1331,7 +1331,7 @@ information from the APP7 Qualcomm segment in JPEG images.
|
|
|
1331
1331
|
|
|
1332
1332
|
=head1 AUTHOR
|
|
1333
1333
|
|
|
1334
|
-
Copyright 2003-
|
|
1334
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1335
1335
|
|
|
1336
1336
|
This library is free software; you can redistribute it and/or modify it
|
|
1337
1337
|
under the same terms as Perl itself.
|
|
@@ -9500,7 +9500,7 @@ information from QuickTime and MP4 video, M4A audio, and HEIC image files.
|
|
|
9500
9500
|
|
|
9501
9501
|
=head1 AUTHOR
|
|
9502
9502
|
|
|
9503
|
-
Copyright 2003-
|
|
9503
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
9504
9504
|
|
|
9505
9505
|
This library is free software; you can redistribute it and/or modify it
|
|
9506
9506
|
under the same terms as Perl itself.
|
|
@@ -1771,6 +1771,25 @@ ATCRec: for ($recPos = 0x30; $recPos + 52 < $dirLen; $recPos += 52) {
|
|
|
1771
1771
|
$trk = GetFloat($dataPt, 0x58);
|
|
1772
1772
|
}
|
|
1773
1773
|
|
|
1774
|
+
} elsif ($$dataPt =~ /^.{60}A\0.{6}([NS])\0.{6}([EW])\0/s and $dirLen >= 112) {
|
|
1775
|
+
|
|
1776
|
+
# header looks like this in my sample (unknown dashcam, "Anticlock 2 2020_1125_1455_007.MOV"):
|
|
1777
|
+
# 0000: 00 00 80 00 66 72 65 65 47 50 53 20 68 00 00 00 [....freeGPS h...]
|
|
1778
|
+
# 0010: 32 30 31 33 30 33 32 35 41 00 00 00 00 00 00 00 [20130325A.......]
|
|
1779
|
+
# 0020: 41 70 72 20 20 36 20 32 30 31 36 2c 20 31 36 3a [Apr 6 2016, 16:]
|
|
1780
|
+
# 0030: 0e 00 00 00 38 00 00 00 22 00 00 00 41 00 00 00 [....8..."...A...]
|
|
1781
|
+
# 0040: 8a 63 24 45 53 00 00 00 9f e6 42 45 45 00 00 00 [.c$ES.....BEE...]
|
|
1782
|
+
# 0050: 59 c0 04 3f 52 b8 42 41 14 00 00 00 0b 00 00 00 [Y..?R.BA........]
|
|
1783
|
+
# 0060: 19 00 00 00 06 00 00 00 05 00 00 00 f6 ff ff ff [................]
|
|
1784
|
+
# 0070: 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 [................]
|
|
1785
|
+
($latRef, $lonRef) = ($1, $2);
|
|
1786
|
+
($hr,$min,$sec,$yr,$mon,$day,@acc) = unpack('x48V3x28V6',$$dataPt);
|
|
1787
|
+
map { $_ = $_ - 4294967296 if $_ >= 0x80000000; $_ /= 1000 } @acc; # (NC)
|
|
1788
|
+
$lat = GetFloat($dataPt, 0x40);
|
|
1789
|
+
$lon = GetFloat($dataPt, 0x48);
|
|
1790
|
+
$spd = GetFloat($dataPt, 0x50);
|
|
1791
|
+
$trk = GetFloat($dataPt, 0x54);
|
|
1792
|
+
|
|
1774
1793
|
} else {
|
|
1775
1794
|
|
|
1776
1795
|
# (look for binary GPS as stored by NextBase 512G, ref PH)
|
|
@@ -1836,8 +1855,10 @@ ATCRec: for ($recPos = 0x30; $recPos + 52 < $dirLen; $recPos += 52) {
|
|
|
1836
1855
|
$et->HandleTag($tagTbl, GPSDateTime => $time);
|
|
1837
1856
|
$et->HandleTag($tagTbl, GPSLatitude => $lat * ($latRef eq 'S' ? -1 : 1));
|
|
1838
1857
|
$et->HandleTag($tagTbl, GPSLongitude => $lon * ($lonRef eq 'W' ? -1 : 1));
|
|
1839
|
-
|
|
1840
|
-
|
|
1858
|
+
if (defined $spd) {
|
|
1859
|
+
$et->HandleTag($tagTbl, GPSSpeed => $spd); # (now in km/h)
|
|
1860
|
+
$et->HandleTag($tagTbl, GPSSpeedRef => 'K');
|
|
1861
|
+
}
|
|
1841
1862
|
if (defined $trk) {
|
|
1842
1863
|
$et->HandleTag($tagTbl, GPSTrack => $trk);
|
|
1843
1864
|
$et->HandleTag($tagTbl, GPSTrackRef => 'T');
|
|
@@ -2649,7 +2670,7 @@ information like GPS tracks from MOV, MP4 and INSV media data.
|
|
|
2649
2670
|
|
|
2650
2671
|
=head1 AUTHOR
|
|
2651
2672
|
|
|
2652
|
-
Copyright 2003-
|
|
2673
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
2653
2674
|
|
|
2654
2675
|
This library is free software; you can redistribute it and/or modify it
|
|
2655
2676
|
under the same terms as Perl itself.
|
|
@@ -482,6 +482,15 @@ my %code2charset = (
|
|
|
482
482
|
Name => 'CharacterSet',
|
|
483
483
|
SubDirectory => { TagTable => 'Image::ExifTool::RIFF::CSET' },
|
|
484
484
|
},
|
|
485
|
+
# tx_ tags are generated based on the Codec used for the txts stream
|
|
486
|
+
tx_USER => {
|
|
487
|
+
Name => 'UserText',
|
|
488
|
+
SubDirectory => { TagTable => 'Image::ExifTool::RIFF::UserText' },
|
|
489
|
+
},
|
|
490
|
+
tx_Unknown => { # (untested)
|
|
491
|
+
Name => 'Text',
|
|
492
|
+
Notes => 'streamed text, extracted when the ExtractEmbedded option is used',
|
|
493
|
+
},
|
|
485
494
|
#
|
|
486
495
|
# WebP-specific tags
|
|
487
496
|
#
|
|
@@ -995,6 +1004,12 @@ my %code2charset = (
|
|
|
995
1004
|
Condition => '$$self{RIFFStreamType} eq "vids"',
|
|
996
1005
|
SubDirectory => { TagTable => 'Image::ExifTool::BMP::Main' },
|
|
997
1006
|
},
|
|
1007
|
+
{
|
|
1008
|
+
Name => 'TextFormat',
|
|
1009
|
+
Condition => '$$self{RIFFStreamType} eq "txts"',
|
|
1010
|
+
Hidden => 1,
|
|
1011
|
+
RawConv => '$self->Options("ExtractEmbedded") or $self->WarnOnce("Use ExtractEmbedded option to extract timed text"); undef',
|
|
1012
|
+
},
|
|
998
1013
|
],
|
|
999
1014
|
);
|
|
1000
1015
|
|
|
@@ -1025,7 +1040,7 @@ my %code2charset = (
|
|
|
1025
1040
|
0 => {
|
|
1026
1041
|
Name => 'StreamType',
|
|
1027
1042
|
Format => 'string[4]',
|
|
1028
|
-
RawConv => '$$self{RIFFStreamType} = $val',
|
|
1043
|
+
RawConv => '$$self{RIFFStreamNum} = ($$self{RIFFStreamNum} || 0) + 1; $$self{RIFFStreamType} = $val',
|
|
1029
1044
|
PrintConv => {
|
|
1030
1045
|
auds => 'Audio',
|
|
1031
1046
|
mids => 'MIDI',
|
|
@@ -1038,16 +1053,19 @@ my %code2charset = (
|
|
|
1038
1053
|
{
|
|
1039
1054
|
Name => 'AudioCodec',
|
|
1040
1055
|
Condition => '$$self{RIFFStreamType} eq "auds"',
|
|
1056
|
+
RawConv => '$$self{RIFFStreamCodec}[$$self{RIFFStreamNum}-1] = $val',
|
|
1041
1057
|
Format => 'string[4]',
|
|
1042
1058
|
},
|
|
1043
1059
|
{
|
|
1044
1060
|
Name => 'VideoCodec',
|
|
1045
1061
|
Condition => '$$self{RIFFStreamType} eq "vids"',
|
|
1062
|
+
RawConv => '$$self{RIFFStreamCodec}[$$self{RIFFStreamNum}-1] = $val',
|
|
1046
1063
|
Format => 'string[4]',
|
|
1047
1064
|
},
|
|
1048
1065
|
{
|
|
1049
1066
|
Name => 'Codec',
|
|
1050
1067
|
Format => 'string[4]',
|
|
1068
|
+
RawConv => '$$self{RIFFStreamCodec}[$$self{RIFFStreamNum}-1] = $val',
|
|
1051
1069
|
},
|
|
1052
1070
|
],
|
|
1053
1071
|
# 2 => 'StreamFlags',
|
|
@@ -1243,6 +1261,54 @@ my %code2charset = (
|
|
|
1243
1261
|
},
|
|
1244
1262
|
);
|
|
1245
1263
|
|
|
1264
|
+
# streamed USER txts written by some dashcam (ref PH)
|
|
1265
|
+
%Image::ExifTool::RIFF::UserText = (
|
|
1266
|
+
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
|
1267
|
+
GROUPS => { 2 => 'Location' },
|
|
1268
|
+
NOTES => q{
|
|
1269
|
+
Tags decoded from the USER-format txts stream written by an unknown dashcam.
|
|
1270
|
+
Extracted only if the ExtractEmbedded option is used.
|
|
1271
|
+
},
|
|
1272
|
+
# 0 - int32u: 0
|
|
1273
|
+
# 4 - int32u: sample number (starting from unknown offset)
|
|
1274
|
+
# 8 - int8u[4]: "0 x y z" ? (z mostly 5-8)
|
|
1275
|
+
# 12 - int8u[4]: "0 x 1 0" ? (x incrementing once per second)
|
|
1276
|
+
# 16 - int8u[4]: "0 32 0 x" ?
|
|
1277
|
+
# 20 - int32u: 100-150(mostly), 250-300(once per second)
|
|
1278
|
+
# 24 - int8u[4]: "0 x y 0" ?
|
|
1279
|
+
28 => { Name => 'GPSAltitude', Format => 'int32u', ValueConv => '$val / 10' }, # (NC)
|
|
1280
|
+
# 32 - int32u: 0(mostly), 23(once per second)
|
|
1281
|
+
# 36 - int32u: 1
|
|
1282
|
+
40 => { Name => 'Accelerometer', Format => 'float[3]' },
|
|
1283
|
+
# 52 - int32u: 1
|
|
1284
|
+
56 => { Name => 'GPSSpeed', Format => 'float' }, # km/h
|
|
1285
|
+
60 => {
|
|
1286
|
+
Name => 'GPSLatitude',
|
|
1287
|
+
Format => 'float',
|
|
1288
|
+
# Note: these values are unsigned and I don't know where the hemisphere is stored,
|
|
1289
|
+
# but my only sample is from the U.S., so assume a positive latitude (for now)
|
|
1290
|
+
ValueConv => 'my $deg = int($val / 100); $deg + ($val - $deg * 100) / 60',
|
|
1291
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
|
|
1292
|
+
},
|
|
1293
|
+
64 => {
|
|
1294
|
+
Name => 'GPSLongitude',
|
|
1295
|
+
Format => 'float',
|
|
1296
|
+
# Note: these values are unsigned and I don't know where the hemisphere is stored,
|
|
1297
|
+
# but my only sample is from the U.S., so assume a negative longitude (for now)
|
|
1298
|
+
ValueConv => 'my $deg = int($val / 100); -($deg + ($val - $deg * 100) / 60)',
|
|
1299
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
|
|
1300
|
+
},
|
|
1301
|
+
68 => {
|
|
1302
|
+
Name => 'GPSDateTime',
|
|
1303
|
+
Description => 'GPS Date/Time',
|
|
1304
|
+
Groups => { 2 => 'Time' },
|
|
1305
|
+
Format => 'int32u',
|
|
1306
|
+
ValueConv => 'ConvertUnixTime($val)',
|
|
1307
|
+
# (likely local time, but clock seemed off by 3 hours in my sample)
|
|
1308
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
|
1309
|
+
},
|
|
1310
|
+
);
|
|
1311
|
+
|
|
1246
1312
|
# WebP alpha info (ref 14)
|
|
1247
1313
|
%Image::ExifTool::RIFF::ALPH = (
|
|
1248
1314
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
|
@@ -1752,6 +1818,7 @@ sub ProcessRIFF($$)
|
|
|
1752
1818
|
my ($buff, $buf2, $type, $mime, $err, $rf64);
|
|
1753
1819
|
my $verbose = $et->Options('Verbose');
|
|
1754
1820
|
my $unknown = $et->Options('Unknown');
|
|
1821
|
+
my $ee = $et->Options('ExtractEmbedded');
|
|
1755
1822
|
|
|
1756
1823
|
# verify this is a valid RIFF file
|
|
1757
1824
|
return 0 unless $raf->Read($buff, 12) == 12;
|
|
@@ -1769,7 +1836,8 @@ sub ProcessRIFF($$)
|
|
|
1769
1836
|
$mime = $riffMimeType{$type} if $type;
|
|
1770
1837
|
$et->SetFileType($type, $mime);
|
|
1771
1838
|
$$et{VALUE}{FileType} .= ' (RF64)' if $rf64;
|
|
1772
|
-
$$et{RIFFStreamType} = '';
|
|
1839
|
+
$$et{RIFFStreamType} = ''; # initialize stream type
|
|
1840
|
+
$$et{RIFFStreamCodec} = []; # initialize codec array
|
|
1773
1841
|
SetByteOrder('II');
|
|
1774
1842
|
my $tagTbl = GetTagTable('Image::ExifTool::RIFF::Main');
|
|
1775
1843
|
my $pos = 12;
|
|
@@ -1808,14 +1876,20 @@ sub ProcessRIFF($$)
|
|
|
1808
1876
|
# stop when we hit the audio data or AVI index or AVI movie data
|
|
1809
1877
|
# --> no more because Adobe Bridge stores XMP after this!!
|
|
1810
1878
|
# (so now we only do this on the FastScan option)
|
|
1811
|
-
if ((
|
|
1812
|
-
$
|
|
1879
|
+
if ($et->Options('FastScan') and ($tag eq 'data' or $tag eq 'idx1' or
|
|
1880
|
+
($tag eq 'LIST_movi' and not $ee)))
|
|
1813
1881
|
{
|
|
1814
1882
|
$et->VPrint(0, "(end of parsing)\n");
|
|
1815
1883
|
last;
|
|
1816
1884
|
}
|
|
1817
1885
|
# RIFF chunks are padded to an even number of bytes
|
|
1818
1886
|
my $len2 = $len + ($len & 0x01);
|
|
1887
|
+
# change name of stream txts data depending on the Codec
|
|
1888
|
+
if ($ee and $tag =~ /^(\d{2})tx$/) {
|
|
1889
|
+
$tag = 'tx_' . ($$et{RIFFStreamCodec}[$1] || 'Unknown');
|
|
1890
|
+
$tag = "tx_Unknown" unless defined $$tagTbl{$tag};
|
|
1891
|
+
$$et{DOC_NUM} = ++$$et{DOC_COUNT};
|
|
1892
|
+
}
|
|
1819
1893
|
my $tagInfo = $$tagTbl{$tag};
|
|
1820
1894
|
if ($tagInfo or (($verbose or $unknown) and $tag !~ /^(data|idx1|LIST_movi|RIFF)$/)) {
|
|
1821
1895
|
$raf->Read($buff, $len2) == $len2 or $err=1, last;
|
|
@@ -1835,11 +1909,14 @@ sub ProcessRIFF($$)
|
|
|
1835
1909
|
delete $$et{SET_GROUP0};
|
|
1836
1910
|
delete $$et{SET_GROUP1};
|
|
1837
1911
|
}
|
|
1912
|
+
delete $$et{DOC_NUM} if $ee;
|
|
1838
1913
|
} elsif ($tag eq 'RIFF') {
|
|
1839
1914
|
# don't read into RIFF chunk (eg. concatenated video file)
|
|
1840
1915
|
$raf->Read($buff, 4) == 4 or $err=1, last;
|
|
1841
1916
|
# extract information from remaining file as an embedded file
|
|
1842
1917
|
$$et{DOC_NUM} = ++$$et{DOC_COUNT}
|
|
1918
|
+
} elsif ($tag eq 'LIST_movi' and $ee) {
|
|
1919
|
+
next; # parse into movi chunk
|
|
1843
1920
|
} else {
|
|
1844
1921
|
if ($len > 0x7fffffff and not $et->Options('LargeFileSupport')) {
|
|
1845
1922
|
$et->Warn("Stopped parsing at large $tag chunk (LargeFileSupport not set)");
|
|
@@ -1874,7 +1951,7 @@ including AVI videos, WAV audio files and WEBP images.
|
|
|
1874
1951
|
|
|
1875
1952
|
=head1 AUTHOR
|
|
1876
1953
|
|
|
1877
|
-
Copyright 2003-
|
|
1954
|
+
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
|
|
1878
1955
|
|
|
1879
1956
|
This library is free software; you can redistribute it and/or modify it
|
|
1880
1957
|
under the same terms as Perl itself.
|