exiftool-vendored.exe 13.40.0 → 13.42.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.exe +0 -0
- package/bin/exiftool_files/exiftool.pl +109 -91
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +19 -13
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +11 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +3 -4
- package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +2 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +7 -6
- package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +15 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +4 -3
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +22 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +19 -9
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +127 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +4 -2
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +70 -0
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +127 -5
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +8 -1
- package/bin/exiftool_files/lib/Image/ExifTool.pm +18 -6
- package/bin/exiftool_files/windows_exiftool.txt +24 -14
- package/package.json +4 -4
|
@@ -49,7 +49,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
|
49
49
|
use Image::ExifTool::Exif;
|
|
50
50
|
use Image::ExifTool::GPS;
|
|
51
51
|
|
|
52
|
-
$VERSION = '3.
|
|
52
|
+
$VERSION = '3.23';
|
|
53
53
|
|
|
54
54
|
sub ProcessMOV($$;$);
|
|
55
55
|
sub ProcessKeys($$$);
|
|
@@ -578,11 +578,29 @@ my %userDefined = (
|
|
|
578
578
|
return substr($val, 8, $len-8);
|
|
579
579
|
},
|
|
580
580
|
Binary => 1,
|
|
581
|
+
},{
|
|
582
|
+
Name => 'HighlightMarkers',
|
|
583
|
+
# (DJI Action 4, forum17700)
|
|
584
|
+
Notes => 'written by some DJI models',
|
|
585
|
+
Condition => '$$valPt =~ /^data.{4}hglg.{5}/s',
|
|
586
|
+
RawConv => q{
|
|
587
|
+
my $len = unpack 'x4N', $val;
|
|
588
|
+
return undef if $len < 13 or $len + 4 > length($val);
|
|
589
|
+
my $n = int(($len - 13) / 5);
|
|
590
|
+
my @a = map $_/1000, unpack "x17(xV)$n", $val;
|
|
591
|
+
return \@a;
|
|
592
|
+
},
|
|
581
593
|
},{
|
|
582
594
|
Unknown => 1,
|
|
583
595
|
Binary => 1,
|
|
584
596
|
},
|
|
585
|
-
#
|
|
597
|
+
# DJI videos also have block of offset/size of various atoms, eg)
|
|
598
|
+
# Atom name ???? Offset Size
|
|
599
|
+
# 0000: 63 6f 76 72 00 00 00 00 00 ed 6f da 00 0a 46 e0 [covr......o...F.]
|
|
600
|
+
# 0010: 73 6e 61 6c 00 00 00 00 00 f7 b6 d2 00 0a 46 e0 [snal..........F.]
|
|
601
|
+
# 0020: 68 67 6c 67 00 00 00 00 01 02 0a a2 00 00 00 21 [hglg...........!]
|
|
602
|
+
# 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
|
|
603
|
+
# (also Samsung WB750 uncompressed thumbnail data starting with "SDIC\0")
|
|
586
604
|
],
|
|
587
605
|
# fre1 - 4 bytes: "june" (Kodak PixPro SP360)
|
|
588
606
|
frea => {
|
|
@@ -2815,6 +2833,7 @@ my %userDefined = (
|
|
|
2815
2833
|
'xml ' => {
|
|
2816
2834
|
Name => 'XML',
|
|
2817
2835
|
Flags => [ 'Binary', 'Protected' ],
|
|
2836
|
+
BlockExtract => 1,
|
|
2818
2837
|
SubDirectory => {
|
|
2819
2838
|
TagTable => 'Image::ExifTool::XMP::XML',
|
|
2820
2839
|
IgnoreProp => { NonRealTimeMeta => 1 }, # ignore container for Sony 'nrtm'
|
|
@@ -2865,6 +2884,7 @@ my %userDefined = (
|
|
|
2865
2884
|
},
|
|
2866
2885
|
idat => {
|
|
2867
2886
|
Name => 'MetaImageSize', #PH (NC)
|
|
2887
|
+
Condition => '$$self{FileType} eq "HEIC"',
|
|
2868
2888
|
Format => 'int16u',
|
|
2869
2889
|
# (don't know what the first two numbers are for)
|
|
2870
2890
|
PrintConv => '$val =~ s/^(\d+) (\d+) (\d+) (\d+)/${3}x$4/; $val',
|
|
@@ -14,7 +14,7 @@ use strict;
|
|
|
14
14
|
use vars qw($VERSION);
|
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
16
16
|
|
|
17
|
-
$VERSION = '1.
|
|
17
|
+
$VERSION = '1.02';
|
|
18
18
|
|
|
19
19
|
sub ProcessR3D($$);
|
|
20
20
|
|
|
@@ -45,7 +45,8 @@ my $errTrunc = 'Truncated R3D file';
|
|
|
45
45
|
RED2 => { Name => 'Red2Header', SubDirectory => { TagTable => 'Image::ExifTool::Red::RED2' } },
|
|
46
46
|
|
|
47
47
|
# (upper 4 bits of tag ID are the format code)
|
|
48
|
-
# ---- format
|
|
48
|
+
# ---- format 0 (int8u) ----
|
|
49
|
+
# ---- format 1 (string) ----
|
|
49
50
|
0x1000 => 'StartEdgeCode', #1
|
|
50
51
|
0x1001 => { Name => 'StartTimecode', Groups => { 2 => 'Time' } }, #1
|
|
51
52
|
0x1002 => { #1
|
|
@@ -104,6 +105,7 @@ my $errTrunc = 'Truncated R3D file';
|
|
|
104
105
|
# 0x1041 - seen 'NA'
|
|
105
106
|
0x1042 => 'Revision', # ? (seen "TODO, rev EPIC-1.0" and "MYSTERIUM X, rev EPIC-1.0")
|
|
106
107
|
# 0x1051 - seen 'C', 'L'
|
|
108
|
+
# 0x1052 - seen 'E9'
|
|
107
109
|
0x1056 => 'OriginalFileName',
|
|
108
110
|
0x106e => 'LensMake',
|
|
109
111
|
0x106f => 'LensNumber', # (last 2 hex digits are LensType)
|
|
@@ -120,7 +122,8 @@ my $errTrunc = 'Truncated R3D file';
|
|
|
120
122
|
0x1096 => 'Filter', # optical low-pass filter
|
|
121
123
|
0x10a0 => 'Brain',
|
|
122
124
|
0x10a1 => 'Sensor',
|
|
123
|
-
|
|
125
|
+
0x10be => 'Quality',
|
|
126
|
+
# ---- format 2 (float) ----
|
|
124
127
|
0x200d => 'ColorTemperature',
|
|
125
128
|
# 0x200e - (sometimes this is frame rate)
|
|
126
129
|
# 0x2015 - seen '1 1 1' (RGBGain or RGBGamma?)
|
|
@@ -130,7 +133,8 @@ my $errTrunc = 'Truncated R3D file';
|
|
|
130
133
|
Groups => { 2 => 'Video' },
|
|
131
134
|
PrintConv => 'int($val * 1000 + 0.5) / 1000',
|
|
132
135
|
},
|
|
133
|
-
# ---- format
|
|
136
|
+
# ---- format 3 (int8u?) ----
|
|
137
|
+
# ---- format 4 (int16u) ----
|
|
134
138
|
0x4037 => { Name => 'CropArea' }, # (NC)
|
|
135
139
|
0x403b => 'ISO',
|
|
136
140
|
# 0x404e - related to CropArea (or "0 0 0 0")
|
|
@@ -138,8 +142,12 @@ my $errTrunc = 'Truncated R3D file';
|
|
|
138
142
|
0x406b => 'FocalLength',
|
|
139
143
|
# 0x4084 - related to ISO?
|
|
140
144
|
# 0x4087 - related to ISO?
|
|
141
|
-
# ---- format
|
|
145
|
+
# ---- format 5 (int8s?) ----
|
|
146
|
+
# ---- format 6 (int32s) ----
|
|
142
147
|
0x606c => { Name => 'FocusDistance', ValueConv => '$val/1000', PrintConv => '"$val m"' },
|
|
148
|
+
# ---- format 7 (undef? structure?) ----
|
|
149
|
+
# ---- format 8 (int32u?) ----
|
|
150
|
+
# ---- format 9 (undef?) ----
|
|
143
151
|
);
|
|
144
152
|
|
|
145
153
|
# RED1 file header (ref PH)
|
|
@@ -240,9 +248,11 @@ sub ProcessR3D($$)
|
|
|
240
248
|
$pos = 0x22; # directory starts at offset 0x22
|
|
241
249
|
} else {
|
|
242
250
|
# calculate position of Red directory start
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
$pos
|
|
251
|
+
$pos = 0x44;
|
|
252
|
+
length($buff) < $pos and return $et->Warn($errTrunc);
|
|
253
|
+
$pos += Get8u(\$buff, 0x40) * 0x18; # skip "rdi" records
|
|
254
|
+
$pos += Get8u(\$buff, 0x41) * 0x14; # skip "rda" records
|
|
255
|
+
$pos += Get8u(\$buff, 0x42) * 0x10; # skip "rdx" records
|
|
246
256
|
}
|
|
247
257
|
if ($pos + 8 > length $buff) {
|
|
248
258
|
$dirLen = 0; # find directory the hard way
|
|
@@ -253,7 +263,7 @@ sub ProcessR3D($$)
|
|
|
253
263
|
# do sanity check on the directory size (in case our assumptions were wrong)
|
|
254
264
|
if ($dirLen < 300 or $dirLen >= 2048 or $pos + $dirLen > length $buff) {
|
|
255
265
|
# tag 0x1000 with length 0x000f should be near the directory start
|
|
256
|
-
$buff =~ /\0\x0f\x10\0/g or return $et->Warn("Can't find Red directory");
|
|
266
|
+
$buff =~ /\0\x0f\x10[\0\x06]/g or return $et->Warn("Can't find Red directory. Please submit sample for testing");
|
|
257
267
|
$pos = pos($buff) - 4;
|
|
258
268
|
$dirEnd = length $buff;
|
|
259
269
|
undef $dirLen;
|
|
@@ -21,8 +21,9 @@ use strict;
|
|
|
21
21
|
use vars qw($VERSION %samsungLensTypes);
|
|
22
22
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
23
23
|
use Image::ExifTool::Exif;
|
|
24
|
+
use Image::ExifTool::JSON;
|
|
24
25
|
|
|
25
|
-
$VERSION = '1.
|
|
26
|
+
$VERSION = '1.59';
|
|
26
27
|
|
|
27
28
|
sub WriteSTMN($$$);
|
|
28
29
|
sub ProcessINFO($$$);
|
|
@@ -1277,7 +1278,15 @@ my %formatMinMax = (
|
|
|
1277
1278
|
# 0x0b51-name - seen 'Intelligent_PhotoEditor_Data' #forum16086
|
|
1278
1279
|
# 0x0b60-name - seen 'UltraWide_PhotoEditor_Data' #forum16086
|
|
1279
1280
|
# 0x0b90-name - seen 'Document_Scan_Info' #forum16086
|
|
1280
|
-
# 0x0ba1-name - seen 'Original_Path_Hash_Key', 'PhotoEditor_Re_Edit_Data', 'deco_doodle_bitmap', 'deco_sticker_bitmap', 'deco_text_bitmap'
|
|
1281
|
+
# 0x0ba1-name - seen 'Original_Path_Hash_Key', 'PhotoEditor_Re_Edit_Data', 'deco_doodle_bitmap', 'deco_sticker_bitmap', 'deco_text_bitmap','PhotoEditor_Re_Edit_Data'
|
|
1282
|
+
'0x0ba1' => [{
|
|
1283
|
+
Name => 'ReEditData',
|
|
1284
|
+
Condition => '$$self{SamsungTagName} eq "PhotoEditor_Re_Edit_Data"',
|
|
1285
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Samsung::ReEditData' },
|
|
1286
|
+
},{
|
|
1287
|
+
Name => 'OriginalPathHashKey',
|
|
1288
|
+
Condition => '$$self{SamsungTagName} eq "Original_Path_Hash_Key"',
|
|
1289
|
+
}],
|
|
1281
1290
|
# 0x0ba2-name - seen 'Copy_Available_Edit_Info' #forum16086
|
|
1282
1291
|
# 0x0bc0-name - seen 'Single_Relighting_Bokeh_Info' #forum16086
|
|
1283
1292
|
# 0x0bd0-name - seen 'Dual_Relighting_Bokeh_Info' #forum16086
|
|
@@ -1300,7 +1309,7 @@ my %formatMinMax = (
|
|
|
1300
1309
|
'0x0d91' => { #forum16086/16242
|
|
1301
1310
|
Name => 'PEg_Info',
|
|
1302
1311
|
Description => 'PEg Info',
|
|
1303
|
-
SubDirectory => { TagTable => 'Image::ExifTool::
|
|
1312
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Samsung::PEgInfo' },
|
|
1304
1313
|
},
|
|
1305
1314
|
# 0x0da1-name - seen 'Captured_App_Info' #forum16086
|
|
1306
1315
|
# 0xa050-name - seen 'Jpeg360_2D_Info' (Samsung Gear 360)
|
|
@@ -1380,6 +1389,113 @@ my %formatMinMax = (
|
|
|
1380
1389
|
perfMode => { },
|
|
1381
1390
|
);
|
|
1382
1391
|
|
|
1392
|
+
%Image::ExifTool::Samsung::ReEditData = (
|
|
1393
|
+
GROUPS => { 0 => 'JSON', 2 => 'Image' },
|
|
1394
|
+
PROCESS_PROC => \&Image::ExifTool::JSON::ProcessJSON,
|
|
1395
|
+
VARS => { LONG_TAGS => 2 },
|
|
1396
|
+
originalPath => { },
|
|
1397
|
+
representativeFrameLoc => { },
|
|
1398
|
+
startMotionVideo => { },
|
|
1399
|
+
endMotionVideo => { },
|
|
1400
|
+
isMotionVideoMute => { },
|
|
1401
|
+
isTrimMotionVideo => { },
|
|
1402
|
+
clipInfoValue => { SubDirectory => { TagTable => 'Image::ExifTool::Samsung::ClipInfo' } },
|
|
1403
|
+
toneValue => { SubDirectory => { TagTable => 'Image::ExifTool::Samsung::ToneInfo' } },
|
|
1404
|
+
effectValue => { SubDirectory => { TagTable => 'Image::ExifTool::Samsung::EffectInfo' } },
|
|
1405
|
+
portraitEffectValue => { SubDirectory => { TagTable => 'Image::ExifTool::Samsung::PortraitEffect' } },
|
|
1406
|
+
isBlending => { },
|
|
1407
|
+
isNotReEdit => { },
|
|
1408
|
+
sepVersion => { Name => 'SEPVersion' },
|
|
1409
|
+
ndeVersion => { Name => 'NDEVersion' },
|
|
1410
|
+
reSize => { },
|
|
1411
|
+
isScaleAI => { },
|
|
1412
|
+
rotation => { },
|
|
1413
|
+
adjustmentValue => { },
|
|
1414
|
+
isApplyShapeCorrection => { },
|
|
1415
|
+
isNewReEditOnly => { },
|
|
1416
|
+
isDecoReEditOnly => { },
|
|
1417
|
+
isAIFilterReEditOnly=> { },
|
|
1418
|
+
);
|
|
1419
|
+
|
|
1420
|
+
%Image::ExifTool::Samsung::ClipInfo = (
|
|
1421
|
+
GROUPS => { 0 => 'JSON', 2 => 'Image' },
|
|
1422
|
+
PROCESS_PROC => \&Image::ExifTool::JSON::ProcessJSON,
|
|
1423
|
+
mCenterX => { Name => 'ClipCenterX' },
|
|
1424
|
+
mCenterY => { Name => 'ClipCenterY' },
|
|
1425
|
+
mWidth => { Name => 'ClipWidth' },
|
|
1426
|
+
mHeight => { Name => 'ClipHeight' },
|
|
1427
|
+
mRotation => { Name => 'ClipRotation' },
|
|
1428
|
+
mRotate => { Name => 'ClipRotate' },
|
|
1429
|
+
mHFlip => { Name => 'ClipHFlip' },
|
|
1430
|
+
mVFlip => { Name => 'ClipVFlip' },
|
|
1431
|
+
mRotationEffect => { Name => 'ClipRotationEffect' },
|
|
1432
|
+
mRotateEffect => { Name => 'ClipRotateEffect' },
|
|
1433
|
+
mHFlipEffect => { Name => 'ClipHFlipEffect' },
|
|
1434
|
+
mVFlipEffect => { Name => 'ClipVFlipEffect' },
|
|
1435
|
+
mHozPerspective => { Name => 'ClipHozPerspective' },
|
|
1436
|
+
mVerPerspective => { Name => 'ClipVerPerspective' },
|
|
1437
|
+
);
|
|
1438
|
+
|
|
1439
|
+
%Image::ExifTool::Samsung::ToneInfo = (
|
|
1440
|
+
GROUPS => { 0 => 'JSON', 2 => 'Image' },
|
|
1441
|
+
PROCESS_PROC => \&Image::ExifTool::JSON::ProcessJSON,
|
|
1442
|
+
brightness => { },
|
|
1443
|
+
exposure => { },
|
|
1444
|
+
contrast => { },
|
|
1445
|
+
saturation => { },
|
|
1446
|
+
hue => { },
|
|
1447
|
+
wbMode => { Name => 'WBMode' },
|
|
1448
|
+
wbTemperature => { Name => 'WBTemperature' },
|
|
1449
|
+
tint => { },
|
|
1450
|
+
shadow => { },
|
|
1451
|
+
highlight => { },
|
|
1452
|
+
lightbalance => { },
|
|
1453
|
+
sharpness => { },
|
|
1454
|
+
definition => { },
|
|
1455
|
+
isBrightnessIPE => { },
|
|
1456
|
+
isExposureIPE => { },
|
|
1457
|
+
isContrastIPE => { },
|
|
1458
|
+
isSaturationIPE => { },
|
|
1459
|
+
);
|
|
1460
|
+
|
|
1461
|
+
%Image::ExifTool::Samsung::EffectInfo = (
|
|
1462
|
+
GROUPS => { 0 => 'JSON', 2 => 'Image' },
|
|
1463
|
+
PROCESS_PROC => \&Image::ExifTool::JSON::ProcessJSON,
|
|
1464
|
+
filterIndication=> { },
|
|
1465
|
+
alphaValue => { },
|
|
1466
|
+
filterType => { },
|
|
1467
|
+
);
|
|
1468
|
+
|
|
1469
|
+
%Image::ExifTool::Samsung::PortraitEffect = (
|
|
1470
|
+
GROUPS => { 0 => 'JSON', 2 => 'Image' },
|
|
1471
|
+
PROCESS_PROC => \&Image::ExifTool::JSON::ProcessJSON,
|
|
1472
|
+
VARS => { LONG_TAGS => 1 },
|
|
1473
|
+
effectId => { Name => 'PortraitEffectID' },
|
|
1474
|
+
effectLevel => { Name => 'PortraitEffectLevel' },
|
|
1475
|
+
exifRotation => { Name => 'PortraitExifRotation' },
|
|
1476
|
+
lightLevel => { Name => 'PortraitLightLevel' },
|
|
1477
|
+
touchX => { Name => 'PortraitTouchX' },
|
|
1478
|
+
touchY => { Name => 'PortraitTouchY' },
|
|
1479
|
+
refocusX => { Name => 'PortraitRefocusX' },
|
|
1480
|
+
refocusY => { Name => 'PortraitRefocusY' },
|
|
1481
|
+
effectIdOriginal => { Name => 'PortraitEffectIDOriginal' },
|
|
1482
|
+
effectLevelOriginal => { Name => 'EffectLevelOriginal' },
|
|
1483
|
+
lightLevelOriginal => { Name => 'LightLevelOriginal' },
|
|
1484
|
+
touchXOriginal => { },
|
|
1485
|
+
touchYOriginal => { },
|
|
1486
|
+
refocusXOriginal=> { },
|
|
1487
|
+
refocusYOriginal=> { },
|
|
1488
|
+
waterMarkRemoved=> { Name => 'WaterMarkRemoved' },
|
|
1489
|
+
waterMarkRemovedOriginal => { Name => 'WaterMarkRemovedOriginal' },
|
|
1490
|
+
);
|
|
1491
|
+
|
|
1492
|
+
%Image::ExifTool::Samsung::PEgInfo = (
|
|
1493
|
+
GROUPS => { 0 => 'JSON', 2 => 'Image' },
|
|
1494
|
+
PROCESS_PROC => \&Image::ExifTool::JSON::ProcessJSON,
|
|
1495
|
+
genImageVersion => { },
|
|
1496
|
+
connectorType => { },
|
|
1497
|
+
);
|
|
1498
|
+
|
|
1383
1499
|
# Samsung composite tags
|
|
1384
1500
|
%Image::ExifTool::Samsung::Composite = (
|
|
1385
1501
|
GROUPS => { 2 => 'Image' },
|
|
@@ -1625,7 +1741,14 @@ SamBlock:
|
|
|
1625
1741
|
}
|
|
1626
1742
|
next;
|
|
1627
1743
|
}
|
|
1628
|
-
|
|
1744
|
+
# validate SEFH header
|
|
1745
|
+
unless ($buff =~ /^SEFH/ and $len >= 12) {
|
|
1746
|
+
# tolerate extra junk written by Samsung Gallery
|
|
1747
|
+
last unless $buff =~ /\0\0SEFT/g;
|
|
1748
|
+
$et->Warn('Trailer likely corrupted by Samsung Gallery');
|
|
1749
|
+
$blockEnd += pos($buff);
|
|
1750
|
+
next;
|
|
1751
|
+
}
|
|
1629
1752
|
my $dirPos = $raf->Tell() - $len;
|
|
1630
1753
|
# my $ver = Get32u(\$buff, 0x04); # version (=101)
|
|
1631
1754
|
my $count = Get32u(\$buff, 0x08);
|
|
@@ -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.80';
|
|
38
38
|
|
|
39
39
|
sub ProcessSRF($$$);
|
|
40
40
|
sub ProcessSR2($$$);
|
|
@@ -10656,7 +10656,7 @@ my %isoSetting2010 = (
|
|
|
10656
10656
|
0x8101 => { Name => 'Sony_rtmd_0x8101', Format => 'int8u', %hidUnk }, # seen: 0,1,2
|
|
10657
10657
|
0x8104 => { Name => 'Sony_rtmd_0x8104', Format => 'int16u', %hidUnk }, # seen: 35616
|
|
10658
10658
|
0x8105 => { Name => 'Sony_rtmd_0x8105', Format => 'int16u', %hidUnk }, # seen: 20092
|
|
10659
|
-
0x8106 => { Name => '
|
|
10659
|
+
0x8106 => { Name => 'FrameRate', Format => 'rational64u', PrintConv => 'sprintf("%.2f",$val)' },
|
|
10660
10660
|
0x8109 => { #forum12218
|
|
10661
10661
|
Name => 'ExposureTime',
|
|
10662
10662
|
Format => 'rational64u',
|
|
@@ -10674,7 +10674,9 @@ my %isoSetting2010 = (
|
|
|
10674
10674
|
Format => 'int16u',
|
|
10675
10675
|
},
|
|
10676
10676
|
0x810d => { Name => 'Sony_rtmd_0x810d', Format => 'int8u', %hidUnk }, # seen: 0,1
|
|
10677
|
+
0x8114 => { Name => 'SerialNumber', Format => 'string' }, # (and model, eg. "ILCE-7SM3 5072108")
|
|
10677
10678
|
0x8115 => { Name => 'Sony_rtmd_0x8115', Format => 'int16u', %hidUnk }, # seen: 100 - ISO
|
|
10679
|
+
# 0x8119 - seen "P" (same as 0x811e?)
|
|
10678
10680
|
# 0x8300 - container for other tags in this format
|
|
10679
10681
|
0x8500 => {
|
|
10680
10682
|
Name => 'GPSVersionID',
|
|
@@ -7840,6 +7840,7 @@ my %tagExists = (
|
|
|
7840
7840
|
'adjustedtbnimagewidth' => 1,
|
|
7841
7841
|
'adjustmentdata' => 1,
|
|
7842
7842
|
'adjustmentssettingsstatisticslightmap' => 1,
|
|
7843
|
+
'adjustmentvalue' => 1,
|
|
7843
7844
|
'adobe_cm' => 1,
|
|
7844
7845
|
'adobecmtype' => 1,
|
|
7845
7846
|
'adobecrw' => 1,
|
|
@@ -7948,6 +7949,7 @@ my %tagExists = (
|
|
|
7948
7949
|
'alphaoffset' => 1,
|
|
7949
7950
|
'alphapreprocessing' => 1,
|
|
7950
7951
|
'alphasample' => 1,
|
|
7952
|
+
'alphavalue' => 1,
|
|
7951
7953
|
'alternatealtitude' => 1,
|
|
7952
7954
|
'alternateduotonecolors' => 1,
|
|
7953
7955
|
'alternateellipsoidheight' => 1,
|
|
@@ -8719,11 +8721,26 @@ my %tagExists = (
|
|
|
8719
8721
|
'cleanfaxdata' => 1,
|
|
8720
8722
|
'clientid' => 1,
|
|
8721
8723
|
'clipboundary' => 1,
|
|
8724
|
+
'clipcenterx' => 1,
|
|
8725
|
+
'clipcentery' => 1,
|
|
8726
|
+
'clipheight' => 1,
|
|
8727
|
+
'cliphflip' => 1,
|
|
8728
|
+
'cliphflipeffect' => 1,
|
|
8729
|
+
'cliphozperspective' => 1,
|
|
8730
|
+
'clipinfovalue' => 1,
|
|
8722
8731
|
'clipobjects' => 1,
|
|
8723
8732
|
'clippath' => 1,
|
|
8724
8733
|
'clippingboundary' => 1,
|
|
8725
8734
|
'clippinglimit' => 1,
|
|
8726
8735
|
'clippingpathname' => 1,
|
|
8736
|
+
'cliprotate' => 1,
|
|
8737
|
+
'cliprotateeffect' => 1,
|
|
8738
|
+
'cliprotation' => 1,
|
|
8739
|
+
'cliprotationeffect' => 1,
|
|
8740
|
+
'clipverperspective' => 1,
|
|
8741
|
+
'clipvflip' => 1,
|
|
8742
|
+
'clipvflipeffect' => 1,
|
|
8743
|
+
'clipwidth' => 1,
|
|
8727
8744
|
'cloneid' => 1,
|
|
8728
8745
|
'cloneobject' => 1,
|
|
8729
8746
|
'clonetype' => 1,
|
|
@@ -8895,6 +8912,7 @@ my %tagExists = (
|
|
|
8895
8912
|
'confidencemapimage' => 1,
|
|
8896
8913
|
'confirmedobjectsize' => 1,
|
|
8897
8914
|
'connectionspaceilluminant' => 1,
|
|
8915
|
+
'connectortype' => 1,
|
|
8898
8916
|
'consecutivebadfaxlines' => 1,
|
|
8899
8917
|
'consoledata' => 1,
|
|
8900
8918
|
'consolefedata' => 1,
|
|
@@ -9183,6 +9201,7 @@ my %tagExists = (
|
|
|
9183
9201
|
'defectlistpacked' => 1,
|
|
9184
9202
|
'defineobject' => 1,
|
|
9185
9203
|
'definequantizationtable' => 1,
|
|
9204
|
+
'definition' => 1,
|
|
9186
9205
|
'delay' => 1,
|
|
9187
9206
|
'delaycols' => 1,
|
|
9188
9207
|
'delaytime' => 1,
|
|
@@ -9420,9 +9439,11 @@ my %tagExists = (
|
|
|
9420
9439
|
'ef' => 1,
|
|
9421
9440
|
'effect' => 1,
|
|
9422
9441
|
'effectivebw' => 1,
|
|
9442
|
+
'effectleveloriginal' => 1,
|
|
9423
9443
|
'effectstrength' => 1,
|
|
9424
9444
|
'effectsvisible' => 1,
|
|
9425
9445
|
'effecttype' => 1,
|
|
9446
|
+
'effectvalue' => 1,
|
|
9426
9447
|
'eighteenpercentpoint' => 1,
|
|
9427
9448
|
'eighthlanguage' => 1,
|
|
9428
9449
|
'electricalextendermagnification' => 1,
|
|
@@ -9469,12 +9490,15 @@ my %tagExists = (
|
|
|
9469
9490
|
'encryption' => 1,
|
|
9470
9491
|
'enddate' => 1,
|
|
9471
9492
|
'endianness' => 1,
|
|
9493
|
+
'endmotionvideo' => 1,
|
|
9472
9494
|
'endpoints' => 1,
|
|
9473
9495
|
'endtime' => 1,
|
|
9474
9496
|
'endtimecode' => 1,
|
|
9475
9497
|
'entrypoint' => 1,
|
|
9476
9498
|
'entrytype' => 1,
|
|
9477
9499
|
'environmentmap' => 1,
|
|
9500
|
+
'environmenttarget' => 1,
|
|
9501
|
+
'environmenttargetunicode' => 1,
|
|
9478
9502
|
'envvardata' => 1,
|
|
9479
9503
|
'eppim' => 1,
|
|
9480
9504
|
'eprint' => 1,
|
|
@@ -9700,6 +9724,7 @@ my %tagExists = (
|
|
|
9700
9724
|
'filmrollnumber' => 1,
|
|
9701
9725
|
'filmsize' => 1,
|
|
9702
9726
|
'filter' => 1,
|
|
9727
|
+
'filterindication' => 1,
|
|
9703
9728
|
'filterinfo' => 1,
|
|
9704
9729
|
'filtering' => 1,
|
|
9705
9730
|
'filtermodel' => 1,
|
|
@@ -9708,6 +9733,7 @@ my %tagExists = (
|
|
|
9708
9733
|
'filterparametersexportexportdata' => 1,
|
|
9709
9734
|
'filterpartnumber' => 1,
|
|
9710
9735
|
'filterserialnumber' => 1,
|
|
9736
|
+
'filtertype' => 1,
|
|
9711
9737
|
'finalflushsequence' => 1,
|
|
9712
9738
|
'finalframeblocks' => 1,
|
|
9713
9739
|
'finetune' => 1,
|
|
@@ -9918,6 +9944,7 @@ my %tagExists = (
|
|
|
9918
9944
|
'genericflagdata01' => 1,
|
|
9919
9945
|
'genflags' => 1,
|
|
9920
9946
|
'gengraphicsmode' => 1,
|
|
9947
|
+
'genimageversion' => 1,
|
|
9921
9948
|
'genmediaheader' => 1,
|
|
9922
9949
|
'genmediainfo' => 1,
|
|
9923
9950
|
'genmediaversion' => 1,
|
|
@@ -10143,6 +10170,7 @@ my %tagExists = (
|
|
|
10143
10170
|
'highisomode' => 1,
|
|
10144
10171
|
'highlightdata' => 1,
|
|
10145
10172
|
'highlightendpoints' => 1,
|
|
10173
|
+
'highlightmarkers' => 1,
|
|
10146
10174
|
'highnote' => 1,
|
|
10147
10175
|
'highvelocity' => 1,
|
|
10148
10176
|
'hindsightsettings' => 1,
|
|
@@ -10425,15 +10453,25 @@ my %tagExists = (
|
|
|
10425
10453
|
'irwindowtransmission' => 1,
|
|
10426
10454
|
'is_protected' => 1,
|
|
10427
10455
|
'is_trusted' => 1,
|
|
10456
|
+
'isaifilterreeditonly' => 1,
|
|
10457
|
+
'isapplyshapecorrection' => 1,
|
|
10428
10458
|
'isartbokeh' => 1,
|
|
10429
10459
|
'isattachment' => 1,
|
|
10430
10460
|
'isbasefont' => 1,
|
|
10461
|
+
'isblending' => 1,
|
|
10462
|
+
'isbrightnessipe' => 1,
|
|
10431
10463
|
'iscompleted' => 1,
|
|
10464
|
+
'iscontrastipe' => 1,
|
|
10465
|
+
'isdecoreeditonly' => 1,
|
|
10432
10466
|
'isdeleted' => 1,
|
|
10467
|
+
'isexposureipe' => 1,
|
|
10433
10468
|
'isfixedpitch' => 1,
|
|
10434
10469
|
'isfixedv' => 1,
|
|
10435
10470
|
'isinfoa100' => 1,
|
|
10471
|
+
'ismotionvideomute' => 1,
|
|
10436
10472
|
'isnetworkfeed' => 1,
|
|
10473
|
+
'isnewreeditonly' => 1,
|
|
10474
|
+
'isnotreedit' => 1,
|
|
10437
10475
|
'isoautooffset' => 1,
|
|
10438
10476
|
'isocalibrationgaintable' => 1,
|
|
10439
10477
|
'isoinfo' => 1,
|
|
@@ -10446,6 +10484,9 @@ my %tagExists = (
|
|
|
10446
10484
|
'isprotected' => 1,
|
|
10447
10485
|
'isrcnumber' => 1,
|
|
10448
10486
|
'isrecurring' => 1,
|
|
10487
|
+
'issaturationipe' => 1,
|
|
10488
|
+
'isscaleai' => 1,
|
|
10489
|
+
'istrimmotionvideo' => 1,
|
|
10449
10490
|
'isvbr' => 1,
|
|
10450
10491
|
'it8header' => 1,
|
|
10451
10492
|
'italic' => 1,
|
|
@@ -10713,7 +10754,9 @@ my %tagExists = (
|
|
|
10713
10754
|
'licenseedir' => 1,
|
|
10714
10755
|
'licenseinfourl' => 1,
|
|
10715
10756
|
'licenseurl' => 1,
|
|
10757
|
+
'lightbalance' => 1,
|
|
10716
10758
|
'lightingopt' => 1,
|
|
10759
|
+
'lightleveloriginal' => 1,
|
|
10717
10760
|
'lightness' => 1,
|
|
10718
10761
|
'lightroomworkflow' => 1,
|
|
10719
10762
|
'lights' => 1,
|
|
@@ -10827,6 +10870,7 @@ my %tagExists = (
|
|
|
10827
10870
|
'maininfoifd' => 1,
|
|
10828
10871
|
'makeandmodel' => 1,
|
|
10829
10872
|
'makemodel' => 1,
|
|
10873
|
+
'makernotebyteorder' => 1,
|
|
10830
10874
|
'makernotepentax5a' => 1,
|
|
10831
10875
|
'makernotepentax5b' => 1,
|
|
10832
10876
|
'makernotepentax5c' => 1,
|
|
@@ -11267,6 +11311,7 @@ my %tagExists = (
|
|
|
11267
11311
|
'nativeyresolution' => 1,
|
|
11268
11312
|
'nbcd' => 1,
|
|
11269
11313
|
'ncc' => 1,
|
|
11314
|
+
'ndeversion' => 1,
|
|
11270
11315
|
'nemoblurkernel' => 1,
|
|
11271
11316
|
'nemodarklimit' => 1,
|
|
11272
11317
|
'nemogainfactors' => 1,
|
|
@@ -11504,6 +11549,8 @@ my %tagExists = (
|
|
|
11504
11549
|
'originalmedia' => 1,
|
|
11505
11550
|
'originalmediatype' => 1,
|
|
11506
11551
|
'originalmedium' => 1,
|
|
11552
|
+
'originalpath' => 1,
|
|
11553
|
+
'originalpathhashkey' => 1,
|
|
11507
11554
|
'originalpayloadframecount' => 1,
|
|
11508
11555
|
'originalrawcreator' => 1,
|
|
11509
11556
|
'originalrawfiletype' => 1,
|
|
@@ -11755,9 +11802,19 @@ my %tagExists = (
|
|
|
11755
11802
|
'popularimeter' => 1,
|
|
11756
11803
|
'popupfillattributes' => 1,
|
|
11757
11804
|
'popupflash' => 1,
|
|
11805
|
+
'portraiteffectid' => 1,
|
|
11806
|
+
'portraiteffectidoriginal' => 1,
|
|
11807
|
+
'portraiteffectlevel' => 1,
|
|
11808
|
+
'portraiteffectvalue' => 1,
|
|
11809
|
+
'portraitexifrotation' => 1,
|
|
11810
|
+
'portraitlightlevel' => 1,
|
|
11758
11811
|
'portraitmatrix' => 1,
|
|
11759
11812
|
'portraitoffset' => 1,
|
|
11813
|
+
'portraitrefocusx' => 1,
|
|
11814
|
+
'portraitrefocusy' => 1,
|
|
11760
11815
|
'portraittonescaletable' => 1,
|
|
11816
|
+
'portraittouchx' => 1,
|
|
11817
|
+
'portraittouchy' => 1,
|
|
11761
11818
|
'poseyawdegrees' => 1,
|
|
11762
11819
|
'position' => 1,
|
|
11763
11820
|
'postertime' => 1,
|
|
@@ -12092,6 +12149,7 @@ my %tagExists = (
|
|
|
12092
12149
|
'redtrc' => 1,
|
|
12093
12150
|
'redx' => 1,
|
|
12094
12151
|
'redy' => 1,
|
|
12152
|
+
'reeditdata' => 1,
|
|
12095
12153
|
'reelnumber' => 1,
|
|
12096
12154
|
'reeltimecode' => 1,
|
|
12097
12155
|
'reference' => 1,
|
|
@@ -12102,6 +12160,8 @@ my %tagExists = (
|
|
|
12102
12160
|
'reflection' => 1,
|
|
12103
12161
|
'reflectionhardcopyorigcolorimetry' => 1,
|
|
12104
12162
|
'reflectionprintoutputcolorimetry' => 1,
|
|
12163
|
+
'refocusxoriginal' => 1,
|
|
12164
|
+
'refocusyoriginal' => 1,
|
|
12105
12165
|
'refresh' => 1,
|
|
12106
12166
|
'regionxformtackpoint' => 1,
|
|
12107
12167
|
'registerreadtiming' => 1,
|
|
@@ -12144,6 +12204,7 @@ my %tagExists = (
|
|
|
12144
12204
|
'replyto' => 1,
|
|
12145
12205
|
'representativedisparityfar' => 1,
|
|
12146
12206
|
'representativedisparitynear' => 1,
|
|
12207
|
+
'representativeframeloc' => 1,
|
|
12147
12208
|
'representativeimage' => 1,
|
|
12148
12209
|
'requestid' => 1,
|
|
12149
12210
|
'requeststate' => 1,
|
|
@@ -12160,6 +12221,7 @@ my %tagExists = (
|
|
|
12160
12221
|
'reservedblob7' => 1,
|
|
12161
12222
|
'reservedblob8' => 1,
|
|
12162
12223
|
'reservedblob9' => 1,
|
|
12224
|
+
'resize' => 1,
|
|
12163
12225
|
'resolutioninfo' => 1,
|
|
12164
12226
|
'resolutionxlengthunit' => 1,
|
|
12165
12227
|
'resolutionxunit' => 1,
|
|
@@ -12436,6 +12498,7 @@ my %tagExists = (
|
|
|
12436
12498
|
'sensorrightborder' => 1,
|
|
12437
12499
|
'sensorvelocityeast' => 1,
|
|
12438
12500
|
'sensorvelocitynorth' => 1,
|
|
12501
|
+
'sepversion' => 1,
|
|
12439
12502
|
'seqcount' => 1,
|
|
12440
12503
|
'seqfinal' => 1,
|
|
12441
12504
|
'seqframeinfo' => 1,
|
|
@@ -12664,6 +12727,7 @@ my %tagExists = (
|
|
|
12664
12727
|
'starring' => 1,
|
|
12665
12728
|
'startdate' => 1,
|
|
12666
12729
|
'startedgecode' => 1,
|
|
12730
|
+
'startmotionvideo' => 1,
|
|
12667
12731
|
'startofframe' => 1,
|
|
12668
12732
|
'startreading' => 1,
|
|
12669
12733
|
'starttime' => 1,
|
|
@@ -13044,6 +13108,7 @@ my %tagExists = (
|
|
|
13044
13108
|
'tonescale9' => 1,
|
|
13045
13109
|
'tonescale9spline' => 1,
|
|
13046
13110
|
'tonespaceflow' => 1,
|
|
13111
|
+
'tonevalue' => 1,
|
|
13047
13112
|
'tonscaletable' => 1,
|
|
13048
13113
|
'tool_name' => 1,
|
|
13049
13114
|
'tool_version' => 1,
|
|
@@ -13066,6 +13131,8 @@ my %tagExists = (
|
|
|
13066
13131
|
'totalparts' => 1,
|
|
13067
13132
|
'totalsamples' => 1,
|
|
13068
13133
|
'totalsize' => 1,
|
|
13134
|
+
'touchxoriginal' => 1,
|
|
13135
|
+
'touchyoriginal' => 1,
|
|
13069
13136
|
'toycamerafilter' => 1,
|
|
13070
13137
|
'trackaperture' => 1,
|
|
13071
13138
|
'trackcategory' => 1,
|
|
@@ -13375,6 +13442,8 @@ my %tagExists = (
|
|
|
13375
13442
|
'watched' => 1,
|
|
13376
13443
|
'watercolorfilter' => 1,
|
|
13377
13444
|
'watermark' => 1,
|
|
13445
|
+
'watermarkremoved' => 1,
|
|
13446
|
+
'watermarkremovedoriginal' => 1,
|
|
13378
13447
|
'watermarktype' => 1,
|
|
13379
13448
|
'watermarkurl' => 1,
|
|
13380
13449
|
'wave' => 1,
|
|
@@ -13428,6 +13497,7 @@ my %tagExists = (
|
|
|
13428
13497
|
'wbredtungsten' => 1,
|
|
13429
13498
|
'wbsettings' => 1,
|
|
13430
13499
|
'wbsettings2' => 1,
|
|
13500
|
+
'wbtemperature' => 1,
|
|
13431
13501
|
'wcsprofiles' => 1,
|
|
13432
13502
|
'weaponfired' => 1,
|
|
13433
13503
|
'weaponload' => 1,
|