exiftool_vendored 11.48.0 → 11.49.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- 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',
|