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,6 +17,7 @@
|
|
|
17
17
|
# scalar with a multi-character newline
|
|
18
18
|
# 01/24/2009 - PH Protect against reading too much at once
|
|
19
19
|
# 10/04/2018 - PH Added NoBuffer option
|
|
20
|
+
# 01/20/2024 - PH Set ERROR on file read error
|
|
20
21
|
#
|
|
21
22
|
# Notes: Calls the normal file i/o routines unless SeekTest() fails, in
|
|
22
23
|
# which case the file is buffered in memory to allow random access.
|
|
@@ -25,7 +26,10 @@
|
|
|
25
26
|
#
|
|
26
27
|
# May also be used for string i/o (just pass a scalar reference)
|
|
27
28
|
#
|
|
28
|
-
#
|
|
29
|
+
# Sets internal ERROR member from $! if there is an error reading
|
|
30
|
+
# the file.
|
|
31
|
+
#
|
|
32
|
+
# Legal: Copyright (c) 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
29
33
|
# This library is free software; you can redistribute it and/or
|
|
30
34
|
# modify it under the same terms as Perl itself.
|
|
31
35
|
#------------------------------------------------------------------------------
|
|
@@ -37,7 +41,7 @@ require 5.002;
|
|
|
37
41
|
require Exporter;
|
|
38
42
|
|
|
39
43
|
use vars qw($VERSION @ISA @EXPORT_OK);
|
|
40
|
-
$VERSION = '1.
|
|
44
|
+
$VERSION = '1.12';
|
|
41
45
|
@ISA = qw(Exporter);
|
|
42
46
|
|
|
43
47
|
sub Read($$$);
|
|
@@ -211,6 +215,8 @@ sub Read($$$)
|
|
|
211
215
|
if ($num) {
|
|
212
216
|
${$self->{BUFF_PT}} .= $buff;
|
|
213
217
|
$self->{LEN} += $num;
|
|
218
|
+
} elsif (not defined $num) {
|
|
219
|
+
$self->{ERROR} = $!;
|
|
214
220
|
}
|
|
215
221
|
}
|
|
216
222
|
# number of bytes left in data buffer
|
|
@@ -229,7 +235,11 @@ sub Read($$$)
|
|
|
229
235
|
} else {
|
|
230
236
|
# read directly from file
|
|
231
237
|
$_[0] = '' unless defined $_[0];
|
|
232
|
-
$rtnVal = read($self->{FILE_PT}, $_[0], $len)
|
|
238
|
+
$rtnVal = read($self->{FILE_PT}, $_[0], $len);
|
|
239
|
+
unless (defined $rtnVal) {
|
|
240
|
+
$self->{ERROR} = $!;
|
|
241
|
+
$rtnVal = 0;
|
|
242
|
+
}
|
|
233
243
|
}
|
|
234
244
|
if ($self->{DEBUG}) {
|
|
235
245
|
my $pos = $self->Tell() - $rtnVal;
|
|
@@ -258,7 +268,10 @@ sub ReadLine($$)
|
|
|
258
268
|
# make sure we have some data after the current position
|
|
259
269
|
while ($self->{LEN} <= $pos) {
|
|
260
270
|
$num = read($fp, $buff, $CHUNK_SIZE);
|
|
261
|
-
|
|
271
|
+
unless ($num) {
|
|
272
|
+
defined $num or $self->{ERROR} = $!;
|
|
273
|
+
return 0;
|
|
274
|
+
}
|
|
262
275
|
${$self->{BUFF_PT}} .= $buff;
|
|
263
276
|
$self->{LEN} += $num;
|
|
264
277
|
}
|
|
@@ -270,7 +283,11 @@ sub ReadLine($$)
|
|
|
270
283
|
last;
|
|
271
284
|
}
|
|
272
285
|
$pos = $self->{LEN}; # have scanned to end of buffer
|
|
273
|
-
$num = read($fp, $buff, $CHUNK_SIZE)
|
|
286
|
+
$num = read($fp, $buff, $CHUNK_SIZE);
|
|
287
|
+
unless ($num) {
|
|
288
|
+
defined $num or $self->{ERROR} = $!;
|
|
289
|
+
last;
|
|
290
|
+
}
|
|
274
291
|
${$self->{BUFF_PT}} .= $buff;
|
|
275
292
|
$self->{LEN} += $num;
|
|
276
293
|
}
|
|
@@ -314,7 +331,12 @@ sub Slurp($)
|
|
|
314
331
|
my $fp = $self->{FILE_PT} || return;
|
|
315
332
|
# read whole file into buffer (in large chunks)
|
|
316
333
|
my ($buff, $num);
|
|
317
|
-
|
|
334
|
+
for (;;) {
|
|
335
|
+
$num = read($fp, $buff, $CHUNK_SIZE * $SLURP_CHUNKS);
|
|
336
|
+
unless ($num) {
|
|
337
|
+
defined $num or $self->{ERROR} = $!;
|
|
338
|
+
last;
|
|
339
|
+
}
|
|
318
340
|
${$self->{BUFF_PT}} .= $buff;
|
|
319
341
|
$self->{LEN} += $num;
|
|
320
342
|
}
|
|
@@ -339,6 +361,10 @@ sub Purge($)
|
|
|
339
361
|
$self->{POS} -= $self->{LEN};
|
|
340
362
|
${$self->{BUFF_PT}} = '';
|
|
341
363
|
$self->{LEN} = read($self->{FILE_PT}, ${$self->{BUFF_PT}}, $SKIP_SIZE);
|
|
364
|
+
if (not defined $self->{LEN}) {
|
|
365
|
+
$self->{ERROR} = $!;
|
|
366
|
+
last;
|
|
367
|
+
}
|
|
342
368
|
last if $self->{LEN} < $SKIP_SIZE;
|
|
343
369
|
}
|
|
344
370
|
} elsif ($purge > 0) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# Description: Buffer to support random access reading of sequential file
|
|
5
5
|
#
|
|
6
|
-
# Legal: Copyright (c) 2003-
|
|
6
|
+
# Legal: Copyright (c) 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
7
7
|
# This library is free software; you can redistribute it and/or
|
|
8
8
|
# modify it under the same terms as Perl itself.
|
|
9
9
|
#------------------------------------------------------------------------------
|
|
@@ -16,9 +16,9 @@ File::RandomAccess - Random access reads of sequential file or scalar
|
|
|
16
16
|
|
|
17
17
|
use File::RandomAccess;
|
|
18
18
|
|
|
19
|
-
$raf =
|
|
19
|
+
$raf = File::RandomAccess->new(\*FILE, $disableSeekTest);
|
|
20
20
|
|
|
21
|
-
$raf =
|
|
21
|
+
$raf = File::RandomAccess->new(\$data);
|
|
22
22
|
|
|
23
23
|
$err = $raf->Seek($pos);
|
|
24
24
|
$num = $raf->Read($buff, $bytes);
|
|
@@ -38,10 +38,10 @@ Creates a new RandomAccess object given a file reference or
|
|
|
38
38
|
reference to data in memory.
|
|
39
39
|
|
|
40
40
|
# Read from open file or pipe
|
|
41
|
-
$raf =
|
|
41
|
+
$raf = File::RandomAccess->new(\*FILE);
|
|
42
42
|
|
|
43
43
|
# Read from data in memory
|
|
44
|
-
$raf =
|
|
44
|
+
$raf = File::RandomAccess->new(\$data);
|
|
45
45
|
|
|
46
46
|
=over 4
|
|
47
47
|
|
|
@@ -236,7 +236,7 @@ the end of file is not allowed.
|
|
|
236
236
|
|
|
237
237
|
=head1 AUTHOR
|
|
238
238
|
|
|
239
|
-
Copyright 2003-
|
|
239
|
+
Copyright 2003-2024, 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.
|
|
@@ -15,7 +15,7 @@ use strict;
|
|
|
15
15
|
use vars qw($VERSION);
|
|
16
16
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.01';
|
|
19
19
|
|
|
20
20
|
sub ReadUInt32 {
|
|
21
21
|
my $buff;
|
|
@@ -569,7 +569,7 @@ sub ReadFilesInfo {
|
|
|
569
569
|
next;
|
|
570
570
|
}
|
|
571
571
|
$_[0]->Read($buff, $size);
|
|
572
|
-
my $buffer =
|
|
572
|
+
my $buffer = File::RandomAccess->new(\$buff);
|
|
573
573
|
if($prop == 14){ # empty stream
|
|
574
574
|
my @isempty = ReadBoolean($buffer, $numfiles, 0);
|
|
575
575
|
my $numemptystreams = 0;
|
|
@@ -732,7 +732,7 @@ sub Process7Z($$)
|
|
|
732
732
|
$folder_data .= Decompress($et, $raf, $decomporessor, $remaining);
|
|
733
733
|
$remaining = $uncompressed_size - length($folder_data);
|
|
734
734
|
}
|
|
735
|
-
$buffer2 =
|
|
735
|
+
$buffer2 = File::RandomAccess->new(\$folder_data);
|
|
736
736
|
}
|
|
737
737
|
$buffer2->Seek(0, 0);
|
|
738
738
|
$buffer2->Read($buff, 1);
|
|
@@ -28,6 +28,7 @@ my %convSampleRate = (
|
|
|
28
28
|
%Image::ExifTool::AAC::Main = (
|
|
29
29
|
PROCESS_PROC => \&Image::ExifTool::FLAC::ProcessBitStream,
|
|
30
30
|
GROUPS => { 2 => 'Audio' },
|
|
31
|
+
NOTES => 'Tags extracted from Advanced Audio Coding (AAC) files.',
|
|
31
32
|
# Bit000-011 - sync word (all 1's)
|
|
32
33
|
# Bit012 - ID (seems to be always 0)
|
|
33
34
|
# Bit013-014 - layer (00)
|
|
@@ -109,7 +110,7 @@ sub ProcessAAC($$)
|
|
|
109
110
|
$et->ProcessDirectory({ DataPt => \$buff }, $tagTablePtr);
|
|
110
111
|
|
|
111
112
|
# read the first frame data to check for a filler with the encoder name
|
|
112
|
-
|
|
113
|
+
while ($len > 8 and $raf->Read($buff, $len-7) == $len-7) {
|
|
113
114
|
my $noCRC = ($t[0] & 0x00010000);
|
|
114
115
|
my $blocks = ($t[2] & 0x03);
|
|
115
116
|
my $pos = 0;
|
|
@@ -122,16 +123,17 @@ sub ProcessAAC($$)
|
|
|
122
123
|
my $cnt = ($tmp >> 9) & 0x0f;
|
|
123
124
|
++$pos;
|
|
124
125
|
if ($cnt == 15) {
|
|
125
|
-
$cnt += (($tmp >> 1) & 0xff) - 1
|
|
126
|
+
$cnt += (($tmp >> 1) & 0xff) - 1;
|
|
126
127
|
++$pos;
|
|
127
128
|
}
|
|
128
|
-
if ($pos + $cnt
|
|
129
|
+
if ($pos + $cnt <= length($buff)) {
|
|
129
130
|
my $dat = substr($buff, $pos, $cnt);
|
|
130
131
|
$dat =~ s/^\0+//;
|
|
131
132
|
$dat =~ s/\0+$//;
|
|
132
133
|
$et->HandleTag($tagTablePtr, Encoder => $dat) if $dat =~ /^[\x20-\x7e]+$/;
|
|
133
134
|
}
|
|
134
135
|
}
|
|
136
|
+
last;
|
|
135
137
|
}
|
|
136
138
|
|
|
137
139
|
return 1;
|
|
@@ -151,8 +153,8 @@ This module is used by Image::ExifTool
|
|
|
151
153
|
|
|
152
154
|
=head1 DESCRIPTION
|
|
153
155
|
|
|
154
|
-
This module contains definitions required by Image::ExifTool to read
|
|
155
|
-
|
|
156
|
+
This module contains definitions required by Image::ExifTool to read
|
|
157
|
+
Advanced Audio Coding (AAC) files.
|
|
156
158
|
|
|
157
159
|
=head1 NOTES
|
|
158
160
|
|
|
@@ -161,7 +163,7 @@ based on unofficial sources which may be incomplete, inaccurate or outdated.
|
|
|
161
163
|
|
|
162
164
|
=head1 AUTHOR
|
|
163
165
|
|
|
164
|
-
Copyright 2003-
|
|
166
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
165
167
|
|
|
166
168
|
This library is free software; you can redistribute it and/or modify it
|
|
167
169
|
under the same terms as Perl itself.
|
|
@@ -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-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
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.09';
|
|
18
18
|
|
|
19
19
|
sub ProcessAFCP($$);
|
|
20
20
|
|
|
@@ -134,7 +134,7 @@ NoAFCP: for (;;) {
|
|
|
134
134
|
$dirBuff = $valBuff = '';
|
|
135
135
|
require Image::ExifTool::Fixup;
|
|
136
136
|
$fixup = $$dirInfo{Fixup};
|
|
137
|
-
$fixup or $fixup = $$dirInfo{Fixup} =
|
|
137
|
+
$fixup or $fixup = $$dirInfo{Fixup} = Image::ExifTool::Fixup->new;
|
|
138
138
|
$vers = substr($buff, 4, 2); # get version number
|
|
139
139
|
} else {
|
|
140
140
|
$et->DumpTrailer($dirInfo) if $verbose or $$et{HTML_DUMP};
|
|
@@ -259,7 +259,7 @@ scanning for AFCP information.
|
|
|
259
259
|
|
|
260
260
|
=head1 AUTHOR
|
|
261
261
|
|
|
262
|
-
Copyright 2003-
|
|
262
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
263
263
|
|
|
264
264
|
This library is free software; you can redistribute it and/or modify it
|
|
265
265
|
under the same terms as Perl itself.
|
|
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
|
|
|
287
287
|
|
|
288
288
|
=head1 AUTHOR
|
|
289
289
|
|
|
290
|
-
Copyright 2003-
|
|
290
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
291
291
|
|
|
292
292
|
This library is free software; you can redistribute it and/or modify it
|
|
293
293
|
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-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
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-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
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.
|
|
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
|
|
|
876
876
|
|
|
877
877
|
=head1 AUTHOR
|
|
878
878
|
|
|
879
|
-
Copyright 2003-
|
|
879
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
880
880
|
|
|
881
881
|
This library is free software; you can redistribute it and/or modify it
|
|
882
882
|
under the same terms as Perl itself.
|
|
@@ -343,7 +343,7 @@ Apple maker notes in EXIF information.
|
|
|
343
343
|
|
|
344
344
|
=head1 AUTHOR
|
|
345
345
|
|
|
346
|
-
Copyright 2003-
|
|
346
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
347
347
|
|
|
348
348
|
This library is free software; you can redistribute it and/or modify it
|
|
349
349
|
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-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.
|
|
@@ -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-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
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.
|
|
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
|
|
|
231
231
|
|
|
232
232
|
=head1 AUTHOR
|
|
233
233
|
|
|
234
|
-
Copyright 2003-
|
|
234
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
235
235
|
|
|
236
236
|
This library is free software; you can redistribute it and/or modify it
|
|
237
237
|
under the same terms as Perl itself.
|
|
@@ -19,7 +19,7 @@ use integer; # IMPORTANT!! use integer arithmetic throughout
|
|
|
19
19
|
require Exporter;
|
|
20
20
|
use vars qw($VERSION @ISA @EXPORT_OK);
|
|
21
21
|
|
|
22
|
-
$VERSION = '1.
|
|
22
|
+
$VERSION = '1.01';
|
|
23
23
|
@ISA = qw(Exporter);
|
|
24
24
|
@EXPORT_OK = qw(Decode);
|
|
25
25
|
|
|
@@ -196,7 +196,7 @@ sub Decode($;$)
|
|
|
196
196
|
if (ref $_[0] and UNIVERSAL::isa($_[0],'Image::ExifTool::BZZ')) {
|
|
197
197
|
$self = shift;
|
|
198
198
|
} else {
|
|
199
|
-
$self =
|
|
199
|
+
$self = Image::ExifTool::BZZ->new;
|
|
200
200
|
}
|
|
201
201
|
my $dataPt = shift;
|
|
202
202
|
if ($dataPt) {
|
|
@@ -445,7 +445,7 @@ compression ability).
|
|
|
445
445
|
|
|
446
446
|
=head1 AUTHOR
|
|
447
447
|
|
|
448
|
-
Copyright 2003-
|
|
448
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
449
449
|
Copyright 2002, Leon Bottou and Yann Le Cun
|
|
450
450
|
Copyright 2001, AT&T
|
|
451
451
|
Copyright 1999-2001, LizardTech Inc.
|
|
@@ -282,7 +282,7 @@ information in BigTIFF images.
|
|
|
282
282
|
|
|
283
283
|
=head1 AUTHOR
|
|
284
284
|
|
|
285
|
-
Copyright 2003-
|
|
285
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
286
286
|
|
|
287
287
|
This library is free software; you can redistribute it and/or modify it
|
|
288
288
|
under the same terms as Perl itself.
|
|
@@ -35,7 +35,7 @@ use Image::ExifTool::Sony;
|
|
|
35
35
|
use Image::ExifTool::Validate;
|
|
36
36
|
use Image::ExifTool::MacOS;
|
|
37
37
|
|
|
38
|
-
$VERSION = '3.
|
|
38
|
+
$VERSION = '3.54';
|
|
39
39
|
@ISA = qw(Exporter);
|
|
40
40
|
|
|
41
41
|
sub NumbersFirst($$);
|
|
@@ -680,7 +680,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
|
|
|
680
680
|
|
|
681
681
|
~head1 AUTHOR
|
|
682
682
|
|
|
683
|
-
Copyright 2003-
|
|
683
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
684
684
|
|
|
685
685
|
This library is free software; you can redistribute it and/or modify it
|
|
686
686
|
under the same terms as Perl itself.
|
|
@@ -797,7 +797,7 @@ sub new
|
|
|
797
797
|
}
|
|
798
798
|
|
|
799
799
|
my $tableNum = 0;
|
|
800
|
-
my $et =
|
|
800
|
+
my $et = Image::ExifTool->new;
|
|
801
801
|
my ($tableName, $tag);
|
|
802
802
|
# create lookup for short table names
|
|
803
803
|
foreach $tableName (@tableNames) {
|
|
@@ -1642,7 +1642,7 @@ sub WriteTagLookup($$)
|
|
|
1642
1642
|
} else {
|
|
1643
1643
|
my $quot = "'";
|
|
1644
1644
|
# escape non-printable characters in tag ID if necessary
|
|
1645
|
-
$quot = '"' if s/[\x00-\x1f,\x7f-\xff]/sprintf('\\x%.2x',ord(
|
|
1645
|
+
$quot = '"' if s/([\x00-\x1f,\x7f-\xff])/sprintf('\\x%.2x',ord($1))/ge;
|
|
1646
1646
|
$_ = $quot . $_ . $quot;
|
|
1647
1647
|
}
|
|
1648
1648
|
}
|
|
@@ -1655,7 +1655,7 @@ sub WriteTagLookup($$)
|
|
|
1655
1655
|
} else {
|
|
1656
1656
|
my $quot = "'";
|
|
1657
1657
|
# escape non-printable characters in tag ID if necessary
|
|
1658
|
-
$quot = '"' if $tagID =~ s/[\x00-\x1f,\x7f-\xff]/sprintf('\\x%.2x',ord(
|
|
1658
|
+
$quot = '"' if $tagID =~ s/([\x00-\x1f,\x7f-\xff])/sprintf('\\x%.2x',ord($1))/ge;
|
|
1659
1659
|
$entry = "$quot${tagID}$quot";
|
|
1660
1660
|
}
|
|
1661
1661
|
my $wrNum = $wrNum{$tableNum};
|
|
@@ -1727,12 +1727,12 @@ sub WriteTagLookup($$)
|
|
|
1727
1727
|
}
|
|
1728
1728
|
|
|
1729
1729
|
#------------------------------------------------------------------------------
|
|
1730
|
-
# Sort numbers first numerically, then strings alphabetically
|
|
1730
|
+
# Sort numbers first numerically, then strings alphabetically
|
|
1731
|
+
# - case-insensitive sorting set by global variable $caseInsensitive
|
|
1731
1732
|
# - two global variables are used to change the sort algorithm:
|
|
1732
1733
|
# $numbersFirst: -1 = put numbers after other strings
|
|
1733
1734
|
# 1 = put numbers before other strings
|
|
1734
1735
|
# 2 = put numbers first, but negative numbers last
|
|
1735
|
-
# $caseInsensitive: flag set for case-insensitive sorting
|
|
1736
1736
|
sub NumbersFirst($$)
|
|
1737
1737
|
{
|
|
1738
1738
|
my ($a, $b) = @_;
|
|
@@ -2742,7 +2742,7 @@ validation and consistency checks on the tag tables.
|
|
|
2742
2742
|
|
|
2743
2743
|
use Image::ExifTool::BuildTagLookup;
|
|
2744
2744
|
|
|
2745
|
-
$builder =
|
|
2745
|
+
$builder = Image::ExifTool::BuildTagLookup->new;
|
|
2746
2746
|
|
|
2747
2747
|
# update Image::ExifTool::TagLookup
|
|
2748
2748
|
$ok = $builder->WriteTagLookup('lib/Image/ExifTool/TagLookup.pm');
|
|
@@ -2780,7 +2780,7 @@ Returned list of writable pseudo tags.
|
|
|
2780
2780
|
|
|
2781
2781
|
=head1 AUTHOR
|
|
2782
2782
|
|
|
2783
|
-
Copyright 2003-
|
|
2783
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2784
2784
|
|
|
2785
2785
|
This library is free software; you can redistribute it and/or modify it
|
|
2786
2786
|
under the same terms as Perl itself.
|
|
@@ -321,7 +321,7 @@ specification.
|
|
|
321
321
|
|
|
322
322
|
=head1 AUTHOR
|
|
323
323
|
|
|
324
|
-
Copyright 2003-
|
|
324
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
325
325
|
|
|
326
326
|
This library is free software; you can redistribute it and/or modify it
|
|
327
327
|
under the same terms as Perl itself.
|
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
|
88
88
|
sub ProcessExifInfo($$$);
|
|
89
89
|
sub SwapWords($);
|
|
90
90
|
|
|
91
|
-
$VERSION = '4.
|
|
91
|
+
$VERSION = '4.73';
|
|
92
92
|
|
|
93
93
|
# Note: Removed 'USM' from 'L' lenses since it is redundant - PH
|
|
94
94
|
# (or is it? Ref 32 shows 5 non-USM L-type lenses)
|
|
@@ -1394,7 +1394,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
|
1394
1394
|
},
|
|
1395
1395
|
{
|
|
1396
1396
|
Name => 'CanonCameraInfoR6',
|
|
1397
|
-
Condition => '$$self{Model} =~ /\bEOS
|
|
1397
|
+
Condition => '$$self{Model} =~ /\bEOS R[56]$/',
|
|
1398
1398
|
SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfoR6' },
|
|
1399
1399
|
},
|
|
1400
1400
|
{
|
|
@@ -2206,8 +2206,9 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
|
2206
2206
|
6 => 'Manual Focus (6)',
|
|
2207
2207
|
16 => 'Pan Focus', #PH
|
|
2208
2208
|
# 137 - Single?
|
|
2209
|
-
256 => 'AF
|
|
2210
|
-
257 => 'Live View', #
|
|
2209
|
+
256 => 'One-shot AF (Live View)', #PH/forum15637
|
|
2210
|
+
257 => 'AI Servo AF (Live View)', #PH/forum15637
|
|
2211
|
+
258 => 'AI Focus AF (Live View)', #PH/forum15637
|
|
2211
2212
|
512 => 'Movie Snap Focus', #48
|
|
2212
2213
|
519 => 'Movie Servo AF', #PH (NC, EOS M)
|
|
2213
2214
|
},
|
|
@@ -4714,7 +4715,7 @@ my %ciMaxFocal = (
|
|
|
4714
4715
|
PRIORITY => 0,
|
|
4715
4716
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
|
|
4716
4717
|
NOTES => 'CameraInfo tags for the EOS R6.',
|
|
4717
|
-
0x0af1 => { #forum15210
|
|
4718
|
+
0x0af1 => { #forum15210/15579
|
|
4718
4719
|
Name => 'ShutterCount',
|
|
4719
4720
|
Format => 'int32u',
|
|
4720
4721
|
Notes => 'includes electronic + mechanical shutter',
|
|
@@ -10321,7 +10322,7 @@ Canon maker notes in EXIF information.
|
|
|
10321
10322
|
|
|
10322
10323
|
=head1 AUTHOR
|
|
10323
10324
|
|
|
10324
|
-
Copyright 2003-
|
|
10325
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
10325
10326
|
|
|
10326
10327
|
This library is free software; you can redistribute it and/or modify it
|
|
10327
10328
|
under the same terms as Perl itself.
|
|
@@ -2873,7 +2873,7 @@ Image::ExifTool to read this information.
|
|
|
2873
2873
|
|
|
2874
2874
|
=head1 AUTHOR
|
|
2875
2875
|
|
|
2876
|
-
Copyright 2003-
|
|
2876
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2877
2877
|
|
|
2878
2878
|
This library is free software; you can redistribute it and/or modify it
|
|
2879
2879
|
under the same terms as Perl itself.
|
|
@@ -888,7 +888,7 @@ tags.)
|
|
|
888
888
|
|
|
889
889
|
=head1 AUTHOR
|
|
890
890
|
|
|
891
|
-
Copyright 2003-
|
|
891
|
+
Copyright 2003-2024, 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.
|
|
@@ -23,7 +23,7 @@ use vars qw($VERSION);
|
|
|
23
23
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
24
24
|
use Image::ExifTool::Canon;
|
|
25
25
|
|
|
26
|
-
$VERSION = '1.
|
|
26
|
+
$VERSION = '1.37';
|
|
27
27
|
|
|
28
28
|
sub ProcessCanonVRD($$;$);
|
|
29
29
|
sub WriteCanonVRD($$;$);
|
|
@@ -2011,7 +2011,7 @@ sub ProcessCanonVRD($$;$)
|
|
|
2011
2011
|
$verbose and print $out " Creating CanonVRD trailer\n";
|
|
2012
2012
|
$created = 1;
|
|
2013
2013
|
}
|
|
2014
|
-
$raf =
|
|
2014
|
+
$raf = File::RandomAccess->new($dataPt);
|
|
2015
2015
|
}
|
|
2016
2016
|
# read and validate the footer
|
|
2017
2017
|
$raf->Seek(-0x40-$offset, 2) or return 0;
|
|
@@ -2266,7 +2266,7 @@ files, and as a trailer in JPEG, CRW, CR2 and TIFF images.
|
|
|
2266
2266
|
|
|
2267
2267
|
=head1 AUTHOR
|
|
2268
2268
|
|
|
2269
|
-
Copyright 2003-
|
|
2269
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2270
2270
|
|
|
2271
2271
|
This library is free software; you can redistribute it and/or modify it
|
|
2272
2272
|
under the same terms as Perl itself.
|
|
@@ -221,7 +221,7 @@ settings files (COS).
|
|
|
221
221
|
|
|
222
222
|
=head1 AUTHOR
|
|
223
223
|
|
|
224
|
-
Copyright 2003-
|
|
224
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
225
225
|
|
|
226
226
|
This library is free software; you can redistribute it and/or modify it
|
|
227
227
|
under the same terms as Perl itself.
|
|
@@ -2034,7 +2034,7 @@ Casio maker notes in EXIF information.
|
|
|
2034
2034
|
|
|
2035
2035
|
=head1 AUTHOR
|
|
2036
2036
|
|
|
2037
|
-
Copyright 2003-
|
|
2037
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2038
2038
|
|
|
2039
2039
|
This library is free software; you can redistribute it and/or modify it
|
|
2040
2040
|
under the same terms as Perl itself.
|
|
@@ -422,7 +422,7 @@ when decoding certain types of information.
|
|
|
422
422
|
|
|
423
423
|
=head1 AUTHOR
|
|
424
424
|
|
|
425
|
-
Copyright 2003-
|
|
425
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
426
426
|
|
|
427
427
|
This library is free software; you can redistribute it and/or modify it
|
|
428
428
|
under the same terms as Perl itself.
|
|
@@ -20,7 +20,7 @@ use strict;
|
|
|
20
20
|
use vars qw($VERSION %uid);
|
|
21
21
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
22
22
|
|
|
23
|
-
$VERSION = '1.
|
|
23
|
+
$VERSION = '1.23';
|
|
24
24
|
|
|
25
25
|
# DICOM VR (Value Representation) format conversions
|
|
26
26
|
my %dicomFormat = (
|
|
@@ -3668,7 +3668,7 @@ sub ProcessDICOM($$)
|
|
|
3668
3668
|
}
|
|
3669
3669
|
last if length $data < 8;
|
|
3670
3670
|
# create new RAF object from inflated data stream
|
|
3671
|
-
$raf =
|
|
3671
|
+
$raf = File::RandomAccess->new(\$data);
|
|
3672
3672
|
# re-read start of stream (now decompressed)
|
|
3673
3673
|
$raf->Read($buff, 8) == 8 or last;
|
|
3674
3674
|
$group = Get16u(\$buff, 0);
|
|
@@ -3853,7 +3853,7 @@ No translation of special characters sets is done.
|
|
|
3853
3853
|
|
|
3854
3854
|
=head1 AUTHOR
|
|
3855
3855
|
|
|
3856
|
-
Copyright 2003-
|
|
3856
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
3857
3857
|
|
|
3858
3858
|
This library is free software; you can redistribute it and/or modify it
|
|
3859
3859
|
under the same terms as Perl itself.
|
|
@@ -237,7 +237,7 @@ the maker notes in images from some DJI Phantom drones.
|
|
|
237
237
|
|
|
238
238
|
=head1 AUTHOR
|
|
239
239
|
|
|
240
|
-
Copyright 2003-
|
|
240
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
241
241
|
|
|
242
242
|
This library is free software; you can redistribute it and/or modify it
|
|
243
243
|
under the same terms as Perl itself.
|