exiftool_vendored 13.21.0 → 13.24.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.
- checksums.yaml +4 -4
- data/bin/Changes +36 -1
- data/bin/MANIFEST +7 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +46 -46
- data/bin/exiftool +81 -69
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
- data/bin/lib/Image/ExifTool/DJI.pm +12 -1
- data/bin/lib/Image/ExifTool/GM.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +3 -3
- data/bin/lib/Image/ExifTool/JPEG.pm +5 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +148 -752
- data/bin/lib/Image/ExifTool/PCAP.pm +462 -0
- data/bin/lib/Image/ExifTool/PNG.pm +7 -1
- data/bin/lib/Image/ExifTool/Plot.pm +352 -131
- data/bin/lib/Image/ExifTool/Protobuf.pm +3 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +78 -1
- data/bin/lib/Image/ExifTool/RIFF.pm +3 -3
- data/bin/lib/Image/ExifTool/Sony.pm +18 -5
- data/bin/lib/Image/ExifTool/TagLookup.pm +151 -148
- data/bin/lib/Image/ExifTool/TagNames.pod +115 -218
- data/bin/lib/Image/ExifTool/Trailer.pm +2 -2
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +9 -4
- data/bin/lib/Image/ExifTool/XMP.pm +17 -3
- data/bin/lib/Image/ExifTool.pm +24 -9
- data/bin/lib/Image/ExifTool.pod +51 -47
- data/bin/perl-Image-ExifTool.spec +45 -45
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f33904cf1cb68c4430d4c01c96d72b95f075598f22d8dc3d11dd675d748d2d07
|
4
|
+
data.tar.gz: feb3c0a6a5adcdb9d641fe9c525fccbae1f418b6ea2410114a982e405361bef2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 715c7f81c667b8805769396e03b36bd2b2fc22c0085a4755e6f4eb12e9ede928732f3a28f484f14f854e6547bc473466992812ad57b35a70553d86b1f61c30ea
|
7
|
+
data.tar.gz: b3a603f49067c3d03fb7cd4ec1aaee82d3924010e532622ae46f7398e40d6612cbf3fcb8f7e02c0adddb305c971e31a4e8fce19470867b6b68b26567d6931ebb
|
data/bin/Changes
CHANGED
@@ -7,10 +7,45 @@ RSS feed: https://exiftool.org/rss.xml
|
|
7
7
|
Note: The most recent production release is Version 13.10. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
9
9
|
|
10
|
+
Mar. 7, 2025 - Version 13.24
|
11
|
+
|
12
|
+
- Changed -listf, -listr and -listwf options to print descriptions when either
|
13
|
+
-v or -l is added (previously only -l did this)
|
14
|
+
- Patched to avoid failed PCAP test due to differing time zones (github #319)
|
15
|
+
|
16
|
+
Mar. 7, 2025 - Version 13.23
|
17
|
+
|
18
|
+
- Added read support for CAP, PCAP and PACPNG files
|
19
|
+
- Added a number of new Sony LensType2 values (thanks Jos Roost)
|
20
|
+
- Added the 2 new GPSAltitudeRef values defined by EXIF 3.0
|
21
|
+
- Decode APP4 "Qualcomm Dual Camera Attributes" metadata
|
22
|
+
- EXIF X/YResolution, ResolutionUnit and FlashpixVersion are no longer treated
|
23
|
+
as mandatory tags (they were changed to optional in the EXIF 3.0 specification)
|
24
|
+
- Patched decoding of Nikon Z8 MenuSettings to accommodate changes in the data
|
25
|
+
structure as of firmware version 2.1
|
26
|
+
- Patched to avoid bug in Perl v5.26.3 which could cause hang when reading
|
27
|
+
very large and corrupted XMP
|
28
|
+
- Patched -plot option to avoid bug in Google Chrome SVG marker rendering
|
29
|
+
- API Changes:
|
30
|
+
- Fixed documentation for LargeFileSupport option to reflect current
|
31
|
+
default
|
32
|
+
|
33
|
+
Mar. 1, 2025 - Version 13.22
|
34
|
+
|
35
|
+
- Improvements and additions to the new plot feature
|
36
|
+
- Decode a few more DJI timed metadata tags
|
37
|
+
- Extract GainMapImage from PNG images
|
38
|
+
- Reverted WebP FileType change of version 13.20
|
39
|
+
- Set $^W in the exiftool application to re-enable global warnings (they have
|
40
|
+
been disabled since version 12.92 due to the shebang change)
|
41
|
+
- Fixed possible incorrect IFD number in "No size tag" warning
|
42
|
+
- Fixed "File is empty" error when using -plot with -w to write the output
|
43
|
+
file into the same directory as the input files
|
44
|
+
|
10
45
|
Feb. 20, 2025 - Version 13.21
|
11
46
|
|
12
47
|
- Patched issue that could result in runtime warning for some video files
|
13
|
-
- Fixed a bug that could
|
48
|
+
- Fixed a bug with the new -plot option that could generate a compiler error
|
14
49
|
|
15
50
|
Feb. 20, 2025 - Version 13.20
|
16
51
|
|
data/bin/MANIFEST
CHANGED
@@ -137,6 +137,7 @@ html/TagNames/Olympus.html
|
|
137
137
|
html/TagNames/OpenEXR.html
|
138
138
|
html/TagNames/Opus.html
|
139
139
|
html/TagNames/Other.html
|
140
|
+
html/TagNames/PCAP.html
|
140
141
|
html/TagNames/PCX.html
|
141
142
|
html/TagNames/PDF.html
|
142
143
|
html/TagNames/PGF.html
|
@@ -208,6 +209,7 @@ html/htmldump.html
|
|
208
209
|
html/idiosyncracies.html
|
209
210
|
html/index.html
|
210
211
|
html/install.html
|
212
|
+
html/markers.svg
|
211
213
|
html/metafiles.html
|
212
214
|
html/mistakes.html
|
213
215
|
html/overview.png
|
@@ -216,6 +218,7 @@ html/plot1.svg
|
|
216
218
|
html/plot2.svg
|
217
219
|
html/plot3.svg
|
218
220
|
html/plot4.svg
|
221
|
+
html/plot5.svg
|
219
222
|
html/standards.html
|
220
223
|
html/struct.html
|
221
224
|
html/style.css
|
@@ -385,6 +388,7 @@ lib/Image/ExifTool/Olympus.pm
|
|
385
388
|
lib/Image/ExifTool/OpenEXR.pm
|
386
389
|
lib/Image/ExifTool/Opus.pm
|
387
390
|
lib/Image/ExifTool/Other.pm
|
391
|
+
lib/Image/ExifTool/PCAP.pm
|
388
392
|
lib/Image/ExifTool/PCX.pm
|
389
393
|
lib/Image/ExifTool/PDF.pm
|
390
394
|
lib/Image/ExifTool/PGF.pm
|
@@ -756,6 +760,8 @@ t/OpenEXR.t
|
|
756
760
|
t/OpenEXR_2.out
|
757
761
|
t/Opus.t
|
758
762
|
t/Opus_2.out
|
763
|
+
t/PCAP.t
|
764
|
+
t/PCAP_2.out
|
759
765
|
t/PCX.t
|
760
766
|
t/PCX_2.out
|
761
767
|
t/PDF.t
|
@@ -1129,6 +1135,7 @@ t/images/OlympusE1.jpg
|
|
1129
1135
|
t/images/OpenDoc.ods
|
1130
1136
|
t/images/OpenEXR.exr
|
1131
1137
|
t/images/Opus.opus
|
1138
|
+
t/images/PCAP.pcapng
|
1132
1139
|
t/images/PCX.pcx
|
1133
1140
|
t/images/PDF.pdf
|
1134
1141
|
t/images/PDF2.pdf
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -14,50 +14,50 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
14
14
|
|
15
15
|
File Types
|
16
16
|
------------+-------------+-------------+-------------+------------
|
17
|
-
360 r/w | DOCX r | ITC r | NUMBERS r |
|
18
|
-
3FR r | DPX r | J2C r | NXD r |
|
19
|
-
3G2 r/w | DR4 r/w/c | JNG r/w | O r |
|
20
|
-
3GP r/w | DSS r | JP2 r/w | ODP r |
|
21
|
-
7Z r | DV r | JPEG r/w | ODS r |
|
22
|
-
A r | DVB r/w | JSON r | ODT r |
|
23
|
-
AA r | DVR-MS r | JXL r/w | OFR r |
|
24
|
-
AAC r | DYLIB r | K25 r | OGG r |
|
25
|
-
AAE r | EIP r | KDC r | OGV r |
|
26
|
-
AAX r/w | EPS r/w | KEY r | ONP r |
|
27
|
-
ACR r | EPUB r | LA r | OPUS r |
|
28
|
-
AFM r | ERF r/w | LFP r | ORF r/w |
|
29
|
-
AI r/w | EXE r | LIF r | ORI r/w |
|
30
|
-
AIFF r | EXIF r/w/c | LNK r | OTF r |
|
31
|
-
APE r | EXR r | LRV r/w | PAC r |
|
32
|
-
ARQ r/w | EXV r/w/c | M2TS r | PAGES r |
|
33
|
-
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w |
|
34
|
-
ASF r | FFF r/w | MACOS r |
|
35
|
-
AVI r | FITS r | MAX r |
|
36
|
-
AVIF r/w | FLA r | MEF r/w |
|
37
|
-
AZW r | FLAC r | MIE r/w/c |
|
38
|
-
BMP r | FLIF r/w | MIFF r |
|
39
|
-
BPG r | FLV r | MKA r |
|
40
|
-
BTF r | FPF r | MKS r |
|
41
|
-
C2PA r | FPX r | MKV r |
|
42
|
-
CHM r | GIF r/w | MNG r/w |
|
43
|
-
COS r | GLV r/w | MOBI r |
|
44
|
-
CR2 r/w | GPR r/w | MODD r |
|
45
|
-
CR3 r/w | GZ r | MOI r |
|
46
|
-
CRM r/w | HDP r/w | MOS r/w |
|
47
|
-
CRW r/w | HDR r | MOV r/w |
|
48
|
-
CS1 r/w | HEIC r/w | MP3 r |
|
49
|
-
CSV r | HEIF r/w | MP4 r/w |
|
50
|
-
CUR r | HTML r | MPC r |
|
51
|
-
CZI r | ICC r/w/c | MPG r |
|
52
|
-
DCM r | ICO r | MPO r/w |
|
53
|
-
DCP r/w | ICS r | MQV r/w |
|
54
|
-
DCR r | IDML r | MRC r |
|
55
|
-
DFONT r | IIQ r/w | MRW r/w |
|
56
|
-
DIVX r | IND r/w | MXF r |
|
57
|
-
DJVU r | INSP r/w | NEF r/w |
|
58
|
-
DLL r | INSV r | NKA r |
|
59
|
-
DNG r/w | INX r | NKSC r/w |
|
60
|
-
DOC r | ISO r | NRW r/w |
|
17
|
+
360 r/w | DOCX r | ITC r | NUMBERS r | RAM r
|
18
|
+
3FR r | DPX r | J2C r | NXD r | RAR r
|
19
|
+
3G2 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
20
|
+
3GP r/w | DSS r | JP2 r/w | ODP r | RIFF r
|
21
|
+
7Z r | DV r | JPEG r/w | ODS r | RSRC r
|
22
|
+
A r | DVB r/w | JSON r | ODT r | RTF r
|
23
|
+
AA r | DVR-MS r | JXL r/w | OFR r | RW2 r/w
|
24
|
+
AAC r | DYLIB r | K25 r | OGG r | RWL r/w
|
25
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
26
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
27
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
28
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
29
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
30
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
31
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
32
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
33
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
34
|
+
ASF r | FFF r/w | MACOS r | PCAP r | SWF r
|
35
|
+
AVI r | FITS r | MAX r | PCAPNG r | THM r/w
|
36
|
+
AVIF r/w | FLA r | MEF r/w | PCD r | TIFF r/w
|
37
|
+
AZW r | FLAC r | MIE r/w/c | PCX r | TORRENT r
|
38
|
+
BMP r | FLIF r/w | MIFF r | PDB r | TTC r
|
39
|
+
BPG r | FLV r | MKA r | PDF r/w | TTF r
|
40
|
+
BTF r | FPF r | MKS r | PEF r/w | TXT r
|
41
|
+
C2PA r | FPX r | MKV r | PFA r | VCF r
|
42
|
+
CHM r | GIF r/w | MNG r/w | PFB r | VNT r
|
43
|
+
COS r | GLV r/w | MOBI r | PFM r | VRD r/w/c
|
44
|
+
CR2 r/w | GPR r/w | MODD r | PGF r | VSD r
|
45
|
+
CR3 r/w | GZ r | MOI r | PGM r/w | WAV r
|
46
|
+
CRM r/w | HDP r/w | MOS r/w | PLIST r | WDP r/w
|
47
|
+
CRW r/w | HDR r | MOV r/w | PICT r | WEBP r/w
|
48
|
+
CS1 r/w | HEIC r/w | MP3 r | PMP r | WEBM r
|
49
|
+
CSV r | HEIF r/w | MP4 r/w | PNG r/w | WMA r
|
50
|
+
CUR r | HTML r | MPC r | PPM r/w | WMV r
|
51
|
+
CZI r | ICC r/w/c | MPG r | PPT r | WPG r
|
52
|
+
DCM r | ICO r | MPO r/w | PPTX r | WTV r
|
53
|
+
DCP r/w | ICS r | MQV r/w | PS r/w | WV r
|
54
|
+
DCR r | IDML r | MRC r | PSB r/w | X3F r/w
|
55
|
+
DFONT r | IIQ r/w | MRW r/w | PSD r/w | XCF r
|
56
|
+
DIVX r | IND r/w | MXF r | PSP r | XISF r
|
57
|
+
DJVU r | INSP r/w | NEF r/w | QTIF r/w | XLS r
|
58
|
+
DLL r | INSV r | NKA r | R3D r | XLSX r
|
59
|
+
DNG r/w | INX r | NKSC r/w | RA r | XMP r/w/c
|
60
|
+
DOC r | ISO r | NRW r/w | RAF r/w | ZIP r
|
61
61
|
|
62
62
|
Meta Information
|
63
63
|
----------------------+----------------------+---------------------
|
@@ -109,8 +109,8 @@ your home directory, then you would type the following commands in a
|
|
109
109
|
terminal window to extract and run ExifTool:
|
110
110
|
|
111
111
|
cd ~/Desktop
|
112
|
-
gzip -dc Image-ExifTool-13.
|
113
|
-
cd Image-ExifTool-13.
|
112
|
+
gzip -dc Image-ExifTool-13.24.tar.gz | tar -xf -
|
113
|
+
cd Image-ExifTool-13.24
|
114
114
|
./exiftool t/images/ExifTool.jpg
|
115
115
|
|
116
116
|
Note: These commands extract meta information from one of the test images.
|
data/bin/exiftool
CHANGED
@@ -11,7 +11,9 @@ use strict;
|
|
11
11
|
use warnings;
|
12
12
|
require 5.004;
|
13
13
|
|
14
|
-
my $version = '13.
|
14
|
+
my $version = '13.24';
|
15
|
+
|
16
|
+
$^W = 1; # enable global warnings
|
15
17
|
|
16
18
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
17
19
|
my $exePath;
|
@@ -1551,10 +1553,11 @@ if ($textOut2) {
|
|
1551
1553
|
undef $textOut2;
|
1552
1554
|
next;
|
1553
1555
|
}
|
1556
|
+
# make sure we can write the output text file before processing all input files
|
1554
1557
|
CreateDirectory($textOut2); # create directory if necessary
|
1555
1558
|
if ($mt->Open(\*OUTFILE, $textOut2, '>')) {
|
1556
|
-
|
1557
|
-
$textOut2
|
1559
|
+
close(\*OUTFILE);
|
1560
|
+
unlink($textOut2); # (this was just a test)
|
1558
1561
|
} else {
|
1559
1562
|
Error("Error creating $textOut2\n");
|
1560
1563
|
undef $textOut2;
|
@@ -1968,27 +1971,36 @@ if ($textOut) {
|
|
1968
1971
|
} else {
|
1969
1972
|
print $sectTrailer if $sectTrailer;
|
1970
1973
|
print $fileTrailer if $fileTrailer and not $fileHeader;
|
1971
|
-
# print CSV
|
1972
|
-
my $err;
|
1973
|
-
|
1974
|
-
|
1975
|
-
|
1976
|
-
|
1977
|
-
|
1978
|
-
Error("Error: $$plot{Error}\n");
|
1974
|
+
# print CSV or SVG output file if necessary
|
1975
|
+
my ($fp, $err);
|
1976
|
+
if ($textOut2) {
|
1977
|
+
if ($mt->Open(\*OUTFILE, $textOut2, '>')) {
|
1978
|
+
$fp = \*OUTFILE;
|
1979
|
+
} else {
|
1980
|
+
Error("Error creating $textOut2\n");
|
1979
1981
|
$err = 1;
|
1980
|
-
} elsif ($$plot{Warn}) {
|
1981
|
-
Warn("Warning: $$plot{Warn}\n");
|
1982
1982
|
}
|
1983
1983
|
}
|
1984
|
-
|
1985
|
-
|
1984
|
+
unless ($err) {
|
1985
|
+
PrintCSV($fp) if $csv and not $isWriting;
|
1986
|
+
# print SVG plot
|
1987
|
+
if ($plot) {
|
1988
|
+
$plot->Draw($fp || \*STDOUT);
|
1989
|
+
if ($$plot{Error}) {
|
1990
|
+
Error("Error: $$plot{Error}\n");
|
1991
|
+
$err = 1;
|
1992
|
+
} elsif ($$plot{Warn}) {
|
1993
|
+
Warn("Warning: $$plot{Warn}\n");
|
1994
|
+
}
|
1995
|
+
}
|
1996
|
+
}
|
1997
|
+
if ($fp) {
|
1998
|
+
close($fp) or $err = 1;
|
1986
1999
|
if ($err) {
|
1987
|
-
$mt->Unlink($
|
2000
|
+
$mt->Unlink($textOut2);
|
1988
2001
|
} else {
|
1989
2002
|
$created{$textOut2} = 1;
|
1990
2003
|
}
|
1991
|
-
undef $tmpText;
|
1992
2004
|
}
|
1993
2005
|
}
|
1994
2006
|
|
@@ -4940,7 +4952,7 @@ sub PrintTagList($@)
|
|
4940
4952
|
my $msg = shift;
|
4941
4953
|
print $msg, ":\n" unless $quiet;
|
4942
4954
|
my $tag;
|
4943
|
-
if ($outFormat < 0 and $msg =~ /file extensions$/ and @_) {
|
4955
|
+
if (($outFormat < 0 or $verbose) and $msg =~ /file extensions$/ and @_) {
|
4944
4956
|
foreach $tag (@_) {
|
4945
4957
|
printf(" %-11s %s\n", $tag, GetFileType($tag, 1));
|
4946
4958
|
}
|
@@ -5043,50 +5055,50 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
5043
5055
|
|
5044
5056
|
File Types
|
5045
5057
|
------------+-------------+-------------+-------------+------------
|
5046
|
-
360 r/w | DOCX r | ITC r | NUMBERS r |
|
5047
|
-
3FR r | DPX r | J2C r | NXD r |
|
5048
|
-
3G2 r/w | DR4 r/w/c | JNG r/w | O r |
|
5049
|
-
3GP r/w | DSS r | JP2 r/w | ODP r |
|
5050
|
-
7Z r | DV r | JPEG r/w | ODS r |
|
5051
|
-
A r | DVB r/w | JSON r | ODT r |
|
5052
|
-
AA r | DVR-MS r | JXL r/w | OFR r |
|
5053
|
-
AAC r | DYLIB r | K25 r | OGG r |
|
5054
|
-
AAE r | EIP r | KDC r | OGV r |
|
5055
|
-
AAX r/w | EPS r/w | KEY r | ONP r |
|
5056
|
-
ACR r | EPUB r | LA r | OPUS r |
|
5057
|
-
AFM r | ERF r/w | LFP r | ORF r/w |
|
5058
|
-
AI r/w | EXE r | LIF r | ORI r/w |
|
5059
|
-
AIFF r | EXIF r/w/c | LNK r | OTF r |
|
5060
|
-
APE r | EXR r | LRV r/w | PAC r |
|
5061
|
-
ARQ r/w | EXV r/w/c | M2TS r | PAGES r |
|
5062
|
-
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w |
|
5063
|
-
ASF r | FFF r/w | MACOS r |
|
5064
|
-
AVI r | FITS r | MAX r |
|
5065
|
-
AVIF r/w | FLA r | MEF r/w |
|
5066
|
-
AZW r | FLAC r | MIE r/w/c |
|
5067
|
-
BMP r | FLIF r/w | MIFF r |
|
5068
|
-
BPG r | FLV r | MKA r |
|
5069
|
-
BTF r | FPF r | MKS r |
|
5070
|
-
C2PA r | FPX r | MKV r |
|
5071
|
-
CHM r | GIF r/w | MNG r/w |
|
5072
|
-
COS r | GLV r/w | MOBI r |
|
5073
|
-
CR2 r/w | GPR r/w | MODD r |
|
5074
|
-
CR3 r/w | GZ r | MOI r |
|
5075
|
-
CRM r/w | HDP r/w | MOS r/w |
|
5076
|
-
CRW r/w | HDR r | MOV r/w |
|
5077
|
-
CS1 r/w | HEIC r/w | MP3 r |
|
5078
|
-
CSV r | HEIF r/w | MP4 r/w |
|
5079
|
-
CUR r | HTML r | MPC r |
|
5080
|
-
CZI r | ICC r/w/c | MPG r |
|
5081
|
-
DCM r | ICO r | MPO r/w |
|
5082
|
-
DCP r/w | ICS r | MQV r/w |
|
5083
|
-
DCR r | IDML r | MRC r |
|
5084
|
-
DFONT r | IIQ r/w | MRW r/w |
|
5085
|
-
DIVX r | IND r/w | MXF r |
|
5086
|
-
DJVU r | INSP r/w | NEF r/w |
|
5087
|
-
DLL r | INSV r | NKA r |
|
5088
|
-
DNG r/w | INX r | NKSC r/w |
|
5089
|
-
DOC r | ISO r | NRW r/w |
|
5058
|
+
360 r/w | DOCX r | ITC r | NUMBERS r | RAM r
|
5059
|
+
3FR r | DPX r | J2C r | NXD r | RAR r
|
5060
|
+
3G2 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
5061
|
+
3GP r/w | DSS r | JP2 r/w | ODP r | RIFF r
|
5062
|
+
7Z r | DV r | JPEG r/w | ODS r | RSRC r
|
5063
|
+
A r | DVB r/w | JSON r | ODT r | RTF r
|
5064
|
+
AA r | DVR-MS r | JXL r/w | OFR r | RW2 r/w
|
5065
|
+
AAC r | DYLIB r | K25 r | OGG r | RWL r/w
|
5066
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
5067
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
5068
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
5069
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
5070
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
5071
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
5072
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
5073
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
5074
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
5075
|
+
ASF r | FFF r/w | MACOS r | PCAP r | SWF r
|
5076
|
+
AVI r | FITS r | MAX r | PCAPNG r | THM r/w
|
5077
|
+
AVIF r/w | FLA r | MEF r/w | PCD r | TIFF r/w
|
5078
|
+
AZW r | FLAC r | MIE r/w/c | PCX r | TORRENT r
|
5079
|
+
BMP r | FLIF r/w | MIFF r | PDB r | TTC r
|
5080
|
+
BPG r | FLV r | MKA r | PDF r/w | TTF r
|
5081
|
+
BTF r | FPF r | MKS r | PEF r/w | TXT r
|
5082
|
+
C2PA r | FPX r | MKV r | PFA r | VCF r
|
5083
|
+
CHM r | GIF r/w | MNG r/w | PFB r | VNT r
|
5084
|
+
COS r | GLV r/w | MOBI r | PFM r | VRD r/w/c
|
5085
|
+
CR2 r/w | GPR r/w | MODD r | PGF r | VSD r
|
5086
|
+
CR3 r/w | GZ r | MOI r | PGM r/w | WAV r
|
5087
|
+
CRM r/w | HDP r/w | MOS r/w | PLIST r | WDP r/w
|
5088
|
+
CRW r/w | HDR r | MOV r/w | PICT r | WEBP r/w
|
5089
|
+
CS1 r/w | HEIC r/w | MP3 r | PMP r | WEBM r
|
5090
|
+
CSV r | HEIF r/w | MP4 r/w | PNG r/w | WMA r
|
5091
|
+
CUR r | HTML r | MPC r | PPM r/w | WMV r
|
5092
|
+
CZI r | ICC r/w/c | MPG r | PPT r | WPG r
|
5093
|
+
DCM r | ICO r | MPO r/w | PPTX r | WTV r
|
5094
|
+
DCP r/w | ICS r | MQV r/w | PS r/w | WV r
|
5095
|
+
DCR r | IDML r | MRC r | PSB r/w | X3F r/w
|
5096
|
+
DFONT r | IIQ r/w | MRW r/w | PSD r/w | XCF r
|
5097
|
+
DIVX r | IND r/w | MXF r | PSP r | XISF r
|
5098
|
+
DJVU r | INSP r/w | NEF r/w | QTIF r/w | XLS r
|
5099
|
+
DLL r | INSV r | NKA r | R3D r | XLSX r
|
5100
|
+
DNG r/w | INX r | NKSC r/w | RA r | XMP r/w/c
|
5101
|
+
DOC r | ISO r | NRW r/w | RAF r/w | ZIP r
|
5090
5102
|
|
5091
5103
|
Meta Information
|
5092
5104
|
----------------------+----------------------+---------------------
|
@@ -6041,7 +6053,7 @@ with this command:
|
|
6041
6053
|
|
6042
6054
|
produces output like this:
|
6043
6055
|
|
6044
|
-
-- Generated by ExifTool 13.
|
6056
|
+
-- Generated by ExifTool 13.24 --
|
6045
6057
|
File: a.jpg - 2003:10:31 15:44:19
|
6046
6058
|
(f/5.6, 1/60s, ISO 100)
|
6047
6059
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -6847,12 +6859,12 @@ B<-listw> and B<-listx> options may be followed by an additional argument of
|
|
6847
6859
|
the form C<-GROUP:All> to list only tags in a specific group, where C<GROUP>
|
6848
6860
|
is one or more family 0-2 group names (excepting EXIF IFD groups) separated
|
6849
6861
|
by colons. With B<-listg>, I<NUM> may be given to specify the group family,
|
6850
|
-
otherwise family 0 is assumed. The B<-l> option may be combined
|
6851
|
-
B<-listf>, B<-listr> or B<-listwf> to add file descriptions to the
|
6852
|
-
The B<-lang> option may be combined with B<-listx> to output
|
6853
|
-
a single language, and the B<-sort> and/or B<-lang> options
|
6854
|
-
with B<-listgeo>. Also, the API GeolocMinPop, GeolocFeature
|
6855
|
-
GeolocAltNames options apply to the B<-listgeo> output. Here are some
|
6862
|
+
otherwise family 0 is assumed. The B<-l> or B<-v> option may be combined
|
6863
|
+
with B<-listf>, B<-listr> or B<-listwf> to add file descriptions to the
|
6864
|
+
list. The B<-lang> option may be combined with B<-listx> to output
|
6865
|
+
descriptions in a single language, and the B<-sort> and/or B<-lang> options
|
6866
|
+
may be combined with B<-listgeo>. Also, the API GeolocMinPop, GeolocFeature
|
6867
|
+
and GeolocAltNames options apply to the B<-listgeo> output. Here are some
|
6856
6868
|
examples:
|
6857
6869
|
|
6858
6870
|
-list # list all tag names
|
@@ -1795,8 +1795,8 @@ sub NumbersFirst($$)
|
|
1795
1795
|
my ($a2, $b2) = ($a, $b);
|
1796
1796
|
# expand numbers to 3 digits (with restrictions to avoid messing up
|
1797
1797
|
# ascii-hex tags -- Nikon LensID's are 23 characters long)
|
1798
|
-
$a2 =~ s/(\d+)/sprintf("%.3d",$1)/eg if $a2 =~ /^(APP|DMC-\w+ |dvtm_
|
1799
|
-
$b2 =~ s/(\d+)/sprintf("%.3d",$1)/eg if $b2 =~ /^(APP|DMC-\w+ |dvtm_
|
1798
|
+
$a2 =~ s/(\d+)/sprintf("%.3d",$1)/eg if $a2 =~ /^(APP|DMC-\w+ |dvtm_.*|(IDB|SHB)-)?[.0-9 ]*$/ and length($a2)<23;
|
1799
|
+
$b2 =~ s/(\d+)/sprintf("%.3d",$1)/eg if $b2 =~ /^(APP|DMC-\w+ |dvtm_.*|(IDB|SHB)-)?[.0-9 ]*$/ and length($b2)<23;
|
1800
1800
|
$caseInsensitive and $rtnVal = (lc($a2) cmp lc($b2));
|
1801
1801
|
$rtnVal or $rtnVal = ($a2 cmp $b2);
|
1802
1802
|
}
|
@@ -18,7 +18,7 @@ use Image::ExifTool::XMP;
|
|
18
18
|
use Image::ExifTool::GPS;
|
19
19
|
use Image::ExifTool::Protobuf;
|
20
20
|
|
21
|
-
$VERSION = '1.
|
21
|
+
$VERSION = '1.14';
|
22
22
|
|
23
23
|
sub ProcessDJIInfo($$$);
|
24
24
|
sub ProcessSettings($$$);
|
@@ -266,6 +266,9 @@ my %convFloat2 = (
|
|
266
266
|
},
|
267
267
|
'dvtm_ac203_3-2-6-1' => { Name => 'ColorTemperature', Format => 'unsigned' }, # (NC)
|
268
268
|
# dvtm_ac203_3-2-9-1 - looks like Z accerometer measurement, but 2 and 3 don't look like other components
|
269
|
+
'dvtm_ac203_3-2-10-2' => { Name => 'AccelerometerX', Format => 'float' } , # (NC) left/right
|
270
|
+
'dvtm_ac203_3-2-10-3' => { Name => 'AccelerometerY', Format => 'float' } , # (NC) front/back
|
271
|
+
'dvtm_ac203_3-2-10-4' => { Name => 'AccelerometerZ', Format => 'float' } , # (NC) up/down
|
269
272
|
# dvtm_ac203_3-4-1-4 - model code?
|
270
273
|
'dvtm_ac203_3-4-2-1' => {
|
271
274
|
Name => 'GPSInfo',
|
@@ -301,6 +304,9 @@ my %convFloat2 = (
|
|
301
304
|
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
|
302
305
|
},
|
303
306
|
'dvtm_ac204_3-2-6-1' => { Name => 'ColorTemperature', Format => 'unsigned' }, # (NC)
|
307
|
+
'dvtm_ac204_3-2-10-2' => { Name => 'AccelerometerX', Format => 'float' } , # (NC) left/right
|
308
|
+
'dvtm_ac204_3-2-10-3' => { Name => 'AccelerometerY', Format => 'float' } , # (NC) front/back
|
309
|
+
'dvtm_ac204_3-2-10-4' => { Name => 'AccelerometerZ', Format => 'float' } , # (NC) up/down
|
304
310
|
# dvtm_ac204_3-4-1-4 - model code?
|
305
311
|
'dvtm_ac204_3-4-2-1' => {
|
306
312
|
Name => 'GPSInfo',
|
@@ -413,6 +419,11 @@ my %convFloat2 = (
|
|
413
419
|
Format => 'rational',
|
414
420
|
PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
|
415
421
|
},
|
422
|
+
'dvtm_pm320_3-2-4-1' => { # (NC)
|
423
|
+
Name => 'FNumber',
|
424
|
+
Format => 'rational',
|
425
|
+
PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
|
426
|
+
},
|
416
427
|
'dvtm_pm320_3-2-6-1' => { Name => 'DigitalZoom', Format => 'float' },
|
417
428
|
'dvtm_pm320_3-3-4-1' => {
|
418
429
|
Name => 'GPSInfo',
|
@@ -437,7 +437,7 @@ sub Process_marl($$$)
|
|
437
437
|
{
|
438
438
|
my ($et, $dirInfo, $tagTablePtr) = @_;
|
439
439
|
my $dataPt = $$dirInfo{DataPt};
|
440
|
-
my $dataPos = $$dirInfo{DataPos} + $$dirInfo{Base};
|
440
|
+
my $dataPos = ($$dirInfo{DataPos} || 0) + ($$dirInfo{Base} || 0);
|
441
441
|
my $dataLen = length $$dataPt;
|
442
442
|
my $vals = $$et{GMVals}; # running values for each channel (0=TimeStamp)
|
443
443
|
my $chan = $$et{GMChan}; # running channel number
|
@@ -12,7 +12,7 @@ use strict;
|
|
12
12
|
use vars qw($VERSION);
|
13
13
|
use Image::ExifTool::Exif;
|
14
14
|
|
15
|
-
$VERSION = '1.
|
15
|
+
$VERSION = '1.58';
|
16
16
|
|
17
17
|
my %coordConv = (
|
18
18
|
ValueConv => 'Image::ExifTool::GPS::ToDegrees($val)',
|
@@ -112,8 +112,8 @@ my %printConvLonRef = (
|
|
112
112
|
},
|
113
113
|
0 => 'Above Sea Level', # (ellipsoidal surface, Exif 3.0)
|
114
114
|
1 => 'Below Sea Level', # (ellipsoidal surface, Exif 3.0)
|
115
|
-
|
116
|
-
|
115
|
+
2 => 'Positive Sea Level (sea-level ref)', # sea-level reference, Exif 3.0
|
116
|
+
3 => 'Negative Sea Level (sea-level ref)', # sea-level reference, Exif 3.0
|
117
117
|
},
|
118
118
|
},
|
119
119
|
0x0006 => {
|
@@ -134,6 +134,10 @@ sub ProcessJPEG_HDR($$$);
|
|
134
134
|
Name => 'FPXR', # (non-standard location written by some HP models)
|
135
135
|
Condition => '$$valPt =~ /^FPXR\0/',
|
136
136
|
SubDirectory => { TagTable => 'Image::ExifTool::FlashPix::Main' },
|
137
|
+
}, {
|
138
|
+
Name => 'QualcommDualCamera',
|
139
|
+
Condition => '$$valPt =~ /^Qualcomm Dual Camera Attributes/',
|
140
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Qualcomm::DualCamera' },
|
137
141
|
}, {
|
138
142
|
Name => 'InfiRayFactory',
|
139
143
|
Condition => '$$self{HasIJPEG}"',
|
@@ -202,7 +206,7 @@ sub ProcessJPEG_HDR($$$);
|
|
202
206
|
Groups => { 0 => 'APP6', 1 => 'DJI' },
|
203
207
|
Notes => 'DJI Thermal Analysis Tool record',
|
204
208
|
ValueConv => 'substr($val,7)',
|
205
|
-
# also seen Motorola APP6 "MMIMETA\0", with sub-types: AL3A,ALED,MMI0,MOTD,QC3A
|
209
|
+
# also seen Motorola APP6 "MMIMETA\0", with sub-types: AL3A,ALED,MMI0,MOTD,QC3A,LMB1
|
206
210
|
}],
|
207
211
|
APP7 => [{
|
208
212
|
Name => 'Pentax',
|