Browse Source

Update to 10.47

pull/17/head 10.47
exiftool 5 years ago
parent
commit
8f6d4d035b
  1. 12
      Changes
  2. 5
      MANIFEST
  3. 76
      README
  4. 7
      config_files/photoshop_paths.config
  5. 72
      config_files/time_zone.config
  6. 107
      exiftool
  7. 13
      html/TagNames/Canon.html
  8. 241
      html/TagNames/EXIF.html
  9. 25
      html/TagNames/JSON.html
  10. 30
      html/TagNames/MPEG.html
  11. 7
      html/TagNames/Minolta.html
  12. 39
      html/TagNames/Pentax.html
  13. 8
      html/TagNames/Sony.html
  14. 3
      html/TagNames/index.html
  15. 80
      html/exiftool_pod.html
  16. 13
      html/history.html
  17. 18
      html/index.html
  18. 22
      html/install.html
  19. 15
      lib/Image/ExifTool.pm
  20. 72
      lib/Image/ExifTool.pod
  21. 15
      lib/Image/ExifTool/BuildTagLookup.pm
  22. 21
      lib/Image/ExifTool/Canon.pm
  23. 18
      lib/Image/ExifTool/Exif.pm
  24. 1
      lib/Image/ExifTool/FujiFilm.pm
  25. 45
      lib/Image/ExifTool/Import.pm
  26. 142
      lib/Image/ExifTool/JSON.pm
  27. 7
      lib/Image/ExifTool/Minolta.pm
  28. 17
      lib/Image/ExifTool/Pentax.pm
  29. 56
      lib/Image/ExifTool/Photoshop.pm
  30. 3
      lib/Image/ExifTool/Sony.pm
  31. 1
      lib/Image/ExifTool/TagLookup.pm
  32. 10
      lib/Image/ExifTool/TagNames.pod
  33. 6
      lib/Image/ExifTool/Validate.pm
  34. 29
      lib/Image/ExifTool/Writer.pl
  35. 74
      perl-Image-ExifTool.spec
  36. 1
      pp_build_exe.args
  37. 9
      t/CanonRaw_6.out
  38. 2
      t/ExifTool_31.out
  39. 30
      t/JSON.t
  40. 19
      t/JSON_2.out
  41. 19
      t/images/JSON.json
  42. 104
      windows_exiftool

12
Changes

@ -7,6 +7,18 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
Note: The most recent production release is Version 10.40. (Other versions are
considered development releases, and are not uploaded to CPAN.)
Mar. 20, 2017 - Version 10.47
- Added read support for JSON-format files
- Added two new Sony/Minolta lenses (thanks Jos Roost)
- Added a number of new Pentax tag values
- Decode a new Canon CR2 tag (thanks Ed Hannon)
- Decode WB information for Canon 800D (thanks LibRaw)
- Improved config_files/photoshop_paths.config to indicate start of paths
- Attempt to validate new file names in Windows before renaming images
- Experimental Validate feature no longer warns about Windows XP tags
- Fixed problem extracting layer information from very large PSD/PSB files
Mar. 8, 2017 - Version 10.46
- Moved Mac System tags from the Extra table into a new MacOS group and added

5
MANIFEST

@ -79,6 +79,7 @@ html/TagNames/ISO.html
html/TagNames/ITC.html
html/TagNames/JFIF.html
html/TagNames/JPEG.html
html/TagNames/JSON.html
html/TagNames/JVC.html
html/TagNames/Jpeg2000.html
html/TagNames/Kodak.html
@ -270,6 +271,7 @@ lib/Image/ExifTool/Import.pm
lib/Image/ExifTool/InDesign.pm
lib/Image/ExifTool/JPEG.pm
lib/Image/ExifTool/JPEGDigest.pm
lib/Image/ExifTool/JSON.pm
lib/Image/ExifTool/JVC.pm
lib/Image/ExifTool/Jpeg2000.pm
lib/Image/ExifTool/Kodak.pm
@ -556,6 +558,8 @@ t/InDesign.t
t/InDesign_2.out
t/InDesign_3.out
t/InDesign_4.out
t/JSON.t
t/JSON_2.out
t/JVC.t
t/JVC_2.out
t/JVC_3.out
@ -914,6 +918,7 @@ t/images/IPTC.jpg
t/images/ISO.iso
t/images/ITC.itc
t/images/InDesign.indd
t/images/JSON.json
t/images/JVC.jpg
t/images/JVC2.jpg
t/images/Jpeg2000.j2c

76
README

