exiftool-vendored.exe 12.70.0 → 12.72.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/exiftool_files/Changes +36 -1
- package/bin/exiftool_files/README +10 -10
- package/bin/exiftool_files/exiftool.pl +19 -14
- package/bin/exiftool_files/lib/Image/ExifTool/AAC.pm +175 -0
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +21 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +30 -9
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +16 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +7 -4
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +4 -1
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +21 -16
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +158 -90
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +15 -6
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +29 -10
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +59 -11
- package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +109 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +3 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +83 -4
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4862 -4828
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +147 -42
- package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +19 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +81 -14
- package/bin/exiftool_files/lib/Image/ExifTool.pm +18 -6
- package/bin/exiftool_files/lib/Image/ExifTool.pod +19 -14
- package/package.json +5 -4
|
@@ -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.72';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -146,8 +146,8 @@ sub ReadValue($$$;$$$);
|
|
|
146
146
|
PCX PGF PSP PhotoCD Radiance Other::PFM PDF PostScript Photoshop::Header
|
|
147
147
|
Photoshop::Layers Photoshop::ImageData FujiFilm::RAF FujiFilm::IFD
|
|
148
148
|
FujiFilm::MRAW Samsung::Trailer Sony::SRF2 Sony::SR2SubIFD Sony::PMP ITC ID3
|
|
149
|
-
ID3::Lyrics3 FLAC Ogg Vorbis APE APE::NewHeader APE::OldHeader Audible
|
|
150
|
-
MPEG::Audio MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile
|
|
149
|
+
ID3::Lyrics3 FLAC AAC Ogg Vorbis APE APE::NewHeader APE::OldHeader Audible
|
|
150
|
+
MPC MPEG::Audio MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile
|
|
151
151
|
QuickTime::Stream QuickTime::Tags360Fly Matroska Matroska::StdTag MOI MXF DV
|
|
152
152
|
Flash Flash::FLV Real::Media Real::Audio Real::Metafile Red RIFF AIFF ASF
|
|
153
153
|
WTV DICOM FITS XISF MIE JSON HTML XMP::SVG Palm Palm::MOBI Palm::EXTH
|
|
@@ -197,7 +197,7 @@ $defaultLang = 'en'; # default language
|
|
|
197
197
|
RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX DPX RAW Font
|
|
198
198
|
RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard LRI
|
|
199
199
|
R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS JSON MP3 DICOM PCD ICO
|
|
200
|
-
TXT);
|
|
200
|
+
TXT AAC);
|
|
201
201
|
|
|
202
202
|
# file types that we can write (edit)
|
|
203
203
|
my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
|
@@ -206,6 +206,7 @@ my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
|
|
|
206
206
|
my %writeTypes; # lookup for writable file types (hash filled if required)
|
|
207
207
|
|
|
208
208
|
# file extensions that we can't write for various base types
|
|
209
|
+
# (See here for 3FR reason: https://exiftool.org/forum/index.php?msg=17570)
|
|
209
210
|
%noWriteFile = (
|
|
210
211
|
TIFF => [ qw(3FR DCR K25 KDC SRF) ],
|
|
211
212
|
XMP => [ qw(SVG INX) ],
|
|
@@ -232,6 +233,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
|
|
|
232
233
|
'7Z' => ['7Z', '7z archive'],
|
|
233
234
|
A => ['EXE', 'Static library'],
|
|
234
235
|
AA => ['AA', 'Audible Audiobook'],
|
|
236
|
+
AAC => ['AAC', 'Advanced Audio Coding'],
|
|
235
237
|
AAE => ['PLIST','Apple edit information'],
|
|
236
238
|
AAX => ['MOV', 'Audible Enhanced Audiobook'],
|
|
237
239
|
ACR => ['DICOM','American College of Radiology ACR-NEMA'],
|
|
@@ -597,6 +599,7 @@ my %fileDescription = (
|
|
|
597
599
|
'3FR' => 'image/x-hasselblad-3fr',
|
|
598
600
|
'7Z' => 'application/x-7z-compressed',
|
|
599
601
|
AA => 'audio/audible',
|
|
602
|
+
AAC => 'audio/aac',
|
|
600
603
|
AAE => 'application/vnd.apple.photos',
|
|
601
604
|
AI => 'application/vnd.adobe.illustrator',
|
|
602
605
|
AIFF => 'audio/x-aiff',
|
|
@@ -893,6 +896,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
|
|
|
893
896
|
# - this test must not be more stringent than module logic
|
|
894
897
|
%magicNumber = (
|
|
895
898
|
AA => '.{4}\x57\x90\x75\x36',
|
|
899
|
+
AAC => '\xff[\xf0\xf1]',
|
|
896
900
|
AIFF => '(FORM....AIF[FC]|AT&TFORM)',
|
|
897
901
|
ALIAS=> "book\0\0\0\0mark\0\0\0\0",
|
|
898
902
|
APE => '(MAC |APETAGEX|ID3)',
|
|
@@ -1115,6 +1119,7 @@ my @availableOptions = (
|
|
|
1115
1119
|
[ 'MakerNotes', undef, 'extract maker notes as a block' ],
|
|
1116
1120
|
[ 'MDItemTags', undef, 'extract MacOS metadata item tags' ],
|
|
1117
1121
|
[ 'MissingTagValue', undef, 'value for missing tags when expanded in expressions' ],
|
|
1122
|
+
[ 'NoMandatory', undef, 'bypass writing of mandatory EXIF tags' ],
|
|
1118
1123
|
[ 'NoMultiExif', undef, 'raise error when writing multi-segment EXIF' ],
|
|
1119
1124
|
[ 'NoPDFList', undef, 'flag to avoid splitting PDF List-type tag values' ],
|
|
1120
1125
|
[ 'NoWarning', undef, 'regular expression for warnings to suppress' ],
|
|
@@ -4175,12 +4180,16 @@ sub ExtractAltInfo($)
|
|
|
4175
4180
|
next unless defined $fileName;
|
|
4176
4181
|
}
|
|
4177
4182
|
$altExifTool->ExtractInfo($fileName);
|
|
4183
|
+
my $err = $$altExifTool{VALUE}{Error};
|
|
4184
|
+
$err and $self->Warn(qq{$err "$fileName"});
|
|
4178
4185
|
# set family 8 group name for all tags
|
|
4179
4186
|
foreach (keys %{$$altExifTool{VALUE}}) {
|
|
4180
4187
|
my $ex = $$altExifTool{TAG_EXTRA}{$_};
|
|
4181
4188
|
$ex or $ex = $$altExifTool{TAG_EXTRA}{$_} = { };
|
|
4182
4189
|
$$ex{G8} = $g8;
|
|
4183
4190
|
}
|
|
4191
|
+
# prepare our sorted list of found tags
|
|
4192
|
+
$$altExifTool{FoundTags} = [ reverse sort keys %{$$altExifTool{VALUE}} ];
|
|
4184
4193
|
$$altExifTool{DID_EXTRACT} = 1;
|
|
4185
4194
|
}
|
|
4186
4195
|
# if necessary, build composite tags that rely on tags from alternate files
|
|
@@ -6740,6 +6749,7 @@ sub ProcessJPEG($$)
|
|
|
6740
6749
|
pop @$path;
|
|
6741
6750
|
$verbose and print $out "JPEG EOI\n";
|
|
6742
6751
|
my $pos = $raf->Tell();
|
|
6752
|
+
$$self{TrailerStart} = $pos unless $$self{DOC_NUM};
|
|
6743
6753
|
if ($htmlDump and $dumpEnd) {
|
|
6744
6754
|
$self->HDump($dumpEnd, $pos-2-$dumpEnd, '[JPEG Image Data]', undef, 0x08);
|
|
6745
6755
|
$self->HDump($pos-2, 2, 'JPEG EOI', undef);
|
|
@@ -6878,8 +6888,10 @@ sub ProcessJPEG($$)
|
|
|
6878
6888
|
require Image::ExifTool::Panasonic;
|
|
6879
6889
|
Image::ExifTool::Panasonic::ProcessLeicaTrailer($self);
|
|
6880
6890
|
$wantTrailer = 1 if $$self{LeicaTrailer};
|
|
6881
|
-
}
|
|
6882
|
-
|
|
6891
|
+
} elsif ($$options{ExtractEmbedded} or ($$self{VALUE}{HiddenDataOffset} and
|
|
6892
|
+
$$self{VALUE}{HiddenDataLength} and ($$options{Validate} or $$req{hiddendata})))
|
|
6893
|
+
{
|
|
6894
|
+
$wantTrailer = 1;
|
|
6883
6895
|
}
|
|
6884
6896
|
next if $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump;
|
|
6885
6897
|
}
|
|
@@ -873,6 +873,10 @@ writing. This applies only to queued values, and doesn't resolve duplicates
|
|
|
873
873
|
with existing values in the file when adding to an existing list. Default
|
|
874
874
|
is undef.
|
|
875
875
|
|
|
876
|
+
=item NoMandatory
|
|
877
|
+
|
|
878
|
+
Flag to bypass writing of mandatory EXIF tags. Default is undef.
|
|
879
|
+
|
|
876
880
|
=item NoMultiExif
|
|
877
881
|
|
|
878
882
|
Raise error when attempting to write multi-segment EXIF in a JPEG image.
|
|
@@ -2421,23 +2425,24 @@ Here is a complete list of groups for each of these families:
|
|
|
2421
2425
|
|
|
2422
2426
|
=item Family 0 (Information Type):
|
|
2423
2427
|
|
|
2424
|
-
AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2,
|
|
2425
|
-
APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG,
|
|
2426
|
-
DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash,
|
|
2427
|
-
Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML,
|
|
2428
|
-
IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK,
|
|
2429
|
-
MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF,
|
|
2430
|
-
Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP,
|
|
2431
|
-
|
|
2432
|
-
RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG,
|
|
2433
|
-
Torrent, Trailer, UserParam, VCard, Vorbis, WTV,
|
|
2428
|
+
AAC, AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2,
|
|
2429
|
+
APP3, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG,
|
|
2430
|
+
DV, DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash,
|
|
2431
|
+
FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML,
|
|
2432
|
+
ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK,
|
|
2433
|
+
Leaf, Lytro, M2TS, MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF,
|
|
2434
|
+
MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP,
|
|
2435
|
+
Palm, Parrot, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript,
|
|
2436
|
+
PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG,
|
|
2437
|
+
SigmaRaw, Stim, Theora, Torrent, Trailer, UserParam, VCard, Vorbis, WTV,
|
|
2438
|
+
XML, XMP, ZIP
|
|
2434
2439
|
|
|
2435
2440
|
=item Family 1 (Specific Location):
|
|
2436
2441
|
|
|
2437
|
-
AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple,
|
|
2438
|
-
CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw,
|
|
2439
|
-
Casio, Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta,
|
|
2440
|
-
EPPIM, EXE, EXIF, ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash,
|
|
2442
|
+
AAC, AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple,
|
|
2443
|
+
Audible, CBOR, CIFF, CameraIFD, Canon, CanonCustom, CanonDR4, CanonRaw,
|
|
2444
|
+
CanonVRD, Casio, Chapter#, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta,
|
|
2445
|
+
Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FITS, FLAC, FLIR, File, Flash,
|
|
2441
2446
|
FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS,
|
|
2442
2447
|
GSpherical, Garmin, GeoTiff, GlobParamIFD, GoPro, GraphConv, H264, HP, HTC,
|
|
2443
2448
|
HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored.exe",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.72.0",
|
|
4
4
|
"description": "Vendored win32 ExifTool for Node.js",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"homepage": "https://github.com/mceachen/exiftool-vendored.exe#readme",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"scripts": {
|
|
28
28
|
"prettier": "prettier --write test/*.js",
|
|
29
29
|
"test": "mocha",
|
|
30
|
-
"update": "bash -c ./update.sh"
|
|
30
|
+
"update": "ncu -ui && bash -c ./update.sh"
|
|
31
31
|
},
|
|
32
32
|
"release-it": {
|
|
33
33
|
"hooks": {
|
|
@@ -42,7 +42,8 @@
|
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"mocha": "^10.2.0",
|
|
45
|
-
"
|
|
46
|
-
"
|
|
45
|
+
"npm-check-updates": "^16.14.12",
|
|
46
|
+
"prettier": "^3.1.1",
|
|
47
|
+
"release-it": "^17.0.1"
|
|
47
48
|
}
|
|
48
49
|
}
|