exiftool-vendored.pl 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/Changes +64 -1
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +47 -46
- package/bin/exiftool +123 -96
- package/bin/lib/File/RandomAccess.pm +32 -6
- package/bin/lib/File/RandomAccess.pod +6 -6
- package/bin/lib/Image/ExifTool/7Z.pm +3 -3
- package/bin/lib/Image/ExifTool/AAC.pm +8 -6
- package/bin/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/lib/Image/ExifTool/AFCP.pm +3 -3
- package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/APE.pm +1 -1
- package/bin/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/lib/Image/ExifTool/ASF.pm +1 -1
- package/bin/lib/Image/ExifTool/Apple.pm +1 -1
- package/bin/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/lib/Image/ExifTool/BZZ.pm +3 -3
- package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +9 -9
- package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- package/bin/lib/Image/ExifTool/Canon.pm +7 -6
- package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonVRD.pm +3 -3
- package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/lib/Image/ExifTool/Casio.pm +1 -1
- package/bin/lib/Image/ExifTool/Charset.pm +1 -1
- package/bin/lib/Image/ExifTool/DICOM.pm +3 -3
- package/bin/lib/Image/ExifTool/DJI.pm +1 -1
- package/bin/lib/Image/ExifTool/DNG.pm +5 -5
- package/bin/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/lib/Image/ExifTool/EXE.pm +1 -1
- package/bin/lib/Image/ExifTool/Exif.pm +4 -3
- package/bin/lib/Image/ExifTool/FITS.pm +1 -1
- package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- package/bin/lib/Image/ExifTool/FLIR.pm +3 -3
- package/bin/lib/Image/ExifTool/Fixup.pm +4 -4
- package/bin/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/lib/Image/ExifTool/FlashPix.pm +61 -8
- package/bin/lib/Image/ExifTool/Font.pm +1 -1
- package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/lib/Image/ExifTool/FujiFilm.pm +9 -4
- package/bin/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/lib/Image/ExifTool/GIF.pm +1 -1
- package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/lib/Image/ExifTool/GPS.pm +1 -1
- package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +4 -4
- package/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- package/bin/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/lib/Image/ExifTool/HP.pm +1 -1
- package/bin/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/lib/Image/ExifTool/HtmlDump.pm +7 -5
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- package/bin/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/lib/Image/ExifTool/ID3.pm +3 -3
- package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- package/bin/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/lib/Image/ExifTool/Import.pm +6 -6
- package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/lib/Image/ExifTool/JPEG.pm +5 -2
- package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/lib/Image/ExifTool/JSON.pm +3 -3
- package/bin/lib/Image/ExifTool/JVC.pm +3 -3
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +67 -17
- package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/lib/Image/ExifTool/LNK.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
- package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
- package/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
- package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/lib/Image/ExifTool/Leaf.pm +3 -3
- package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- package/bin/lib/Image/ExifTool/MIE.pm +5 -5
- package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/MISB.pm +1 -1
- package/bin/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/lib/Image/ExifTool/MXF.pm +1 -1
- package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/lib/Image/ExifTool/MinoltaRaw.pm +3 -3
- package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/lib/Image/ExifTool/Nikon.pm +11 -8
- package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/lib/Image/ExifTool/NikonCustom.pm +4 -4
- package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
- package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- package/bin/lib/Image/ExifTool/Ogg.pm +3 -3
- package/bin/lib/Image/ExifTool/Olympus.pm +1 -1
- package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/lib/Image/ExifTool/PDF.pm +55 -5
- package/bin/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/lib/Image/ExifTool/PLIST.pm +4 -4
- package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/lib/Image/ExifTool/PNG.pm +24 -2
- package/bin/lib/Image/ExifTool/PPM.pm +1 -1
- package/bin/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
- package/bin/lib/Image/ExifTool/PanasonicRaw.pm +4 -4
- package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/lib/Image/ExifTool/Pentax.pm +32 -11
- package/bin/lib/Image/ExifTool/PhaseOne.pm +6 -6
- package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/lib/Image/ExifTool/Photoshop.pm +4 -4
- package/bin/lib/Image/ExifTool/PostScript.pm +3 -3
- package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/lib/Image/ExifTool/QuickTime.pm +55 -101
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +97 -7
- package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/RSRC.pm +3 -3
- package/bin/lib/Image/ExifTool/RTF.pm +1 -1
- package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
- package/bin/lib/Image/ExifTool/Samsung.pm +5 -5
- package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/lib/Image/ExifTool/Shift.pl +2 -3
- package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/lib/Image/ExifTool/SigmaRaw.pm +4 -4
- package/bin/lib/Image/ExifTool/Sony.pm +5 -5
- package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/lib/Image/ExifTool/TagInfoXML.pm +4 -4
- package/bin/lib/Image/ExifTool/TagLookup.pm +3879 -3862
- package/bin/lib/Image/ExifTool/TagNames.pod +11439 -11374
- package/bin/lib/Image/ExifTool/Text.pm +1 -1
- package/bin/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/lib/Image/ExifTool/VCard.pm +1 -1
- package/bin/lib/Image/ExifTool/Validate.pm +1 -1
- package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/lib/Image/ExifTool/WPG.pm +1 -1
- package/bin/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +2 -2
- package/bin/lib/Image/ExifTool/WriteExif.pl +27 -24
- package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePDF.pl +2 -2
- package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +5 -2
- package/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteXMP.pl +9 -5
- package/bin/lib/Image/ExifTool/Writer.pl +74 -45
- package/bin/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/lib/Image/ExifTool/XMP.pm +20 -3
- package/bin/lib/Image/ExifTool/XMP2.pl +10 -1
- package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- package/bin/lib/Image/ExifTool/ZIP.pm +7 -7
- package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/lib/Image/ExifTool.pm +59 -28
- package/bin/lib/Image/ExifTool.pod +81 -68
- package/bin/perl-Image-ExifTool.spec +45 -44
- package/bin/pp_build_exe.args +5 -5
- package/package.json +5 -5
|
@@ -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.
|
|
@@ -121,7 +121,7 @@ information from Windows ICO (icon) and CUR (cursor) files.
|
|
|
121
121
|
|
|
122
122
|
=head1 AUTHOR
|
|
123
123
|
|
|
124
|
-
Copyright 2003-
|
|
124
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
125
125
|
|
|
126
126
|
This library is free software; you can redistribute it and/or modify it
|
|
127
127
|
under the same terms as Perl itself.
|
|
@@ -18,7 +18,7 @@ use strict;
|
|
|
18
18
|
use vars qw($VERSION);
|
|
19
19
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
20
20
|
|
|
21
|
-
$VERSION = '1.
|
|
21
|
+
$VERSION = '1.61';
|
|
22
22
|
|
|
23
23
|
sub ProcessID3v2($$$);
|
|
24
24
|
sub ProcessPrivate($$$);
|
|
@@ -1408,7 +1408,7 @@ sub ProcessID3($$)
|
|
|
1408
1408
|
$$et{DoneID3} = 1;
|
|
1409
1409
|
|
|
1410
1410
|
# allow this to be called with either RAF or DataPt
|
|
1411
|
-
my $raf = $$dirInfo{RAF} ||
|
|
1411
|
+
my $raf = $$dirInfo{RAF} || File::RandomAccess->new($$dirInfo{DataPt});
|
|
1412
1412
|
my ($buff, %id3Header, %id3Trailer, $hBuff, $tBuff, $eBuff, $tagTablePtr);
|
|
1413
1413
|
my $rtnVal = 0;
|
|
1414
1414
|
my $hdrEnd = 0;
|
|
@@ -1718,7 +1718,7 @@ other types of audio files.
|
|
|
1718
1718
|
|
|
1719
1719
|
=head1 AUTHOR
|
|
1720
1720
|
|
|
1721
|
-
Copyright 2003-
|
|
1721
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1722
1722
|
|
|
1723
1723
|
This library is free software; you can redistribute it and/or modify it
|
|
1724
1724
|
under the same terms as Perl itself.
|
|
@@ -1284,7 +1284,7 @@ image files.
|
|
|
1284
1284
|
|
|
1285
1285
|
=head1 AUTHOR
|
|
1286
1286
|
|
|
1287
|
-
Copyright 2003-
|
|
1287
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1288
1288
|
|
|
1289
1289
|
This library is free software; you can redistribute it and/or modify it
|
|
1290
1290
|
under the same terms as Perl itself.
|
|
@@ -184,7 +184,7 @@ information from ISO 9660 disk images.
|
|
|
184
184
|
|
|
185
185
|
=head1 AUTHOR
|
|
186
186
|
|
|
187
|
-
Copyright 2003-
|
|
187
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
188
188
|
|
|
189
189
|
This library is free software; you can redistribute it and/or modify it
|
|
190
190
|
under the same terms as Perl itself.
|
|
@@ -191,7 +191,7 @@ information (including artwork images) from iTunes Cover Flow files.
|
|
|
191
191
|
|
|
192
192
|
=head1 AUTHOR
|
|
193
193
|
|
|
194
|
-
Copyright 2003-
|
|
194
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
195
195
|
|
|
196
196
|
This library is free software; you can redistribute it and/or modify it
|
|
197
197
|
under the same terms as Perl itself.
|
|
@@ -12,7 +12,7 @@ require Exporter;
|
|
|
12
12
|
|
|
13
13
|
use vars qw($VERSION @ISA @EXPORT_OK);
|
|
14
14
|
|
|
15
|
-
$VERSION = '1.
|
|
15
|
+
$VERSION = '1.11';
|
|
16
16
|
@ISA = qw(Exporter);
|
|
17
17
|
@EXPORT_OK = qw(ReadCSV ReadJSON);
|
|
18
18
|
|
|
@@ -38,13 +38,13 @@ sub ReadCSV($$;$$)
|
|
|
38
38
|
$raf = $file;
|
|
39
39
|
$file = 'CSV file';
|
|
40
40
|
} elsif (ref $file eq 'GLOB') {
|
|
41
|
-
$raf =
|
|
41
|
+
$raf = File::RandomAccess->new($file);
|
|
42
42
|
$file = 'CSV file';
|
|
43
43
|
} else {
|
|
44
44
|
open CSVFILE, $file or return "Error opening CSV file '${file}'";
|
|
45
45
|
binmode CSVFILE;
|
|
46
46
|
$openedFile = 1;
|
|
47
|
-
$raf =
|
|
47
|
+
$raf = File::RandomAccess->new(\*CSVFILE);
|
|
48
48
|
}
|
|
49
49
|
$delim = ',' unless defined $delim;
|
|
50
50
|
# set input record separator by first newline found in the file
|
|
@@ -253,13 +253,13 @@ sub ReadJSON($$;$$)
|
|
|
253
253
|
$raf = $file;
|
|
254
254
|
$file = 'JSON file';
|
|
255
255
|
} elsif (ref $file eq 'GLOB') {
|
|
256
|
-
$raf =
|
|
256
|
+
$raf = File::RandomAccess->new($file);
|
|
257
257
|
$file = 'JSON file';
|
|
258
258
|
} else {
|
|
259
259
|
open JSONFILE, $file or return "Error opening JSON file '${file}'";
|
|
260
260
|
binmode JSONFILE;
|
|
261
261
|
$openedFile = 1;
|
|
262
|
-
$raf =
|
|
262
|
+
$raf = File::RandomAccess->new(\*JSONFILE);
|
|
263
263
|
}
|
|
264
264
|
my $obj = ReadJSONObject($raf);
|
|
265
265
|
close JSONFILE if $openedFile;
|
|
@@ -348,7 +348,7 @@ stored as hash lookups of tag name/value for each SourceFile.
|
|
|
348
348
|
|
|
349
349
|
=head1 AUTHOR
|
|
350
350
|
|
|
351
|
-
Copyright 2003-
|
|
351
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
352
352
|
|
|
353
353
|
This library is free software; you can redistribute it and/or modify it
|
|
354
354
|
under the same terms as Perl itself.
|
|
@@ -258,7 +258,7 @@ them and the LargeFileSupport option is enabled.
|
|
|
258
258
|
|
|
259
259
|
=head1 AUTHOR
|
|
260
260
|
|
|
261
|
-
Copyright 2003-
|
|
261
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
262
262
|
|
|
263
263
|
This library is free software; you can redistribute it and/or modify it
|
|
264
264
|
under the same terms as Perl itself.
|
|
@@ -206,7 +206,7 @@ IJPEG SDK, used in cameras such as the P2 Pro.
|
|
|
206
206
|
|
|
207
207
|
=head1 AUTHOR
|
|
208
208
|
|
|
209
|
-
Copyright 2003-
|
|
209
|
+
Copyright 2003-2024, Marcos Del Sol Vives (marcos at orca.pet)
|
|
210
210
|
|
|
211
211
|
This library is free software; you can redistribute it and/or modify it
|
|
212
212
|
under the same terms as Perl itself.
|
|
@@ -11,7 +11,7 @@ use strict;
|
|
|
11
11
|
use vars qw($VERSION);
|
|
12
12
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
13
13
|
|
|
14
|
-
$VERSION = '1.
|
|
14
|
+
$VERSION = '1.36';
|
|
15
15
|
|
|
16
16
|
sub ProcessOcad($$$);
|
|
17
17
|
sub ProcessJPEG_HDR($$$);
|
|
@@ -335,6 +335,9 @@ sub ProcessJPEG_HDR($$$);
|
|
|
335
335
|
Name => 'NikonApp',
|
|
336
336
|
Condition => '$$valPt =~ m(\0{6}/NIKON APP$)',
|
|
337
337
|
Notes => 'contains editing information in XMP format',
|
|
338
|
+
}, {
|
|
339
|
+
Name => 'SonyHiddenData',
|
|
340
|
+
Condition => '$$valPt =~ /^\x55\x26\x11\x05\0/',
|
|
338
341
|
}, {
|
|
339
342
|
Name => 'PreviewImage',
|
|
340
343
|
Condition => '$$valPt =~ /^\xff\xd8\xff/',
|
|
@@ -765,7 +768,7 @@ segments are included in the Image::ExifTool module itself.
|
|
|
765
768
|
|
|
766
769
|
=head1 AUTHOR
|
|
767
770
|
|
|
768
|
-
Copyright 2003-
|
|
771
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
769
772
|
|
|
770
773
|
This library is free software; you can redistribute it and/or modify it
|
|
771
774
|
under the same terms as Perl itself.
|
|
@@ -2590,7 +2590,7 @@ estimated JPEG quality if requested.
|
|
|
2590
2590
|
|
|
2591
2591
|
=head1 AUTHOR
|
|
2592
2592
|
|
|
2593
|
-
Copyright 2003-
|
|
2593
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2594
2594
|
|
|
2595
2595
|
This library is free software; you can redistribute it and/or modify it
|
|
2596
2596
|
under the same terms as Perl itself.
|