exiftool_vendored 12.38.0 → 12.39.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/MANIFEST +1 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +45 -45
- data/bin/exiftool +46 -46
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- 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 +6 -4
- 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 +9 -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 +16 -4
- 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 +1 -1
- 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/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/JPEG.pm +6 -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 +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- 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/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 +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.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 +9 -5
- 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 +897 -184
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +519 -6
- data/bin/lib/Image/ExifTool/NikonSettings.pm +17 -18
- 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 +28 -8
- 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 +1 -1
- 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 +3 -2
- data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- 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 +1 -1
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +14 -3
- 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 +1 -1
- 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 +3 -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 +1 -1
- 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 +4560 -4474
- data/bin/lib/Image/ExifTool/TagNames.pod +320 -21
- 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/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 +30 -10
- 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 +2 -1
- data/bin/lib/Image/ExifTool/WriteXMP.pl +1 -1
- data/bin/lib/Image/ExifTool/Writer.pl +6 -5
- data/bin/lib/Image/ExifTool/XMP.pm +40 -22
- data/bin/lib/Image/ExifTool/XMP2.pl +3 -2
- data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
- data/bin/lib/Image/ExifTool/ZIP.pm +10 -2
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +11 -3
- data/bin/lib/Image/ExifTool.pod +64 -63
- data/bin/perl-Image-ExifTool.spec +43 -43
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -61,7 +61,7 @@ sub HexEncode($)
|
|
61
61
|
|
62
62
|
#------------------------------------------------------------------------------
|
63
63
|
# Write profile chunk (possibly compressed if Zlib is available)
|
64
|
-
# Inputs: 0) outfile, 1) Raw profile type, 2) data ref
|
64
|
+
# Inputs: 0) outfile, 1) Raw profile type (SCALAR ref for iCCP name), 2) data ref
|
65
65
|
# 3) profile header type (undef if not a text profile)
|
66
66
|
# Returns: 1 on success
|
67
67
|
sub WriteProfile($$$;$)
|
@@ -73,10 +73,10 @@ sub WriteProfile($$$;$)
|
|
73
73
|
}
|
74
74
|
if (not defined $profile) {
|
75
75
|
# write ICC profile as compressed iCCP chunk if possible
|
76
|
-
if ($rawType
|
76
|
+
if (ref $rawType) {
|
77
77
|
return 0 unless $deflate;
|
78
78
|
$chunk = 'iCCP';
|
79
|
-
$prefix = "
|
79
|
+
$prefix = "$$rawType\0\0";
|
80
80
|
} else {
|
81
81
|
$chunk = $rawType;
|
82
82
|
if ($rawType eq $stdCase{zxif}) {
|
@@ -116,7 +116,7 @@ sub WriteProfile($$$;$)
|
|
116
116
|
}
|
117
117
|
|
118
118
|
#------------------------------------------------------------------------------
|
119
|
-
# Add iCCP
|
119
|
+
# Add iCCP-related chunks to the PNG image if necessary (must come before PLTE and IDAT)
|
120
120
|
# Inputs: 0) ExifTool object ref, 1) output file or scalar ref
|
121
121
|
# Returns: true on success
|
122
122
|
sub Add_iCCP($$)
|
@@ -127,9 +127,28 @@ sub Add_iCCP($$)
|
|
127
127
|
my $tagTablePtr = Image::ExifTool::GetTagTable('Image::ExifTool::ICC_Profile::Main');
|
128
128
|
my %dirInfo = ( Parent => 'PNG', DirName => 'ICC_Profile' );
|
129
129
|
my $buff = $et->WriteDirectory(\%dirInfo, $tagTablePtr);
|
130
|
-
if (defined $buff and length $buff
|
131
|
-
$et->
|
132
|
-
|
130
|
+
if (defined $buff and length $buff) {
|
131
|
+
my $profileName = $et->GetNewValue($Image::ExifTool::PNG::Main{'iCCP-name'});
|
132
|
+
$profileName = 'icm' unless defined $profileName;
|
133
|
+
if (WriteProfile($outfile, \$profileName, \$buff)) {
|
134
|
+
$et->VPrint(0, "Created ICC profile with name '${profileName}'\n");
|
135
|
+
delete $$et{ADD_DIRS}{ICC_Profile}; # don't add it again
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
# must also add sRGB and gAMA before PLTE and IDAT
|
140
|
+
if ($$et{ADD_PNG}) {
|
141
|
+
my ($tag, %addBeforePLTE);
|
142
|
+
foreach $tag (qw(sRGB gAMA)) {
|
143
|
+
next unless $$et{ADD_PNG}{$tag};
|
144
|
+
$addBeforePLTE{$tag} = $$et{ADD_PNG}{$tag};
|
145
|
+
delete $$et{ADD_PNG}{$tag};
|
146
|
+
}
|
147
|
+
if (%addBeforePLTE) {
|
148
|
+
my $save = $$et{ADD_PNG};
|
149
|
+
$$et{ADD_PNG} = \%addBeforePLTE;
|
150
|
+
AddChunks($et, $outfile);
|
151
|
+
$$et{ADD_PNG} = $save;
|
133
152
|
}
|
134
153
|
}
|
135
154
|
return 1;
|
@@ -244,9 +263,10 @@ sub AddChunks($$;@)
|
|
244
263
|
# write any outstanding PNG tags
|
245
264
|
foreach $tag (sort keys %$addTags) {
|
246
265
|
my $tagInfo = $$addTags{$tag};
|
266
|
+
next if $$tagInfo{FakeTag}; # (iCCP-name)
|
247
267
|
my $nvHash = $et->GetNewValueHash($tagInfo);
|
248
|
-
# (native PNG information is always preferred, so don't
|
249
|
-
next unless $et->IsOverwriting($nvHash);
|
268
|
+
# (native PNG information is always preferred, so don't rely on just IsCreating)
|
269
|
+
next unless $$nvHash{IsCreating} or $et->IsOverwriting($nvHash) > 0;
|
250
270
|
my $val = $et->GetNewValue($nvHash);
|
251
271
|
if (defined $val) {
|
252
272
|
next if $$nvHash{EditOnly};
|
@@ -381,7 +401,7 @@ strings).
|
|
381
401
|
|
382
402
|
=head1 AUTHOR
|
383
403
|
|
384
|
-
Copyright 2003-
|
404
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
385
405
|
|
386
406
|
This library is free software; you can redistribute it and/or modify it
|
387
407
|
under the same terms as Perl itself.
|
@@ -257,7 +257,7 @@ default resource name, and applied if no appended name is provided.
|
|
257
257
|
|
258
258
|
=head1 AUTHOR
|
259
259
|
|
260
|
-
Copyright 2003-
|
260
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
261
261
|
|
262
262
|
This library is free software; you can redistribute it and/or modify it
|
263
263
|
under the same terms as Perl itself.
|
@@ -687,7 +687,7 @@ Thanks to Tim Kordick for his help testing the EPS writer.
|
|
687
687
|
|
688
688
|
=head1 AUTHOR
|
689
689
|
|
690
|
-
Copyright 2003-
|
690
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
691
691
|
|
692
692
|
This library is free software; you can redistribute it and/or modify it
|
693
693
|
under the same terms as Perl itself.
|
@@ -1335,6 +1335,7 @@ sub WriteQuickTime($$$)
|
|
1335
1335
|
# write the new atom if it was modified
|
1336
1336
|
if (defined $newData) {
|
1337
1337
|
my $sizeDiff = length($buff) - length($newData);
|
1338
|
+
# pad to original size if specified, otherwise give verbose message about the changed size
|
1338
1339
|
if ($sizeDiff > 0 and $$tagInfo{PreservePadding} and $et->Options('QuickTimePad')) {
|
1339
1340
|
$newData .= "\0" x $sizeDiff;
|
1340
1341
|
$et->VPrint(1, " ($$tagInfo{Name} padded to original size)");
|
@@ -1922,7 +1923,7 @@ QuickTime-based file formats like MOV and MP4.
|
|
1922
1923
|
|
1923
1924
|
=head1 AUTHOR
|
1924
1925
|
|
1925
|
-
Copyright 2003-
|
1926
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
1926
1927
|
|
1927
1928
|
This library is free software; you can redistribute it and/or modify it
|
1928
1929
|
under the same terms as Perl itself.
|
@@ -1619,7 +1619,7 @@ This file contains routines to write XMP metadata.
|
|
1619
1619
|
|
1620
1620
|
=head1 AUTHOR
|
1621
1621
|
|
1622
|
-
Copyright 2003-
|
1622
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
1623
1623
|
|
1624
1624
|
This library is free software; you can redistribute it and/or modify it
|
1625
1625
|
under the same terms as Perl itself.
|
@@ -136,9 +136,9 @@ my %rawType = (
|
|
136
136
|
my @delGroups = qw(
|
137
137
|
Adobe AFCP APP0 APP1 APP2 APP3 APP4 APP5 APP6 APP7 APP8 APP9 APP10 APP11
|
138
138
|
APP12 APP13 APP14 APP15 CanonVRD CIFF Ducky EXIF ExifIFD File FlashPix
|
139
|
-
FotoStation GlobParamIFD GPS ICC_Profile IFD0 IFD1 Insta360 InteropIFD
|
140
|
-
|
141
|
-
|
139
|
+
FotoStation GlobParamIFD GPS ICC_Profile IFD0 IFD1 Insta360 InteropIFD IPTC
|
140
|
+
ItemList JFIF Jpeg2000 Keys MakerNotes Meta MetaIFD Microsoft MIE MPF
|
141
|
+
NikonApp NikonCapture PDF PDF-update PhotoMechanic Photoshop PNG PNG-pHYs
|
142
142
|
PrintIM QuickTime RMETA RSRC SubIFD Trailer UserData XML XML-* XMP XMP-*
|
143
143
|
);
|
144
144
|
# family 2 group names that we can delete
|
@@ -3532,7 +3532,8 @@ PAT: foreach $pattern (@patterns) {
|
|
3532
3532
|
# 2) optional tag value (before RawConv) if deleting specific values
|
3533
3533
|
# Returns: >0 - tag should be overwritten
|
3534
3534
|
# =0 - the tag should be preserved
|
3535
|
-
# <0 - not sure, we need the value to
|
3535
|
+
# <0 - not sure, we need the old value to tell (if there is no old value
|
3536
|
+
# then the tag should be written if $$nvHash{IsCreating} is true)
|
3536
3537
|
# Notes: $$nvHash{Value} is updated with the new value when shifting a value
|
3537
3538
|
sub IsOverwriting($$;$)
|
3538
3539
|
{
|
@@ -7036,7 +7037,7 @@ used routines.
|
|
7036
7037
|
|
7037
7038
|
=head1 AUTHOR
|
7038
7039
|
|
7039
|
-
Copyright 2003-
|
7040
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
7040
7041
|
|
7041
7042
|
This library is free software; you can redistribute it and/or modify it
|
7042
7043
|
under the same terms as Perl itself.
|
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
|
|
50
50
|
use Image::ExifTool::GPS;
|
51
51
|
require Exporter;
|
52
52
|
|
53
|
-
$VERSION = '3.
|
53
|
+
$VERSION = '3.51';
|
54
54
|
@ISA = qw(Exporter);
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
56
56
|
|
@@ -192,6 +192,9 @@ my %xmpNS = (
|
|
192
192
|
GettyImagesGIFT => 'http://xmp.gettyimages.com/gift/1.0/',
|
193
193
|
LImage => 'http://ns.leiainc.com/photos/1.0/image/',
|
194
194
|
Profile => 'http://ns.google.com/photos/dd/1.0/profile/',
|
195
|
+
sdc => 'http://ns.nikon.com/sdc/1.0/',
|
196
|
+
ast => 'http://ns.nikon.com/asteroid/1.0/',
|
197
|
+
nine => 'http://ns.nikon.com/nine/1.0/',
|
195
198
|
);
|
196
199
|
|
197
200
|
# build reverse namespace lookup
|
@@ -878,6 +881,18 @@ my %sRangeMask = (
|
|
878
881
|
Name => 'Device',
|
879
882
|
SubDirectory => { TagTable => 'Image::ExifTool::XMP::Device' },
|
880
883
|
},
|
884
|
+
sdc => {
|
885
|
+
Name => 'sdc',
|
886
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::sdc' },
|
887
|
+
},
|
888
|
+
ast => {
|
889
|
+
Name => 'ast',
|
890
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::ast' },
|
891
|
+
},
|
892
|
+
nine => {
|
893
|
+
Name => 'nine',
|
894
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Nikon::nine' },
|
895
|
+
},
|
881
896
|
);
|
882
897
|
|
883
898
|
# hack to allow XML containing Dublin Core metadata to be handled like XMP (eg. EPUB - see ZIP.pm)
|
@@ -3438,26 +3453,6 @@ NoLoop:
|
|
3438
3453
|
my $key = $et->FoundTag($tagInfo, $val) or return 0;
|
3439
3454
|
# save original components of rational numbers (used when copying)
|
3440
3455
|
$$et{RATIONAL}{$key} = $rational if defined $rational;
|
3441
|
-
# allow read-only subdirectories (eg. embedded base64 XMP/IPTC in NKSC files)
|
3442
|
-
if ($$tagInfo{SubDirectory} and not $$et{IsWriting}) {
|
3443
|
-
my $subdir = $$tagInfo{SubDirectory};
|
3444
|
-
my $dataPt = ref $$et{VALUE}{$key} ? $$et{VALUE}{$key} : \$$et{VALUE}{$key};
|
3445
|
-
# process subdirectory information
|
3446
|
-
my %dirInfo = (
|
3447
|
-
DirName => $$subdir{DirName} || $$tagInfo{Name},
|
3448
|
-
DataPt => $dataPt,
|
3449
|
-
DirLen => length $$dataPt,
|
3450
|
-
IsExtended => 1, # (hack to avoid Duplicate warning for embedded XMP)
|
3451
|
-
);
|
3452
|
-
my $oldOrder = GetByteOrder();
|
3453
|
-
SetByteOrder($$subdir{ByteOrder}) if $$subdir{ByteOrder};
|
3454
|
-
my $oldNS = $$et{definedNS};
|
3455
|
-
delete $$et{definedNS};
|
3456
|
-
my $subTablePtr = GetTagTable($$subdir{TagTable}) || $tagTablePtr;
|
3457
|
-
$et->ProcessDirectory(\%dirInfo, $subTablePtr, $$subdir{ProcessProc});
|
3458
|
-
SetByteOrder($oldOrder);
|
3459
|
-
$$et{definedNS} = $oldNS;
|
3460
|
-
}
|
3461
3456
|
# save structure/list information if necessary
|
3462
3457
|
if (@structProps and (@structProps > 1 or defined $structProps[0][1]) and
|
3463
3458
|
not $$et{NO_STRUCT})
|
@@ -3488,6 +3483,29 @@ NoLoop:
|
|
3488
3483
|
my $tagID = join('/',@$props);
|
3489
3484
|
$et->VerboseInfo($tagID, $tagInfo, Value => $rawVal || $val);
|
3490
3485
|
}
|
3486
|
+
# allow read-only subdirectories (eg. embedded base64 XMP/IPTC in NKSC files)
|
3487
|
+
if ($$tagInfo{SubDirectory} and not $$et{IsWriting}) {
|
3488
|
+
my $subdir = $$tagInfo{SubDirectory};
|
3489
|
+
my $dataPt = ref $$et{VALUE}{$key} ? $$et{VALUE}{$key} : \$$et{VALUE}{$key};
|
3490
|
+
# decode if necessary (eg. Nikon XMP-ast:XMLPackets)
|
3491
|
+
$dataPt = DecodeBase64($$dataPt) if $$tagInfo{Encoding} and $$tagInfo{Encoding} eq 'Base64';
|
3492
|
+
# process subdirectory information
|
3493
|
+
my %dirInfo = (
|
3494
|
+
DirName => $$subdir{DirName} || $$tagInfo{Name},
|
3495
|
+
DataPt => $dataPt,
|
3496
|
+
DirLen => length $$dataPt,
|
3497
|
+
IgnoreProp => $$subdir{IgnoreProp}, # (allow XML to ignore specified properties)
|
3498
|
+
IsExtended => 1, # (hack to avoid Duplicate warning for embedded XMP)
|
3499
|
+
);
|
3500
|
+
my $oldOrder = GetByteOrder();
|
3501
|
+
SetByteOrder($$subdir{ByteOrder}) if $$subdir{ByteOrder};
|
3502
|
+
my $oldNS = $$et{definedNS};
|
3503
|
+
delete $$et{definedNS};
|
3504
|
+
my $subTablePtr = GetTagTable($$subdir{TagTable}) || $tagTablePtr;
|
3505
|
+
$et->ProcessDirectory(\%dirInfo, $subTablePtr, $$subdir{ProcessProc});
|
3506
|
+
SetByteOrder($oldOrder);
|
3507
|
+
$$et{definedNS} = $oldNS;
|
3508
|
+
}
|
3491
3509
|
return 1;
|
3492
3510
|
}
|
3493
3511
|
|
@@ -4347,7 +4365,7 @@ information.
|
|
4347
4365
|
|
4348
4366
|
=head1 AUTHOR
|
4349
4367
|
|
4350
|
-
Copyright 2003-
|
4368
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
4351
4369
|
|
4352
4370
|
This library is free software; you can redistribute it and/or modify it
|
4353
4371
|
under the same terms as Perl itself.
|
@@ -16,6 +16,7 @@
|
|
16
16
|
# 11) http://www.extensis.com/en/support/kb_article.jsp?articleNumber=6102211
|
17
17
|
# 12) XMPSpecificationPart3_May2013, page 58
|
18
18
|
# 13) https://developer.android.com/training/camera2/Dynamic-depth-v1.0.pdf
|
19
|
+
# 14) http://www.iptc.org/standards/photo-metadata/iptc-standard/
|
19
20
|
#------------------------------------------------------------------------------
|
20
21
|
|
21
22
|
package Image::ExifTool::XMP;
|
@@ -530,7 +531,7 @@ my %sImageRegion = ( # new in 1.5
|
|
530
531
|
rRole => { Namespace => 'Iptc4xmpExt', FlatName => 'Role', List => 'Bag', Struct => \%sEntity },
|
531
532
|
);
|
532
533
|
|
533
|
-
# IPTC Extension namespace properties (Iptc4xmpExt) (ref 4)
|
534
|
+
# IPTC Extension namespace properties (Iptc4xmpExt) (ref 4, 14)
|
534
535
|
%Image::ExifTool::XMP::iptcExt = (
|
535
536
|
%xmpTableDefaults,
|
536
537
|
GROUPS => { 1 => 'XMP-iptcExt', 2 => 'Author' },
|
@@ -2125,7 +2126,7 @@ This file contains definitions for less common XMP namespaces.
|
|
2125
2126
|
|
2126
2127
|
=head1 AUTHOR
|
2127
2128
|
|
2128
|
-
Copyright 2003-
|
2129
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
2129
2130
|
|
2130
2131
|
This library is free software; you can redistribute it and/or modify it
|
2131
2132
|
under the same terms as Perl itself.
|
@@ -855,7 +855,7 @@ information.
|
|
855
855
|
|
856
856
|
=head1 AUTHOR
|
857
857
|
|
858
|
-
Copyright 2003-
|
858
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
859
859
|
|
860
860
|
This library is free software; you can redistribute it and/or modify it
|
861
861
|
under the same terms as Perl itself.
|
@@ -19,7 +19,7 @@ use strict;
|
|
19
19
|
use vars qw($VERSION $warnString);
|
20
20
|
use Image::ExifTool qw(:DataAccess :Utils);
|
21
21
|
|
22
|
-
$VERSION = '1.
|
22
|
+
$VERSION = '1.27';
|
23
23
|
|
24
24
|
sub WarnProc($) { $warnString = $_[0]; }
|
25
25
|
|
@@ -125,6 +125,7 @@ my %iWorkType = (
|
|
125
125
|
Name => 'ZipFileName',
|
126
126
|
Format => 'string[$$self{ZipFileNameLength}]',
|
127
127
|
},
|
128
|
+
_com => 'ZipFileComment',
|
128
129
|
);
|
129
130
|
|
130
131
|
# GNU ZIP tags (ref 3)
|
@@ -380,6 +381,8 @@ sub HandleMember($$;$)
|
|
380
381
|
$et->HandleTag($tagTablePtr, 9, $member->compressedSize());
|
381
382
|
$et->HandleTag($tagTablePtr, 11, $member->uncompressedSize());
|
382
383
|
$et->HandleTag($tagTablePtr, 15, $member->fileName());
|
384
|
+
my $com = $member->fileComment();
|
385
|
+
$et->HandleTag($tagTablePtr, '_com', $com) if defined $com and length $com;
|
383
386
|
}
|
384
387
|
|
385
388
|
#------------------------------------------------------------------------------
|
@@ -448,6 +451,10 @@ sub ProcessZIP($$)
|
|
448
451
|
$et->Warn("$err reading ZIP file");
|
449
452
|
last;
|
450
453
|
}
|
454
|
+
# extract zip file comment
|
455
|
+
my $comment = $zip->zipfileComment();
|
456
|
+
$et->FoundTag(Comment => $comment) if defined $comment and length $comment;
|
457
|
+
|
451
458
|
$$dirInfo{ZIP} = $zip;
|
452
459
|
|
453
460
|
# check for an Office Open file (DOCX, etc)
|
@@ -655,6 +662,7 @@ sub ProcessZIP($$)
|
|
655
662
|
DataLen => 30 + $len,
|
656
663
|
DirStart => 0,
|
657
664
|
DirLen => 30 + $len,
|
665
|
+
MixedTags => 1, # (to ignore FileComment tag)
|
658
666
|
);
|
659
667
|
$et->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
660
668
|
my $flags = Get16u(\$buff, 6);
|
@@ -700,7 +708,7 @@ Electronic Publication (EPUB), and Sketch design files (SKETCH).
|
|
700
708
|
|
701
709
|
=head1 AUTHOR
|
702
710
|
|
703
|
-
Copyright 2003-
|
711
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
704
712
|
|
705
713
|
This library is free software; you can redistribute it and/or modify it
|
706
714
|
under the same terms as Perl itself.
|
@@ -220,7 +220,7 @@ metadata from Zeiss Integrated Software RAW (ZISRAW) CZI files.
|
|
220
220
|
|
221
221
|
=head1 AUTHOR
|
222
222
|
|
223
|
-
Copyright 2003-
|
223
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
224
224
|
|
225
225
|
This library is free software; you can redistribute it and/or modify it
|
226
226
|
under the same terms as Perl itself.
|
@@ -215,7 +215,7 @@ information from Apple iWork '09 XML+ZIP files.
|
|
215
215
|
|
216
216
|
=head1 AUTHOR
|
217
217
|
|
218
|
-
Copyright 2003-
|
218
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
219
219
|
|
220
220
|
This library is free software; you can redistribute it and/or modify it
|
221
221
|
under the same terms as Perl itself.
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
# Revisions: Nov. 12/2003 - P. Harvey Created
|
9
9
|
# (See html/history.html for revision history)
|
10
10
|
#
|
11
|
-
# Legal: Copyright (c) 2003-
|
11
|
+
# Legal: Copyright (c) 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
12
12
|
# This library is free software; you can redistribute it and/or
|
13
13
|
# modify it under the same terms as Perl itself.
|
14
14
|
#------------------------------------------------------------------------------
|
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
30
30
|
%static_vars);
|
31
31
|
|
32
|
-
$VERSION = '12.
|
32
|
+
$VERSION = '12.39';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -406,6 +406,8 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
406
406
|
# NDPI => ['TIFF', 'Hamamatsu NanoZoomer Digital Pathology Image'],
|
407
407
|
NEF => ['TIFF', 'Nikon (RAW) Electronic Format'],
|
408
408
|
NEWER => 'COS',
|
409
|
+
NKSC => ['XMP', 'Nikon Sidecar'],
|
410
|
+
|
409
411
|
NMBTEMPLATE => ['ZIP','Apple Numbers Template'],
|
410
412
|
NRW => ['TIFF', 'Nikon RAW (2)'],
|
411
413
|
NUMBERS => ['ZIP','Apple Numbers spreadsheet'],
|
@@ -691,6 +693,7 @@ my %fileDescription = (
|
|
691
693
|
MRW => 'image/x-minolta-mrw',
|
692
694
|
MXF => 'application/mxf',
|
693
695
|
NEF => 'image/x-nikon-nef',
|
696
|
+
NKSC => 'application/x-nikon-nxstudio',
|
694
697
|
NRW => 'image/x-nikon-nrw',
|
695
698
|
NUMBERS => 'application/x-iwork-numbers-sffnumbers',
|
696
699
|
ODB => 'application/vnd.oasis.opendocument.database',
|
@@ -4090,7 +4093,7 @@ sub Open($*$;$)
|
|
4090
4093
|
$file =~ s/^([\s&])/.\/$1/; # protect leading whitespace or ampersand
|
4091
4094
|
# default to read mode ('<') unless input is a trusted pipe
|
4092
4095
|
$mode = (($file =~ /\|$/ and $$self{TRUST_PIPE}) ? '' : '<') unless $mode;
|
4093
|
-
|
4096
|
+
delete $$self{TRUST_PIPE};
|
4094
4097
|
if ($mode) {
|
4095
4098
|
if ($self->EncodeFileName($file)) {
|
4096
4099
|
# handle Windows Unicode file name
|
@@ -6029,6 +6032,8 @@ sub IdentifyTrailer($;$)
|
|
6029
6032
|
$type = 'Samsung';
|
6030
6033
|
} elsif ($buff =~ /8db42d694ccc418790edff439fe026bf$/s) {
|
6031
6034
|
$type = 'Insta360';
|
6035
|
+
} elsif ($buff =~ m(\0{6}/NIKON APP$)) {
|
6036
|
+
$type = 'NikonApp';
|
6032
6037
|
}
|
6033
6038
|
last;
|
6034
6039
|
}
|
@@ -6064,6 +6069,9 @@ sub ProcessTrailers($$)
|
|
6064
6069
|
if ($dirName eq 'Insta360') {
|
6065
6070
|
require 'Image/ExifTool/QuickTimeStream.pl';
|
6066
6071
|
$proc = 'Image::ExifTool::QuickTime::ProcessInsta360';
|
6072
|
+
} elsif ($dirName eq 'NikonApp') {
|
6073
|
+
require Image::ExifTool::Nikon;
|
6074
|
+
$proc = 'Image::ExifTool::Nikon::ProcessNikonApp';
|
6067
6075
|
} else {
|
6068
6076
|
require "Image/ExifTool/$dirName.pm";
|
6069
6077
|
$proc = "Image::ExifTool::${dirName}::Process$dirName";
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#
|
6
6
|
# URL: https://exiftool.org/
|
7
7
|
#
|
8
|
-
# Legal: Copyright (c) 2003-
|
8
|
+
# Legal: Copyright (c) 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
9
9
|
# This library is free software; you can redistribute it and/or
|
10
10
|
# modify it under the same terms as Perl itself.
|
11
11
|
#------------------------------------------------------------------------------
|
@@ -65,48 +65,48 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
65
65
|
|
66
66
|
File Types
|
67
67
|
------------+-------------+-------------+-------------+------------
|
68
|
-
360 r/w | DR4 r/w/c | JNG r/w |
|
69
|
-
3FR r | DSS r | JP2 r/w |
|
70
|
-
3G2 r/w | DV r | JPEG r/w |
|
71
|
-
3GP r/w | DVB r/w | JSON r |
|
72
|
-
A r | DVR-MS r | JXL r |
|
73
|
-
AA r | DYLIB r | K25 r |
|
74
|
-
AAE r | EIP r | KDC r |
|
75
|
-
AAX r/w | EPS r/w | KEY r |
|
76
|
-
ACR r | EPUB r | LA r |
|
77
|
-
AFM r | ERF r/w | LFP r |
|
78
|
-
AI r/w | EXE r | LIF r |
|
79
|
-
AIFF r | EXIF r/w/c | LNK r |
|
80
|
-
APE r | EXR r | LRV r/w |
|
81
|
-
ARQ r/w | EXV r/w/c | M2TS r |
|
82
|
-
ARW r/w | F4A/V r/w | M4A/V r/w |
|
83
|
-
ASF r | FFF r/w | MACOS r |
|
84
|
-
AVI r | FITS r | MAX r |
|
85
|
-
AVIF r/w | FLA r | MEF r/w |
|
86
|
-
AZW r | FLAC r | MIE r/w/ |
|
87
|
-
BMP r | FLIF r/w | MIFF r c |
|
88
|
-
BPG r | FLV r | MKA r |
|
89
|
-
BTF r | FPF r | MKS r |
|
90
|
-
CHM r | FPX r | MKV r |
|
91
|
-
COS r | GIF r/w | MNG r/w |
|
92
|
-
CR2 r/w | GPR r/w | MOBI r |
|
93
|
-
CR3 r/w | GZ r | MODD r |
|
94
|
-
CRM r/w | HDP r/w | MOI r |
|
95
|
-
CRW r/w | HDR r | MOS r/w |
|
96
|
-
CS1 r/w | HEIC r/w | MOV r/w |
|
97
|
-
CSV r | HEIF r/w | MP3 r |
|
98
|
-
CZI r | HTML r | MP4 r/w |
|
99
|
-
DCM r | ICC r/w/c | MPC r |
|
100
|
-
DCP r/w | ICS r | MPG r |
|
101
|
-
DCR r | IDML r | MPO r/w |
|
102
|
-
DFONT r | IIQ r/w | MQV r/w |
|
103
|
-
DIVX r | IND r/w | MRC r |
|
104
|
-
DJVU r | INSP r/w | MRW r/w |
|
105
|
-
DLL r | INSV r | MXF r |
|
106
|
-
DNG r/w | INX r | NEF r/w |
|
107
|
-
DOC r | ISO r |
|
108
|
-
DOCX r | ITC r |
|
109
|
-
DPX r | J2C r |
|
68
|
+
360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
69
|
+
3FR r | DSS r | JP2 r/w | ODP r | RIFF r
|
70
|
+
3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
|
71
|
+
3GP r/w | DVB r/w | JSON r | ODT r | RTF r
|
72
|
+
A r | DVR-MS r | JXL r | OFR r | RW2 r/w
|
73
|
+
AA r | DYLIB r | K25 r | OGG r | RWL r/w
|
74
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
75
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
76
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
77
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
78
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
79
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
80
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
81
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
82
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
83
|
+
ASF r | FFF r/w | MACOS r | PCD r | SWF r
|
84
|
+
AVI r | FITS r | MAX r | PCX r | THM r/w
|
85
|
+
AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
|
86
|
+
AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
|
87
|
+
BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
|
88
|
+
BPG r | FLV r | MKA r | PFA r | TTF r
|
89
|
+
BTF r | FPF r | MKS r | PFB r | TXT r
|
90
|
+
CHM r | FPX r | MKV r | PFM r | VCF r
|
91
|
+
COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
|
92
|
+
CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
|
93
|
+
CR3 r/w | GZ r | MODD r | PLIST r | WAV r
|
94
|
+
CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
|
95
|
+
CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
|
96
|
+
CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
|
97
|
+
CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
|
98
|
+
CZI r | HTML r | MP4 r/w | PPT r | WMV r
|
99
|
+
DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
|
100
|
+
DCP r/w | ICS r | MPG r | PS r/w | WV r
|
101
|
+
DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
|
102
|
+
DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
|
103
|
+
DIVX r | IND r/w | MRC r | PSP r | XLS r
|
104
|
+
DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
|
105
|
+
DLL r | INSV r | MXF r | R3D r | XMP r/w/c
|
106
|
+
DNG r/w | INX r | NEF r/w | RA r | ZIP r
|
107
|
+
DOC r | ISO r | NKSC r/w | RAF r/w |
|
108
|
+
DOCX r | ITC r | NRW r/w | RAM r |
|
109
|
+
DPX r | J2C r | NUMBERS r | RAR r |
|
110
110
|
|
111
111
|
Meta Information
|
112
112
|
----------------------+----------------------+---------------------
|
@@ -2325,25 +2325,26 @@ MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video,
|
|
2325
2325
|
MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS,
|
2326
2326
|
MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft,
|
2327
2327
|
Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom,
|
2328
|
-
NikonScan, NikonSettings, Nintendo, Ocad, Ogg, Olympus, OpenEXR,
|
2329
|
-
PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax,
|
2330
|
-
PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript,
|
2331
|
-
PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF,
|
2332
|
-
Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP,
|
2333
|
-
Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2,
|
2334
|
-
SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw,
|
2335
|
-
SubIFD, System, Theora, Torrent, Track#, UserData,
|
2336
|
-
VCard, Version0, Vorbis, WTV, XML, XMP, XMP-DICOM,
|
2337
|
-
XMP-
|
2338
|
-
XMP-
|
2339
|
-
XMP-
|
2340
|
-
XMP-
|
2341
|
-
XMP-
|
2342
|
-
XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro,
|
2343
|
-
XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx,
|
2344
|
-
XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl,
|
2345
|
-
XMP-
|
2346
|
-
XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg,
|
2328
|
+
NikonScan, NikonSettings, NineEdits, Nintendo, Ocad, Ogg, Olympus, OpenEXR,
|
2329
|
+
Opus, PDF, PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax,
|
2330
|
+
PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript,
|
2331
|
+
PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF,
|
2332
|
+
RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP,
|
2333
|
+
Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2,
|
2334
|
+
SR2DataIFD, SR2SubIFD, SRF#, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw,
|
2335
|
+
Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent, Track#, UserData,
|
2336
|
+
UserParam, VCalendar, VCard, Version0, Vorbis, WTV, XML, XMP, XMP-DICOM,
|
2337
|
+
XMP-Device, XMP-GAudio, XMP-GDepth, XMP-GFocus, XMP-GImage, XMP-GPano,
|
2338
|
+
XMP-GSpherical, XMP-LImage, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas,
|
2339
|
+
XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux, XMP-cc, XMP-cell,
|
2340
|
+
XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam, XMP-drone-dji,
|
2341
|
+
XMP-dwc, XMP-exif, XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv,
|
2342
|
+
XMP-getty, XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro,
|
2343
|
+
XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx,
|
2344
|
+
XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl,
|
2345
|
+
XMP-prm, XMP-pur, XMP-rdf, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ,
|
2346
|
+
XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg,
|
2347
|
+
ZIP, iTunes
|
2347
2348
|
|
2348
2349
|
=item Family 2 (Category):
|
2349
2350
|
|
@@ -2742,7 +2743,7 @@ specified by the L</Charset> option.
|
|
2742
2743
|
|
2743
2744
|
=head1 AUTHOR
|
2744
2745
|
|
2745
|
-
Copyright 2003-
|
2746
|
+
Copyright 2003-2022, Phil Harvey
|
2746
2747
|
|
2747
2748
|
This library is free software; you can redistribute it and/or modify it
|
2748
2749
|
under the same terms as Perl itself.
|