exiftool_vendored 12.72.0 → 12.73.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +17 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +3 -3
- data/bin/exiftool +28 -15
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool/AAC.pm +8 -6
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/APP12.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +1 -1
- data/bin/lib/Image/ExifTool/Audible.pm +1 -1
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BPG.pm +1 -1
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- data/bin/lib/Image/ExifTool/Canon.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +1 -1
- data/bin/lib/Image/ExifTool/Charset.pm +1 -1
- data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- data/bin/lib/Image/ExifTool/DJI.pm +1 -1
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- data/bin/lib/Image/ExifTool/DPX.pm +1 -1
- data/bin/lib/Image/ExifTool/DV.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +1 -1
- data/bin/lib/Image/ExifTool/FITS.pm +1 -1
- data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +1 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +1 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +1 -1
- data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- data/bin/lib/Image/ExifTool/ICO.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/ISO.pm +1 -1
- data/bin/lib/Image/ExifTool/ITC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +1 -1
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +5 -2
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +1 -1
- data/bin/lib/Image/ExifTool/JVC.pm +3 -3
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LIF.pm +1 -1
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
- data/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
- data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- data/bin/lib/Image/ExifTool/Leaf.pm +3 -3
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +3 -3
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/MISB.pm +1 -1
- data/bin/lib/Image/ExifTool/MNG.pm +1 -1
- data/bin/lib/Image/ExifTool/MOI.pm +1 -1
- data/bin/lib/Image/ExifTool/MPC.pm +1 -1
- data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +1 -1
- data/bin/lib/Image/ExifTool/MRC.pm +1 -1
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +9 -8
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
- data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
- data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
- data/bin/lib/Image/ExifTool/Opus.pm +1 -1
- data/bin/lib/Image/ExifTool/Other.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +1 -1
- data/bin/lib/Image/ExifTool/PGF.pm +1 -1
- data/bin/lib/Image/ExifTool/PICT.pm +1 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +24 -2
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- data/bin/lib/Image/ExifTool/PSP.pm +1 -1
- data/bin/lib/Image/ExifTool/Palm.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +32 -11
- data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
- data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +21 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +90 -2
- data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- data/bin/lib/Image/ExifTool/Red.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
- data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
- data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- data/bin/lib/Image/ExifTool/Shift.pl +1 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
- data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +3 -3
- data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- data/bin/lib/Image/ExifTool/Stim.pm +1 -1
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +3872 -3858
- data/bin/lib/Image/ExifTool/TagNames.pod +11416 -11382
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +1 -1
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WPG.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
- data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
- data/bin/lib/Image/ExifTool/Writer.pl +6 -1
- data/bin/lib/Image/ExifTool/XISF.pm +1 -1
- data/bin/lib/Image/ExifTool/XMP.pm +19 -3
- data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +18 -3
- data/bin/lib/Image/ExifTool.pod +10 -2
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -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.47';
|
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 = new File::RandomAccess($$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
|
|
@@ -2326,6 +2359,9 @@ sub ProcessFPX($$)
|
|
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.
|
@@ -1874,7 +1874,7 @@ FujiFilm maker notes in EXIF information, and to read/write FujiFilm RAW
|
|
1874
1874
|
|
1875
1875
|
=head1 AUTHOR
|
1876
1876
|
|
1877
|
-
Copyright 2003-
|
1877
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
1878
1878
|
|
1879
1879
|
This library is free software; you can redistribute it and/or modify it
|
1880
1880
|
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.
|
@@ -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.
|
@@ -917,7 +917,7 @@ page.
|
|
917
917
|
|
918
918
|
=head1 AUTHOR
|
919
919
|
|
920
|
-
Copyright 2003-
|
920
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
921
921
|
|
922
922
|
This library is free software; you can redistribute it and/or modify it
|
923
923
|
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.
|
@@ -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.
|
@@ -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.
|
@@ -179,7 +179,7 @@ information from JSON files.
|
|
179
179
|
|
180
180
|
=head1 AUTHOR
|
181
181
|
|
182
|
-
Copyright 2003-
|
182
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
183
183
|
|
184
184
|
This library is free software; you can redistribute it and/or modify it
|
185
185
|
under the same terms as Perl itself.
|
@@ -13,7 +13,7 @@ use vars qw($VERSION);
|
|
13
13
|
use Image::ExifTool qw(:DataAccess :Utils);
|
14
14
|
use Image::ExifTool::Exif;
|
15
15
|
|
16
|
-
$VERSION = '1.
|
16
|
+
$VERSION = '1.04';
|
17
17
|
|
18
18
|
sub ProcessJVCText($$$);
|
19
19
|
|
@@ -88,7 +88,7 @@ sub ProcessJVCText($$$)
|
|
88
88
|
$tagInfo = {
|
89
89
|
Name => "JVC_Text_$tag",
|
90
90
|
Unknown => 1,
|
91
|
-
PrintConv =>
|
91
|
+
PrintConv => \&Image::ExifTool::LimitLongValues,
|
92
92
|
};
|
93
93
|
# add tag information to table
|
94
94
|
AddTagToTable($tagTablePtr, $tag, $tagInfo);
|
@@ -117,7 +117,7 @@ notes.
|
|
117
117
|
|
118
118
|
=head1 AUTHOR
|
119
119
|
|
120
|
-
Copyright 2003-
|
120
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
121
121
|
|
122
122
|
This library is free software; you can redistribute it and/or modify it
|
123
123
|
under the same terms as Perl itself.
|
@@ -16,7 +16,7 @@ use strict;
|
|
16
16
|
use vars qw($VERSION);
|
17
17
|
use Image::ExifTool qw(:DataAccess :Utils);
|
18
18
|
|
19
|
-
$VERSION = '1.
|
19
|
+
$VERSION = '1.37';
|
20
20
|
|
21
21
|
sub ProcessJpeg2000Box($$$);
|
22
22
|
sub ProcessJUMD($$$);
|
@@ -854,6 +854,17 @@ sub ProcessJUMD($$$)
|
|
854
854
|
return 1;
|
855
855
|
}
|
856
856
|
|
857
|
+
#------------------------------------------------------------------------------
|
858
|
+
# Warn about error in Brotli compression/decompression
|
859
|
+
# Inputs: 0) ExifTool ref, 1) box type, 2) true for decoding (Uncompress)
|
860
|
+
sub BrotliWarn($$;$)
|
861
|
+
{
|
862
|
+
my ($et, $type, $uncompress) = @_;
|
863
|
+
my ($enc, $mod) = $uncompress ? qw(decoding Uncompress) : qw(encoding Compress);
|
864
|
+
$et->WarnOnce("Error $enc '${type}' brob box");
|
865
|
+
$et->WarnOnce("Try updating to IO::${mod}::Brotli 0.004 or later");
|
866
|
+
}
|
867
|
+
|
857
868
|
#------------------------------------------------------------------------------
|
858
869
|
# Create new JPEG 2000 boxes when writing
|
859
870
|
# (Currently only supports adding top-level Writable JPEG2000 tags and certain UUID boxes)
|
@@ -909,7 +920,7 @@ sub CreateNewBoxes($$)
|
|
909
920
|
my $compressed;
|
910
921
|
eval { $compressed = IO::Compress::Brotli::bro($pad . $newdir) };
|
911
922
|
if ($@ or not $compressed) {
|
912
|
-
$et
|
923
|
+
BrotliWarn($et, $dirName);
|
913
924
|
} else {
|
914
925
|
$et->VPrint(0, " Writing Brotli-compressed $dir\n");
|
915
926
|
$newdir = $compressed;
|
@@ -1248,7 +1259,7 @@ sub ProcessJpeg2000Box($$$)
|
|
1248
1259
|
my $compressed;
|
1249
1260
|
eval { $compressed = IO::Compress::Brotli::bro($pad . $newdir) };
|
1250
1261
|
if ($@ or not $compressed) {
|
1251
|
-
$et
|
1262
|
+
BrotliWarn($et, $boxID);
|
1252
1263
|
} else {
|
1253
1264
|
$et->VPrint(0, " Writing Brotli-compressed $boxID\n");
|
1254
1265
|
$newdir = $boxID . $compressed;
|
@@ -1389,7 +1400,7 @@ sub ProcessBrotli($$$)
|
|
1389
1400
|
my $verbose = $isWriting ? 0 : $et->Options('Verbose');
|
1390
1401
|
my $dat = substr($$dataPt, 4);
|
1391
1402
|
eval { $dat = IO::Uncompress::Brotli::unbro($dat, 100000000) };
|
1392
|
-
$@ and $et
|
1403
|
+
$@ and BrotliWarn($et, $type, 1), return 1;
|
1393
1404
|
$verbose > 2 and $et->VerboseDump(\$dat, Prefix => $$et{INDENT} . ' ');
|
1394
1405
|
my %dirInfo = ( DataPt => \$dat );
|
1395
1406
|
if ($type eq 'xml ') {
|
@@ -1422,7 +1433,7 @@ sub ProcessBrotli($$$)
|
|
1422
1433
|
# rewrite as uncompressed if Compress option is set to 0 (or '')
|
1423
1434
|
return $dat if defined $compress and not $compress;
|
1424
1435
|
eval { $dat = IO::Compress::Brotli::bro($dat) };
|
1425
|
-
$@ and $et
|
1436
|
+
$@ and BrotliWarn($et, $type), return undef;
|
1426
1437
|
$et->VPrint(0, " Writing Brotli-compressed $type\n");
|
1427
1438
|
return $type . $dat;
|
1428
1439
|
}
|
@@ -1620,7 +1631,7 @@ files.
|
|
1620
1631
|
|
1621
1632
|
=head1 AUTHOR
|
1622
1633
|
|
1623
|
-
Copyright 2003-
|
1634
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
1624
1635
|
|
1625
1636
|
This library is free software; you can redistribute it and/or modify it
|
1626
1637
|
under the same terms as Perl itself.
|
@@ -3252,7 +3252,7 @@ interpret Kodak maker notes EXIF meta information.
|
|
3252
3252
|
|
3253
3253
|
=head1 AUTHOR
|
3254
3254
|
|
3255
|
-
Copyright 2003-
|
3255
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
3256
3256
|
|
3257
3257
|
This library is free software; you can redistribute it and/or modify it
|
3258
3258
|
under the same terms as Perl itself.
|
@@ -152,7 +152,7 @@ meta information from Kyocera Contax N Digital RAW images.
|
|
152
152
|
|
153
153
|
=head1 AUTHOR
|
154
154
|
|
155
|
-
Copyright 2003-
|
155
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
156
156
|
|
157
157
|
This library is free software; you can redistribute it and/or modify it
|
158
158
|
under the same terms as Perl itself.
|
@@ -147,7 +147,7 @@ metadata from Leica Image File (LIF) images.
|
|
147
147
|
|
148
148
|
=head1 AUTHOR
|
149
149
|
|
150
|
-
Copyright 2003-
|
150
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
151
151
|
|
152
152
|
This library is free software; you can redistribute it and/or modify it
|
153
153
|
under the same terms as Perl itself.
|
@@ -703,7 +703,7 @@ information MS Shell Link (Windows shortcut) files.
|
|
703
703
|
|
704
704
|
=head1 AUTHOR
|
705
705
|
|
706
|
-
Copyright 2003-
|
706
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
707
707
|
|
708
708
|
This library is free software; you can redistribute it and/or modify it
|
709
709
|
under the same terms as Perl itself.
|
@@ -1570,7 +1570,7 @@ and values.
|
|
1570
1570
|
|
1571
1571
|
=head1 AUTHOR
|
1572
1572
|
|
1573
|
-
Copyright 2003-
|
1573
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
1574
1574
|
|
1575
1575
|
This library is free software; you can redistribute it and/or modify it
|
1576
1576
|
under the same terms as Perl itself.
|
@@ -8702,7 +8702,7 @@ and values.
|
|
8702
8702
|
|
8703
8703
|
=head1 AUTHOR
|
8704
8704
|
|
8705
|
-
Copyright 2003-
|
8705
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
8706
8706
|
|
8707
8707
|
This library is free software; you can redistribute it and/or modify it
|
8708
8708
|
under the same terms as Perl itself.
|
@@ -989,7 +989,7 @@ and values.
|
|
989
989
|
|
990
990
|
=head1 AUTHOR
|
991
991
|
|
992
|
-
Copyright 2003-
|
992
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
993
993
|
|
994
994
|
This library is free software; you can redistribute it and/or modify it
|
995
995
|
under the same terms as Perl itself.
|
@@ -1032,7 +1032,7 @@ and values.
|
|
1032
1032
|
|
1033
1033
|
=head1 AUTHOR
|
1034
1034
|
|
1035
|
-
Copyright 2003-
|
1035
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
1036
1036
|
|
1037
1037
|
This library is free software; you can redistribute it and/or modify it
|
1038
1038
|
under the same terms as Perl itself.
|
@@ -1980,10 +1980,10 @@ $VERSION = '1.16';
|
|
1980
1980
|
'IPTCPixelHeight' => 'Tamaño Pixel Perpendicular a Dirección Escaneo',
|
1981
1981
|
'IPTCPixelWidth' => 'Tamaño Pixel en Dirección Escaneo',
|
1982
1982
|
'ISO' => 'Ratio Velocidad ISO',
|
1983
|
-
'
|
1983
|
+
'ISOAutoMinSpeed' => {
|
1984
1984
|
PrintConv => {
|
1985
|
-
'Fast' => '
|
1986
|
-
'Standard' => '
|
1985
|
+
'Auto Fast' => 'Auto-rápido',
|
1986
|
+
'Auto Standard' => 'Auto-estándar',
|
1987
1987
|
},
|
1988
1988
|
},
|
1989
1989
|
'ISOExpansion' => {
|
@@ -4005,7 +4005,7 @@ and values.
|
|
4005
4005
|
|
4006
4006
|
=head1 AUTHOR
|
4007
4007
|
|
4008
|
-
Copyright 2003-
|
4008
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
4009
4009
|
|
4010
4010
|
This library is free software; you can redistribute it and/or modify it
|
4011
4011
|
under the same terms as Perl itself.
|
@@ -2878,7 +2878,7 @@ and values.
|
|
2878
2878
|
|
2879
2879
|
=head1 AUTHOR
|
2880
2880
|
|
2881
|
-
Copyright 2003-
|
2881
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
2882
2882
|
|
2883
2883
|
This library is free software; you can redistribute it and/or modify it
|
2884
2884
|
under the same terms as Perl itself.
|