@ -14,42 +14,42 @@ supported by ExifTool (r = read, w = write, c = create):
File Types
------------+-------------+-------------+-------------+------------
3FR r | DV r | K25 r | OFR r | RSRC r
3G2 r/w | DVB r/w | KDC r | OGG r | RTF r
3GP r/w | DYLIB r | KEY r | OGV r | RW2 r/w
A r | EIP r | LA r | OPUS r | RWL r/w
AA r | EPS r/w | LFP r | ORF r/w | RWZ r
AAX r/w | EPUB r | LNK r | OTF r | RM r
ACR r | ERF r/w | M2TS r | PAC r | SEQ r
AFM r | EXE r | M4A/V r/w | PAGES r | SO r
AI r/w | EXIF r/w/c | MAX r | PBM r/w | SR2 r/w
AIFF r | EXR r | MEF r/w | PCD r | SRF r
APE r | EXV r/w/c | MIE r/w/c | PDB r | SRW r/w
ARW r/w | F4A/V r/w | MIFF r | PDF r/w | SVG r
ASF r | FFF r/w | MKA r | PEF r/w | SWF r
AVI r | FLA r | MKS r | PFA r | THM r/w
AZW r | FLAC r | MKV r | PFB r | TIFF r/w
BMP r | FLIF r/w | MNG r/w | PFM r | TORRENT r
BPG r | FLV r | MOBI r | PGF r | TTC r
BTF r | FPF r | MODD r | PGM r/w | TTF r
CHM r | FPX r | MOI r | PLIST r | VCF r
COS r | GIF r/w | MOS r/w | PICT r | VRD r/w/c
CR2 r/w | GZ r | MOV r/w | PMP r | VSD r
CRW r/w | HDP r/w | MP3 r | PNG r/w | WAV r
CS1 r/w | HDR r | MP4 r/w | PPM r/w | WDP r/w
DCM r | HTML r | MPC r | PPT r | WEBP r
DCP r/w | ICC r/w/c | MPG r | PPTX r | WEBM r
DCR r | ICS r | MPO r/w | PS r/w | WMA r
DFONT r | IDML r | MQV r/w | PSB r/w | WMV r
DIVX r | IIQ r/w | MRW r/w | PSD r/w | WV r
DJVU r | IND r/w | MXF r | PSP r | X3F r/w
DLL r | INX r | NEF r/w | QTIF r/w | XCF r
DNG r/w | ISO r | NRW r/w | RA r | XLS r
DOC r | ITC r | NUMBERS r | RAF r/w | XLSX r
DOCX r | J2C r | O r | RAM r | XMP r/w/c
DPX r | JNG r/w | ODP r | RAR r | ZIP r
DR4 r/w/c | JP2 r/w | ODS r | RAW r/w |
DSS r | JPEG r/w | ODT r | RIFF r |
3FR r | DV r | JSON r | ODT r | RIFF r
3G2 r/w | DVB r/w | K25 r | OFR r | RSRC r
3GP r/w | DYLIB r | KDC r | OGG r | RTF r
A r | EIP r | KEY r | OGV r | RW2 r/w
AA r | EPS r/w | LA r | OPUS r | RWL r/w
AAX r/w | EPUB r | LFP r | ORF r/w | RWZ r
ACR r | ERF r/w | LNK r | OTF r | RM r
AFM r | EXE r | M2TS r | PAC r | SEQ r
AI r/w | EXIF r/w/c | M4A/V r/w | PAGES r | SO r
AIFF r | EXR r | MAX r | PBM r/w | SR2 r/w
APE r | EXV r/w/c | MEF r/w | PCD r | SRF r
ARW r/w | F4A/V r/w | MIE r/w/c | PDB r | SRW r/w
ASF r | FFF r/w | MIFF r | PDF r/w | SVG r
AVI r | FLA r | MKA r | PEF r/w | SWF r
AZW r | FLAC r | MKS r | PFA r | THM r/w
BMP r | FLIF r/w | MKV r | PFB r | TIFF r/w
BPG r | FLV r | MNG r/w | PFM r | TORRENT r
BTF r | FPF r | MOBI r | PGF r | TTC r
CHM r | FPX r | MODD r | PGM r/w | TTF r
COS r | GIF r/w | MOI r | PLIST r | VCF r
CR2 r/w | GZ r | MOS r/w | PICT r | VRD r/w/c
CRW r/w | HDP r/w | MOV r/w | PMP r | VSD r
CS1 r/w | HDR r | MP3 r | PNG r/w | WAV r
DCM r | HTML r | MP4 r/w | PPM r/w | WDP r/w
DCP r/w | ICC r/w/c | MPC r | PPT r | WEBP r
DCR r | ICS r | MPG r | PPTX r | WEBM r
DFONT r | IDML r | MPO r/w | PS r/w | WMA r
DIVX r | IIQ r/w | MQV r/w | PSB r/w | WMV r
DJVU r | IND r/w | MRW r/w | PSD r/w | WV r
DLL r | INX r | MXF r | PSP r | X3F r/w
DNG r/w | ISO r | NEF r/w | QTIF r/w | XCF r
DOC r | ITC r | NRW r/w | RA r | XLS r
DOCX r | J2C r | NUMBERS r | RAF r/w | XLSX r
DPX r | JNG r/w | O r | RAM r | XMP r/w/c
DR4 r/w/c | JP2 r/w | ODP r | RAR r | ZIP r
DSS r | JPEG r/w | ODS r | RAW r/w |
Meta Information
----------------------+----------------------+---------------------
@ -101,8 +101,8 @@ your home directory, then you would type the following commands in a
terminal window to extract and run ExifTool:
cd ~/Desktop
gzip -dc Image-ExifTool-10.46.tar.gz | tar -xf -
cd Image-ExifTool-10.46
gzip -dc Image-ExifTool-10.47.tar.gz | tar -xf -
cd Image-ExifTool-10.47
./exiftool t/images/ExifTool.jpg
Note: These commands extract meta information from one of the test images.

7
config_files/photoshop_paths.config

