exiftool-vendored.exe 12.72.0 → 12.76.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.
- package/bin/exiftool_files/Changes +64 -1
- package/bin/exiftool_files/README +47 -46
- package/bin/exiftool_files/exiftool.pl +121 -90
- package/bin/exiftool_files/lib/File/RandomAccess.pm +32 -6
- package/bin/exiftool_files/lib/File/RandomAccess.pod +6 -6
- package/bin/exiftool_files/lib/Image/ExifTool/7Z.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/AAC.pm +8 -6
- package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BZZ.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +9 -9
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +7 -6
- package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Casio.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DICOM.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +5 -5
- package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +4 -3
- package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Fixup.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +61 -8
- package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +9 -4
- package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +7 -5
- package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +6 -6
- package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +67 -17
- package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/de.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/es.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +4 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sk.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Leaf.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +5 -5
- package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MISB.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +11 -8
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +55 -5
- package/bin/exiftool_files/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +24 -2
- package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +27 -2
- package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +32 -11
- package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +6 -6
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/PostScript.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +55 -101
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +97 -7
- package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +5 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Shift.pl +2 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +5 -5
- package/bin/exiftool_files/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +3879 -3862
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +11439 -11374
- package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +27 -24
- package/bin/exiftool_files/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +9 -5
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +74 -45
- package/bin/exiftool_files/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +20 -3
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +10 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +7 -7
- package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool.pm +59 -28
- package/bin/exiftool_files/lib/Image/ExifTool.pod +81 -68
- package/package.json +6 -6
|
@@ -17,7 +17,7 @@ use Image::ExifTool::Exif;
|
|
|
17
17
|
use Image::ExifTool::MakerNotes;
|
|
18
18
|
use Image::ExifTool::CanonRaw;
|
|
19
19
|
|
|
20
|
-
$VERSION = '1.
|
|
20
|
+
$VERSION = '1.25';
|
|
21
21
|
|
|
22
22
|
sub ProcessOriginalRaw($$$);
|
|
23
23
|
sub ProcessAdobeData($$$);
|
|
@@ -516,7 +516,7 @@ sub ProcessAdobeMRW($$$)
|
|
|
516
516
|
my $buff = "\0MRM" . pack('N', $dirLen - 4);
|
|
517
517
|
# ignore leading byte order and directory count words
|
|
518
518
|
$buff .= substr($$dataPt, $dirStart + 4, $dirLen - 4);
|
|
519
|
-
my $raf =
|
|
519
|
+
my $raf = File::RandomAccess->new(\$buff);
|
|
520
520
|
my %dirInfo = ( RAF => $raf, OutFile => $outfile );
|
|
521
521
|
my $rtnVal = Image::ExifTool::MinoltaRaw::ProcessMRW($et, \%dirInfo);
|
|
522
522
|
if ($outfile and defined $$outfile and length $$outfile) {
|
|
@@ -548,7 +548,7 @@ sub ProcessAdobeRAF($$$)
|
|
|
548
548
|
}
|
|
549
549
|
$et->VerboseDir($dirInfo);
|
|
550
550
|
# make fake RAF object for processing (same acronym, different meaning)
|
|
551
|
-
my $raf =
|
|
551
|
+
my $raf = File::RandomAccess->new($dataPt);
|
|
552
552
|
my $num = '';
|
|
553
553
|
# loop through all records in Adobe RAF data:
|
|
554
554
|
# 0 - RAF table (not processed)
|
|
@@ -752,7 +752,7 @@ sub ProcessAdobeMakN($$$)
|
|
|
752
752
|
}
|
|
753
753
|
if ($outfile) {
|
|
754
754
|
# rewrite the maker notes directory
|
|
755
|
-
my $fixup = $subdirInfo{Fixup} =
|
|
755
|
+
my $fixup = $subdirInfo{Fixup} = Image::ExifTool::Fixup->new;
|
|
756
756
|
my $oldChanged = $$et{CHANGED};
|
|
757
757
|
my $buff = $et->WriteDirectory(\%subdirInfo, $subTable);
|
|
758
758
|
# nothing to do if error writing directory or nothing changed
|
|
@@ -849,7 +849,7 @@ information in DNG (Digital Negative) images.
|
|
|
849
849
|
|
|
850
850
|
=head1 AUTHOR
|
|
851
851
|
|
|
852
|
-
Copyright 2003-
|
|
852
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
853
853
|
|
|
854
854
|
This library is free software; you can redistribute it and/or modify it
|
|
855
855
|
under the same terms as Perl itself.
|
|
@@ -225,7 +225,7 @@ metadata from DPX (Digital Picture Exchange) images.
|
|
|
225
225
|
|
|
226
226
|
=head1 AUTHOR
|
|
227
227
|
|
|
228
|
-
Copyright 2003-
|
|
228
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
229
229
|
|
|
230
230
|
This library is free software; you can redistribute it and/or modify it
|
|
231
231
|
under the same terms as Perl itself.
|
|
@@ -291,7 +291,7 @@ information from DV (raw Digital Video) files.
|
|
|
291
291
|
|
|
292
292
|
=head1 AUTHOR
|
|
293
293
|
|
|
294
|
-
Copyright 2003-
|
|
294
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
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.
|
|
@@ -372,7 +372,7 @@ This file contains tag definitions for the Darwin Core XMP namespace.
|
|
|
372
372
|
|
|
373
373
|
=head1 AUTHOR
|
|
374
374
|
|
|
375
|
-
Copyright 2003-
|
|
375
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
376
376
|
|
|
377
377
|
This library is free software; you can redistribute it and/or modify it
|
|
378
378
|
under the same terms as Perl itself.
|
|
@@ -353,7 +353,7 @@ Image::ExifTool::AIFF.
|
|
|
353
353
|
|
|
354
354
|
=head1 AUTHOR
|
|
355
355
|
|
|
356
|
-
Copyright 2003-
|
|
356
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
357
357
|
|
|
358
358
|
This library is free software; you can redistribute it and/or modify it
|
|
359
359
|
under the same terms as Perl itself.
|
|
@@ -1454,7 +1454,7 @@ library files.
|
|
|
1454
1454
|
|
|
1455
1455
|
=head1 AUTHOR
|
|
1456
1456
|
|
|
1457
|
-
Copyright 2003-
|
|
1457
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1458
1458
|
|
|
1459
1459
|
This library is free software; you can redistribute it and/or modify it
|
|
1460
1460
|
under the same terms as Perl itself.
|
|
@@ -57,7 +57,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
|
|
|
57
57
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
58
58
|
use Image::ExifTool::MakerNotes;
|
|
59
59
|
|
|
60
|
-
$VERSION = '4.
|
|
60
|
+
$VERSION = '4.50';
|
|
61
61
|
|
|
62
62
|
sub ProcessExif($$$);
|
|
63
63
|
sub WriteExif($$$);
|
|
@@ -4348,6 +4348,7 @@ my %opcodeInfo = (
|
|
|
4348
4348
|
Deletable => 1,
|
|
4349
4349
|
SubDirectory => {
|
|
4350
4350
|
TagTable => 'Image::ExifTool::Jpeg2000::Main',
|
|
4351
|
+
DirName => 'JUMBF',
|
|
4351
4352
|
ByteOrder => 'BigEndian',
|
|
4352
4353
|
},
|
|
4353
4354
|
},
|
|
@@ -6465,7 +6466,7 @@ sub ProcessExif($$$)
|
|
|
6465
6466
|
TagInfo => $tagInfo || $tmpInfo,
|
|
6466
6467
|
Offset => $base + $valuePtr + $dataPos,
|
|
6467
6468
|
Size => $size,
|
|
6468
|
-
Fixup =>
|
|
6469
|
+
Fixup => Image::ExifTool::Fixup->new,
|
|
6469
6470
|
};
|
|
6470
6471
|
}
|
|
6471
6472
|
} else {
|
|
@@ -7064,7 +7065,7 @@ EXIF and TIFF meta information.
|
|
|
7064
7065
|
|
|
7065
7066
|
=head1 AUTHOR
|
|
7066
7067
|
|
|
7067
|
-
Copyright 2003-
|
|
7068
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
7068
7069
|
|
|
7069
7070
|
This library is free software; you can redistribute it and/or modify it
|
|
7070
7071
|
under the same terms as Perl itself.
|
|
@@ -137,7 +137,7 @@ information from FITS (Flexible Image Transport System) images.
|
|
|
137
137
|
|
|
138
138
|
=head1 AUTHOR
|
|
139
139
|
|
|
140
|
-
Copyright 2003-
|
|
140
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
141
141
|
|
|
142
142
|
This library is free software; you can redistribute it and/or modify it
|
|
143
143
|
under the same terms as Perl itself.
|
|
@@ -298,7 +298,7 @@ information from Free Lossless Audio Codec (FLAC) audio files.
|
|
|
298
298
|
|
|
299
299
|
=head1 AUTHOR
|
|
300
300
|
|
|
301
|
-
Copyright 2003-
|
|
301
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
302
302
|
|
|
303
303
|
This library is free software; you can redistribute it and/or modify it
|
|
304
304
|
under the same terms as Perl itself.
|
|
@@ -329,7 +329,7 @@ meta information in FLIF (Free Lossless Image Format) images.
|
|
|
329
329
|
|
|
330
330
|
=head1 AUTHOR
|
|
331
331
|
|
|
332
|
-
Copyright 2003-
|
|
332
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
333
333
|
|
|
334
334
|
This library is free software; you can redistribute it and/or modify it
|
|
335
335
|
under the same terms as Perl itself.
|
|
@@ -24,7 +24,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
24
24
|
use Image::ExifTool::Exif;
|
|
25
25
|
use Image::ExifTool::GPS;
|
|
26
26
|
|
|
27
|
-
$VERSION = '1.
|
|
27
|
+
$VERSION = '1.23';
|
|
28
28
|
|
|
29
29
|
sub ProcessFLIR($$;$);
|
|
30
30
|
sub ProcessFLIRText($$$);
|
|
@@ -1468,7 +1468,7 @@ sub ProcessMeasInfo($$$)
|
|
|
1468
1468
|
sub ProcessFLIR($$;$)
|
|
1469
1469
|
{
|
|
1470
1470
|
my ($et, $dirInfo, $tagTablePtr) = @_;
|
|
1471
|
-
my $raf = $$dirInfo{RAF} ||
|
|
1471
|
+
my $raf = $$dirInfo{RAF} || File::RandomAccess->new($$dirInfo{DataPt});
|
|
1472
1472
|
my $verbose = $et->Options('Verbose');
|
|
1473
1473
|
my $out = $et->Options('TextOut');
|
|
1474
1474
|
my $base = $raf->Tell();
|
|
@@ -1633,7 +1633,7 @@ Systems Inc. thermal image files (FFF, FPF and JPEG format).
|
|
|
1633
1633
|
|
|
1634
1634
|
=head1 AUTHOR
|
|
1635
1635
|
|
|
1636
|
-
Copyright 2003-
|
|
1636
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1637
1637
|
|
|
1638
1638
|
This library is free software; you can redistribute it and/or modify it
|
|
1639
1639
|
under the same terms as Perl itself.
|
|
@@ -39,7 +39,7 @@ use Image::ExifTool qw(GetByteOrder SetByteOrder Get32u Get32s Set32u
|
|
|
39
39
|
Get16u Get16s Set16u);
|
|
40
40
|
use vars qw($VERSION);
|
|
41
41
|
|
|
42
|
-
$VERSION = '1.
|
|
42
|
+
$VERSION = '1.06';
|
|
43
43
|
|
|
44
44
|
sub AddFixup($$;$$);
|
|
45
45
|
sub ApplyFixup($$);
|
|
@@ -69,7 +69,7 @@ sub new
|
|
|
69
69
|
sub Clone($)
|
|
70
70
|
{
|
|
71
71
|
my $self = shift;
|
|
72
|
-
my $clone =
|
|
72
|
+
my $clone = Image::ExifTool::Fixup->new;
|
|
73
73
|
$clone->{Start} = $self->{Start};
|
|
74
74
|
$clone->{Shift} = $self->{Shift};
|
|
75
75
|
my $phash = $self->{Pointers};
|
|
@@ -317,7 +317,7 @@ Image::ExifTool::Fixup - Utility to handle pointer fixups
|
|
|
317
317
|
|
|
318
318
|
use Image::ExifTool::Fixup;
|
|
319
319
|
|
|
320
|
-
$fixup =
|
|
320
|
+
$fixup = Image::ExifTool::Fixup->new;
|
|
321
321
|
|
|
322
322
|
# add a new fixup to a pointer at the specified offset in data
|
|
323
323
|
$fixup->AddFixup($offset);
|
|
@@ -354,7 +354,7 @@ linear list when ApplyFixups() is called.
|
|
|
354
354
|
|
|
355
355
|
=head1 AUTHOR
|
|
356
356
|
|
|
357
|
-
Copyright 2003-
|
|
357
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
358
358
|
|
|
359
359
|
This library is free software; you can redistribute it and/or modify it
|
|
360
360
|
under the same terms as Perl itself.
|
|
@@ -721,7 +721,7 @@ will add AMF3 support.
|
|
|
721
721
|
|
|
722
722
|
=head1 AUTHOR
|
|
723
723
|
|
|
724
|
-
Copyright 2003-
|
|
724
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
725
725
|
|
|
726
726
|
This library is free software; you can redistribute it and/or modify it
|
|
727
727
|
under the same terms as Perl itself.
|
|
@@ -22,7 +22,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
22
22
|
use Image::ExifTool::Exif;
|
|
23
23
|
use Image::ExifTool::ASF; # for GetGUID()
|
|
24
24
|
|
|
25
|
-
$VERSION = '1.
|
|
25
|
+
$VERSION = '1.48';
|
|
26
26
|
|
|
27
27
|
sub ProcessFPX($$);
|
|
28
28
|
sub ProcessFPXR($$$);
|
|
@@ -511,6 +511,31 @@ my %fpxFileType = (
|
|
|
511
511
|
corresponding EmbeddedImage from the Contents of a VNT file
|
|
512
512
|
},
|
|
513
513
|
},
|
|
514
|
+
_eeJPG => {
|
|
515
|
+
Name => 'EmbeddedImage',
|
|
516
|
+
Notes => q{
|
|
517
|
+
Not a real tag. Extracted from stream content when the ExtractEmbedded
|
|
518
|
+
option is used
|
|
519
|
+
},
|
|
520
|
+
Groups => { 2 => 'Preview' },
|
|
521
|
+
Binary => 1,
|
|
522
|
+
},
|
|
523
|
+
_eePNG => {
|
|
524
|
+
Name => 'EmbeddedPNG',
|
|
525
|
+
Notes => q{
|
|
526
|
+
Not a real tag. Extracted from stream content when the ExtractEmbedded
|
|
527
|
+
option is used
|
|
528
|
+
},
|
|
529
|
+
Groups => { 2 => 'Preview' },
|
|
530
|
+
Binary => 1,
|
|
531
|
+
},
|
|
532
|
+
_eeLink => {
|
|
533
|
+
Name => 'LinkedFileName',
|
|
534
|
+
Notes => q{
|
|
535
|
+
Not a real tag. Extracted from stream content when the ExtractEmbedded
|
|
536
|
+
option is used
|
|
537
|
+
},
|
|
538
|
+
},
|
|
514
539
|
);
|
|
515
540
|
|
|
516
541
|
# Summary Information properties
|
|
@@ -2180,6 +2205,9 @@ sub ProcessFPX($$)
|
|
|
2180
2205
|
my ($buff, $out, $oldIndent, $miniStreamBuff);
|
|
2181
2206
|
my ($tag, %hier, %objIndex, %loadedDifSect);
|
|
2182
2207
|
|
|
2208
|
+
# handle FPX format in memory from PNG cpIp chunk
|
|
2209
|
+
$raf or $raf = File::RandomAccess->new($$dirInfo{DataPt});
|
|
2210
|
+
|
|
2183
2211
|
# read header
|
|
2184
2212
|
return 0 unless $raf->Read($buff,HDR_SIZE) == HDR_SIZE;
|
|
2185
2213
|
# check signature
|
|
@@ -2291,6 +2319,8 @@ sub ProcessFPX($$)
|
|
|
2291
2319
|
my $miniStream;
|
|
2292
2320
|
$endPos = length($dir);
|
|
2293
2321
|
my $index = 0;
|
|
2322
|
+
my $ee; # name of next tag to extract if unknown
|
|
2323
|
+
$ee = 0 if $et->Options('ExtractEmbedded');
|
|
2294
2324
|
|
|
2295
2325
|
for ($pos=0; $pos<=$endPos-128; $pos+=128, ++$index) {
|
|
2296
2326
|
|
|
@@ -2310,6 +2340,9 @@ sub ProcessFPX($$)
|
|
|
2310
2340
|
$tag = Image::ExifTool::Decode(undef, substr($dir,$pos,$len*2), 'UCS2', 'II', 'Latin');
|
|
2311
2341
|
$tag =~ s/\0.*//s; # truncate at null (in case length was wrong)
|
|
2312
2342
|
|
|
2343
|
+
if ($tag eq '0' and not defined $ee) {
|
|
2344
|
+
$et->WarnOnce('Use the ExtractEmbedded option to extract embedded information', 3);
|
|
2345
|
+
}
|
|
2313
2346
|
my $sect = Get32u(\$dir, $pos + 0x74); # start sector number
|
|
2314
2347
|
my $size = Get32u(\$dir, $pos + 0x78); # stream length
|
|
2315
2348
|
|
|
@@ -2320,12 +2353,15 @@ sub ProcessFPX($$)
|
|
|
2320
2353
|
$et->Warn('Error loading Mini-FAT stream');
|
|
2321
2354
|
last;
|
|
2322
2355
|
}
|
|
2323
|
-
$miniStream =
|
|
2356
|
+
$miniStream = File::RandomAccess->new(\$miniStreamBuff);
|
|
2324
2357
|
}
|
|
2325
2358
|
|
|
2326
2359
|
my $tagInfo;
|
|
2327
2360
|
if ($$tagTablePtr{$tag}) {
|
|
2328
2361
|
$tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
|
|
2362
|
+
} elsif (defined $ee and $tag eq $ee) {
|
|
2363
|
+
$tagInfo = ''; # won't know the actual tagID untile we read the stream
|
|
2364
|
+
$ee = sprintf('%x', hex($ee)+1); # tag to look for next
|
|
2329
2365
|
} else {
|
|
2330
2366
|
# remove instance number or class ID from tag if necessary
|
|
2331
2367
|
$tagInfo = $et->GetTagInfo($tagTablePtr, $1) if
|
|
@@ -2349,7 +2385,7 @@ sub ProcessFPX($$)
|
|
|
2349
2385
|
$$sub{Parent} = $index;
|
|
2350
2386
|
}
|
|
2351
2387
|
|
|
2352
|
-
next unless $tagInfo or $verbose;
|
|
2388
|
+
next unless defined $tagInfo or $verbose;
|
|
2353
2389
|
|
|
2354
2390
|
# load the data for stream types
|
|
2355
2391
|
my $extra = '';
|
|
@@ -2383,18 +2419,22 @@ sub ProcessFPX($$)
|
|
|
2383
2419
|
$extra .= " Left=$lSib" unless $lSib == FREE_SECT;
|
|
2384
2420
|
$extra .= " Right=$rSib" unless $rSib == FREE_SECT;
|
|
2385
2421
|
$extra .= " Child=$chld" unless $chld == FREE_SECT;
|
|
2422
|
+
$extra .= " Size=$size" if defined $size;
|
|
2423
|
+
my $name;
|
|
2424
|
+
$name = "Unknown_0x$tag" if not $tagInfo and $tag =~ /^[0-9a-f]{1,3}$/;
|
|
2386
2425
|
$et->VerboseInfo($tag, $tagInfo,
|
|
2387
2426
|
Index => $index,
|
|
2388
2427
|
Value => $buff,
|
|
2389
2428
|
DataPt => \$buff,
|
|
2390
2429
|
Extra => $extra,
|
|
2391
|
-
|
|
2430
|
+
# Size => $size, (moved to $extra so we can see the rest of the stream if larger)
|
|
2431
|
+
Name => $name,
|
|
2392
2432
|
);
|
|
2393
2433
|
}
|
|
2394
|
-
if ($tagInfo and $buff) {
|
|
2434
|
+
if (defined $tagInfo and $buff) {
|
|
2395
2435
|
my $num = $$et{NUM_FOUND};
|
|
2396
|
-
|
|
2397
|
-
|
|
2436
|
+
if ($tagInfo and $$tagInfo{SubDirectory}) {
|
|
2437
|
+
my $subdir = $$tagInfo{SubDirectory};
|
|
2398
2438
|
my %dirInfo = (
|
|
2399
2439
|
DataPt => \$buff,
|
|
2400
2440
|
DirStart => $$subdir{DirStart},
|
|
@@ -2422,6 +2462,19 @@ sub ProcessFPX($$)
|
|
|
2422
2462
|
}
|
|
2423
2463
|
}
|
|
2424
2464
|
delete $$et{DOC_NUM};
|
|
2465
|
+
} elsif (not $tagInfo) {
|
|
2466
|
+
# extract some embedded information from PNG Plus images
|
|
2467
|
+
if ($buff =~ /^(.{19,40})(\xff\xd8\xff\xe0|\x89PNG\r\n\x1a\n)/sg) {
|
|
2468
|
+
my $id = $2 eq "\xff\xd8\xff\xe0" ? '_eeJPG' : '_eePNG';
|
|
2469
|
+
$et->HandleTag($tagTablePtr, $id, substr($buff, length($1)));
|
|
2470
|
+
} elsif ($buff =~ /^\0\x80\0\0\x01\0\0\0\x0e\0/ and length($buff) > 18) {
|
|
2471
|
+
my $len = unpack('x17C', $buff);
|
|
2472
|
+
next if $len + 18 > length($buff);
|
|
2473
|
+
my $filename = $et->Decode(substr($buff,18,$len), 'UTF16', 'II');
|
|
2474
|
+
$et->HandleTag($tagTablePtr, '_eeLink', $filename);
|
|
2475
|
+
} else {
|
|
2476
|
+
next;
|
|
2477
|
+
}
|
|
2425
2478
|
} else {
|
|
2426
2479
|
$et->FoundTag($tagInfo, $buff);
|
|
2427
2480
|
}
|
|
@@ -2508,7 +2561,7 @@ JPEG images.
|
|
|
2508
2561
|
|
|
2509
2562
|
=head1 AUTHOR
|
|
2510
2563
|
|
|
2511
|
-
Copyright 2003-
|
|
2564
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2512
2565
|
|
|
2513
2566
|
This library is free software; you can redistribute it and/or modify it
|
|
2514
2567
|
under the same terms as Perl itself.
|
|
@@ -622,7 +622,7 @@ extracted from these formats.
|
|
|
622
622
|
|
|
623
623
|
=head1 AUTHOR
|
|
624
624
|
|
|
625
|
-
Copyright 2003-
|
|
625
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
626
626
|
|
|
627
627
|
This library is free software; you can redistribute it and/or modify it
|
|
628
628
|
under the same terms as Perl itself.
|
|
@@ -243,7 +243,7 @@ write information from the FotoWare FotoStation trailer.
|
|
|
243
243
|
|
|
244
244
|
=head1 AUTHOR
|
|
245
245
|
|
|
246
|
-
Copyright 2003-
|
|
246
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
247
247
|
|
|
248
248
|
This library is free software; you can redistribute it and/or modify it
|
|
249
249
|
under the same terms as Perl itself.
|
|
@@ -31,7 +31,7 @@ use vars qw($VERSION);
|
|
|
31
31
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
32
32
|
use Image::ExifTool::Exif;
|
|
33
33
|
|
|
34
|
-
$VERSION = '1.
|
|
34
|
+
$VERSION = '1.92';
|
|
35
35
|
|
|
36
36
|
sub ProcessFujiDir($$$);
|
|
37
37
|
sub ProcessFaceRec($$$);
|
|
@@ -1187,6 +1187,8 @@ my %faceCategories = (
|
|
|
1187
1187
|
ValueConv => 'my @v=reverse split(" ",$val);"@v"', # reverse to show width first
|
|
1188
1188
|
PrintConv => '$val=~tr/ /x/; $val',
|
|
1189
1189
|
},
|
|
1190
|
+
# 0x112 - int16u[2] same as 0x111 but with width/height swapped?
|
|
1191
|
+
# 0x113 - int16u[2] same as 0x111?
|
|
1190
1192
|
0x115 => {
|
|
1191
1193
|
Name => 'RawImageAspectRatio',
|
|
1192
1194
|
Format => 'int16u',
|
|
@@ -1236,6 +1238,7 @@ my %faceCategories = (
|
|
|
1236
1238
|
Count => 36,
|
|
1237
1239
|
PrintConv => '$val =~ tr/012 /RGB/d; join " ", $val =~ /....../g',
|
|
1238
1240
|
},
|
|
1241
|
+
# 0x141 - int16u[2] Bit depth? "14 42" for 14-bit RAF and "16 48" for 16-bit RAF
|
|
1239
1242
|
0x2000 => { #IB
|
|
1240
1243
|
Name => 'WB_GRGBLevelsAuto',
|
|
1241
1244
|
Format => 'int16u',
|
|
@@ -1408,6 +1411,8 @@ my %faceCategories = (
|
|
|
1408
1411
|
0xf00e => 'WB_GRBLevels',
|
|
1409
1412
|
0xf00f => 'ChromaticAberrationParams', # (rational64s[23])
|
|
1410
1413
|
0xf010 => 'VignettingParams', #9 (rational64s[31 or 64])
|
|
1414
|
+
# 0xf013 - int32u[3] same as 0xf00d
|
|
1415
|
+
# 0xf014 - int32u[3] - also related to WhiteBalance
|
|
1411
1416
|
);
|
|
1412
1417
|
|
|
1413
1418
|
# information found in FFMV atom of MOV videos
|
|
@@ -1688,7 +1693,7 @@ sub WriteRAF($$)
|
|
|
1688
1693
|
# rewrite the embedded JPEG in memory
|
|
1689
1694
|
my %jpegInfo = (
|
|
1690
1695
|
Parent => 'RAF',
|
|
1691
|
-
RAF =>
|
|
1696
|
+
RAF => File::RandomAccess->new(\$jpeg),
|
|
1692
1697
|
OutFile => \$outJpeg,
|
|
1693
1698
|
);
|
|
1694
1699
|
$$et{FILE_TYPE} = 'JPEG';
|
|
@@ -1792,7 +1797,7 @@ sub ProcessRAF($$)
|
|
|
1792
1797
|
# extract information from embedded JPEG
|
|
1793
1798
|
my %dirInfo = (
|
|
1794
1799
|
Parent => 'RAF',
|
|
1795
|
-
RAF =>
|
|
1800
|
+
RAF => File::RandomAccess->new(\$jpeg),
|
|
1796
1801
|
);
|
|
1797
1802
|
if ($jpos) {
|
|
1798
1803
|
$$et{BASE} += $jpos;
|
|
@@ -1874,7 +1879,7 @@ FujiFilm maker notes in EXIF information, and to read/write FujiFilm RAW
|
|
|
1874
1879
|
|
|
1875
1880
|
=head1 AUTHOR
|
|
1876
1881
|
|
|
1877
|
-
Copyright 2003-
|
|
1882
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1878
1883
|
|
|
1879
1884
|
This library is free software; you can redistribute it and/or modify it
|
|
1880
1885
|
under the same terms as Perl itself.
|
|
@@ -68,7 +68,7 @@ General Imaging maker notes.
|
|
|
68
68
|
|
|
69
69
|
=head1 AUTHOR
|
|
70
70
|
|
|
71
|
-
Copyright 2003-
|
|
71
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
72
72
|
|
|
73
73
|
This library is free software; you can redistribute it and/or modify it
|
|
74
74
|
under the same terms as Perl itself.
|
|
@@ -545,7 +545,7 @@ write GIF meta information.
|
|
|
545
545
|
|
|
546
546
|
=head1 AUTHOR
|
|
547
547
|
|
|
548
|
-
Copyright 2003-
|
|
548
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
549
549
|
|
|
550
550
|
This library is free software; you can redistribute it and/or modify it
|
|
551
551
|
under the same terms as Perl itself.
|
|
@@ -270,7 +270,7 @@ GIMP software.
|
|
|
270
270
|
|
|
271
271
|
=head1 AUTHOR
|
|
272
272
|
|
|
273
|
-
Copyright 2003-
|
|
273
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
274
274
|
|
|
275
275
|
This library is free software; you can redistribute it and/or modify it
|
|
276
276
|
under the same terms as Perl itself.
|
|
@@ -613,7 +613,7 @@ GPS (Global Positioning System) meta information in EXIF data.
|
|
|
613
613
|
|
|
614
614
|
=head1 AUTHOR
|
|
615
615
|
|
|
616
|
-
Copyright 2003-
|
|
616
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
617
617
|
|
|
618
618
|
This library is free software; you can redistribute it and/or modify it
|
|
619
619
|
under the same terms as Perl itself.
|
|
@@ -2242,7 +2242,7 @@ coordinates.
|
|
|
2242
2242
|
|
|
2243
2243
|
=head1 AUTHOR
|
|
2244
2244
|
|
|
2245
|
-
Copyright 2003-
|
|
2245
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2246
2246
|
|
|
2247
2247
|
This library is free software; you can redistribute it and/or modify it
|
|
2248
2248
|
under the same terms as Perl itself.
|
|
@@ -29,7 +29,7 @@ use vars qw($VERSION);
|
|
|
29
29
|
use Image::ExifTool qw(:Public);
|
|
30
30
|
use Image::ExifTool::GPS;
|
|
31
31
|
|
|
32
|
-
$VERSION = '1.
|
|
32
|
+
$VERSION = '1.74';
|
|
33
33
|
|
|
34
34
|
sub JITTER() { return 2 } # maximum time jitter
|
|
35
35
|
|
|
@@ -174,7 +174,7 @@ sub LoadTrackLog($$;$)
|
|
|
174
174
|
# $val is track file name
|
|
175
175
|
if ($et->Open(\*EXIFTOOL_TRKFILE, $val)) {
|
|
176
176
|
$trackFile = $val;
|
|
177
|
-
$raf =
|
|
177
|
+
$raf = File::RandomAccess->new(\*EXIFTOOL_TRKFILE);
|
|
178
178
|
unless ($raf->Read($_, 256)) {
|
|
179
179
|
close EXIFTOOL_TRKFILE;
|
|
180
180
|
return "Empty track file '${val}'";
|
|
@@ -202,7 +202,7 @@ sub LoadTrackLog($$;$)
|
|
|
202
202
|
}
|
|
203
203
|
unless ($from) {
|
|
204
204
|
# set up RAF for reading log file in memory
|
|
205
|
-
$raf =
|
|
205
|
+
$raf = File::RandomAccess->new(\$val);
|
|
206
206
|
$from = 'data';
|
|
207
207
|
}
|
|
208
208
|
|
|
@@ -1492,7 +1492,7 @@ user-defined tag GPSRoll, must be active.
|
|
|
1492
1492
|
|
|
1493
1493
|
=head1 AUTHOR
|
|
1494
1494
|
|
|
1495
|
-
Copyright 2003-
|
|
1495
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1496
1496
|
|
|
1497
1497
|
This library is free software; you can redistribute it and/or modify it
|
|
1498
1498
|
under the same terms as Perl itself.
|
|
@@ -748,7 +748,7 @@ metadata from GoPro MP4 videos.
|
|
|
748
748
|
|
|
749
749
|
=head1 AUTHOR
|
|
750
750
|
|
|
751
|
-
Copyright 2003-
|
|
751
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
752
752
|
|
|
753
753
|
This library is free software; you can redistribute it and/or modify it
|
|
754
754
|
under the same terms as Perl itself.
|
|
@@ -1123,7 +1123,7 @@ information from H.264 video streams.
|
|
|
1123
1123
|
|
|
1124
1124
|
=head1 AUTHOR
|
|
1125
1125
|
|
|
1126
|
-
Copyright 2003-
|
|
1126
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1127
1127
|
|
|
1128
1128
|
This library is free software; you can redistribute it and/or modify it
|
|
1129
1129
|
under the same terms as Perl itself.
|
|
@@ -250,7 +250,7 @@ Hewlett-Packard maker notes.
|
|
|
250
250
|
|
|
251
251
|
=head1 AUTHOR
|
|
252
252
|
|
|
253
|
-
Copyright 2003-
|
|
253
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
254
254
|
|
|
255
255
|
This library is free software; you can redistribute it and/or modify it
|
|
256
256
|
under the same terms as Perl itself.
|
|
@@ -555,7 +555,7 @@ meta information from HTML documents.
|
|
|
555
555
|
|
|
556
556
|
=head1 AUTHOR
|
|
557
557
|
|
|
558
|
-
Copyright 2003-
|
|
558
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
559
559
|
|
|
560
560
|
This library is free software; you can redistribute it and/or modify it
|
|
561
561
|
under the same terms as Perl itself.
|
|
@@ -13,7 +13,7 @@ use vars qw($VERSION);
|
|
|
13
13
|
use Image::ExifTool; # only for FinishTiffDump()
|
|
14
14
|
use Image::ExifTool::HTML qw(EscapeHTML);
|
|
15
15
|
|
|
16
|
-
$VERSION = '1.
|
|
16
|
+
$VERSION = '1.41';
|
|
17
17
|
|
|
18
18
|
sub DumpTable($$$;$$$$$$);
|
|
19
19
|
sub Open($$$;@);
|
|
@@ -314,6 +314,8 @@ sub Print($$;$$$$$)
|
|
|
314
314
|
$title = 'HtmlDump' unless $title;
|
|
315
315
|
$level or $level = 0;
|
|
316
316
|
my $tell = $raf->Tell();
|
|
317
|
+
$raf->Seek(0,2) or $$self{ERROR} = 'Seek error', return -1;
|
|
318
|
+
my $fileLen = $raf->Tell();
|
|
317
319
|
my $pos = 0;
|
|
318
320
|
my $dataEnd = $dataPos + ($dataPt ? length($$dataPt) : 0);
|
|
319
321
|
# initialize member variables
|
|
@@ -352,6 +354,7 @@ sub Print($$;$$$$$)
|
|
|
352
354
|
} else {
|
|
353
355
|
last;
|
|
354
356
|
}
|
|
357
|
+
$start = $fileLen if $start > $fileLen; # handle case of bad start offset
|
|
355
358
|
my $len = $start - $pos;
|
|
356
359
|
if ($len > 0 and not $wasUnused) {
|
|
357
360
|
# we have a unused bytes before this data block
|
|
@@ -432,8 +435,7 @@ sub Print($$;$$$$$)
|
|
|
432
435
|
{
|
|
433
436
|
$err = $msg;
|
|
434
437
|
# reset $len to the actual length of available data
|
|
435
|
-
$
|
|
436
|
-
$len = $raf->Tell() - $start;
|
|
438
|
+
$len = $fileLen - $start;
|
|
437
439
|
$tip .= "<br>Error: Only $len bytes available!" if $tip;
|
|
438
440
|
next;
|
|
439
441
|
}
|
|
@@ -894,7 +896,7 @@ Image::ExifTool::HtmlDump - Dump information in hex to HTML page
|
|
|
894
896
|
=head1 SYNOPSIS
|
|
895
897
|
|
|
896
898
|
use Image::ExifTool::HtmlDump;
|
|
897
|
-
my $dump =
|
|
899
|
+
my $dump = Image::ExifTool::HtmlDump->new;
|
|
898
900
|
$dump->Add($start, $size, $comment);
|
|
899
901
|
$dump->Print($dumpInfo, $raf, $dataPt, $dataPos, $outfile);
|
|
900
902
|
|
|
@@ -917,7 +919,7 @@ page.
|
|
|
917
919
|
|
|
918
920
|
=head1 AUTHOR
|
|
919
921
|
|
|
920
|
-
Copyright 2003-
|
|
922
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
921
923
|
|
|
922
924
|
This library is free software; you can redistribute it and/or modify it
|
|
923
925
|
under the same terms as Perl itself.
|
|
@@ -1357,7 +1357,7 @@ data created on one device into another device's native color space.
|
|
|
1357
1357
|
|
|
1358
1358
|
=head1 AUTHOR
|
|
1359
1359
|
|
|
1360
|
-
Copyright 2003-
|
|
1360
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1361
1361
|
|
|
1362
1362
|
This library is free software; you can redistribute it and/or modify it
|
|
1363
1363
|
under the same terms as Perl itself.
|