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
|
@@ -14,7 +14,7 @@ use vars qw($VERSION);
|
|
|
14
14
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
15
15
|
use Image::ExifTool::Import;
|
|
16
16
|
|
|
17
|
-
$VERSION = '1.
|
|
17
|
+
$VERSION = '1.07';
|
|
18
18
|
|
|
19
19
|
sub ProcessJSON($$);
|
|
20
20
|
sub ProcessTag($$$$%);
|
|
@@ -120,7 +120,7 @@ sub ProcessJSON($$)
|
|
|
120
120
|
my $buff = substr(${$$dirInfo{DataPt}}, $$dirInfo{DirStart}, $$dirInfo{DirLen});
|
|
121
121
|
$dataPt = \$buff;
|
|
122
122
|
}
|
|
123
|
-
$raf =
|
|
123
|
+
$raf = File::RandomAccess->new($dataPt);
|
|
124
124
|
# extract as a block if requested
|
|
125
125
|
my $blockName = $$dirInfo{BlockInfo} ? $$dirInfo{BlockInfo}{Name} : '';
|
|
126
126
|
my $blockExtract = $et->Options('BlockExtract');
|
|
@@ -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.39';
|
|
20
20
|
|
|
21
21
|
sub ProcessJpeg2000Box($$$);
|
|
22
22
|
sub ProcessJUMD($$$);
|
|
@@ -141,10 +141,13 @@ my %j2cMarker = (
|
|
|
141
141
|
Authenticity Initiative) JUMBF (JPEG Universal Metadata Box Format) metdata
|
|
142
142
|
is currently extracted from JPEG, PNG, TIFF-based (eg. TIFF, DNG),
|
|
143
143
|
QuickTime-based (eg. MP4, MOV, HEIF, AVIF), RIFF-based (eg. WAV, AVI, WebP),
|
|
144
|
-
GIF files and ID3v2 metadata. The suggested ExifTool
|
|
145
|
-
for reading C2PA metadata are C<-jumbf:all -G3 -b -j
|
|
146
|
-
metadata may be deleted from writable JPEG, PNG, WebP,
|
|
147
|
-
QuickTime-based files by deleting the JUMBF group with
|
|
144
|
+
PDF, SVG and GIF files, and ID3v2 metadata. The suggested ExifTool
|
|
145
|
+
command-line arguments for reading C2PA metadata are C<-jumbf:all -G3 -b -j
|
|
146
|
+
-u -struct>. This metadata may be deleted from writable JPEG, PNG, WebP,
|
|
147
|
+
TIFF-based, and QuickTime-based files by deleting the JUMBF group with
|
|
148
|
+
C<-jumbf:all=>. The C2PA JUMBF metadata may be extracted as a block via the
|
|
149
|
+
JUMBF tag. See L<https://c2pa.org/specifications/> for the C2PA
|
|
150
|
+
specification.
|
|
148
151
|
},
|
|
149
152
|
#
|
|
150
153
|
# NOTE: ONLY TAGS WITH "Format" DEFINED ARE EXTRACTED!
|
|
@@ -419,7 +422,7 @@ my %j2cMarker = (
|
|
|
419
422
|
Flags => [ 'Binary', 'Protected' ],
|
|
420
423
|
SubDirectory => { TagTable => 'Image::ExifTool::CBOR::Main' },
|
|
421
424
|
},
|
|
422
|
-
bfdb => { # used in JUMBF
|
|
425
|
+
bfdb => { # used in JUMBF
|
|
423
426
|
Name => 'BinaryDataType',
|
|
424
427
|
Notes => 'JUMBF, MIME type and optional file name',
|
|
425
428
|
Format => 'undef',
|
|
@@ -748,6 +751,7 @@ my %j2cMarker = (
|
|
|
748
751
|
},
|
|
749
752
|
# seen:
|
|
750
753
|
# cacb/cast/caas/cacl/casg/json-00110010800000aa00389b71
|
|
754
|
+
# (also brob- but not yet tested)
|
|
751
755
|
# 6579d6fbdba2446bb2ac1b82feeb89d1 - JPEG image
|
|
752
756
|
},
|
|
753
757
|
'label' => { Name => 'JUMDLabel' },
|
|
@@ -821,6 +825,7 @@ sub ProcessJUMD($$$)
|
|
|
821
825
|
$name =~ tr/-_a-zA-Z0-9//dc; # remove other illegal characters
|
|
822
826
|
$name =~ s/__/_/; # collapse double underlines
|
|
823
827
|
$name = ucfirst $name; # capitalize first letter
|
|
828
|
+
$name =~ s/C2pa/C2PA/; # capitalize C2PA
|
|
824
829
|
$name = "Tag$name" if length($name) < 2; # must at least 2 characters long
|
|
825
830
|
$$et{JUMBFLabel} = $name;
|
|
826
831
|
}
|
|
@@ -854,6 +859,17 @@ sub ProcessJUMD($$$)
|
|
|
854
859
|
return 1;
|
|
855
860
|
}
|
|
856
861
|
|
|
862
|
+
#------------------------------------------------------------------------------
|
|
863
|
+
# Warn about error in Brotli compression/decompression
|
|
864
|
+
# Inputs: 0) ExifTool ref, 1) box type, 2) true for decoding (Uncompress)
|
|
865
|
+
sub BrotliWarn($$;$)
|
|
866
|
+
{
|
|
867
|
+
my ($et, $type, $uncompress) = @_;
|
|
868
|
+
my ($enc, $mod) = $uncompress ? qw(decoding Uncompress) : qw(encoding Compress);
|
|
869
|
+
$et->WarnOnce("Error $enc '${type}' brob box");
|
|
870
|
+
$et->WarnOnce("Try updating to IO::${mod}::Brotli 0.004 or later");
|
|
871
|
+
}
|
|
872
|
+
|
|
857
873
|
#------------------------------------------------------------------------------
|
|
858
874
|
# Create new JPEG 2000 boxes when writing
|
|
859
875
|
# (Currently only supports adding top-level Writable JPEG2000 tags and certain UUID boxes)
|
|
@@ -909,7 +925,7 @@ sub CreateNewBoxes($$)
|
|
|
909
925
|
my $compressed;
|
|
910
926
|
eval { $compressed = IO::Compress::Brotli::bro($pad . $newdir) };
|
|
911
927
|
if ($@ or not $compressed) {
|
|
912
|
-
$et
|
|
928
|
+
BrotliWarn($et, $dirName);
|
|
913
929
|
} else {
|
|
914
930
|
$et->VPrint(0, " Writing Brotli-compressed $dir\n");
|
|
915
931
|
$newdir = $compressed;
|
|
@@ -1006,11 +1022,23 @@ sub ProcessJpeg2000Box($$$)
|
|
|
1006
1022
|
my $dirStart = $$dirInfo{DirStart} || 0;
|
|
1007
1023
|
my $base = $$dirInfo{Base} || 0;
|
|
1008
1024
|
my $outfile = $$dirInfo{OutFile};
|
|
1025
|
+
my $dirName = $$dirInfo{DirName} || '';
|
|
1009
1026
|
my $dirEnd = $dirStart + $dirLen;
|
|
1010
1027
|
my ($err, $outBuff, $verbose, $doColour, $hash, $raf);
|
|
1011
1028
|
|
|
1012
|
-
|
|
1013
|
-
|
|
1029
|
+
if ($dataPt) {
|
|
1030
|
+
# save C2PA JUMBF as a block if requested
|
|
1031
|
+
if ($dirName eq 'JUMBF' and $$et{REQ_TAG_LOOKUP}{jumbf} and not $$dirInfo{NoBlockSave}) {
|
|
1032
|
+
if ($dirStart or $dirLen ne length($$dataPt)) {
|
|
1033
|
+
my $dat = substr($$dataPt, $dirStart, $dirLen);
|
|
1034
|
+
$et->FoundTag(JUMBF => \$dat);
|
|
1035
|
+
} else {
|
|
1036
|
+
$et->FoundTag(JUMBF => $dataPt);
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
} else {
|
|
1040
|
+
$raf = $$dirInfo{RAF}; # read from RAF
|
|
1041
|
+
}
|
|
1014
1042
|
|
|
1015
1043
|
if ($outfile) {
|
|
1016
1044
|
unless ($raf) {
|
|
@@ -1019,7 +1047,7 @@ sub ProcessJpeg2000Box($$$)
|
|
|
1019
1047
|
$outfile = \$outBuff;
|
|
1020
1048
|
}
|
|
1021
1049
|
# determine if we will be writing colr box
|
|
1022
|
-
if (
|
|
1050
|
+
if ($dirName eq 'JP2Header') {
|
|
1023
1051
|
$doColour = 2 if defined $et->GetNewValue('ColorSpecMethod') or $et->GetNewValue('ICC_Profile') or
|
|
1024
1052
|
defined $et->GetNewValue('ColorSpecPrecedence') or defined $et->GetNewValue('ColorSpace') or
|
|
1025
1053
|
defined $et->GetNewValue('ColorSpecApproximation') or defined $et->GetNewValue('ColorSpecData');
|
|
@@ -1027,7 +1055,7 @@ sub ProcessJpeg2000Box($$$)
|
|
|
1027
1055
|
} else {
|
|
1028
1056
|
# (must not set verbose flag when writing!)
|
|
1029
1057
|
$verbose = $$et{OPTIONS}{Verbose};
|
|
1030
|
-
$et->VerboseDir(
|
|
1058
|
+
$et->VerboseDir($dirName) if $verbose;
|
|
1031
1059
|
# do hash if requested, but only for top-level image data
|
|
1032
1060
|
$hash = $$et{ImageDataHash} if $raf;
|
|
1033
1061
|
}
|
|
@@ -1176,7 +1204,7 @@ sub ProcessJpeg2000Box($$$)
|
|
|
1176
1204
|
# create new tag for JUMBF data values with name corresponding to JUMBFLabel
|
|
1177
1205
|
if ($tagInfo and $$et{JUMBFLabel} and (not $$tagInfo{SubDirectory} or $$tagInfo{BlockExtract})) {
|
|
1178
1206
|
$tagInfo = { %$tagInfo, Name => $$et{JUMBFLabel} . ($$tagInfo{JUMBF_Suffix} || '') };
|
|
1179
|
-
|
|
1207
|
+
($$tagInfo{Description} = Image::ExifTool::MakeDescription($$tagInfo{Name})) =~ s/C2 PA/C2PA/;
|
|
1180
1208
|
AddTagToTable($tagTablePtr, '_JUMBF_' . $$et{JUMBFLabel}, $tagInfo);
|
|
1181
1209
|
delete $$tagInfo{Protected}; # (must do this so -j -b returns JUMBF binary data)
|
|
1182
1210
|
$$tagInfo{TagID} = $boxID;
|
|
@@ -1248,7 +1276,7 @@ sub ProcessJpeg2000Box($$$)
|
|
|
1248
1276
|
my $compressed;
|
|
1249
1277
|
eval { $compressed = IO::Compress::Brotli::bro($pad . $newdir) };
|
|
1250
1278
|
if ($@ or not $compressed) {
|
|
1251
|
-
$et
|
|
1279
|
+
BrotliWarn($et, $boxID);
|
|
1252
1280
|
} else {
|
|
1253
1281
|
$et->VPrint(0, " Writing Brotli-compressed $boxID\n");
|
|
1254
1282
|
$newdir = $boxID . $compressed;
|
|
@@ -1389,7 +1417,7 @@ sub ProcessBrotli($$$)
|
|
|
1389
1417
|
my $verbose = $isWriting ? 0 : $et->Options('Verbose');
|
|
1390
1418
|
my $dat = substr($$dataPt, 4);
|
|
1391
1419
|
eval { $dat = IO::Uncompress::Brotli::unbro($dat, 100000000) };
|
|
1392
|
-
$@ and $et
|
|
1420
|
+
$@ and BrotliWarn($et, $type, 1), return 1;
|
|
1393
1421
|
$verbose > 2 and $et->VerboseDump(\$dat, Prefix => $$et{INDENT} . ' ');
|
|
1394
1422
|
my %dirInfo = ( DataPt => \$dat );
|
|
1395
1423
|
if ($type eq 'xml ') {
|
|
@@ -1422,7 +1450,7 @@ sub ProcessBrotli($$$)
|
|
|
1422
1450
|
# rewrite as uncompressed if Compress option is set to 0 (or '')
|
|
1423
1451
|
return $dat if defined $compress and not $compress;
|
|
1424
1452
|
eval { $dat = IO::Compress::Brotli::bro($dat) };
|
|
1425
|
-
$@ and $et
|
|
1453
|
+
$@ and BrotliWarn($et, $type), return undef;
|
|
1426
1454
|
$et->VPrint(0, " Writing Brotli-compressed $type\n");
|
|
1427
1455
|
return $type . $dat;
|
|
1428
1456
|
}
|
|
@@ -1480,6 +1508,28 @@ sub ProcessJXLCodestream($$)
|
|
|
1480
1508
|
return 1;
|
|
1481
1509
|
}
|
|
1482
1510
|
|
|
1511
|
+
#------------------------------------------------------------------------------
|
|
1512
|
+
# Read/write meta information from a C2PA/JUMBF file
|
|
1513
|
+
# Inputs: 0) ExifTool object reference, 1) dirInfo reference
|
|
1514
|
+
# Returns: 1 on success, 0 if this wasn't a valid JUMBF file
|
|
1515
|
+
sub ProcessJUMBF($$)
|
|
1516
|
+
{
|
|
1517
|
+
my ($et, $dirInfo) = @_;
|
|
1518
|
+
my $raf = $$dirInfo{RAF};
|
|
1519
|
+
my $hdr;
|
|
1520
|
+
|
|
1521
|
+
# check to be sure this is a valid JPG2000 file
|
|
1522
|
+
return 0 unless $raf->Read($hdr,20) == 20 and $raf->Seek(0,0);
|
|
1523
|
+
return 0 unless $hdr =~ /^.{4}jumb\0.{3}jumd(.{4})/;
|
|
1524
|
+
$et->SetFileType($1 eq 'c2pa' ? 'C2PA' : 'JUMBF');
|
|
1525
|
+
my %dirInfo = (
|
|
1526
|
+
RAF => $raf,
|
|
1527
|
+
DirName => 'JUMBF',
|
|
1528
|
+
);
|
|
1529
|
+
my $tagTablePtr = GetTagTable('Image::ExifTool::Jpeg2000::Main');
|
|
1530
|
+
return $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1483
1533
|
#------------------------------------------------------------------------------
|
|
1484
1534
|
# Read/write meta information from a JPEG 2000 image
|
|
1485
1535
|
# Inputs: 0) ExifTool object reference, 1) dirInfo reference
|
|
@@ -1572,7 +1622,7 @@ sub ProcessJXL($$)
|
|
|
1572
1622
|
$$et{IsJXL} = 2;
|
|
1573
1623
|
my $buff = "\0\0\0\x0cJXL \x0d\x0a\x87\x0a\0\0\0\x14ftypjxl \0\0\0\0jxl ";
|
|
1574
1624
|
# add metadata to empty ISO BMFF container
|
|
1575
|
-
$$dirInfo{RAF} =
|
|
1625
|
+
$$dirInfo{RAF} = File::RandomAccess->new(\$buff);
|
|
1576
1626
|
} else {
|
|
1577
1627
|
$et->SetFileType('JXL Codestream','image/jxl', 'jxl');
|
|
1578
1628
|
if ($$et{ImageDataHash} and $raf->Seek(0,0)) {
|
|
@@ -1620,7 +1670,7 @@ files.
|
|
|
1620
1670
|
|
|
1621
1671
|
=head1 AUTHOR
|
|
1622
1672
|
|
|
1623
|
-
Copyright 2003-
|
|
1673
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1624
1674
|
|
|
1625
1675
|
This library is free software; you can redistribute it and/or modify it
|
|
1626
1676
|
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.
|
|
@@ -5881,11 +5881,10 @@ $VERSION = '1.36';
|
|
|
5881
5881
|
'ISOAutoMax' => 'ISO Auto maximum',
|
|
5882
5882
|
'ISOAutoMin' => 'ISO Auto minimum',
|
|
5883
5883
|
'ISOAutoOffset' => 'Décalage automatique de l\'ISO',
|
|
5884
|
-
'
|
|
5885
|
-
Description => 'Paramètres de l\'ISO Auto',
|
|
5884
|
+
'ISOAutoMinSpeed' => {
|
|
5886
5885
|
PrintConv => {
|
|
5887
|
-
'Fast' => '
|
|
5888
|
-
'Slow' => '
|
|
5886
|
+
'Auto Fast' => 'Auto rapide',
|
|
5887
|
+
'Auto Slow' => 'Auto lent',
|
|
5889
5888
|
},
|
|
5890
5889
|
},
|
|
5891
5890
|
'ISOExpansion' => {
|
|
@@ -11271,7 +11270,7 @@ and values.
|
|
|
11271
11270
|
|
|
11272
11271
|
=head1 AUTHOR
|
|
11273
11272
|
|
|
11274
|
-
Copyright 2003-
|
|
11273
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
11275
11274
|
|
|
11276
11275
|
This library is free software; you can redistribute it and/or modify it
|
|
11277
11276
|
under the same terms as Perl itself.
|
|
@@ -3613,10 +3613,10 @@ $VERSION = '1.14';
|
|
|
3613
3613
|
'Off' => 'Spento',
|
|
3614
3614
|
},
|
|
3615
3615
|
},
|
|
3616
|
-
'
|
|
3616
|
+
'ISOAutoMinSpeed' => {
|
|
3617
3617
|
Description => 'Parametri ISO auto',
|
|
3618
3618
|
PrintConv => {
|
|
3619
|
-
'Fast' => '
|
|
3619
|
+
'Auto Fast' => 'Auto veloce',
|
|
3620
3620
|
},
|
|
3621
3621
|
},
|
|
3622
3622
|
'ISODisplay' => {
|
|
@@ -7903,7 +7903,7 @@ and values.
|
|
|
7903
7903
|
|
|
7904
7904
|
=head1 AUTHOR
|
|
7905
7905
|
|
|
7906
|
-
Copyright 2003-
|
|
7906
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
7907
7907
|
|
|
7908
7908
|
This library is free software; you can redistribute it and/or modify it
|
|
7909
7909
|
under the same terms as Perl itself.
|
|
@@ -5841,7 +5841,7 @@ and values.
|
|
|
5841
5841
|
|
|
5842
5842
|
=head1 AUTHOR
|
|
5843
5843
|
|
|
5844
|
-
Copyright 2003-
|
|
5844
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
5845
5845
|
|
|
5846
5846
|
This library is free software; you can redistribute it and/or modify it
|
|
5847
5847
|
under the same terms as Perl itself.
|
|
@@ -2316,7 +2316,7 @@ and values.
|
|
|
2316
2316
|
|
|
2317
2317
|
=head1 AUTHOR
|
|
2318
2318
|
|
|
2319
|
-
Copyright 2003-
|
|
2319
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2320
2320
|
|
|
2321
2321
|
This library is free software; you can redistribute it and/or modify it
|
|
2322
2322
|
under the same terms as Perl itself.
|
|
@@ -3208,7 +3208,7 @@ and values.
|
|
|
3208
3208
|
|
|
3209
3209
|
=head1 AUTHOR
|
|
3210
3210
|
|
|
3211
|
-
Copyright 2003-
|
|
3211
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
3212
3212
|
|
|
3213
3213
|
This library is free software; you can redistribute it and/or modify it
|
|
3214
3214
|
under the same terms as Perl itself.
|
|
@@ -1258,7 +1258,7 @@ and values.
|
|
|
1258
1258
|
|
|
1259
1259
|
=head1 AUTHOR
|
|
1260
1260
|
|
|
1261
|
-
Copyright 2003-
|
|
1261
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1262
1262
|
|
|
1263
1263
|
This library is free software; you can redistribute it and/or modify it
|
|
1264
1264
|
under the same terms as Perl itself.
|
|
@@ -5718,7 +5718,7 @@ and values.
|
|
|
5718
5718
|
|
|
5719
5719
|
=head1 AUTHOR
|
|
5720
5720
|
|
|
5721
|
-
Copyright 2003-
|
|
5721
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
5722
5722
|
|
|
5723
5723
|
This library is free software; you can redistribute it and/or modify it
|
|
5724
5724
|
under the same terms as Perl itself.
|
|
@@ -1789,7 +1789,7 @@ and values.
|
|
|
1789
1789
|
|
|
1790
1790
|
=head1 AUTHOR
|
|
1791
1791
|
|
|
1792
|
-
Copyright 2003-
|
|
1792
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1793
1793
|
|
|
1794
1794
|
This library is free software; you can redistribute it and/or modify it
|
|
1795
1795
|
under the same terms as Perl itself.
|
|
@@ -620,7 +620,7 @@ and values.
|
|
|
620
620
|
|
|
621
621
|
=head1 AUTHOR
|
|
622
622
|
|
|
623
|
-
Copyright 2003-
|
|
623
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
624
624
|
|
|
625
625
|
This library is free software; you can redistribute it and/or modify it
|
|
626
626
|
under the same terms as Perl itself.
|
|
@@ -528,7 +528,7 @@ and values.
|
|
|
528
528
|
|
|
529
529
|
=head1 AUTHOR
|
|
530
530
|
|
|
531
|
-
Copyright 2003-
|
|
531
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
532
532
|
|
|
533
533
|
This library is free software; you can redistribute it and/or modify it
|
|
534
534
|
under the same terms as Perl itself.
|
|
@@ -1313,7 +1313,7 @@ and values.
|
|
|
1313
1313
|
|
|
1314
1314
|
=head1 AUTHOR
|
|
1315
1315
|
|
|
1316
|
-
Copyright 2003-
|
|
1316
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
1317
1317
|
|
|
1318
1318
|
This library is free software; you can redistribute it and/or modify it
|
|
1319
1319
|
under the same terms as Perl itself.
|
|
@@ -784,7 +784,7 @@ and values.
|
|
|
784
784
|
|
|
785
785
|
=head1 AUTHOR
|
|
786
786
|
|
|
787
|
-
Copyright 2003-
|
|
787
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
788
788
|
|
|
789
789
|
This library is free software; you can redistribute it and/or modify it
|
|
790
790
|
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.08';
|
|
17
17
|
|
|
18
18
|
sub ProcessLeaf($$$);
|
|
19
19
|
|
|
@@ -444,7 +444,7 @@ sub ProcessLeaf($$$)
|
|
|
444
444
|
$tagInfo = {
|
|
445
445
|
Name => $name,
|
|
446
446
|
Writable => 0,
|
|
447
|
-
PrintConv =>
|
|
447
|
+
PrintConv => \&Image::ExifTool::LimitLongValues,
|
|
448
448
|
};
|
|
449
449
|
# make tags in main table unknown because they tend to be binary
|
|
450
450
|
$$tagInfo{Unknown} = 1 if $tagTablePtr eq \%Image::ExifTool::Leaf::Main;
|
|
@@ -504,7 +504,7 @@ Capture.
|
|
|
504
504
|
|
|
505
505
|
=head1 AUTHOR
|
|
506
506
|
|
|
507
|
-
Copyright 2003-
|
|
507
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
508
508
|
|
|
509
509
|
This library is free software; you can redistribute it and/or modify it
|
|
510
510
|
under the same terms as Perl itself.
|
|
@@ -192,7 +192,7 @@ from Lytro Light Field Picture (LFP) files.
|
|
|
192
192
|
|
|
193
193
|
=head1 AUTHOR
|
|
194
194
|
|
|
195
|
-
Copyright 2003-
|
|
195
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
196
196
|
|
|
197
197
|
This library is free software; you can redistribute it and/or modify it
|
|
198
198
|
under the same terms as Perl itself.
|
|
@@ -941,7 +941,7 @@ video.
|
|
|
941
941
|
|
|
942
942
|
=head1 AUTHOR
|
|
943
943
|
|
|
944
|
-
Copyright 2003-
|
|
944
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
945
945
|
|
|
946
946
|
This library is free software; you can redistribute it and/or modify it
|
|
947
947
|
under the same terms as Perl itself.
|
|
@@ -14,7 +14,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
14
14
|
use Image::ExifTool::Exif;
|
|
15
15
|
use Image::ExifTool::GPS;
|
|
16
16
|
|
|
17
|
-
$VERSION = '1.
|
|
17
|
+
$VERSION = '1.54';
|
|
18
18
|
|
|
19
19
|
sub ProcessMIE($$);
|
|
20
20
|
sub ProcessMIEGroup($$$);
|
|
@@ -1077,7 +1077,7 @@ sub WriteMIEGroup($$$)
|
|
|
1077
1077
|
$newVal = '';
|
|
1078
1078
|
%subdirInfo = (
|
|
1079
1079
|
OutFile => \$newVal,
|
|
1080
|
-
RAF =>
|
|
1080
|
+
RAF => File::RandomAccess->new(\$oldVal),
|
|
1081
1081
|
);
|
|
1082
1082
|
} elsif ($optCompress and not $$dirInfo{IsCompressed}) {
|
|
1083
1083
|
# write to memory so we can compress the new MIE group
|
|
@@ -1536,7 +1536,7 @@ sub ProcessMIEGroup($$$)
|
|
|
1536
1536
|
$tagInfo = {
|
|
1537
1537
|
Name => $tag,
|
|
1538
1538
|
Writable => 0,
|
|
1539
|
-
PrintConv =>
|
|
1539
|
+
PrintConv => \&Image::ExifTool::LimitLongValues,
|
|
1540
1540
|
};
|
|
1541
1541
|
AddTagToTable($tagTablePtr, $tag, $tagInfo);
|
|
1542
1542
|
last;
|
|
@@ -1585,7 +1585,7 @@ sub ProcessMIEGroup($$$)
|
|
|
1585
1585
|
WasCompressed => $wasCompressed,
|
|
1586
1586
|
);
|
|
1587
1587
|
# read from uncompressed data instead if necessary
|
|
1588
|
-
$subdirInfo{RAF} =
|
|
1588
|
+
$subdirInfo{RAF} = File::RandomAccess->new(\$value) if $valLen;
|
|
1589
1589
|
|
|
1590
1590
|
my $oldOrder = GetByteOrder();
|
|
1591
1591
|
SetByteOrder($format & 0x08 ? 'II' : 'MM');
|
|
@@ -2551,7 +2551,7 @@ tag name. For example:
|
|
|
2551
2551
|
|
|
2552
2552
|
=head1 AUTHOR
|
|
2553
2553
|
|
|
2554
|
-
Copyright 2003-
|
|
2554
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
2555
2555
|
|
|
2556
2556
|
This library is free software; you can redistribute it and/or modify it
|
|
2557
2557
|
under the same terms as Perl itself. The MIE format itself is also
|
|
@@ -356,7 +356,7 @@ A few examples of combined units strings:
|
|
|
356
356
|
|
|
357
357
|
=head1 AUTHOR
|
|
358
358
|
|
|
359
|
-
Copyright 2003-
|
|
359
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
360
360
|
|
|
361
361
|
This library is free software; you can redistribute it and/or modify it
|
|
362
362
|
under the same terms as Perl itself.
|
|
@@ -255,7 +255,7 @@ This module contains routines required by Image::ExifTool to read MIFF
|
|
|
255
255
|
|
|
256
256
|
=head1 AUTHOR
|
|
257
257
|
|
|
258
|
-
Copyright 2003-
|
|
258
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
259
259
|
|
|
260
260
|
This library is free software; you can redistribute it and/or modify it
|
|
261
261
|
under the same terms as Perl itself.
|
|
@@ -468,7 +468,7 @@ Board (MISB) KLV-format metadata from M2TS videos.
|
|
|
468
468
|
|
|
469
469
|
=head1 AUTHOR
|
|
470
470
|
|
|
471
|
-
Copyright 2003-
|
|
471
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
472
472
|
|
|
473
473
|
This library is free software; you can redistribute it and/or modify it
|
|
474
474
|
under the same terms as Perl itself.
|
|
@@ -661,7 +661,7 @@ This module contains definitions required by Image::ExifTool to read MNG
|
|
|
661
661
|
|
|
662
662
|
=head1 AUTHOR
|
|
663
663
|
|
|
664
|
-
Copyright 2003-
|
|
664
|
+
Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
|
|
665
665
|
|
|
666
666
|
This library is free software; you can redistribute it and/or modify it
|
|
667
667
|
under the same terms as Perl itself.
|