exiftool_vendored 11.99.0 → 12.06.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.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +119 -2
- data/bin/MANIFEST +5 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +32 -32
- data/bin/exiftool +55 -50
- data/bin/lib/Image/ExifTool.pm +155 -109
- data/bin/lib/Image/ExifTool.pod +103 -77
- data/bin/lib/Image/ExifTool/AIFF.pm +2 -2
- data/bin/lib/Image/ExifTool/APE.pm +2 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +11 -6
- data/bin/lib/Image/ExifTool/Canon.pm +2 -1
- data/bin/lib/Image/ExifTool/CanonCustom.pm +82 -16
- data/bin/lib/Image/ExifTool/DPX.pm +56 -2
- data/bin/lib/Image/ExifTool/DarwinCore.pm +16 -3
- data/bin/lib/Image/ExifTool/Exif.pm +15 -6
- data/bin/lib/Image/ExifTool/Font.pm +9 -2
- data/bin/lib/Image/ExifTool/GIF.pm +5 -0
- data/bin/lib/Image/ExifTool/GeoTiff.pm +2 -0
- data/bin/lib/Image/ExifTool/GoPro.pm +10 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +86 -12
- data/bin/lib/Image/ExifTool/Lang/de.pm +3 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +3 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +134 -15
- data/bin/lib/Image/ExifTool/Olympus.pm +34 -17
- data/bin/lib/Image/ExifTool/PNG.pm +14 -3
- data/bin/lib/Image/ExifTool/PPM.pm +5 -5
- data/bin/lib/Image/ExifTool/Panasonic.pm +147 -13
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +33 -0
- data/bin/lib/Image/ExifTool/Parrot.pm +2 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +2 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +2 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +204 -27
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +355 -19
- data/bin/lib/Image/ExifTool/README +20 -19
- data/bin/lib/Image/ExifTool/Ricoh.pm +19 -1
- data/bin/lib/Image/ExifTool/Shift.pl +1 -0
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +40 -33
- data/bin/lib/Image/ExifTool/Sony.pm +376 -11
- data/bin/lib/Image/ExifTool/TagLookup.pm +1949 -1872
- data/bin/lib/Image/ExifTool/TagNames.pod +329 -53
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -0
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +23 -15
- data/bin/lib/Image/ExifTool/Writer.pl +44 -21
- data/bin/lib/Image/ExifTool/XMP.pm +41 -4
- data/bin/lib/Image/ExifTool/XMPStruct.pl +3 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +123 -0
- data/bin/perl-Image-ExifTool.spec +31 -31
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6fbacc803486908bf63bd351d8ea3d31bbe0cf1217b6bbab9ef074cde3f0ee3
|
4
|
+
data.tar.gz: fcb3492aae1fbdf6587a73ea5546eed530c09ac20c67fc1a77057becd1e87b0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7101bbb72920052732e86bb2c44b828bbb901f89363768ebc5346d5225db5919e79de5de2ca8b0af2c77ccd6d62a9f2bf677c61479b877d06fecb88bbd8b29f8
|
7
|
+
data.tar.gz: 0d08e16271b5bd6fe9c4f9d154190a799b3d4bd3b3bdd777a42afa4b29786595869a3068fbc213a68135559d275bcfcf07a08f22d9fdc242130770905ca826cc
|
data/bin/Changes
CHANGED
@@ -4,9 +4,125 @@ ExifTool Version History
|
|
4
4
|
|
5
5
|
RSS feed: https://exiftool.org/rss.xml
|
6
6
|
|
7
|
-
Note: The most recent production release is Version
|
7
|
+
Note: The most recent production release is Version 12.00. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to CPAN.)
|
9
9
|
|
10
|
+
(I'll be on vacation from Aug 26 to Sep 3, 2020 so don't expect any
|
11
|
+
forum or email responses from me during this time - Phil H.)
|
12
|
+
|
13
|
+
Sept. 11, 2020 - Version 12.06
|
14
|
+
|
15
|
+
- Added read support for Lyrics3 metadata (and fixed problem where APE
|
16
|
+
metadata may be ignored if Lyrics3 exists)
|
17
|
+
- Added a new Panasonic VideoBurstMode value (thanks Klaus Homeister)
|
18
|
+
- Added a new Olympus MultipleExposureMode value
|
19
|
+
- Added a new Nikon LensID
|
20
|
+
- Added back conversions for XMP-dwc EventTime that were removed in 12.04 with
|
21
|
+
a patch to allow time-only values
|
22
|
+
- Decode GIF AspectRatio
|
23
|
+
- Decode Olympus FocusBracketStepSize (thanks Karsten)
|
24
|
+
- Extract PNG iDOT chunk in Binary format with the name AppleDataOffsets
|
25
|
+
- Process PNG images which do not start with mandatory IHDR chunk
|
26
|
+
|
27
|
+
Aug. 24, 2020 - Version 12.05
|
28
|
+
|
29
|
+
- Added a new Panasonic SelfTimer value (thanks Herb)
|
30
|
+
- Decode a few more DPX tags (thanks Harry Mallon)
|
31
|
+
- Extract AIFF APPL tag as ApplicationData
|
32
|
+
- Fixed bug writing QuickTime ItemList 'gnre' Genre values
|
33
|
+
- Fixed an incorrect value for Panasonic VideoBurstResolution (thanks Herb)
|
34
|
+
- Fixed problem when applying a time shift to some invalid makernote date/time
|
35
|
+
values
|
36
|
+
|
37
|
+
Aug. 10, 2020 - Version 12.04
|
38
|
+
|
39
|
+
- Added read support for Zeiss ZISRAW CZI files
|
40
|
+
- Added some new values for a couple of Olympus tags (thanks Sebastian)
|
41
|
+
- Decode a number of new tags for the Sony ILCE-7SM3 (thanks Jos Roost)
|
42
|
+
- Removed formatting restrictions on XMP-dwc:EventTime to allow a time-only
|
43
|
+
value to be written
|
44
|
+
- Moved new QuckTime ItemList tags added in version 12.02 to the proper group
|
45
|
+
(they were incorrectly added to the Keys group)
|
46
|
+
- Improved QuickTime -v3 output to show default language codes
|
47
|
+
- Patched -lang option to work for the values of somet tags with coded
|
48
|
+
translations
|
49
|
+
- Patched the format of a number of QuickTime tags when writing for improved
|
50
|
+
compatibility with iTunes and AtomicParsley
|
51
|
+
- Patched to write a default QuickTime language code of 0x0000 (null) instead
|
52
|
+
of 0x55c4 ('und')
|
53
|
+
|
54
|
+
July 29, 2020 - Version 12.03
|
55
|
+
|
56
|
+
- Added family 7 group names to allow tag ID's to be specified when reading
|
57
|
+
and writing
|
58
|
+
- Fixed a couple of typos in tag values (thanks Herb)
|
59
|
+
- API Changes:
|
60
|
+
- Added HexTagIDs option
|
61
|
+
- Enhanced GetNewValue() to allow family 7 groups names to be used
|
62
|
+
- Internal Changes:
|
63
|
+
- Changed Composite tag ID's to use "-" instead of "::" as a separator
|
64
|
+
|
65
|
+
July 27, 2020 - Version 12.02
|
66
|
+
|
67
|
+
- Added support for a number of new QuickTime ItemList tags
|
68
|
+
- Added support for writing XMP-xmp:RatingPercent
|
69
|
+
- Added a new Sony LensType (thanks Jos Roost and LibRaw)
|
70
|
+
- Added a new Pentax LensType (thanks James O'Neill)
|
71
|
+
- Decode barcodes from Ricoh APP5 RMETA segment
|
72
|
+
- Decode a few new QuickTime tags written by Ricoh and Garmin cameras
|
73
|
+
- Decode timed GPS from Sony A7R IV MP4 videos
|
74
|
+
- Decode timed GPS from 70mai dashcam videos
|
75
|
+
- Decode a few new Panasonic tags (thanks Klaus Homeister)
|
76
|
+
- Decode altitude and more accurate latitude/longitude from Transcend Driver
|
77
|
+
Pro 230 MP4 videos
|
78
|
+
- Improved decoding of some Canon EOS 1DXmkIII custom functions
|
79
|
+
- Allow integer QuickTime TrackNumber and DiskNumber values
|
80
|
+
- Relax validity check of QuickTime:ContentCreateDate when writing with -n
|
81
|
+
- Removed "Com" from the start of some unknown ItemList tag names
|
82
|
+
- Patched CanonCustom decoding for bug in Canon EOS-1DX firmware
|
83
|
+
- Changed QuickTime CleanAperture tags decode as signed rationals
|
84
|
+
|
85
|
+
June 24, 2020 - Version 12.01
|
86
|
+
|
87
|
+
- Added a new NEFCompression value (thanks Warren Hatch)
|
88
|
+
- Added a new Sony LensType (thanks Jos Roost)
|
89
|
+
- Decode timed GPS from Rove Stealth 4K dashcam videos
|
90
|
+
- Fixed bug which would corrupt TIFF images with 16-bit image data offsets
|
91
|
+
when writing (these are very rare)
|
92
|
+
|
93
|
+
June 11, 2020 - Version 12.00 (production release)
|
94
|
+
|
95
|
+
- Added two new Olympus LensTypes (thanks Don Komarechka for one)
|
96
|
+
- Added two new Sony LensType values (thanks Jos Roost)
|
97
|
+
- Added a few new Nikon LensID's (thanks Mathieu Carbou)
|
98
|
+
- Added support for the Sony ZV-1 (thanks Jos Roost)
|
99
|
+
- Added a new CanonModelID (thanks Jos Roost)
|
100
|
+
- Added missing MimeType values for HEICS and HEIFS files
|
101
|
+
- Added definitions for a number of new XMP-crs tags
|
102
|
+
- Recognize WOFF and WOFF2 font files
|
103
|
+
- Decode streaming GPS from Roadhawk, EEEkit and 360Fly MP4 videos
|
104
|
+
- Decode a number of new tags for the Nikon D6 (thanks Warren Hatch)
|
105
|
+
- Decode a couple more AF tags for the D500/D850
|
106
|
+
- Decode a number of new Panasonic tags
|
107
|
+
- Improved Composite LensID logic (thanks Matt Stancliff)
|
108
|
+
- Enhanced -v option to state when a directory has 0 entries
|
109
|
+
- Removed a couple of incorrect Validate warnings for bilevel TIFF images
|
110
|
+
- Drop ContrastCurve tag when copying from NEF to JPEG
|
111
|
+
- Changed -csv output to add "Unknown" group name to column headings for
|
112
|
+
missing tags when -f and -G options are used
|
113
|
+
- Patched to support new XMP LensID format for Nikon cameras as written by
|
114
|
+
Apple Photos (thanks Mattsta)
|
115
|
+
- Fixed problem extracting metadata from Sigma DP2 Quattro X3F files
|
116
|
+
- Fixed End() and EndDir() functions so they work when writing and when the -v
|
117
|
+
option is used
|
118
|
+
- Fixed problem recognizing some PGM files
|
119
|
+
- Fixed bug in offsets for some Photoshop information in -v3 output
|
120
|
+
- Fixed problem writing a list containing empty elements inside an XMP
|
121
|
+
structure
|
122
|
+
- API Changes:
|
123
|
+
- Added NoMultiExif option
|
124
|
+
- Changed FilterW option to not write tag if $_ is set to undef
|
125
|
+
|
10
126
|
May 11, 2020 - Version 11.99
|
11
127
|
|
12
128
|
- Added a new Nikon LensID (thanks Mykyta Kozlov)
|
@@ -44,7 +160,8 @@ Apr. 24, 2020 - Version 11.96
|
|
44
160
|
|
45
161
|
Apr. 23, 2020 - Version 11.95
|
46
162
|
|
47
|
-
- Added Exit() and ExitDir() functions for use in -if conditions
|
163
|
+
- Added Exit() and ExitDir() functions for use in -if conditions (NOTE: these
|
164
|
+
function names changed to End() and EndDir() in ExifTool 11.96)
|
48
165
|
- Enhanced -geotag feature to support a more flexible input CSV file format
|
49
166
|
- Enhanced -if and API Filter options to allow access to ExifTool object via
|
50
167
|
$self
|
data/bin/MANIFEST
CHANGED
@@ -169,6 +169,7 @@ html/TagNames/Vorbis.html
|
|
169
169
|
html/TagNames/WTV.html
|
170
170
|
html/TagNames/XMP.html
|
171
171
|
html/TagNames/ZIP.html
|
172
|
+
html/TagNames/ZISRAW.html
|
172
173
|
html/TagNames/iWork.html
|
173
174
|
html/TagNames/index.html
|
174
175
|
html/TagNames/style.css
|
@@ -410,6 +411,7 @@ lib/Image/ExifTool/XMP.pm
|
|
410
411
|
lib/Image/ExifTool/XMP2.pl
|
411
412
|
lib/Image/ExifTool/XMPStruct.pl
|
412
413
|
lib/Image/ExifTool/ZIP.pm
|
414
|
+
lib/Image/ExifTool/ZISRAW.pm
|
413
415
|
lib/Image/ExifTool/iWork.pm
|
414
416
|
perl-Image-ExifTool.spec
|
415
417
|
t/AFCP.t
|
@@ -915,6 +917,8 @@ t/ZIP_4.out
|
|
915
917
|
t/ZIP_5.out
|
916
918
|
t/ZIP_6.out
|
917
919
|
t/ZIP_7.out
|
920
|
+
t/ZISRAW.t
|
921
|
+
t/ZISRAW_2.out
|
918
922
|
t/images/AFCP.jpg
|
919
923
|
t/images/AIFF.aif
|
920
924
|
t/images/APE.ape
|
@@ -1089,4 +1093,5 @@ t/images/XMP8.xmp
|
|
1089
1093
|
t/images/XMP9.xmp
|
1090
1094
|
t/images/ZIP.gz
|
1091
1095
|
t/images/ZIP.zip
|
1096
|
+
t/images/ZISRAW.czi
|
1092
1097
|
t/images/iWork.numbers
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -14,35 +14,36 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
14
14
|
|
15
15
|
File Types
|
16
16
|
------------+-------------+-------------+-------------+------------
|
17
|
-
3FR r |
|
18
|
-
3G2 r/w |
|
19
|
-
3GP r/w |
|
20
|
-
A r |
|
21
|
-
AA r |
|
22
|
-
AAE r |
|
23
|
-
AAX r/w |
|
24
|
-
ACR r |
|
25
|
-
AFM r |
|
26
|
-
AI r/w |
|
27
|
-
AIFF r |
|
28
|
-
APE r |
|
29
|
-
ARQ r/w |
|
30
|
-
ARW r/w |
|
31
|
-
ASF r |
|
32
|
-
AVI r |
|
33
|
-
AVIF r/w |
|
34
|
-
AZW r |
|
35
|
-
BMP r |
|
36
|
-
BPG r |
|
37
|
-
BTF r |
|
38
|
-
CHM r |
|
39
|
-
COS r |
|
40
|
-
CR2 r/w |
|
41
|
-
CR3 r/w |
|
42
|
-
CRM r/w |
|
43
|
-
CRW r/w |
|
44
|
-
CS1 r/w |
|
45
|
-
CSV r |
|
17
|
+
3FR r | DPX r | ISO r | O r | RAW r/w
|
18
|
+
3G2 r/w | DR4 r/w/c | ITC r | ODP r | RIFF r
|
19
|
+
3GP r/w | DSS r | J2C r | ODS r | RSRC r
|
20
|
+
A r | DV r | JNG r/w | ODT r | RTF r
|
21
|
+
AA r | DVB r/w | JP2 r/w | OFR r | RW2 r/w
|
22
|
+
AAE r | DVR-MS r | JPEG r/w | OGG r | RWL r/w
|
23
|
+
AAX r/w | DYLIB r | JSON r | OGV r | RWZ r
|
24
|
+
ACR r | EIP r | K25 r | OPUS r | RM r
|
25
|
+
AFM r | EPS r/w | KDC r | ORF r/w | SEQ r
|
26
|
+
AI r/w | EPUB r | KEY r | OTF r | SKETCH r
|
27
|
+
AIFF r | ERF r/w | LA r | PAC r | SO r
|
28
|
+
APE r | EXE r | LFP r | PAGES r | SR2 r/w
|
29
|
+
ARQ r/w | EXIF r/w/c | LNK r | PBM r/w | SRF r
|
30
|
+
ARW r/w | EXR r | LRV r/w | PCD r | SRW r/w
|
31
|
+
ASF r | EXV r/w/c | M2TS r | PCX r | SVG r
|
32
|
+
AVI r | F4A/V r/w | M4A/V r/w | PDB r | SWF r
|
33
|
+
AVIF r/w | FFF r/w | MAX r | PDF r/w | THM r/w
|
34
|
+
AZW r | FITS r | MEF r/w | PEF r/w | TIFF r/w
|
35
|
+
BMP r | FLA r | MIE r/w/c | PFA r | TORRENT r
|
36
|
+
BPG r | FLAC r | MIFF r | PFB r | TTC r
|
37
|
+
BTF r | FLIF r/w | MKA r | PFM r | TTF r
|
38
|
+
CHM r | FLV r | MKS r | PGF r | TXT r
|
39
|
+
COS r | FPF r | MKV r | PGM r/w | VCF r
|
40
|
+
CR2 r/w | FPX r | MNG r/w | PLIST r | VRD r/w/c
|
41
|
+
CR3 r/w | GIF r/w | MOBI r | PICT r | VSD r
|
42
|
+
CRM r/w | GPR r/w | MODD r | PMP r | WAV r
|
43
|
+
CRW r/w | GZ r | MOI r | PNG r/w | WDP r/w
|
44
|
+
CS1 r/w | HDP r/w | MOS r/w | PPM r/w | WEBP r
|
45
|
+
CSV r | HDR r | MOV r/w | PPT r | WEBM r
|
46
|
+
CZI r | HEIC r/w | MP3 r | PPTX r | WMA r
|
46
47
|
DCM r | HEIF r/w | MP4 r/w | PS r/w | WMV r
|
47
48
|
DCP r/w | HTML r | MPC r | PSB r/w | WTV r
|
48
49
|
DCR r | ICC r/w/c | MPG r | PSD r/w | WV r
|
@@ -53,7 +54,6 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
53
54
|
DNG r/w | INSP r/w | NEF r/w | RAF r/w | XMP r/w/c
|
54
55
|
DOC r | INSV r | NRW r/w | RAM r | ZIP r
|
55
56
|
DOCX r | INX r | NUMBERS r | RAR r |
|
56
|
-
DPX r | ISO r | O r | RAW r/w |
|
57
57
|
|
58
58
|
Meta Information
|
59
59
|
----------------------+----------------------+---------------------
|
@@ -105,8 +105,8 @@ your home directory, then you would type the following commands in a
|
|
105
105
|
terminal window to extract and run ExifTool:
|
106
106
|
|
107
107
|
cd ~/Desktop
|
108
|
-
gzip -dc Image-ExifTool-
|
109
|
-
cd Image-ExifTool-
|
108
|
+
gzip -dc Image-ExifTool-12.06.tar.gz | tar -xf -
|
109
|
+
cd Image-ExifTool-12.06
|
110
110
|
./exiftool t/images/ExifTool.jpg
|
111
111
|
|
112
112
|
Note: These commands extract meta information from one of the test images.
|
data/bin/exiftool
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
use strict;
|
11
11
|
require 5.004;
|
12
12
|
|
13
|
-
my $version = '
|
13
|
+
my $version = '12.06';
|
14
14
|
|
15
15
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
16
16
|
my $exeDir;
|
@@ -141,6 +141,7 @@ my $deleteOrig; # 0=restore original files, 1=delete originals, 2=delete w/o
|
|
141
141
|
my $disableOutput; # flag to disable normal output
|
142
142
|
my $doSetFileName; # flag set if FileName may be written
|
143
143
|
my $doUnzip; # flag to extract info from .gz and .bz2 files
|
144
|
+
my ($end,$endDir); # flags to end processing
|
144
145
|
my $escapeC; # C-style escape
|
145
146
|
my $escapeHTML; # flag to escape printed values for html
|
146
147
|
my $evalWarning; # warning from eval
|
@@ -293,8 +294,8 @@ my %altRecommends = (
|
|
293
294
|
my %unescapeChar = ( 't'=>"\t", 'n'=>"\n", 'r'=>"\r" );
|
294
295
|
|
295
296
|
# special subroutines used in -if condition
|
296
|
-
sub Image::ExifTool::EndDir() { return
|
297
|
-
sub Image::ExifTool::End() { return
|
297
|
+
sub Image::ExifTool::EndDir() { return $endDir = 1 }
|
298
|
+
sub Image::ExifTool::End() { return $end = 1 }
|
298
299
|
|
299
300
|
# exit routine
|
300
301
|
sub Exit {
|
@@ -443,6 +444,8 @@ undef $deleteOrig;
|
|
443
444
|
undef $disableOutput;
|
444
445
|
undef $doSetFileName;
|
445
446
|
undef $doUnzip;
|
447
|
+
undef $end;
|
448
|
+
undef $endDir;
|
446
449
|
undef $escapeHTML;
|
447
450
|
undef $escapeC;
|
448
451
|
undef $evalWarning;
|
@@ -1762,6 +1765,8 @@ if (@dbKeys) {
|
|
1762
1765
|
if ($verbose and $verbose > 1) {
|
1763
1766
|
print $vout "Imported entry for '${_}' (full path: '${absPath}')\n";
|
1764
1767
|
}
|
1768
|
+
} elsif ($verbose and $verbose > 1) {
|
1769
|
+
print $vout "Imported entry for '${_}' (non-existent file)\n";
|
1765
1770
|
}
|
1766
1771
|
}
|
1767
1772
|
}
|
@@ -2271,7 +2276,7 @@ TAG: foreach $tag (@foundTags) {
|
|
2271
2276
|
# the same group, and if so suppress this tag instead
|
2272
2277
|
next if $noDups and $tag =~ /^(.*?) ?\(/ and defined $$info{$1} and
|
2273
2278
|
$group eq $et->GetGroup($1, $showGroup);
|
2274
|
-
$group = 'Unknown' if not $group and ($xml or $json);
|
2279
|
+
$group = 'Unknown' if not $group and ($xml or $json or $csv);
|
2275
2280
|
if ($fp and not ($allGroup or $csv)) {
|
2276
2281
|
if ($lastGroup ne $group) {
|
2277
2282
|
if ($html) {
|
@@ -3546,11 +3551,11 @@ sub ProcessFiles($;$)
|
|
3546
3551
|
push(@$list, $file);
|
3547
3552
|
} else {
|
3548
3553
|
GetImageInfo($et, $file);
|
3549
|
-
|
3554
|
+
$end and Warn("End called - $file\n");
|
3550
3555
|
}
|
3551
3556
|
}
|
3552
3557
|
$et->Options(CharsetFileName => $enc) if $utf8FileName{$file};
|
3553
|
-
last if
|
3558
|
+
last if $end;
|
3554
3559
|
}
|
3555
3560
|
}
|
3556
3561
|
|
@@ -3628,7 +3633,7 @@ sub ScanDir($$;$)
|
|
3628
3633
|
next if $file =~ /^\./ and ($recurse == 1 or $file eq '.' or $file eq '..');
|
3629
3634
|
next if $ignore{$file} or ($ignore{SYMLINKS} and -l $path);
|
3630
3635
|
ScanDir($et, $path, $list);
|
3631
|
-
last if
|
3636
|
+
last if $end;
|
3632
3637
|
next;
|
3633
3638
|
}
|
3634
3639
|
# apply rules from -ext options
|
@@ -3668,11 +3673,11 @@ sub ScanDir($$;$)
|
|
3668
3673
|
push(@$list, $path);
|
3669
3674
|
} else {
|
3670
3675
|
GetImageInfo($et, $path);
|
3671
|
-
if (
|
3676
|
+
if ($end) {
|
3672
3677
|
Warn("End called - $file\n");
|
3673
3678
|
last;
|
3674
3679
|
}
|
3675
|
-
if (
|
3680
|
+
if ($endDir) {
|
3676
3681
|
$dir =~ s(/$)();
|
3677
3682
|
Warn("EndDir called - $path\n");
|
3678
3683
|
last;
|
@@ -4379,35 +4384,36 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
4379
4384
|
|
4380
4385
|
File Types
|
4381
4386
|
------------+-------------+-------------+-------------+------------
|
4382
|
-
3FR r |
|
4383
|
-
3G2 r/w |
|
4384
|
-
3GP r/w |
|
4385
|
-
A r |
|
4386
|
-
AA r |
|
4387
|
-
AAE r |
|
4388
|
-
AAX r/w |
|
4389
|
-
ACR r |
|
4390
|
-
AFM r |
|
4391
|
-
AI r/w |
|
4392
|
-
AIFF r |
|
4393
|
-
APE r |
|
4394
|
-
ARQ r/w |
|
4395
|
-
ARW r/w |
|
4396
|
-
ASF r |
|
4397
|
-
AVI r |
|
4398
|
-
AVIF r/w |
|
4399
|
-
AZW r |
|
4400
|
-
BMP r |
|
4401
|
-
BPG r |
|
4402
|
-
BTF r |
|
4403
|
-
CHM r |
|
4404
|
-
COS r |
|
4405
|
-
CR2 r/w |
|
4406
|
-
CR3 r/w |
|
4407
|
-
CRM r/w |
|
4408
|
-
CRW r/w |
|
4409
|
-
CS1 r/w |
|
4410
|
-
CSV r |
|
4387
|
+
3FR r | DPX r | ISO r | O r | RAW r/w
|
4388
|
+
3G2 r/w | DR4 r/w/c | ITC r | ODP r | RIFF r
|
4389
|
+
3GP r/w | DSS r | J2C r | ODS r | RSRC r
|
4390
|
+
A r | DV r | JNG r/w | ODT r | RTF r
|
4391
|
+
AA r | DVB r/w | JP2 r/w | OFR r | RW2 r/w
|
4392
|
+
AAE r | DVR-MS r | JPEG r/w | OGG r | RWL r/w
|
4393
|
+
AAX r/w | DYLIB r | JSON r | OGV r | RWZ r
|
4394
|
+
ACR r | EIP r | K25 r | OPUS r | RM r
|
4395
|
+
AFM r | EPS r/w | KDC r | ORF r/w | SEQ r
|
4396
|
+
AI r/w | EPUB r | KEY r | OTF r | SKETCH r
|
4397
|
+
AIFF r | ERF r/w | LA r | PAC r | SO r
|
4398
|
+
APE r | EXE r | LFP r | PAGES r | SR2 r/w
|
4399
|
+
ARQ r/w | EXIF r/w/c | LNK r | PBM r/w | SRF r
|
4400
|
+
ARW r/w | EXR r | LRV r/w | PCD r | SRW r/w
|
4401
|
+
ASF r | EXV r/w/c | M2TS r | PCX r | SVG r
|
4402
|
+
AVI r | F4A/V r/w | M4A/V r/w | PDB r | SWF r
|
4403
|
+
AVIF r/w | FFF r/w | MAX r | PDF r/w | THM r/w
|
4404
|
+
AZW r | FITS r | MEF r/w | PEF r/w | TIFF r/w
|
4405
|
+
BMP r | FLA r | MIE r/w/c | PFA r | TORRENT r
|
4406
|
+
BPG r | FLAC r | MIFF r | PFB r | TTC r
|
4407
|
+
BTF r | FLIF r/w | MKA r | PFM r | TTF r
|
4408
|
+
CHM r | FLV r | MKS r | PGF r | TXT r
|
4409
|
+
COS r | FPF r | MKV r | PGM r/w | VCF r
|
4410
|
+
CR2 r/w | FPX r | MNG r/w | PLIST r | VRD r/w/c
|
4411
|
+
CR3 r/w | GIF r/w | MOBI r | PICT r | VSD r
|
4412
|
+
CRM r/w | GPR r/w | MODD r | PMP r | WAV r
|
4413
|
+
CRW r/w | GZ r | MOI r | PNG r/w | WDP r/w
|
4414
|
+
CS1 r/w | HDP r/w | MOS r/w | PPM r/w | WEBP r
|
4415
|
+
CSV r | HDR r | MOV r/w | PPT r | WEBM r
|
4416
|
+
CZI r | HEIC r/w | MP3 r | PPTX r | WMA r
|
4411
4417
|
DCM r | HEIF r/w | MP4 r/w | PS r/w | WMV r
|
4412
4418
|
DCP r/w | HTML r | MPC r | PSB r/w | WTV r
|
4413
4419
|
DCR r | ICC r/w/c | MPG r | PSD r/w | WV r
|
@@ -4418,7 +4424,6 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
4418
4424
|
DNG r/w | INSP r/w | NEF r/w | RAF r/w | XMP r/w/c
|
4419
4425
|
DOC r | INSV r | NRW r/w | RAM r | ZIP r
|
4420
4426
|
DOCX r | INX r | NUMBERS r | RAR r |
|
4421
|
-
DPX r | ISO r | O r | RAW r/w |
|
4422
4427
|
|
4423
4428
|
Meta Information
|
4424
4429
|
----------------------+----------------------+---------------------
|
@@ -4474,7 +4479,7 @@ L<Input-output text formatting|/Input-output text formatting>
|
|
4474
4479
|
-f (-forcePrint) Force printing of all specified tags
|
4475
4480
|
-g[NUM...] (-groupHeadings) Organize output by tag group
|
4476
4481
|
-G[NUM...] (-groupNames) Print group name for each tag
|
4477
|
-
-h (-htmlFormat) Use
|
4482
|
+
-h (-htmlFormat) Use HTML formatting for output
|
4478
4483
|
-H (-hex) Show tag ID numbers in hexadecimal
|
4479
4484
|
-htmlDump[OFFSET] Generate HTML-format binary dump
|
4480
4485
|
-j[[+]=JSONFILE] (-json) Export/import tags in JSON format
|
@@ -4620,7 +4625,7 @@ delete or replace a tag (see L</WRITING EXAMPLES> for examples). C<^=> is
|
|
4620
4625
|
used to write an empty string instead of deleting the tag when no I<VALUE>
|
4621
4626
|
is given, but otherwise it is equivalent to C<=>.
|
4622
4627
|
|
4623
|
-
I<TAG> may contain one or more leading family 0, 1 or
|
4628
|
+
I<TAG> may contain one or more leading family 0, 1, 2 or 7 group names,
|
4624
4629
|
prefixed by optional family numbers, and separated colons. If no group name
|
4625
4630
|
is specified, the tag is created in the preferred group, and updated in any
|
4626
4631
|
other location where a same-named tag already exists. The preferred group
|
@@ -4675,7 +4680,7 @@ the specified group(s) are removed individually, and in this case is it
|
|
4675
4680
|
possible to exclude individual tags from a mass delete. For example,
|
4676
4681
|
C<-time:all --Exif:Time:All> removes all deletable Time tags except those in
|
4677
4682
|
the EXIF. This difference also applies if family 2 is specified when
|
4678
|
-
deleting all groups.
|
4683
|
+
deleting all groups. For example, C<-2all:all=> deletes tags individually,
|
4679
4684
|
while C<-all:all=> deletes entire blocks.
|
4680
4685
|
|
4681
4686
|
5) The "APP" group names ("APP0" through "APP15") are used to delete JPEG
|
@@ -5075,13 +5080,13 @@ B<-csv>=I<CSVFILE> feature.
|
|
5075
5080
|
|
5076
5081
|
Organize output by tag group. I<NUM> specifies a group family number, and
|
5077
5082
|
may be 0 (general location), 1 (specific location), 2 (category), 3
|
5078
|
-
(document number), 4 (instance number), 5 (metadata path)
|
5079
|
-
format). B<-g0> is assumed if a family number is not
|
5080
|
-
|
5081
|
-
Multiple families may be specified by separating them with colons.
|
5082
|
-
default the resulting group name is simplified by removing any leading
|
5083
|
+
(document number), 4 (instance number), 5 (metadata path), 6 (EXIF/TIFF
|
5084
|
+
format) or 7 (tag ID). B<-g0> is assumed if a family number is not
|
5085
|
+
specified. May be combined with other options to add group names to the
|
5086
|
+
output. Multiple families may be specified by separating them with colons.
|
5087
|
+
By default the resulting group name is simplified by removing any leading
|
5083
5088
|
C<Main:> and collapsing adjacent identical group names, but this can be
|
5084
|
-
avoided by placing a colon before the first family number (eg. B<-g:3:1>).
|
5089
|
+
avoided by placing a colon before the first family number (eg. B<-g:3:1>).
|
5085
5090
|
Use the B<-listg> option to list group names for a specified family. The
|
5086
5091
|
SavePath and SaveFormat API options are automatically enabled if the
|
5087
5092
|
respective family 5 or 6 group names are requested. See the
|
@@ -5286,7 +5291,7 @@ with this command:
|
|
5286
5291
|
|
5287
5292
|
produces output like this:
|
5288
5293
|
|
5289
|
-
-- Generated by ExifTool
|
5294
|
+
-- Generated by ExifTool 12.06 --
|
5290
5295
|
File: a.jpg - 2003:10:31 15:44:19
|
5291
5296
|
(f/5.6, 1/60s, ISO 100)
|
5292
5297
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -6297,7 +6302,7 @@ line (see the B<-@> option for details).
|
|
6297
6302
|
|
6298
6303
|
3) Write C<-execute\n> to I<ARGFILE>, where C<\n> represents a newline
|
6299
6304
|
sequence. (Note: You may need to flush your write buffers here if using
|
6300
|
-
buffered output.)
|
6305
|
+
buffered output.) ExifTool will then execute the command with the arguments
|
6301
6306
|
received up to this point, send a "{ready}" message to stdout when done
|
6302
6307
|
(unless the B<-q> or B<-T> option is used), and continue trying to read
|
6303
6308
|
arguments for the next command from I<ARGFILE>. To aid in command/response
|