@ -55,11 +55,16 @@
#
# Requires: ExifTool version 9.95 or later
#
# Notes: A "-" before a set of Bezier path points indicates a closed subpath,
# and a "+ indicates the start of an open subpath.
#
# Revisions: 2015/05/07 - P. Harvey Created
# 2016/09/14 - PH Added feature to allow extracting anchor points
# 2017/01/24 - PH Added PathCount and PathPix Composite tags
# 2017/02/02 - PH Added support for copying OriginPathInfo
# 2017/02/22 - PH Fixed problem printing some paths
# 2017/03/19 - PH Added "-" or "+" at the start of closed or open
# subpath respectively
#
# References: http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,1621.0.html
# http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,3910.0.html
@ -91,6 +96,8 @@ sub PrintPath($$;$$)
SetByteOrder('MM');
for ($pos=0; $pos<=$len; $pos+=26) {
my $type = Get16u($val, $pos);
$type == 0 and push(@rtn, '-'), next;
$type == 3 and push(@rtn, '+'), next;
# Bezier knot records are types 1, 2, 4 and 5
next unless {1=>1,2=>1,4=>1,5=>1}->{$type};
# the anchor point is at offset 10 in the Bezier knot record

72
config_files/time_zone.config

@ -21,51 +21,71 @@
# MakerNotes
# 2017/01/05 - H. Baan Handle case were GPSDateStamp is missing
# 2017/01/06 - H. Baan Use QuickTime:CreationDate if available
# 2017/03/12 - H. Baan Added QuickTime:TimeZone, reordered
# Desired tags according to precedence, added
# comments
#------------------------------------------------------------------------------
%Image::ExifTool::UserDefined = (
'Image::ExifTool::Composite' => {
# Calculate the TimeZone of the picture taken
TimeZone => {
Desire => {
0 => 'DateTimeOriginal',
1 => 'CreateDate',
2 => 'ModifyDate',
3 => 'GPSDateStamp',
4 => 'GPSTimeStamp',
5 => 'OffsetTimeOriginal', # (DateTimeOriginal)
6 => 'OffsetTimeDigitized', # (CreateDate)
7 => 'OffsetTime', # (ModifyDate)
8 => 'TimeZoneOffset', # (ModifyDate)
9 => 'MakerNotes:TimeZone',
10 => 'MakerNotes:DaylightSavings',
11 => 'QuickTime:CreationDate',
12 => 'TimeCreated',
# TimeZone information tags ordered by precedence
0 => 'MakerNotes:TimeZone',
1 => 'MakerNotes:DaylightSavings',
2 => 'QuickTime:TimeZone',
3 => 'OffsetTimeOriginal',
4 => 'OffsetTimeDigitized',
5 => 'OffsetTime',
6 => 'TimeZoneOffset',
7 => 'GPSDateStamp',
8 => 'GPSTimeStamp',
9 => 'DateTimeOriginal',
10 => 'DateTimeDigitized',
11 => 'CreateDate',
12 => 'ModifyDate',
13 => 'QuickTime:CreationDate',
14 => 'TimeCreated',
},
RawConv => q{
return TimeZoneString($val[9] + ($val[10] ? 60 : 0)) if defined $val[9];
return $val[5] if $val[5];
return $val[6] if $val[6];
return $val[7] if $val[7];
if (defined $val[8]) {
my $tzh = $val[8];
# TimeZone from MakeNotes (camera setting)
return TimeZoneString($val[0] + ($val[1] ? 60 : 0)) if defined $val[0];
# TimeZone from QuickTime (camera setting)
return TimeZoneString($val[2]) if $val[2];
# TimeZone from offset fields
return $val[3] if $val[3]; # DateTimeOriginal
return $val[4] if $val[4]; # DateTimeDigitized
return $val[5] if $val[5]; # (ModifyDate)
if (defined $val[6]) { # (ModifyDate)
my $tzh = $val[6];
$tzh =~ s/ .*//;
return TimeZoneString($tzh * 60);
}
if (defined $val[4]) {
my $loc = $val[0] || $val[1] || $val[2];
# Difference between GPS and local time as TimeZone
if (defined $val[8]) {
my $loc = $val[9] || $val[10] || $val[11] || $val[12];
if ($loc) {
my @loc = split /[: ]/, $loc;
my @gmt = split /[: ]/, ($val[3]||"$loc[0]:$loc[1]:$loc[2]") . " $val[4]";
my @gmt = split /[: ]/, ($val[7]||"$loc[0]:$loc[1]:$loc[2]") . " $val[8]";
my $tzm = 15 * sprintf("%.0f", (GetTimeZone([@loc[5,4,3,2]], [@gmt[5,4,3,2]])) / 15);
$tzm -= 1440 if $tzm > 840;
$tzm += 1440 if $tzm < -720;
return TimeZoneString($tzm);
}
}
if (($val[11] && $val[11] =~ /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}([-+]\d{2})(\d{2})/) or
($val[12] && $val[12] =~ /\d{6}([-+]\d{2})(\d{2})/))
{
return TimeZoneString($1 * 60 + $2);
# TimeZone from QuickTime Creation Date
if ($val[13] && $val[13] =~ /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}([+-]\d{2})(\d{2})/) {
return TimeZoneString($1 * 60 + $2);
}
# Time Created
if ($val[14] && $val[14] =~ /\d{6}([+-]\d{2})(\d{2})/) {
return TimeZoneString($1 * 60 + $2);
}
return undef;
},

107
exiftool

@ -12,7 +12,7 @@
use strict;
require 5.004;
my $version = '10.46';
my $version = '10.47';
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
my $exeDir;
@ -1072,10 +1072,7 @@ for (;;) {
next;
}
if (/^(-)?struct$/i) {
$structOpt = $1 ? 0 : 1;
$mt->Options(Struct => $structOpt);
# require XMPStruct in case we need to serialize a structure
require 'Image/ExifTool/XMPStruct.pl' if $structOpt;
$mt->Options(Struct => $1 ? 0 : 1);
next;
}
/^t(ab)?$/ and $tabFormat = 1, next;
@ -1331,6 +1328,12 @@ if ($sortOpt) {
$mt->Options(Sort => $sort, Sort2 => $sort);
}
# set $structOpt in case set by API option
if ($mt->Options('Struct') and not $structOpt) {
$structOpt = $mt->Options('Struct');
require 'Image/ExifTool/XMPStruct.pl';
}
# set up for RDF/XML, JSON and PHP output formats
if ($xml) {
require Image::ExifTool::XMP; # for EscapeXML()
@ -4063,42 +4066,42 @@ supported by ExifTool (r = read, w = write, c = create):
File Types
------------+-------------+-------------+-------------+------------
3FR r | DV r | K25 r | OFR r | RSRC r
3G2 r/w | DVB r/w | KDC r | OGG r | RTF r
3GP r/w | DYLIB r | KEY r | OGV r | RW2 r/w
A r | EIP r | LA r | OPUS r | RWL r/w
AA r | EPS r/w | LFP r | ORF r/w | RWZ r
AAX r/w | EPUB r | LNK r | OTF r | RM r
ACR r | ERF r/w | M2TS r | PAC r | SEQ r
AFM r | EXE r | M4A/V r/w | PAGES r | SO r
AI r/w | EXIF r/w/c | MAX r | PBM r/w | SR2 r/w
AIFF r | EXR r | MEF r/w | PCD r | SRF r
APE r | EXV r/w/c | MIE r/w/c | PDB r | SRW r/w
ARW r/w | F4A/V r/w | MIFF r | PDF r/w | SVG r
ASF r | FFF r/w | MKA r | PEF r/w | SWF r
AVI r | FLA r | MKS r | PFA r | THM r/w
AZW r | FLAC r | MKV r | PFB r | TIFF r/w
BMP r | FLIF r/w | MNG r/w | PFM r | TORRENT r
BPG r | FLV r | MOBI r | PGF r | TTC r
BTF r | FPF r | MODD r | PGM r/w | TTF r
CHM r | FPX r | MOI r | PLIST r | VCF r
COS r | GIF r/w | MOS r/w | PICT r | VRD r/w/c
CR2 r/w | GZ r | MOV r/w | PMP r | VSD r
CRW r/w | HDP r/w | MP3 r | PNG r/w | WAV r
CS1 r/w | HDR r | MP4 r/w | PPM r/w | WDP r/w
DCM r | HTML r | MPC r | PPT r | WEBP r
DCP r/w | ICC r/w/c | MPG r | PPTX r | WEBM r
DCR r | ICS r | MPO r/w | PS r/w | WMA r
DFONT r | IDML r | MQV r/w | PSB r/w | WMV r
DIVX r | IIQ r/w | MRW r/w | PSD r/w | WV r
DJVU r | IND r/w | MXF r | PSP r | X3F r/w
DLL r | INX r | NEF r/w | QTIF r/w | XCF r
DNG r/w | ISO r | NRW r/w | RA r | XLS r
DOC r | ITC r | NUMBERS r | RAF r/w | XLSX r
DOCX r | J2C r | O r | RAM r | XMP r/w/c
DPX r | JNG r/w | ODP r | RAR r | ZIP r
DR4 r/w/c | JP2 r/w | ODS r | RAW r/w |
DSS r | JPEG r/w | ODT r | RIFF r |
3FR r | DV r | JSON r | ODT r | RIFF r
3G2 r/w | DVB r/w | K25 r | OFR r | RSRC r
3GP r/w | DYLIB r | KDC r | OGG r | RTF r
A r | EIP r | KEY r | OGV r | RW2 r/w
AA r | EPS r/w | LA r | OPUS r | RWL r/w
AAX r/w | EPUB r | LFP r | ORF r/w | RWZ r
ACR r | ERF r/w | LNK r | OTF r | RM r
AFM r | EXE r | M2TS r | PAC r | SEQ r
AI r/w | EXIF r/w/c | M4A/V r/w | PAGES r | SO r
AIFF r | EXR r | MAX r | PBM r/w | SR2 r/w
APE r | EXV r/w/c | MEF r/w | PCD r | SRF r
ARW r/w | F4A/V r/w | MIE r/w/c | PDB r | SRW r/w
ASF r | FFF r/w | MIFF r | PDF r/w | SVG r
AVI r | FLA r | MKA r | PEF r/w | SWF r
AZW r | FLAC r | MKS r | PFA r | THM r/w
BMP r | FLIF r/w | MKV r | PFB r | TIFF r/w
BPG r | FLV r | MNG r/w | PFM r | TORRENT r
BTF r | FPF r | MOBI r | PGF r | TTC r
CHM r | FPX r | MODD r | PGM r/w | TTF r
COS r | GIF r/w | MOI r | PLIST r | VCF r
CR2 r/w | GZ r | MOS r/w | PICT r | VRD r/w/c
CRW r/w | HDP r/w | MOV r/w | PMP r | VSD r
CS1 r/w | HDR r | MP3 r | PNG r/w | WAV r
DCM r | HTML r | MP4 r/w | PPM r/w | WDP r/w
DCP r/w | ICC r/w/c | MPC r | PPT r | WEBP r
DCR r | ICS r | MPG r | PPTX r | WEBM r
DFONT r | IDML r | MPO r/w | PS r/w | WMA r
DIVX r | IIQ r/w | MQV r/w | PSB r/w | WMV r
DJVU r | IND r/w | MRW r/w | PSD r/w | WV r
DLL r | INX r | MXF r | PSP r | X3F r/w
DNG r/w | ISO r | NEF r/w | QTIF r/w | XCF r
DOC r | ITC r | NRW r/w | RA r | XLS r
DOCX r | J2C r | NUMBERS r | RAF r/w | XLSX r
DPX r | JNG r/w | O r | RAM r | XMP r/w/c
DR4 r/w/c | JP2 r/w | ODP r | RAR r | ZIP r
DSS r | JPEG r/w | ODS r | RAW r/w |
Meta Information
----------------------+----------------------+---------------------
@ -4155,7 +4158,7 @@ L<Input-output text formatting|/Input-output text formatting>
-g[NUM...] (-groupHeadings) Organize output by tag group
-G[NUM...] (-groupNames) Print group name for each tag
-h (-htmlFormat) Use HMTL formatting for output
-H (-hex) Show tag ID number in hexadecimal
-H (-hex) Show tag ID numbers in hexadecimal
-htmlDump[OFFSET] Generate HTML-format binary dump
-j[=JSONFILE] (-json) Export/import tags in JSON format
-l (-long) Use long 2-line output format
@ -4193,7 +4196,7 @@ L<Processing control|/Processing control>
-o OUTFILE (-out) Set output file or directory name
-overwrite_original Overwrite original by renaming tmp file
-overwrite_original_in_place Overwrite original by copying tmp file
-P (-preserve) Preserve date/time of original file
-P (-preserve) Preserve file modification date/time
-password PASSWD Password for processing protected files
-progress[:[TITLE]] Show file progress count
-q (-quiet) Quiet processing
@ -4893,7 +4896,7 @@ with this command:
produces output like this:
-- Generated by ExifTool 10.46 --
-- Generated by ExifTool 10.47 --
File: a.jpg - 2003:10:31 15:44:19
(f/5.6, 1/60s, ISO 100)
File: b.jpg - 2006:05:23 11:57:38
@ -5425,14 +5428,14 @@ the B<-overwrite_original> option should be used instead unless necessary.
=item B<-P> (B<-preserve>)
Preserve the filesystem modification date/time of the original file
(C<FileModifyDate>) when writing. Note that some filesystems store a
creation date (C<FileCreateDate>) which is not affected by this option.
This creation date is preserved only on Windows systems where Win32API::File
and Win32::API are available. For other systems, the
B<-overwrite_original_in_place> option may be used if necessary to preserve
the creation date. This option is superseded by writing the FileModifyDate
tag (and FileCreateDate in Windows).
Preserve the filesystem modification date/time (C<FileModifyDate>) of the
original file when writing. Note that some filesystems store a creation
date (Windows C<FileCreateDate> or Mac C<MDItemFSCreationDate>)
which is not affected by this option. The creation date is preserved on
Windows systems where Win32API::File and Win32::API are available regardless
of this setting. For other systems, the B<-overwrite_original_in_place>
option may be used if necessary to preserve the creation date. This option
is superseded by any value written to the FileModifyDate tag.
=item B<-password> I<PASSWD>

13
html/TagNames/Canon.html

@ -8442,7 +8442,8 @@ option is used.</p>
<td class=c>int16s</td>
<td><span class=s>12 = 12 (5DS/5DSR)
<br>13 = 13 (80D)
<br>14 = 14 (1300D)</span></td></tr>
<br>14 = 14 (1300D)
<br>15 = 15 (77D/800D)</span></td></tr>
<tr class=b>
<td class=r title='63 = 0x3f'>63</td>
<td>WB_RGGBLevelsAsShot</td>
@ -8878,22 +8879,22 @@ option is used.</p>
<td class=r title='778 = 0x30a'>778</td>
<td>PerChannelBlackLevel</td>
<td class=c>int16u[4]</td>
<td><span class=s><span class=n>(5DS, 5DS R and 80D)</span></span></td></tr>
<td><span class=s><span class=n>(5DS, 5DS R, 77D, 80D and 800D)</span></span></td></tr>
<tr>
<td class=r title='782 = 0x30e'>782</td>
<td>NormalWhiteLevel</td>
<td class=c>int16u</td>
<td><span class=s><span class=n>(5DS, 5DS R and 80D)</span></span></td></tr>
<td><span class=s><span class=n>(5DS, 5DS R, 77D, 80D and 800D)</span></span></td></tr>
<tr class=b>
<td class=r title='783 = 0x30f'>783</td>
<td>SpecularWhiteLevel</td>
<td class=c>int16u</td>
<td><span class=s><span class=n>(5DS, 5DS R and 80D)</span></span></td></tr>
<td><span class=s><span class=n>(5DS, 5DS R, 77D, 80D and 800D)</span></span></td></tr>
<tr>
<td class=r title='784 = 0x310'>784</td>
<td>LinearityUpperMargin</td>
<td class=c>int16u</td>
<td><span class=s><span class=n>(5DS, 5DS R and 80D)</span></span></td></tr>
<td><span class=s><span class=n>(5DS, 5DS R, 77D, 80D and 800D)</span></span></td></tr>
</table></td></tr></table></blockquote>
<h2><a name='ColorDataUnknown'>Canon ColorDataUnknown Tags</a></h2>
@ -9744,7 +9745,7 @@ SX280.</p>
<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
<br><i>Last revised Feb 24, 2017</i>
<br><i>Last revised Mar 13, 2017</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>

241
html/TagNames/EXIF.html

@ -2634,6 +2634,15 @@ unnecessary clutter)</span></span><table class=cols><tr>
<br>1 = Grayscale
<br>2 = Color</span></td></tr>
<tr class=b>
<td title='0xc5e0 = 50656'>0xc5e0</td>
<td>CR2CFAPattern</td>
<td class=c>no</td>
<td class=c>-</td>
<td><span class=s>1 =&gt; &#39;0 1 1 2&#39; = [Red,Green][Green,Blue]
<br>4 =&gt; &#39;1 0 2 1&#39; = [Green,Red][Blue,Green]
<br>3 =&gt; &#39;1 2 0 1&#39; = [Green,Blue][Red,Green]
<br>2 =&gt; &#39;2 1 1 0&#39; = [Blue,Green][Green,Red]</span></td></tr>
<tr>
<td title='0xc612 = 50706'>0xc612</td>
<td>DNGVersion</td>
<td class=c title=' ! = Unsafe'>int8u[4]!</td>
@ -2641,31 +2650,31 @@ unnecessary clutter)</span></span><table class=cols><tr>
<td><span class=s><span class=n>(tags 0xc612-0xc7b5 are defined by the DNG specification unless otherwise
noted. See <a href="https://helpx.adobe.com/photoshop/digital-negative.html">https://helpx.adobe.com/photoshop/digital-negative.html</a> for
the specification)</span></span></td></tr>
<tr>
<tr class=b>
<td title='0xc613 = 50707'>0xc613</td>
<td>DNGBackwardVersion</td>
<td class=c title=' ! = Unsafe'>int8u[4]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc614 = 50708'>0xc614</td>
<td>UniqueCameraModel</td>
<td class=c>string</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc615 = 50709'>0xc615</td>
<td>LocalizedCameraModel</td>
<td class=c>string</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc616 = 50710'>0xc616</td>
<td>CFAPlaneColor</td>
<td class=c>no</td>
<td class=c>-</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc617 = 50711'>0xc617</td>
<td>CFALayout</td>
<td class=c>no</td>
@ -2679,175 +2688,175 @@ the specification)</span></span></td></tr>
<br>7 = Even rows offset up by 1/2 row, even columns offset right by 1/2 column
<br>8 = Even rows offset down by 1/2 row, even columns offset left by 1/2 column
<br>9 = Even rows offset down by 1/2 row, even columns offset right by 1/2 column</span></td></tr>
<tr class=b>
<tr>
<td title='0xc618 = 50712'>0xc618</td>
<td>LinearizationTable</td>
<td class=c title=' ! = Unsafe'>int16u[n]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc619 = 50713'>0xc619</td>
<td>BlackLevelRepeatDim</td>
<td class=c title=' ! = Unsafe'>int16u[2]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc61a = 50714'>0xc61a</td>
<td>BlackLevel</td>
<td class=c title=' ! = Unsafe'>rational64u[n]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc61b = 50715'>0xc61b</td>
<td>BlackLevelDeltaH</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc61c = 50716'>0xc61c</td>
<td>BlackLevelDeltaV</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc61d = 50717'>0xc61d</td>
<td>WhiteLevel</td>
<td class=c title=' ! = Unsafe'>int32u[n]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc61e = 50718'>0xc61e</td>
<td>DefaultScale</td>
<td class=c title=' ! = Unsafe'>rational64u[2]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc61f = 50719'>0xc61f</td>
<td>DefaultCropOrigin</td>
<td class=c title=' ! = Unsafe'>int32u[2]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc620 = 50720'>0xc620</td>
<td>DefaultCropSize</td>
<td class=c title=' ! = Unsafe'>int32u[2]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc621 = 50721'>0xc621</td>
<td>ColorMatrix1</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc622 = 50722'>0xc622</td>
<td>ColorMatrix2</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc623 = 50723'>0xc623</td>
<td>CameraCalibration1</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc624 = 50724'>0xc624</td>
<td>CameraCalibration2</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc625 = 50725'>0xc625</td>
<td>ReductionMatrix1</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc626 = 50726'>0xc626</td>
<td>ReductionMatrix2</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc627 = 50727'>0xc627</td>
<td>AnalogBalance</td>
<td class=c title=' ! = Unsafe'>rational64u[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc628 = 50728'>0xc628</td>
<td>AsShotNeutral</td>
<td class=c title=' ! = Unsafe'>rational64u[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc629 = 50729'>0xc629</td>
<td>AsShotWhiteXY</td>
<td class=c title=' ! = Unsafe'>rational64u[2]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc62a = 50730'>0xc62a</td>
<td>BaselineExposure</td>
<td class=c title=' ! = Unsafe'>rational64s!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc62b = 50731'>0xc62b</td>
<td>BaselineNoise</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc62c = 50732'>0xc62c</td>
<td>BaselineSharpness</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc62d = 50733'>0xc62d</td>
<td>BayerGreenSplit</td>
<td class=c title=' ! = Unsafe'>int32u!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc62e = 50734'>0xc62e</td>
<td>LinearResponseLimit</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc62f = 50735'>0xc62f</td>
<td>CameraSerialNumber</td>
<td class=c>string</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc630 = 50736'>0xc630</td>
<td>DNGLensInfo</td>
<td class=c>rational64u[4]</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc631 = 50737'>0xc631</td>
<td>ChromaBlurRadius</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc632 = 50738'>0xc632</td>
<td>AntiAliasStrength</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc633 = 50739'>0xc633</td>
<td>ShadowScale</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc634 = 50740'>0xc634</td>
<td>SR2Private
<br>DNGAdobeData
@ -2860,183 +2869,183 @@ the specification)</span></span></td></tr>
<br>--&gt; <a href='DNG.html#AdobeData'>DNG AdobeData Tags</a>
<br>--&gt; <a href='Pentax.html'>Pentax Tags</a>
<br>--&gt; <a href='Pentax.html'>Pentax Tags</a></td></tr>
<tr>
<tr class=b>
<td title='0xc635 = 50741'>0xc635</td>
<td>MakerNoteSafety</td>
<td class=c>int16u</td>
<td class=c>IFD0</td>
<td><span class=s>0 = Unsafe
<br>1 = Safe</span></td></tr>
<tr class=b>
<tr>
<td title='0xc640 = 50752'>0xc640</td>
<td>RawImageSegmentation</td>
<td class=c>no</td>
<td class=c>-</td>
<td><span class=s><span class=n>(used in segmented Canon CR2 images. 3 numbers: 1. Number of segments minus
one; 2. Pixel width of segments except last; 3. Pixel width of last segment)</span></span></td></tr>
<tr>
<tr class=b>
<td title='0xc65a = 50778'>0xc65a</td>
<td>CalibrationIlluminant1</td>
<td class=c title=' ! = Unsafe'>int16u!</td>
<td class=c>IFD0</td>
<td>--&gt; <a href='EXIF.html#LightSource'>EXIF LightSource Values</a></td></tr>
<tr class=b>
<tr>
<td title='0xc65b = 50779'>0xc65b</td>
<td>CalibrationIlluminant2</td>
<td class=c title=' ! = Unsafe'>int16u!</td>
<td class=c>IFD0</td>
<td>--&gt; <a href='EXIF.html#LightSource'>EXIF LightSource Values</a></td></tr>
<tr>
<tr class=b>
<td title='0xc65c = 50780'>0xc65c</td>
<td>BestQualityScale</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc65d = 50781'>0xc65d</td>
<td>RawDataUniqueID</td>
<td class=c title=' ! = Unsafe'>int8u[16]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc660 = 50784'>0xc660</td>
<td>AliasLayerMetadata</td>
<td class=c>no</td>
<td class=c>-</td>
<td><span class=s><span class=n>(used by Alias Sketchbook Pro)</span></span></td></tr>
<tr class=b>
<tr>
<td title='0xc68b = 50827'>0xc68b</td>
<td>OriginalRawFileName</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc68c = 50828'>0xc68c</td>
<td>OriginalRawFileData</td>
<td class=c title=' ! = Unsafe'>undef!</td>
<td class=c>IFD0</td>
<td>--&gt; <a href='DNG.html#OriginalRaw'>DNG OriginalRaw Tags</a></td></tr>
<tr class=b>
<tr>
<td title='0xc68d = 50829'>0xc68d</td>
<td>ActiveArea</td>
<td class=c title=' ! = Unsafe'>int32u[4]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc68e = 50830'>0xc68e</td>
<td>MaskedAreas</td>
<td class=c title=' ! = Unsafe'>int32u[n]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc68f = 50831'>0xc68f</td>
<td>AsShotICCProfile</td>
<td class=c title=' ! = Unsafe'>undef!</td>
<td class=c>IFD0</td>
<td>--&gt; <a href='ICC_Profile.html'>ICC_Profile Tags</a></td></tr>
<tr>
<tr class=b>
<td title='0xc690 = 50832'>0xc690</td>
<td>AsShotPreProfileMatrix</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc691 = 50833'>0xc691</td>
<td>CurrentICCProfile</td>
<td class=c title=' ! = Unsafe'>undef!</td>
<td class=c>IFD0</td>
<td>--&gt; <a href='ICC_Profile.html'>ICC_Profile Tags</a></td></tr>
<tr>
<tr class=b>
<td title='0xc692 = 50834'>0xc692</td>
<td>CurrentPreProfileMatrix</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc6bf = 50879'>0xc6bf</td>
<td>ColorimetricReference</td>
<td class=c title=' ! = Unsafe'>int16u!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc6c5 = 50885'>0xc6c5</td>
<td>SRawType</td>
<td class=c>no</td>
<td class=c>-</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc6d2 = 50898'>0xc6d2</td>
<td>PanasonicTitle</td>
<td class=c>undef</td>
<td class=c>IFD0</td>
<td><span class=s><span class=n>(proprietary Panasonic tag used for baby/pet name, etc)</span></span></td></tr>
<tr>
<tr class=b>
<td title='0xc6d3 = 50899'>0xc6d3</td>
<td>PanasonicTitle2</td>
<td class=c>undef</td>
<td class=c>IFD0</td>
<td><span class=s><span class=n>(proprietary Panasonic tag used for baby/pet name with age)</span></span></td></tr>
<tr class=b>
<tr>
<td title='0xc6f3 = 50931'>0xc6f3</td>
<td>CameraCalibrationSig</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc6f4 = 50932'>0xc6f4</td>
<td>ProfileCalibrationSig</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc6f5 = 50933'>0xc6f5</td>
<td>ProfileIFD</td>
<td class=c>-</td>
<td class=c>-</td>
<td>--&gt; <a href='EXIF.html'>EXIF Tags</a></td></tr>
<tr>
<tr class=b>
<td title='0xc6f6 = 50934'>0xc6f6</td>
<td>AsShotProfileName</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc6f7 = 50935'>0xc6f7</td>
<td>NoiseReductionApplied</td>
<td class=c title=' ! = Unsafe'>rational64u!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc6f8 = 50936'>0xc6f8</td>
<td>ProfileName</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc6f9 = 50937'>0xc6f9</td>
<td>ProfileHueSatMapDims</td>
<td class=c title=' ! = Unsafe'>int32u[3]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc6fa = 50938'>0xc6fa</td>
<td>ProfileHueSatMapData1</td>
<td class=c title=' ! = Unsafe'>float[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc6fb = 50939'>0xc6fb</td>
<td>ProfileHueSatMapData2</td>
<td class=c title=' ! = Unsafe'>float[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc6fc = 50940'>0xc6fc</td>
<td>ProfileToneCurve</td>
<td class=c title=' ! = Unsafe'>float[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc6fd = 50941'>0xc6fd</td>
<td>ProfileEmbedPolicy</td>
<td class=c title=' ! = Unsafe'>int32u!</td>
@ -3045,49 +3054,49 @@ one; 2. Pixel width of segments except last; 3. Pixel width of last segment)</sp
<br>1 = Embed if Used
<br>2 = Never Embed
<br>3 = No Restrictions</span></td></tr>
<tr>
<tr class=b>
<td title='0xc6fe = 50942'>0xc6fe</td>
<td>ProfileCopyright</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc714 = 50964'>0xc714</td>
<td>ForwardMatrix1</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc715 = 50965'>0xc715</td>
<td>ForwardMatrix2</td>
<td class=c title=' ! = Unsafe'>rational64s[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc716 = 50966'>0xc716</td>
<td>PreviewApplicationName</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc717 = 50967'>0xc717</td>
<td>PreviewApplicationVersion</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc718 = 50968'>0xc718</td>
<td>PreviewSettingsName</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc719 = 50969'>0xc719</td>
<td>PreviewSettingsDigest</td>
<td class=c title=' ! = Unsafe'>int8u!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc71a = 50970'>0xc71a</td>
<td>PreviewColorSpace</td>
<td class=c title=' ! = Unsafe'>int32u!</td>
@ -3097,178 +3106,178 @@ one; 2. Pixel width of segments except last; 3. Pixel width of last segment)</sp
<br>2 = sRGB
<br>3 = Adobe RGB
<br>4 = ProPhoto RGB</span></td></tr>
<tr>
<tr class=b>
<td title='0xc71b = 50971'>0xc71b</td>
<td>PreviewDateTime</td>
<td class=c title=' ! = Unsafe'>string!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc71c = 50972'>0xc71c</td>
<td>RawImageDigest</td>
<td class=c title=' ! = Unsafe'>int8u[16]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc71d = 50973'>0xc71d</td>
<td>OriginalRawFileDigest</td>
<td class=c title=' ! = Unsafe'>int8u[16]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc71e = 50974'>0xc71e</td>
<td>SubTileBlockSize</td>
<td class=c>no</td>
<td class=c>-</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc71f = 50975'>0xc71f</td>
<td>RowInterleaveFactor</td>
<td class=c>no</td>
<td class=c>-</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc725 = 50981'>0xc725</td>
<td>ProfileLookTableDims</td>
<td class=c title=' ! = Unsafe'>int32u[3]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc726 = 50982'>0xc726</td>
<td>ProfileLookTableData</td>
<td class=c title=' ! = Unsafe'>float[n]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc740 = 51008'>0xc740</td>
<td>OpcodeList1</td>
<td class=c title=' ! = Unsafe'>undef!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc741 = 51009'>0xc741</td>
<td>OpcodeList2</td>
<td class=c title=' ! = Unsafe'>undef!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc74e = 51022'>0xc74e</td>
<td>OpcodeList3</td>
<td class=c title=' ! = Unsafe'>undef!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc761 = 51041'>0xc761</td>
<td>NoiseProfile</td>
<td class=c title=' ! = Unsafe'>double[n]!</td>
<td class=c>SubIFD</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc763 = 51043'>0xc763</td>
<td>TimeCodes</td>
<td class=c>int8u[n]</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc764 = 51044'>0xc764</td>
<td>FrameRate</td>
<td class=c>rational64s</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc772 = 51058'>0xc772</td>
<td>TStop</td>
<td class=c>rational64u[n]</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc789 = 51081'>0xc789</td>
<td>ReelName</td>
<td class=c>string</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc791 = 51089'>0xc791</td>
<td>OriginalDefaultFinalSize</td>
<td class=c title=' ! = Unsafe'>int32u[2]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc792 = 51090'>0xc792</td>
<td>OriginalBestQualitySize</td>
<td class=c title=' ! = Unsafe'>int32u[2]!</td>
<td class=c>IFD0</td>
<td><span class=s><span class=n>(called OriginalBestQualityFinalSize by the DNG spec)</span></span></td></tr>
<tr class=b>
<tr>
<td title='0xc793 = 51091'>0xc793</td>
<td>OriginalDefaultCropSize</td>
<td class=c title=' ! = Unsafe'>rational64u[2]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc7a1 = 51105'>0xc7a1</td>
<td>CameraLabel</td>
<td class=c>string</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>
<tr>
<td title='0xc7a3 = 51107'>0xc7a3</td>
<td>ProfileHueSatMapEncoding</td>
<td class=c title=' ! = Unsafe'>int32u!</td>
<td class=c>IFD0</td>
<td><span class=s>0 = Linear
<br>1 = sRGB</span></td></tr>
<tr>
<tr class=b>
<td title='0xc7a4 = 51108'>0xc7a4</td>
<td>ProfileLookTableEncoding</td>
<td class=c title=' ! = Unsafe'>int32u!</td>
<td class=c>IFD0</td>
<td><span class=s>0 = Linear
<br>1 = sRGB</span></td></tr>
<tr class=b>
<tr>
<td title='0xc7a5 = 51109'>0xc7a5</td>
<td>BaselineExposureOffset</td>
<td class=c title=' ! = Unsafe'>rational64s!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc7a6 = 51110'>0xc7a6</td>
<td>DefaultBlackRender</td>
<td class=c title=' ! = Unsafe'>int32u!</td>
<td class=c>IFD0</td>
<td><span class=s>0 = Auto
<br>1 = None</span></td></tr>
<tr class=b>
<tr>
<td title='0xc7a7 = 51111'>0xc7a7</td>
<td>NewRawImageDigest</td>
<td class=c title=' ! = Unsafe'>int8u[16]!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr>
<tr class=b>
<td title='0xc7a8 = 51112'>0xc7a8</td>
<td>RawToPreviewGain</td>
<td class=c title=' ! = Unsafe'>double!</td>
<td class=c>IFD0</td>
<td>&nbsp;</td></tr>
<tr class=b>