exiftool-vendored.pl 12.33.0 → 12.40.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/LICENSE +10 -3
- package/bin/Changes +116 -0
- package/bin/MANIFEST +2 -0
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +45 -45
- package/bin/config_files/acdsee.config +6 -6
- package/bin/config_files/photoshop_paths.config +30 -7
- package/bin/config_files/picasa_faces.config +1 -1
- package/bin/config_files/pix4d.config +2 -2
- package/bin/config_files/tiff_version.config +2 -2
- package/bin/exiftool +112 -82
- package/bin/lib/File/RandomAccess.pm +1 -1
- package/bin/lib/File/RandomAccess.pod +2 -2
- package/bin/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- 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 +1 -1
- package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +15 -4
- package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- package/bin/lib/Image/ExifTool/Canon.pm +225 -13
- package/bin/lib/Image/ExifTool/CanonCustom.pm +13 -3
- package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- 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 +3 -1
- package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- package/bin/lib/Image/ExifTool/DJI.pm +1 -1
- package/bin/lib/Image/ExifTool/DNG.pm +1 -1
- 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 +3 -3
- 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 +64 -20
- 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 +48 -11
- package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- package/bin/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- 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 +1 -1
- package/bin/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/lib/Image/ExifTool/GIF.pm +6 -2
- package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/lib/Image/ExifTool/GPS.pm +15 -11
- package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +4 -3
- 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 +1 -1
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +97 -5
- package/bin/lib/Image/ExifTool/ID3.pm +1 -1
- 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 +1 -1
- package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- package/bin/lib/Image/ExifTool/JPEG.pm +6 -2
- package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/lib/Image/ExifTool/JSON.pm +1 -1
- package/bin/lib/Image/ExifTool/JVC.pm +1 -1
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +109 -12
- 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 +1 -1
- package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- 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/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 +1 -1
- 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 +1 -1
- package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/lib/Image/ExifTool/MIFF.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 +9 -5
- 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 +1 -1
- package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/lib/Image/ExifTool/Nikon.pm +1918 -72
- package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/lib/Image/ExifTool/NikonCustom.pm +523 -6
- package/bin/lib/Image/ExifTool/NikonSettings.pm +150 -87
- 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 +1 -1
- package/bin/lib/Image/ExifTool/Olympus.pm +7 -7
- package/bin/lib/Image/ExifTool/OpenEXR.pm +5 -3
- 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 +6 -4
- 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 +1 -1
- package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/lib/Image/ExifTool/PNG.pm +29 -8
- 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 +1 -1
- package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/lib/Image/ExifTool/Pentax.pm +3 -2
- package/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- 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 +1 -1
- package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- 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 +25 -7
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +40 -4
- package/bin/lib/Image/ExifTool/README +4 -0
- package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- 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 +1 -1
- package/bin/lib/Image/ExifTool/Samsung.pm +6 -2
- 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 +3 -1
- 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 +1 -1
- package/bin/lib/Image/ExifTool/Sony.pm +34 -12
- 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 +11 -6
- package/bin/lib/Image/ExifTool/TagLookup.pm +6581 -5893
- package/bin/lib/Image/ExifTool/TagNames.pod +1641 -59
- 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/WTV.pm +1 -1
- package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- package/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
- 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 +19 -4
- package/bin/lib/Image/ExifTool/WriteXMP.pl +13 -12
- package/bin/lib/Image/ExifTool/Writer.pl +56 -10
- package/bin/lib/Image/ExifTool/XMP.pm +169 -54
- package/bin/lib/Image/ExifTool/XMP2.pl +6 -4
- package/bin/lib/Image/ExifTool/XMPStruct.pl +22 -8
- package/bin/lib/Image/ExifTool/ZIP.pm +10 -2
- package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/lib/Image/ExifTool.pm +93 -13
- package/bin/lib/Image/ExifTool.pod +80 -70
- package/bin/perl-Image-ExifTool.spec +43 -43
- package/bin/pp_build_exe.args +5 -5
- package/package.json +3 -3
|
@@ -114,7 +114,7 @@ information from PC Paintbrush (PCX) files.
|
|
|
114
114
|
|
|
115
115
|
=head1 AUTHOR
|
|
116
116
|
|
|
117
|
-
Copyright 2003-
|
|
117
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
118
118
|
|
|
119
119
|
This library is free software; you can redistribute it and/or modify it
|
|
120
120
|
under the same terms as Perl itself.
|
|
@@ -21,7 +21,7 @@ use vars qw($VERSION $AUTOLOAD $lastFetched);
|
|
|
21
21
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
22
22
|
require Exporter;
|
|
23
23
|
|
|
24
|
-
$VERSION = '1.
|
|
24
|
+
$VERSION = '1.54';
|
|
25
25
|
|
|
26
26
|
sub FetchObject($$$$);
|
|
27
27
|
sub ExtractObject($$;$$);
|
|
@@ -280,10 +280,12 @@ my %supportedFilter = (
|
|
|
280
280
|
ConvertToDict => 1,
|
|
281
281
|
},
|
|
282
282
|
Cs1 => {
|
|
283
|
-
SubDirectory => { TagTable => 'Image::ExifTool::PDF::
|
|
283
|
+
SubDirectory => { TagTable => 'Image::ExifTool::PDF::DefaultRGB' },
|
|
284
|
+
ConvertToDict => 1, # (just in case)
|
|
284
285
|
},
|
|
285
286
|
CS0 => {
|
|
286
|
-
SubDirectory => { TagTable => 'Image::ExifTool::PDF::
|
|
287
|
+
SubDirectory => { TagTable => 'Image::ExifTool::PDF::DefaultRGB' },
|
|
288
|
+
ConvertToDict => 1, # (just in case)
|
|
287
289
|
},
|
|
288
290
|
);
|
|
289
291
|
|
|
@@ -2386,7 +2388,7 @@ including AESV2 (AES-128) and AESV3 (AES-256).
|
|
|
2386
2388
|
|
|
2387
2389
|
=head1 AUTHOR
|
|
2388
2390
|
|
|
2389
|
-
Copyright 2003-
|
|
2391
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
2390
2392
|
|
|
2391
2393
|
This library is free software; you can redistribute it and/or modify it
|
|
2392
2394
|
under the same terms as Perl itself.
|
|
@@ -119,7 +119,7 @@ information from Progressive Graphics File (PGF) images.
|
|
|
119
119
|
|
|
120
120
|
=head1 AUTHOR
|
|
121
121
|
|
|
122
|
-
Copyright 2003-
|
|
122
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
123
123
|
|
|
124
124
|
This library is free software; you can redistribute it and/or modify it
|
|
125
125
|
under the same terms as Perl itself.
|
|
@@ -1236,7 +1236,7 @@ Verbose or the Unknown option.
|
|
|
1236
1236
|
|
|
1237
1237
|
=head1 AUTHOR
|
|
1238
1238
|
|
|
1239
|
-
Copyright 2003-
|
|
1239
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
1240
1240
|
|
|
1241
1241
|
This library is free software; you can redistribute it and/or modify it
|
|
1242
1242
|
under the same terms as Perl itself.
|
|
@@ -438,7 +438,7 @@ This module decodes both the binary and XML-based PLIST format.
|
|
|
438
438
|
|
|
439
439
|
=head1 AUTHOR
|
|
440
440
|
|
|
441
|
-
Copyright 2003-
|
|
441
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
442
442
|
|
|
443
443
|
This library is free software; you can redistribute it and/or modify it
|
|
444
444
|
under the same terms as Perl itself.
|
|
@@ -2586,7 +2586,7 @@ Definitions for PLUS (Picture Licensing Universal System) tags.
|
|
|
2586
2586
|
|
|
2587
2587
|
=head1 AUTHOR
|
|
2588
2588
|
|
|
2589
|
-
Copyright 2003-
|
|
2589
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
2590
2590
|
|
|
2591
2591
|
This library is free software; you can redistribute it and/or modify it
|
|
2592
2592
|
under the same terms as Perl itself.
|
|
@@ -36,7 +36,7 @@ use strict;
|
|
|
36
36
|
use vars qw($VERSION $AUTOLOAD %stdCase);
|
|
37
37
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
38
38
|
|
|
39
|
-
$VERSION = '1.
|
|
39
|
+
$VERSION = '1.60';
|
|
40
40
|
|
|
41
41
|
sub ProcessPNG_tEXt($$$);
|
|
42
42
|
sub ProcessPNG_iTXt($$$);
|
|
@@ -142,11 +142,14 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
|
142
142
|
},
|
|
143
143
|
gAMA => {
|
|
144
144
|
Name => 'Gamma',
|
|
145
|
+
Writable => 1,
|
|
146
|
+
Protected => 1,
|
|
145
147
|
Notes => q{
|
|
146
148
|
ExifTool reports the gamma for decoding the image, which is consistent with
|
|
147
149
|
the EXIF convention, but is the inverse of the stored encoding gamma
|
|
148
150
|
},
|
|
149
151
|
ValueConv => 'my $a=unpack("N",$val);$a ? int(1e9/$a+0.5)/1e4 : $val',
|
|
152
|
+
ValueConvInv => 'pack("N", int(1e5/$val+0.5))',
|
|
150
153
|
},
|
|
151
154
|
gIFg => {
|
|
152
155
|
Name => 'GIFGraphicControlExtension',
|
|
@@ -166,7 +169,10 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
|
166
169
|
},
|
|
167
170
|
iCCP => {
|
|
168
171
|
Name => 'ICC_Profile',
|
|
169
|
-
Notes =>
|
|
172
|
+
Notes => q{
|
|
173
|
+
this is where ExifTool will write a new ICC_Profile. When creating a new
|
|
174
|
+
ICC_Profile, the SRGBRendering tag should be deleted if it exists
|
|
175
|
+
},
|
|
170
176
|
SubDirectory => {
|
|
171
177
|
TagTable => 'Image::ExifTool::ICC_Profile::Main',
|
|
172
178
|
ProcessProc => \&ProcessPNG_Compressed,
|
|
@@ -174,7 +180,12 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
|
174
180
|
},
|
|
175
181
|
'iCCP-name' => {
|
|
176
182
|
Name => 'ProfileName',
|
|
177
|
-
|
|
183
|
+
Writable => 1,
|
|
184
|
+
FakeTag => 1, # (not a real PNG tag, so don't try to write it)
|
|
185
|
+
Notes => q{
|
|
186
|
+
not a real tag ID, this tag represents the iCCP profile name, and may only
|
|
187
|
+
be written when the ICC_Profile is written
|
|
188
|
+
},
|
|
178
189
|
},
|
|
179
190
|
# IDAT
|
|
180
191
|
# IEND
|
|
@@ -227,7 +238,11 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
|
227
238
|
},
|
|
228
239
|
sRGB => {
|
|
229
240
|
Name => 'SRGBRendering',
|
|
241
|
+
Writable => 1,
|
|
242
|
+
Protected => 1,
|
|
243
|
+
Notes => 'this chunk should not be present if an iCCP chunk exists',
|
|
230
244
|
ValueConv => 'unpack("C",$val)',
|
|
245
|
+
ValueConvInv => 'pack("C",$val)',
|
|
231
246
|
PrintConv => {
|
|
232
247
|
0 => 'Perceptual',
|
|
233
248
|
1 => 'Relative Colorimetric',
|
|
@@ -259,6 +274,7 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND =
|
|
|
259
274
|
},
|
|
260
275
|
tRNS => {
|
|
261
276
|
Name => 'Transparency',
|
|
277
|
+
# may have as many entries as the PLTE table, but who wants to see all that?
|
|
262
278
|
ValueConv => q{
|
|
263
279
|
return \$val if length($val) > 6;
|
|
264
280
|
join(" ",unpack($Image::ExifTool::PNG::colorType == 3 ? "C*" : "n*", $val));
|
|
@@ -1158,11 +1174,16 @@ sub ProcessPNG_Compressed($$$)
|
|
|
1158
1174
|
if ($tagInfo and $$tagInfo{Name} eq 'ICC_Profile') {
|
|
1159
1175
|
$et->VerboseDir('iCCP');
|
|
1160
1176
|
$tagTablePtr = \%Image::ExifTool::PNG::Main;
|
|
1161
|
-
if
|
|
1162
|
-
FoundPNG($et, $tagTablePtr, 'iCCP-name', $tag);
|
|
1163
|
-
}
|
|
1177
|
+
FoundPNG($et, $tagTablePtr, 'iCCP-name', $tag) if length($tag) and not $outBuff;
|
|
1164
1178
|
$success = FoundPNG($et, $tagTablePtr, 'iCCP', $val, $compressed, $outBuff);
|
|
1165
|
-
|
|
1179
|
+
if ($outBuff and $$outBuff) {
|
|
1180
|
+
my $profileName = $et->GetNewValue($Image::ExifTool::PNG::Main{'iCCP-name'});
|
|
1181
|
+
if (defined $profileName) {
|
|
1182
|
+
$hdr = $profileName . substr($hdr, length $tag);
|
|
1183
|
+
$et->VerboseValue("+ PNG:ProfileName", $profileName);
|
|
1184
|
+
}
|
|
1185
|
+
$$outBuff = $hdr . $$outBuff;
|
|
1186
|
+
}
|
|
1166
1187
|
} else {
|
|
1167
1188
|
$success = FoundPNG($et, $tagTablePtr, $tag, $val, $compressed, $outBuff, 'Latin');
|
|
1168
1189
|
}
|
|
@@ -1540,7 +1561,7 @@ and JNG (JPEG Network Graphics) images.
|
|
|
1540
1561
|
|
|
1541
1562
|
=head1 AUTHOR
|
|
1542
1563
|
|
|
1543
|
-
Copyright 2003-
|
|
1564
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
1544
1565
|
|
|
1545
1566
|
This library is free software; you can redistribute it and/or modify it
|
|
1546
1567
|
under the same terms as Perl itself.
|
|
@@ -143,7 +143,7 @@ BitMap) images.
|
|
|
143
143
|
|
|
144
144
|
=head1 AUTHOR
|
|
145
145
|
|
|
146
|
-
Copyright 2003-
|
|
146
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
147
147
|
|
|
148
148
|
This library is free software; you can redistribute it and/or modify it
|
|
149
149
|
under the same terms as Perl itself.
|
|
@@ -284,7 +284,7 @@ information from Paint Shop Pro images.
|
|
|
284
284
|
|
|
285
285
|
=head1 AUTHOR
|
|
286
286
|
|
|
287
|
-
Copyright 2003-
|
|
287
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
288
288
|
|
|
289
289
|
This library is free software; you can redistribute it and/or modify it
|
|
290
290
|
under the same terms as Perl itself.
|
|
@@ -379,7 +379,7 @@ KF7 and KF8 books (AZW and AZW3).
|
|
|
379
379
|
|
|
380
380
|
=head1 AUTHOR
|
|
381
381
|
|
|
382
|
-
Copyright 2003-
|
|
382
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
383
383
|
|
|
384
384
|
This library is free software; you can redistribute it and/or modify it
|
|
385
385
|
under the same terms as Perl itself.
|
|
@@ -2837,7 +2837,7 @@ Panasonic and Leica maker notes in EXIF information.
|
|
|
2837
2837
|
|
|
2838
2838
|
=head1 AUTHOR
|
|
2839
2839
|
|
|
2840
|
-
Copyright 2003-
|
|
2840
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
2841
2841
|
|
|
2842
2842
|
This library is free software; you can redistribute it and/or modify it
|
|
2843
2843
|
under the same terms as Perl itself.
|
|
@@ -888,7 +888,7 @@ write meta information in Panasonic/Leica RAW, RW2 and RWL images.
|
|
|
888
888
|
|
|
889
889
|
=head1 AUTHOR
|
|
890
890
|
|
|
891
|
-
Copyright 2003-
|
|
891
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
892
892
|
|
|
893
893
|
This library is free software; you can redistribute it and/or modify it
|
|
894
894
|
under the same terms as Perl itself.
|
|
@@ -731,7 +731,7 @@ timed metadata from the 'mett' frame found in Parrot drone MP4 videos.
|
|
|
731
731
|
|
|
732
732
|
=head1 AUTHOR
|
|
733
733
|
|
|
734
|
-
Copyright 2003-
|
|
734
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
735
735
|
|
|
736
736
|
This library is free software; you can redistribute it and/or modify it
|
|
737
737
|
under the same terms as Perl itself.
|
|
@@ -58,7 +58,7 @@ use Image::ExifTool::Exif;
|
|
|
58
58
|
use Image::ExifTool::GPS;
|
|
59
59
|
use Image::ExifTool::HP;
|
|
60
60
|
|
|
61
|
-
$VERSION = '3.
|
|
61
|
+
$VERSION = '3.40';
|
|
62
62
|
|
|
63
63
|
sub CryptShutterCount($$);
|
|
64
64
|
sub PrintFilter($$$);
|
|
@@ -340,6 +340,7 @@ sub DecodeAFPoints($$$$;$);
|
|
|
340
340
|
'8 64' => 'HD PENTAX-D FA* 50mm F1.4 SDM AW', #27
|
|
341
341
|
'8 65' => 'HD PENTAX-D FA 70-210mm F4 ED SDM WR', #PH
|
|
342
342
|
'8 66' => 'HD PENTAX-D FA 85mm F1.4 ED SDM AW', #James O'Neill
|
|
343
|
+
'8 67' => 'HD PENTAX-D FA 21mm F2.4 ED Limited DC WR', #ChristianShulz
|
|
343
344
|
'8 195' => 'HD PENTAX DA* 16-50mm F2.8 ED PLM AW', #27
|
|
344
345
|
'8 196' => 'HD PENTAX-DA* 11-18mm F2.8 ED DC AW', #29
|
|
345
346
|
'8 197' => 'HD PENTAX-DA 55-300mm F4.5-6.3 ED PLM WR RE', #29
|
|
@@ -6314,7 +6315,7 @@ tags, and everyone who helped contribute to the LensType values.
|
|
|
6314
6315
|
|
|
6315
6316
|
=head1 AUTHOR
|
|
6316
6317
|
|
|
6317
|
-
Copyright 2003-
|
|
6318
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
6318
6319
|
|
|
6319
6320
|
This library is free software; you can redistribute it and/or modify it
|
|
6320
6321
|
under the same terms as Perl itself.
|
|
@@ -712,7 +712,7 @@ One maker notes.
|
|
|
712
712
|
|
|
713
713
|
=head1 AUTHOR
|
|
714
714
|
|
|
715
|
-
Copyright 2003-
|
|
715
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
716
716
|
|
|
717
717
|
This library is free software; you can redistribute it and/or modify it
|
|
718
718
|
under the same terms as Perl itself.
|
|
@@ -484,7 +484,7 @@ information from Kodak Photo CD Image Pac (PCD) files.
|
|
|
484
484
|
|
|
485
485
|
=head1 AUTHOR
|
|
486
486
|
|
|
487
|
-
Copyright 2003-
|
|
487
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
488
488
|
|
|
489
489
|
This library is free software; you can redistribute it and/or modify it
|
|
490
490
|
under the same terms as Perl itself.
|
|
@@ -236,7 +236,7 @@ write information written by the Camera Bits Photo Mechanic software.
|
|
|
236
236
|
|
|
237
237
|
=head1 AUTHOR
|
|
238
238
|
|
|
239
|
-
Copyright 2003-
|
|
239
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
240
240
|
|
|
241
241
|
This library is free software; you can redistribute it and/or modify it
|
|
242
242
|
under the same terms as Perl itself.
|
|
@@ -1143,7 +1143,7 @@ be preserved when copying Photoshop information via user-defined tags.
|
|
|
1143
1143
|
|
|
1144
1144
|
=head1 AUTHOR
|
|
1145
1145
|
|
|
1146
|
-
Copyright 2003-
|
|
1146
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
1147
1147
|
|
|
1148
1148
|
This library is free software; you can redistribute it and/or modify it
|
|
1149
1149
|
under the same terms as Perl itself.
|
|
@@ -777,7 +777,7 @@ This code reads meta information from EPS (Encapsulated PostScript), PS
|
|
|
777
777
|
|
|
778
778
|
=head1 AUTHOR
|
|
779
779
|
|
|
780
|
-
Copyright 2003-
|
|
780
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
781
781
|
|
|
782
782
|
This library is free software; you can redistribute it and/or modify it
|
|
783
783
|
under the same terms as Perl itself.
|
|
@@ -112,7 +112,7 @@ Print Image Matching meta information.
|
|
|
112
112
|
|
|
113
113
|
=head1 AUTHOR
|
|
114
114
|
|
|
115
|
-
Copyright 2003-
|
|
115
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
116
116
|
|
|
117
117
|
This library is free software; you can redistribute it and/or modify it
|
|
118
118
|
under the same terms as Perl itself.
|
|
@@ -1331,7 +1331,7 @@ information from the APP7 Qualcomm segment in JPEG images.
|
|
|
1331
1331
|
|
|
1332
1332
|
=head1 AUTHOR
|
|
1333
1333
|
|
|
1334
|
-
Copyright 2003-
|
|
1334
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
1335
1335
|
|
|
1336
1336
|
This library is free software; you can redistribute it and/or modify it
|
|
1337
1337
|
under the same terms as Perl itself.
|
|
@@ -47,7 +47,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
47
47
|
use Image::ExifTool::Exif;
|
|
48
48
|
use Image::ExifTool::GPS;
|
|
49
49
|
|
|
50
|
-
$VERSION = '2.
|
|
50
|
+
$VERSION = '2.74';
|
|
51
51
|
|
|
52
52
|
sub ProcessMOV($$;$);
|
|
53
53
|
sub ProcessKeys($$$);
|
|
@@ -482,6 +482,17 @@ my %eeBox2 = (
|
|
|
482
482
|
# (Pittasoft Blackview dashcam MP4 videos)
|
|
483
483
|
Condition => '$$valPt =~ /^\0\0..(cprt|sttm|ptnm|ptrh|thum|gps |3gf )/s',
|
|
484
484
|
SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::Pittasoft' },
|
|
485
|
+
},{
|
|
486
|
+
Name => 'ThumbnailImage',
|
|
487
|
+
# (DJI Zenmuse XT2 thermal camera)
|
|
488
|
+
Groups => { 2 => 'Preview' },
|
|
489
|
+
Condition => '$$valPt =~ /^.{4}mdat\xff\xd8\xff/s',
|
|
490
|
+
RawConv => q{
|
|
491
|
+
my $len = unpack('N', $val);
|
|
492
|
+
return undef if $len <= 8 or $len > length($val);
|
|
493
|
+
return substr($val, 8, $len-8);
|
|
494
|
+
},
|
|
495
|
+
Binary => 1,
|
|
485
496
|
},{
|
|
486
497
|
Unknown => 1,
|
|
487
498
|
Binary => 1,
|
|
@@ -558,6 +569,7 @@ my %eeBox2 = (
|
|
|
558
569
|
# *** this is where ExifTool writes XMP in MP4 videos (as per XMP spec) ***
|
|
559
570
|
Condition => '$$valPt=~/^\xbe\x7a\xcf\xcb\x97\xa9\x42\xe8\x9c\x71\x99\x94\x91\xe3\xaf\xac/',
|
|
560
571
|
WriteGroup => 'XMP', # (write main XMP tags here)
|
|
572
|
+
PreservePadding => 1,
|
|
561
573
|
SubDirectory => {
|
|
562
574
|
TagTable => 'Image::ExifTool::XMP::Main',
|
|
563
575
|
Start => 16,
|
|
@@ -607,6 +619,7 @@ my %eeBox2 = (
|
|
|
607
619
|
Name => 'PreviewImage',
|
|
608
620
|
Condition => '$$valPt=~/^\xea\xf4\x2b\x5e\x1c\x98\x4b\x88\xb9\xfb\xb7\xdc\x40\x6e\x4d\x16/',
|
|
609
621
|
Groups => { 2 => 'Preview' },
|
|
622
|
+
PreservePadding => 1,
|
|
610
623
|
# 0x00 - undef[16]: UUID
|
|
611
624
|
# 0x10 - int32u[2]: "0 1" (version and/or item count?)
|
|
612
625
|
# 0x18 - int32u: PRVW atom size
|
|
@@ -6357,7 +6370,7 @@ my %eeBox2 = (
|
|
|
6357
6370
|
'player.movie.visual.tint' => 'Tint',
|
|
6358
6371
|
'player.movie.visual.contrast' => 'Contrast',
|
|
6359
6372
|
'player.movie.audio.gain' => 'AudioGain',
|
|
6360
|
-
'player.movie.audio.treble' => '
|
|
6373
|
+
'player.movie.audio.treble' => 'Treble',
|
|
6361
6374
|
'player.movie.audio.bass' => 'Bass',
|
|
6362
6375
|
'player.movie.audio.balance' => 'Balance',
|
|
6363
6376
|
'player.movie.audio.pitchshift' => 'PitchShift',
|
|
@@ -6452,6 +6465,7 @@ my %eeBox2 = (
|
|
|
6452
6465
|
%Image::ExifTool::QuickTime::iTunesInfo = (
|
|
6453
6466
|
PROCESS_PROC => \&ProcessMOV,
|
|
6454
6467
|
GROUPS => { 1 => 'iTunes', 2 => 'Audio' },
|
|
6468
|
+
VARS => { LONG_TAGS => 0 }, # (hack for discrepancy in the way long tags are counted in BuildTagLookup)
|
|
6455
6469
|
NOTES => q{
|
|
6456
6470
|
ExifTool will extract any iTunesInfo tags that exist, even if they are not
|
|
6457
6471
|
defined in this table. These tags belong to the family 1 "iTunes" group,
|
|
@@ -8781,16 +8795,20 @@ sub ProcessSampleDesc($$$)
|
|
|
8781
8795
|
|
|
8782
8796
|
my $num = Get32u($dataPt, 4); # get number of sample entries in table
|
|
8783
8797
|
$pos += 8;
|
|
8784
|
-
my $i;
|
|
8798
|
+
my ($i, $err);
|
|
8785
8799
|
for ($i=0; $i<$num; ++$i) { # loop through sample entries
|
|
8786
|
-
|
|
8800
|
+
$pos + 8 > $dirLen and $err = 1, last;
|
|
8787
8801
|
my $size = Get32u($dataPt, $pos);
|
|
8788
|
-
|
|
8802
|
+
$pos + $size > $dirLen and $err = 1, last;
|
|
8789
8803
|
$$dirInfo{DirStart} = $pos;
|
|
8790
8804
|
$$dirInfo{DirLen} = $size;
|
|
8791
8805
|
ProcessHybrid($et, $dirInfo, $tagTablePtr);
|
|
8792
8806
|
$pos += $size;
|
|
8793
8807
|
}
|
|
8808
|
+
if ($err and $$et{HandlerType}) {
|
|
8809
|
+
my $grp = $$et{SET_GROUP1} || $$dirInfo{Parent} || 'unknown';
|
|
8810
|
+
$et->Warn("Truncated $$et{HandlerType} sample table for $grp");
|
|
8811
|
+
}
|
|
8794
8812
|
return 1;
|
|
8795
8813
|
}
|
|
8796
8814
|
|
|
@@ -9425,7 +9443,7 @@ ItemID: foreach $id (keys %$items) {
|
|
|
9425
9443
|
for (;;) {
|
|
9426
9444
|
last if $pos + 16 > $size;
|
|
9427
9445
|
my ($len, $type, $flags, $ctry, $lang) = unpack("x${pos}Na4Nnn", $val);
|
|
9428
|
-
last if $pos + $len > $size;
|
|
9446
|
+
last if $pos + $len > $size or not $len;
|
|
9429
9447
|
my ($value, $langInfo, $oldDir);
|
|
9430
9448
|
my $format = $$tagInfo{Format};
|
|
9431
9449
|
if ($type eq 'data' and $len >= 16) {
|
|
@@ -9671,7 +9689,7 @@ information from QuickTime and MP4 video, M4A audio, and HEIC image files.
|
|
|
9671
9689
|
|
|
9672
9690
|
=head1 AUTHOR
|
|
9673
9691
|
|
|
9674
|
-
Copyright 2003-
|
|
9692
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
9675
9693
|
|
|
9676
9694
|
This library is free software; you can redistribute it and/or modify it
|
|
9677
9695
|
under the same terms as Perl itself.
|
|
@@ -99,7 +99,7 @@ my %insvLimit = (
|
|
|
99
99
|
The tags below are extracted from timed metadata in QuickTime and other
|
|
100
100
|
formats of video files when the ExtractEmbedded option is used. Although
|
|
101
101
|
most of these tags are combined into the single table below, ExifTool
|
|
102
|
-
currently reads
|
|
102
|
+
currently reads 59 different formats of timed GPS metadata from video files.
|
|
103
103
|
},
|
|
104
104
|
VARS => { NO_ID => 1 },
|
|
105
105
|
GPSLatitude => { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")', RawConv => '$$self{FoundGPSLatitude} = 1; $val' },
|
|
@@ -1527,7 +1527,7 @@ sub ProcessFreeGPS($$$)
|
|
|
1527
1527
|
$spd = $9 * $knotsToKph if length $9;
|
|
1528
1528
|
$trk = $10 if length $10;
|
|
1529
1529
|
|
|
1530
|
-
} elsif ($$dataPt =~ /^.{
|
|
1530
|
+
} elsif ($$dataPt =~ /^.{64}[\x01-\x0c]\0{3}[\x01-\x1f]\0{3}A[NS][EW]\0/s) {
|
|
1531
1531
|
|
|
1532
1532
|
# Akaso V1 dascham
|
|
1533
1533
|
# 0000: 00 00 80 00 66 72 65 65 47 50 53 20 78 00 00 00 [....freeGPS x...]
|
|
@@ -1539,6 +1539,17 @@ sub ProcessFreeGPS($$$)
|
|
|
1539
1539
|
# 0060: 4b dc c8 41 9a 79 a7 43 34 58 43 31 4f 37 31 35 [K..A.y.C4XC1O715]
|
|
1540
1540
|
# 0070: 35 31 32 36 36 35 37 35 59 4e 44 53 0d e7 cc f9 [51266575YNDS....]
|
|
1541
1541
|
# 0080: 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 [................]
|
|
1542
|
+
# Redtiger F7N dashcam
|
|
1543
|
+
# 0000: 00 00 40 00 66 72 65 65 47 50 53 20 f0 01 00 00 [..@.freeGPS ....]
|
|
1544
|
+
# 0010: 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
|
|
1545
|
+
# 0020: 01 00 00 00 b0 56 50 01 7b 18 68 45 17 02 3f 46 [.....VP.{.hE..?F]
|
|
1546
|
+
# 0030: 13 00 00 00 01 00 00 00 06 00 00 00 15 00 00 00 [................]
|
|
1547
|
+
# 0040: 0c 00 00 00 1c 00 00 00 41 4e 57 00 00 00 00 00 [........ANW.....]
|
|
1548
|
+
# 0050: 80 d4 26 4e 36 11 b5 40 74 b5 15 7b cd 7b f3 40 [..&N6..@t..{.{.@]
|
|
1549
|
+
# 0060: 0a d7 a3 3d cd 4c 4e 43 38 34 37 41 45 48 31 36 [...=.LNC847AEH16]
|
|
1550
|
+
# 0070: 33 36 30 38 32 34 35 37 59 53 4b 4a 01 00 00 00 [36082457YSKJ....]
|
|
1551
|
+
# 0080: ec ff ff ff 00 00 00 00 0e 00 00 00 01 00 00 00 [................]
|
|
1552
|
+
# 0090: 0a 00 00 00 e5 07 00 00 0c 00 00 00 1c 00 00 00 [................]
|
|
1542
1553
|
($hr,$min,$sec,$yr,$mon,$day,$stat,$latRef,$lonRef) =
|
|
1543
1554
|
unpack('x48V6a1a1a1x1', $$dataPt);
|
|
1544
1555
|
# ignore invalid fixes
|
|
@@ -1581,6 +1592,31 @@ sub ProcessFreeGPS($$$)
|
|
|
1581
1592
|
substr($time,7,6) = pack 'C*', map { $_ ^= 0x70 } unpack 'C*', substr($time,7,6);
|
|
1582
1593
|
# (other values are currently unknown)
|
|
1583
1594
|
|
|
1595
|
+
} elsif ($$dataPt =~ /^.{64}A([NS])([EW])\0/s) {
|
|
1596
|
+
|
|
1597
|
+
# Vantrue S1 dashcam
|
|
1598
|
+
# 0000: 00 00 80 00 66 72 65 65 47 50 53 20 78 00 00 00 [....freeGPS x...]
|
|
1599
|
+
# 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
|
|
1600
|
+
# 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
|
|
1601
|
+
# 0030: 68 6f 72 73 6f 6e 74 65 63 68 00 00 00 00 00 00 [horsontech......]
|
|
1602
|
+
# 0040: 41 4e 45 00 15 00 00 00 07 00 00 00 02 00 00 00 [ANE.............]
|
|
1603
|
+
# 0050: 03 00 00 00 35 00 00 00 05 00 00 00 4f 74 4c 44 [....5.......OtLD]
|
|
1604
|
+
# 0060: e2 77 a0 45 89 c1 98 42 71 bd ac 42 02 ab 0d 43 [.w.E...Bq..B...C]
|
|
1605
|
+
# 0070: 05 00 00 00 7f 00 00 00 07 01 00 00 00 00 00 00 [................]
|
|
1606
|
+
($latRef, $lonRef) = ($1, $2);
|
|
1607
|
+
($yr,$mon,$day,$hr,$min,$sec,@acc) = unpack('x68V6x20V3', $$dataPt);
|
|
1608
|
+
return 0 unless $mon>=1 and $mon<=12 and $day>=1 and $day<=31;
|
|
1609
|
+
$yr += 2000 if $yr < 2000;
|
|
1610
|
+
# (not sure about acc scaling)
|
|
1611
|
+
map { $_ = $_ - 4294967296 if $_ >= 0x80000000; $_ /= 1000 } @acc;
|
|
1612
|
+
SetByteOrder('II');
|
|
1613
|
+
$lon = GetFloat($dataPt, 0x5c);
|
|
1614
|
+
$lat = GetFloat($dataPt, 0x60);
|
|
1615
|
+
$spd = GetFloat($dataPt, 0x64) * $knotsToKph;
|
|
1616
|
+
$trk = GetFloat($dataPt, 0x68);
|
|
1617
|
+
$alt = GetFloat($dataPt, 0x6c);
|
|
1618
|
+
SetByteOrder('MM');
|
|
1619
|
+
|
|
1584
1620
|
} else {
|
|
1585
1621
|
|
|
1586
1622
|
# decode binary GPS format (Viofo A119S, ref 2)
|
|
@@ -2547,7 +2583,7 @@ sub ProcessInsta360($;$)
|
|
|
2547
2583
|
my $trailerLen = unpack('x38V', $buff);
|
|
2548
2584
|
$trailerLen > $fileEnd and $et->Warn('Bad Insta360 trailer size'), return 0;
|
|
2549
2585
|
if ($dirInfo) {
|
|
2550
|
-
$$dirInfo{DirLen} = $trailerLen
|
|
2586
|
+
$$dirInfo{DirLen} = $trailerLen;
|
|
2551
2587
|
$$dirInfo{DataPos} = $fileEnd - $trailerLen;
|
|
2552
2588
|
if ($$dirInfo{OutFile}) {
|
|
2553
2589
|
if ($$et{DEL_GROUP}{Insta360}) {
|
|
@@ -2830,7 +2866,7 @@ information like GPS tracks from MOV, MP4 and INSV media data.
|
|
|
2830
2866
|
|
|
2831
2867
|
=head1 AUTHOR
|
|
2832
2868
|
|
|
2833
|
-
Copyright 2003-
|
|
2869
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
2834
2870
|
|
|
2835
2871
|
This library is free software; you can redistribute it and/or modify it
|
|
2836
2872
|
under the same terms as Perl itself.
|
|
@@ -450,6 +450,10 @@ numerical, and generated automatically otherwise.
|
|
|
450
450
|
may be written if the tag already exists. By default, all
|
|
451
451
|
MakerNotes tags are permanent unless otherwise specified.
|
|
452
452
|
|
|
453
|
+
'PreservePadding' - [QuickTime only] flag to preserve the
|
|
454
|
+
original size of the QuickTime atom by padding with nulls when
|
|
455
|
+
writing with the QuickTimePad option.
|
|
456
|
+
|
|
453
457
|
'PrintHex' - specifies that unknown PrintConv values should
|
|
454
458
|
be printed in hex (eg. 'Unknown (0x1)'). Also causes
|
|
455
459
|
numerical tag values to be printed in hex in the HTML tag name
|
|
@@ -2029,7 +2029,7 @@ including AVI videos, WAV audio files and WEBP images.
|
|
|
2029
2029
|
|
|
2030
2030
|
=head1 AUTHOR
|
|
2031
2031
|
|
|
2032
|
-
Copyright 2003-
|
|
2032
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
2033
2033
|
|
|
2034
2034
|
This library is free software; you can redistribute it and/or modify it
|
|
2035
2035
|
under the same terms as Perl itself.
|
|
@@ -225,7 +225,7 @@ resource files.
|
|
|
225
225
|
|
|
226
226
|
=head1 AUTHOR
|
|
227
227
|
|
|
228
|
-
Copyright 2003-
|
|
228
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
229
229
|
|
|
230
230
|
This library is free software; you can redistribute it and/or modify it
|
|
231
231
|
under the same terms as Perl itself.
|
|
@@ -366,7 +366,7 @@ information from RTF (Rich Text Format) documents.
|
|
|
366
366
|
|
|
367
367
|
=head1 AUTHOR
|
|
368
368
|
|
|
369
|
-
Copyright 2003-
|
|
369
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
370
370
|
|
|
371
371
|
This library is free software; you can redistribute it and/or modify it
|
|
372
372
|
under the same terms as Perl itself.
|
|
@@ -125,7 +125,7 @@ images are a type of high dynamic-range image.
|
|
|
125
125
|
|
|
126
126
|
=head1 AUTHOR
|
|
127
127
|
|
|
128
|
-
Copyright 2003-
|
|
128
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
129
129
|
|
|
130
130
|
This library is free software; you can redistribute it and/or modify it
|
|
131
131
|
under the same terms as Perl itself.
|
|
@@ -168,7 +168,7 @@ information from Rawzor compressed images.
|
|
|
168
168
|
|
|
169
169
|
=head1 AUTHOR
|
|
170
170
|
|
|
171
|
-
Copyright 2003-
|
|
171
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
172
172
|
|
|
173
173
|
This library is free software; you can redistribute it and/or modify it
|
|
174
174
|
under the same terms as Perl itself.
|
|
@@ -715,7 +715,7 @@ little-endian, but the Real format is big-endian.
|
|
|
715
715
|
|
|
716
716
|
=head1 AUTHOR
|
|
717
717
|
|
|
718
|
-
Copyright 2003-
|
|
718
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
719
719
|
|
|
720
720
|
This library is free software; you can redistribute it and/or modify it
|
|
721
721
|
under the same terms as Perl itself.
|
|
@@ -431,7 +431,7 @@ maker notes in images from Reconyx cameras.
|
|
|
431
431
|
|
|
432
432
|
=head1 AUTHOR
|
|
433
433
|
|
|
434
|
-
Copyright 2003-
|
|
434
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
435
435
|
|
|
436
436
|
This library is free software; you can redistribute it and/or modify it
|
|
437
437
|
under the same terms as Perl itself.
|
|
@@ -303,7 +303,7 @@ from Redcode R3D version 1 and 2 video files.
|
|
|
303
303
|
|
|
304
304
|
=head1 AUTHOR
|
|
305
305
|
|
|
306
|
-
Copyright 2003-
|
|
306
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
307
307
|
|
|
308
308
|
This library is free software; you can redistribute it and/or modify it
|
|
309
309
|
under the same terms as Perl itself.
|
|
@@ -1143,7 +1143,7 @@ interpret Ricoh maker notes EXIF meta information.
|
|
|
1143
1143
|
|
|
1144
1144
|
=head1 AUTHOR
|
|
1145
1145
|
|
|
1146
|
-
Copyright 2003-
|
|
1146
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
|
1147
1147
|
|
|
1148
1148
|
This library is free software; you can redistribute it and/or modify it
|
|
1149
1149
|
under the same terms as Perl itself.
|