exiftool-vendored.exe 12.30.0 → 12.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/exiftool_files/Changes +129 -3
- package/bin/exiftool_files/README +2 -2
- package/bin/exiftool_files/arg_files/xmp2exif.args +2 -1
- package/bin/exiftool_files/config_files/example.config +1 -1
- package/bin/exiftool_files/exiftool.pl +100 -58
- package/bin/exiftool_files/fmt_files/gpx.fmt +1 -1
- package/bin/exiftool_files/fmt_files/gpx_wpt.fmt +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +13 -3
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +331 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +175 -12
- package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +12 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +2 -0
- package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +13 -2
- package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +109 -3
- package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +33 -8
- package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +5 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +14 -10
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +13 -2
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +16 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +96 -4
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +7 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +154 -24
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +27 -12
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +1204 -96
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +5 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +135 -71
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +5 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +4 -2
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +11 -12
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +4 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +69 -10
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +141 -111
- package/bin/exiftool_files/lib/Image/ExifTool/README +9 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +56 -13
- package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +9 -4
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +6473 -5827
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +1401 -54
- package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +2 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +10 -0
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +10 -11
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +50 -5
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +125 -31
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +3 -1
- package/bin/exiftool_files/lib/Image/ExifTool.pm +8931 -8864
- package/bin/exiftool_files/lib/Image/ExifTool.pod +21 -13
- package/package.json +3 -3
|
@@ -408,6 +408,9 @@ numerical, and generated automatically otherwise.
|
|
|
408
408
|
to be evaluated. Expression may access $val and $et,
|
|
409
409
|
and is evaluated only when reading.
|
|
410
410
|
|
|
411
|
+
'iTXt' - [PNG TextualData tags only] flag to write tag as PNG
|
|
412
|
+
iTXt chunk even if it contains no special characters.
|
|
413
|
+
|
|
411
414
|
'List' - flag indicating that duplicate entries of this tag
|
|
412
415
|
are allowed, and will be accumulated in a list. Note that for
|
|
413
416
|
XMP information, 3 different types of lists are supported and
|
|
@@ -447,6 +450,10 @@ numerical, and generated automatically otherwise.
|
|
|
447
450
|
may be written if the tag already exists. By default, all
|
|
448
451
|
MakerNotes tags are permanent unless otherwise specified.
|
|
449
452
|
|
|
453
|
+
'PreservePadding' - [QuickTime only] flag to preserve the
|
|
454
|
+
original size of the QuickTime atom by padding with nulls when
|
|
455
|
+
writing with the QuickTimePad option.
|
|
456
|
+
|
|
450
457
|
'PrintHex' - specifies that unknown PrintConv values should
|
|
451
458
|
be printed in hex (eg. 'Unknown (0x1)'). Also causes
|
|
452
459
|
numerical tag values to be printed in hex in the HTML tag name
|
|
@@ -471,9 +478,9 @@ numerical, and generated automatically otherwise.
|
|
|
471
478
|
tags in IFD1 of JPEG images which default to priority 0.
|
|
472
479
|
|
|
473
480
|
'Protected' - bit mask to protect tags from writing:
|
|
474
|
-
Bit 0x01 indicates an '
|
|
481
|
+
Bit 0x01 indicates an 'Unsafe' tag, which is not set via
|
|
475
482
|
SetNewValuesFromFile() unless specified explicitly.
|
|
476
|
-
Bit 0x02 indicates a '
|
|
483
|
+
Bit 0x02 indicates a 'Protected' tag, which should not be set
|
|
477
484
|
directly by the user.
|
|
478
485
|
|
|
479
486
|
'PutFirst' - [EXIF only] flag to place this value before IFD0
|
|
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
34
34
|
use Image::ExifTool::Exif;
|
|
35
35
|
use Image::ExifTool::Minolta;
|
|
36
36
|
|
|
37
|
-
$VERSION = '3.
|
|
37
|
+
$VERSION = '3.48';
|
|
38
38
|
|
|
39
39
|
sub ProcessSRF($$$);
|
|
40
40
|
sub ProcessSR2($$$);
|
|
@@ -154,6 +154,7 @@ sub PrintInvLensSpec($;$$);
|
|
|
154
154
|
32866 => 'Sony FE 24mm F2.8 G', #IB
|
|
155
155
|
32867 => 'Sony FE 40mm F2.5 G', #IB
|
|
156
156
|
32868 => 'Sony FE 50mm F2.5 G', #IB
|
|
157
|
+
32874 => 'Sony FE 70-200mm F2.8 GM OSS II', #IB
|
|
157
158
|
|
|
158
159
|
# (comment this out so LensID will report the LensModel, which is more useful)
|
|
159
160
|
# 32952 => 'Metabones Canon EF Speed Booster Ultra', #JR (corresponds to 184, but 'Advanced' mode, LensMount reported as E-mount)
|
|
@@ -196,6 +197,9 @@ sub PrintInvLensSpec($;$$);
|
|
|
196
197
|
49465 => 'Tamron 17-70mm F2.8 Di III-A VC RXD', #JR (Model B070)
|
|
197
198
|
49466 => 'Tamron 150-500mm F5-6.7 Di III VC VXD', #JR (Model A057)
|
|
198
199
|
49467 => 'Tamron 11-20mm F2.8 Di III-A RXD', #JR (Model B060)
|
|
200
|
+
49468 => 'Tamron 18-300mm F3.5-6.3 Di III-A VC VXD', #JR (Model B061)
|
|
201
|
+
49469 => 'Tamron 35-150mm F2-F2.8 Di III VXD', #JR (Model A058)
|
|
202
|
+
49470 => 'Tamron 28-75mm F2.8 Di III VXD G2', #JR (Model A063)
|
|
199
203
|
|
|
200
204
|
49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
|
|
201
205
|
49473.1 => 'Viltrox 23mm F1.4 E', #JR
|
|
@@ -237,7 +241,10 @@ sub PrintInvLensSpec($;$$);
|
|
|
237
241
|
50526 => 'Sigma 28-70mm F2.8 DG DN | C', #JR (021)
|
|
238
242
|
50527 => 'Sigma 150-600mm F5-6.3 DG DN OS | S', #JR (021)
|
|
239
243
|
50528 => 'Sigma 35mm F1.4 DG DN | A', #IB/JR (021)
|
|
240
|
-
|
|
244
|
+
50529 => 'Sigma 90mm F2.8 DG DN | C', #JR (021)
|
|
245
|
+
50530 => 'Sigma 24mm F2 DG DN | C', #JR (021)
|
|
246
|
+
50531 => 'Sigma 18-50mm F2.8 DC DN | C', #IB/JR (021)
|
|
247
|
+
|
|
241
248
|
50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
|
|
242
249
|
50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
|
|
243
250
|
50994 => 'Voigtlander ULTRA WIDE-HELIAR 12mm F5.6 III', #IB
|
|
@@ -1576,6 +1583,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1576
1583
|
65535 => 'n/a',
|
|
1577
1584
|
},
|
|
1578
1585
|
},
|
|
1586
|
+
# 0x203a - 0x2041: first seen October 2021 for ILCE-7M4
|
|
1579
1587
|
0x3000 => {
|
|
1580
1588
|
Name => 'ShotInfo',
|
|
1581
1589
|
SubDirectory => { TagTable => 'Image::ExifTool::Sony::ShotInfo' },
|
|
@@ -1604,7 +1612,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1604
1612
|
# from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
|
|
1605
1613
|
{
|
|
1606
1614
|
Name => 'Tag9050a',
|
|
1607
|
-
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
|
|
1615
|
+
Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7M4|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
|
|
1608
1616
|
SubDirectory => {
|
|
1609
1617
|
TagTable => 'Image::ExifTool::Sony::Tag9050a',
|
|
1610
1618
|
ByteOrder => 'LittleEndian',
|
|
@@ -1618,7 +1626,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
1618
1626
|
},
|
|
1619
1627
|
},{
|
|
1620
1628
|
Name => 'Tag9050c',
|
|
1621
|
-
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)/',
|
|
1629
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)/',
|
|
1622
1630
|
SubDirectory => {
|
|
1623
1631
|
TagTable => 'Image::ExifTool::Sony::Tag9050c',
|
|
1624
1632
|
ByteOrder => 'LittleEndian',
|
|
@@ -2026,7 +2034,9 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
|
|
|
2026
2034
|
383 => 'ILCE-7SM3',
|
|
2027
2035
|
384 => 'ILCE-1', #PH
|
|
2028
2036
|
385 => 'ILME-FX3', #JR
|
|
2037
|
+
386 => 'ILCE-7RM3A', #JR
|
|
2029
2038
|
387 => 'ILCE-7RM4A', #forum12542
|
|
2039
|
+
388 => 'ILCE-7M4', #IB/JR
|
|
2030
2040
|
},
|
|
2031
2041
|
},
|
|
2032
2042
|
0xb020 => { #2
|
|
@@ -7949,7 +7959,7 @@ my %isoSetting2010 = (
|
|
|
7949
7959
|
},
|
|
7950
7960
|
0x0088 => {
|
|
7951
7961
|
Name => 'InternalSerialNumber', #(NC)
|
|
7952
|
-
Condition => '$$self{Model} =~ /^(ILCE-7SM3|ILME-FX3)/',
|
|
7962
|
+
Condition => '$$self{Model} =~ /^(ILCE-(7M4|7SM3)|ILME-FX3)/',
|
|
7953
7963
|
Format => 'int8u[6]',
|
|
7954
7964
|
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
|
|
7955
7965
|
},
|
|
@@ -8187,7 +8197,7 @@ my %isoSetting2010 = (
|
|
|
8187
8197
|
},
|
|
8188
8198
|
0x002a => [{
|
|
8189
8199
|
Name => 'Quality2',
|
|
8190
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
|
8200
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
|
8191
8201
|
PrintConv => {
|
|
8192
8202
|
0 => 'JPEG',
|
|
8193
8203
|
1 => 'RAW',
|
|
@@ -8196,7 +8206,7 @@ my %isoSetting2010 = (
|
|
|
8196
8206
|
},
|
|
8197
8207
|
},{
|
|
8198
8208
|
Name => 'Quality2',
|
|
8199
|
-
Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
|
8209
|
+
Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
|
8200
8210
|
PrintConv => {
|
|
8201
8211
|
1 => 'JPEG',
|
|
8202
8212
|
2 => 'RAW',
|
|
@@ -8207,13 +8217,13 @@ my %isoSetting2010 = (
|
|
|
8207
8217
|
}],
|
|
8208
8218
|
0x0047 => {
|
|
8209
8219
|
Name => 'SonyImageHeight',
|
|
8210
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
|
8220
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
|
8211
8221
|
Format => 'int16u',
|
|
8212
8222
|
PrintConv => '$val > 0 ? 8*$val : "n.a."',
|
|
8213
8223
|
},
|
|
8214
8224
|
0x0053 => {
|
|
8215
8225
|
Name => 'ModelReleaseYear',
|
|
8216
|
-
Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
|
|
8226
|
+
Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
|
|
8217
8227
|
Format => 'int8u',
|
|
8218
8228
|
PrintConv => 'sprintf("20%.2d", $val)',
|
|
8219
8229
|
},
|
|
@@ -8228,10 +8238,11 @@ my %isoSetting2010 = (
|
|
|
8228
8238
|
FIRST_ENTRY => 0,
|
|
8229
8239
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8230
8240
|
DATAMEMBER => [ 0 ],
|
|
8231
|
-
IS_SUBDIR => [ 0x0498, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
|
8241
|
+
IS_SUBDIR => [ 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
|
|
8232
8242
|
0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
|
|
8233
8243
|
|
|
8234
8244
|
0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8245
|
+
0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8235
8246
|
0x04a1 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(160|164)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8236
8247
|
0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(152|154|155)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
8237
8248
|
0x059d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(144|146)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
|
|
@@ -8370,8 +8381,8 @@ my %isoSetting2010 = (
|
|
|
8370
8381
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
8371
8382
|
DATAMEMBER => [ 0x04 ],
|
|
8372
8383
|
0x04 => {
|
|
8373
|
-
# seen values 0,2,3,18,32,49,50,83,148
|
|
8374
|
-
# CameraTemperature is valid for all values except 0
|
|
8384
|
+
# seen values 0,2,3,18,19,32,49,50,83,130,132,148,213,229,255
|
|
8385
|
+
# CameraTemperature is valid for all values above except ==0 and >=130
|
|
8375
8386
|
Name => 'TempTest2',
|
|
8376
8387
|
DataMember => 'TempTest2',
|
|
8377
8388
|
Hidden => 1,
|
|
@@ -9500,7 +9511,7 @@ my %isoSetting2010 = (
|
|
|
9500
9511
|
WRITE_PROC => \&WriteEnciphered,
|
|
9501
9512
|
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
9502
9513
|
FORMAT => 'int8u',
|
|
9503
|
-
NOTES => 'Valid for the ILCE-1/7SM3, ILME-FX3.',
|
|
9514
|
+
NOTES => 'Valid for the ILCE-1/7M4/7SM3, ILME-FX3.',
|
|
9504
9515
|
FIRST_ENTRY => 0,
|
|
9505
9516
|
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
|
|
9506
9517
|
0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
|
|
@@ -9627,10 +9638,22 @@ my %isoSetting2010 = (
|
|
|
9627
9638
|
},
|
|
9628
9639
|
0x088f => {
|
|
9629
9640
|
Name => 'VignettingCorrParams',
|
|
9641
|
+
Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
|
|
9642
|
+
Format => 'int16s[16]',
|
|
9643
|
+
},
|
|
9644
|
+
0x0891 => {
|
|
9645
|
+
Name => 'VignettingCorrParams',
|
|
9646
|
+
Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
|
|
9630
9647
|
Format => 'int16s[16]',
|
|
9631
9648
|
},
|
|
9632
9649
|
0x0914 => {
|
|
9633
9650
|
Name => 'ChromaticAberrationCorrParams',
|
|
9651
|
+
Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
|
|
9652
|
+
Format => 'int16s[32]',
|
|
9653
|
+
},
|
|
9654
|
+
0x0916 => {
|
|
9655
|
+
Name => 'ChromaticAberrationCorrParams',
|
|
9656
|
+
Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
|
|
9634
9657
|
Format => 'int16s[32]',
|
|
9635
9658
|
},
|
|
9636
9659
|
);
|
|
@@ -10320,6 +10343,26 @@ my %isoSetting2010 = (
|
|
|
10320
10343
|
ValueConv => '"$val[0] $val[1]Z"',
|
|
10321
10344
|
PrintConv => '$self->ConvertDateTime($val)',
|
|
10322
10345
|
},
|
|
10346
|
+
GPSLatitude => {
|
|
10347
|
+
SubDoc => 1, # generate for all sub-documents
|
|
10348
|
+
Groups => { 2 => 'Location' },
|
|
10349
|
+
Require => {
|
|
10350
|
+
0 => 'Sony:GPSLatitude',
|
|
10351
|
+
1 => 'Sony:GPSLatitudeRef',
|
|
10352
|
+
},
|
|
10353
|
+
ValueConv => '$val[1] =~ /^S/i ? -$val[0] : $val[0]',
|
|
10354
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
|
|
10355
|
+
},
|
|
10356
|
+
GPSLongitude => {
|
|
10357
|
+
SubDoc => 1, # generate for all sub-documents
|
|
10358
|
+
Groups => { 2 => 'Location' },
|
|
10359
|
+
Require => {
|
|
10360
|
+
0 => 'Sony:GPSLongitude',
|
|
10361
|
+
1 => 'Sony:GPSLongitudeRef',
|
|
10362
|
+
},
|
|
10363
|
+
ValueConv => '$val[1] =~ /^W/i ? -$val[0] : $val[0]',
|
|
10364
|
+
PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
|
|
10365
|
+
},
|
|
10323
10366
|
);
|
|
10324
10367
|
|
|
10325
10368
|
# add our composite tags
|
|
@@ -15,7 +15,7 @@ use vars qw($VERSION @ISA $makeMissing);
|
|
|
15
15
|
use Image::ExifTool qw(:Utils :Vars);
|
|
16
16
|
use Image::ExifTool::XMP;
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.32';
|
|
19
19
|
@ISA = qw(Exporter);
|
|
20
20
|
|
|
21
21
|
# set this to a language code to generate Lang module with 'MISSING' entries
|
|
@@ -58,6 +58,12 @@ my %translateLang = (
|
|
|
58
58
|
my $numbersFirst = 1; # set to -1 to sort numbers last, or 2 to put negative numbers last
|
|
59
59
|
my $caseInsensitive; # used internally by sort routine
|
|
60
60
|
|
|
61
|
+
# write groups that don't represent real family 1 group names
|
|
62
|
+
my %fakeWriteGroup = (
|
|
63
|
+
Comment => 1, # (JPEG Comment)
|
|
64
|
+
colr => 1, # (Jpeg2000 'colr' box)
|
|
65
|
+
);
|
|
66
|
+
|
|
61
67
|
#------------------------------------------------------------------------------
|
|
62
68
|
# Utility to print tag information database as an XML list
|
|
63
69
|
# Inputs: 0) output file name (undef to send to console),
|
|
@@ -178,9 +184,8 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
|
|
|
178
184
|
}
|
|
179
185
|
my @groups = $et->GetGroup($tagInfo);
|
|
180
186
|
my $writeGroup = $$tagInfo{WriteGroup} || $$table{WRITE_GROUP};
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
187
|
+
# use common write group for group 1 (unless fake)
|
|
188
|
+
$groups[1] = $writeGroup if $writeGroup and not $fakeWriteGroup{$writeGroup};
|
|
184
189
|
# add group names if different from table defaults
|
|
185
190
|
my $grp = '';
|
|
186
191
|
for ($fam=0; $fam<3; ++$fam) {
|