exiftool_vendored 11.48.0 → 11.49.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 +16 -1
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +2 -2
- data/bin/lib/Image/ExifTool.pm +1 -1
- data/bin/lib/Image/ExifTool.pod +5 -3
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +48 -4
- data/bin/lib/Image/ExifTool/ID3.pm +10 -1
- data/bin/lib/Image/ExifTool/MWG.pm +3 -3
- data/bin/lib/Image/ExifTool/Pentax.pm +2 -2
- data/bin/lib/Image/ExifTool/QuickTime.pm +58 -73
- data/bin/lib/Image/ExifTool/README +3 -1
- data/bin/lib/Image/ExifTool/TagLookup.pm +30 -29
- data/bin/lib/Image/ExifTool/TagNames.pod +58 -66
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +80 -52
- data/bin/lib/Image/ExifTool/Writer.pl +18 -16
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c69141b760c60a11aa7d4f8e3f05c79f392db21a
|
|
4
|
+
data.tar.gz: 12554c7e4ee7d9a5ad9fb81412fd0077040098db
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9235968abcf4c684db6037684304e5e3607e47e43cf6afe24eab1bf16114880088015e0385998abe252938cac5023c3a5ef625ee95890c803a2ef7198a8c2b82
|
|
7
|
+
data.tar.gz: 9cf9cb7cada7d74bf887f41e95b97d8b64d7738ce1ac327d16f361550b15fab29a47fca45b4320b4536db95cdce542eb0bccd878f9fce6aa9825fe585a19b1e9
|
data/bin/Changes
CHANGED
|
@@ -7,6 +7,21 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
|
|
|
7
7
|
Note: The most recent production release is Version 11.30. (Other versions are
|
|
8
8
|
considered development releases, and are not uploaded to CPAN.)
|
|
9
9
|
|
|
10
|
+
June 5, 2019 - Version 11.49
|
|
11
|
+
|
|
12
|
+
- Added inverse print conversion for one of the QuickTime ItemList Genre tags
|
|
13
|
+
- Avoid creating a few obscure QuickTime UserData tags when writing
|
|
14
|
+
- Fixed problem where some QuickTime groups were not being created when
|
|
15
|
+
writing QuickTime tags without specifying a group
|
|
16
|
+
- Fixed problem where QuickTime Keys tags could be duplicated when writing an
|
|
17
|
+
existing alternate-language tag
|
|
18
|
+
- Fixed problem were QuickTime Keys alternate-language tags would not be
|
|
19
|
+
written when deleting the corresponding default-language tag in the same
|
|
20
|
+
command
|
|
21
|
+
- Fixed some inconsistencies when writing QuickTime tags using the -wm
|
|
22
|
+
(WriteMode) option
|
|
23
|
+
- Fixed an incorrect Pentax Sigma LensType value
|
|
24
|
+
|
|
10
25
|
June 1, 2019 - Version 11.48
|
|
11
26
|
|
|
12
27
|
- Added write support for Google GCamera and GCreation XMP tags
|
|
@@ -36,7 +51,7 @@ May 29, 2019 - Version 11.45
|
|
|
36
51
|
image if the file had previously been edited by DPP then Exiftool
|
|
37
52
|
(If you have edited any CR3 images with ExifTool that had been previously
|
|
38
53
|
edited by DPP, then re-edit with ExifTool 11.45 or later to restructure the
|
|
39
|
-
file so DPP doesn't destroy it if used to edit the file
|
|
54
|
+
file so DPP doesn't destroy it if used later to edit the file again)
|
|
40
55
|
- Added ability to create and delete QuickTime Keys tags
|
|
41
56
|
- Added sample config file (mini0806.config) to generate GPS tags from
|
|
42
57
|
subtitle Text in Mini 0806 dashcam videos
|
data/bin/MANIFEST
CHANGED
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
|
@@ -104,8 +104,8 @@ your home directory, then you would type the following commands in a
|
|
|
104
104
|
terminal window to extract and run ExifTool:
|
|
105
105
|
|
|
106
106
|
cd ~/Desktop
|
|
107
|
-
gzip -dc Image-ExifTool-11.
|
|
108
|
-
cd Image-ExifTool-11.
|
|
107
|
+
gzip -dc Image-ExifTool-11.49.tar.gz | tar -xf -
|
|
108
|
+
cd Image-ExifTool-11.49
|
|
109
109
|
./exiftool t/images/ExifTool.jpg
|
|
110
110
|
|
|
111
111
|
Note: These commands extract meta information from one of the test images.
|
data/bin/exiftool
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
use strict;
|
|
13
13
|
require 5.004;
|
|
14
14
|
|
|
15
|
-
my $version = '11.
|
|
15
|
+
my $version = '11.49';
|
|
16
16
|
|
|
17
17
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
|
18
18
|
my $exeDir;
|
|
@@ -5119,7 +5119,7 @@ with this command:
|
|
|
5119
5119
|
|
|
5120
5120
|
produces output like this:
|
|
5121
5121
|
|
|
5122
|
-
-- Generated by ExifTool 11.
|
|
5122
|
+
-- Generated by ExifTool 11.49 --
|
|
5123
5123
|
File: a.jpg - 2003:10:31 15:44:19
|
|
5124
5124
|
(f/5.6, 1/60s, ISO 100)
|
|
5125
5125
|
File: b.jpg - 2006:05:23 11:57:38
|
data/bin/lib/Image/ExifTool.pm
CHANGED
|
@@ -27,7 +27,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
|
27
27
|
%mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
|
|
28
28
|
%jpegMarker %specialTags %fileTypeLookup);
|
|
29
29
|
|
|
30
|
-
$VERSION = '11.
|
|
30
|
+
$VERSION = '11.49';
|
|
31
31
|
$RELEASE = '';
|
|
32
32
|
@ISA = qw(Exporter);
|
|
33
33
|
%EXPORT_TAGS = (
|
data/bin/lib/Image/ExifTool.pod
CHANGED
|
@@ -979,7 +979,9 @@ list below. Default is 'wcg'.
|
|
|
979
979
|
|
|
980
980
|
The level of the group differs for different types of metadata. For XMP or
|
|
981
981
|
IPTC this is the full XMP/IPTC block (the family 0 group), but for EXIF this
|
|
982
|
-
is the individual IFD (the family 1 group).
|
|
982
|
+
is the individual IFD (the family 1 group). The 'w' and 'c' modes are
|
|
983
|
+
tested only when L</SetNewValue> is called, but the 'g' mode is also tested
|
|
984
|
+
in L</WriteInfo>.
|
|
983
985
|
|
|
984
986
|
=item XAttrTags
|
|
985
987
|
|
|
@@ -1175,8 +1177,8 @@ called with a source file name.
|
|
|
1175
1177
|
The following ExifTool options are effective in the call to L</WriteInfo>:
|
|
1176
1178
|
|
|
1177
1179
|
ByteOrder, Charset, CharsetEXIF, CharsetFileName, CharsetIPTC, Compact,
|
|
1178
|
-
Compress, FixBase, IgnoreMinorErrors, Password, PNGEarlyXMP,
|
|
1179
|
-
XMPShorthand.
|
|
1180
|
+
Compress, FixBase, IgnoreMinorErrors, Password, PNGEarlyXMP,
|
|
1181
|
+
QuickTimeHandler, Verbose, WriteMode and XMPShorthand.
|
|
1180
1182
|
|
|
1181
1183
|
=head2 GetTagList
|
|
1182
1184
|
|
|
@@ -34,7 +34,7 @@ use Image::ExifTool::Nikon;
|
|
|
34
34
|
use Image::ExifTool::Validate;
|
|
35
35
|
use Image::ExifTool::MacOS;
|
|
36
36
|
|
|
37
|
-
$VERSION = '3.
|
|
37
|
+
$VERSION = '3.23';
|
|
38
38
|
@ISA = qw(Exporter);
|
|
39
39
|
|
|
40
40
|
sub NumbersFirst($$);
|
|
@@ -193,11 +193,11 @@ of values written, or the number of characters in a fixed-length string
|
|
|
193
193
|
A plus sign (C<+>) after an entry in the B<Writable> column indicates a
|
|
194
194
|
I<List> tag which supports multiple values and allows individual values to
|
|
195
195
|
be added and deleted. A slash (C</>) indicates a tag that ExifTool will
|
|
196
|
-
I<Avoid> when writing. These
|
|
197
|
-
same-named tag may be created instead. To
|
|
196
|
+
I<Avoid> when writing. These will be edited but not created if another
|
|
197
|
+
same-named tag may be created instead. To create these tags, the group
|
|
198
198
|
should be specified. A tilde (C<~>) indicates a tag this is writable only
|
|
199
199
|
when the print conversion is disabled (by setting PrintConv to 0, using the
|
|
200
|
-
-n option, or suffixing the tag name with a C<#> character).
|
|
200
|
+
-n option, or suffixing the tag name with a C<#> character). An exclamation
|
|
201
201
|
point (C<!>) indicates a tag that is considered I<Unsafe> to write under
|
|
202
202
|
normal circumstances. These tags are not written unless specified
|
|
203
203
|
explicitly (ie. not when wildcards or "all" are used), and care should be
|
|
@@ -404,6 +404,50 @@ number added for non-standard IPTC ("IPTC2", "IPTC3", etc), but when writing
|
|
|
404
404
|
only "IPTC" may be specified as the group. To keep the IPTC consistent,
|
|
405
405
|
ExifTool updates tags in all existing IPTC locations, but will create a new
|
|
406
406
|
IPTC group only in the standard location.
|
|
407
|
+
},
|
|
408
|
+
QuickTime => q{
|
|
409
|
+
The QuickTime format is used for many different types of audio, video and
|
|
410
|
+
image files (most notably, MOV/MP4 videos and HEIC/CR3 images). Exiftool
|
|
411
|
+
extracts standard meta information and a variety of audio, video and image
|
|
412
|
+
parameters, as well as proprietary information written by many camera
|
|
413
|
+
models. Tags with a question mark after their name are not extracted unless
|
|
414
|
+
the Unknown option is set.
|
|
415
|
+
|
|
416
|
+
When writing, ExifTool creates both QuickTime and XMP tags by default, but
|
|
417
|
+
the group may be specified to write one or the other separately. If no
|
|
418
|
+
location is specified, newly created QuickTime tags are added in the
|
|
419
|
+
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> location if
|
|
420
|
+
possible, otherwise in
|
|
421
|
+
L<UserData|Image::ExifTool::TagNames/QuickTime UserData Tags>, and
|
|
422
|
+
finally in L<Keys|Image::ExifTool::TagNames/QuickTime Keys Tags>,
|
|
423
|
+
but this order may be changed by setting the PREFERRED level of the
|
|
424
|
+
appropriate table in the config file (see
|
|
425
|
+
L<example.config|../config.html#PREF> in the full distribution for
|
|
426
|
+
an example). ExifTool currently writes only top-level metadata in
|
|
427
|
+
QuickTime-based files; it extracts other track-specific and timed
|
|
428
|
+
metadata, but can not yet edit tags in these locations (with the
|
|
429
|
+
exception of track-level date/time tags).
|
|
430
|
+
|
|
431
|
+
Alternate language tags may be accessed for ItemList and Keys tags by adding
|
|
432
|
+
a 3-character ISO 639-2 language code and an optional ISO 3166-1 alpha 2
|
|
433
|
+
country code to the tag name (eg. "ItemList:Artist-deu" or
|
|
434
|
+
"ItemList::Artist-deu-DE"). Most UserData tags support a language code, but
|
|
435
|
+
without a country code. If no language code is specified when writing,
|
|
436
|
+
alternate languages for the tag are deleted. Use the "und" language code to
|
|
437
|
+
write the default language without deleting alternate languages. Note that
|
|
438
|
+
"eng" is treated as a default language when reading, but not when writing.
|
|
439
|
+
|
|
440
|
+
According to the specification, many QuickTime date/time tags should be
|
|
441
|
+
stored as UTC. Unfortunately, digital cameras often store local time values
|
|
442
|
+
instead (presumably because they don't know the time zone). For this
|
|
443
|
+
reason, by default ExifTool does not assume a time zone for these values.
|
|
444
|
+
However, if the QuickTimeUTC API option is set, then ExifTool will assume
|
|
445
|
+
these values are properly stored as UTC, and will convert them to local time
|
|
446
|
+
when extracting.
|
|
447
|
+
|
|
448
|
+
See
|
|
449
|
+
L<https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/>
|
|
450
|
+
for the official specification.
|
|
407
451
|
},
|
|
408
452
|
Photoshop => q{
|
|
409
453
|
Photoshop tags are found in PSD and PSB files, as well as inside embedded
|
|
@@ -16,7 +16,7 @@ use strict;
|
|
|
16
16
|
use vars qw($VERSION);
|
|
17
17
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
18
18
|
|
|
19
|
-
$VERSION = '1.
|
|
19
|
+
$VERSION = '1.53';
|
|
20
20
|
|
|
21
21
|
sub ProcessID3v2($$$);
|
|
22
22
|
sub ProcessPrivate($$$);
|
|
@@ -969,6 +969,15 @@ sub PrintGenre($)
|
|
|
969
969
|
return $val;
|
|
970
970
|
}
|
|
971
971
|
|
|
972
|
+
#------------------------------------------------------------------------------
|
|
973
|
+
# Get Genre ID
|
|
974
|
+
# Inputs: 0) Genre name
|
|
975
|
+
# Returns: genre ID number, or undef
|
|
976
|
+
sub GetGenreID($)
|
|
977
|
+
{
|
|
978
|
+
return Image::ExifTool::ReverseLookup(shift, \%genre);
|
|
979
|
+
}
|
|
980
|
+
|
|
972
981
|
#------------------------------------------------------------------------------
|
|
973
982
|
# Decode ID3 string
|
|
974
983
|
# Inputs: 0) ExifTool object reference
|
|
@@ -116,7 +116,7 @@ my $mwgLoaded; # flag set if we alreaded Load()ed the MWG tags
|
|
|
116
116
|
DateTimeOriginal => {
|
|
117
117
|
Description => 'Date/Time Original',
|
|
118
118
|
Groups => { 2 => 'Time' },
|
|
119
|
-
Notes => '"
|
|
119
|
+
Notes => '"specifies when a photo was taken" - MWG',
|
|
120
120
|
Writable => 1,
|
|
121
121
|
Shift => 0, # don't shift this tag
|
|
122
122
|
Desire => {
|
|
@@ -158,7 +158,7 @@ my $mwgLoaded; # flag set if we alreaded Load()ed the MWG tags
|
|
|
158
158
|
},
|
|
159
159
|
CreateDate => {
|
|
160
160
|
Groups => { 2 => 'Time' },
|
|
161
|
-
Notes => '"
|
|
161
|
+
Notes => '"specifies when an image was digitized" - MWG',
|
|
162
162
|
Writable => 1,
|
|
163
163
|
Shift => 0, # don't shift this tag
|
|
164
164
|
Desire => {
|
|
@@ -196,7 +196,7 @@ my $mwgLoaded; # flag set if we alreaded Load()ed the MWG tags
|
|
|
196
196
|
},
|
|
197
197
|
ModifyDate => {
|
|
198
198
|
Groups => { 2 => 'Time' },
|
|
199
|
-
Notes => '"
|
|
199
|
+
Notes => '"specifies when a file was modified by the user" - MWG',
|
|
200
200
|
Writable => 1,
|
|
201
201
|
Shift => 0, # don't shift this tag
|
|
202
202
|
Desire => {
|
|
@@ -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.28';
|
|
62
62
|
|
|
63
63
|
sub CryptShutterCount($$);
|
|
64
64
|
sub PrintFilter($$$);
|
|
@@ -304,7 +304,7 @@ sub DecodeAFPoints($$$$;$);
|
|
|
304
304
|
'7 243' => 'smc PENTAX-DA 70mm F2.4 Limited', #PH
|
|
305
305
|
'7 244' => 'smc PENTAX-DA 21mm F3.2 AL Limited', #16
|
|
306
306
|
'8 0' => 'Sigma 50-150mm F2.8 II APO EX DC HSM', #forum2997
|
|
307
|
-
'8 3' => 'Sigma
|
|
307
|
+
'8 3' => 'Sigma 18-125mm F3.8-5.6 DC HSM', #forum10167
|
|
308
308
|
'8 4' => 'Sigma 50mm F1.4 EX DG HSM', #Artur private communication
|
|
309
309
|
'8 7' => 'Sigma 24-70mm F2.8 IF EX DG HSM', #Exiv2
|
|
310
310
|
'8 8' => 'Sigma 18-250mm F3.5-6.3 DC OS HSM', #27
|
|
@@ -42,7 +42,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
42
42
|
use Image::ExifTool::Exif;
|
|
43
43
|
use Image::ExifTool::GPS;
|
|
44
44
|
|
|
45
|
-
$VERSION = '2.
|
|
45
|
+
$VERSION = '2.32';
|
|
46
46
|
|
|
47
47
|
sub ProcessMOV($$;$);
|
|
48
48
|
sub ProcessKeys($$$);
|
|
@@ -241,7 +241,6 @@ my %unknownInfo = (
|
|
|
241
241
|
my %langText = (
|
|
242
242
|
Notes => 'used in 3gp videos',
|
|
243
243
|
IText => 6,
|
|
244
|
-
Preferred => 0,
|
|
245
244
|
Avoid => 1,
|
|
246
245
|
);
|
|
247
246
|
|
|
@@ -418,45 +417,6 @@ my %eeBox = (
|
|
|
418
417
|
PROCESS_PROC => \&ProcessMOV,
|
|
419
418
|
WRITE_PROC => \&WriteQuickTime, # (only needs to be defined for directories to process when writing)
|
|
420
419
|
GROUPS => { 2 => 'Video' },
|
|
421
|
-
NOTES => q{
|
|
422
|
-
The QuickTime format is used for many different types of audio, video and
|
|
423
|
-
image files (most notably, MOV/MP4 videos and HEIC/CR3 images). Exiftool
|
|
424
|
-
extracts standard meta information and a variety of audio, video and image
|
|
425
|
-
parameters, as well as proprietary information written by many camera
|
|
426
|
-
models. Tags with a question mark after their name are not extracted unless
|
|
427
|
-
the Unknown option is set.
|
|
428
|
-
|
|
429
|
-
When writing, ExifTool creates both QuickTime and XMP tags by default, but
|
|
430
|
-
the group may be specified to write one or the other separately. If no
|
|
431
|
-
location is specified, newly created QuickTime tags are added in the
|
|
432
|
-
ItemList location if possible, otherwise in UserData, and finally in Keys,
|
|
433
|
-
but this order may be changed by setting the PREFERRED level of the
|
|
434
|
-
appropriate table in the config file (see L<example.config|../config.html#PREF> in the full
|
|
435
|
-
distribution for an example). ExifTool currently writes only top-level
|
|
436
|
-
metadata in QuickTime-based files; it extracts other track-specific and
|
|
437
|
-
timed metadata, but can not yet edit tags in these locations.
|
|
438
|
-
|
|
439
|
-
Alternate language tags may be accessed for ItemList and Keys tags by adding
|
|
440
|
-
a 3-character ISO 639-2 language code and an optional ISO 3166-1 alpha 2
|
|
441
|
-
country code to the tag name (eg. "ItemList:Artist-deu" or
|
|
442
|
-
"ItemList::Artist-deu-DE"). UserData tags support only a language code
|
|
443
|
-
(without a country code). If no language code is specified when writing,
|
|
444
|
-
alternate languages for the tag are deleted. Use the "und" language code to
|
|
445
|
-
write the default language without deleting alternate languages. Note that
|
|
446
|
-
"eng" is treated as a default language when reading, but not when writing.
|
|
447
|
-
|
|
448
|
-
According to the specification, many QuickTime date/time tags should be
|
|
449
|
-
stored as UTC. Unfortunately, digital cameras often store local time values
|
|
450
|
-
instead (presumably because they don't know the time zone). For this
|
|
451
|
-
reason, by default ExifTool does not assume a time zone for these values.
|
|
452
|
-
However, if the QuickTimeUTC API option is set, then ExifTool will assume
|
|
453
|
-
these values are properly stored as UTC, and will convert them to local time
|
|
454
|
-
when extracting.
|
|
455
|
-
|
|
456
|
-
See
|
|
457
|
-
L<https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/>
|
|
458
|
-
for the official specification.
|
|
459
|
-
},
|
|
460
420
|
meta => { # 'meta' is found here in my Sony ILCE-7S MP4 sample - PH
|
|
461
421
|
Name => 'Meta',
|
|
462
422
|
SubDirectory => {
|
|
@@ -1367,6 +1327,12 @@ my %eeBox = (
|
|
|
1367
1327
|
text. Alternate language tags are accessed by adding a dash followed by a
|
|
1368
1328
|
3-character ISO 639-2 language code to the tag name. ExifTool will extract
|
|
1369
1329
|
any multi-language user data tags found, even if they aren't in this table.
|
|
1330
|
+
Note when creating new tags,
|
|
1331
|
+
L<ItemList Tags|Image::ExifTool::TagNames/QuickTime ItemList Tags> are
|
|
1332
|
+
preferred over these, so to create the tag when a same-named ItemList tag
|
|
1333
|
+
exists, either "UserData" must be specified (eg. C<-UserData:Artist=Monet>
|
|
1334
|
+
on the command line), or the PREFERRED level must be changed via the config
|
|
1335
|
+
file.
|
|
1370
1336
|
},
|
|
1371
1337
|
"\xa9cpy" => { Name => 'Copyright', Groups => { 2 => 'Author' } },
|
|
1372
1338
|
"\xa9day" => {
|
|
@@ -1433,7 +1399,7 @@ my %eeBox = (
|
|
|
1433
1399
|
"\xa9swr" => 'SoftwareVersion', #12
|
|
1434
1400
|
"\xa9too" => 'Encoder', #PH (NC)
|
|
1435
1401
|
"\xa9trk" => 'Track', #PH (NC)
|
|
1436
|
-
"\xa9wrt" => { Name => 'Composer',
|
|
1402
|
+
"\xa9wrt" => { Name => 'Composer', Avoid => 1 }, # ("\xa9com" is preferred in UserData)
|
|
1437
1403
|
"\xa9xyz" => { #PH (iPhone 3GS)
|
|
1438
1404
|
Name => 'GPSCoordinates',
|
|
1439
1405
|
Groups => { 2 => 'Location' },
|
|
@@ -1457,7 +1423,12 @@ my %eeBox = (
|
|
|
1457
1423
|
"\xa9dji" => { Name => 'UserData_dji', Format => 'undef', Binary => 1, Unknown => 1, Hidden => 1 },
|
|
1458
1424
|
"\xa9res" => { Name => 'UserData_res', Format => 'undef', Binary => 1, Unknown => 1, Hidden => 1 },
|
|
1459
1425
|
"\xa9uid" => { Name => 'UserData_uid', Format => 'undef', Binary => 1, Unknown => 1, Hidden => 1 },
|
|
1460
|
-
"\xa9mdl" => {
|
|
1426
|
+
"\xa9mdl" => {
|
|
1427
|
+
Name => 'Model',
|
|
1428
|
+
Notes => 'non-standard-format DJI tag',
|
|
1429
|
+
Format => 'string',
|
|
1430
|
+
Avoid => 1,
|
|
1431
|
+
},
|
|
1461
1432
|
# end DJI tags
|
|
1462
1433
|
name => 'Name',
|
|
1463
1434
|
WLOC => {
|
|
@@ -1508,13 +1479,14 @@ my %eeBox = (
|
|
|
1508
1479
|
# the following are 3gp tags, references:
|
|
1509
1480
|
# http://atomicparsley.sourceforge.net
|
|
1510
1481
|
# http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_25/Docs/
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1482
|
+
# (note that all %langText tags are Avoid => 1)
|
|
1483
|
+
cprt => { Name => 'Copyright', %langText, Groups => { 2 => 'Author' } },
|
|
1484
|
+
auth => { Name => 'Author', %langText, Groups => { 2 => 'Author' } },
|
|
1485
|
+
titl => { Name => 'Title', %langText },
|
|
1514
1486
|
dscp => { Name => 'Description',%langText },
|
|
1515
1487
|
perf => { Name => 'Performer', %langText },
|
|
1516
|
-
gnre => { Name => 'Genre', %langText
|
|
1517
|
-
albm => { Name => 'Album', %langText
|
|
1488
|
+
gnre => { Name => 'Genre', %langText },
|
|
1489
|
+
albm => { Name => 'Album', %langText },
|
|
1518
1490
|
coll => { Name => 'CollectionName', %langText }, #17
|
|
1519
1491
|
rtng => {
|
|
1520
1492
|
Name => 'Rating',
|
|
@@ -1629,7 +1601,7 @@ my %eeBox = (
|
|
|
1629
1601
|
cmnm => { # (NC)
|
|
1630
1602
|
Name => 'Model',
|
|
1631
1603
|
Description => 'Camera Model Name',
|
|
1632
|
-
|
|
1604
|
+
Avoid => 1,
|
|
1633
1605
|
Format => 'string', # (necessary to remove the trailing NULL)
|
|
1634
1606
|
},
|
|
1635
1607
|
date => { # (NC)
|
|
@@ -1653,14 +1625,14 @@ my %eeBox = (
|
|
|
1653
1625
|
},
|
|
1654
1626
|
manu => { # (SX280)
|
|
1655
1627
|
Name => 'Make',
|
|
1656
|
-
|
|
1628
|
+
Avoid => 1,
|
|
1657
1629
|
# (with Canon there are 6 unknown bytes before the model: "\0\0\0\0\x15\xc7")
|
|
1658
1630
|
RawConv => '$val=~s/^\0{4}..//s; $val=~s/\0.*//; $val',
|
|
1659
1631
|
},
|
|
1660
1632
|
modl => { # (Samsung GT-S8530, Canon SX280)
|
|
1661
1633
|
Name => 'Model',
|
|
1662
1634
|
Description => 'Camera Model Name',
|
|
1663
|
-
|
|
1635
|
+
Avoid => 1,
|
|
1664
1636
|
# (with Canon there are 6 unknown bytes before the model: "\0\0\0\0\x15\xc7")
|
|
1665
1637
|
RawConv => '$val=~s/^\0{4}..//s; $val=~s/\0.*//; $val',
|
|
1666
1638
|
},
|
|
@@ -1812,7 +1784,7 @@ my %eeBox = (
|
|
|
1812
1784
|
CNMN => {
|
|
1813
1785
|
Name => 'Model', #PH (EOS 550D)
|
|
1814
1786
|
Description => 'Camera Model Name',
|
|
1815
|
-
|
|
1787
|
+
Avoid => 1,
|
|
1816
1788
|
Format => 'string', # (necessary to remove the trailing NULL)
|
|
1817
1789
|
},
|
|
1818
1790
|
CNFV => { Name => 'FirmwareVersion', Format => 'string' }, #PH (EOS 550D)
|
|
@@ -1858,7 +1830,7 @@ my %eeBox = (
|
|
|
1858
1830
|
},
|
|
1859
1831
|
# ---- GoPro ---- (ref PH)
|
|
1860
1832
|
GoPr => 'GoProType', # (Hero3+)
|
|
1861
|
-
FIRM => 'FirmwareVersion', # (Hero4)
|
|
1833
|
+
FIRM => { Name => 'FirmwareVersion', Avoid => 1 }, # (Hero4)
|
|
1862
1834
|
LENS => 'LensSerialNumber', # (Hero4)
|
|
1863
1835
|
CAME => { # (Hero4)
|
|
1864
1836
|
Name => 'SerialNumberHash',
|
|
@@ -1889,10 +1861,10 @@ my %eeBox = (
|
|
|
1889
1861
|
Name => 'KodakDcMD',
|
|
1890
1862
|
SubDirectory => { TagTable => 'Image::ExifTool::Kodak::DcMD' },
|
|
1891
1863
|
},
|
|
1892
|
-
SNum => { Name => 'SerialNumber', Groups => { 2 => 'Camera' } },
|
|
1893
|
-
ptch => { Name => 'Pitch', Format => 'rational64s',
|
|
1894
|
-
_yaw => { Name => 'Yaw', Format => 'rational64s',
|
|
1895
|
-
roll => { Name => 'Roll', Format => 'rational64s',
|
|
1864
|
+
SNum => { Name => 'SerialNumber', Avoid => 1, Groups => { 2 => 'Camera' } },
|
|
1865
|
+
ptch => { Name => 'Pitch', Format => 'rational64s', Avoid => 1 }, # Units??
|
|
1866
|
+
_yaw => { Name => 'Yaw', Format => 'rational64s', Avoid => 1 }, # Units??
|
|
1867
|
+
roll => { Name => 'Roll', Format => 'rational64s', Avoid => 1 }, # Units??
|
|
1896
1868
|
_cx_ => { Name => 'CX', Format => 'rational64s', Unknown => 1 },
|
|
1897
1869
|
_cy_ => { Name => 'CY', Format => 'rational64s', Unknown => 1 },
|
|
1898
1870
|
rads => { Name => 'Rads', Format => 'rational64s', Unknown => 1 },
|
|
@@ -2641,10 +2613,9 @@ my %eeBox = (
|
|
|
2641
2613
|
WRITE_GROUP => 'ItemList',
|
|
2642
2614
|
LANG_INFO => \&GetLangInfo,
|
|
2643
2615
|
NOTES => q{
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
a 3-character ISO 639-2 language code and an optional ISO 3166-1 alpha 2
|
|
2616
|
+
This is the preferred location for creating new QuickTime tags. Tags in
|
|
2617
|
+
this table support alternate languages which are accessed by adding a
|
|
2618
|
+
3-character ISO 639-2 language code and an optional ISO 3166-1 alpha 2
|
|
2648
2619
|
country code to the tag name (eg. "ItemList:Title-fra" or
|
|
2649
2620
|
"ItemList::Title-fra-FR").
|
|
2650
2621
|
},
|
|
@@ -2654,9 +2625,9 @@ my %eeBox = (
|
|
|
2654
2625
|
# from being created when a same-named tag already exists in the table)
|
|
2655
2626
|
"\xa9ART" => 'Artist',
|
|
2656
2627
|
"\xa9alb" => 'Album',
|
|
2657
|
-
"\xa9aut" => { Name => 'Author',
|
|
2628
|
+
"\xa9aut" => { Name => 'Author', Avoid => 1, Groups => { 2 => 'Author' } }, #forum10091 ('auth' is preferred)
|
|
2658
2629
|
"\xa9cmt" => 'Comment',
|
|
2659
|
-
"\xa9com" => { Name => 'Composer',
|
|
2630
|
+
"\xa9com" => { Name => 'Composer', Avoid => 1, }, # ("\xa9wrt" is preferred in ItemList)
|
|
2660
2631
|
"\xa9day" => {
|
|
2661
2632
|
Name => 'ContentCreateDate',
|
|
2662
2633
|
Groups => { 2 => 'Time' },
|
|
@@ -2731,7 +2702,7 @@ my %eeBox = (
|
|
|
2731
2702
|
1 => 'AOL',
|
|
2732
2703
|
},
|
|
2733
2704
|
},
|
|
2734
|
-
albm => { Name => 'Album',
|
|
2705
|
+
albm => { Name => 'Album', Avoid => 1 }, #(ffmpeg source)
|
|
2735
2706
|
apID => 'AppleStoreAccount',
|
|
2736
2707
|
atID => { #10 (or TV series)
|
|
2737
2708
|
Name => 'AlbumTitleID',
|
|
@@ -2744,16 +2715,21 @@ my %eeBox = (
|
|
|
2744
2715
|
Format => 'int32u',
|
|
2745
2716
|
},
|
|
2746
2717
|
cprt => { Name => 'Copyright', Groups => { 2 => 'Author' } },
|
|
2747
|
-
dscp => { Name => 'Description',
|
|
2748
|
-
desc => { Name => 'Description',
|
|
2718
|
+
dscp => { Name => 'Description', Avoid => 1 },
|
|
2719
|
+
desc => { Name => 'Description', Avoid => 1 }, #7
|
|
2749
2720
|
gnre => { #10
|
|
2750
2721
|
Name => 'Genre',
|
|
2751
|
-
|
|
2722
|
+
Avoid => 1,
|
|
2752
2723
|
PrintConv => q{
|
|
2753
2724
|
return $val unless $val =~ /^\d+$/;
|
|
2754
2725
|
require Image::ExifTool::ID3;
|
|
2755
2726
|
Image::ExifTool::ID3::PrintGenre($val - 1); # note the "- 1"
|
|
2756
2727
|
},
|
|
2728
|
+
PrintConvInv => q{
|
|
2729
|
+
require Image::ExifTool::ID3;
|
|
2730
|
+
my $id = Image::ExifTool::ID3::GetGenreID($val);
|
|
2731
|
+
return defined $id ? $id : $val;
|
|
2732
|
+
},
|
|
2757
2733
|
},
|
|
2758
2734
|
egid => 'EpisodeGlobalUniqueID', #7
|
|
2759
2735
|
geID => { #10
|
|
@@ -5134,7 +5110,7 @@ my %eeBox = (
|
|
|
5134
5110
|
50000092 => 'Audiobooks|Erotica',
|
|
5135
5111
|
},
|
|
5136
5112
|
},
|
|
5137
|
-
grup => { Name => 'Grouping',
|
|
5113
|
+
grup => { Name => 'Grouping', Avoid => 1 }, #10
|
|
5138
5114
|
hdvd => { #10
|
|
5139
5115
|
Name => 'HDVideo',
|
|
5140
5116
|
PrintConv => { 0 => 'No', 1 => 'Yes' },
|
|
@@ -5347,7 +5323,7 @@ my %eeBox = (
|
|
|
5347
5323
|
},
|
|
5348
5324
|
},
|
|
5349
5325
|
rate => 'RatingPercent', #PH
|
|
5350
|
-
titl => { Name => 'Title',
|
|
5326
|
+
titl => { Name => 'Title', Avoid => 1 },
|
|
5351
5327
|
tven => 'TVEpisodeID', #7
|
|
5352
5328
|
tves => { #7/10
|
|
5353
5329
|
Name => 'TVEpisode',
|
|
@@ -5388,7 +5364,7 @@ my %eeBox = (
|
|
|
5388
5364
|
},
|
|
5389
5365
|
|
|
5390
5366
|
# atoms observed in AAX audiobooks (ref PH)
|
|
5391
|
-
"\xa9cpy" => { Name => 'Copyright',
|
|
5367
|
+
"\xa9cpy" => { Name => 'Copyright', Avoid => 1, Groups => { 2 => 'Author' } },
|
|
5392
5368
|
"\xa9pub" => 'Publisher',
|
|
5393
5369
|
"\xa9nrt" => 'Narrator',
|
|
5394
5370
|
'@pti' => 'ParentTitle', # (guess -- same as "\xa9nam")
|
|
@@ -5443,9 +5419,18 @@ my %eeBox = (
|
|
|
5443
5419
|
LANG_INFO => \&GetLangInfo,
|
|
5444
5420
|
FORMAT => 'string',
|
|
5445
5421
|
NOTES => q{
|
|
5446
|
-
This directory contains a list of key names which are used to decode
|
|
5447
|
-
|
|
5448
|
-
|
|
5422
|
+
This directory contains a list of key names which are used to decode tags
|
|
5423
|
+
written by the "mdta" handler. The prefix of "com.apple.quicktime." has
|
|
5424
|
+
been removed from all TagID's below. These tags support alternate languages
|
|
5425
|
+
in the same way as the
|
|
5426
|
+
L<ItemList Tags|Image::ExifTool::TagNames/QuickTime ItemList Tags>. Note
|
|
5427
|
+
that by default,
|
|
5428
|
+
L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> and
|
|
5429
|
+
L<UserData|Image::ExifTool::TagNames/QuickTime UserData Tags> tags are
|
|
5430
|
+
preferred when writing, so to create a tag when a same-named tag exists in
|
|
5431
|
+
either of these tables, either the "Keys" location must be specified (eg.
|
|
5432
|
+
C<-Keys:Author=Phil> on the command line), or the PREFERRED level must be
|
|
5433
|
+
changed via the config file.
|
|
5449
5434
|
},
|
|
5450
5435
|
version => 'Version',
|
|
5451
5436
|
album => 'Album',
|