From 0fd1f98288aa0b076611d81cb080484a0ca231ea Mon Sep 17 00:00:00 2001 From: exiftool Date: Sat, 11 Apr 2015 08:48:25 -0400 Subject: Update to 9.92 --- lib/Image/ExifTool.pm | 25 +- lib/Image/ExifTool.pod | 16 +- lib/Image/ExifTool/Audible.pm | 134 ++- lib/Image/ExifTool/Canon.pm | 4 +- lib/Image/ExifTool/Exif.pm | 14 +- lib/Image/ExifTool/Nikon.pm | 3 +- lib/Image/ExifTool/Olympus.pm | 3 +- lib/Image/ExifTool/QuickTime.pm | 6 +- lib/Image/ExifTool/Ricoh.pm | 4 +- lib/Image/ExifTool/TagLookup.pm | 2484 ++++++++++++++++++++------------------- lib/Image/ExifTool/TagNames.pod | 395 +++++-- lib/Image/ExifTool/VCard.pm | 3 +- lib/Image/ExifTool/XMP.pm | 33 +- lib/Image/ExifTool/XMP2.pl | 332 +++++- 14 files changed, 2132 insertions(+), 1324 deletions(-) (limited to 'lib') diff --git a/lib/Image/ExifTool.pm b/lib/Image/ExifTool.pm index 571992c2..7e7ed883 100644 --- a/lib/Image/ExifTool.pm +++ b/lib/Image/ExifTool.pm @@ -27,7 +27,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd %jpegMarker %specialTags); -$VERSION = '9.91'; +$VERSION = '9.92'; $RELEASE = ''; @ISA = qw(Exporter); %EXPORT_TAGS = ( @@ -130,12 +130,12 @@ sub ReadValue($$$$$;$); SigmaRaw JPEG GIMP Jpeg2000 GIF BMP BMP::OS2 PICT PNG MNG DjVu DPX OpenEXR MIFF PGF PSP PhotoCD Radiance PDF PostScript Photoshop::Header FujiFilm::RAF FujiFilm::IFD Samsung::Trailer Sony::SRF2 Sony::SR2SubIFD Sony::PMP ITC ID3 - Vorbis Ogg APE APE::NewHeader APE::OldHeader MPC MPEG::Audio MPEG::Video - MPEG::Xing M2TS QuickTime QuickTime::ImageFile Matroska MOI MXF DV Flash - Flash::FLV Real::Media Real::Audio Real::Metafile RIFF AIFF ASF DICOM MIE - HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion - EXE::PEString EXE::MachO EXE::PEF EXE::ELF EXE::CHM LNK Font VCard RSRC - Rawzor ZIP ZIP::GZIP ZIP::RAR RTF OOXML iWork FLIR::AFF FLIR::FPF + Vorbis Ogg APE APE::NewHeader APE::OldHeader Audible MPC MPEG::Audio + MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile Matroska MOI MXF + DV Flash Flash::FLV Real::Media Real::Audio Real::Metafile RIFF AIFF ASF + DICOM MIE HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE + EXE::PEVersion EXE::PEString EXE::MachO EXE::PEF EXE::ELF EXE::CHM LNK Font + VCard RSRC Rawzor ZIP ZIP::GZIP ZIP::RAR RTF OOXML iWork FLIR::AFF FLIR::FPF ); # alphabetical list of current Lang modules @@ -172,8 +172,8 @@ $defaultLang = 'en'; # default language BMP PPM RIFF AIFF ASF MOV MPEG Real SWF PSP FLV OGG FLAC APE MPC MKV MXF DV PMP IND PGF ICC ITC FLIR FPF LFP HTML VRD RTF XCF QTIF FPX PICT ZIP GZIP PLIST RAR BZ2 TAR RWZ EXE EXR HDR CHM LNK - WMF AVC DEX DPX RAW Font RSRC M2TS PHP Torrent VCard PDB MOI MP3 - DICOM PCD); + WMF AVC DEX DPX RAW Font RSRC M2TS PHP Torrent VCard AA PDB MOI + MP3 DICOM PCD); # file types that we can write (edit) my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM @@ -200,6 +200,7 @@ my %fileTypeLookup = ( '3GP' => ['MOV', '3rd Gen. Partnership Project audio/video'], '3GP2'=> '3G2', '3GPP'=> '3GP', + AA => ['AA', 'Audible Audiobook'], AAX => ['MOV', 'Audible Enhanced Audiobook'], ACR => ['DICOM','American College of Radiology ACR-NEMA'], ACFM => ['Font', 'Adobe Composite Font Metrics'], @@ -487,6 +488,7 @@ my %fileDescription = ( # types may be specified by some modules, eg. QuickTime.pm and RIFF.pm) %mimeType = ( '3FR' => 'image/x-hasselblad-3fr', + AA => 'audio/audible', AI => 'application/vnd.adobe.illustrator', AIFF => 'audio/x-aiff', APE => 'audio/x-monkeys-audio', @@ -657,6 +659,7 @@ my %fileDescription = ( # - module name '' defaults to Image::ExifTool # - module name '0' indicates a recognized but unsupported file my %moduleName = ( + AA => 'Audible', AVC => 0, BTF => 'BigTIFF', BZ2 => 0, @@ -710,6 +713,7 @@ my %moduleName = ( # - must match beginning at first byte in file # - this test must not be more stringent than module logic %magicNumber = ( + AA => '.{4}\x57\x90\x75\x36', AIFF => '(FORM....AIF[FC]|AT&TFORM)', APE => '(MAC |APETAGEX|ID3)', ASF => '\x30\x26\xb2\x75\x8e\x66\xcf\x11\xa6\xd9\x00\xaa\x00\x62\xce\x6c', @@ -782,9 +786,6 @@ my %moduleName = ( RIFF => '(RIFF|LA0[234]|OFR |LPAC|wvpk)', # RIFF plus other variants RSRC => '(....)?\0\0\x01\0', RTF => '[\n\r]*\\{[\n\r]*\\\\rtf', - # (don't be too restrictive for RW2/RWL -- how does magic number change for big-endian?) - RW2 => '(II|MM)', #(\x55\0\x18\0\0\0\x88\xe7\x74\xd8\xf8\x25\x1d\x4d\x94\x7a\x6e\x77\x82\x2b\x5d\x6a) - RWL => '(II|MM)', #(ditto) RWZ => 'rawzor', SWF => '[FC]WS[^\0]', TAR => '.{257}ustar( )?\0', # (this doesn't catch old-style tar files) diff --git a/lib/Image/ExifTool.pod b/lib/Image/ExifTool.pod index 1d4daa05..4832d557 100644 --- a/lib/Image/ExifTool.pod +++ b/lib/Image/ExifTool.pod @@ -65,9 +65,10 @@ supported by ExifTool (r = read, w = write, c = create): File Types ------------+-------------+-------------+-------------+------------ - 3FR r | EIP r | LFP r | OTF r | RWL r/w - 3G2 r/w | EPS r/w | LNK r | PAC r | RWZ r - 3GP r/w | EPUB r | M2TS r | PAGES r | RM r + 3FR r | DYLIB r | LA r | ORF r/w | RW2 r/w + 3G2 r/w | EIP r | LFP r | OTF r | RWL r/w + 3GP r/w | EPS r/w | LNK r | PAC r | RWZ r + AA r | EPUB r | M2TS r | PAGES r | RM r AAX r/w | ERF r/w | M4A/V r/w | PBM r/w | SEQ r ACR r | EXE r | MEF r/w | PCD r | SO r AFM r | EXIF r/w/c | MIE r/w/c | PDB r | SR2 r/w @@ -98,7 +99,6 @@ supported by ExifTool (r = read, w = write, c = create): DPX r | K25 r | OFR r | RIFF r | ZIP r DV r | KDC r | OGG r | RSRC r | DVB r/w | KEY r | OGV r | RTF r | - DYLIB r | LA r | ORF r/w | RW2 r/w | Meta Information ----------------------+----------------------+--------------------- @@ -2041,10 +2041,10 @@ Here is a complete list of groups for each of these families: =item Family 0 (Information Type): AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5, -APP6, APP8, ASF, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, EXE, -EXIF, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, -GIMP, GeoTiff, H264, HTML, ICC_Profile, ID3, IPTC, ITC, JFIF, JPEG, -Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MPC, MPEG, MPF, MXF, MOI, +APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, +EXE, EXIF, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, +GIF, GIMP, GeoTiff, H264, HTML, ICC_Profile, ID3, IPTC, ITC, JFIF, JPEG, +Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, PDF, PICT, PLIST, PNG, PSP, Palm, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, SVG, SigmaRaw, diff --git a/lib/Image/ExifTool/Audible.pm b/lib/Image/ExifTool/Audible.pm index cf128319..34d75f96 100644 --- a/lib/Image/ExifTool/Audible.pm +++ b/lib/Image/ExifTool/Audible.pm @@ -4,6 +4,10 @@ # Description: Read metadata from Audible audio books # # Revisions: 2015/04/05 - P. Harvey Created +# +# References: 1) https://github.com/jteeuwen/audible +# 2) https://code.google.com/p/pyaudibletags/ +# 3) http://wiki.multimedia.cx/index.php?title=Audible_Audio #------------------------------------------------------------------------------ package Image::ExifTool::Audible; @@ -12,11 +16,33 @@ use strict; use vars qw($VERSION); use Image::ExifTool qw(:DataAccess :Utils); -$VERSION = '1.00'; +$VERSION = '1.01'; sub ProcessAudible_meta($$$); sub ProcessAudible_cvrx($$$); +%Image::ExifTool::Audible::Main = ( + GROUPS => { 2 => 'Audio' }, + NOTES => q{ + ExifTool will extract any information found in the metadata dictionary of + Audible .AA files, even if not listed in the table below. + }, + # tags found in the metadata dictionary (chunk 2) + pubdate => { Name => 'PublishDate', Groups => { 2 => 'Time' } }, + pub_date_start => { Name => 'PublishDateStart', Groups => { 2 => 'Time' } }, + author => { Name => 'Author', Groups => { 2 => 'Author' } }, + copyright => { Name => 'Copyright', Groups => { 2 => 'Author' } }, + # also seen (ref PH): + # product_id, parent_id, title, provider, narrator, price, description, + # long_description, short_title, is_aggregation, title_id, codec, HeaderSeed, + # EncryptedBlocks, HeaderKey, license_list, CPUType, license_count, <12 hex digits>, + # parent_short_title, parent_title, aggregation_id, short_description, user_alias + + # information extracted from other chunks + _chapter_count => { Name => 'ChapterCount' }, # from chunk 6 + _cover_art => { Name => 'CoverArt', Binary => 1 }, # from chunk 11 +); + # 'tags' atoms observed in Audible .m4b audio books (ref PH) %Image::ExifTool::Audible::tags = ( GROUPS => { 0 => 'QuickTime', 2 => 'Audio' }, @@ -78,7 +104,7 @@ sub ProcessAudible_cvrx($$$); ); #------------------------------------------------------------------------------ -# Process Audible 'meta' tags (ref PH) +# Process Audible 'meta' tags from M4B files (ref PH) # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref # Returns: 1 on success sub ProcessAudible_meta($$$) @@ -107,10 +133,7 @@ sub ProcessAudible_meta($$$) last if $pos + $size > $dirLen; my $val = $et->Decode(substr($$dataPt, $pos, $size), 'UTF8'); unless ($$tagTablePtr{$tag}) { - next unless $len > 1; - my $name = ucfirst(($tag =~ /[a-z]/) ? $tag : lc($tag)); - $name =~ tr/-_A-Za-z0-9//dc; - next if length($name) < 2; + my $name = Image::ExifTool::MakeTagName(($tag =~ /[a-z]/) ? $tag : lc($tag)); AddTagToTable($tagTablePtr, $tag, { Name => $name }); } $et->HandleTag($tagTablePtr, $tag, $val, @@ -126,7 +149,7 @@ sub ProcessAudible_meta($$$) } #------------------------------------------------------------------------------ -# Process Audible 'cvrx' cover art atom (ref PH) +# Process Audible 'cvrx' cover art atom from M4B files (ref PH) # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref # Returns: 1 on success sub ProcessAudible_cvrx($$$) @@ -156,6 +179,91 @@ sub ProcessAudible_cvrx($$$) return 1; } +#------------------------------------------------------------------------------ +# Read information from an Audible .AA file +# Inputs: 0) ExifTool ref, 1) dirInfo ref +# Returns: 1 on success, 0 if this wasn't a valid AA file +sub ProcessAA($$) +{ + my ($et, $dirInfo) = @_; + my $raf = $$dirInfo{RAF}; + my ($buff, $toc, $entry, $i); + + # check magic number + return 0 unless $raf->Read($buff, 16) == 16 and $buff=~/^.{4}\x57\x90\x75\x36/s; + # check file size + if (defined $$et{VALUE}{FileSize}) { + # first 4 bytes of the file should be the filesize + unpack('N', $buff) == $$et{VALUE}{FileSize} or return 0; + } + $et->SetFileType(); + SetByteOrder('MM'); + my $bytes = 12 * Get32u(\$buff, 8); # table of contents size in bytes + $bytes > 0xc00 and $et->Warn('Invalid TOC'), return 1; + # read the table of contents + $raf->Read($toc, $bytes) == $bytes or $et->Warn('Truncated TOC'), return 1; + my $tagTablePtr = GetTagTable('Image::ExifTool::Audible::Main'); + # parse table of contents (in $toc) + for ($entry=0; $entry<$bytes; $entry+=12) { + my $type = Get32u(\$toc, $entry); + next unless $type == 2 or $type == 6 or $type == 11; + my $offset = Get32u(\$toc, $entry + 4); + my $length = Get32u(\$toc, $entry + 8) or next; + $raf->Seek($offset, 0) or $et->Warn("Chunk $type seek error"), last; + if ($type == 6) { # offset table + next if $length < 4 or $raf->Read($buff, 4) != 4; # only read the chapter count + $et->HandleTag($tagTablePtr, '_chapter_count', Get32u(\$buff, 0)); + next; + } + # read the chunk + $length > 100000000 and $et->Warn("Chunk $type too big"), next; + $raf->Read($buff, $length) == $length or $et->Warn("Chunk $type read error"), last; + if ($type == 11) { # cover art + next if $length < 8; + my $len = Get32u(\$buff, 0); + my $off = Get32u(\$buff, 4); + next if $off < $offset + 8 or $off - $offset + $len > $length; + $et->HandleTag($tagTablePtr, '_cover_art', substr($buff, $off-$offset, $len)); + next; + } + # parse metadata dictionary (in $buff) + $length < 4 and $et->Warn('Bad dictionary'), next; + my $num = Get32u(\$buff, 0); + $num > 0x200 and $et->Warn('Bad dictionary count'), next; + my $pos = 4; # dictionary starts immediately after count + require Image::ExifTool::HTML; # (for UnescapeHTML) + $et->VerboseDir('Audible Metadata', $num); + for ($i=0; $i<$num; ++$i) { + my $tagPos = $pos + 9; # position of tag string + $tagPos > $length and $et->Warn('Truncated dictionary'), last; + # (1 unknown byte ignored at start of each dictionary entry) + my $tagLen = Get32u(\$buff, $pos + 1); # tag string length + my $valLen = Get32u(\$buff, $pos + 5); # value string length + my $valPos = $tagPos + $tagLen; # position of value string + my $nxtPos = $valPos + $valLen; # position of next entry + $nxtPos > $length and $et->Warn('Bad dictionary entry'), last; + my $tag = substr($buff, $tagPos, $tagLen); + my $val = substr($buff, $valPos, $valLen); + unless ($$tagTablePtr{$tag}) { + my $name = Image::ExifTool::MakeTagName($tag); + $name =~ s/_(.)/\U$1/g; # change from underscore-separated to mixed case + AddTagToTable($tagTablePtr, $tag, { Name => $name }); + } + # unescape HTML character references and convert from UTF-8 + $val = $et->Decode(Image::ExifTool::HTML::UnescapeHTML($val), 'UTF8'); + $et->HandleTag($tagTablePtr, $tag, $val, + DataPos => $offset, + DataPt => \$buff, + Start => $valPos, + Size => $valLen, + Index => $i, + ); + $pos = $nxtPos; # step to next dictionary entry + } + } + return 1; +} + 1; # end __END__ @@ -180,6 +288,18 @@ Copyright 2003-2015, Phil Harvey (phil at owl.phy.queensu.ca) This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. +=head1 REFERENCES + +=over 4 + +=item L + +=item L + +=item L + +=back + =head1 SEE ALSO L, diff --git a/lib/Image/ExifTool/Canon.pm b/lib/Image/ExifTool/Canon.pm index 46d1977b..fa949799 100644 --- a/lib/Image/ExifTool/Canon.pm +++ b/lib/Image/ExifTool/Canon.pm @@ -83,7 +83,7 @@ sub ProcessSerialData($$$); sub ProcessFilters($$$); sub SwapWords($); -$VERSION = '3.46'; +$VERSION = '3.47'; # Note: Removed 'USM' from 'L' lenses since it is redundant - PH # (or is it? Ref 32 shows 5 non-USM L-type lenses) @@ -616,6 +616,7 @@ $VERSION = '3.46'; 0x3690000 => 'PowerShot ELPH 135 / IXUS 145 / IXY 120', 0x3700000 => 'PowerShot ELPH 340 HS / IXUS 265 HS / IXY 630', 0x3710000 => 'PowerShot ELPH 150 IS / IXUS 155 / IXY 140', + 0x3740000 => 'EOS M3', #52 0x3750000 => 'PowerShot SX60 HS', #52/53 0x3760000 => 'PowerShot SX520 HS', #52 0x3770000 => 'PowerShot SX400 IS', @@ -1912,6 +1913,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' ); 60 => 'High-speed Burst HQ', #PH (C='High-speed Burst HQ', same as 59) 61 => 'Smooth Skin', #51 62 => 'Soft Focus', #PH (SX260,IXUS240) + # 83 - seen for EOS M3 night shot (PH) 257 => 'Spotlight', #PH 258 => 'Night 2', #PH 259 => 'Night+', diff --git a/lib/Image/ExifTool/Exif.pm b/lib/Image/ExifTool/Exif.pm index bff5357d..7b61b2a8 100644 --- a/lib/Image/ExifTool/Exif.pm +++ b/lib/Image/ExifTool/Exif.pm @@ -52,7 +52,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::MakerNotes; -$VERSION = '3.68'; +$VERSION = '3.69'; sub ProcessExif($$$); sub WriteExif($$$); @@ -2825,6 +2825,9 @@ my %sampleFormat = ( 3 => 'FocusDistance', # focus distance in metres (0 is infinity) 4 => 'SubjectDistance', 5 => 'ObjectDistance', + 6 => 'AverageFocusDistance', + 7 => 'FocusDistanceLower', + 8 => 'FocusDistanceUpper', }, ValueConv => q{ ToFloat(@val); @@ -2832,8 +2835,11 @@ my %sampleFormat = ( if (defined $d) { $d or $d = 1e10; # (use large number for infinity) } else { - $d = $val[4] || $val[5]; - return undef unless defined $d; + $d = $val[4] || $val[5] || $val[6]; + unless (defined $d) { + return undef unless defined $val[7] and defined $val[8]; + $d = ($val[7] + $val[8]) / 2; + } } return 0 unless $f and $val[2]; my $t = $val[1] * $val[2] * ($d * 1000 - $f) / ($f * $f); @@ -2847,7 +2853,7 @@ my %sampleFormat = ( $v[1] or return sprintf("inf (%.2f m - inf)", $v[0]); my $dof = $v[1] - $v[0]; my $fmt = ($dof>0 and $dof<0.02) ? "%.3f" : "%.2f"; - return sprintf("$fmt m ($fmt - $fmt)",$dof,$v[0],$v[1]); + return sprintf("$fmt m ($fmt - $fmt m)",$dof,$v[0],$v[1]); }, }, FOV => { diff --git a/lib/Image/ExifTool/Nikon.pm b/lib/Image/ExifTool/Nikon.pm index 910280ed..5878ffcb 100644 --- a/lib/Image/ExifTool/Nikon.pm +++ b/lib/Image/ExifTool/Nikon.pm @@ -58,7 +58,7 @@ use vars qw($VERSION %nikonLensIDs %nikonTextEncoding); use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::Exif; -$VERSION = '3.04'; +$VERSION = '3.05'; sub LensIDConv($$$); sub ProcessNikonAVI($$$); @@ -581,6 +581,7 @@ sub GetAFPointGrid($$;$); '00 54 56 56 30 30 00 00' => 'Coastal Optical Systems 60mm 1:4 UV-VIS-IR Macro Apo', # '4A 40 11 11 2C 0C 4D 02' => 'Samyang 8mm f/3.5 Fish-Eye CS', + '4A 48 1E 1E 24 0C 4D 02' => 'Samyang 12mm f/2.8 ED AS NCS Fish-Eye', #Jurgen Sahlberg '4A 48 24 24 24 0C 4D 02' => 'Samyang AE 14mm f/2.8 ED AS IF UMC', #http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,3150.0.html '4A 54 29 29 18 0C 4D 02' => 'Samyang 16mm F2.0 ED AS UMC CS', #Jon Bloom (by email) '4A 60 44 44 0C 0C 4D 02' => 'Samyang 35mm f/1.4 AS UMC', diff --git a/lib/Image/ExifTool/Olympus.pm b/lib/Image/ExifTool/Olympus.pm index 47c5136f..5281c804 100644 --- a/lib/Image/ExifTool/Olympus.pm +++ b/lib/Image/ExifTool/Olympus.pm @@ -37,7 +37,7 @@ use vars qw($VERSION); use Image::ExifTool::Exif; use Image::ExifTool::APP12; -$VERSION = '2.29'; +$VERSION = '2.30'; sub PrintLensInfo($$$); @@ -348,6 +348,7 @@ my %olympusCameraTypes = ( D4842 => 'E-10', D4856 => 'C-1', D4857 => 'C-1Z,D-150Z', + D4587 => 'TG-860', DCHC => 'D500L', DCHT => 'D600L / D620L', K0055 => 'AIR-A01', diff --git a/lib/Image/ExifTool/QuickTime.pm b/lib/Image/ExifTool/QuickTime.pm index d2e132cd..ab44cbc6 100644 --- a/lib/Image/ExifTool/QuickTime.pm +++ b/lib/Image/ExifTool/QuickTime.pm @@ -298,9 +298,9 @@ my %graphicsMode = ( stored as UTC. Unfortunately, digital cameras often store local time values instead (presumably because they don't know the time zone). For this reason, by default ExifTool does not assume a time zone for these values. - However, if the QuickTimeUTC option is set via the API or the ExifTool - configuration file, then ExifTool will assume these values are properly - stored as UTC, and will convert them to local time when extracting. + However, if the QuickTimeUTC API option is set, then ExifTool will assume + these values are properly stored as UTC, and will convert them to local time + when extracting. See L diff --git a/lib/Image/ExifTool/Ricoh.pm b/lib/Image/ExifTool/Ricoh.pm index 960eaf90..82024454 100644 --- a/lib/Image/ExifTool/Ricoh.pm +++ b/lib/Image/ExifTool/Ricoh.pm @@ -9,6 +9,7 @@ # 2) http://homepage3.nifty.com/kamisaka/makernote/makernote_ricoh.htm # 3) Tim Gray private communication (GR) # 4) https://github.com/atotto/ricoh-theta-tools/ +# 5) Iliah Borg private communication (LibRaw) #------------------------------------------------------------------------------ package Image::ExifTool::Ricoh; @@ -18,7 +19,7 @@ use vars qw($VERSION); use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::Exif; -$VERSION = '1.28'; +$VERSION = '1.29'; sub ProcessRicohText($$$); sub ProcessRicohRMETA($$$); @@ -142,6 +143,7 @@ my %ricohLensIDs = ( 9 => 'Warm White Fluorescent', 10 => 'Manual', 11 => 'Kelvin', + 12 => 'Shade', #5 }, }], 0x1004 => { #3 diff --git a/lib/Image/ExifTool/TagLookup.pm b/lib/Image/ExifTool/TagLookup.pm index 627bc8af..7ab75087 100644 --- a/lib/Image/ExifTool/TagLookup.pm +++ b/lib/Image/ExifTool/TagLookup.pm @@ -418,6 +418,7 @@ my @tableList = ( 'Image::ExifTool::XMP::aux', 'Image::ExifTool::XMP::cc', 'Image::ExifTool::XMP::cell', + 'Image::ExifTool::XMP::creatorAtom', 'Image::ExifTool::XMP::crs', 'Image::ExifTool::XMP::dc', 'Image::ExifTool::XMP::dex', @@ -432,8 +433,10 @@ my @tableList = ( 'Image::ExifTool::XMP::pdf', 'Image::ExifTool::XMP::photoshop', 'Image::ExifTool::XMP::plus', + 'Image::ExifTool::XMP::pmi', 'Image::ExifTool::XMP::prism', 'Image::ExifTool::XMP::prl', + 'Image::ExifTool::XMP::prm', 'Image::ExifTool::XMP::pur', 'Image::ExifTool::XMP::rdf', 'Image::ExifTool::XMP::swf', @@ -452,13 +455,13 @@ my @tableList = ( # lookup for all writable tags my %tagLookup = ( 'aberrationcorrectiondistance' => { 90 => 0x69 }, - 'about' => { 403 => 'about' }, - 'aboutcvterm' => { 396 => 'AboutCvTerm' }, - 'aboutcvtermcvid' => { 396 => [\'AboutCvTerm','AboutCvTermCvId'] }, - 'aboutcvtermid' => { 396 => [\'AboutCvTerm','AboutCvTermCvTermId'] }, - 'aboutcvtermname' => { 396 => [\'AboutCvTerm','AboutCvTermCvTermName'] }, - 'aboutcvtermrefinedabout' => { 396 => [\'AboutCvTerm','AboutCvTermCvTermRefinedAbout'] }, - 'abspeakaudiofilepath' => { 409 => 'absPeakAudioFilePath' }, + 'about' => { 406 => 'about' }, + 'aboutcvterm' => { 397 => 'AboutCvTerm' }, + 'aboutcvtermcvid' => { 397 => [\'AboutCvTerm','AboutCvTermCvId'] }, + 'aboutcvtermid' => { 397 => [\'AboutCvTerm','AboutCvTermCvTermId'] }, + 'aboutcvtermname' => { 397 => [\'AboutCvTerm','AboutCvTermCvTermName'] }, + 'aboutcvtermrefinedabout' => { 397 => [\'AboutCvTerm','AboutCvTermCvTermRefinedAbout'] }, + 'abspeakaudiofilepath' => { 412 => 'absPeakAudioFilePath' }, 'accelerationtracking' => { 71 => 0x518 }, 'accelerometer' => { 319 => 0x3 }, 'accelerometerx' => { 261 => 0x8d }, @@ -466,22 +469,23 @@ my %tagLookup = ( 'accelerometerz' => { 261 => 0x8c }, 'accessoryserialnumber' => { 261 => 0x54 }, 'accessorytype' => { 261 => 0x53 }, + 'acedemicfield' => { 402 => 'acedemicField' }, 'actionadvised' => { 106 => 0x2a }, 'activearea' => { 98 => 0xc68d }, 'actived-lighting' => { 185 => 0x22, 219 => 0x24 }, 'actived-lightingmode' => { 219 => 0x25 }, 'adaptervoltage' => { 112 => 0x407 }, 'addaspectratioinfo' => { 71 => 0x80e }, - 'additionalmodelinformation' => { 396 => 'AddlModelInfo' }, + 'additionalmodelinformation' => { 397 => 'AddlModelInfo' }, 'addoriginaldecisiondata' => { 71 => 0x80f, 72 => 0x11, 73 => 0x13, 76 => 0x14 }, 'address' => { 133 => 'Address' }, 'adjustmentmode' => { 325 => 0x15 }, 'adobe' => { 99 => 'Adobe' }, - 'adultcontentwarning' => { 399 => 'AdultContentWarning', 402 => 'adultContentWarning' }, + 'adultcontentwarning' => { 400 => 'AdultContentWarning', 405 => 'adultContentWarning' }, 'advancedfilter' => { 103 => 0x1201 }, 'advancedraw' => { 221 => 0x76a43203 }, 'advancedscenetype' => { 261 => 0x3d }, - 'advisory' => { 407 => 'Advisory' }, + 'advisory' => { 410 => 'Advisory' }, 'ae_iso' => { 268 => 0x2, 269 => 0x4, 270 => 0x12 }, 'aeaperture' => { 268 => 0x1, 269 => 0x3, 270 => 0x11 }, 'aeaperturesteps' => { 268 => 0x8, 269 => 0xb }, @@ -508,6 +512,12 @@ my %tagLookup = ( 'aeminaperture' => { 268 => 0xb, 269 => 0x12, 270 => 0x1e }, 'aeminexposuretime' => { 268 => 0x5, 269 => 0x13, 270 => 0x1f }, 'aeprogrammode' => { 268 => 0x6 }, + 'aeprojectlink' => { 386 => 'aeProjectLink' }, + 'aeprojectlinkcompositionid' => { 386 => [\'aeProjectLink','aeProjectLinkCompositionID'] }, + 'aeprojectlinkfullpath' => { 386 => [\'aeProjectLink','aeProjectLinkFullPath'] }, + 'aeprojectlinkrenderoutputmoduleindex' => { 386 => [\'aeProjectLink','aeProjectLinkRenderOutputModuleIndex'] }, + 'aeprojectlinkrenderqueueitemid' => { 386 => [\'aeProjectLink','aeProjectLinkRenderQueueItemID'] }, + 'aeprojectlinkrendertimestamp' => { 386 => [\'aeProjectLink','aeProjectLinkRenderTimeStamp'] }, 'aesetting' => { 30 => 0x21 }, 'aewhitebalance' => { 268 => 0xd }, 'aexv' => { 268 => 0x3, 269 => 0x5 }, @@ -656,23 +666,27 @@ my %tagLookup = ( 'aftrackingsensitivity' => { 2 => 0x2 }, 'aftype' => { 326 => 0x2 }, 'afwithshutter' => { 333 => 0x2a }, - 'aggregationtype' => { 400 => 'aggregationType' }, - 'agreement' => { 402 => 'agreement' }, + 'aggregateissuenumber' => { 402 => 'aggregateIssueNumber' }, + 'aggregationtype' => { 402 => 'aggregationType' }, + 'agreement' => { 405 => 'agreement' }, 'aiservocontinuousshooting' => { 70 => 0x15 }, 'aiservofirstimagepriority' => { 71 => 0x519 }, 'aiservoimagepriority' => { 71 => 0x503 }, 'aiservosecondimagepriority' => { 71 => 0x51a }, 'aiservotrackingmethod' => { 71 => 0x504 }, 'aiservotrackingsensitivity' => { 70 => 0x14, 71 => 0x502 }, - 'album' => { 409 => 'album' }, - 'alreadyapplied' => { 386 => 'AlreadyApplied' }, - 'alternatetitle' => { 400 => 'alternateTitle' }, + 'album' => { 412 => 'album' }, + 'alreadyapplied' => { 387 => 'AlreadyApplied' }, + 'alternatetitle' => { 402 => 'alternateTitle' }, + 'alternatetitlea-lang' => { 402 => [\'alternateTitle','alternateTitleA-lang'] }, + 'alternatetitlea-platform' => { 402 => [\'alternateTitle','alternateTitleA-platform'] }, + 'alternatetitletext' => { 402 => [\'alternateTitle','alternateTitleText'] }, 'altitude' => { 163 => 0x6 }, - 'alttapename' => { 409 => 'altTapeName' }, - 'alttimecode' => { 409 => 'altTimecode' }, - 'alttimecodetimeformat' => { 409 => [\'altTimecode','altTimecodeTimeFormat'] }, - 'alttimecodetimevalue' => { 409 => [\'altTimecode','altTimecodeTimeValue'] }, - 'alttimecodevalue' => { 409 => [\'altTimecode','altTimecodeValue'] }, + 'alttapename' => { 412 => 'altTapeName' }, + 'alttimecode' => { 412 => 'altTimecode' }, + 'alttimecodetimeformat' => { 412 => [\'altTimecode','altTimecodeTimeFormat'] }, + 'alttimecodetimevalue' => { 412 => [\'altTimecode','altTimecodeTimeValue'] }, + 'alttimecodevalue' => { 412 => [\'altTimecode','altTimecodeValue'] }, 'ambienceselection' => { 4 => 0x1 }, 'ambienttemperature' => { 312 => 0x14, 363 => 0x4 }, 'ambienttemperaturefahrenheit' => { 312 => 0x13 }, @@ -686,40 +700,40 @@ my %tagLookup = ( 'aperturerange' => { 71 => 0x10d }, 'apertureringuse' => { 275 => '1.4' }, 'aperturesetting' => { 153 => 0x7, 333 => 0x30, 334 => 0x29, 335 => 0x1 }, - 'aperturevalue' => { 80 => 0x2, 98 => 0x9202, 246 => 0x1002, 390 => 'ApertureValue' }, + 'aperturevalue' => { 80 => 0x2, 98 => 0x9202, 246 => 0x1002, 391 => 'ApertureValue' }, 'applekeywords' => { 250 => 'AAPL:Keywords' }, 'applicationnotes' => { 98 => 0x2bc, 265 => 0x2bc }, 'applicationrecordversion' => { 106 => 0x0 }, 'applyshootingmeteringmode' => { 71 => 0x10e }, - 'approved' => { 392 => 'Approved' }, - 'approvedby' => { 392 => 'ApprovedBy' }, + 'approved' => { 393 => 'Approved' }, + 'approvedby' => { 393 => 'ApprovedBy' }, 'approximatefnumber' => { 257 => 0x313, 263 => 0x3406 }, 'approximatefocusdistance' => { 383 => 'ApproximateFocusDistance' }, 'armidentifier' => { 107 => 0x78 }, 'armversion' => { 107 => 0x7a }, 'artfilter' => { 241 => 0x529 }, 'artfiltereffect' => { 241 => 0x52f }, - 'artist' => { 98 => 0x13b, 253 => 'Artist', 294 => 0x22e, 405 => 'Artist', 409 => 'artist' }, + 'artist' => { 98 => 0x13b, 253 => 'Artist', 294 => 0x22e, 408 => 'Artist', 412 => 'artist' }, 'artmode' => { 94 => 0x301b }, 'artmodeparameters' => { 94 => 0x310b }, - 'artworkcircadatecreated' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCircaDateCreated'] }, - 'artworkcontributiondescription' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOContributionDescription'] }, - 'artworkcopyrightnotice' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCopyrightNotice'] }, - 'artworkcopyrightownerid' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerId'] }, - 'artworkcopyrightownername' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerName'] }, - 'artworkcreator' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCreator'] }, - 'artworkcreatorid' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCreatorId'] }, - 'artworkdatecreated' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAODateCreated'] }, - 'artworklicensorid' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorId'] }, - 'artworklicensorname' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorName'] }, - 'artworkorobject' => { 396 => 'ArtworkOrObject' }, - 'artworkphysicaldescription' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOPhysicalDescription'] }, - 'artworkscontentdescription' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOContentDescription'] }, - 'artworksource' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOSource'] }, - 'artworksourceinventoryno' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvNo'] }, - 'artworksourceinvurl' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvURL'] }, - 'artworkstyleperiod' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOStylePeriod'] }, - 'artworktitle' => { 396 => [\'ArtworkOrObject','ArtworkOrObjectAOTitle'] }, + 'artworkcircadatecreated' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCircaDateCreated'] }, + 'artworkcontributiondescription' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOContributionDescription'] }, + 'artworkcopyrightnotice' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCopyrightNotice'] }, + 'artworkcopyrightownerid' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerId'] }, + 'artworkcopyrightownername' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerName'] }, + 'artworkcreator' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCreator'] }, + 'artworkcreatorid' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCreatorId'] }, + 'artworkdatecreated' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAODateCreated'] }, + 'artworklicensorid' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorId'] }, + 'artworklicensorname' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorName'] }, + 'artworkorobject' => { 397 => 'ArtworkOrObject' }, + 'artworkphysicaldescription' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOPhysicalDescription'] }, + 'artworkscontentdescription' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOContentDescription'] }, + 'artworksource' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOSource'] }, + 'artworksourceinventoryno' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvNo'] }, + 'artworksourceinvurl' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvURL'] }, + 'artworkstyleperiod' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOStylePeriod'] }, + 'artworktitle' => { 397 => [\'ArtworkOrObject','ArtworkOrObjectAOTitle'] }, 'aspectframe' => { 245 => 0x1113 }, 'aspectratio' => { 5 => 0x0, 245 => 0x1112, 294 => 0x80, 333 => 0x55, 334 => 0x55, 335 => 0xa }, 'asshoticcprofile' => { 98 => 0xc68f }, @@ -737,19 +751,19 @@ my %tagLookup = ( 'audio' => { 261 => 0x20 }, 'audiobitrate' => { 56 => 0x6c }, 'audiochannels' => { 56 => 0x70 }, - 'audiochanneltype' => { 409 => 'audioChannelType' }, + 'audiochanneltype' => { 412 => 'audioChannelType' }, 'audiocompression' => { 127 => 'Compression' }, - 'audiocompressor' => { 409 => 'audioCompressor' }, + 'audiocompressor' => { 412 => 'audioCompressor' }, 'audioduration' => { 106 => 0x99 }, - 'audiomoddate' => { 409 => 'audioModDate' }, + 'audiomoddate' => { 412 => 'audioModDate' }, 'audiooutcue' => { 106 => 0x9a }, - 'audiosamplerate' => { 56 => 0x6e, 409 => 'audioSampleRate' }, - 'audiosampletype' => { 409 => 'audioSampleType' }, + 'audiosamplerate' => { 56 => 0x6e, 412 => 'audioSampleRate' }, + 'audiosampletype' => { 412 => 'audioSampleType' }, 'audiosamplingrate' => { 106 => 0x97 }, 'audiosamplingresolution' => { 106 => 0x98 }, 'audiotype' => { 106 => 0x96 }, - 'author' => { 129 => 'Author', 250 => 'Author', 253 => 'Author', 307 => 'Author', 381 => 'author', 397 => 'Author', 407 => 'Author' }, - 'authorsposition' => { 398 => 'AuthorsPosition' }, + 'author' => { 129 => 'Author', 250 => 'Author', 253 => 'Author', 307 => 'Author', 381 => 'author', 398 => 'Author', 410 => 'Author' }, + 'authorsposition' => { 399 => 'AuthorsPosition' }, 'autoaperture' => { 285 => '0.1' }, 'autobracket' => { 325 => 0x19 }, 'autobracketing' => { 103 => 0x1100, 294 => 0x18, 316 => 0x1007 }, @@ -758,25 +772,25 @@ my %tagLookup = ( 'autobracketmodem' => { 228 => '21.2', 229 => '13.3', 234 => '26.2', 238 => '13.3' }, 'autobracketorder' => { 153 => 0x43, 228 => '21.3', 229 => '13.2', 234 => '26.3', 235 => '12.2', 236 => '2.2', 237 => '12.2', 238 => '13.2', 239 => '13.2' }, 'autobracketset' => { 228 => '21.1', 229 => '13.1', 231 => '11.1', 232 => '12.1', 233 => '12.1', 234 => '26.1', 235 => '12.1', 236 => '2.1', 238 => '13.1', 239 => '13.1' }, - 'autobrightness' => { 386 => 'AutoBrightness' }, - 'autocontrast' => { 386 => 'AutoContrast' }, + 'autobrightness' => { 387 => 'AutoBrightness' }, + 'autocontrast' => { 387 => 'AutoContrast' }, 'autodistortioncontrol' => { 171 => 0x4 }, 'autodynamicrange' => { 103 => 0x140b }, - 'autoexposure' => { 386 => 'AutoExposure' }, + 'autoexposure' => { 387 => 'AutoExposure' }, 'autoexposurebracketing' => { 65 => 0x10 }, 'autofocus' => { 244 => 0x209 }, 'autofp' => { 236 => '7.3', 239 => '31.4' }, 'autoiso' => { 65 => 0x1, 94 => 0x3008, 230 => '1.1', 236 => '1.1' }, 'autoisomax' => { 230 => '1.2', 236 => '1.2' }, 'autoisominshutterspeed' => { 230 => '1.3', 236 => '1.3' }, - 'autolateralca' => { 386 => 'AutoLateralCA' }, + 'autolateralca' => { 387 => 'AutoLateralCA' }, 'autolightingoptimizer' => { 15 => 0xbe, 16 => 0xbf, 19 => 0xbf, 52 => 0x2, 71 => 0x204, 90 => 0x6f }, 'autolightingoptimizeron' => { 90 => 0x6e }, 'autoportraitframed' => { 345 => 0x2016 }, 'autoredeye' => { 221 => 0xfe28a44f }, 'autorotate' => { 65 => 0x1b }, - 'autoshadows' => { 386 => 'AutoShadows' }, - 'autowhiteversion' => { 386 => 'AutoWhiteVersion' }, + 'autoshadows' => { 387 => 'AutoShadows' }, + 'autowhiteversion' => { 387 => 'AutoWhiteVersion' }, 'auxiliarylens' => { 185 => 0x82 }, 'avaperturesetting' => { 275 => 0x13 }, 'averageblacklevel' => { 37 => 0xe7, 39 => 0xfb, 40 => 0x114 }, @@ -785,14 +799,14 @@ my %tagLookup = ( 'azimuth' => { 137 => 'Azimuth' }, 'babyage' => { 261 => [0x8010,0x33] }, 'babyname' => { 261 => 0x66 }, - 'backgroundalpha' => { 404 => 'bgalpha' }, + 'backgroundalpha' => { 407 => 'bgalpha' }, 'baseexposurecompensation' => { 275 => 0x15 }, 'baseiso' => { 65 => 0x2, 84 => 0x101c, 112 => 0x903, 263 => 0x312a, 368 => 0x6 }, 'baselineexposure' => { 98 => 0xc62a }, 'baselineexposureoffset' => { 98 => 0xc7a5 }, 'baselinenoise' => { 98 => 0xc62b }, 'baselinesharpness' => { 98 => 0xc62c }, - 'baseurl' => { 407 => 'BaseURL' }, + 'baseurl' => { 410 => 'BaseURL' }, 'batterylevel' => { 333 => 0x51, 337 => 0xc, 338 => 0x4, 339 => 0x4, 369 => 0x7 }, 'batterylevelgrip1' => { 369 => 0x6 }, 'batterylevelgrip2' => { 369 => 0x8 }, @@ -805,12 +819,12 @@ my %tagLookup = ( 'batteryvoltage2' => { 339 => 0x8 }, 'bayergreensplit' => { 98 => 0xc62d }, 'bayerpattern' => { 111 => 0xf902, 157 => 0x17 }, - 'beatspliceparams' => { 409 => 'beatSpliceParams' }, - 'beatspliceparamsriseindecibel' => { 409 => [\'beatSpliceParams','beatSpliceParamsRiseInDecibel'] }, - 'beatspliceparamsriseintimeduration' => { 409 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDuration'] }, - 'beatspliceparamsriseintimedurationscale' => { 409 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationScale'] }, - 'beatspliceparamsriseintimedurationvalue' => { 409 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationValue'] }, - 'beatspliceparamsusefilebeatsmarker' => { 409 => [\'beatSpliceParams','beatSpliceParamsUseFileBeatsMarker'] }, + 'beatspliceparams' => { 412 => 'beatSpliceParams' }, + 'beatspliceparamsriseindecibel' => { 412 => [\'beatSpliceParams','beatSpliceParamsRiseInDecibel'] }, + 'beatspliceparamsriseintimeduration' => { 412 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDuration'] }, + 'beatspliceparamsriseintimedurationscale' => { 412 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationScale'] }, + 'beatspliceparamsriseintimedurationvalue' => { 412 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationValue'] }, + 'beatspliceparamsusefilebeatsmarker' => { 412 => [\'beatSpliceParams','beatSpliceParamsUseFileBeatsMarker'] }, 'beep' => { 228 => '13.1', 229 => '5.4', 230 => '0.1', 231 => '2.1', 232 => '3.1', 233 => '3.1', 234 => '10.1', 236 => '0.1', 238 => '5.5', 239 => '4.1' }, 'beeppitch' => { 235 => '3.1' }, 'beepvolume' => { 235 => '4.5' }, @@ -818,7 +832,7 @@ my %tagLookup = ( 'bestshotmode' => { 94 => 0x3007 }, 'bitdepth' => { 134 => 'BitDepth', 157 => 0x11, 191 => 0x41 }, 'bitspercomponent' => { 108 => 0x87 }, - 'bitspersample' => { 98 => 0x102, 405 => 'BitsPerSample' }, + 'bitspersample' => { 98 => 0x102, 408 => 'BitsPerSample' }, 'blacklevel' => { 98 => 0xc61a, 185 => 0x3d, 246 => [0x401,0x1012] }, 'blacklevel1' => { 265 => 0x8 }, 'blacklevel2' => { 245 => 0x600, 249 => 0x600, 265 => 0x9 }, @@ -830,13 +844,15 @@ my %tagLookup = ( 'blacklevelred' => { 265 => 0x1c }, 'blacklevelrepeatdim' => { 98 => 0xc619 }, 'blackpoint' => { 294 => 0x200 }, - 'blacks2012' => { 386 => 'Blacks2012' }, + 'blacks2012' => { 387 => 'Blacks2012' }, 'bleachbypasstoning' => { 294 => 0x7f }, + 'blogtitle' => { 402 => 'blogTitle' }, + 'blogurl' => { 402 => 'blogURL' }, 'bluebalance' => { 169 => 0x271, 246 => 0x1018, 265 => 0x12, 294 => 0x1b }, 'bluecurvelimits' => { 89 => 0x1fe }, 'bluecurvepoints' => { 89 => 0x1d4 }, - 'bluehue' => { 386 => 'BlueHue' }, - 'bluesaturation' => { 386 => 'BlueSaturation' }, + 'bluehue' => { 387 => 'BlueHue' }, + 'bluesaturation' => { 387 => 'BlueSaturation' }, 'blurcontrol' => { 294 => 0x82 }, 'blurwarning' => { 103 => 0x1300 }, 'bodybatteryadload' => { 273 => 0x3 }, @@ -849,6 +865,7 @@ my %tagLookup = ( 'bodyfirmware' => { 317 => 0x0 }, 'bodyfirmwareversion' => { 242 => 0x104, 243 => 0x100, 246 => 0x104 }, 'bodyserialnumber' => { 317 => 0x10 }, + 'bookedition' => { 402 => 'bookEdition' }, 'bracketmode' => { 47 => 0x3 }, 'bracketsequence' => { 94 => 0x301d }, 'bracketsettings' => { 261 => 0x45 }, @@ -856,9 +873,9 @@ my %tagLookup = ( 'bracketshotnumber2' => { 344 => 0x2d }, 'bracketstep' => { 150 => 0xe }, 'bracketvalue' => { 47 => 0x4 }, - 'brightness' => { 98 => 0xfe53, 128 => 'Brightness', 150 => 0x2c, 187 => 0x34, 312 => 0x25, 333 => 0x22, 345 => 0x2007, 386 => 'Brightness' }, + 'brightness' => { 98 => 0xfe53, 128 => 'Brightness', 150 => 0x2c, 187 => 0x34, 312 => 0x25, 333 => 0x22, 345 => 0x2007, 387 => 'Brightness' }, 'brightnessadj' => { 89 => 0x114, 214 => 0x0, 224 => 0x2d, 372 => 0x8018 }, - 'brightnessvalue' => { 98 => 0x9203, 156 => [0x691,0x49c3], 246 => 0x1003, 349 => 0x1e, 352 => 0x1140, 353 => 0x1140, 354 => 0x111c, 355 => 0x1198, 356 => 0x1174, 357 => 0x102c, 358 => 0x224, 390 => 'BrightnessValue' }, + 'brightnessvalue' => { 98 => 0x9203, 156 => [0x691,0x49c3], 246 => 0x1003, 349 => 0x1e, 352 => 0x1140, 353 => 0x1140, 354 => 0x111c, 355 => 0x1198, 356 => 0x1174, 357 => 0x102c, 358 => 0x224, 391 => 'BrightnessValue' }, 'bulbduration' => { 65 => 0x18 }, 'burstmode' => { 114 => 0xa, 261 => 0x2a }, 'burstmode2' => { 114 => 0x18 }, @@ -870,11 +887,11 @@ my %tagLookup = ( 'bwmode' => { 246 => 0x203 }, 'by-line' => { 106 => 0x50 }, 'by-linetitle' => { 106 => 0x55 }, - 'bytecount' => { 400 => 'byteCount' }, + 'bytecount' => { 402 => 'byteCount' }, 'calibration' => { 325 => [0x24,0x30] }, 'calibrationilluminant1' => { 98 => 0xc65a }, 'calibrationilluminant2' => { 98 => 0xc65b }, - 'cameraangle' => { 409 => 'cameraAngle' }, + 'cameraangle' => { 412 => 'cameraAngle' }, 'cameracalibration1' => { 98 => 0xc623 }, 'cameracalibration2' => { 98 => 0xc624 }, 'cameracalibrationsig' => { 98 => 0xc6f3 }, @@ -895,14 +912,14 @@ my %tagLookup = ( 'cameracolorcalibration15' => { 32 => 0x38, 38 => 0x100 }, 'cameraid' => { 246 => 0x209, 324 => 0x209 }, 'cameraiso' => { 30 => 0x10 }, - 'cameralabel' => { 98 => 0xc7a1, 409 => 'cameraLabel' }, - 'cameramodel' => { 409 => 'cameraModel' }, - 'cameramove' => { 409 => 'cameraMove' }, + 'cameralabel' => { 98 => 0xc7a1, 412 => 'cameraLabel' }, + 'cameramodel' => { 412 => 'cameraModel' }, + 'cameramove' => { 412 => 'cameraMove' }, 'cameraorientation' => { 6 => 0x30, 8 => 0x7d, 10 => 0x30, 12 => 0x35, 13 => 0x30, 14 => 0x30, 15 => 0x31, 16 => 0x31, 17 => 0x35, 18 => 0x27, 19 => 0x31, 20 => 0x7d, 21 => 0x38, 22 => 0x36, 23 => 0x7d, 24 => 0x83, 25 => 0x84, 26 => 0x35, 261 => 0x8f, 297 => 0x1, 339 => [0x16,0x18], 360 => 0x28, 361 => 0x24, 362 => 0x29 }, 'cameraowner' => { 115 => 0xc353 }, 'cameraparameters' => { 246 => 0x2050 }, - 'cameraprofile' => { 386 => 'CameraProfile' }, - 'cameraprofiledigest' => { 386 => 'CameraProfileDigest' }, + 'cameraprofile' => { 387 => 'CameraProfile' }, + 'cameraprofiledigest' => { 387 => 'CameraProfileDigest' }, 'cameraserialnumber' => { 98 => 0xc62f, 148 => 'CameraSerialNumber' }, 'camerasettingsversion' => { 241 => 0x0 }, 'cameratemperature' => { 6 => 0x18, 8 => 0x1b, 10 => 0x18, 12 => 0x19, 13 => 0x18, 14 => 0x18, 15 => 0x19, 16 => 0x19, 17 => 0x19, 18 => 0x17, 19 => 0x19, 20 => 0x1b, 21 => 0x19, 22 => 0x19, 23 => 0x1b, 24 => 0x1b, 25 => 0x1b, 26 => 0x19, 27 => [0x87,0x91], 28 => [0x99,0x9f,0xa4,0xa8,0x105], 29 => ['-3',0x64,0x47,0x53,0x5b,0x5c], 65 => 0xc, 112 => 0x406, 245 => 0x1306, 257 => 0x320, 263 => 0x3402, 294 => 0x47, 322 => 0x43, 364 => 0x5 }, @@ -926,16 +943,16 @@ my %tagLookup = ( 'canonvrd' => { 99 => 'CanonVRD' }, 'caption' => { 381 => 'caption' }, 'caption-abstract' => { 106 => 0x78 }, - 'captionsauthornames' => { 389 => 'CaptionsAuthorNames' }, - 'captionsdatetimestamps' => { 389 => 'CaptionsDateTimeStamps' }, - 'captionwriter' => { 398 => 'CaptionWriter' }, + 'captionsauthornames' => { 390 => 'CaptionsAuthorNames' }, + 'captionsdatetimestamps' => { 390 => 'CaptionsDateTimeStamps' }, + 'captionwriter' => { 399 => 'CaptionWriter' }, 'captureframerate' => { 94 => 0x4001 }, 'capturesoftware' => { 376 => 'CaptureSoftware' }, 'cardshutterlock' => { 153 => 0x49 }, 'casioimagesize' => { 94 => 0x9 }, 'catalogsets' => { 106 => 0xff, 375 => 'CatalogSets', 379 => 'CatalogSets' }, 'categories' => { 53 => 0x23, 381 => 'categories' }, - 'category' => { 106 => 0xf, 240 => 0x30, 398 => 'Category' }, + 'category' => { 106 => 0xf, 240 => 0x30, 399 => 'Category' }, 'cbcrgain' => { 322 => 0xa036 }, 'cbcrgaindefault' => { 322 => 0xa035 }, 'cbcrmatrix' => { 322 => 0xa034 }, @@ -952,89 +969,95 @@ my %tagLookup = ( 'centerafarea' => { 236 => '15.1' }, 'centerfocuspoint' => { 239 => '2.2' }, 'centerweightedareasize' => { 228 => '7.1', 229 => '8.1', 234 => '5.1', 235 => '7.1', 236 => '6.3', 238 => '8.1', 239 => '8.1' }, - 'certificate' => { 413 => 'Certificate' }, - 'cfapattern' => { 98 => 0xa302, 390 => 'CFAPattern' }, + 'certificate' => { 416 => 'Certificate' }, + 'cfapattern' => { 98 => 0xa302, 391 => 'CFAPattern' }, 'cfapattern2' => { 98 => 0x828e }, - 'cfapatterncolumns' => { 390 => [\'CFAPattern','CFAPatternColumns'] }, - 'cfapatternrows' => { 390 => [\'CFAPattern','CFAPatternRows'] }, - 'cfapatternvalues' => { 390 => [\'CFAPattern','CFAPatternValues'] }, + 'cfapatterncolumns' => { 391 => [\'CFAPattern','CFAPatternColumns'] }, + 'cfapatternrows' => { 391 => [\'CFAPattern','CFAPatternRows'] }, + 'cfapatternvalues' => { 391 => [\'CFAPattern','CFAPatternValues'] }, 'cfarepeatpatterndim' => { 98 => 0x828d }, - 'channel' => { 400 => 'channel' }, + 'channel' => { 402 => 'channel' }, + 'channela-lang' => { 402 => [\'channel','channelA-lang'] }, + 'channelchannel' => { 402 => [\'channel','channelChannel'] }, 'channels' => { 127 => 'Channels' }, + 'channelsubchannel1' => { 402 => [\'channel','channelSubchannel1'] }, + 'channelsubchannel2' => { 402 => [\'channel','channelSubchannel2'] }, + 'channelsubchannel3' => { 402 => [\'channel','channelSubchannel3'] }, + 'channelsubchannel4' => { 402 => [\'channel','channelSubchannel4'] }, 'checkmark' => { 89 => 0x26a }, 'checkmark2' => { 90 => 0x8e }, - 'childfontfiles' => { 414 => [\'Fonts','FontsChildFontFiles'] }, + 'childfontfiles' => { 417 => [\'Fonts','FontsChildFontFiles'] }, 'chmodeshootingspeed' => { 228 => '10.3', 229 => '11.2' }, 'chromablurradius' => { 98 => 0xc631 }, 'chromaticaberration' => { 90 => 0x66, 322 => 0xa051 }, - 'chromaticaberrationb' => { 386 => 'ChromaticAberrationB' }, + 'chromaticaberrationb' => { 387 => 'ChromaticAberrationB' }, 'chromaticaberrationblue' => { 90 => 0x6b }, 'chromaticaberrationcorr' => { 67 => [0x4,0x5] }, 'chromaticaberrationcorrection' => { 284 => 0x1 }, 'chromaticaberrationon' => { 90 => 0x62 }, - 'chromaticaberrationr' => { 386 => 'ChromaticAberrationR' }, + 'chromaticaberrationr' => { 387 => 'ChromaticAberrationR' }, 'chromaticaberrationred' => { 90 => 0x6a }, 'chromaticaberrationsetting' => { 68 => 0x6 }, 'chrominancenoisereduction' => { 90 => 0x5e, 325 => 0x1a }, 'chrominancenr_tiff_jpeg' => { 90 => 0x60 }, - 'circgradbasedcorractive' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionActive'] }, - 'circgradbasedcorramount' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionAmount'] }, - 'circgradbasedcorrbrightness' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalBrightness'] }, - 'circgradbasedcorrclarity' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity'] }, - 'circgradbasedcorrclarity2012' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity2012'] }, - 'circgradbasedcorrcontrast' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast'] }, - 'circgradbasedcorrcontrast2012' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast2012'] }, - 'circgradbasedcorrdefringe' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalDefringe'] }, - 'circgradbasedcorrexposure' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure'] }, - 'circgradbasedcorrexposure2012' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure2012'] }, - 'circgradbasedcorrhighlights2012' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalHighlights2012'] }, - 'circgradbasedcorrhue' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalToningHue'] }, - 'circgradbasedcorrluminancenoise' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalLuminanceNoise'] }, - 'circgradbasedcorrmaskalpha' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAlpha'] }, - 'circgradbasedcorrmaskangle' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAngle'] }, - 'circgradbasedcorrmaskbottom' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksBottom'] }, - 'circgradbasedcorrmaskcentervalue' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterValue'] }, - 'circgradbasedcorrmaskcenterweight' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterWeight'] }, - 'circgradbasedcorrmaskdabs' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksDabs'] }, - 'circgradbasedcorrmaskfeather' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFeather'] }, - 'circgradbasedcorrmaskflipped' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlipped'] }, - 'circgradbasedcorrmaskflow' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlow'] }, - 'circgradbasedcorrmaskfullx' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullX'] }, - 'circgradbasedcorrmaskfully' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullY'] }, - 'circgradbasedcorrmaskleft' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksLeft'] }, - 'circgradbasedcorrmaskmidpoint' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMidpoint'] }, - 'circgradbasedcorrmaskperimetervalue' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksPerimeterValue'] }, - 'circgradbasedcorrmaskradius' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRadius'] }, - 'circgradbasedcorrmaskright' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRight'] }, - 'circgradbasedcorrmaskroundness' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRoundness'] }, - 'circgradbasedcorrmasks' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasks'] }, - 'circgradbasedcorrmasksizex' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeX'] }, - 'circgradbasedcorrmasksizey' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeY'] }, - 'circgradbasedcorrmasktop' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksTop'] }, - 'circgradbasedcorrmaskvalue' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMaskValue'] }, - 'circgradbasedcorrmaskversion' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksVersion'] }, - 'circgradbasedcorrmaskwhat' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksWhat'] }, - 'circgradbasedcorrmaskx' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksX'] }, - 'circgradbasedcorrmasky' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksY'] }, - 'circgradbasedcorrmaskzerox' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroX'] }, - 'circgradbasedcorrmaskzeroy' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroY'] }, - 'circgradbasedcorrmoire' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalMoire'] }, - 'circgradbasedcorrsaturation' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSaturation','CircularGradientBasedCorrectionsLocalToningSaturation'] }, - 'circgradbasedcorrshadows2012' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalShadows2012'] }, - 'circgradbasedcorrsharpness' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSharpness'] }, - 'circgradbasedcorrtemperature' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTemperature'] }, - 'circgradbasedcorrtint' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTint'] }, - 'circgradbasedcorrwhat' => { 386 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsWhat'] }, - 'circulargradientbasedcorrections' => { 386 => 'CircularGradientBasedCorrections' }, - 'city' => { 106 => 0x5a, 133 => 'City', 261 => 0x6d, 398 => 'City' }, + 'circgradbasedcorractive' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionActive'] }, + 'circgradbasedcorramount' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionAmount'] }, + 'circgradbasedcorrbrightness' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalBrightness'] }, + 'circgradbasedcorrclarity' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity'] }, + 'circgradbasedcorrclarity2012' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity2012'] }, + 'circgradbasedcorrcontrast' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast'] }, + 'circgradbasedcorrcontrast2012' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast2012'] }, + 'circgradbasedcorrdefringe' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalDefringe'] }, + 'circgradbasedcorrexposure' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure'] }, + 'circgradbasedcorrexposure2012' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure2012'] }, + 'circgradbasedcorrhighlights2012' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalHighlights2012'] }, + 'circgradbasedcorrhue' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalToningHue'] }, + 'circgradbasedcorrluminancenoise' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalLuminanceNoise'] }, + 'circgradbasedcorrmaskalpha' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAlpha'] }, + 'circgradbasedcorrmaskangle' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAngle'] }, + 'circgradbasedcorrmaskbottom' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksBottom'] }, + 'circgradbasedcorrmaskcentervalue' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterValue'] }, + 'circgradbasedcorrmaskcenterweight' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterWeight'] }, + 'circgradbasedcorrmaskdabs' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksDabs'] }, + 'circgradbasedcorrmaskfeather' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFeather'] }, + 'circgradbasedcorrmaskflipped' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlipped'] }, + 'circgradbasedcorrmaskflow' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlow'] }, + 'circgradbasedcorrmaskfullx' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullX'] }, + 'circgradbasedcorrmaskfully' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullY'] }, + 'circgradbasedcorrmaskleft' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksLeft'] }, + 'circgradbasedcorrmaskmidpoint' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMidpoint'] }, + 'circgradbasedcorrmaskperimetervalue' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksPerimeterValue'] }, + 'circgradbasedcorrmaskradius' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRadius'] }, + 'circgradbasedcorrmaskright' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRight'] }, + 'circgradbasedcorrmaskroundness' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRoundness'] }, + 'circgradbasedcorrmasks' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasks'] }, + 'circgradbasedcorrmasksizex' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeX'] }, + 'circgradbasedcorrmasksizey' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeY'] }, + 'circgradbasedcorrmasktop' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksTop'] }, + 'circgradbasedcorrmaskvalue' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMaskValue'] }, + 'circgradbasedcorrmaskversion' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksVersion'] }, + 'circgradbasedcorrmaskwhat' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksWhat'] }, + 'circgradbasedcorrmaskx' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksX'] }, + 'circgradbasedcorrmasky' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksY'] }, + 'circgradbasedcorrmaskzerox' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroX'] }, + 'circgradbasedcorrmaskzeroy' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroY'] }, + 'circgradbasedcorrmoire' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalMoire'] }, + 'circgradbasedcorrsaturation' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSaturation','CircularGradientBasedCorrectionsLocalToningSaturation'] }, + 'circgradbasedcorrshadows2012' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalShadows2012'] }, + 'circgradbasedcorrsharpness' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSharpness'] }, + 'circgradbasedcorrtemperature' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTemperature'] }, + 'circgradbasedcorrtint' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTint'] }, + 'circgradbasedcorrwhat' => { 387 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsWhat'] }, + 'circulargradientbasedcorrections' => { 387 => 'CircularGradientBasedCorrections' }, + 'city' => { 106 => 0x5a, 133 => 'City', 261 => 0x6d, 399 => 'City' }, 'city2' => { 261 => 0x80 }, - 'clarity' => { 386 => 'Clarity' }, - 'clarity2012' => { 386 => 'Clarity2012' }, + 'clarity' => { 387 => 'Clarity' }, + 'clarity2012' => { 387 => 'Clarity2012' }, 'classifystate' => { 106 => 0xe1 }, 'clearretouch' => { 261 => 0x7c }, 'clearretouchvalue' => { 261 => 0xa3 }, - 'client' => { 409 => 'client' }, - 'clientname' => { 392 => 'ClientName' }, + 'client' => { 412 => 'client' }, + 'clientname' => { 393 => 'ClientName' }, 'clmodeshootingspeed' => { 228 => '10.2', 229 => '11.3', 234 => '11.2', 235 => '10.2', 238 => '11.2', 239 => '11.1' }, 'cmcontrast' => { 249 => 0x2022 }, 'cmexposurecompensation' => { 249 => 0x2000 }, @@ -1049,24 +1072,25 @@ my %tagLookup = ( 'collectionname' => { 142 => [\'Collections','CollectionsCollectionName'] }, 'collections' => { 142 => 'Collections' }, 'collectionuri' => { 142 => [\'Collections','CollectionsCollectionURI'] }, + 'color' => { 401 => 'color' }, 'coloraberrationcontrol' => { 221 => 0xc89224b }, 'coloradjustment' => { 325 => 0x14 }, 'coloradjustmentmode' => { 324 => 0x210 }, - 'coloranta' => { 414 => [\'Colorants','ColorantsA'] }, - 'colorantb' => { 414 => [\'Colorants','ColorantsB'] }, - 'colorantblack' => { 414 => [\'Colorants','ColorantsBlack'] }, - 'colorantblue' => { 414 => [\'Colorants','ColorantsBlue'] }, - 'colorantcyan' => { 414 => [\'Colorants','ColorantsCyan'] }, - 'colorantgreen' => { 414 => [\'Colorants','ColorantsGreen'] }, - 'colorantl' => { 414 => [\'Colorants','ColorantsL'] }, - 'colorantmagenta' => { 414 => [\'Colorants','ColorantsMagenta'] }, - 'colorantmode' => { 414 => [\'Colorants','ColorantsMode'] }, - 'colorantred' => { 414 => [\'Colorants','ColorantsRed'] }, - 'colorants' => { 414 => 'Colorants' }, - 'colorantswatchname' => { 414 => [\'Colorants','ColorantsSwatchName'] }, - 'coloranttint' => { 414 => [\'Colorants','ColorantsTint'] }, - 'coloranttype' => { 414 => [\'Colorants','ColorantsType'] }, - 'colorantyellow' => { 414 => [\'Colorants','ColorantsYellow'] }, + 'coloranta' => { 417 => [\'Colorants','ColorantsA'] }, + 'colorantb' => { 417 => [\'Colorants','ColorantsB'] }, + 'colorantblack' => { 417 => [\'Colorants','ColorantsBlack'] }, + 'colorantblue' => { 417 => [\'Colorants','ColorantsBlue'] }, + 'colorantcyan' => { 417 => [\'Colorants','ColorantsCyan'] }, + 'colorantgreen' => { 417 => [\'Colorants','ColorantsGreen'] }, + 'colorantl' => { 417 => [\'Colorants','ColorantsL'] }, + 'colorantmagenta' => { 417 => [\'Colorants','ColorantsMagenta'] }, + 'colorantmode' => { 417 => [\'Colorants','ColorantsMode'] }, + 'colorantred' => { 417 => [\'Colorants','ColorantsRed'] }, + 'colorants' => { 417 => 'Colorants' }, + 'colorantswatchname' => { 417 => [\'Colorants','ColorantsSwatchName'] }, + 'coloranttint' => { 417 => [\'Colorants','ColorantsTint'] }, + 'coloranttype' => { 417 => [\'Colorants','ColorantsType'] }, + 'colorantyellow' => { 417 => [\'Colorants','ColorantsYellow'] }, 'colorbalance' => { 128 => 'ColorBalance' }, 'colorbalanceadj' => { 221 => 0x76a43202 }, 'colorbalanceblue' => { 150 => 0x1e }, @@ -1089,7 +1113,7 @@ my %tagLookup = ( 'colorgain' => { 191 => 0x51 }, 'colorhue' => { 185 => 0x8d }, 'colorimetricreference' => { 98 => 0xc6bf }, - 'colorlabel' => { 389 => 'ColorLabel' }, + 'colorlabel' => { 390 => 'ColorLabel' }, 'colormatrix' => { 245 => 0x200, 246 => 0x1011, 322 => 0xa030 }, 'colormatrix1' => { 98 => 0xc621 }, 'colormatrix2' => { 98 => 0xc622, 249 => 0x200 }, @@ -1098,19 +1122,19 @@ my %tagLookup = ( 'colormatrixb' => { 294 => 0x204 }, 'colormatrixnumber' => { 246 => 0x1019 }, 'colormatrixsrgb' => { 322 => 0xa031 }, - 'colormode' => { 94 => 0x3015, 103 => 0x1210, 114 => 0x66, 150 => 0x28, 153 => 0x16, 155 => 0x101, 156 => 0x36, 158 => 0x7, 185 => 0x3, 211 => 0x4, 261 => 0x32, 325 => 0x2c, 345 => 0xb029, 398 => 'ColorMode' }, + 'colormode' => { 94 => 0x3015, 103 => 0x1210, 114 => 0x66, 150 => 0x28, 153 => 0x16, 155 => 0x101, 156 => 0x36, 158 => 0x7, 185 => 0x3, 211 => 0x4, 261 => 0x32, 325 => 0x2c, 345 => 0xb029, 399 => 'ColorMode' }, 'colormoirereduction' => { 222 => 0x15 }, 'colormoirereductionmode' => { 222 => 0x5 }, - 'colornoisereduction' => { 372 => 0x8029, 386 => 'ColorNoiseReduction' }, - 'colornoisereductiondetail' => { 386 => 'ColorNoiseReductionDetail' }, + 'colornoisereduction' => { 372 => 0x8029, 387 => 'ColorNoiseReduction' }, + 'colornoisereductiondetail' => { 387 => 'ColorNoiseReductionDetail' }, 'colornoisereductionintensity' => { 222 => 0x18 }, 'colornoisereductionsharpness' => { 222 => 0x1c }, - 'colornoisereductionsmoothness' => { 386 => 'ColorNoiseReductionSmoothness' }, + 'colornoisereductionsmoothness' => { 387 => 'ColorNoiseReductionSmoothness' }, 'colorplanes' => { 102 => 0x2 }, 'colorprofile' => { 150 => 0x33 }, 'colorrepresentation' => { 108 => 0x3c }, 'colorsequence' => { 108 => 0x41 }, - 'colorspace' => { 41 => 0x3, 53 => 0xb4, 84 => 0x10b4, 98 => 0xa001, 134 => 'ColorSpace', 151 => 0x2f, 152 => 0x25, 153 => 0x17, 185 => 0x1e, 241 => 0x507, 294 => 0x37, 322 => 0xa011, 325 => 0xb, 333 => 0x1b, 334 => 0x83, 335 => 0xe, 349 => 0x6, 390 => 'ColorSpace' }, + 'colorspace' => { 41 => 0x3, 53 => 0xb4, 84 => 0x10b4, 98 => 0xa001, 134 => 'ColorSpace', 151 => 0x2f, 152 => 0x25, 153 => 0x17, 185 => 0x1e, 241 => 0x507, 294 => 0x37, 322 => 0xa011, 325 => 0xb, 333 => 0x1b, 334 => 0x83, 335 => 0xe, 349 => 0x6, 391 => 'ColorSpace' }, 'colortempasshot' => { 33 => 0x4, 34 => 0x1d, 35 => 0x26, 36 => 0x43, 39 => 0x43, 40 => 0x43 }, 'colortempauto' => { 33 => 0x9, 34 => 0x22, 35 => 0x1c, 36 => 0x48, 39 => 0x48, 40 => 0x48 }, 'colortempcloudy' => { 33 => 0x22, 34 => 0x31, 35 => 0x35, 36 => 0x5c, 39 => 0x75, 40 => 0x8e, 294 => 0x55 }, @@ -1118,7 +1142,7 @@ my %tagLookup = ( 'colortempcustom1' => { 34 => 0x45 }, 'colortempcustom2' => { 34 => 0x4a }, 'colortempdaylight' => { 33 => 0x18, 34 => 0x27, 35 => 0x2b, 36 => 0x52, 39 => 0x6b, 40 => 0x84, 294 => 0x53 }, - 'colortemperature' => { 6 => 0x73, 7 => [0x48,0x4e], 8 => 0xc0, 9 => 0x37, 10 => 0x62, 11 => 0x37, 12 => 0x7c, 13 => 0x73, 14 => 0x73, 15 => 0x77, 16 => 0x73, 17 => 0x7c, 18 => 0x58, 19 => 0x73, 20 => 0xc0, 21 => 0x7f, 22 => 0x7d, 23 => 0xc0, 24 => 0xc6, 25 => 0xc7, 26 => 0x7b, 53 => 0xae, 63 => 0x9, 84 => 0x10ae, 103 => 0x1005, 112 => 0x846, 128 => 'ColorTemperature', 151 => [0x6e,0x49], 152 => 0x3f, 153 => [0x39,0x5e], 155 => 0x10b, 158 => [0x3c,0x4c,0x4e], 257 => 0x321, 294 => 0x50, 316 => 0x1308, 345 => 0xb021, 386 => 'Temperature' }, + 'colortemperature' => { 6 => 0x73, 7 => [0x48,0x4e], 8 => 0xc0, 9 => 0x37, 10 => 0x62, 11 => 0x37, 12 => 0x7c, 13 => 0x73, 14 => 0x73, 15 => 0x77, 16 => 0x73, 17 => 0x7c, 18 => 0x58, 19 => 0x73, 20 => 0xc0, 21 => 0x7f, 22 => 0x7d, 23 => 0xc0, 24 => 0xc6, 25 => 0xc7, 26 => 0x7b, 53 => 0xae, 63 => 0x9, 84 => 0x10ae, 103 => 0x1005, 112 => 0x846, 128 => 'ColorTemperature', 151 => [0x6e,0x49], 152 => 0x3f, 153 => [0x39,0x5e], 155 => 0x10b, 158 => [0x3c,0x4c,0x4e], 257 => 0x321, 294 => 0x50, 316 => 0x1308, 345 => 0xb021, 387 => 'Temperature' }, 'colortemperatureadj' => { 372 => 0x8013 }, 'colortemperaturebg' => { 246 => 0x1013 }, 'colortemperaturecustom' => { 333 => 0xc, 334 => 0xb }, @@ -1193,31 +1217,33 @@ my %tagLookup = ( 'commanderinternalttlcompgroupb' => { 234 => '22.1', 235 => '28.1' }, 'comment' => { 0 => 0x2, 99 => 'Comment', 129 => 'Comment', 253 => 'Comment' }, 'compass' => { 319 => 0x4 }, - 'complianceprofile' => { 400 => 'complianceProfile' }, - 'componentsconfiguration' => { 98 => 0x9101, 134 => 'Components', 390 => 'ComponentsConfiguration' }, + 'complianceprofile' => { 402 => 'complianceProfile' }, + 'componentsconfiguration' => { 98 => 0x9101, 134 => 'Components', 391 => 'ComponentsConfiguration' }, 'componentversion' => { 84 => 0x80c }, - 'composer' => { 409 => 'composer' }, + 'composer' => { 412 => 'composer' }, 'compositionadjust' => { 293 => '0.1' }, 'compositionadjustrotation' => { 293 => 0x7 }, 'compositionadjustx' => { 293 => 0x5 }, 'compositionadjusty' => { 293 => 0x6 }, - 'compressedbitsperpixel' => { 98 => 0x9102, 390 => 'CompressedBitsPerPixel' }, + 'compressedbitsperpixel' => { 98 => 0x9102, 391 => 'CompressedBitsPerPixel' }, 'compressedimagesize' => { 155 => 0x40, 246 => 0x40 }, - 'compression' => { 98 => 0x103, 405 => 'Compression' }, + 'compression' => { 98 => 0x103, 408 => 'Compression' }, 'compressionfactor' => { 241 => 0x50d }, 'compressionratio' => { 134 => 'Compression', 246 => 0x1034 }, 'confidencelevel' => { 382 => 'ConfidenceLevel' }, 'constrainedcropheight' => { 89 => 0x266, 302 => 0xd6 }, 'constrainedcropwidth' => { 89 => 0x262, 302 => 0xd5 }, 'contact' => { 106 => 0x76 }, + 'contactinfo' => { 401 => 'contactInfo' }, 'contentlocationcode' => { 106 => 0x1a }, 'contentlocationname' => { 106 => 0x1b }, + 'contenttype' => { 402 => 'contentType' }, 'continuousbracketing' => { 153 => 0x20 }, 'continuousdrive' => { 30 => 0x5 }, 'continuousshootingspeed' => { 71 => 0x610 }, 'continuousshotlimit' => { 71 => 0x611 }, - 'contrast' => { 9 => 0x73, 11 => 0x75, 30 => 0xd, 93 => 0xc, 94 => [0x3012,0x20], 98 => [0xa408,0xfe54], 103 => [0x1004,0x1006], 128 => 'Contrast', 150 => 0x20, 151 => 0x31, 152 => 0x27, 153 => 0x19, 158 => 0x2, 187 => 0x33, 246 => 0x1029, 261 => 0x39, 263 => 0x300a, 294 => 0x20, 300 => 0xc, 312 => 0x24, 316 => 0x1012, 325 => 0xd, 333 => 0x1d, 334 => 0x1a, 345 => 0x2004, 386 => 'Contrast', 390 => 'Contrast' }, - 'contrast2012' => { 386 => 'Contrast2012' }, + 'contrast' => { 9 => 0x73, 11 => 0x75, 30 => 0xd, 93 => 0xc, 94 => [0x3012,0x20], 98 => [0xa408,0xfe54], 103 => [0x1004,0x1006], 128 => 'Contrast', 150 => 0x20, 151 => 0x31, 152 => 0x27, 153 => 0x19, 158 => 0x2, 187 => 0x33, 246 => 0x1029, 261 => 0x39, 263 => 0x300a, 294 => 0x20, 300 => 0xc, 312 => 0x24, 316 => 0x1012, 325 => 0xd, 333 => 0x1d, 334 => 0x1a, 345 => 0x2004, 387 => 'Contrast', 391 => 'Contrast' }, + 'contrast2012' => { 387 => 'Contrast2012' }, 'contrastadj' => { 89 => 0x115, 224 => 0x2c, 372 => 0x8017 }, 'contrastauto' => { 60 => 0x90 }, 'contrastcurve' => { 185 => 0x8c }, @@ -1238,82 +1264,86 @@ my %tagLookup = ( 'contrastuserdef1' => { 18 => 0xee, 59 => 0x90, 60 => 0xa8 }, 'contrastuserdef2' => { 18 => 0xef, 59 => 0xa8, 60 => 0xc0 }, 'contrastuserdef3' => { 18 => 0xf0, 59 => 0xc0, 60 => 0xd8 }, - 'contributedmedia' => { 409 => 'contributedMedia' }, - 'contributedmediaduration' => { 409 => [\'contributedMedia','contributedMediaDuration'] }, - 'contributedmediadurationscale' => { 409 => [\'contributedMedia','contributedMediaDurationScale'] }, - 'contributedmediadurationvalue' => { 409 => [\'contributedMedia','contributedMediaDurationValue'] }, - 'contributedmediamanaged' => { 409 => [\'contributedMedia','contributedMediaManaged'] }, - 'contributedmediapath' => { 409 => [\'contributedMedia','contributedMediaPath'] }, - 'contributedmediastarttime' => { 409 => [\'contributedMedia','contributedMediaStartTime'] }, - 'contributedmediastarttimescale' => { 409 => [\'contributedMedia','contributedMediaStartTimeScale'] }, - 'contributedmediastarttimevalue' => { 409 => [\'contributedMedia','contributedMediaStartTimeValue'] }, - 'contributedmediatrack' => { 409 => [\'contributedMedia','contributedMediaTrack'] }, - 'contributedmediawebstatement' => { 409 => [\'contributedMedia','contributedMediaWebStatement'] }, - 'contributor' => { 387 => 'contributor' }, + 'contributedmedia' => { 412 => 'contributedMedia' }, + 'contributedmediaduration' => { 412 => [\'contributedMedia','contributedMediaDuration'] }, + 'contributedmediadurationscale' => { 412 => [\'contributedMedia','contributedMediaDurationScale'] }, + 'contributedmediadurationvalue' => { 412 => [\'contributedMedia','contributedMediaDurationValue'] }, + 'contributedmediamanaged' => { 412 => [\'contributedMedia','contributedMediaManaged'] }, + 'contributedmediapath' => { 412 => [\'contributedMedia','contributedMediaPath'] }, + 'contributedmediastarttime' => { 412 => [\'contributedMedia','contributedMediaStartTime'] }, + 'contributedmediastarttimescale' => { 412 => [\'contributedMedia','contributedMediaStartTimeScale'] }, + 'contributedmediastarttimevalue' => { 412 => [\'contributedMedia','contributedMediaStartTimeValue'] }, + 'contributedmediatrack' => { 412 => [\'contributedMedia','contributedMediaTrack'] }, + 'contributedmediawebstatement' => { 412 => [\'contributedMedia','contributedMediaWebStatement'] }, + 'contributor' => { 388 => 'contributor' }, 'contributors' => { 129 => 'Contributors' }, 'controldialset' => { 153 => 0x46 }, - 'controlledvocabularyterm' => { 396 => 'CVterm' }, + 'controlledvocabularyterm' => { 397 => 'CVterm' }, 'controllerboardversion' => { 257 => 0x332 }, 'controlmode' => { 65 => 0x12 }, 'conversionlens' => { 242 => 0x403, 261 => 0x35 }, - 'converter' => { 98 => 0xfe4d, 211 => 0xb, 386 => 'Converter' }, - 'converttograyscale' => { 386 => 'ConvertToGrayscale' }, - 'copyright' => { 0 => 0x3, 98 => 0x8298, 129 => 'Copyright', 253 => 'Copyright', 294 => 0x22f, 307 => 'Copyright', 397 => 'Copyright', 400 => 'copyright', 402 => 'copyright', 405 => 'Copyright', 409 => 'copyright' }, + 'converter' => { 98 => 0xfe4d, 211 => 0xb, 387 => 'Converter' }, + 'converttograyscale' => { 387 => 'ConvertToGrayscale' }, + 'cookingequipment' => { 404 => 'cookingEquipment' }, + 'cookingmethod' => { 404 => 'cookingMethod' }, + 'copyright' => { 0 => 0x3, 98 => 0x8298, 129 => 'Copyright', 253 => 'Copyright', 294 => 0x22f, 307 => 'Copyright', 398 => 'Copyright', 405 => 'copyright', 408 => 'Copyright', 412 => 'copyright' }, 'copyrightflag' => { 305 => 0x40a }, 'copyrightnotice' => { 106 => 0x74 }, - 'copyrightowner' => { 399 => 'CopyrightOwner' }, - 'copyrightownerid' => { 399 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerID'] }, - 'copyrightownerimageid' => { 399 => 'CopyrightOwnerImageID' }, - 'copyrightownername' => { 399 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerName'] }, - 'copyrightregistrationnumber' => { 399 => 'CopyrightRegistrationNumber' }, - 'copyrightstatus' => { 399 => 'CopyrightStatus' }, + 'copyrightowner' => { 400 => 'CopyrightOwner' }, + 'copyrightownerid' => { 400 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerID'] }, + 'copyrightownerimageid' => { 400 => 'CopyrightOwnerImageID' }, + 'copyrightownername' => { 400 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerName'] }, + 'copyrightregistrationnumber' => { 400 => 'CopyrightRegistrationNumber' }, + 'copyrightstatus' => { 400 => 'CopyrightStatus' }, + 'copyrightyear' => { 402 => 'copyrightYear' }, 'coringfilter' => { 245 => 0x310, 246 => 0x102d, 249 => 0x310 }, 'coringvalues' => { 245 => 0x311, 249 => 0x311 }, - 'corporateentity' => { 400 => 'corporateEntity' }, - 'country' => { 133 => 'Country', 261 => 0x69, 398 => 'Country' }, + 'corporateentity' => { 402 => 'corporateEntity' }, + 'country' => { 133 => 'Country', 261 => 0x69, 399 => 'Country' }, 'country-primarylocationcode' => { 106 => 0x64 }, 'country-primarylocationname' => { 106 => 0x65 }, - 'countrycode' => { 184 => 0x5, 303 => 'CountryCode', 395 => 'CountryCode' }, - 'coverage' => { 387 => 'coverage' }, - 'coverdate' => { 400 => 'coverDate' }, - 'coverdisplaydate' => { 400 => 'coverDisplayDate' }, + 'countrycode' => { 184 => 0x5, 303 => 'CountryCode', 396 => 'CountryCode' }, + 'course' => { 404 => 'course' }, + 'coverage' => { 388 => 'coverage' }, + 'coverdate' => { 402 => 'coverDate' }, + 'coverdisplaydate' => { 402 => 'coverDisplayDate' }, 'cpufirmwareversion' => { 294 => 0x28 }, - 'crc32' => { 388 => 'crc32' }, - 'createdate' => { 98 => 0x9004, 129 => 'CreateDate', 250 => 'CreationDate', 253 => 'create-date', 307 => 'CreationDate', 309 => 0x1, 407 => 'CreateDate' }, - 'creationdate' => { 397 => 'CreationDate', 400 => 'creationDate' }, + 'crc32' => { 389 => 'crc32' }, + 'createdate' => { 98 => 0x9004, 129 => 'CreateDate', 250 => 'CreationDate', 253 => 'create-date', 307 => 'CreationDate', 309 => 0x1, 410 => 'CreateDate' }, + 'creationdate' => { 398 => 'CreationDate', 402 => 'creationDate' }, 'creationtime' => { 253 => 'Creation Time' }, 'creativestyle' => { 333 => 0x1a, 334 => 0x18, 344 => 0x41, 345 => 0xb020, 368 => 0x4a }, 'creativestylesetting' => { 335 => 0xf, 349 => 0x7 }, 'creativestylewaschanged' => { 372 => 0x8001 }, - 'creator' => { 250 => 'Creator', 307 => 'Creator', 387 => 'creator', 397 => 'Creator' }, - 'creatoraddress' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiAdrExtadr'] }, - 'creatorcity' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCity'] }, - 'creatorcontactinfo' => { 395 => 'CreatorContactInfo' }, - 'creatorcountry' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCtry'] }, - 'creatorpostalcode' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiAdrPcode'] }, - 'creatorregion' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiAdrRegion'] }, - 'creatortool' => { 407 => 'CreatorTool' }, - 'creatorworkemail' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiEmailWork'] }, - 'creatorworktelephone' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiTelWork'] }, - 'creatorworkurl' => { 395 => [\'CreatorContactInfo','CreatorContactInfoCiUrlWork'] }, - 'credit' => { 106 => 0x6e, 398 => 'Credit' }, - 'creditline' => { 402 => 'creditLine' }, - 'creditlinereq' => { 412 => 'CreditLineReq' }, - 'creditlinerequired' => { 399 => 'CreditLineRequired' }, + 'creator' => { 250 => 'Creator', 307 => 'Creator', 388 => 'creator', 398 => 'Creator' }, + 'creatoraddress' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiAdrExtadr'] }, + 'creatorcity' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCity'] }, + 'creatorcontactinfo' => { 396 => 'CreatorContactInfo' }, + 'creatorcountry' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCtry'] }, + 'creatorpostalcode' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiAdrPcode'] }, + 'creatorregion' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiAdrRegion'] }, + 'creatortool' => { 410 => 'CreatorTool' }, + 'creatorworkemail' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiEmailWork'] }, + 'creatorworktelephone' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiTelWork'] }, + 'creatorworkurl' => { 396 => [\'CreatorContactInfo','CreatorContactInfoCiUrlWork'] }, + 'credit' => { 106 => 0x6e, 399 => 'Credit' }, + 'creditline' => { 405 => 'creditLine' }, + 'creditlinereq' => { 415 => 'CreditLineReq' }, + 'creditlinerequired' => { 400 => 'CreditLineRequired' }, 'cropactive' => { 89 => 0x244 }, - 'cropangle' => { 386 => 'CropAngle' }, + 'cropangle' => { 387 => 'CropAngle' }, 'cropaspectratio' => { 89 => 0x260 }, - 'cropbottom' => { 102 => 0x9, 216 => 0x36, 302 => 0xdc, 386 => 'CropBottom' }, + 'cropbottom' => { 102 => 0x9, 216 => 0x36, 302 => 0xdc, 387 => 'CropBottom' }, 'cropbottommargin' => { 43 => 0x3 }, 'cropcircleactive' => { 90 => 0xd6 }, 'cropcircleradius' => { 90 => 0xd9 }, 'cropcirclex' => { 90 => 0xd7 }, 'cropcircley' => { 90 => 0xd8 }, - 'cropconstraintowarp' => { 386 => 'CropConstrainToWarp' }, + 'cropconstraintowarp' => { 387 => 'CropConstrainToWarp' }, 'croph' => { 380 => 'CropH' }, - 'cropheight' => { 89 => 0x24c, 245 => 0x615, 249 => 0x615, 386 => 'CropHeight' }, + 'cropheight' => { 89 => 0x24c, 245 => 0x615, 249 => 0x615, 387 => 'CropHeight' }, 'crophispeed' => { 185 => 0x1b }, - 'cropleft' => { 89 => 0x246, 102 => 0x6, 216 => 0x1e, 245 => 0x612, 249 => 0x612, 302 => 0xd9, 386 => 'CropLeft' }, + 'cropleft' => { 89 => 0x246, 102 => 0x6, 216 => 0x1e, 245 => 0x612, 249 => 0x612, 302 => 0xd9, 387 => 'CropLeft' }, 'cropleftmargin' => { 43 => 0x0 }, 'cropmode35mm' => { 316 => 0x1018 }, 'cropoutputheight' => { 216 => 0xce }, @@ -1331,21 +1361,22 @@ my %tagLookup = ( 'croppedimageleft' => { 5 => 0x3 }, 'croppedimagetop' => { 5 => 0x4 }, 'croppedimagewidth' => { 5 => 0x1, 316 => 0x1603 }, - 'cropright' => { 102 => 0x8, 216 => 0x2e, 302 => 0xdb, 386 => 'CropRight' }, + 'cropright' => { 102 => 0x8, 216 => 0x2e, 302 => 0xdb, 387 => 'CropRight' }, 'croprightmargin' => { 43 => 0x1 }, 'croprotation' => { 102 => 0xb }, 'cropscaledresolution' => { 216 => 0x9e }, 'cropsourceresolution' => { 216 => 0xae }, - 'croptop' => { 89 => 0x248, 102 => 0x7, 216 => 0x26, 245 => 0x613, 249 => 0x613, 302 => 0xda, 386 => 'CropTop' }, + 'croptop' => { 89 => 0x248, 102 => 0x7, 216 => 0x26, 245 => 0x613, 249 => 0x613, 302 => 0xda, 387 => 'CropTop' }, 'croptopmargin' => { 43 => 0x2 }, - 'cropunit' => { 386 => 'CropUnit' }, - 'cropunits' => { 386 => 'CropUnits' }, + 'cropunit' => { 387 => 'CropUnit' }, + 'cropunits' => { 387 => 'CropUnits' }, 'cropw' => { 380 => 'CropW' }, - 'cropwidth' => { 89 => 0x24a, 245 => 0x614, 249 => 0x614, 386 => 'CropWidth' }, + 'cropwidth' => { 89 => 0x24a, 245 => 0x614, 249 => 0x614, 387 => 'CropWidth' }, 'cropx' => { 380 => 'CropX' }, 'cropy' => { 380 => 'CropY' }, 'crossprocess' => { 294 => 0x7b }, 'crossprocessparams' => { 294 => 0x235 }, + 'cuisine' => { 404 => 'cuisine' }, 'currenticcprofile' => { 98 => 0xc691 }, 'currentpreprofilematrix' => { 98 => 0xc692 }, 'currentversion' => { 372 => 0xd000 }, @@ -1360,16 +1391,16 @@ my %tagLookup = ( 'curve4x' => { 380 => 'Curve4x' }, 'curve4y' => { 380 => 'Curve4y' }, 'curves' => { 221 => 0x76a43201 }, - 'custom1' => { 399 => 'Custom1' }, - 'custom10' => { 399 => 'Custom10' }, - 'custom2' => { 399 => 'Custom2' }, - 'custom3' => { 399 => 'Custom3' }, - 'custom4' => { 399 => 'Custom4' }, - 'custom5' => { 399 => 'Custom5' }, - 'custom6' => { 399 => 'Custom6' }, - 'custom7' => { 399 => 'Custom7' }, - 'custom8' => { 399 => 'Custom8' }, - 'custom9' => { 399 => 'Custom9' }, + 'custom1' => { 400 => 'Custom1' }, + 'custom10' => { 400 => 'Custom10' }, + 'custom2' => { 400 => 'Custom2' }, + 'custom3' => { 400 => 'Custom3' }, + 'custom4' => { 400 => 'Custom4' }, + 'custom5' => { 400 => 'Custom5' }, + 'custom6' => { 400 => 'Custom6' }, + 'custom7' => { 400 => 'Custom7' }, + 'custom8' => { 400 => 'Custom8' }, + 'custom9' => { 400 => 'Custom9' }, 'customcontrast' => { 90 => 0x4e }, 'customcontrols' => { 71 => 0x70c }, 'customdefaultunsharpfineness' => { 90 => 0xbe }, @@ -1383,7 +1414,7 @@ my %tagLookup = ( 'customrawhighlightpoint' => { 90 => 0x51 }, 'customrawshadow' => { 90 => 0x85 }, 'customrawshadowpoint' => { 90 => 0x52 }, - 'customrendered' => { 98 => 0xa401, 390 => 'CustomRendered' }, + 'customrendered' => { 98 => 0xa401, 391 => 'CustomRendered' }, 'customsaturation' => { 241 => 0x503 }, 'customsettingsalldefault' => { 228 => '0.2', 234 => '0.2' }, 'customsettingsbank' => { 228 => '0.1', 229 => '0.1', 234 => '0.1', 238 => '0.2' }, @@ -1414,18 +1445,18 @@ my %tagLookup = ( 'datacompressionmethod' => { 108 => 0x6e }, 'dataimprint' => { 150 => 0x34 }, 'datascaling' => { 294 => 0x3d }, - 'date' => { 294 => 0x6, 387 => 'date' }, + 'date' => { 294 => 0x6, 388 => 'date' }, 'dateacquired' => { 148 => 'DateAcquired' }, - 'datecreated' => { 106 => 0x37, 398 => 'DateCreated' }, + 'datecreated' => { 106 => 0x37, 399 => 'DateCreated' }, 'datedisplayformat' => { 213 => 0x3 }, 'dateidentified' => { 97 => [\'Identification','IdentificationDateIdentified'] }, 'dateimprint' => { 231 => '4.2' }, - 'daterecieved' => { 400 => 'dateRecieved' }, + 'daterecieved' => { 402 => 'dateRecieved' }, 'datesent' => { 107 => 0x46 }, 'datestampmode' => { 53 => 0x1c }, - 'datetime' => { 381 => 'datetime', 405 => 'DateTime' }, - 'datetimedigitized' => { 390 => 'DateTimeDigitized' }, - 'datetimeoriginal' => { 87 => 0x0, 98 => 0x9003, 126 => 0x14, 129 => 'OriginalDate', 312 => 0xb, 390 => 'DateTimeOriginal' }, + 'datetime' => { 381 => 'datetime', 408 => 'DateTime' }, + 'datetimedigitized' => { 391 => 'DateTimeDigitized' }, + 'datetimeoriginal' => { 87 => 0x0, 98 => 0x9003, 126 => 0x14, 129 => 'OriginalDate', 312 => 0xb, 391 => 'DateTimeOriginal' }, 'datetimestamp' => { 114 => 0x64 }, 'datetimeutc' => { 241 => 0x908 }, 'daylightsavings' => { 66 => 0x3, 213 => 0x2 }, @@ -1483,45 +1514,47 @@ my %tagLookup = ( 'defaulteraseoption' => { 71 => 0x813 }, 'defaultscale' => { 98 => 0xc61e }, 'defaultusercrop' => { 98 => 0xc7b5 }, - 'defringe' => { 386 => 'Defringe' }, - 'defringegreenamount' => { 386 => 'DefringeGreenAmount' }, - 'defringegreenhuehi' => { 386 => 'DefringeGreenHueHi' }, - 'defringegreenhuelo' => { 386 => 'DefringeGreenHueLo' }, - 'defringepurpleamount' => { 386 => 'DefringePurpleAmount' }, - 'defringepurplehuehi' => { 386 => 'DefringePurpleHueHi' }, - 'defringepurplehuelo' => { 386 => 'DefringePurpleHueLo' }, + 'defringe' => { 387 => 'Defringe' }, + 'defringegreenamount' => { 387 => 'DefringeGreenAmount' }, + 'defringegreenhuehi' => { 387 => 'DefringeGreenHueHi' }, + 'defringegreenhuelo' => { 387 => 'DefringeGreenHueLo' }, + 'defringepurpleamount' => { 387 => 'DefringePurpleAmount' }, + 'defringepurplehuehi' => { 387 => 'DefringePurpleHueHi' }, + 'defringepurplehuelo' => { 387 => 'DefringePurpleHueLo' }, 'deletedimagecount' => { 185 => 0xa6, 192 => 0x6e }, 'deprecatedon' => { 384 => 'deprecatedOn' }, - 'derivedfrom' => { 410 => 'DerivedFrom' }, - 'derivedfromalternatepaths' => { 410 => [\'DerivedFrom','DerivedFromAlternatePaths'] }, - 'derivedfromdocumentid' => { 410 => [\'DerivedFrom','DerivedFromDocumentID'] }, - 'derivedfromfilepath' => { 410 => [\'DerivedFrom','DerivedFromFilePath'] }, - 'derivedfromfrompart' => { 410 => [\'DerivedFrom','DerivedFromFromPart'] }, - 'derivedfrominstanceid' => { 410 => [\'DerivedFrom','DerivedFromInstanceID'] }, - 'derivedfromlastmodifydate' => { 410 => [\'DerivedFrom','DerivedFromLastModifyDate'] }, - 'derivedfrommanager' => { 410 => [\'DerivedFrom','DerivedFromManager'] }, - 'derivedfrommanagervariant' => { 410 => [\'DerivedFrom','DerivedFromManagerVariant'] }, - 'derivedfrommanageto' => { 410 => [\'DerivedFrom','DerivedFromManageTo'] }, - 'derivedfrommanageui' => { 410 => [\'DerivedFrom','DerivedFromManageUI'] }, - 'derivedfrommaskmarkers' => { 410 => [\'DerivedFrom','DerivedFromMaskMarkers'] }, - 'derivedfromoriginaldocumentid' => { 410 => [\'DerivedFrom','DerivedFromOriginalDocumentID'] }, - 'derivedfrompartmapping' => { 410 => [\'DerivedFrom','DerivedFromPartMapping'] }, - 'derivedfromrenditionclass' => { 410 => [\'DerivedFrom','DerivedFromRenditionClass'] }, - 'derivedfromrenditionparams' => { 410 => [\'DerivedFrom','DerivedFromRenditionParams'] }, - 'derivedfromtopart' => { 410 => [\'DerivedFrom','DerivedFromToPart'] }, - 'derivedfromversionid' => { 410 => [\'DerivedFrom','DerivedFromVersionID'] }, - 'description' => { 253 => 'Description', 387 => 'description', 407 => 'Description' }, + 'derivedfrom' => { 413 => 'DerivedFrom' }, + 'derivedfromalternatepaths' => { 413 => [\'DerivedFrom','DerivedFromAlternatePaths'] }, + 'derivedfromdocumentid' => { 413 => [\'DerivedFrom','DerivedFromDocumentID'] }, + 'derivedfromfilepath' => { 413 => [\'DerivedFrom','DerivedFromFilePath'] }, + 'derivedfromfrompart' => { 413 => [\'DerivedFrom','DerivedFromFromPart'] }, + 'derivedfrominstanceid' => { 413 => [\'DerivedFrom','DerivedFromInstanceID'] }, + 'derivedfromlastmodifydate' => { 413 => [\'DerivedFrom','DerivedFromLastModifyDate'] }, + 'derivedfrommanager' => { 413 => [\'DerivedFrom','DerivedFromManager'] }, + 'derivedfrommanagervariant' => { 413 => [\'DerivedFrom','DerivedFromManagerVariant'] }, + 'derivedfrommanageto' => { 413 => [\'DerivedFrom','DerivedFromManageTo'] }, + 'derivedfrommanageui' => { 413 => [\'DerivedFrom','DerivedFromManageUI'] }, + 'derivedfrommaskmarkers' => { 413 => [\'DerivedFrom','DerivedFromMaskMarkers'] }, + 'derivedfromoriginaldocumentid' => { 413 => [\'DerivedFrom','DerivedFromOriginalDocumentID'] }, + 'derivedfrompartmapping' => { 413 => [\'DerivedFrom','DerivedFromPartMapping'] }, + 'derivedfromrenditionclass' => { 413 => [\'DerivedFrom','DerivedFromRenditionClass'] }, + 'derivedfromrenditionparams' => { 413 => [\'DerivedFrom','DerivedFromRenditionParams'] }, + 'derivedfromtopart' => { 413 => [\'DerivedFrom','DerivedFromToPart'] }, + 'derivedfromversionid' => { 413 => [\'DerivedFrom','DerivedFromVersionID'] }, + 'description' => { 253 => 'Description', 388 => 'description', 410 => 'Description' }, 'destination' => { 107 => 0x5 }, 'destinationcity' => { 294 => 0x24, 299 => 0x3 }, 'destinationcitycode' => { 300 => 0x1001 }, 'destinationdst' => { 294 => 0x26, 299 => '0.3' }, 'developmentdynamicrange' => { 103 => 0x1403 }, - 'devicesettingdescription' => { 390 => 'DeviceSettingDescription' }, - 'devicesettingdescriptioncolumns' => { 390 => [\'DeviceSettingDescription','DeviceSettingDescriptionColumns'] }, - 'devicesettingdescriptionrows' => { 390 => [\'DeviceSettingDescription','DeviceSettingDescriptionRows'] }, - 'devicesettingdescriptionsettings' => { 390 => [\'DeviceSettingDescription','DeviceSettingDescriptionSettings'] }, + 'device' => { 402 => 'device' }, + 'devicesettingdescription' => { 391 => 'DeviceSettingDescription' }, + 'devicesettingdescriptioncolumns' => { 391 => [\'DeviceSettingDescription','DeviceSettingDescriptionColumns'] }, + 'devicesettingdescriptionrows' => { 391 => [\'DeviceSettingDescription','DeviceSettingDescriptionRows'] }, + 'devicesettingdescriptionsettings' => { 391 => [\'DeviceSettingDescription','DeviceSettingDescriptionSettings'] }, 'devicetype' => { 322 => 0x2 }, 'dialdirectiontvav' => { 71 => 0x706 }, + 'dietaryneeds' => { 404 => 'dietaryNeeds' }, 'digitalcreationdate' => { 106 => 0x3e }, 'digitalcreationtime' => { 106 => 0x3f }, 'digitaldeehighlightadj' => { 191 => 0x202 }, @@ -1551,25 +1584,27 @@ my %tagLookup = ( 'digitalgain' => { 63 => 0xb }, 'digitalgem' => { 177 => 0x0 }, 'digitalice' => { 191 => 0x100 }, - 'digitalimageguid' => { 396 => 'DigImageGUID' }, + 'digitalimageguid' => { 397 => 'DigImageGUID' }, 'digitalroc' => { 189 => 0x0 }, - 'digitalsourcefiletype' => { 396 => 'DigitalSourcefileType' }, - 'digitalsourcetype' => { 396 => 'DigitalSourceType' }, + 'digitalsourcefiletype' => { 397 => 'DigitalSourcefileType' }, + 'digitalsourcetype' => { 397 => 'DigitalSourceType' }, 'digitalzoom' => { 30 => 0xc, 93 => 0xa, 114 => 0x68, 128 => 'DigitalZoom', 150 => 0xc, 185 => 0x86, 211 => 0xa, 246 => 0x204, 294 => 0x1e, 300 => 0xa, 324 => 0x204, 360 => 0x12, 361 => 0x12 }, 'digitalzoomon' => { 324 => 0x21b }, - 'digitalzoomratio' => { 98 => 0xa404, 354 => 0x200, 356 => 0x21c, 390 => 'DigitalZoomRatio' }, - 'director' => { 409 => 'director' }, - 'directorphotography' => { 409 => 'directorPhotography' }, + 'digitalzoomratio' => { 98 => 0xa404, 354 => 0x200, 356 => 0x21c, 391 => 'DigitalZoomRatio' }, + 'director' => { 412 => 'director' }, + 'directorphotography' => { 412 => 'directorPhotography' }, 'directory' => { 99 => 'Directory' }, 'directoryindex' => { 6 => 0x137, 8 => 0x2dc, 10 => 0x17e, 12 => 0x238, 13 => 0x13f, 14 => 0x133, 15 => 0x1df, 16 => 0x1a7, 17 => 0x1f0, 18 => 0xcc, 19 => 0x1c7, 20 => 0x298, 21 => 0x1e7, 22 => 0x1e5, 23 => [0x27c,0x280], 24 => 0x2b6, 25 => 0x2bf, 26 => 0x1f7 }, 'directoryindex2' => { 20 => 0x29c }, 'directorynumber' => { 173 => 0x3 }, 'disclaimer' => { 253 => 'Disclaimer' }, - 'discnumber' => { 409 => 'discNumber' }, + 'discnumber' => { 412 => 'discNumber' }, + 'dishtype' => { 404 => 'dishType' }, 'displayallafpoints' => { 71 => 0x514 }, 'displayaperture' => { 30 => 0x23 }, 'displayedunitsx' => { 306 => 0x2 }, 'displayedunitsy' => { 306 => 0x6 }, + 'displayname' => { 401 => 'displayName' }, 'distance1' => { 114 => 0x28 }, 'distance2' => { 114 => 0x2c }, 'distance3' => { 114 => 0x30 }, @@ -1587,35 +1622,36 @@ my %tagLookup = ( 'distortionparam09' => { 264 => 0x9 }, 'distortionparam11' => { 264 => 0xb }, 'distortionscale' => { 264 => 0x5 }, - 'distributor' => { 400 => 'distributor' }, + 'distributor' => { 402 => 'distributor' }, + 'distributorproductid' => { 401 => 'distributorProductID' }, 'dloon' => { 90 => 0xdc }, 'dlosetting' => { 90 => 0xdd }, 'dlosettingapplied' => { 90 => 0xe4 }, 'dloshootingdistance' => { 90 => 0xde }, 'dloversion' => { 90 => 0xe5 }, - 'dmcomment' => { 409 => 'comment' }, + 'dmcomment' => { 412 => 'comment' }, 'dngadobedata' => { 98 => 0xc634 }, 'dngbackwardversion' => { 98 => 0xc613 }, 'dnglensinfo' => { 98 => 0xc630 }, 'dngprivatedata' => { 98 => 0xc634 }, 'dngversion' => { 98 => 0xc612 }, 'document' => { 253 => 'Document' }, - 'documentancestorid' => { 398 => [\'DocumentAncestors','DocumentAncestorsAncestorID'] }, - 'documentancestors' => { 398 => 'DocumentAncestors' }, + 'documentancestorid' => { 399 => [\'DocumentAncestors','DocumentAncestorsAncestorID'] }, + 'documentancestors' => { 399 => 'DocumentAncestors' }, 'documenthistory' => { 106 => 0xe7 }, - 'documentid' => { 410 => 'DocumentID' }, + 'documentid' => { 413 => 'DocumentID' }, 'documentname' => { 98 => 0x10d }, 'documentnotes' => { 106 => 0xe6 }, - 'doi' => { 400 => 'doi' }, + 'doi' => { 402 => 'doi' }, 'dotrange' => { 98 => 0x150 }, 'dpp' => { 381 => 'dpp' }, 'drivemode' => { 94 => 0x3103, 150 => 0x6, 153 => 0x1e, 156 => 0xe, 241 => 0x600, 294 => 0x34, 316 => 0x1002, 325 => 0x3, 333 => 0x4, 334 => 0x7e, 335 => 0x34 }, 'drivemode2' => { 153 => 0xa, 275 => 0x7, 344 => 0xe, 349 => 0x1 }, 'drivemodesetting' => { 335 => 0x4 }, 'dspfirmwareversion' => { 294 => 0x27 }, - 'duration' => { 56 => 0x6a, 127 => 'Duration', 141 => 'Duration', 409 => 'duration' }, - 'durationscale' => { 409 => [\'duration','durationScale'] }, - 'durationvalue' => { 409 => [\'duration','durationValue'] }, + 'duration' => { 56 => 0x6a, 127 => 'Duration', 141 => 'Duration', 404 => 'duration', 412 => 'duration' }, + 'durationscale' => { 412 => [\'duration','durationScale'] }, + 'durationvalue' => { 412 => [\'duration','durationValue'] }, 'dustremovaldata' => { 53 => 0x97 }, 'dynamicafarea' => { 228 => '1.4', 234 => '1.4' }, 'dynamicareaafdisplay' => { 229 => '46.1', 238 => '47.1' }, @@ -1641,29 +1677,29 @@ my %tagLookup = ( 'easyexposurecompensation' => { 228 => '6.4', 229 => '6.5', 234 => '4.4', 235 => '5.2', 238 => '6.3' }, 'easymode' => { 30 => 0xb }, 'edgenoisereduction' => { 222 => 0x4, 372 => 0x8028 }, - 'edition' => { 400 => 'edition' }, + 'edition' => { 402 => 'edition' }, 'editorialupdate' => { 106 => 0x8 }, 'editstatus' => { 106 => 0x7, 303 => 'EditStatus' }, 'editversionname' => { 221 => 0x3d136244 }, 'effectivelv' => { 294 => 0x2d }, 'effectivemaxaperture' => { 181 => 0x12, 182 => 0x13 }, - 'eissn' => { 400 => 'eIssn' }, + 'eissn' => { 402 => 'eIssn' }, 'electronicfront-curtainshutter' => { 238 => '5.3' }, 'elevation' => { 137 => 'Elevation' }, 'email' => { 129 => 'EMail' }, - 'embargodate' => { 400 => 'embargoDate', 402 => 'embargoDate' }, - 'embdencrightsexpr' => { 396 => 'EmbdEncRightsExpr' }, - 'embeddedencodedrightsexpr' => { 396 => [\'EmbdEncRightsExpr','EmbdEncRightsExprEncRightsExpr'] }, - 'embeddedencodedrightsexprlangid' => { 396 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprLangId'] }, - 'embeddedencodedrightsexprtype' => { 396 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprEncType'] }, - 'embeddedxmpdigest' => { 398 => 'EmbeddedXMPDigest' }, + 'embargodate' => { 405 => 'embargoDate' }, + 'embdencrightsexpr' => { 397 => 'EmbdEncRightsExpr' }, + 'embeddedencodedrightsexpr' => { 397 => [\'EmbdEncRightsExpr','EmbdEncRightsExprEncRightsExpr'] }, + 'embeddedencodedrightsexprlangid' => { 397 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprLangId'] }, + 'embeddedencodedrightsexprtype' => { 397 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprEncType'] }, + 'embeddedxmpdigest' => { 399 => 'EmbeddedXMPDigest' }, 'emissivity' => { 100 => 0x3 }, 'encryptionkey' => { 322 => 0xa020 }, - 'endingpage' => { 400 => 'endingPage' }, - 'enduser' => { 399 => 'EndUser' }, - 'enduserid' => { 399 => [\'EndUser','EndUserEndUserID'] }, - 'endusername' => { 399 => [\'EndUser','EndUserEndUserName'] }, - 'engineer' => { 409 => 'engineer' }, + 'endingpage' => { 402 => 'endingPage' }, + 'enduser' => { 400 => 'EndUser' }, + 'enduserid' => { 400 => [\'EndUser','EndUserEndUserID'] }, + 'endusername' => { 400 => [\'EndUser','EndUserEndUserName'] }, + 'engineer' => { 412 => 'engineer' }, 'enhancedarktones' => { 214 => 0x8 }, 'enhancement' => { 93 => 0x16, 94 => 0x3016 }, 'enhancer' => { 245 => 0x300 }, @@ -1678,9 +1714,11 @@ my %tagLookup = ( 'equipmentmanufacturer' => { 374 => 'EquipmentManufacturer' }, 'equipmentversion' => { 242 => 0x0 }, 'ettlii' => { 71 => 0x304, 72 => 0xd, 73 => 0xe, 74 => 0x7, 75 => 0x7, 76 => 0xe }, - 'event' => { 375 => 'Event', 379 => 'Event', 396 => 'Event', 400 => 'event' }, + 'event' => { 375 => 'Event', 379 => 'Event', 397 => 'Event', 402 => 'event' }, + 'eventalias' => { 401 => 'eventAlias' }, 'eventday' => { 97 => [\'Event','EventDay'] }, 'eventearliestdate' => { 97 => [\'Event','EventEarliestDate'] }, + 'eventend' => { 401 => 'eventEnd' }, 'eventenddayofyear' => { 97 => [\'Event','EventEndDayOfYear'] }, 'eventfieldnotes' => { 97 => [\'Event','EventFieldNotes'] }, 'eventfieldnumber' => { 97 => [\'Event','EventFieldNumber'] }, @@ -1692,26 +1730,29 @@ my %tagLookup = ( 'eventremarks' => { 97 => [\'Event','EventEventRemarks'] }, 'eventsamplingeffort' => { 97 => [\'Event','EventSamplingEffort'] }, 'eventsamplingprotocol' => { 97 => [\'Event','EventSamplingProtocol'] }, + 'eventstart' => { 401 => 'eventStart' }, 'eventstartdayofyear' => { 97 => [\'Event','EventStartDayOfYear'] }, + 'eventsubtype' => { 401 => 'eventSubtype' }, 'eventtime' => { 97 => [\'Event','EventEventTime'] }, + 'eventtype' => { 401 => 'eventType' }, 'eventverbatimeventdate' => { 97 => [\'Event','EventVerbatimEventDate'] }, 'eventyear' => { 97 => [\'Event','EventYear'] }, 'evsteps' => { 275 => '1.2', 277 => 0x0 }, 'evstepsize' => { 231 => '5.1', 232 => '6.1', 233 => '6.1', 236 => '0.7' }, - 'exclusivityenddate' => { 402 => 'exclusivityEndDate' }, + 'exclusivityenddate' => { 405 => 'exclusivityEndDate' }, 'excursiontolerance' => { 108 => 0x82 }, 'exif' => { 99 => 'EXIF' }, 'exifbyteorder' => { 99 => 'ExifByteOrder' }, 'exifcamerainfo' => { 106 => 0xe8 }, - 'exifimageheight' => { 98 => 0xa003, 390 => 'PixelYDimension' }, - 'exifimagewidth' => { 98 => 0xa002, 390 => 'PixelXDimension' }, + 'exifimageheight' => { 98 => 0xa003, 391 => 'PixelYDimension' }, + 'exifimagewidth' => { 98 => 0xa002, 391 => 'PixelXDimension' }, 'exifunicodebyteorder' => { 99 => 'ExifUnicodeByteOrder' }, - 'exifversion' => { 98 => 0x9000, 390 => 'ExifVersion' }, + 'exifversion' => { 98 => 0x9000, 391 => 'ExifVersion' }, 'exitpupilposition' => { 181 => 0x4, 182 => 0x4 }, - 'expirationdate' => { 106 => 0x25, 400 => 'expirationDate', 402 => 'expirationDate' }, + 'expirationdate' => { 106 => 0x25, 405 => 'expirationDate' }, 'expirationtime' => { 106 => 0x26 }, - 'exposure' => { 98 => 0xfe51, 386 => 'Exposure' }, - 'exposure2012' => { 386 => 'Exposure2012' }, + 'exposure' => { 98 => 0xfe51, 387 => 'Exposure' }, + 'exposure2012' => { 387 => 'Exposure2012' }, 'exposureadj' => { 219 => 0x0 }, 'exposureadj2' => { 219 => 0x12 }, 'exposureadjust' => { 325 => 0xc }, @@ -1719,7 +1760,7 @@ my %tagLookup = ( 'exposurebracketshotnumber' => { 156 => 0x2d, 344 => 0x2f }, 'exposurebracketstepsize' => { 275 => 0x8 }, 'exposurebracketvalue' => { 185 => 0x19 }, - 'exposurecompensation' => { 65 => 0x6, 80 => 0x0, 98 => 0x9204, 114 => 0x24, 128 => 'ExposureComp', 150 => 0xd, 151 => 0x53, 152 => 0x1e, 156 => 0x49c0, 246 => 0x1006, 294 => 0x16, 322 => 0xa013, 325 => [0xc,0x35,0x4d], 352 => 0x114c, 353 => 0x114c, 354 => 0x1128, 356 => 0x1180, 357 => 0x1038, 358 => 0x230, 390 => 'ExposureBiasValue' }, + 'exposurecompensation' => { 65 => 0x6, 80 => 0x0, 98 => 0x9204, 114 => 0x24, 128 => 'ExposureComp', 150 => 0xd, 151 => 0x53, 152 => 0x1e, 156 => 0x49c0, 246 => 0x1006, 294 => 0x16, 322 => 0xa013, 325 => [0xc,0x35,0x4d], 352 => 0x114c, 353 => 0x114c, 354 => 0x1128, 356 => 0x1180, 357 => 0x1038, 358 => 0x230, 391 => 'ExposureBiasValue' }, 'exposurecompensation2' => { 349 => [0x24,0x26,0x2a] }, 'exposurecompensationmode' => { 153 => 0x47, 156 => 0x2a }, 'exposurecompensationset' => { 333 => 0x3, 334 => 0x3, 335 => 0x3, 349 => 0x1e }, @@ -1730,15 +1771,15 @@ my %tagLookup = ( 'exposurecount' => { 103 => 0x1032 }, 'exposuredelaymode' => { 228 => '10.1', 229 => '11.1', 231 => '9.1', 232 => '10.1', 233 => '10.1', 234 => '10.4', 235 => '10.1', 236 => '6.4', 238 => '11.1', 239 => '11.2' }, 'exposuredifference' => { 185 => 0xe }, - 'exposureindex' => { 98 => 0xa215, 390 => 'ExposureIndex' }, + 'exposureindex' => { 98 => 0xa215, 391 => 'ExposureIndex' }, 'exposureindicator' => { 153 => 0x50 }, 'exposurelevelincrements' => { 69 => 0x6, 70 => 0x6, 71 => 0x101, 72 => 0x5, 73 => 0x6, 74 => 0x5, 75 => 0x5, 76 => 0x6, 77 => 0x4, 333 => 0x58, 334 => 0x58 }, 'exposurelockused' => { 376 => 'ExposureLockUsed' }, - 'exposuremode' => { 98 => 0xa402, 128 => 'ExposureMode', 150 => 0x1, 151 => 0xa, 152 => 0x0, 153 => 0x0, 156 => 0x34, 241 => 0x200, 259 => 0x40d, 325 => 0x8, 345 => 0xb041, 390 => 'ExposureMode' }, + 'exposuremode' => { 98 => 0xa402, 128 => 'ExposureMode', 150 => 0x1, 151 => 0xa, 152 => 0x0, 153 => 0x0, 156 => 0x34, 241 => 0x200, 259 => 0x40d, 325 => 0x8, 345 => 0xb041, 391 => 'ExposureMode' }, 'exposuremodeinmanual' => { 71 => 0x10b }, - 'exposureprogram' => { 98 => 0x8822, 316 => 0x1001, 326 => 0x17e, 333 => 0x3c, 334 => 0x3c, 335 => 0x5, 339 => 0x14, 344 => 0x3f, 349 => 0x2, 352 => 0x1175, 353 => 0x1179, 354 => 0x1155, 355 => 0x11d1, 356 => 0x11ad, 357 => 0x1065, 358 => 0x25d, 368 => 0x48, 390 => 'ExposureProgram' }, + 'exposureprogram' => { 98 => 0x8822, 316 => 0x1001, 326 => 0x17e, 333 => 0x3c, 334 => 0x3c, 335 => 0x5, 339 => 0x14, 344 => 0x3f, 349 => 0x2, 352 => 0x1175, 353 => 0x1179, 354 => 0x1155, 355 => 0x11d1, 356 => 0x11ad, 357 => 0x1065, 358 => 0x25d, 368 => 0x48, 391 => 'ExposureProgram' }, 'exposureshift' => { 241 => 0x203 }, - 'exposuretime' => { 6 => 0x4, 7 => 0x4, 8 => 0x4, 9 => 0x4, 10 => 0x4, 11 => 0x4, 12 => 0x4, 13 => 0x4, 14 => 0x4, 15 => 0x4, 16 => 0x4, 17 => 0x4, 18 => 0x4, 19 => 0x4, 20 => 0x4, 21 => 0x4, 22 => 0x4, 23 => 0x4, 24 => 0x4, 25 => 0x4, 26 => 0x4, 27 => 0x6, 28 => 0x7, 65 => 0x16, 98 => 0x829a, 111 => 0xfd05, 114 => 0x20, 116 => 0xfa24, 118 => 0xf104, 121 => 0x12, 123 => 0x38, 126 => 0x10, 128 => 'ExposureTime', 150 => 0x9, 151 => 0x35, 152 => 0x48, 153 => 0x8, 156 => 0x49b8, 294 => 0x12, 322 => 0xa018, 325 => [0x32,0x4a], 333 => 0x0, 334 => 0x0, 349 => [0x21,0x23,0x27], 368 => 0x10, 390 => 'ExposureTime' }, + 'exposuretime' => { 6 => 0x4, 7 => 0x4, 8 => 0x4, 9 => 0x4, 10 => 0x4, 11 => 0x4, 12 => 0x4, 13 => 0x4, 14 => 0x4, 15 => 0x4, 16 => 0x4, 17 => 0x4, 18 => 0x4, 19 => 0x4, 20 => 0x4, 21 => 0x4, 22 => 0x4, 23 => 0x4, 24 => 0x4, 25 => 0x4, 26 => 0x4, 27 => 0x6, 28 => 0x7, 65 => 0x16, 98 => 0x829a, 111 => 0xfd05, 114 => 0x20, 116 => 0xfa24, 118 => 0xf104, 121 => 0x12, 123 => 0x38, 126 => 0x10, 128 => 'ExposureTime', 150 => 0x9, 151 => 0x35, 152 => 0x48, 153 => 0x8, 156 => 0x49b8, 294 => 0x12, 322 => 0xa018, 325 => [0x32,0x4a], 333 => 0x0, 334 => 0x0, 349 => [0x21,0x23,0x27], 368 => 0x10, 391 => 'ExposureTime' }, 'exposuretime2' => { 325 => [0x33,0x4b] }, 'exposuretuning' => { 185 => 0x1c }, 'exposurevalue' => { 112 => 0x3 }, @@ -1863,23 +1904,24 @@ my %tagLookup = ( 'faithfulunsharpmaskstrength' => { 90 => 0xaa }, 'faithfulunsharpmaskthreshold' => { 90 => 0xae }, 'femicroadjustment' => { 71 => 0x111 }, - 'ffid' => { 388 => 'ffid' }, + 'ffid' => { 389 => 'ffid' }, + 'field' => { 401 => 'field' }, 'fieldcount' => { 246 => 0x103f }, 'filecreatedate' => { 99 => 'FileCreateDate' }, - 'filedatarate' => { 409 => 'fileDataRate' }, + 'filedatarate' => { 412 => 'fileDataRate' }, 'fileformat' => { 82 => 0x0, 107 => 0x14, 325 => [0x22,0x26], 345 => 0xb000 }, 'fileindex' => { 6 => 0x143, 8 => 0x2d0, 10 => 0x172, 12 => 0x22c, 13 => 0x133, 14 => 0x13f, 15 => 0x1d3, 16 => 0x19b, 17 => 0x1e4, 18 => 0xd0, 19 => 0x1bb, 20 => 0x28c, 21 => 0x1db, 22 => 0x1d9, 23 => [0x270,0x274], 24 => 0x2aa, 25 => 0x2b3, 26 => 0x1eb, 262 => 0x0 }, 'fileindex2' => { 20 => 0x290 }, 'filemodifydate' => { 99 => 'FileModifyDate' }, 'filename' => { 99 => 'FileName' }, - 'filenameasdelivered' => { 399 => 'FileNameAsDelivered' }, + 'filenameasdelivered' => { 400 => 'FileNameAsDelivered' }, 'filenumber' => { 47 => 0x1, 53 => 0x8, 84 => 0x1817, 95 => 'FileNumber', 173 => 0x4 }, 'filenumbermemory' => { 150 => 0x1a }, 'filenumbersequence' => { 228 => '12.2', 231 => '3.1', 232 => '4.1', 233 => '4.1', 234 => '11.1', 235 => '4.3', 239 => '5.2' }, - 'filesource' => { 98 => 0xa300, 103 => 0x8000, 390 => 'FileSource' }, + 'filesource' => { 98 => 0xa300, 103 => 0x8000, 391 => 'FileSource' }, 'fileversion' => { 107 => 0x16 }, 'fillflashautoreduction' => { 69 => 0xe, 70 => 0xe, 77 => 0xa }, - 'filllight' => { 386 => 'FillLight' }, + 'filllight' => { 387 => 'FillLight' }, 'fillorder' => { 98 => 0x10a }, 'filmmode' => { 103 => 0x1401, 259 => 0x412, 261 => 0x42 }, 'filmtype' => { 191 => 0x2 }, @@ -1908,9 +1950,9 @@ my %tagLookup = ( 'firmwarerevision2' => { 314 => 0xc }, 'firmwareversion' => { 6 => 0x10b, 10 => 0x136, 13 => 0xff, 14 => 0x107, 112 => 0xce5, 126 => 0x57, 128 => 'FirmwareVersion', 261 => 0x2, 263 => 0x3109, 294 => 0x230, 316 => 0x2 }, 'firstphotodate' => { 376 => 'FirstPhotoDate' }, - 'firstpublicationdate' => { 399 => 'FirstPublicationDate' }, + 'firstpublicationdate' => { 400 => 'FirstPublicationDate' }, 'fixtureidentifier' => { 106 => 0x16 }, - 'flash' => { 95 => 'Flash', 98 => 0x9209, 151 => 0x1f, 152 => 0x15, 390 => 'Flash' }, + 'flash' => { 95 => 'Flash', 98 => 0x9209, 151 => 0x1f, 152 => 0x15, 391 => 'Flash' }, 'flashaction' => { 333 => 0x3e, 334 => 0x3e, 345 => 0x2017, 349 => [0x2a,0x2c,0x30] }, 'flashaction2' => { 333 => 0x4c, 334 => 0x4c, 349 => 0x77 }, 'flashactionexternal' => { 349 => [0x78,0x7c] }, @@ -1930,7 +1972,7 @@ my %tagLookup = ( 'flashdefault' => { 153 => 0x42 }, 'flashdevice' => { 246 => 0x1005 }, 'flashdistance' => { 94 => 0x2034 }, - 'flashenergy' => { 98 => 0xa20b, 390 => 'FlashEnergy' }, + 'flashenergy' => { 98 => 0xa20b, 391 => 'FlashEnergy' }, 'flashexposurebracketvalue' => { 185 => 0x18 }, 'flashexposurecomp' => { 65 => 0xf, 103 => 0x1011, 131 => 'ExposureComp', 150 => 0x23, 155 => 0x104, 156 => 0x49c1, 185 => 0x12, 241 => 0x401, 246 => 0x1023, 294 => 0x4d, 316 => 0x100b, 325 => [0x3a,0x56], 345 => 0x104 }, 'flashexposurecomp2' => { 208 => 0x4d2 }, @@ -1943,11 +1985,11 @@ my %tagLookup = ( 'flashexposureindicatorlast' => { 153 => 0x56 }, 'flashexposureindicatornext' => { 153 => 0x55 }, 'flashexposurelock' => { 47 => 0x19 }, - 'flashfired' => { 114 => 0x5d, 131 => 'Fired', 150 => 0x14, 207 => '590.3', 261 => 0x8007, 390 => [\'Flash','FlashFired'] }, + 'flashfired' => { 114 => 0x5d, 131 => 'Fired', 150 => 0x14, 207 => '590.3', 261 => 0x8007, 391 => [\'Flash','FlashFired'] }, 'flashfiring' => { 71 => 0x306, 72 => 0x6, 73 => 0x7, 76 => 0x7 }, 'flashfirmwareversion' => { 242 => 0x1002 }, 'flashfocallength' => { 174 => 0xb, 175 => 0xc, 176 => 0xc }, - 'flashfunction' => { 156 => 0x31, 390 => [\'Flash','FlashFunction'] }, + 'flashfunction' => { 156 => 0x31, 391 => [\'Flash','FlashFunction'] }, 'flashgndistance' => { 174 => 0xe, 175 => 0xf, 176 => 0xf }, 'flashgroupacompensation' => { 174 => 0x11, 175 => 0x12, 176 => 0x13 }, 'flashgroupacontrolmode' => { 174 => 0xf, 175 => '16.1', 176 => '17.1' }, @@ -1966,15 +2008,15 @@ my %tagLookup = ( 'flashmetering' => { 150 => 0x3f, 153 => 0x1c }, 'flashmeteringmode' => { 6 => 0x15, 12 => 0x15, 13 => 0x15, 14 => 0x15, 15 => 0x15, 16 => 0x15, 17 => 0x15, 19 => 0x15, 21 => 0x15, 26 => 0x15 }, 'flashmeteringsegments' => { 294 => 0x20a }, - 'flashmode' => { 93 => 0x4, 114 => 0x5c, 131 => 'Mode', 150 => 0x2, 151 => 0x20, 152 => 0x16, 153 => 0xf, 185 => 0x87, 241 => 0x400, 246 => 0x1004, 294 => 0xc, 300 => 0x4, 315 => 0x20, 316 => 0x100a, 324 => 0x225, 333 => 0x13, 334 => 0x7f, 335 => 0x20, 349 => 0x10, 352 => 0x1138, 353 => 0x1138, 354 => 0x1114, 355 => 0x1190, 356 => 0x116c, 357 => 0x1024, 358 => 0x21c, 390 => [\'Flash','FlashMode'] }, + 'flashmode' => { 93 => 0x4, 114 => 0x5c, 131 => 'Mode', 150 => 0x2, 151 => 0x20, 152 => 0x16, 153 => 0xf, 185 => 0x87, 241 => 0x400, 246 => 0x1004, 294 => 0xc, 300 => 0x4, 315 => 0x20, 316 => 0x100a, 324 => 0x225, 333 => 0x13, 334 => 0x7f, 335 => 0x20, 349 => 0x10, 352 => 0x1138, 353 => 0x1138, 354 => 0x1114, 355 => 0x1190, 356 => 0x116c, 357 => 0x1024, 358 => 0x21c, 391 => [\'Flash','FlashMode'] }, 'flashmodel' => { 131 => 'Model', 148 => 'FlashModel', 242 => 0x1001 }, 'flashoptions' => { 275 => 0x2 }, 'flashoptions2' => { 275 => 0x10 }, 'flashoutput' => { 36 => 0x248, 65 => 0x21, 174 => 0xa, 175 => 0xa, 176 => 0xa }, - 'flashpixversion' => { 98 => 0xa000, 390 => 'FlashpixVersion' }, - 'flashredeyemode' => { 390 => [\'Flash','FlashRedEyeMode'] }, + 'flashpixversion' => { 98 => 0xa000, 391 => 'FlashpixVersion' }, + 'flashredeyemode' => { 391 => [\'Flash','FlashRedEyeMode'] }, 'flashremotecontrol' => { 241 => 0x403 }, - 'flashreturn' => { 390 => [\'Flash','FlashReturn'] }, + 'flashreturn' => { 391 => [\'Flash','FlashReturn'] }, 'flashserialnumber' => { 131 => 'SerialNumber', 242 => 0x1003 }, 'flashsetting' => { 185 => 0x8 }, 'flashshutterspeed' => { 228 => '20.2', 229 => '23.2', 234 => '15.2', 235 => '22.2', 236 => '7.2', 237 => '22.2', 238 => '23.2', 239 => '23.1' }, @@ -1990,17 +2032,17 @@ my %tagLookup = ( 'flexiblespotposition' => { 345 => 0x201d }, 'flickerreduce' => { 324 => 0x218 }, 'fliphorizontal' => { 221 => 0x76a43206 }, - 'fnumber' => { 6 => 0x3, 8 => 0x3, 10 => 0x3, 12 => 0x3, 13 => 0x3, 14 => 0x3, 15 => 0x3, 16 => 0x3, 17 => 0x3, 18 => 0x3, 19 => 0x3, 20 => 0x3, 21 => 0x3, 22 => 0x3, 23 => 0x3, 24 => 0x3, 25 => 0x3, 26 => 0x3, 27 => 0x5, 28 => 0x6, 65 => 0x15, 98 => 0x829d, 111 => 0xfd04, 114 => 0x1e, 116 => 0xfa23, 118 => 0xf103, 121 => 0x13, 123 => 0x3c, 126 => 0xc, 135 => 'FNumber', 150 => 0xa, 151 => 0x36, 152 => 0x47, 153 => 0x9, 156 => 0x49c7, 294 => 0x13, 322 => 0xa019, 325 => [0x31,0x49], 333 => 0x1, 334 => 0x1, 349 => [0x20,0x22,0x26], 390 => 'FNumber' }, - 'focallength' => { 6 => 0x1d, 7 => 0xa, 8 => 0x23, 9 => 0x9, 10 => 0x1d, 11 => 0x9, 12 => 0x1e, 13 => 0x1d, 14 => 0x1d, 15 => 0x1e, 16 => 0x1e, 17 => 0x1e, 18 => 0x28, 19 => 0x1e, 20 => 0x23, 21 => 0x1e, 22 => 0x1e, 23 => 0x23, 24 => 0x23, 25 => 0x23, 26 => 0x1e, 49 => 0x1, 94 => 0x1d, 98 => 0x920a, 121 => 0x1d, 135 => 'FocalLength', 150 => 0x12, 181 => 0xa, 182 => 0xb, 285 => 0x9, 294 => 0x1d, 316 => 0x1500, 332 => 0xe, 356 => 0x1278, 357 => 0x1134, 358 => 0x32c, 390 => 'FocalLength' }, + 'fnumber' => { 6 => 0x3, 8 => 0x3, 10 => 0x3, 12 => 0x3, 13 => 0x3, 14 => 0x3, 15 => 0x3, 16 => 0x3, 17 => 0x3, 18 => 0x3, 19 => 0x3, 20 => 0x3, 21 => 0x3, 22 => 0x3, 23 => 0x3, 24 => 0x3, 25 => 0x3, 26 => 0x3, 27 => 0x5, 28 => 0x6, 65 => 0x15, 98 => 0x829d, 111 => 0xfd04, 114 => 0x1e, 116 => 0xfa23, 118 => 0xf103, 121 => 0x13, 123 => 0x3c, 126 => 0xc, 135 => 'FNumber', 150 => 0xa, 151 => 0x36, 152 => 0x47, 153 => 0x9, 156 => 0x49c7, 294 => 0x13, 322 => 0xa019, 325 => [0x31,0x49], 333 => 0x1, 334 => 0x1, 349 => [0x20,0x22,0x26], 391 => 'FNumber' }, + 'focallength' => { 6 => 0x1d, 7 => 0xa, 8 => 0x23, 9 => 0x9, 10 => 0x1d, 11 => 0x9, 12 => 0x1e, 13 => 0x1d, 14 => 0x1d, 15 => 0x1e, 16 => 0x1e, 17 => 0x1e, 18 => 0x28, 19 => 0x1e, 20 => 0x23, 21 => 0x1e, 22 => 0x1e, 23 => 0x23, 24 => 0x23, 25 => 0x23, 26 => 0x1e, 49 => 0x1, 94 => 0x1d, 98 => 0x920a, 121 => 0x1d, 135 => 'FocalLength', 150 => 0x12, 181 => 0xa, 182 => 0xb, 285 => 0x9, 294 => 0x1d, 316 => 0x1500, 332 => 0xe, 356 => 0x1278, 357 => 0x1134, 358 => 0x32c, 391 => 'FocalLength' }, 'focallength2' => { 349 => [0x23,0x25,0x29] }, - 'focallengthin35mmformat' => { 98 => 0xa405, 322 => 0xa01a, 390 => 'FocalLengthIn35mmFilm' }, + 'focallengthin35mmformat' => { 98 => 0xa405, 322 => 0xa01a, 391 => 'FocalLengthIn35mmFilm' }, 'focallengthtelezoom' => { 332 => 0x10 }, 'focalplanediagonal' => { 242 => 0x103, 246 => 0x205 }, - 'focalplaneresolutionunit' => { 98 => 0xa210, 390 => 'FocalPlaneResolutionUnit' }, - 'focalplanexresolution' => { 98 => 0xa20e, 390 => 'FocalPlaneXResolution' }, + 'focalplaneresolutionunit' => { 98 => 0xa210, 391 => 'FocalPlaneResolutionUnit' }, + 'focalplanexresolution' => { 98 => 0xa20e, 391 => 'FocalPlaneXResolution' }, 'focalplanexsize' => { 49 => 0x2 }, 'focalplanexunknown' => { 49 => 0x2 }, - 'focalplaneyresolution' => { 98 => 0xa20f, 390 => 'FocalPlaneYResolution' }, + 'focalplaneyresolution' => { 98 => 0xa20f, 391 => 'FocalPlaneYResolution' }, 'focalplaneysize' => { 49 => 0x3 }, 'focalplaneyunknown' => { 49 => 0x3 }, 'focaltype' => { 9 => 0x2d, 49 => 0x0 }, @@ -2037,17 +2079,17 @@ my %tagLookup = ( 'focuswarning' => { 103 => 0x1301 }, 'foldername' => { 150 => 0x27 }, 'foldernumber' => { 333 => 0x9a, 335 => [0x402,0x114,0x316] }, - 'fontcomposite' => { 414 => [\'Fonts','FontsComposite'] }, - 'fontface' => { 414 => [\'Fonts','FontsFontFace'] }, - 'fontfamily' => { 414 => [\'Fonts','FontsFontFamily'] }, - 'fontfilename' => { 414 => [\'Fonts','FontsFontFileName'] }, - 'fontname' => { 414 => [\'Fonts','FontsFontName'] }, - 'fonts' => { 414 => 'Fonts' }, - 'fonttype' => { 414 => [\'Fonts','FontsFontType'] }, - 'fontversion' => { 414 => [\'Fonts','FontsVersionString'] }, + 'fontcomposite' => { 417 => [\'Fonts','FontsComposite'] }, + 'fontface' => { 417 => [\'Fonts','FontsFontFace'] }, + 'fontfamily' => { 417 => [\'Fonts','FontsFontFamily'] }, + 'fontfilename' => { 417 => [\'Fonts','FontsFontFileName'] }, + 'fontname' => { 417 => [\'Fonts','FontsFontName'] }, + 'fonts' => { 417 => 'Fonts' }, + 'fonttype' => { 417 => [\'Fonts','FontsFontType'] }, + 'fontversion' => { 417 => [\'Fonts','FontsVersionString'] }, 'for' => { 307 => 'For' }, - 'format' => { 387 => 'format', 407 => 'Format' }, - 'forwardlock' => { 404 => 'forwardlock' }, + 'format' => { 388 => 'format', 410 => 'Format' }, + 'forwardlock' => { 407 => 'forwardlock' }, 'forwardmatrix1' => { 98 => 0xc714 }, 'forwardmatrix2' => { 98 => 0xc715 }, 'framecount' => { 56 => [0x2,0x4] }, @@ -2056,6 +2098,7 @@ my %tagLookup = ( 'framenumber' => { 103 => 0x8003, 156 => 0x3c, 294 => 0x29 }, 'framerate' => { 56 => [0x1,0x6], 98 => 0xc764, 103 => 0x3820 }, 'framewidth' => { 103 => 0x3821 }, + 'framing' => { 401 => 'framing' }, 'freebytes' => { 84 => 0x1 }, 'freememorycardimages' => { 151 => [0x37,0x54], 152 => [0x2d,0x4a], 153 => 0x32 }, 'fujiflashmode' => { 103 => 0x1010 }, @@ -2070,14 +2113,14 @@ my %tagLookup = ( 'funcbuttonplusdials' => { 228 => ['14.2','15.2'], 229 => '14.2', 234 => '31.1', 238 => '42.1' }, 'functionbutton' => { 233 => '13.1', 236 => '5.2' }, 'gainbase' => { 245 => 0x610 }, - 'gaincontrol' => { 98 => 0xa407, 390 => 'GainControl' }, - 'gamma' => { 98 => 0xa500, 391 => 'Gamma' }, + 'gaincontrol' => { 98 => 0xa407, 391 => 'GainControl' }, + 'gamma' => { 98 => 0xa500, 392 => 'Gamma' }, 'gammacompensatedvalue' => { 108 => 0x91 }, 'geimagesize' => { 103 => 0x1304 }, 'gemake' => { 104 => 0x300 }, 'gemodel' => { 104 => 0x207 }, - 'genre' => { 400 => 'genre', 409 => 'genre' }, - 'geography' => { 401 => 'geography' }, + 'genre' => { 402 => 'genre', 412 => 'genre' }, + 'geography' => { 403 => 'geography' }, 'geologicalcontext' => { 97 => 'GeologicalContext' }, 'geologicalcontextbed' => { 97 => [\'GeologicalContext','GeologicalContextBed'] }, 'geologicalcontextformation' => { 97 => [\'GeologicalContext','GeologicalContextFormation'] }, @@ -2092,108 +2135,108 @@ my %tagLookup = ( 'geotime' => { 99 => 'Geotime' }, 'globalaltitude' => { 305 => 0x419 }, 'globalangle' => { 305 => 0x40d }, - 'good' => { 409 => 'good' }, + 'good' => { 412 => 'good' }, 'googleplusuploadcode' => { 98 => 0x9009 }, - 'gpsaltitude' => { 105 => 0x6, 132 => 'Altitude', 390 => 'GPSAltitude' }, - 'gpsaltituderef' => { 105 => 0x5, 390 => 'GPSAltitudeRef' }, - 'gpsareainformation' => { 105 => 0x1c, 390 => 'GPSAreaInformation' }, + 'gpsaltitude' => { 105 => 0x6, 132 => 'Altitude', 391 => 'GPSAltitude' }, + 'gpsaltituderef' => { 105 => 0x5, 391 => 'GPSAltitudeRef' }, + 'gpsareainformation' => { 105 => 0x1c, 391 => 'GPSAreaInformation' }, 'gpsdatestamp' => { 105 => 0x1d }, - 'gpsdatetime' => { 132 => 'DateTime', 390 => 'GPSTimeStamp' }, - 'gpsdestbearing' => { 105 => 0x18, 132 => 'Bearing', 390 => 'GPSDestBearing' }, - 'gpsdestbearingref' => { 105 => 0x17, 390 => 'GPSDestBearingRef' }, - 'gpsdestdistance' => { 105 => 0x1a, 132 => 'Distance', 390 => 'GPSDestDistance' }, - 'gpsdestdistanceref' => { 105 => 0x19, 390 => 'GPSDestDistanceRef' }, - 'gpsdestlatitude' => { 105 => 0x14, 390 => 'GPSDestLatitude' }, + 'gpsdatetime' => { 132 => 'DateTime', 391 => 'GPSTimeStamp' }, + 'gpsdestbearing' => { 105 => 0x18, 132 => 'Bearing', 391 => 'GPSDestBearing' }, + 'gpsdestbearingref' => { 105 => 0x17, 391 => 'GPSDestBearingRef' }, + 'gpsdestdistance' => { 105 => 0x1a, 132 => 'Distance', 391 => 'GPSDestDistance' }, + 'gpsdestdistanceref' => { 105 => 0x19, 391 => 'GPSDestDistanceRef' }, + 'gpsdestlatitude' => { 105 => 0x14, 391 => 'GPSDestLatitude' }, 'gpsdestlatituderef' => { 105 => 0x13 }, - 'gpsdestlongitude' => { 105 => 0x16, 390 => 'GPSDestLongitude' }, + 'gpsdestlongitude' => { 105 => 0x16, 391 => 'GPSDestLongitude' }, 'gpsdestlongituderef' => { 105 => 0x15 }, - 'gpsdifferential' => { 105 => 0x1e, 132 => 'Differential', 390 => 'GPSDifferential' }, - 'gpsdop' => { 105 => 0xb, 390 => 'GPSDOP' }, - 'gpshpositioningerror' => { 105 => 0x1f, 390 => 'GPSHPositioningError' }, - 'gpsimgdirection' => { 105 => 0x11, 390 => 'GPSImgDirection' }, - 'gpsimgdirectionref' => { 105 => 0x10, 390 => 'GPSImgDirectionRef' }, - 'gpslatitude' => { 105 => 0x2, 132 => 'Latitude', 390 => 'GPSLatitude' }, + 'gpsdifferential' => { 105 => 0x1e, 132 => 'Differential', 391 => 'GPSDifferential' }, + 'gpsdop' => { 105 => 0xb, 391 => 'GPSDOP' }, + 'gpshpositioningerror' => { 105 => 0x1f, 391 => 'GPSHPositioningError' }, + 'gpsimgdirection' => { 105 => 0x11, 391 => 'GPSImgDirection' }, + 'gpsimgdirectionref' => { 105 => 0x10, 391 => 'GPSImgDirectionRef' }, + 'gpslatitude' => { 105 => 0x2, 132 => 'Latitude', 391 => 'GPSLatitude' }, 'gpslatituderef' => { 105 => 0x1 }, - 'gpslongitude' => { 105 => 0x4, 132 => 'Longitude', 390 => 'GPSLongitude' }, + 'gpslongitude' => { 105 => 0x4, 132 => 'Longitude', 391 => 'GPSLongitude' }, 'gpslongituderef' => { 105 => 0x3 }, - 'gpsmapdatum' => { 105 => 0x12, 132 => 'Datum', 390 => 'GPSMapDatum' }, - 'gpsmeasuremode' => { 105 => 0xa, 132 => 'MeasureMode', 390 => 'GPSMeasureMode' }, - 'gpsprocessingmethod' => { 105 => 0x1b, 390 => 'GPSProcessingMethod' }, - 'gpssatellites' => { 105 => 0x8, 132 => 'Satellites', 390 => 'GPSSatellites' }, - 'gpsspeed' => { 105 => 0xd, 132 => 'Speed', 390 => 'GPSSpeed' }, - 'gpsspeedref' => { 105 => 0xc, 390 => 'GPSSpeedRef' }, - 'gpsstatus' => { 105 => 0x9, 390 => 'GPSStatus' }, + 'gpsmapdatum' => { 105 => 0x12, 132 => 'Datum', 391 => 'GPSMapDatum' }, + 'gpsmeasuremode' => { 105 => 0xa, 132 => 'MeasureMode', 391 => 'GPSMeasureMode' }, + 'gpsprocessingmethod' => { 105 => 0x1b, 391 => 'GPSProcessingMethod' }, + 'gpssatellites' => { 105 => 0x8, 132 => 'Satellites', 391 => 'GPSSatellites' }, + 'gpsspeed' => { 105 => 0xd, 132 => 'Speed', 391 => 'GPSSpeed' }, + 'gpsspeedref' => { 105 => 0xc, 391 => 'GPSSpeedRef' }, + 'gpsstatus' => { 105 => 0x9, 391 => 'GPSStatus' }, 'gpstimestamp' => { 105 => 0x7 }, - 'gpstrack' => { 105 => 0xf, 132 => 'Heading', 390 => 'GPSTrack' }, - 'gpstrackref' => { 105 => 0xe, 390 => 'GPSTrackRef' }, - 'gpsversionid' => { 105 => 0x0, 390 => 'GPSVersionID' }, + 'gpstrack' => { 105 => 0xf, 132 => 'Heading', 391 => 'GPSTrack' }, + 'gpstrackref' => { 105 => 0xe, 391 => 'GPSTrackRef' }, + 'gpsversionid' => { 105 => 0x0, 391 => 'GPSVersionID' }, 'gradation' => { 241 => 0x50f }, - 'gradientbasedcorractive' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionActive'] }, - 'gradientbasedcorramount' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionAmount'] }, - 'gradientbasedcorrbrightness' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalBrightness'] }, - 'gradientbasedcorrclarity' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity'] }, - 'gradientbasedcorrclarity2012' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity2012'] }, - 'gradientbasedcorrcontrast' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast'] }, - 'gradientbasedcorrcontrast2012' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast2012'] }, - 'gradientbasedcorrdefringe' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalDefringe'] }, - 'gradientbasedcorrections' => { 386 => 'GradientBasedCorrections' }, - 'gradientbasedcorrexposure' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure'] }, - 'gradientbasedcorrexposure2012' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure2012'] }, - 'gradientbasedcorrhighlights2012' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalHighlights2012'] }, - 'gradientbasedcorrhue' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalToningHue'] }, - 'gradientbasedcorrluminancenoise' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalLuminanceNoise'] }, - 'gradientbasedcorrmaskalpha' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAlpha'] }, - 'gradientbasedcorrmaskangle' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAngle'] }, - 'gradientbasedcorrmaskbottom' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksBottom'] }, - 'gradientbasedcorrmaskcentervalue' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterValue'] }, - 'gradientbasedcorrmaskcenterweight' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterWeight'] }, - 'gradientbasedcorrmaskdabs' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksDabs'] }, - 'gradientbasedcorrmaskfeather' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFeather'] }, - 'gradientbasedcorrmaskflipped' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlipped'] }, - 'gradientbasedcorrmaskflow' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlow'] }, - 'gradientbasedcorrmaskfullx' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullX'] }, - 'gradientbasedcorrmaskfully' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullY'] }, - 'gradientbasedcorrmaskleft' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksLeft'] }, - 'gradientbasedcorrmaskmidpoint' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMidpoint'] }, - 'gradientbasedcorrmaskperimetervalue' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksPerimeterValue'] }, - 'gradientbasedcorrmaskradius' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRadius'] }, - 'gradientbasedcorrmaskright' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRight'] }, - 'gradientbasedcorrmaskroundness' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRoundness'] }, - 'gradientbasedcorrmasks' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasks'] }, - 'gradientbasedcorrmasksizex' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeX'] }, - 'gradientbasedcorrmasksizey' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeY'] }, - 'gradientbasedcorrmasktop' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksTop'] }, - 'gradientbasedcorrmaskvalue' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMaskValue'] }, - 'gradientbasedcorrmaskversion' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksVersion'] }, - 'gradientbasedcorrmaskwhat' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksWhat'] }, - 'gradientbasedcorrmaskx' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksX'] }, - 'gradientbasedcorrmasky' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksY'] }, - 'gradientbasedcorrmaskzerox' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroX'] }, - 'gradientbasedcorrmaskzeroy' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroY'] }, - 'gradientbasedcorrmoire' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalMoire'] }, - 'gradientbasedcorrsaturation' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSaturation','GradientBasedCorrectionsLocalToningSaturation'] }, - 'gradientbasedcorrshadows2012' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalShadows2012'] }, - 'gradientbasedcorrsharpness' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSharpness'] }, - 'gradientbasedcorrtemperature' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTemperature'] }, - 'gradientbasedcorrtint' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTint'] }, - 'gradientbasedcorrwhat' => { 386 => [\'GradientBasedCorrections','GradientBasedCorrectionsWhat'] }, - 'grainamount' => { 386 => 'GrainAmount' }, - 'grainfrequency' => { 386 => 'GrainFrequency' }, - 'grainsize' => { 386 => 'GrainSize' }, - 'graymixeraqua' => { 386 => 'GrayMixerAqua' }, - 'graymixerblue' => { 386 => 'GrayMixerBlue' }, - 'graymixergreen' => { 386 => 'GrayMixerGreen' }, - 'graymixermagenta' => { 386 => 'GrayMixerMagenta' }, - 'graymixerorange' => { 386 => 'GrayMixerOrange' }, - 'graymixerpurple' => { 386 => 'GrayMixerPurple' }, - 'graymixerred' => { 386 => 'GrayMixerRed' }, - 'graymixeryellow' => { 386 => 'GrayMixerYellow' }, + 'gradientbasedcorractive' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionActive'] }, + 'gradientbasedcorramount' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionAmount'] }, + 'gradientbasedcorrbrightness' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalBrightness'] }, + 'gradientbasedcorrclarity' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity'] }, + 'gradientbasedcorrclarity2012' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity2012'] }, + 'gradientbasedcorrcontrast' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast'] }, + 'gradientbasedcorrcontrast2012' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast2012'] }, + 'gradientbasedcorrdefringe' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalDefringe'] }, + 'gradientbasedcorrections' => { 387 => 'GradientBasedCorrections' }, + 'gradientbasedcorrexposure' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure'] }, + 'gradientbasedcorrexposure2012' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure2012'] }, + 'gradientbasedcorrhighlights2012' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalHighlights2012'] }, + 'gradientbasedcorrhue' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalToningHue'] }, + 'gradientbasedcorrluminancenoise' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalLuminanceNoise'] }, + 'gradientbasedcorrmaskalpha' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAlpha'] }, + 'gradientbasedcorrmaskangle' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAngle'] }, + 'gradientbasedcorrmaskbottom' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksBottom'] }, + 'gradientbasedcorrmaskcentervalue' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterValue'] }, + 'gradientbasedcorrmaskcenterweight' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterWeight'] }, + 'gradientbasedcorrmaskdabs' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksDabs'] }, + 'gradientbasedcorrmaskfeather' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFeather'] }, + 'gradientbasedcorrmaskflipped' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlipped'] }, + 'gradientbasedcorrmaskflow' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlow'] }, + 'gradientbasedcorrmaskfullx' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullX'] }, + 'gradientbasedcorrmaskfully' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullY'] }, + 'gradientbasedcorrmaskleft' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksLeft'] }, + 'gradientbasedcorrmaskmidpoint' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMidpoint'] }, + 'gradientbasedcorrmaskperimetervalue' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksPerimeterValue'] }, + 'gradientbasedcorrmaskradius' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRadius'] }, + 'gradientbasedcorrmaskright' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRight'] }, + 'gradientbasedcorrmaskroundness' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRoundness'] }, + 'gradientbasedcorrmasks' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasks'] }, + 'gradientbasedcorrmasksizex' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeX'] }, + 'gradientbasedcorrmasksizey' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeY'] }, + 'gradientbasedcorrmasktop' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksTop'] }, + 'gradientbasedcorrmaskvalue' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMaskValue'] }, + 'gradientbasedcorrmaskversion' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksVersion'] }, + 'gradientbasedcorrmaskwhat' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksWhat'] }, + 'gradientbasedcorrmaskx' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksX'] }, + 'gradientbasedcorrmasky' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksY'] }, + 'gradientbasedcorrmaskzerox' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroX'] }, + 'gradientbasedcorrmaskzeroy' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroY'] }, + 'gradientbasedcorrmoire' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalMoire'] }, + 'gradientbasedcorrsaturation' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSaturation','GradientBasedCorrectionsLocalToningSaturation'] }, + 'gradientbasedcorrshadows2012' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalShadows2012'] }, + 'gradientbasedcorrsharpness' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSharpness'] }, + 'gradientbasedcorrtemperature' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTemperature'] }, + 'gradientbasedcorrtint' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTint'] }, + 'gradientbasedcorrwhat' => { 387 => [\'GradientBasedCorrections','GradientBasedCorrectionsWhat'] }, + 'grainamount' => { 387 => 'GrainAmount' }, + 'grainfrequency' => { 387 => 'GrainFrequency' }, + 'grainsize' => { 387 => 'GrainSize' }, + 'graymixeraqua' => { 387 => 'GrayMixerAqua' }, + 'graymixerblue' => { 387 => 'GrayMixerBlue' }, + 'graymixergreen' => { 387 => 'GrayMixerGreen' }, + 'graymixermagenta' => { 387 => 'GrayMixerMagenta' }, + 'graymixerorange' => { 387 => 'GrayMixerOrange' }, + 'graymixerpurple' => { 387 => 'GrayMixerPurple' }, + 'graymixerred' => { 387 => 'GrayMixerRed' }, + 'graymixeryellow' => { 387 => 'GrayMixerYellow' }, 'graypoint' => { 372 => 0x8021 }, 'grayresponseunit' => { 98 => 0x122 }, 'greencurvelimits' => { 89 => 0x1c4 }, 'greencurvepoints' => { 89 => 0x19a }, - 'greenhue' => { 386 => 'GreenHue' }, - 'greensaturation' => { 386 => 'GreenSaturation' }, + 'greenhue' => { 387 => 'GreenHue' }, + 'greensaturation' => { 387 => 'GreenSaturation' }, 'griddisplay' => { 228 => '13.3', 229 => '4.3', 231 => '2.2', 234 => '10.5', 235 => '3.4', 236 => '6.1', 238 => '4.4', 239 => '4.2' }, 'gripbatteryadload' => { 273 => 0x5 }, 'gripbatteryadnoload' => { 273 => 0x4 }, @@ -2201,13 +2244,15 @@ my %tagLookup = ( 'groupareaafillumination' => { 229 => '46.4', 238 => '47.4' }, 'halftonehints' => { 98 => 0x141 }, 'hardlink' => { 99 => 'HardLink' }, - 'hasalternative' => { 400 => 'hasAlternative' }, - 'hascorrection' => { 400 => 'hasCorrection' }, - 'hascrop' => { 386 => 'HasCrop' }, - 'hasextendedxmp' => { 411 => 'HasExtendedXMP' }, - 'haspreviousversion' => { 400 => 'hasPreviousVersion' }, - 'hassettings' => { 386 => 'HasSettings' }, - 'hastranslation' => { 400 => 'hasTranslation' }, + 'hasalternative' => { 402 => 'hasAlternative' }, + 'hascorrection' => { 402 => 'hasCorrection' }, + 'hascorrectiona-lang' => { 402 => [\'hasCorrection','hasCorrectionA-lang'] }, + 'hascorrectiona-platform' => { 402 => [\'hasCorrection','hasCorrectionA-platform'] }, + 'hascorrectiontext' => { 402 => [\'hasCorrection','hasCorrectionText'] }, + 'hascrop' => { 387 => 'HasCrop' }, + 'hasextendedxmp' => { 414 => 'HasExtendedXMP' }, + 'hassettings' => { 387 => 'HasSettings' }, + 'hastranslation' => { 402 => 'hasTranslation' }, 'hdr' => { 50 => 0x1, 178 => 0x4, 261 => 0x9e, 294 => 0x85, 345 => 0x200a }, 'hdreffect' => { 50 => 0x2 }, 'hdrimagetype' => { 1 => 0xa }, @@ -2216,7 +2261,7 @@ my %tagLookup = ( 'hdrlevel2' => { 178 => 0x7 }, 'hdrsetting' => { 335 => 0x2d, 349 => 0x16, 352 => 0x1148, 353 => 0x1148, 354 => 0x1124, 355 => 0x11a0, 356 => 0x117c, 357 => 0x1034, 358 => 0x22c }, 'hdrsmoothing' => { 178 => 0x6 }, - 'headline' => { 106 => 0x69, 398 => 'Headline' }, + 'headline' => { 106 => 0x69, 399 => 'Headline' }, 'hierarchicalkeywords' => { 143 => [\'Keywords','KeywordsHierarchy'] }, 'hierarchicalkeywords1' => { 143 => [\'Keywords','KeywordsHierarchyKeyword'] }, 'hierarchicalkeywords1applied' => { 143 => [\'Keywords','KeywordsHierarchyApplied'] }, @@ -2245,21 +2290,21 @@ my %tagLookup = ( 'highlight' => { 325 => 0xf }, 'highlightcolordistortreduct' => { 372 => 0x8026 }, 'highlightprotection' => { 220 => 0x6 }, - 'highlightrecovery' => { 386 => 'HighlightRecovery' }, + 'highlightrecovery' => { 387 => 'HighlightRecovery' }, 'highlights' => { 380 => 'Highlights' }, - 'highlights2012' => { 386 => 'Highlights2012' }, + 'highlights2012' => { 387 => 'Highlights2012' }, 'highlighttone' => { 103 => 0x1041 }, 'highlighttonepriority' => { 12 => 0x7, 15 => 0x7, 16 => 0x7, 17 => 0x7, 19 => 0x7, 21 => 0x7, 26 => 0x7, 52 => 0x3, 71 => 0x203 }, 'highlowkeyadj' => { 294 => 0x6c }, 'highspeedsync' => { 153 => 0x5, 333 => 0x2, 334 => 0x2 }, 'histogramxml' => { 221 => 0x83a1a25 }, - 'history' => { 398 => 'History', 410 => 'History' }, - 'historyaction' => { 410 => [\'History','HistoryAction'] }, - 'historychanged' => { 410 => [\'History','HistoryChanged'] }, - 'historyinstanceid' => { 410 => [\'History','HistoryInstanceID'] }, - 'historyparameters' => { 410 => [\'History','HistoryParameters'] }, - 'historysoftwareagent' => { 410 => [\'History','HistorySoftwareAgent'] }, - 'historywhen' => { 410 => [\'History','HistoryWhen'] }, + 'history' => { 399 => 'History', 413 => 'History' }, + 'historyaction' => { 413 => [\'History','HistoryAction'] }, + 'historychanged' => { 413 => [\'History','HistoryChanged'] }, + 'historyinstanceid' => { 413 => [\'History','HistoryInstanceID'] }, + 'historyparameters' => { 413 => [\'History','HistoryParameters'] }, + 'historysoftwareagent' => { 413 => [\'History','HistorySoftwareAgent'] }, + 'historywhen' => { 413 => [\'History','HistoryWhen'] }, 'hometowncity' => { 94 => 0x3006, 294 => 0x23, 299 => 0x2 }, 'hometowncitycode' => { 300 => 0x1000 }, 'hometowndst' => { 294 => 0x25, 299 => '0.2' }, @@ -2268,17 +2313,17 @@ my %tagLookup = ( 'hueadj' => { 224 => 0x2f, 372 => 0x8019 }, 'hueadjust' => { 316 => 0x1016 }, 'hueadjustment' => { 151 => 0x4a, 152 => 0x40, 185 => 0x92, 187 => 0x36 }, - 'hueadjustmentaqua' => { 386 => 'HueAdjustmentAqua' }, - 'hueadjustmentblue' => { 386 => 'HueAdjustmentBlue' }, - 'hueadjustmentgreen' => { 386 => 'HueAdjustmentGreen' }, - 'hueadjustmentmagenta' => { 386 => 'HueAdjustmentMagenta' }, - 'hueadjustmentorange' => { 386 => 'HueAdjustmentOrange' }, - 'hueadjustmentpurple' => { 386 => 'HueAdjustmentPurple' }, - 'hueadjustmentred' => { 386 => 'HueAdjustmentRed' }, - 'hueadjustmentyellow' => { 386 => 'HueAdjustmentYellow' }, + 'hueadjustmentaqua' => { 387 => 'HueAdjustmentAqua' }, + 'hueadjustmentblue' => { 387 => 'HueAdjustmentBlue' }, + 'hueadjustmentgreen' => { 387 => 'HueAdjustmentGreen' }, + 'hueadjustmentmagenta' => { 387 => 'HueAdjustmentMagenta' }, + 'hueadjustmentorange' => { 387 => 'HueAdjustmentOrange' }, + 'hueadjustmentpurple' => { 387 => 'HueAdjustmentPurple' }, + 'hueadjustmentred' => { 387 => 'HueAdjustmentRed' }, + 'hueadjustmentyellow' => { 387 => 'HueAdjustmentYellow' }, 'huesetting' => { 249 => 0x1011 }, 'icc_profile' => { 99 => 'ICC_Profile' }, - 'iccprofilename' => { 398 => 'ICCProfile' }, + 'iccprofilename' => { 399 => 'ICCProfile' }, 'idccreativestyle' => { 372 => 0x8000 }, 'idcpreviewlength' => { 372 => 0x202 }, 'idcpreviewstart' => { 372 => 0x201 }, @@ -2289,10 +2334,10 @@ my %tagLookup = ( 'identificationremarks' => { 97 => [\'Identification','IdentificationIdentificationRemarks'] }, 'identificationverificationstatus' => { 97 => [\'Identification','IdentificationIdentificationVerificationStatus'] }, 'identifiedby' => { 97 => [\'Identification','IdentificationIdentifiedBy'] }, - 'identifier' => { 387 => 'identifier', 407 => 'Identifier' }, + 'identifier' => { 388 => 'identifier', 410 => 'Identifier' }, 'illumination' => { 236 => '0.5' }, 'imageadjustment' => { 185 => 0x80, 211 => 0x5 }, - 'imagealterationconstraints' => { 399 => 'ImageAlterationConstraints' }, + 'imagealterationconstraints' => { 400 => 'ImageAlterationConstraints' }, 'imagearea' => { 196 => 0x10, 199 => 0x10 }, 'imageareaoffset' => { 294 => 0x38 }, 'imageauthentication' => { 185 => 0x20 }, @@ -2300,22 +2345,22 @@ my %tagLookup = ( 'imagecount' => { 185 => 0xa5, 347 => 0x11b, 359 => 0x32 }, 'imagecount2' => { 359 => 0x4c }, 'imagecount3' => { 359 => [0x1a0,0x1aa,0x1bd] }, - 'imagecreator' => { 399 => 'ImageCreator' }, - 'imagecreatorid' => { 399 => [\'ImageCreator','ImageCreatorImageCreatorID'] }, - 'imagecreatorimageid' => { 399 => 'ImageCreatorImageID' }, - 'imagecreatorname' => { 399 => [\'ImageCreator','ImageCreatorImageCreatorName'] }, + 'imagecreator' => { 400 => 'ImageCreator' }, + 'imagecreatorid' => { 400 => [\'ImageCreator','ImageCreatorImageCreatorID'] }, + 'imagecreatorimageid' => { 400 => 'ImageCreatorImageID' }, + 'imagecreatorname' => { 400 => [\'ImageCreator','ImageCreatorImageCreatorName'] }, 'imagedatasize' => { 185 => 0xa2 }, - 'imagedescription' => { 98 => 0x10e, 405 => 'ImageDescription' }, - 'imageduplicationconstraints' => { 399 => 'ImageDuplicationConstraints' }, + 'imagedescription' => { 98 => 0x10e, 408 => 'ImageDescription' }, + 'imageduplicationconstraints' => { 400 => 'ImageDuplicationConstraints' }, 'imagedustoff' => { 221 => 0xfe443a45 }, 'imageeditcount' => { 294 => 0x41 }, 'imageediting' => { 294 => 0x32 }, 'imageeffects' => { 316 => 0x1010 }, - 'imagefileconstraints' => { 399 => 'ImageFileConstraints' }, - 'imagefileformatasdelivered' => { 399 => 'ImageFileFormatAsDelivered' }, - 'imagefilesizeasdelivered' => { 399 => 'ImageFileSizeAsDelivered' }, + 'imagefileconstraints' => { 400 => 'ImageFileConstraints' }, + 'imagefileformatasdelivered' => { 400 => 'ImageFileFormatAsDelivered' }, + 'imagefilesizeasdelivered' => { 400 => 'ImageFileSizeAsDelivered' }, 'imagegeneration' => { 103 => 0x1436 }, - 'imageheight' => { 98 => 0x101, 157 => 0xc, 405 => 'ImageLength' }, + 'imageheight' => { 98 => 0x101, 157 => 0xc, 408 => 'ImageLength' }, 'imagehistory' => { 98 => 0x9213 }, 'imageidnumber' => { 257 => 0x340 }, 'imagenumber' => { 98 => 0x9211, 128 => 'ImageNumber', 151 => 0xae, 152 => 0x5e, 333 => 0x9b, 335 => [0x400,'276.1',0x314], 383 => 'ImageNumber' }, @@ -2326,50 +2371,51 @@ my %tagLookup = ( 'imageprocessingversion' => { 245 => 0x0 }, 'imagequality' => { 128 => 'ImageQuality', 198 => '723.2', 199 => '732.2', 207 => '708.1', 261 => 0x1 }, 'imagequality2' => { 241 => 0x603 }, - 'imageref' => { 394 => 'ImageRef' }, + 'imageref' => { 395 => 'ImageRef' }, 'imagereview' => { 230 => '0.4', 236 => '0.4' }, 'imagereviewmonitorofftime' => { 229 => '21.1', 238 => '21.1' }, 'imagereviewtime' => { 228 => '25.1', 230 => '2.1', 231 => '19.1', 232 => '20.1', 233 => '20.1', 234 => '9.2', 235 => '20.1', 239 => '21.2' }, 'imagesize' => { 134 => 'ImageSize' }, - 'imagesizerestriction' => { 402 => 'imageSizeRestriction' }, + 'imagesizerestriction' => { 405 => 'imageSizeRestriction' }, 'imagesourcedata' => { 98 => 0x935c }, 'imagestabilization' => { 30 => 0x22, 94 => 0x3020, 103 => 0x1422, 128 => 'ImageStabilization', 151 => 0xbd, 152 => 0x71, 153 => 0x57, 154 => 0x0, 155 => [0x18,0x107,0x113], 156 => 0x49c2, 185 => 0xac, 241 => 0x604, 244 => 0x1600, 261 => 0x1a, 338 => 0x12, 339 => 0x11, 345 => 0xb026 }, 'imagestabilization2' => { 337 => 0xa }, 'imagestabilizationsetting' => { 156 => 0x14, 333 => 0x3d, 334 => 0x3d, 344 => 0x14 }, 'imagestyle' => { 333 => 0x2d, 334 => 0x27 }, - 'imagesupplier' => { 399 => 'ImageSupplier' }, - 'imagesupplierid' => { 399 => [\'ImageSupplier','ImageSupplierImageSupplierID'] }, - 'imagesupplierimageid' => { 399 => 'ImageSupplierImageID' }, - 'imagesuppliername' => { 399 => [\'ImageSupplier','ImageSupplierImageSupplierName'] }, + 'imagesupplier' => { 400 => 'ImageSupplier' }, + 'imagesupplierid' => { 400 => [\'ImageSupplier','ImageSupplierImageSupplierID'] }, + 'imagesupplierimageid' => { 400 => 'ImageSupplierImageID' }, + 'imagesuppliername' => { 400 => [\'ImageSupplier','ImageSupplierImageSupplierName'] }, 'imagetemperaturemax' => { 100 => 0x1 }, 'imagetemperaturemin' => { 100 => 0x2 }, 'imagetone' => { 294 => 0x4f }, - 'imagetype' => { 106 => 0x82, 399 => 'ImageType' }, - 'imageuniqueid' => { 53 => 0x28, 98 => 0xa420, 390 => 'ImageUniqueID' }, - 'imagewidth' => { 98 => 0x100, 157 => 0xe, 405 => 'ImageWidth' }, - 'incrementaltemperature' => { 386 => 'IncrementalTemperature' }, - 'incrementaltint' => { 386 => 'IncrementalTint' }, - 'industry' => { 400 => 'industry', 401 => 'industry' }, + 'imagetype' => { 106 => 0x82, 400 => 'ImageType' }, + 'imageuniqueid' => { 53 => 0x28, 98 => 0xa420, 391 => 'ImageUniqueID' }, + 'imagewidth' => { 98 => 0x100, 157 => 0xe, 408 => 'ImageWidth' }, + 'incrementaltemperature' => { 387 => 'IncrementalTemperature' }, + 'incrementaltint' => { 387 => 'IncrementalTint' }, + 'industry' => { 402 => 'industry', 403 => 'industry' }, 'infobuttonwhenshooting' => { 71 => 0x409 }, 'infraredilluminator' => { 312 => 0x28 }, - 'ingredients' => { 410 => 'Ingredients' }, - 'ingredientsalternatepaths' => { 410 => [\'Ingredients','IngredientsAlternatePaths'] }, - 'ingredientsdocumentid' => { 410 => [\'Ingredients','IngredientsDocumentID'] }, - 'ingredientsfilepath' => { 410 => [\'Ingredients','IngredientsFilePath'] }, - 'ingredientsfrompart' => { 410 => [\'Ingredients','IngredientsFromPart'] }, - 'ingredientsinstanceid' => { 410 => [\'Ingredients','IngredientsInstanceID'] }, - 'ingredientslastmodifydate' => { 410 => [\'Ingredients','IngredientsLastModifyDate'] }, - 'ingredientsmanager' => { 410 => [\'Ingredients','IngredientsManager'] }, - 'ingredientsmanagervariant' => { 410 => [\'Ingredients','IngredientsManagerVariant'] }, - 'ingredientsmanageto' => { 410 => [\'Ingredients','IngredientsManageTo'] }, - 'ingredientsmanageui' => { 410 => [\'Ingredients','IngredientsManageUI'] }, - 'ingredientsmaskmarkers' => { 410 => [\'Ingredients','IngredientsMaskMarkers'] }, - 'ingredientsoriginaldocumentid' => { 410 => [\'Ingredients','IngredientsOriginalDocumentID'] }, - 'ingredientspartmapping' => { 410 => [\'Ingredients','IngredientsPartMapping'] }, - 'ingredientsrenditionclass' => { 410 => [\'Ingredients','IngredientsRenditionClass'] }, - 'ingredientsrenditionparams' => { 410 => [\'Ingredients','IngredientsRenditionParams'] }, - 'ingredientstopart' => { 410 => [\'Ingredients','IngredientsToPart'] }, - 'ingredientsversionid' => { 410 => [\'Ingredients','IngredientsVersionID'] }, + 'ingredientexclusion' => { 404 => 'ingredientExclusion' }, + 'ingredients' => { 413 => 'Ingredients' }, + 'ingredientsalternatepaths' => { 413 => [\'Ingredients','IngredientsAlternatePaths'] }, + 'ingredientsdocumentid' => { 413 => [\'Ingredients','IngredientsDocumentID'] }, + 'ingredientsfilepath' => { 413 => [\'Ingredients','IngredientsFilePath'] }, + 'ingredientsfrompart' => { 413 => [\'Ingredients','IngredientsFromPart'] }, + 'ingredientsinstanceid' => { 413 => [\'Ingredients','IngredientsInstanceID'] }, + 'ingredientslastmodifydate' => { 413 => [\'Ingredients','IngredientsLastModifyDate'] }, + 'ingredientsmanager' => { 413 => [\'Ingredients','IngredientsManager'] }, + 'ingredientsmanagervariant' => { 413 => [\'Ingredients','IngredientsManagerVariant'] }, + 'ingredientsmanageto' => { 413 => [\'Ingredients','IngredientsManageTo'] }, + 'ingredientsmanageui' => { 413 => [\'Ingredients','IngredientsManageUI'] }, + 'ingredientsmaskmarkers' => { 413 => [\'Ingredients','IngredientsMaskMarkers'] }, + 'ingredientsoriginaldocumentid' => { 413 => [\'Ingredients','IngredientsOriginalDocumentID'] }, + 'ingredientspartmapping' => { 413 => [\'Ingredients','IngredientsPartMapping'] }, + 'ingredientsrenditionclass' => { 413 => [\'Ingredients','IngredientsRenditionClass'] }, + 'ingredientsrenditionparams' => { 413 => [\'Ingredients','IngredientsRenditionParams'] }, + 'ingredientstopart' => { 413 => [\'Ingredients','IngredientsToPart'] }, + 'ingredientsversionid' => { 413 => [\'Ingredients','IngredientsVersionID'] }, 'initialhorizontalfovdegrees' => { 376 => 'InitialHorizontalFOVDegrees' }, 'initialviewheadingdegrees' => { 376 => 'InitialViewHeadingDegrees' }, 'initialviewpitchdegrees' => { 376 => 'InitialViewPitchDegrees' }, @@ -2378,12 +2424,12 @@ my %tagLookup = ( 'initialzoomsetting' => { 228 => '9.3', 234 => '27.3' }, 'inkset' => { 98 => 0x14c }, 'inputprofile' => { 112 => 0x1389 }, - 'instanceid' => { 410 => 'InstanceID' }, + 'instanceid' => { 413 => 'InstanceID' }, 'instantplaybacksetup' => { 153 => 0x3e }, 'instantplaybacktime' => { 153 => 0x3d }, - 'instructions' => { 398 => 'Instructions' }, - 'instrument' => { 409 => 'instrument' }, - 'intellectualgenre' => { 395 => 'IntellectualGenre' }, + 'instructions' => { 399 => 'Instructions' }, + 'instrument' => { 412 => 'instrument' }, + 'intellectualgenre' => { 396 => 'IntellectualGenre' }, 'intelligentauto' => { 345 => 0xb052 }, 'intelligentcontrast' => { 42 => 0x4 }, 'intelligentd-range' => { 261 => 0x79 }, @@ -2401,14 +2447,14 @@ my %tagLookup = ( 'internallensserialnumber' => { 322 => 0xa005 }, 'internalndfilter' => { 261 => 0x9d }, 'internalserialnumber' => { 53 => 0x96, 64 => 0x9, 103 => 0x10, 156 => 0x49dc, 240 => 0x18, 242 => 0x102, 261 => 0x25, 274 => 0x4, 316 => 0x5, 359 => [0x7c,0xf0] }, - 'interopindex' => { 98 => 0x1, 391 => 'InteroperabilityIndex' }, + 'interopindex' => { 98 => 0x1, 392 => 'InteroperabilityIndex' }, 'interopversion' => { 98 => 0x2 }, 'intervallength' => { 150 => 0x10 }, 'intervalmode' => { 150 => 0x26 }, 'intervalnumber' => { 150 => 0x11 }, - 'introtime' => { 409 => 'introTime' }, - 'introtimescale' => { 409 => [\'introTime','introTimeScale'] }, - 'introtimevalue' => { 409 => [\'introTime','introTimeValue'] }, + 'introtime' => { 412 => 'introTime' }, + 'introtimescale' => { 412 => [\'introTime','introTimeScale'] }, + 'introtimevalue' => { 412 => [\'introTime','introTimeValue'] }, 'iptc' => { 99 => 'IPTC' }, 'iptc-naa' => { 98 => 0x83bb, 265 => 0x83bb }, 'iptcbitspersample' => { 108 => 0x56 }, @@ -2416,14 +2462,15 @@ my %tagLookup = ( 'iptcimageheight' => { 108 => 0x1e }, 'iptcimagerotation' => { 108 => 0x66 }, 'iptcimagewidth' => { 108 => 0x14 }, - 'iptclastedited' => { 396 => 'IptcLastEdited' }, + 'iptclastedited' => { 397 => 'IptcLastEdited' }, 'iptcpicturenumber' => { 108 => 0xa }, 'iptcpixelheight' => { 108 => 0x32 }, 'iptcpixelwidth' => { 108 => 0x28 }, - 'isbn' => { 400 => 'isbn' }, - 'iscorrectionof' => { 400 => 'isCorrectionOf' }, + 'isalternativeof' => { 402 => 'isAlternativeOf' }, + 'isbn' => { 402 => 'isbn' }, + 'iscorrectionof' => { 402 => 'isCorrectionOf' }, 'iscustompicturestyle' => { 90 => 0x3 }, - 'iso' => { 6 => 0x6, 8 => 0x6, 9 => 0x75, 10 => 0x6, 11 => 0x79, 12 => 0x6, 13 => 0x6, 14 => 0x6, 15 => 0x6, 16 => 0x6, 17 => 0x6, 18 => 0x6, 19 => 0x6, 20 => 0x6, 21 => 0x6, 22 => 0x6, 23 => 0x6, 24 => 0x6, 25 => 0x6, 26 => 0x6, 27 => 0x0, 28 => 0x1, 93 => 0x14, 94 => [0x3014,0x14], 98 => 0x8827, 111 => 0xfd06, 112 => 0x1784, 114 => 0x60, 116 => [0xfa2e,0xfa46], 117 => [0x27,0x28], 118 => 0xf105, 121 => 0x14, 123 => 0x4e, 126 => 0x34, 128 => 'ISO', 150 => 0x8, 156 => 0x49ba, 179 => 0x0, 185 => 0x2, 265 => 0x17, 294 => [0x8b,0x14], 300 => 0x14, 322 => 0xa014, 344 => 0x6f, 349 => [0x1f,0x21,0x25], 390 => 'ISOSpeedRatings' }, + 'iso' => { 6 => 0x6, 8 => 0x6, 9 => 0x75, 10 => 0x6, 11 => 0x79, 12 => 0x6, 13 => 0x6, 14 => 0x6, 15 => 0x6, 16 => 0x6, 17 => 0x6, 18 => 0x6, 19 => 0x6, 20 => 0x6, 21 => 0x6, 22 => 0x6, 23 => 0x6, 24 => 0x6, 25 => 0x6, 26 => 0x6, 27 => 0x0, 28 => 0x1, 93 => 0x14, 94 => [0x3014,0x14], 98 => 0x8827, 111 => 0xfd06, 112 => 0x1784, 114 => 0x60, 116 => [0xfa2e,0xfa46], 117 => [0x27,0x28], 118 => 0xf105, 121 => 0x14, 123 => 0x4e, 126 => 0x34, 128 => 'ISO', 150 => 0x8, 156 => 0x49ba, 179 => 0x0, 185 => 0x2, 265 => 0x17, 294 => [0x8b,0x14], 300 => 0x14, 322 => 0xa014, 344 => 0x6f, 349 => [0x1f,0x21,0x25], 391 => 'ISOSpeedRatings' }, 'iso2' => { 179 => 0x6, 193 => 0x265, 194 => 0x25c, 195 => 0x265, 196 => 0x221, 197 => 0x25d, 198 => 0x256, 199 => 0x25d, 202 => 0x2b5, 205 => 0x265, 210 => 0x2b5 }, 'isoauto' => { 275 => '14.4' }, 'isoautoparameters' => { 294 => 0x7a }, @@ -2434,25 +2481,27 @@ my %tagLookup = ( 'isoselection' => { 185 => 0xf }, 'isosensitivitystep' => { 235 => '6.2' }, 'isosetting' => { 114 => 0x5e, 128 => 'ISOSetting', 150 => 0x24, 151 => 0x26, 152 => 0x1c, 153 => 0x13, 158 => 0x6, 185 => 0x13, 275 => '17.3', 315 => 0x27, 333 => 0x16, 334 => 0x14, 335 => 0x2, 344 => 0x6d }, - 'isospeed' => { 98 => 0x8833, 391 => 'ISOSpeed' }, + 'isospeed' => { 98 => 0x8833, 392 => 'ISOSpeed' }, 'isospeedexpansion' => { 70 => 0x3 }, 'isospeedincrements' => { 71 => 0x102 }, - 'isospeedlatitudeyyy' => { 98 => 0x8834, 391 => 'ISOSpeedLatitudeyyy' }, - 'isospeedlatitudezzz' => { 98 => 0x8835, 391 => 'ISOSpeedLatitudezzz' }, + 'isospeedlatitudeyyy' => { 98 => 0x8834, 392 => 'ISOSpeedLatitudeyyy' }, + 'isospeedlatitudezzz' => { 98 => 0x8835, 392 => 'ISOSpeedLatitudezzz' }, 'isospeedrange' => { 71 => 0x103 }, 'isostepsize' => { 228 => '6.1', 229 => '7.2', 234 => '4.1', 238 => '7.2' }, 'isovalue' => { 246 => 0x1001 }, - 'issn' => { 400 => 'issn' }, - 'issueidentifier' => { 400 => 'issueIdentifier' }, - 'issuename' => { 400 => 'issueName' }, - 'istranslationof' => { 400 => 'isTranslationOf' }, + 'issn' => { 402 => 'issn' }, + 'issueidentifier' => { 402 => 'issueIdentifier' }, + 'issuename' => { 402 => 'issueName' }, + 'issueteaser' => { 402 => 'issueTeaser' }, + 'issuetype' => { 402 => 'issueType' }, + 'istranslationof' => { 402 => 'isTranslationOf' }, 'jobid' => { 106 => 0xb8 }, - 'jobname' => { 392 => 'JobName' }, - 'jobref' => { 408 => 'JobRef' }, - 'jobrefid' => { 408 => [\'JobRef','JobRefId'] }, - 'jobrefname' => { 408 => [\'JobRef','JobRefName'] }, - 'jobrefurl' => { 408 => [\'JobRef','JobRefUrl'] }, - 'jobstatus' => { 392 => 'JobStatus' }, + 'jobname' => { 393 => 'JobName' }, + 'jobref' => { 411 => 'JobRef' }, + 'jobrefid' => { 411 => [\'JobRef','JobRefId'] }, + 'jobrefname' => { 411 => [\'JobRef','JobRefName'] }, + 'jobrefurl' => { 411 => [\'JobRef','JobRefUrl'] }, + 'jobstatus' => { 393 => 'JobStatus' }, 'jpegquality' => { 9 => 0x66, 263 => 0x3034, 345 => 0xb047 }, 'jpegsize' => { 263 => 0x303a }, 'jpgfromraw' => { 84 => 0x2007, 95 => 'JpgFromRaw', 265 => 0x2e }, @@ -2477,11 +2526,13 @@ my %tagLookup = ( 'kelvinwb_15' => { 283 => 0x3d }, 'kelvinwb_16' => { 283 => 0x41 }, 'kelvinwb_daylight' => { 283 => 0x1 }, - 'key' => { 409 => 'key' }, - 'keyword' => { 400 => 'keyword' }, + 'key' => { 412 => 'key' }, + 'keyword' => { 402 => 'keyword' }, 'keywordinfo' => { 143 => 'Keywords' }, - 'keywords' => { 106 => 0x19, 129 => 'Keywords', 250 => 'Keywords', 307 => 'Keywords', 381 => 'keywords', 397 => 'Keywords', 407 => 'Keywords' }, - 'killdate' => { 400 => 'killDate' }, + 'keywords' => { 106 => 0x19, 129 => 'Keywords', 250 => 'Keywords', 307 => 'Keywords', 381 => 'keywords', 398 => 'Keywords', 410 => 'Keywords' }, + 'killdate' => { 402 => 'killDate' }, + 'killdatea-platform' => { 402 => [\'killDate','killDateA-platform'] }, + 'killdatedate' => { 402 => [\'killDate','killDateDate'] }, 'kodakimageheight' => { 111 => 0xf908, 114 => 0xe, 116 => [0xfa1e,0xfa52], 122 => 0x70 }, 'kodakimagewidth' => { 111 => 0xf907, 114 => 0xc, 116 => [0xfa1d,0xfa51], 122 => 0x6c }, 'kodakinfotype' => { 111 => 0xfa00 }, @@ -2489,13 +2540,13 @@ my %tagLookup = ( 'kodaklookprofile' => { 112 => 0x138a }, 'kodakmaker' => { 122 => 0x8 }, 'kodakmodel' => { 114 => 0x0, 122 => 0x28 }, - 'label' => { 253 => 'Label', 407 => 'Label' }, - 'labelname1' => { 394 => [\'TagStructure','TagStructureLabelName'] }, - 'labelname2' => { 394 => [\'TagStructure','TagStructureSubLabelsLabelName'] }, - 'labelname3' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsLabelName'] }, - 'labelname4' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsLabelName'] }, - 'labelname5' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] }, - 'labelname6' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] }, + 'label' => { 253 => 'Label', 410 => 'Label' }, + 'labelname1' => { 395 => [\'TagStructure','TagStructureLabelName'] }, + 'labelname2' => { 395 => [\'TagStructure','TagStructureSubLabelsLabelName'] }, + 'labelname3' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsLabelName'] }, + 'labelname4' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsLabelName'] }, + 'labelname5' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] }, + 'labelname6' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] }, 'landmark' => { 261 => 0x6f }, 'landscapeoutputhighlightpoint' => { 90 => 0x26 }, 'landscapeoutputshadowpoint' => { 90 => 0x27 }, @@ -2511,7 +2562,7 @@ my %tagLookup = ( 'landscapeunsharpmaskfineness' => { 90 => 0xa0 }, 'landscapeunsharpmaskstrength' => { 90 => 0x9e }, 'landscapeunsharpmaskthreshold' => { 90 => 0xa2 }, - 'language' => { 387 => 'language' }, + 'language' => { 388 => 'language' }, 'languageidentifier' => { 106 => 0x87 }, 'largestvalidinteriorrectheight' => { 376 => 'LargestValidInteriorRectHeight' }, 'largestvalidinteriorrectleft' => { 376 => 'LargestValidInteriorRectLeft' }, @@ -2521,7 +2572,7 @@ my %tagLookup = ( 'lastkeywordiptc' => { 148 => 'LastKeywordIPTC' }, 'lastkeywordxmp' => { 148 => 'LastKeywordXMP' }, 'lastphotodate' => { 376 => 'LastPhotoDate' }, - 'lasturl' => { 410 => 'LastURL' }, + 'lasturl' => { 413 => 'LastURL' }, 'lateralchromaticaberration' => { 345 => 0x2012 }, 'latestageorhigheststage' => { 97 => [\'GeologicalContext','GeologicalContextLatestAgeOrHighestStage'] }, 'latesteonorhighesteonothem' => { 97 => [\'GeologicalContext','GeologicalContextLatestEonOrHighestEonothem'] }, @@ -2545,7 +2596,7 @@ my %tagLookup = ( 'lcdilluminationduringbulb' => { 71 => 0x408 }, 'lcdpanels' => { 70 => 0x8 }, 'lcheditor' => { 221 => 0x8ae85e }, - 'legacyiptcdigest' => { 398 => 'LegacyIPTCDigest' }, + 'legacyiptcdigest' => { 399 => 'LegacyIPTCDigest' }, 'legalcode' => { 384 => 'legalcode' }, 'lens' => { 98 => 0xfdea, 185 => 0x84, 383 => 'Lens' }, 'lensafstopbutton' => { 69 => 0x11, 70 => 0x13, 71 => 0x506, 72 => 0x10, 73 => 0x12, 76 => 0x13, 77 => 0x9 }, @@ -2560,25 +2611,25 @@ my %tagLookup = ( 'lensfstops' => { 180 => 0x7, 181 => 0xc, 182 => 0xd, 185 => 0x8b, 285 => '0.3' }, 'lensid' => { 383 => 'LensID' }, 'lensidnumber' => { 180 => 0x6, 181 => 0xb, 182 => 0xc }, - 'lensinfo' => { 98 => 0xa432, 291 => 0x2a, 383 => 'LensInfo', 391 => 'LensSpecification' }, + 'lensinfo' => { 98 => 0xa432, 291 => 0x2a, 383 => 'LensInfo', 392 => 'LensSpecification' }, 'lenskind' => { 285 => 0x1 }, - 'lensmake' => { 98 => 0xa433, 135 => 'Make', 391 => 'LensMake' }, - 'lensmanualdistortionamount' => { 386 => 'LensManualDistortionAmount' }, + 'lensmake' => { 98 => 0xa433, 135 => 'Make', 392 => 'LensMake' }, + 'lensmanualdistortionamount' => { 387 => 'LensManualDistortionAmount' }, 'lensmanufacturer' => { 148 => 'LensManufacturer' }, 'lensmaxaperturerange' => { 325 => 0x2b }, - 'lensmodel' => { 6 => 0x937, 13 => 0x92b, 14 => 0x933, 53 => 0x95, 98 => 0xa434, 135 => 'Model', 148 => 'LensModel', 183 => 0x18a, 242 => 0x203, 259 => 0x303, 291 => 0xc, 391 => 'LensModel' }, + 'lensmodel' => { 6 => 0x937, 13 => 0x92b, 14 => 0x933, 53 => 0x95, 98 => 0xa434, 135 => 'Model', 148 => 'LensModel', 183 => 0x18a, 242 => 0x203, 259 => 0x303, 291 => 0xc, 392 => 'LensModel' }, 'lensmount' => { 335 => 0x99, 356 => 0x1892, 358 => 0x18be, 359 => 0x105, 367 => 0x604, 368 => 0x5e, 371 => 0x8 }, 'lensparameters' => { 353 => 0x1a23, 356 => 0x1870, 358 => 0x189c, 367 => 0x6ca, 368 => 0x64 }, - 'lensprofilechromaticaberrationscale' => { 386 => 'LensProfileChromaticAberrationScale' }, - 'lensprofiledigest' => { 386 => 'LensProfileDigest' }, - 'lensprofiledistortionscale' => { 386 => 'LensProfileDistortionScale' }, - 'lensprofileenable' => { 386 => 'LensProfileEnable' }, - 'lensprofilefilename' => { 386 => 'LensProfileFilename' }, - 'lensprofilename' => { 386 => 'LensProfileName' }, - 'lensprofilesetup' => { 386 => 'LensProfileSetup' }, - 'lensprofilevignettingscale' => { 386 => 'LensProfileVignettingScale' }, + 'lensprofilechromaticaberrationscale' => { 387 => 'LensProfileChromaticAberrationScale' }, + 'lensprofiledigest' => { 387 => 'LensProfileDigest' }, + 'lensprofiledistortionscale' => { 387 => 'LensProfileDistortionScale' }, + 'lensprofileenable' => { 387 => 'LensProfileEnable' }, + 'lensprofilefilename' => { 387 => 'LensProfileFilename' }, + 'lensprofilename' => { 387 => 'LensProfileName' }, + 'lensprofilesetup' => { 387 => 'LensProfileSetup' }, + 'lensprofilevignettingscale' => { 387 => 'LensProfileVignettingScale' }, 'lensproperties' => { 242 => 0x20b }, - 'lensserialnumber' => { 51 => 0x0, 98 => 0xa435, 135 => 'SerialNumber', 242 => 0x202, 261 => 0x52, 317 => 0x30, 383 => 'LensSerialNumber', 391 => 'LensSerialNumber' }, + 'lensserialnumber' => { 51 => 0x0, 98 => 0xa435, 135 => 'SerialNumber', 242 => 0x202, 261 => 0x52, 317 => 0x30, 383 => 'LensSerialNumber', 392 => 'LensSerialNumber' }, 'lensshutterlock' => { 153 => 0x4a }, 'lensspec' => { 330 => 0x0, 331 => 0x0, 332 => 0x0, 345 => 0xb02a }, 'lensspecfeatures' => { 359 => [0x115,0x116] }, @@ -2589,40 +2640,40 @@ my %tagLookup = ( 'levelindicator' => { 268 => 0x15 }, 'levelorientation' => { 293 => 0x0 }, 'license' => { 384 => 'license' }, - 'licensee' => { 399 => 'Licensee' }, - 'licenseeid' => { 399 => [\'Licensee','LicenseeLicenseeID'] }, - 'licenseeimageid' => { 399 => 'LicenseeImageID' }, - 'licenseeimagenotes' => { 399 => 'LicenseeImageNotes' }, - 'licenseename' => { 399 => [\'Licensee','LicenseeLicenseeName'] }, - 'licenseenddate' => { 399 => 'LicenseEndDate' }, - 'licenseeprojectreference' => { 399 => 'LicenseeProjectReference' }, - 'licenseetransactionid' => { 399 => 'LicenseeTransactionID' }, - 'licenseid' => { 399 => 'LicenseID' }, - 'licensestartdate' => { 399 => 'LicenseStartDate' }, - 'licensetransactiondate' => { 399 => 'LicenseTransactionDate' }, - 'licensetype' => { 388 => 'licensetype' }, - 'licensor' => { 399 => 'Licensor' }, - 'licensorcity' => { 399 => [\'Licensor','LicensorLicensorCity'] }, - 'licensorcountry' => { 399 => [\'Licensor','LicensorLicensorCountry'] }, - 'licensoremail' => { 399 => [\'Licensor','LicensorLicensorEmail'] }, - 'licensorextendedaddress' => { 399 => [\'Licensor','LicensorLicensorExtendedAddress'] }, - 'licensorid' => { 399 => [\'Licensor','LicensorLicensorID'] }, - 'licensorimageid' => { 399 => 'LicensorImageID' }, - 'licensorname' => { 399 => [\'Licensor','LicensorLicensorName'] }, - 'licensornotes' => { 399 => 'LicensorNotes' }, - 'licensorpostalcode' => { 399 => [\'Licensor','LicensorLicensorPostalCode'] }, - 'licensorregion' => { 399 => [\'Licensor','LicensorLicensorRegion'] }, - 'licensorstreetaddress' => { 399 => [\'Licensor','LicensorLicensorStreetAddress'] }, - 'licensortelephone1' => { 399 => [\'Licensor','LicensorLicensorTelephone1'] }, - 'licensortelephone2' => { 399 => [\'Licensor','LicensorLicensorTelephone2'] }, - 'licensortelephonetype1' => { 399 => [\'Licensor','LicensorLicensorTelephoneType1'] }, - 'licensortelephonetype2' => { 399 => [\'Licensor','LicensorLicensorTelephoneType2'] }, - 'licensortransactionid' => { 399 => 'LicensorTransactionID' }, - 'licensorurl' => { 399 => [\'Licensor','LicensorLicensorURL'] }, + 'licensee' => { 400 => 'Licensee' }, + 'licenseeid' => { 400 => [\'Licensee','LicenseeLicenseeID'] }, + 'licenseeimageid' => { 400 => 'LicenseeImageID' }, + 'licenseeimagenotes' => { 400 => 'LicenseeImageNotes' }, + 'licenseename' => { 400 => [\'Licensee','LicenseeLicenseeName'] }, + 'licenseenddate' => { 400 => 'LicenseEndDate' }, + 'licenseeprojectreference' => { 400 => 'LicenseeProjectReference' }, + 'licenseetransactionid' => { 400 => 'LicenseeTransactionID' }, + 'licenseid' => { 400 => 'LicenseID' }, + 'licensestartdate' => { 400 => 'LicenseStartDate' }, + 'licensetransactiondate' => { 400 => 'LicenseTransactionDate' }, + 'licensetype' => { 389 => 'licensetype' }, + 'licensor' => { 400 => 'Licensor' }, + 'licensorcity' => { 400 => [\'Licensor','LicensorLicensorCity'] }, + 'licensorcountry' => { 400 => [\'Licensor','LicensorLicensorCountry'] }, + 'licensoremail' => { 400 => [\'Licensor','LicensorLicensorEmail'] }, + 'licensorextendedaddress' => { 400 => [\'Licensor','LicensorLicensorExtendedAddress'] }, + 'licensorid' => { 400 => [\'Licensor','LicensorLicensorID'] }, + 'licensorimageid' => { 400 => 'LicensorImageID' }, + 'licensorname' => { 400 => [\'Licensor','LicensorLicensorName'] }, + 'licensornotes' => { 400 => 'LicensorNotes' }, + 'licensorpostalcode' => { 400 => [\'Licensor','LicensorLicensorPostalCode'] }, + 'licensorregion' => { 400 => [\'Licensor','LicensorLicensorRegion'] }, + 'licensorstreetaddress' => { 400 => [\'Licensor','LicensorLicensorStreetAddress'] }, + 'licensortelephone1' => { 400 => [\'Licensor','LicensorLicensorTelephone1'] }, + 'licensortelephone2' => { 400 => [\'Licensor','LicensorLicensorTelephone2'] }, + 'licensortelephonetype1' => { 400 => [\'Licensor','LicensorLicensorTelephoneType1'] }, + 'licensortelephonetype2' => { 400 => [\'Licensor','LicensorLicensorTelephoneType2'] }, + 'licensortransactionid' => { 400 => 'LicensorTransactionID' }, + 'licensorurl' => { 400 => [\'Licensor','LicensorLicensorURL'] }, 'lightcondition' => { 246 => 0x1009 }, 'lightingmode' => { 94 => 0x302a }, 'lightreading' => { 294 => 0x15 }, - 'lightsource' => { 98 => 0x9208, 185 => 0x90, 249 => 0x1000, 390 => 'LightSource' }, + 'lightsource' => { 98 => 0x9208, 185 => 0x90, 249 => 0x1000, 391 => 'LightSource' }, 'lightsourcespecial' => { 324 => 0x21d }, 'lightswitch' => { 238 => '0.1', 239 => '0.1' }, 'lightvaluecenter' => { 246 => 0x103d }, @@ -2634,11 +2685,12 @@ my %tagLookup = ( 'linearityuppermargin' => { 37 => [0x2ba,0x2d1,0x2d5], 39 => 0x1e5, 40 => [0x1fe,0x2de] }, 'linearizationtable' => { 98 => 0xc618 }, 'linearresponselimit' => { 98 => 0xc62e }, + 'link' => { 402 => 'link' }, 'linkaetoafpoint' => { 275 => '14.2' }, - 'linkedencodedrightsexpr' => { 396 => [\'LinkedEncRightsExpr','LinkedEncRightsExprLinkedRightsExpr'] }, - 'linkedencodedrightsexprlangid' => { 396 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprLangId'] }, - 'linkedencodedrightsexprtype' => { 396 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprEncType'] }, - 'linkedencrightsexpr' => { 396 => 'LinkedEncRightsExpr' }, + 'linkedencodedrightsexpr' => { 397 => [\'LinkedEncRightsExpr','LinkedEncRightsExprLinkedRightsExpr'] }, + 'linkedencodedrightsexprlangid' => { 397 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprLangId'] }, + 'linkedencodedrightsexprtype' => { 397 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprEncType'] }, + 'linkedencrightsexpr' => { 397 => 'LinkedEncRightsExpr' }, 'lithostratigraphicterms' => { 97 => [\'GeologicalContext','GeologicalContextLithostratigraphicTerms'] }, 'liveviewaf' => { 231 => '32.1', 239 => '34.1' }, 'liveviewafareamode' => { 235 => '34.1' }, @@ -2654,50 +2706,54 @@ my %tagLookup = ( 'localcaption' => { 106 => 0x79 }, 'localizedcameramodel' => { 98 => 0xc615 }, 'locallocationname' => { 322 => 0x30 }, - 'location' => { 184 => 0x9, 261 => 0x67, 379 => 'Location', 395 => 'Location', 400 => 'location' }, + 'location' => { 184 => 0x9, 261 => 0x67, 379 => 'Location', 396 => 'Location', 401 => 'location', 402 => 'location' }, 'locationareacode' => { 385 => 'lac' }, - 'locationcreated' => { 396 => 'LocationCreated' }, - 'locationcreatedcity' => { 396 => [\'LocationCreated','LocationCreatedCity'] }, - 'locationcreatedcountrycode' => { 396 => [\'LocationCreated','LocationCreatedCountryCode'] }, - 'locationcreatedcountryname' => { 396 => [\'LocationCreated','LocationCreatedCountryName'] }, - 'locationcreatedlocationid' => { 396 => [\'LocationCreated','LocationCreatedLocationId'] }, - 'locationcreatedprovincestate' => { 396 => [\'LocationCreated','LocationCreatedProvinceState'] }, - 'locationcreatedsublocation' => { 396 => [\'LocationCreated','LocationCreatedSublocation'] }, - 'locationcreatedworldregion' => { 396 => [\'LocationCreated','LocationCreatedWorldRegion'] }, + 'locationcreated' => { 397 => 'LocationCreated' }, + 'locationcreatedcity' => { 397 => [\'LocationCreated','LocationCreatedCity'] }, + 'locationcreatedcountrycode' => { 397 => [\'LocationCreated','LocationCreatedCountryCode'] }, + 'locationcreatedcountryname' => { 397 => [\'LocationCreated','LocationCreatedCountryName'] }, + 'locationcreatedlocationid' => { 397 => [\'LocationCreated','LocationCreatedLocationId'] }, + 'locationcreatedprovincestate' => { 397 => [\'LocationCreated','LocationCreatedProvinceState'] }, + 'locationcreatedsublocation' => { 397 => [\'LocationCreated','LocationCreatedSublocation'] }, + 'locationcreatedworldregion' => { 397 => [\'LocationCreated','LocationCreatedWorldRegion'] }, 'locationinfoversion' => { 184 => 0x0 }, 'locationname' => { 322 => 0x31 }, - 'locationshown' => { 396 => 'LocationShown' }, - 'locationshowncity' => { 396 => [\'LocationShown','LocationShownCity'] }, - 'locationshowncountrycode' => { 396 => [\'LocationShown','LocationShownCountryCode'] }, - 'locationshowncountryname' => { 396 => [\'LocationShown','LocationShownCountryName'] }, - 'locationshownlocationid' => { 396 => [\'LocationShown','LocationShownLocationId'] }, - 'locationshownprovincestate' => { 396 => [\'LocationShown','LocationShownProvinceState'] }, - 'locationshownsublocation' => { 396 => [\'LocationShown','LocationShownSublocation'] }, - 'locationshownworldregion' => { 396 => [\'LocationShown','LocationShownWorldRegion'] }, + 'locationshown' => { 397 => 'LocationShown' }, + 'locationshowncity' => { 397 => [\'LocationShown','LocationShownCity'] }, + 'locationshowncountrycode' => { 397 => [\'LocationShown','LocationShownCountryCode'] }, + 'locationshowncountryname' => { 397 => [\'LocationShown','LocationShownCountryName'] }, + 'locationshownlocationid' => { 397 => [\'LocationShown','LocationShownLocationId'] }, + 'locationshownprovincestate' => { 397 => [\'LocationShown','LocationShownProvinceState'] }, + 'locationshownsublocation' => { 397 => [\'LocationShown','LocationShownSublocation'] }, + 'locationshownworldregion' => { 397 => [\'LocationShown','LocationShownWorldRegion'] }, 'lockmicrophonebutton' => { 71 => 0x709 }, - 'logcomment' => { 409 => 'logComment' }, + 'logcomment' => { 412 => 'logComment' }, 'longexposurenoisereduction' => { 52 => 0x4, 71 => 0x201, 72 => 0x1, 73 => 0x2, 74 => 0x1, 75 => 0x1, 76 => 0x2, 77 => 0x1, 261 => 0x49, 333 => 0x2b, 334 => 0x25, 335 => 0x25, 345 => 0x2008, 349 => 0x11, 368 => 0x44 }, 'longexposurenoisereduction2' => { 47 => 0x8 }, - 'loop' => { 409 => 'loop' }, + 'loop' => { 412 => 'loop' }, 'lowestbiostratigraphiczone' => { 97 => [\'GeologicalContext','GeologicalContextLowestBiostratigraphicZone'] }, - 'luminanceadjustmentaqua' => { 386 => 'LuminanceAdjustmentAqua' }, - 'luminanceadjustmentblue' => { 386 => 'LuminanceAdjustmentBlue' }, - 'luminanceadjustmentgreen' => { 386 => 'LuminanceAdjustmentGreen' }, - 'luminanceadjustmentmagenta' => { 386 => 'LuminanceAdjustmentMagenta' }, - 'luminanceadjustmentorange' => { 386 => 'LuminanceAdjustmentOrange' }, - 'luminanceadjustmentpurple' => { 386 => 'LuminanceAdjustmentPurple' }, - 'luminanceadjustmentred' => { 386 => 'LuminanceAdjustmentRed' }, - 'luminanceadjustmentyellow' => { 386 => 'LuminanceAdjustmentYellow' }, + 'luminanceadjustmentaqua' => { 387 => 'LuminanceAdjustmentAqua' }, + 'luminanceadjustmentblue' => { 387 => 'LuminanceAdjustmentBlue' }, + 'luminanceadjustmentgreen' => { 387 => 'LuminanceAdjustmentGreen' }, + 'luminanceadjustmentmagenta' => { 387 => 'LuminanceAdjustmentMagenta' }, + 'luminanceadjustmentorange' => { 387 => 'LuminanceAdjustmentOrange' }, + 'luminanceadjustmentpurple' => { 387 => 'LuminanceAdjustmentPurple' }, + 'luminanceadjustmentred' => { 387 => 'LuminanceAdjustmentRed' }, + 'luminanceadjustmentyellow' => { 387 => 'LuminanceAdjustmentYellow' }, 'luminancecurvelimits' => { 89 => 0x150 }, 'luminancecurvepoints' => { 89 => 0x126 }, 'luminancenoisereduction' => { 90 => 0x5f, 325 => 0x1b }, - 'luminancenoisereductioncontrast' => { 386 => 'LuminanceNoiseReductionContrast' }, - 'luminancenoisereductiondetail' => { 386 => 'LuminanceNoiseReductionDetail' }, + 'luminancenoisereductioncontrast' => { 387 => 'LuminanceNoiseReductionContrast' }, + 'luminancenoisereductiondetail' => { 387 => 'LuminanceNoiseReductionDetail' }, 'luminancenr_tiff_jpeg' => { 90 => 0x6d }, - 'luminancesmoothing' => { 386 => 'LuminanceSmoothing' }, + 'luminancesmoothing' => { 387 => 'LuminanceSmoothing' }, 'lvshootingareadisplay' => { 71 => 0x40b }, - 'lyrics' => { 409 => 'lyrics' }, + 'lyrics' => { 412 => 'lyrics' }, 'm16cversion' => { 257 => 0x333 }, + 'macatom' => { 386 => 'macAtom' }, + 'macatomapplicationcode' => { 386 => [\'macAtom','macAtomApplicationCode'] }, + 'macatominvocationappleevent' => { 386 => [\'macAtom','macAtomInvocationAppleEvent'] }, + 'macatomposixprojectpath' => { 386 => [\'macAtom','macAtomPosixProjectPath'] }, 'macro' => { 103 => 0x1020, 104 => 0x202, 246 => 0x202, 315 => 0x21, 324 => 0x202, 345 => 0xb040 }, 'macroled' => { 244 => 0x120a }, 'macromagnification' => { 6 => 0x1b, 10 => 0x1b, 13 => 0x1b, 14 => 0x1b, 18 => 0x1b, 19 => 0x1b, 47 => 0x10 }, @@ -2705,8 +2761,9 @@ my %tagLookup = ( 'magicfilter' => { 241 => 0x52c }, 'magnifiedview' => { 73 => 0x11, 75 => 0x9 }, 'maindialexposurecomp' => { 236 => '0.6' }, - 'make' => { 85 => 0x0, 98 => 0x10f, 128 => 'Make', 253 => 'Make', 265 => 0x10f, 405 => 'Make' }, - 'makernote' => { 390 => 'MakerNote' }, + 'mainingredient' => { 404 => 'mainIngredient' }, + 'make' => { 85 => 0x0, 98 => 0x10f, 128 => 'Make', 253 => 'Make', 265 => 0x10f, 401 => 'make', 408 => 'Make' }, + 'makernote' => { 391 => 'MakerNote' }, 'makernoteapple' => { 96 => 'MakN', 98 => 0x927c }, 'makernotecanon' => { 96 => 'MakN', 98 => 0x927c }, 'makernotecasio' => { 96 => 'MakN', 98 => 0x927c }, @@ -2789,51 +2846,51 @@ my %tagLookup = ( 'makernoteunknownbinary' => { 96 => 'MakN', 98 => 0x927c }, 'makernoteunknowntext' => { 96 => 'MakN', 98 => 0x927c }, 'makernoteversion' => { 155 => 0x0, 185 => 0x1, 246 => 0x0, 261 => 0x8000, 320 => 0x0, 322 => 0x1, 325 => [0x1d,0x1f], 336 => 0x2000 }, - 'managedfrom' => { 410 => 'ManagedFrom' }, - 'managedfromalternatepaths' => { 410 => [\'ManagedFrom','ManagedFromAlternatePaths'] }, - 'managedfromdocumentid' => { 410 => [\'ManagedFrom','ManagedFromDocumentID'] }, - 'managedfromfilepath' => { 410 => [\'ManagedFrom','ManagedFromFilePath'] }, - 'managedfromfrompart' => { 410 => [\'ManagedFrom','ManagedFromFromPart'] }, - 'managedfrominstanceid' => { 410 => [\'ManagedFrom','ManagedFromInstanceID'] }, - 'managedfromlastmodifydate' => { 410 => [\'ManagedFrom','ManagedFromLastModifyDate'] }, - 'managedfrommanager' => { 410 => [\'ManagedFrom','ManagedFromManager'] }, - 'managedfrommanagervariant' => { 410 => [\'ManagedFrom','ManagedFromManagerVariant'] }, - 'managedfrommanageto' => { 410 => [\'ManagedFrom','ManagedFromManageTo'] }, - 'managedfrommanageui' => { 410 => [\'ManagedFrom','ManagedFromManageUI'] }, - 'managedfrommaskmarkers' => { 410 => [\'ManagedFrom','ManagedFromMaskMarkers'] }, - 'managedfromoriginaldocumentid' => { 410 => [\'ManagedFrom','ManagedFromOriginalDocumentID'] }, - 'managedfrompartmapping' => { 410 => [\'ManagedFrom','ManagedFromPartMapping'] }, - 'managedfromrenditionclass' => { 410 => [\'ManagedFrom','ManagedFromRenditionClass'] }, - 'managedfromrenditionparams' => { 410 => [\'ManagedFrom','ManagedFromRenditionParams'] }, - 'managedfromtopart' => { 410 => [\'ManagedFrom','ManagedFromToPart'] }, - 'managedfromversionid' => { 410 => [\'ManagedFrom','ManagedFromVersionID'] }, - 'manager' => { 410 => 'Manager' }, - 'managervariant' => { 410 => 'ManagerVariant' }, - 'manageto' => { 410 => 'ManageTo' }, - 'manageui' => { 410 => 'ManageUI' }, - 'manifest' => { 410 => 'Manifest' }, - 'manifestlinkform' => { 410 => [\'Manifest','ManifestLinkForm'] }, - 'manifestplacedresolutionunit' => { 410 => [\'Manifest','ManifestPlacedResolutionUnit'] }, - 'manifestplacedxresolution' => { 410 => [\'Manifest','ManifestPlacedXResolution'] }, - 'manifestplacedyresolution' => { 410 => [\'Manifest','ManifestPlacedYResolution'] }, - 'manifestreference' => { 410 => [\'Manifest','ManifestReference'] }, - 'manifestreferencealternatepaths' => { 410 => [\'Manifest','ManifestReferenceAlternatePaths'] }, - 'manifestreferencedocumentid' => { 410 => [\'Manifest','ManifestReferenceDocumentID'] }, - 'manifestreferencefilepath' => { 410 => [\'Manifest','ManifestReferenceFilePath'] }, - 'manifestreferencefrompart' => { 410 => [\'Manifest','ManifestReferenceFromPart'] }, - 'manifestreferenceinstanceid' => { 410 => [\'Manifest','ManifestReferenceInstanceID'] }, - 'manifestreferencelastmodifydate' => { 410 => [\'Manifest','ManifestReferenceLastModifyDate'] }, - 'manifestreferencemanager' => { 410 => [\'Manifest','ManifestReferenceManager'] }, - 'manifestreferencemanagervariant' => { 410 => [\'Manifest','ManifestReferenceManagerVariant'] }, - 'manifestreferencemanageto' => { 410 => [\'Manifest','ManifestReferenceManageTo'] }, - 'manifestreferencemanageui' => { 410 => [\'Manifest','ManifestReferenceManageUI'] }, - 'manifestreferencemaskmarkers' => { 410 => [\'Manifest','ManifestReferenceMaskMarkers'] }, - 'manifestreferenceoriginaldocumentid' => { 410 => [\'Manifest','ManifestReferenceOriginalDocumentID'] }, - 'manifestreferencepartmapping' => { 410 => [\'Manifest','ManifestReferencePartMapping'] }, - 'manifestreferencerenditionclass' => { 410 => [\'Manifest','ManifestReferenceRenditionClass'] }, - 'manifestreferencerenditionparams' => { 410 => [\'Manifest','ManifestReferenceRenditionParams'] }, - 'manifestreferencetopart' => { 410 => [\'Manifest','ManifestReferenceToPart'] }, - 'manifestreferenceversionid' => { 410 => [\'Manifest','ManifestReferenceVersionID'] }, + 'managedfrom' => { 413 => 'ManagedFrom' }, + 'managedfromalternatepaths' => { 413 => [\'ManagedFrom','ManagedFromAlternatePaths'] }, + 'managedfromdocumentid' => { 413 => [\'ManagedFrom','ManagedFromDocumentID'] }, + 'managedfromfilepath' => { 413 => [\'ManagedFrom','ManagedFromFilePath'] }, + 'managedfromfrompart' => { 413 => [\'ManagedFrom','ManagedFromFromPart'] }, + 'managedfrominstanceid' => { 413 => [\'ManagedFrom','ManagedFromInstanceID'] }, + 'managedfromlastmodifydate' => { 413 => [\'ManagedFrom','ManagedFromLastModifyDate'] }, + 'managedfrommanager' => { 413 => [\'ManagedFrom','ManagedFromManager'] }, + 'managedfrommanagervariant' => { 413 => [\'ManagedFrom','ManagedFromManagerVariant'] }, + 'managedfrommanageto' => { 413 => [\'ManagedFrom','ManagedFromManageTo'] }, + 'managedfrommanageui' => { 413 => [\'ManagedFrom','ManagedFromManageUI'] }, + 'managedfrommaskmarkers' => { 413 => [\'ManagedFrom','ManagedFromMaskMarkers'] }, + 'managedfromoriginaldocumentid' => { 413 => [\'ManagedFrom','ManagedFromOriginalDocumentID'] }, + 'managedfrompartmapping' => { 413 => [\'ManagedFrom','ManagedFromPartMapping'] }, + 'managedfromrenditionclass' => { 413 => [\'ManagedFrom','ManagedFromRenditionClass'] }, + 'managedfromrenditionparams' => { 413 => [\'ManagedFrom','ManagedFromRenditionParams'] }, + 'managedfromtopart' => { 413 => [\'ManagedFrom','ManagedFromToPart'] }, + 'managedfromversionid' => { 413 => [\'ManagedFrom','ManagedFromVersionID'] }, + 'manager' => { 413 => 'Manager' }, + 'managervariant' => { 413 => 'ManagerVariant' }, + 'manageto' => { 413 => 'ManageTo' }, + 'manageui' => { 413 => 'ManageUI' }, + 'manifest' => { 413 => 'Manifest' }, + 'manifestlinkform' => { 413 => [\'Manifest','ManifestLinkForm'] }, + 'manifestplacedresolutionunit' => { 413 => [\'Manifest','ManifestPlacedResolutionUnit'] }, + 'manifestplacedxresolution' => { 413 => [\'Manifest','ManifestPlacedXResolution'] }, + 'manifestplacedyresolution' => { 413 => [\'Manifest','ManifestPlacedYResolution'] }, + 'manifestreference' => { 413 => [\'Manifest','ManifestReference'] }, + 'manifestreferencealternatepaths' => { 413 => [\'Manifest','ManifestReferenceAlternatePaths'] }, + 'manifestreferencedocumentid' => { 413 => [\'Manifest','ManifestReferenceDocumentID'] }, + 'manifestreferencefilepath' => { 413 => [\'Manifest','ManifestReferenceFilePath'] }, + 'manifestreferencefrompart' => { 413 => [\'Manifest','ManifestReferenceFromPart'] }, + 'manifestreferenceinstanceid' => { 413 => [\'Manifest','ManifestReferenceInstanceID'] }, + 'manifestreferencelastmodifydate' => { 413 => [\'Manifest','ManifestReferenceLastModifyDate'] }, + 'manifestreferencemanager' => { 413 => [\'Manifest','ManifestReferenceManager'] }, + 'manifestreferencemanagervariant' => { 413 => [\'Manifest','ManifestReferenceManagerVariant'] }, + 'manifestreferencemanageto' => { 413 => [\'Manifest','ManifestReferenceManageTo'] }, + 'manifestreferencemanageui' => { 413 => [\'Manifest','ManifestReferenceManageUI'] }, + 'manifestreferencemaskmarkers' => { 413 => [\'Manifest','ManifestReferenceMaskMarkers'] }, + 'manifestreferenceoriginaldocumentid' => { 413 => [\'Manifest','ManifestReferenceOriginalDocumentID'] }, + 'manifestreferencepartmapping' => { 413 => [\'Manifest','ManifestReferencePartMapping'] }, + 'manifestreferencerenditionclass' => { 413 => [\'Manifest','ManifestReferenceRenditionClass'] }, + 'manifestreferencerenditionparams' => { 413 => [\'Manifest','ManifestReferenceRenditionParams'] }, + 'manifestreferencetopart' => { 413 => [\'Manifest','ManifestReferenceToPart'] }, + 'manifestreferenceversionid' => { 413 => [\'Manifest','ManifestReferenceVersionID'] }, 'manometerpressure' => { 241 => 0x900, 261 => 0x86 }, 'manometerreading' => { 241 => 0x901 }, 'manualafpointselectpattern' => { 71 => 0x513 }, @@ -2845,21 +2902,22 @@ my %tagLookup = ( 'manufacturedate' => { 274 => 0x1 }, 'manufacturedate1' => { 318 => 0x4 }, 'manufacturedate2' => { 318 => 0x5 }, - 'marked' => { 397 => 'Marked', 413 => 'Marked' }, - 'markers' => { 409 => 'markers' }, - 'markerscomment' => { 409 => [\'markers','markersComment'] }, - 'markerscuepointparams' => { 409 => [\'markers','markersCuePointParams'] }, - 'markerscuepointparamskey' => { 409 => [\'markers','markersCuePointParamsKey'] }, - 'markerscuepointparamsvalue' => { 409 => [\'markers','markersCuePointParamsValue'] }, - 'markerscuepointtype' => { 409 => [\'markers','markersCuePointType'] }, - 'markersduration' => { 409 => [\'markers','markersDuration'] }, - 'markerslocation' => { 409 => [\'markers','markersLocation'] }, - 'markersname' => { 409 => [\'markers','markersName'] }, - 'markersprobability' => { 409 => [\'markers','markersProbability'] }, - 'markersspeaker' => { 409 => [\'markers','markersSpeaker'] }, - 'markersstarttime' => { 409 => [\'markers','markersStartTime'] }, - 'markerstarget' => { 409 => [\'markers','markersTarget'] }, - 'markerstype' => { 409 => [\'markers','markersType'] }, + 'manufacturer' => { 401 => 'manufacturer' }, + 'marked' => { 398 => 'Marked', 416 => 'Marked' }, + 'markers' => { 412 => 'markers' }, + 'markerscomment' => { 412 => [\'markers','markersComment'] }, + 'markerscuepointparams' => { 412 => [\'markers','markersCuePointParams'] }, + 'markerscuepointparamskey' => { 412 => [\'markers','markersCuePointParamsKey'] }, + 'markerscuepointparamsvalue' => { 412 => [\'markers','markersCuePointParamsValue'] }, + 'markerscuepointtype' => { 412 => [\'markers','markersCuePointType'] }, + 'markersduration' => { 412 => [\'markers','markersDuration'] }, + 'markerslocation' => { 412 => [\'markers','markersLocation'] }, + 'markersname' => { 412 => [\'markers','markersName'] }, + 'markersprobability' => { 412 => [\'markers','markersProbability'] }, + 'markersspeaker' => { 412 => [\'markers','markersSpeaker'] }, + 'markersstarttime' => { 412 => [\'markers','markersStartTime'] }, + 'markerstarget' => { 412 => [\'markers','markersTarget'] }, + 'markerstype' => { 412 => [\'markers','markersType'] }, 'maskedareas' => { 98 => 0xc68e }, 'masterdocumentid' => { 106 => 0xb9 }, 'mastergain' => { 191 => 0x50 }, @@ -2867,19 +2925,19 @@ my %tagLookup = ( 'maxaperture' => { 30 => 0x1a, 118 => 0x6103, 135 => 'MaxAperture', 150 => 0x17, 156 => 0x49c5, 242 => 0x20a, 285 => '14.1', 359 => 0x0 }, 'maxapertureatmaxfocal' => { 103 => 0x1407, 135 => 'MaxApertureAtMaxFocal', 180 => 0xb, 181 => 0x10, 182 => 0x11, 242 => 0x206 }, 'maxapertureatminfocal' => { 103 => 0x1406, 180 => 0xa, 181 => 0xf, 182 => 0x10, 242 => 0x205 }, - 'maxaperturevalue' => { 98 => 0x9205, 390 => 'MaxApertureValue' }, - 'maxavailheight' => { 396 => 'MaxAvailHeight' }, - 'maxavailwidth' => { 396 => 'MaxAvailWidth' }, + 'maxaperturevalue' => { 98 => 0x9205, 391 => 'MaxApertureValue' }, + 'maxavailheight' => { 397 => 'MaxAvailHeight' }, + 'maxavailwidth' => { 397 => 'MaxAvailWidth' }, 'maxcontinuousrelease' => { 228 => 0xb, 229 => 0xc, 234 => 0xc, 235 => 0xb, 238 => '12.1' }, 'maxfaces' => { 245 => 0x1202 }, 'maxfocallength' => { 6 => 0xe6, 7 => 0x10, 8 => 0x1ab, 9 => 0x13, 10 => 0x115, 11 => 0x13, 12 => 0x153, 13 => 0xda, 15 => 0xfa, 16 => 0xee, 17 => 0x103, 18 => 0x95, 19 => 0xea, 20 => 0x157, 21 => 0xee, 22 => 0xec, 23 => 0x12b, 24 => 0x165, 25 => 0x16a, 26 => 0x116, 30 => 0x17, 103 => 0x1405, 135 => 'MaxFocalLength', 180 => 0x9, 181 => 0xe, 182 => 0xf, 242 => 0x208, 356 => 0x127c, 357 => 0x1138, 358 => 0x330 }, 'maximumdensityrange' => { 108 => 0x8c }, - 'maxpagesize' => { 414 => 'MaxPageSize' }, - 'maxpagesizeh' => { 414 => [\'MaxPageSize','MaxPageSizeH'] }, - 'maxpagesizeunit' => { 414 => [\'MaxPageSize','MaxPageSizeUnit'] }, - 'maxpagesizew' => { 414 => [\'MaxPageSize','MaxPageSizeW'] }, + 'maxpagesize' => { 417 => 'MaxPageSize' }, + 'maxpagesizeh' => { 417 => [\'MaxPageSize','MaxPageSizeH'] }, + 'maxpagesizeunit' => { 417 => [\'MaxPageSize','MaxPageSizeUnit'] }, + 'maxpagesizew' => { 417 => [\'MaxPageSize','MaxPageSizeW'] }, 'maxsamplevalue' => { 98 => 0x119 }, - 'maxstorage' => { 404 => 'maxstorage' }, + 'maxstorage' => { 407 => 'maxstorage' }, 'mb-d10batteries' => { 228 => '12.6' }, 'mb-d10batterytype' => { 234 => '13.3' }, 'mb-d11batterytype' => { 235 => '2.3' }, @@ -2888,6 +2946,7 @@ my %tagLookup = ( 'mb-d80batterytype' => { 239 => '3.2' }, 'mcuversion' => { 180 => 0xc, 181 => 0x11, 182 => 0x12 }, 'md5digest' => { 136 => 'zmd5' }, + 'meal' => { 404 => 'meal' }, 'measuredev' => { 26 => 0x9, 65 => 0x3, 84 => 0x1814, 128 => 'MeasuredEV' }, 'measuredev2' => { 12 => 0x8, 26 => 0x8, 65 => 0x17 }, 'measuredev3' => { 12 => 0x9 }, @@ -2904,17 +2963,17 @@ my %tagLookup = ( 'measurementtype' => { 97 => [\'MeasurementOrFact','MeasurementOrFactMeasurementType'] }, 'measurementunit' => { 97 => [\'MeasurementOrFact','MeasurementOrFactMeasurementUnit'] }, 'measurementvalue' => { 97 => [\'MeasurementOrFact','MeasurementOrFactMeasurementValue'] }, - 'mediaconstraints' => { 399 => 'MediaConstraints' }, + 'mediaconstraints' => { 400 => 'MediaConstraints' }, 'mediacreatedate' => { 308 => 0x1 }, 'mediamodifydate' => { 308 => 0x2 }, - 'mediasummarycode' => { 399 => 'MediaSummaryCode' }, + 'mediasummarycode' => { 400 => 'MediaSummaryCode' }, 'memoaudioquality' => { 71 => 0x812 }, 'memorycardconfiguration' => { 339 => 0x16 }, 'menubuttondisplayposition' => { 69 => 0xb, 72 => 0xa, 73 => 0xb, 76 => 0xb }, 'menubuttonreturn' => { 77 => 0xb }, 'menumonitorofftime' => { 228 => '26.1', 229 => '22.1', 234 => '8.2', 235 => '21.1', 238 => '22.1', 239 => '22.1' }, - 'metadatadate' => { 407 => 'MetadataDate' }, - 'metadatamoddate' => { 409 => 'metadataModDate' }, + 'metadatadate' => { 410 => 'MetadataDate' }, + 'metadatamoddate' => { 412 => 'metadataModDate' }, 'metaversion' => { 351 => 0x34 }, 'meterinfo1row1' => { 346 => 0x0 }, 'meterinfo1row2' => { 346 => 0x6c }, @@ -2933,7 +2992,7 @@ my %tagLookup = ( 'meterinfo2row8' => { 346 => 0x690 }, 'meterinfo2row9' => { 346 => 0x714 }, 'metering' => { 230 => '6.1' }, - 'meteringmode' => { 30 => 0x11, 98 => 0x9207, 114 => 0x1c, 150 => 0x7, 151 => 0x25, 153 => 0x12, 241 => 0x202, 294 => 0x17, 325 => 0x9, 333 => 0x15, 334 => 0x13, 335 => 0x7, 349 => 0x3, 352 => 0x1174, 353 => 0x1178, 354 => 0x1154, 355 => 0x11d0, 356 => 0x11ac, 357 => 0x1064, 358 => 0x25c, 390 => 'MeteringMode' }, + 'meteringmode' => { 30 => 0x11, 98 => 0x9207, 114 => 0x1c, 150 => 0x7, 151 => 0x25, 153 => 0x12, 241 => 0x202, 294 => 0x17, 325 => 0x9, 333 => 0x15, 334 => 0x13, 335 => 0x7, 349 => 0x3, 352 => 0x1174, 353 => 0x1178, 354 => 0x1154, 355 => 0x11d0, 356 => 0x11ac, 357 => 0x1064, 358 => 0x25c, 391 => 'MeteringMode' }, 'meteringmode2' => { 275 => '2.1' }, 'meteringmode3' => { 275 => '16.1' }, 'meteringoffscaleindicator' => { 153 => 0x53 }, @@ -2947,21 +3006,22 @@ my %tagLookup = ( 'minoltamodelid' => { 150 => 0x25 }, 'minoltaquality' => { 150 => 0x5, 151 => 0xd, 152 => 0x3, 155 => [0x102,0x103] }, 'minoltatime' => { 150 => 0x16 }, - 'minormodelagedisclosure' => { 399 => 'MinorModelAgeDisclosure' }, + 'minormodelagedisclosure' => { 400 => 'MinorModelAgeDisclosure' }, 'minsamplevalue' => { 98 => 0x118 }, 'mirrorlockup' => { 69 => 0xc, 70 => 0xc, 71 => 0x60f, 72 => 0xb, 73 => 0xc, 74 => 0x6, 75 => 0x6, 76 => 0xc, 77 => 0x3 }, 'mobilecountrycode' => { 385 => 'mcc' }, 'mobilenetworkcode' => { 385 => 'mnc' }, - 'moddate' => { 253 => 'modify-date', 397 => 'ModDate' }, + 'moddate' => { 253 => 'modify-date', 398 => 'ModDate' }, 'modedialposition' => { 339 => 0x14 }, - 'model' => { 85 => 0x6, 98 => 0x110, 128 => 'Model', 253 => 'Model', 265 => 0x110, 405 => 'Model' }, - 'modelage' => { 396 => 'ModelAge' }, + 'model' => { 85 => 0x6, 98 => 0x110, 128 => 'Model', 253 => 'Model', 265 => 0x110, 401 => 'model', 408 => 'Model' }, + 'modelage' => { 397 => 'ModelAge' }, 'modelid' => { 240 => 0x0 }, 'modelingflash' => { 228 => '21.4', 229 => '31.1', 234 => '26.4', 235 => '30.2', 236 => '7.4', 237 => '30.1', 238 => '31.1', 239 => '31.3' }, - 'modelreleaseid' => { 399 => 'ModelReleaseID' }, - 'modelreleasestatus' => { 399 => 'ModelReleaseStatus' }, + 'modelreleaseid' => { 400 => 'ModelReleaseID' }, + 'modelreleasestatus' => { 400 => 'ModelReleaseStatus' }, 'modelreleaseyear' => { 360 => 0x52, 361 => 0x46 }, - 'modificationdate' => { 400 => 'modificationDate' }, + 'modelyear' => { 401 => 'modelYear' }, + 'modificationdate' => { 402 => 'modificationDate' }, 'modifiedcolortemp' => { 55 => 0x9 }, 'modifieddigitalgain' => { 55 => 0xb }, 'modifiedparamflag' => { 48 => 0x1 }, @@ -2975,8 +3035,8 @@ my %tagLookup = ( 'modifiedwhitebalance' => { 55 => 0x8 }, 'modifiedwhitebalanceblue' => { 55 => 0x7 }, 'modifiedwhitebalancered' => { 55 => 0x6 }, - 'modifydate' => { 98 => 0x132, 129 => 'ModifyDate', 250 => 'ModDate', 251 => 'tIME', 307 => 'ModDate', 309 => 0x2, 407 => 'ModifyDate' }, - 'moirefilter' => { 98 => 0xfe58, 386 => 'MoireFilter' }, + 'modifydate' => { 98 => 0x132, 129 => 'ModifyDate', 250 => 'ModDate', 251 => 'tIME', 307 => 'ModDate', 309 => 0x2, 410 => 'ModifyDate' }, + 'moirefilter' => { 98 => 0xfe58, 387 => 'MoireFilter' }, 'monitordisplayoff' => { 153 => 0x4c }, 'monitorofftime' => { 228 => '18.2', 230 => '3.1', 236 => '3.1' }, 'monochromecontrast' => { 90 => 0x3c }, @@ -3026,7 +3086,8 @@ my %tagLookup = ( 'multiselectorplaybackmode' => { 228 => ['13.5','9.2'], 229 => '10.2', 234 => '27.2', 238 => '10.2' }, 'multiselectorshootmode' => { 228 => '9.1', 229 => '10.1', 234 => '27.1', 238 => '10.1' }, 'mycolormode' => { 58 => 0x2 }, - 'nativedigest' => { 390 => 'NativeDigest', 405 => 'NativeDigest' }, + 'nationalcatalognumber' => { 402 => 'nationalCatalogNumber' }, + 'nativedigest' => { 391 => 'NativeDigest', 408 => 'NativeDigest' }, 'ncdfileinfo' => { 112 => 0x414 }, 'ndfilter' => { 65 => 0x1c, 241 => 0x204, 316 => 0x1019 }, 'nefbitdepth' => { 185 => 0xe22 }, @@ -3049,7 +3110,7 @@ my %tagLookup = ( 'neutraunsharpmaskstrength' => { 90 => 0xa4 }, 'newrawimagedigest' => { 98 => 0xc7a7 }, 'newsphotoversion' => { 108 => 0x0 }, - 'nickname' => { 407 => 'Nickname' }, + 'nickname' => { 410 => 'Nickname' }, 'nikoncapturedata' => { 185 => 0xe01 }, 'nikoncaptureeditversions' => { 185 => 0xe13 }, 'nikoncaptureoutput' => { 185 => 0xe1e }, @@ -3071,23 +3132,26 @@ my %tagLookup = ( 'nominalminaperture' => { 285 => '10.1' }, 'normalwhitelevel' => { 37 => [0x2b8,0x2cf,0x2d3], 39 => 0x1e3, 40 => [0x1fc,0x2dc] }, 'notes' => { 373 => 'Notes', 381 => 'notes' }, - 'npages' => { 414 => 'NPages' }, + 'npages' => { 417 => 'NPages' }, 'nrwdata' => { 185 => 0x14 }, 'nullrecord' => { 84 => 0x0 }, - 'number' => { 400 => 'number' }, - 'numberofbeats' => { 409 => 'numberOfBeats' }, + 'number' => { 402 => 'number' }, + 'numberofbeats' => { 412 => 'numberOfBeats' }, 'numberoffocuspoints' => { 233 => '0.2', 235 => '0.3' }, 'numfacepositions' => { 255 => 0x0 }, 'numindexentries' => { 108 => 0x54 }, 'numwbentries' => { 266 => 0x0, 267 => 0x0 }, - 'object' => { 400 => 'object' }, + 'object' => { 402 => 'object' }, 'objectattributereference' => { 106 => 0x4 }, 'objectcycle' => { 106 => 0x4b }, + 'objectdescription' => { 401 => 'objectDescription' }, 'objectdistance' => { 93 => 0x6, 94 => 0x2022 }, 'objectname' => { 106 => 0x5 }, 'objectpreviewdata' => { 106 => 0xca }, 'objectpreviewfileformat' => { 106 => 0xc8 }, 'objectpreviewfileversion' => { 106 => 0xc9 }, + 'objectsubtype' => { 401 => 'objectSubtype' }, + 'objecttype' => { 401 => 'objectType' }, 'objecttypereference' => { 106 => 0x3 }, 'occurrence' => { 97 => 'Occurrence' }, 'occurrenceassociatedmedia' => { 97 => [\'Occurrence','OccurrenceAssociatedMedia'] }, @@ -3113,27 +3177,36 @@ my %tagLookup = ( 'occurrencereproductivecondition' => { 97 => [\'Occurrence','OccurrenceReproductiveCondition'] }, 'occurrencesex' => { 97 => [\'Occurrence','OccurrenceSex'] }, 'occurrencestatus' => { 97 => [\'Occurrence','OccurrenceOccurrenceStatus'] }, - 'oecfcolumns' => { 390 => [\'OECF','OECFColumns'] }, - 'oecfnames' => { 390 => [\'OECF','OECFNames'] }, - 'oecfrows' => { 390 => [\'OECF','OECFRows'] }, - 'oecfvalues' => { 390 => [\'OECF','OECFValues'] }, + 'oecfcolumns' => { 391 => [\'OECF','OECFColumns'] }, + 'oecfnames' => { 391 => [\'OECF','OECFNames'] }, + 'oecfrows' => { 391 => [\'OECF','OECFRows'] }, + 'oecfvalues' => { 391 => [\'OECF','OECFValues'] }, + 'offsaledate' => { 402 => 'offSaleDate' }, + 'offsaledatea-platform' => { 402 => [\'offSaleDate','offSaleDateA-platform'] }, + 'offsaledatedate' => { 402 => [\'offSaleDate','offSaleDateDate'] }, 'offsetschema' => { 98 => 0xea1d }, 'okbutton' => { 235 => '15.1', 239 => '16.1' }, 'oldsubfiletype' => { 98 => 0xff }, 'olympusimageheight' => { 246 => 0x102f }, 'olympusimagewidth' => { 246 => 0x102e }, 'onetouchwb' => { 246 => 0x302 }, + 'onsaledate' => { 402 => 'onSaleDate' }, + 'onsaledatea-platform' => { 402 => [\'onSaleDate','onSaleDateA-platform'] }, + 'onsaledatedate' => { 402 => [\'onSaleDate','onSaleDateDate'] }, + 'onsaleday' => { 402 => 'onSaleDay' }, + 'onsaledaya-platform' => { 402 => [\'onSaleDay','onSaleDayA-platform'] }, + 'onsaledayday' => { 402 => [\'onSaleDay','onSaleDayDay'] }, 'opticalzoom' => { 116 => 0xfa3d, 118 => [0x6006,0xf006], 119 => 0x1000, 120 => 0xf, 123 => 0x1e, 135 => 'OpticalZoom' }, 'opticalzoomcode' => { 65 => 0xa }, 'opticalzoommode' => { 261 => 0x34 }, 'opticalzoomon' => { 324 => 0x219 }, - 'optionenddate' => { 402 => 'optionEndDate' }, - 'opto-electricconvfactor' => { 390 => 'OECF' }, + 'optionenddate' => { 405 => 'optionEndDate' }, + 'opto-electricconvfactor' => { 391 => 'OECF' }, 'ordernumber' => { 103 => 0x8002 }, - 'organisationinimagecode' => { 396 => 'OrganisationInImageCode' }, - 'organisationinimagename' => { 396 => 'OrganisationInImageName' }, - 'organization' => { 400 => 'organization' }, - 'orientation' => { 98 => 0x112, 265 => 0x112, 405 => 'Orientation' }, + 'organisationinimagecode' => { 397 => 'OrganisationInImageCode' }, + 'organisationinimagename' => { 397 => 'OrganisationInImageName' }, + 'organization' => { 402 => 'organization' }, + 'orientation' => { 98 => 0x112, 265 => 0x112, 401 => 'orientation', 408 => 'Orientation' }, 'orientation2' => { 349 => [0x28,0x2e] }, 'orientationlinkedafpoint' => { 71 => 0x516 }, 'originalbestqualitysize' => { 98 => 0xc792 }, @@ -3142,7 +3215,7 @@ my %tagLookup = ( 'originaldefaultcropsize' => { 98 => 0xc793 }, 'originaldefaultfinalsize' => { 98 => 0xc791 }, 'originaldirectory' => { 259 => 0x408 }, - 'originaldocumentid' => { 410 => 'OriginalDocumentID' }, + 'originaldocumentid' => { 413 => 'OriginalDocumentID' }, 'originalfilename' => { 84 => 0x816, 112 => 0x3e9, 124 => 0x20, 259 => 0x407, 377 => 'OriginalFilename' }, 'originalimageheight' => { 67 => 0xc, 102 => 0x1 }, 'originalimagewidth' => { 67 => 0xb, 102 => 0x0 }, @@ -3151,86 +3224,88 @@ my %tagLookup = ( 'originalrawfilename' => { 98 => 0xc68b }, 'originaltransmissionreference' => { 106 => 0x67 }, 'originatingprogram' => { 106 => 0x41 }, - 'originplatform' => { 400 => 'originPlatform' }, - 'os' => { 388 => 'os' }, - 'otherconditions' => { 399 => 'OtherConditions' }, - 'otherconstraints' => { 399 => 'OtherConstraints' }, + 'originplatform' => { 402 => 'originPlatform' }, + 'os' => { 389 => 'os' }, + 'otherconditions' => { 400 => 'OtherConditions' }, + 'otherconstraints' => { 400 => 'OtherConstraints' }, 'otherimage' => { 95 => 'OtherImage' }, - 'otherimageinfo' => { 399 => 'OtherImageInfo' }, + 'otherimageinfo' => { 400 => 'OtherImageInfo' }, 'otherimagelength' => { 98 => 0x202 }, 'otherimagestart' => { 98 => 0x201 }, - 'otherlicensedocuments' => { 399 => 'OtherLicenseDocuments' }, - 'otherlicenseinfo' => { 399 => 'OtherLicenseInfo' }, - 'otherlicenserequirements' => { 399 => 'OtherLicenseRequirements' }, - 'outcue' => { 409 => 'outCue' }, - 'outcuescale' => { 409 => [\'outCue','outCueScale'] }, - 'outcuevalue' => { 409 => [\'outCue','outCueValue'] }, + 'otherlicensedocuments' => { 400 => 'OtherLicenseDocuments' }, + 'otherlicenseinfo' => { 400 => 'OtherLicenseInfo' }, + 'otherlicenserequirements' => { 400 => 'OtherLicenseRequirements' }, + 'outcue' => { 412 => 'outCue' }, + 'outcuescale' => { 412 => [\'outCue','outCueScale'] }, + 'outcuevalue' => { 412 => [\'outCue','outCueValue'] }, 'outputimageheight' => { 164 => 0x3 }, 'outputimagewidth' => { 164 => 0x2 }, 'outputprofile' => { 112 => 0x138b }, 'outputresolution' => { 164 => 0x4 }, - 'owner' => { 413 => 'Owner' }, + 'owner' => { 416 => 'Owner' }, 'ownerid' => { 106 => 0xbc }, - 'ownername' => { 14 => 0x10f, 53 => 0x9, 84 => 0x810, 98 => [0xa430,0xfde8], 128 => 'OwnerName', 383 => 'OwnerName', 391 => 'CameraOwnerName' }, + 'ownername' => { 14 => 0x10f, 53 => 0x9, 84 => 0x810, 98 => [0xa430,0xfde8], 128 => 'OwnerName', 383 => 'OwnerName', 392 => 'CameraOwnerName' }, 'padding' => { 98 => 0xea1c }, - 'pageimage' => { 407 => [\'PageInfo','PageInfoImage'] }, - 'pageimageformat' => { 407 => [\'PageInfo','PageInfoFormat'] }, - 'pageimageheight' => { 407 => [\'PageInfo','PageInfoHeight'] }, - 'pageimagepagenumber' => { 407 => [\'PageInfo','PageInfoPageNumber'] }, - 'pageimagewidth' => { 407 => [\'PageInfo','PageInfoWidth'] }, - 'pageinfo' => { 407 => 'PageInfo' }, + 'pagecount' => { 402 => 'pageCount' }, + 'pageimage' => { 410 => [\'PageInfo','PageInfoImage'] }, + 'pageimageformat' => { 410 => [\'PageInfo','PageInfoFormat'] }, + 'pageimageheight' => { 410 => [\'PageInfo','PageInfoHeight'] }, + 'pageimagepagenumber' => { 410 => [\'PageInfo','PageInfoPageNumber'] }, + 'pageimagewidth' => { 410 => [\'PageInfo','PageInfoWidth'] }, + 'pageinfo' => { 410 => 'PageInfo' }, 'pagename' => { 98 => 0x11d }, 'pagenumber' => { 98 => 0x129 }, - 'pagerange' => { 400 => 'pageRange' }, - 'paintbasedcorrectionmasks' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasks'] }, - 'paintbasedcorrections' => { 386 => 'PaintBasedCorrections' }, - 'paintcorrectionactive' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionActive'] }, - 'paintcorrectionamount' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionAmount'] }, - 'paintcorrectionbrightness' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalBrightness'] }, - 'paintcorrectionclarity' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity'] }, - 'paintcorrectionclarity2012' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity2012'] }, - 'paintcorrectioncontrast' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast'] }, - 'paintcorrectioncontrast2012' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast2012'] }, - 'paintcorrectiondefringe' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalDefringe'] }, - 'paintcorrectionexposure' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure'] }, - 'paintcorrectionexposure2012' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure2012'] }, - 'paintcorrectionhighlights2012' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalHighlights2012'] }, - 'paintcorrectionhue' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalToningHue'] }, - 'paintcorrectionluminancenoise' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalLuminanceNoise'] }, - 'paintcorrectionmaskalpha' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAlpha'] }, - 'paintcorrectionmaskangle' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAngle'] }, - 'paintcorrectionmaskbottom' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksBottom'] }, - 'paintcorrectionmaskcentervalue' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterValue'] }, - 'paintcorrectionmaskcenterweight' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterWeight'] }, - 'paintcorrectionmaskdabs' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksDabs'] }, - 'paintcorrectionmaskfeather' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFeather'] }, - 'paintcorrectionmaskflipped' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlipped'] }, - 'paintcorrectionmaskflow' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlow'] }, - 'paintcorrectionmaskfullx' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullX'] }, - 'paintcorrectionmaskfully' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullY'] }, - 'paintcorrectionmaskleft' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksLeft'] }, - 'paintcorrectionmaskmidpoint' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMidpoint'] }, - 'paintcorrectionmaskperimetervalue' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksPerimeterValue'] }, - 'paintcorrectionmaskradius' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRadius'] }, - 'paintcorrectionmaskright' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRight'] }, - 'paintcorrectionmaskroundness' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRoundness'] }, - 'paintcorrectionmasksizex' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeX'] }, - 'paintcorrectionmasksizey' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeY'] }, - 'paintcorrectionmasktop' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksTop'] }, - 'paintcorrectionmaskvalue' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMaskValue'] }, - 'paintcorrectionmaskversion' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksVersion'] }, - 'paintcorrectionmaskwhat' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksWhat'] }, - 'paintcorrectionmaskx' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksX'] }, - 'paintcorrectionmasky' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksY'] }, - 'paintcorrectionmaskzerox' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroX'] }, - 'paintcorrectionmaskzeroy' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroY'] }, - 'paintcorrectionmoire' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalMoire'] }, - 'paintcorrectionsaturation' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSaturation','PaintBasedCorrectionsLocalToningSaturation'] }, - 'paintcorrectionshadows2012' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalShadows2012'] }, - 'paintcorrectionsharpness' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSharpness'] }, - 'paintcorrectiontemperature' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTemperature'] }, - 'paintcorrectiontint' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTint'] }, - 'paintcorrectionwhat' => { 386 => [\'PaintBasedCorrections','PaintBasedCorrectionsWhat'] }, + 'pageprogressiondirection' => { 402 => 'pageProgressionDirection' }, + 'pagerange' => { 402 => 'pageRange' }, + 'paintbasedcorrectionmasks' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasks'] }, + 'paintbasedcorrections' => { 387 => 'PaintBasedCorrections' }, + 'paintcorrectionactive' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionActive'] }, + 'paintcorrectionamount' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionAmount'] }, + 'paintcorrectionbrightness' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalBrightness'] }, + 'paintcorrectionclarity' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity'] }, + 'paintcorrectionclarity2012' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity2012'] }, + 'paintcorrectioncontrast' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast'] }, + 'paintcorrectioncontrast2012' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast2012'] }, + 'paintcorrectiondefringe' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalDefringe'] }, + 'paintcorrectionexposure' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure'] }, + 'paintcorrectionexposure2012' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure2012'] }, + 'paintcorrectionhighlights2012' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalHighlights2012'] }, + 'paintcorrectionhue' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalToningHue'] }, + 'paintcorrectionluminancenoise' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalLuminanceNoise'] }, + 'paintcorrectionmaskalpha' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAlpha'] }, + 'paintcorrectionmaskangle' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAngle'] }, + 'paintcorrectionmaskbottom' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksBottom'] }, + 'paintcorrectionmaskcentervalue' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterValue'] }, + 'paintcorrectionmaskcenterweight' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterWeight'] }, + 'paintcorrectionmaskdabs' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksDabs'] }, + 'paintcorrectionmaskfeather' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFeather'] }, + 'paintcorrectionmaskflipped' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlipped'] }, + 'paintcorrectionmaskflow' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlow'] }, + 'paintcorrectionmaskfullx' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullX'] }, + 'paintcorrectionmaskfully' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullY'] }, + 'paintcorrectionmaskleft' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksLeft'] }, + 'paintcorrectionmaskmidpoint' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMidpoint'] }, + 'paintcorrectionmaskperimetervalue' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksPerimeterValue'] }, + 'paintcorrectionmaskradius' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRadius'] }, + 'paintcorrectionmaskright' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRight'] }, + 'paintcorrectionmaskroundness' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRoundness'] }, + 'paintcorrectionmasksizex' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeX'] }, + 'paintcorrectionmasksizey' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeY'] }, + 'paintcorrectionmasktop' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksTop'] }, + 'paintcorrectionmaskvalue' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMaskValue'] }, + 'paintcorrectionmaskversion' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksVersion'] }, + 'paintcorrectionmaskwhat' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksWhat'] }, + 'paintcorrectionmaskx' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksX'] }, + 'paintcorrectionmasky' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksY'] }, + 'paintcorrectionmaskzerox' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroX'] }, + 'paintcorrectionmaskzeroy' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroY'] }, + 'paintcorrectionmoire' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalMoire'] }, + 'paintcorrectionsaturation' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSaturation','PaintBasedCorrectionsLocalToningSaturation'] }, + 'paintcorrectionshadows2012' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalShadows2012'] }, + 'paintcorrectionsharpness' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSharpness'] }, + 'paintcorrectiontemperature' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTemperature'] }, + 'paintcorrectiontint' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTint'] }, + 'paintcorrectionwhat' => { 387 => [\'PaintBasedCorrections','PaintBasedCorrectionsWhat'] }, 'panasonicexifversion' => { 261 => 0x26 }, 'panasonicimageheight' => { 261 => 0x4c }, 'panasonicimagewidth' => { 261 => 0x4b }, @@ -3258,28 +3333,28 @@ my %tagLookup = ( 'panoramicstitchtheta0' => { 146 => 'PanoramicStitchTheta0', 147 => 0x3 }, 'panoramicstitchtheta1' => { 146 => 'PanoramicStitchTheta1', 147 => 0x4 }, 'panoramicstitchversion' => { 147 => 0x0 }, - 'pantry' => { 410 => 'Pantry' }, + 'pantry' => { 413 => 'Pantry' }, 'parallax' => { 103 => 0xb211, 240 => 0x28 }, - 'parametricdarks' => { 386 => 'ParametricDarks' }, - 'parametrichighlights' => { 386 => 'ParametricHighlights' }, - 'parametrichighlightsplit' => { 386 => 'ParametricHighlightSplit' }, - 'parametriclights' => { 386 => 'ParametricLights' }, - 'parametricmidtonesplit' => { 386 => 'ParametricMidtoneSplit' }, - 'parametricshadows' => { 386 => 'ParametricShadows' }, - 'parametricshadowsplit' => { 386 => 'ParametricShadowSplit' }, + 'parametricdarks' => { 387 => 'ParametricDarks' }, + 'parametrichighlights' => { 387 => 'ParametricHighlights' }, + 'parametrichighlightsplit' => { 387 => 'ParametricHighlightSplit' }, + 'parametriclights' => { 387 => 'ParametricLights' }, + 'parametricmidtonesplit' => { 387 => 'ParametricMidtoneSplit' }, + 'parametricshadows' => { 387 => 'ParametricShadows' }, + 'parametricshadowsplit' => { 387 => 'ParametricShadowSplit' }, 'parentmeid' => { 377 => 'ParentMEID' }, - 'parentreference1' => { 394 => [\'TagStructure','TagStructureParentReference'] }, - 'parentreference2' => { 394 => [\'TagStructure','TagStructureSubLabelsParentReference'] }, - 'parentreference3' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsParentReference'] }, - 'parentreference4' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsParentReference'] }, - 'parentreference5' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] }, - 'parentreference6' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] }, - 'partofcompilation' => { 409 => 'partOfCompilation' }, + 'parentreference1' => { 395 => [\'TagStructure','TagStructureParentReference'] }, + 'parentreference2' => { 395 => [\'TagStructure','TagStructureSubLabelsParentReference'] }, + 'parentreference3' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsParentReference'] }, + 'parentreference4' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsParentReference'] }, + 'parentreference5' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] }, + 'parentreference6' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] }, + 'partofcompilation' => { 412 => 'partOfCompilation' }, 'patientbirthdate' => { 374 => 'PatientDOB' }, 'patientid' => { 374 => 'PatientID' }, 'patientname' => { 374 => 'PatientName' }, 'patientsex' => { 374 => 'PatientSex' }, - 'pdfversion' => { 397 => 'PDFVersion' }, + 'pdfversion' => { 398 => 'PDFVersion' }, 'pentaximagesize' => { 294 => 0x9 }, 'pentaxmodelid' => { 274 => 0x0, 294 => 0x5 }, 'pentaxmodeltype' => { 294 => 0x1 }, @@ -3295,26 +3370,26 @@ my %tagLookup = ( 'peripherallighting' => { 67 => 0x2 }, 'peripherallightingsetting' => { 68 => 0x5 }, 'peripherallightingvalue' => { 67 => 0x6 }, - 'permissions' => { 402 => 'permissions' }, + 'permissions' => { 405 => 'permissions' }, 'permits' => { 384 => 'permits' }, - 'person' => { 400 => 'person' }, + 'person' => { 402 => 'person' }, 'personality' => { 377 => 'Personality' }, - 'personinimage' => { 396 => 'PersonInImage' }, - 'personinimagecharacteristic' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristic'] }, - 'personinimagecvtermcvid' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvId'] }, - 'personinimagecvtermid' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermId'] }, - 'personinimagecvtermname' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermName'] }, - 'personinimagecvtermrefinedabout' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermRefinedAbout'] }, - 'personinimagedescription' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonDescription'] }, - 'personinimageid' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonId'] }, - 'personinimagename' => { 396 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonName'] }, - 'personinimagewdetails' => { 396 => 'PersonInImageWDetails' }, - 'perspectiveaspect' => { 386 => 'PerspectiveAspect' }, - 'perspectivehorizontal' => { 386 => 'PerspectiveHorizontal' }, - 'perspectiverotate' => { 386 => 'PerspectiveRotate' }, - 'perspectivescale' => { 386 => 'PerspectiveScale' }, - 'perspectiveupright' => { 386 => 'PerspectiveUpright' }, - 'perspectivevertical' => { 386 => 'PerspectiveVertical' }, + 'personinimage' => { 397 => 'PersonInImage' }, + 'personinimagecharacteristic' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristic'] }, + 'personinimagecvtermcvid' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvId'] }, + 'personinimagecvtermid' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermId'] }, + 'personinimagecvtermname' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermName'] }, + 'personinimagecvtermrefinedabout' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermRefinedAbout'] }, + 'personinimagedescription' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonDescription'] }, + 'personinimageid' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonId'] }, + 'personinimagename' => { 397 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonName'] }, + 'personinimagewdetails' => { 397 => 'PersonInImageWDetails' }, + 'perspectiveaspect' => { 387 => 'PerspectiveAspect' }, + 'perspectivehorizontal' => { 387 => 'PerspectiveHorizontal' }, + 'perspectiverotate' => { 387 => 'PerspectiveRotate' }, + 'perspectivescale' => { 387 => 'PerspectiveScale' }, + 'perspectiveupright' => { 387 => 'PerspectiveUpright' }, + 'perspectivevertical' => { 387 => 'PerspectiveVertical' }, 'pf0customfuncregistration' => { 79 => 0x1 }, 'pf10retainprogramshift' => { 79 => 0xb }, 'pf13drivepriority' => { 79 => 0xe }, @@ -3377,14 +3452,14 @@ my %tagLookup = ( 'photoeffectsgreen' => { 223 => 0x6 }, 'photoeffectsred' => { 223 => 0x4 }, 'photoeffectstype' => { 223 => 0x0 }, - 'photographicsensitivity' => { 391 => 'PhotographicSensitivity' }, + 'photographicsensitivity' => { 392 => 'PhotographicSensitivity' }, 'photoinfoplayback' => { 228 => '17.6', 234 => '33.6' }, - 'photometricinterpretation' => { 98 => 0x106, 405 => 'PhotometricInterpretation' }, + 'photometricinterpretation' => { 98 => 0x106, 408 => 'PhotometricInterpretation' }, 'photoshopbgrthumbnail' => { 305 => 0x409 }, 'photoshopquality' => { 304 => 0x0 }, 'photoshopthumbnail' => { 305 => 0x40c }, 'photostyle' => { 261 => 0x89 }, - 'picklabel' => { 389 => 'PickLabel' }, + 'picklabel' => { 390 => 'PickLabel' }, 'pictinfo' => { 324 => 0x208 }, 'picturecontrol' => { 221 => 0xe2173c47 }, 'picturecontrolactive' => { 224 => 0x0 }, @@ -3418,13 +3493,14 @@ my %tagLookup = ( 'pixelsperunitx' => { 252 => 0x0 }, 'pixelsperunity' => { 252 => 0x4 }, 'pixelunits' => { 252 => 0x8 }, - 'planarconfiguration' => { 98 => 0x11c, 405 => 'PlanarConfiguration' }, - 'platenames' => { 414 => 'PlateNames' }, + 'planarconfiguration' => { 98 => 0x11c, 408 => 'PlanarConfiguration' }, + 'platenames' => { 417 => 'PlateNames' }, + 'platform' => { 402 => 'platform' }, 'playbackmenustime' => { 231 => '20.1', 232 => '21.1', 233 => '21.1' }, 'playbackmonitorofftime' => { 228 => '25.2', 229 => '36.1', 234 => '8.1', 235 => '35.1', 238 => '36.1', 239 => '21.1' }, 'playbackzoom' => { 229 => '37.1' }, 'playdisplay' => { 153 => 0x4e }, - 'plusversion' => { 399 => 'Version' }, + 'plusversion' => { 400 => 'Version' }, 'pmversion' => { 303 => 'PMVersion' }, 'pngwarning' => { 253 => 'Warning' }, 'poilevel' => { 184 => 0x8 }, @@ -3446,13 +3522,14 @@ my %tagLookup = ( 'poseheadingdegrees' => { 376 => 'PoseHeadingDegrees' }, 'posepitchdegrees' => { 376 => 'PosePitchDegrees' }, 'poserolldegrees' => { 376 => 'PoseRollDegrees' }, + 'positiondescriptor' => { 401 => 'positionDescriptor' }, 'postalcode' => { 133 => 'PostalCode' }, - 'postcropvignetteamount' => { 386 => 'PostCropVignetteAmount' }, - 'postcropvignettefeather' => { 386 => 'PostCropVignetteFeather' }, - 'postcropvignettehighlightcontrast' => { 386 => 'PostCropVignetteHighlightContrast' }, - 'postcropvignettemidpoint' => { 386 => 'PostCropVignetteMidpoint' }, - 'postcropvignetteroundness' => { 386 => 'PostCropVignetteRoundness' }, - 'postcropvignettestyle' => { 386 => 'PostCropVignetteStyle' }, + 'postcropvignetteamount' => { 387 => 'PostCropVignetteAmount' }, + 'postcropvignettefeather' => { 387 => 'PostCropVignetteFeather' }, + 'postcropvignettehighlightcontrast' => { 387 => 'PostCropVignetteHighlightContrast' }, + 'postcropvignettemidpoint' => { 387 => 'PostCropVignetteMidpoint' }, + 'postcropvignetteroundness' => { 387 => 'PostCropVignetteRoundness' }, + 'postcropvignettestyle' => { 387 => 'PostCropVignetteStyle' }, 'potentialface1position' => { 343 => 0xb }, 'potentialface2position' => { 343 => 0x15 }, 'potentialface3position' => { 343 => 0x1f }, @@ -3467,7 +3544,7 @@ my %tagLookup = ( 'predictor' => { 98 => 0x13d }, 'preflashreturnstrength' => { 199 => 0x28a }, 'prefs' => { 106 => 0xdd, 303 => 'Prefs' }, - 'preservedfilename' => { 410 => 'PreservedFileName' }, + 'preservedfilename' => { 413 => 'PreservedFileName' }, 'presetwhitebalance' => { 153 => 0x24, 372 => 0x8002 }, 'presetwhitebalanceadj' => { 372 => 0x8014 }, 'previewapplicationname' => { 98 => 0xc716 }, @@ -3495,20 +3572,23 @@ my %tagLookup = ( 'previewsettingsdigest' => { 98 => 0xc719 }, 'previewsettingsname' => { 98 => 0xc718 }, 'primaryafpoint' => { 161 => 0x7 }, - 'primarychromaticities' => { 98 => 0x13f, 405 => 'PrimaryChromaticities' }, + 'primarychromaticities' => { 98 => 0x13f, 408 => 'PrimaryChromaticities' }, 'printim' => { 98 => 0xc4a5 }, 'prioritysetupshutterrelease' => { 153 => 0x1d, 333 => 0x28 }, 'privatertkinfo' => { 378 => 'privateRTKInfo' }, 'processingsoftware' => { 98 => 0xb }, - 'processversion' => { 386 => 'ProcessVersion' }, - 'producer' => { 250 => 'Producer', 397 => 'Producer' }, - 'productid' => { 107 => 0x32 }, - 'productinimage' => { 396 => 'ProductInImage' }, - 'productinimagedescription' => { 396 => [\'ProductInImage','ProductInImageProductDescription'] }, - 'productinimagegtin' => { 396 => [\'ProductInImage','ProductInImageProductGTIN'] }, - 'productinimagename' => { 396 => [\'ProductInImage','ProductInImageProductName'] }, + 'processversion' => { 387 => 'ProcessVersion' }, + 'producer' => { 250 => 'Producer', 398 => 'Producer' }, + 'productcode' => { 402 => 'productCode' }, + 'productid' => { 107 => 0x32, 401 => 'productID' }, + 'productidtype' => { 401 => 'productIDType' }, + 'productinimage' => { 397 => 'ProductInImage' }, + 'productinimagedescription' => { 397 => [\'ProductInImage','ProductInImageProductDescription'] }, + 'productinimagegtin' => { 397 => [\'ProductInImage','ProductInImageProductGTIN'] }, + 'productinimagename' => { 397 => [\'ProductInImage','ProductInImageProductName'] }, 'productioncode' => { 274 => 0x2 }, - 'productorserviceconstraints' => { 399 => 'ProductOrServiceConstraints' }, + 'productorserviceconstraints' => { 400 => 'ProductOrServiceConstraints' }, + 'profession' => { 402 => 'profession' }, 'profilecalibrationsig' => { 98 => 0xc6f4 }, 'profilecopyright' => { 98 => 0xc6fe }, 'profileembedpolicy' => { 98 => 0xc6fd }, @@ -3528,17 +3608,23 @@ my %tagLookup = ( 'programversion' => { 106 => 0x46 }, 'prohibits' => { 384 => 'prohibits' }, 'projectiontype' => { 376 => 'ProjectionType' }, - 'projectname' => { 409 => 'projectName' }, - 'projectref' => { 409 => 'projectRef' }, - 'projectrefpath' => { 409 => [\'projectRef','projectRefPath'] }, - 'projectreftype' => { 409 => [\'projectRef','projectRefType'] }, - 'propertyreleaseid' => { 399 => 'PropertyReleaseID' }, - 'propertyreleasestatus' => { 399 => 'PropertyReleaseStatus' }, + 'projectname' => { 412 => 'projectName' }, + 'projectref' => { 412 => 'projectRef' }, + 'projectrefpath' => { 412 => [\'projectRef','projectRefPath'] }, + 'projectreftype' => { 412 => [\'projectRef','projectRefType'] }, + 'propertyreleaseid' => { 400 => 'PropertyReleaseID' }, + 'propertyreleasestatus' => { 400 => 'PropertyReleaseStatus' }, 'province-state' => { 106 => 0x5f }, - 'publicationdate' => { 400 => 'publicationDate' }, - 'publicationname' => { 400 => 'publicationName' }, - 'publisher' => { 387 => 'publisher' }, - 'pulldown' => { 409 => 'pullDown' }, + 'publicationdate' => { 402 => 'publicationDate' }, + 'publicationdatea-platform' => { 402 => [\'publicationDate','publicationDateA-platform'] }, + 'publicationdatedate' => { 402 => [\'publicationDate','publicationDateDate'] }, + 'publicationdisplaydate' => { 402 => 'publicationDisplayDate' }, + 'publicationdisplaydatea-platform' => { 402 => [\'publicationDisplayDate','publicationDisplayDateA-platform'] }, + 'publicationdisplaydatedate' => { 402 => [\'publicationDisplayDate','publicationDisplayDateDate'] }, + 'publicationname' => { 402 => 'publicationName' }, + 'publisher' => { 388 => 'publisher' }, + 'publishingfrequency' => { 402 => 'publishingFrequency' }, + 'pulldown' => { 412 => 'pullDown' }, 'quality' => { 0 => 0x1, 30 => 0x3, 93 => 0x2, 94 => 0x3002, 103 => 0x1000, 114 => 0x9, 185 => 0x4, 211 => 0x3, 246 => 0x201, 257 => 0x300, 294 => 0x8, 300 => 0x2, 325 => 0x16, 333 => 0x56, 334 => 0x56, 335 => 0xb, 345 => 0x102 }, 'quality2' => { 352 => 0x1170, 353 => 0x1174, 354 => 0x1150, 356 => 0x11a8, 357 => 0x1060, 358 => 0x258, 360 => 0x29, 361 => 0x25, 362 => 0x2a }, 'qualitymode' => { 94 => 0x8 }, @@ -3549,7 +3635,7 @@ my %tagLookup = ( 'quickshot' => { 324 => 0x213 }, 'rangefinder' => { 231 => '4.1', 232 => '5.1', 233 => '5.1' }, 'rasterizedcaption' => { 106 => 0x7d }, - 'rating' => { 98 => 0x4746, 103 => 0x1431, 302 => 0xdf, 345 => 0x2002, 381 => 'rating', 388 => 'rating', 407 => 'Rating' }, + 'rating' => { 98 => 0x4746, 103 => 0x1431, 302 => 0xdf, 345 => 0x2002, 381 => 'rating', 389 => 'rating', 402 => 'rating', 410 => 'Rating' }, 'ratingpercent' => { 98 => 0x4749, 148 => 'Rating' }, 'rawandjpgrecording' => { 69 => 0x8, 155 => 0x109, 275 => 0xd }, 'rawbrightnessadj' => { 89 => 0x38 }, @@ -3592,7 +3678,7 @@ my %tagLookup = ( 'rawdevwhitebalance' => { 248 => 0x101 }, 'rawdevwhitebalancevalue' => { 247 => 0x101, 248 => 0x102 }, 'rawfile' => { 98 => 0xfe4c }, - 'rawfilename' => { 386 => 'RawFileName' }, + 'rawfilename' => { 387 => 'RawFileName' }, 'rawimagecenter' => { 185 => 0x99 }, 'rawimagedigest' => { 98 => 0xc71c }, 'rawimagesize' => { 294 => 0x39 }, @@ -3605,6 +3691,11 @@ my %tagLookup = ( 'rawrppused' => { 381 => 'rawrppused' }, 'rawtopreviewgain' => { 98 => 0xc7a8 }, 'reardisplay' => { 228 => '12.3', 229 => '6.2' }, + 'recipeendingpage' => { 404 => 'recipeEndingPage' }, + 'recipepagerange' => { 404 => 'recipePageRange' }, + 'recipesource' => { 404 => 'recipeSource' }, + 'recipestartingpage' => { 404 => 'recipeStartingPage' }, + 'recipetitle' => { 404 => 'recipeTitle' }, 'recognizedface1age' => { 256 => 0x20 }, 'recognizedface1name' => { 256 => 0x4 }, 'recognizedface1position' => { 256 => 0x18 }, @@ -3615,7 +3706,7 @@ my %tagLookup = ( 'recognizedface3name' => { 256 => 0x64 }, 'recognizedface3position' => { 256 => 0x78 }, 'recognizedfaceflags' => { 261 => 0x63 }, - 'recommendedexposureindex' => { 98 => 0x8832, 391 => 'RecommendedExposureIndex' }, + 'recommendedexposureindex' => { 98 => 0x8832, 392 => 'RecommendedExposureIndex' }, 'record' => { 97 => 'Record' }, 'recordbasisofrecord' => { 97 => [\'Record','RecordBasisOfRecord'] }, 'recordcollectioncode' => { 97 => [\'Record','RecordCollectionCode'] }, @@ -3638,20 +3729,20 @@ my %tagLookup = ( 'redcurvelimits' => { 89 => 0x18a }, 'redcurvepoints' => { 89 => 0x160 }, 'redeyecorrection' => { 225 => 0x0 }, - 'redeyeinfo' => { 386 => 'RedEyeInfo' }, + 'redeyeinfo' => { 387 => 'RedEyeInfo' }, 'redeyereduction' => { 153 => 0x41, 333 => 0x6a, 335 => 0x28 }, - 'redhue' => { 386 => 'RedHue' }, - 'redsaturation' => { 386 => 'RedSaturation' }, + 'redhue' => { 387 => 'RedHue' }, + 'redsaturation' => { 387 => 'RedSaturation' }, 'reductionmatrix1' => { 98 => 0xc625 }, 'reductionmatrix2' => { 98 => 0xc626 }, 'reelname' => { 98 => 0xc789 }, - 'reference1' => { 394 => [\'TagStructure','TagStructureReference'] }, - 'reference2' => { 394 => [\'TagStructure','TagStructureSubLabelsReference'] }, - 'reference3' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsReference'] }, - 'reference4' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsReference'] }, - 'reference5' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsReference'] }, - 'reference6' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsReference'] }, - 'referenceblackwhite' => { 98 => 0x214, 405 => 'ReferenceBlackWhite' }, + 'reference1' => { 395 => [\'TagStructure','TagStructureReference'] }, + 'reference2' => { 395 => [\'TagStructure','TagStructureSubLabelsReference'] }, + 'reference3' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsReference'] }, + 'reference4' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsReference'] }, + 'reference5' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsReference'] }, + 'reference6' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsReference'] }, + 'referenceblackwhite' => { 98 => 0x214, 408 => 'ReferenceBlackWhite' }, 'referencedate' => { 106 => 0x2f }, 'referencenumber' => { 106 => 0x32 }, 'references' => { 129 => 'References' }, @@ -3668,7 +3759,7 @@ my %tagLookup = ( 'regionareax' => { 144 => [\'Regions','RegionsRegionListAreaX'] }, 'regionareay' => { 144 => [\'Regions','RegionsRegionListAreaY'] }, 'regionbarcodevalue' => { 144 => [\'Regions','RegionsRegionListBarCodeValue'] }, - 'regionconstraints' => { 399 => 'RegionConstraints' }, + 'regionconstraints' => { 400 => 'RegionConstraints' }, 'regiondescription' => { 144 => [\'Regions','RegionsRegionListDescription'] }, 'regionextensions' => { 144 => [\'Regions','RegionsRegionListExtensions'] }, 'regionfocususage' => { 144 => [\'Regions','RegionsRegionListFocusUsage'] }, @@ -3685,9 +3776,9 @@ my %tagLookup = ( 'regionrectangle' => { 145 => [\'RegionInfo','RegionInfoRegionsRectangle'] }, 'regionseealso' => { 144 => [\'Regions','RegionsRegionListSeeAlso'] }, 'regiontype' => { 144 => [\'Regions','RegionsRegionListType'] }, - 'registryid' => { 396 => 'RegistryId' }, - 'registryitemid' => { 396 => [\'RegistryId','RegistryIdRegItemId'] }, - 'registryorganisationid' => { 396 => [\'RegistryId','RegistryIdRegOrgId'] }, + 'registryid' => { 397 => 'RegistryId' }, + 'registryitemid' => { 397 => [\'RegistryId','RegistryIdRegItemId'] }, + 'registryorganisationid' => { 397 => [\'RegistryId','RegistryIdRegOrgId'] }, 'relatedaudiofile' => { 127 => 'data' }, 'relatedaudiofilename' => { 127 => '1Name' }, 'relatedaudiofiletype' => { 127 => '0Type' }, @@ -3695,47 +3786,47 @@ my %tagLookup = ( 'relatedimageheight' => { 98 => 0x1002 }, 'relatedimagewidth' => { 98 => 0x1001 }, 'relatedresourceid' => { 97 => [\'ResourceRelationship','ResourceRelationshipRelatedResourceID'] }, - 'relatedsoundfile' => { 98 => 0xa004, 390 => 'RelatedSoundFile' }, + 'relatedsoundfile' => { 98 => 0xa004, 391 => 'RelatedSoundFile' }, 'relatedvideofile' => { 141 => 'data' }, 'relatedvideofilename' => { 141 => '1Name' }, 'relatedvideofiletype' => { 141 => '0Type' }, - 'relation' => { 387 => 'relation' }, + 'relation' => { 388 => 'relation' }, 'relationshipaccordingto' => { 97 => [\'ResourceRelationship','ResourceRelationshipRelationshipAccordingTo'] }, 'relationshipestablisheddate' => { 97 => [\'ResourceRelationship','ResourceRelationshipRelationshipEstablishedDate'] }, 'relationshipofresource' => { 97 => [\'ResourceRelationship','ResourceRelationshipRelationshipOfResource'] }, 'relationshipremarks' => { 97 => [\'ResourceRelationship','ResourceRelationshipRelationshipRemarks'] }, - 'relativepeakaudiofilepath' => { 409 => 'relativePeakAudioFilePath' }, - 'relativetimestamp' => { 409 => 'relativeTimestamp' }, - 'relativetimestampscale' => { 409 => [\'relativeTimestamp','relativeTimestampScale'] }, - 'relativetimestampvalue' => { 409 => [\'relativeTimestamp','relativeTimestampValue'] }, + 'relativepeakaudiofilepath' => { 412 => 'relativePeakAudioFilePath' }, + 'relativetimestamp' => { 412 => 'relativeTimestamp' }, + 'relativetimestampscale' => { 412 => [\'relativeTimestamp','relativeTimestampScale'] }, + 'relativetimestampvalue' => { 412 => [\'relativeTimestamp','relativeTimestampValue'] }, 'releasebuttontousedial' => { 228 => '17.8', 229 => '18.5', 234 => '33.8', 235 => '17.6', 238 => '18.5' }, - 'releasedate' => { 106 => 0x1e, 409 => 'releaseDate' }, + 'releasedate' => { 106 => 0x1e, 412 => 'releaseDate' }, 'releasemode' => { 94 => 0x3001, 345 => 0xb049 }, 'releasemode2' => { 352 => 0x112c, 353 => [0x112c,0x8], 354 => [0x1108,0x8], 355 => [0x1184,0x8], 356 => [0x1160,0x8], 357 => [0x4,0x1018], 358 => [0x4,0x210], 359 => 0x3f, 360 => 0x10, 361 => 0x10, 362 => 0x9, 368 => 0x34 }, 'releasemode3' => { 352 => 0x1128, 353 => 0x1128, 354 => 0x1104, 355 => 0x1180, 356 => 0x115c, 357 => 0x1014, 358 => 0x20c }, 'releasesetting' => { 84 => 0x1016 }, 'releasetime' => { 106 => 0x23 }, 'remoteonduration' => { 230 => '3.4', 231 => '17.2', 232 => '18.2', 233 => '18.2', 235 => '18.2', 236 => '4.3', 239 => '19.2' }, - 'renditionclass' => { 410 => 'RenditionClass' }, - 'renditionof' => { 410 => 'RenditionOf' }, - 'renditionofalternatepaths' => { 410 => [\'RenditionOf','RenditionOfAlternatePaths'] }, - 'renditionofdocumentid' => { 410 => [\'RenditionOf','RenditionOfDocumentID'] }, - 'renditionoffilepath' => { 410 => [\'RenditionOf','RenditionOfFilePath'] }, - 'renditionoffrompart' => { 410 => [\'RenditionOf','RenditionOfFromPart'] }, - 'renditionofinstanceid' => { 410 => [\'RenditionOf','RenditionOfInstanceID'] }, - 'renditionoflastmodifydate' => { 410 => [\'RenditionOf','RenditionOfLastModifyDate'] }, - 'renditionofmanager' => { 410 => [\'RenditionOf','RenditionOfManager'] }, - 'renditionofmanagervariant' => { 410 => [\'RenditionOf','RenditionOfManagerVariant'] }, - 'renditionofmanageto' => { 410 => [\'RenditionOf','RenditionOfManageTo'] }, - 'renditionofmanageui' => { 410 => [\'RenditionOf','RenditionOfManageUI'] }, - 'renditionofmaskmarkers' => { 410 => [\'RenditionOf','RenditionOfMaskMarkers'] }, - 'renditionoforiginaldocumentid' => { 410 => [\'RenditionOf','RenditionOfOriginalDocumentID'] }, - 'renditionofpartmapping' => { 410 => [\'RenditionOf','RenditionOfPartMapping'] }, - 'renditionofrenditionclass' => { 410 => [\'RenditionOf','RenditionOfRenditionClass'] }, - 'renditionofrenditionparams' => { 410 => [\'RenditionOf','RenditionOfRenditionParams'] }, - 'renditionoftopart' => { 410 => [\'RenditionOf','RenditionOfToPart'] }, - 'renditionofversionid' => { 410 => [\'RenditionOf','RenditionOfVersionID'] }, - 'renditionparams' => { 410 => 'RenditionParams' }, + 'renditionclass' => { 413 => 'RenditionClass' }, + 'renditionof' => { 413 => 'RenditionOf' }, + 'renditionofalternatepaths' => { 413 => [\'RenditionOf','RenditionOfAlternatePaths'] }, + 'renditionofdocumentid' => { 413 => [\'RenditionOf','RenditionOfDocumentID'] }, + 'renditionoffilepath' => { 413 => [\'RenditionOf','RenditionOfFilePath'] }, + 'renditionoffrompart' => { 413 => [\'RenditionOf','RenditionOfFromPart'] }, + 'renditionofinstanceid' => { 413 => [\'RenditionOf','RenditionOfInstanceID'] }, + 'renditionoflastmodifydate' => { 413 => [\'RenditionOf','RenditionOfLastModifyDate'] }, + 'renditionofmanager' => { 413 => [\'RenditionOf','RenditionOfManager'] }, + 'renditionofmanagervariant' => { 413 => [\'RenditionOf','RenditionOfManagerVariant'] }, + 'renditionofmanageto' => { 413 => [\'RenditionOf','RenditionOfManageTo'] }, + 'renditionofmanageui' => { 413 => [\'RenditionOf','RenditionOfManageUI'] }, + 'renditionofmaskmarkers' => { 413 => [\'RenditionOf','RenditionOfMaskMarkers'] }, + 'renditionoforiginaldocumentid' => { 413 => [\'RenditionOf','RenditionOfOriginalDocumentID'] }, + 'renditionofpartmapping' => { 413 => [\'RenditionOf','RenditionOfPartMapping'] }, + 'renditionofrenditionclass' => { 413 => [\'RenditionOf','RenditionOfRenditionClass'] }, + 'renditionofrenditionparams' => { 413 => [\'RenditionOf','RenditionOfRenditionParams'] }, + 'renditionoftopart' => { 413 => [\'RenditionOf','RenditionOfToPart'] }, + 'renditionofversionid' => { 413 => [\'RenditionOf','RenditionOfVersionID'] }, + 'renditionparams' => { 413 => 'RenditionParams' }, 'repeatingflashcount' => { 174 => 0xd, 175 => 0xe, 176 => 0xe, 234 => '17.2', 235 => '24.2', 236 => '9.2', 237 => '24.2', 239 => '25.2' }, 'repeatingflashcountbuilt-in' => { 208 => 0x4db }, 'repeatingflashcountexternal' => { 208 => 0x4c3 }, @@ -3745,101 +3836,102 @@ my %tagLookup = ( 'repeatingflashratebuilt-in' => { 208 => 0x4da }, 'repeatingflashrateexternal' => { 208 => 0x4c2 }, 'requires' => { 384 => 'requires' }, - 'resampleparams' => { 409 => 'resampleParams' }, - 'resampleparamsquality' => { 409 => [\'resampleParams','resampleParamsQuality'] }, + 'resampleparams' => { 412 => 'resampleParams' }, + 'resampleparamsquality' => { 412 => [\'resampleParams','resampleParamsQuality'] }, 'resaved' => { 324 => 0x21e }, 'resolution' => { 134 => 'Resolution' }, 'resolutionmode' => { 325 => 0x4 }, - 'resolutionunit' => { 98 => 0x128, 109 => 0x2, 405 => 'ResolutionUnit' }, + 'resolutionunit' => { 98 => 0x128, 109 => 0x2, 408 => 'ResolutionUnit' }, 'resourceid' => { 97 => [\'ResourceRelationship','ResourceRelationshipResourceID'] }, 'resourcerelationship' => { 97 => 'ResourceRelationship' }, 'resourcerelationshipid' => { 97 => [\'ResourceRelationship','ResourceRelationshipResourceRelationshipID'] }, 'restrictdrivemodes' => { 71 => 0x612 }, - 'restrictions' => { 402 => 'restrictions' }, - 'retouchareafeather' => { 386 => [\'RetouchAreas','RetouchAreasFeather'] }, - 'retouchareamaskalpha' => { 386 => [\'RetouchAreas','RetouchAreasMasksAlpha'] }, - 'retouchareamaskangle' => { 386 => [\'RetouchAreas','RetouchAreasMasksAngle'] }, - 'retouchareamaskbottom' => { 386 => [\'RetouchAreas','RetouchAreasMasksBottom'] }, - 'retouchareamaskcentervalue' => { 386 => [\'RetouchAreas','RetouchAreasMasksCenterValue'] }, - 'retouchareamaskcenterweight' => { 386 => [\'RetouchAreas','RetouchAreasMasksCenterWeight'] }, - 'retouchareamaskdabs' => { 386 => [\'RetouchAreas','RetouchAreasMasksDabs'] }, - 'retouchareamaskfeather' => { 386 => [\'RetouchAreas','RetouchAreasMasksFeather'] }, - 'retouchareamaskflipped' => { 386 => [\'RetouchAreas','RetouchAreasMasksFlipped'] }, - 'retouchareamaskflow' => { 386 => [\'RetouchAreas','RetouchAreasMasksFlow'] }, - 'retouchareamaskfullx' => { 386 => [\'RetouchAreas','RetouchAreasMasksFullX'] }, - 'retouchareamaskfully' => { 386 => [\'RetouchAreas','RetouchAreasMasksFullY'] }, - 'retouchareamaskleft' => { 386 => [\'RetouchAreas','RetouchAreasMasksLeft'] }, - 'retouchareamaskmidpoint' => { 386 => [\'RetouchAreas','RetouchAreasMasksMidpoint'] }, - 'retouchareamaskperimetervalue' => { 386 => [\'RetouchAreas','RetouchAreasMasksPerimeterValue'] }, - 'retouchareamaskradius' => { 386 => [\'RetouchAreas','RetouchAreasMasksRadius'] }, - 'retouchareamaskright' => { 386 => [\'RetouchAreas','RetouchAreasMasksRight'] }, - 'retouchareamaskroundness' => { 386 => [\'RetouchAreas','RetouchAreasMasksRoundness'] }, - 'retouchareamasks' => { 386 => [\'RetouchAreas','RetouchAreasMasks'] }, - 'retouchareamasksizex' => { 386 => [\'RetouchAreas','RetouchAreasMasksSizeX'] }, - 'retouchareamasksizey' => { 386 => [\'RetouchAreas','RetouchAreasMasksSizeY'] }, - 'retouchareamasktop' => { 386 => [\'RetouchAreas','RetouchAreasMasksTop'] }, - 'retouchareamaskvalue' => { 386 => [\'RetouchAreas','RetouchAreasMasksMaskValue'] }, - 'retouchareamaskversion' => { 386 => [\'RetouchAreas','RetouchAreasMasksVersion'] }, - 'retouchareamaskwhat' => { 386 => [\'RetouchAreas','RetouchAreasMasksWhat'] }, - 'retouchareamaskx' => { 386 => [\'RetouchAreas','RetouchAreasMasksX'] }, - 'retouchareamasky' => { 386 => [\'RetouchAreas','RetouchAreasMasksY'] }, - 'retouchareamaskzerox' => { 386 => [\'RetouchAreas','RetouchAreasMasksZeroX'] }, - 'retouchareamaskzeroy' => { 386 => [\'RetouchAreas','RetouchAreasMasksZeroY'] }, - 'retouchareamethod' => { 386 => [\'RetouchAreas','RetouchAreasMethod'] }, - 'retouchareaoffsety' => { 386 => [\'RetouchAreas','RetouchAreasOffsetY'] }, - 'retouchareaopacity' => { 386 => [\'RetouchAreas','RetouchAreasOpacity'] }, - 'retouchareas' => { 386 => 'RetouchAreas' }, - 'retouchareaseed' => { 386 => [\'RetouchAreas','RetouchAreasSeed'] }, - 'retouchareasourcestate' => { 386 => [\'RetouchAreas','RetouchAreasSourceState'] }, - 'retouchareasourcex' => { 386 => [\'RetouchAreas','RetouchAreasSourceX'] }, - 'retouchareaspottype' => { 386 => [\'RetouchAreas','RetouchAreasSpotType'] }, + 'restrictions' => { 405 => 'restrictions' }, + 'retouchareafeather' => { 387 => [\'RetouchAreas','RetouchAreasFeather'] }, + 'retouchareamaskalpha' => { 387 => [\'RetouchAreas','RetouchAreasMasksAlpha'] }, + 'retouchareamaskangle' => { 387 => [\'RetouchAreas','RetouchAreasMasksAngle'] }, + 'retouchareamaskbottom' => { 387 => [\'RetouchAreas','RetouchAreasMasksBottom'] }, + 'retouchareamaskcentervalue' => { 387 => [\'RetouchAreas','RetouchAreasMasksCenterValue'] }, + 'retouchareamaskcenterweight' => { 387 => [\'RetouchAreas','RetouchAreasMasksCenterWeight'] }, + 'retouchareamaskdabs' => { 387 => [\'RetouchAreas','RetouchAreasMasksDabs'] }, + 'retouchareamaskfeather' => { 387 => [\'RetouchAreas','RetouchAreasMasksFeather'] }, + 'retouchareamaskflipped' => { 387 => [\'RetouchAreas','RetouchAreasMasksFlipped'] }, + 'retouchareamaskflow' => { 387 => [\'RetouchAreas','RetouchAreasMasksFlow'] }, + 'retouchareamaskfullx' => { 387 => [\'RetouchAreas','RetouchAreasMasksFullX'] }, + 'retouchareamaskfully' => { 387 => [\'RetouchAreas','RetouchAreasMasksFullY'] }, + 'retouchareamaskleft' => { 387 => [\'RetouchAreas','RetouchAreasMasksLeft'] }, + 'retouchareamaskmidpoint' => { 387 => [\'RetouchAreas','RetouchAreasMasksMidpoint'] }, + 'retouchareamaskperimetervalue' => { 387 => [\'RetouchAreas','RetouchAreasMasksPerimeterValue'] }, + 'retouchareamaskradius' => { 387 => [\'RetouchAreas','RetouchAreasMasksRadius'] }, + 'retouchareamaskright' => { 387 => [\'RetouchAreas','RetouchAreasMasksRight'] }, + 'retouchareamaskroundness' => { 387 => [\'RetouchAreas','RetouchAreasMasksRoundness'] }, + 'retouchareamasks' => { 387 => [\'RetouchAreas','RetouchAreasMasks'] }, + 'retouchareamasksizex' => { 387 => [\'RetouchAreas','RetouchAreasMasksSizeX'] }, + 'retouchareamasksizey' => { 387 => [\'RetouchAreas','RetouchAreasMasksSizeY'] }, + 'retouchareamasktop' => { 387 => [\'RetouchAreas','RetouchAreasMasksTop'] }, + 'retouchareamaskvalue' => { 387 => [\'RetouchAreas','RetouchAreasMasksMaskValue'] }, + 'retouchareamaskversion' => { 387 => [\'RetouchAreas','RetouchAreasMasksVersion'] }, + 'retouchareamaskwhat' => { 387 => [\'RetouchAreas','RetouchAreasMasksWhat'] }, + 'retouchareamaskx' => { 387 => [\'RetouchAreas','RetouchAreasMasksX'] }, + 'retouchareamasky' => { 387 => [\'RetouchAreas','RetouchAreasMasksY'] }, + 'retouchareamaskzerox' => { 387 => [\'RetouchAreas','RetouchAreasMasksZeroX'] }, + 'retouchareamaskzeroy' => { 387 => [\'RetouchAreas','RetouchAreasMasksZeroY'] }, + 'retouchareamethod' => { 387 => [\'RetouchAreas','RetouchAreasMethod'] }, + 'retouchareaoffsety' => { 387 => [\'RetouchAreas','RetouchAreasOffsetY'] }, + 'retouchareaopacity' => { 387 => [\'RetouchAreas','RetouchAreasOpacity'] }, + 'retouchareas' => { 387 => 'RetouchAreas' }, + 'retouchareaseed' => { 387 => [\'RetouchAreas','RetouchAreasSeed'] }, + 'retouchareasourcestate' => { 387 => [\'RetouchAreas','RetouchAreasSourceState'] }, + 'retouchareasourcex' => { 387 => [\'RetouchAreas','RetouchAreasSourceX'] }, + 'retouchareaspottype' => { 387 => [\'RetouchAreas','RetouchAreasSpotType'] }, 'retouchhistory' => { 185 => 0x9e }, - 'retouchinfo' => { 386 => 'RetouchInfo' }, + 'retouchinfo' => { 387 => 'RetouchInfo' }, 'retouchnefprocessing' => { 190 => 0x5 }, - 'reuse' => { 399 => 'Reuse' }, - 'reuseallowed' => { 412 => 'ReuseAllowed' }, - 'reuseprohibited' => { 402 => 'reuseProhibited' }, + 'reuse' => { 400 => 'Reuse' }, + 'reuseallowed' => { 415 => 'ReuseAllowed' }, + 'reuseprohibited' => { 405 => 'reuseProhibited' }, 'reverseexposurecompdial' => { 233 => '5.2' }, 'reverseindicators' => { 228 => '12.1', 229 => '6.1', 231 => '4.3', 232 => '5.2', 233 => '5.4', 234 => '33.5', 235 => '5.1', 238 => '6.1', 239 => '6.2' }, 'reverseshutterspeedaperture' => { 233 => '5.3' }, - 'revision' => { 388 => 'revision' }, + 'revision' => { 389 => 'revision' }, 'rgbcurvelimits' => { 89 => 0x238 }, 'rgbcurvepoints' => { 89 => 0x20e }, - 'richtextcomment' => { 393 => 'RichTextComment' }, + 'richtextcomment' => { 394 => 'RichTextComment' }, 'ricohdate' => { 315 => 0x6 }, 'ricohimageheight' => { 315 => 0x2 }, 'ricohimagewidth' => { 315 => 0x0 }, 'rightascension' => { 137 => 'RightAscension' }, - 'rights' => { 387 => 'rights' }, - 'rightsagent' => { 400 => 'rightsAgent', 402 => 'rightsAgent' }, - 'rightsowner' => { 402 => 'rightsOwner' }, + 'rights' => { 388 => 'rights' }, + 'rightsagent' => { 405 => 'rightsAgent' }, + 'rightsowner' => { 405 => 'rightsOwner' }, 'rollangle' => { 201 => 0x350b, 241 => 0x903, 261 => 0x90, 293 => 0x1 }, 'romoperationmode' => { 84 => 0x80d }, 'rotation' => { 27 => 0x17, 28 => 0x18, 83 => 0x3, 89 => 0x26e, 102 => 0x4, 137 => 'Rotation', 151 => [0x65,0x50], 152 => 0x46, 153 => 0x5a, 156 => 0x10, 207 => '590.1', 221 => 0x76a43207, 261 => 0x30, 275 => '17.2', 302 => 0xd8, 333 => 0x3f, 334 => 0x3f, 344 => 0x10 }, - 'routedto' => { 392 => 'RoutedTo' }, + 'routedto' => { 393 => 'RoutedTo' }, 'routing' => { 307 => 'Routing' }, - 'routingnotes' => { 392 => 'RoutingNotes' }, + 'routingnotes' => { 393 => 'RoutingNotes' }, 'rowsperstrip' => { 98 => 0x116 }, 'rpp' => { 381 => 'rpp' }, 'safetyshift' => { 71 => 0x108 }, 'safetyshiftinavortv' => { 69 => 0x10, 70 => 0x10, 72 => 0xf, 73 => 0x10, 76 => 0x10 }, 'samplebits' => { 127 => 'SampleBits' }, + 'samplepagerange' => { 402 => 'samplePageRange' }, 'samplerate' => { 127 => 'SampleRate' }, - 'samplesperpixel' => { 98 => 0x115, 405 => 'SamplesPerPixel' }, + 'samplesperpixel' => { 98 => 0x115, 408 => 'SamplesPerPixel' }, 'samplestructure' => { 108 => 0x5a }, 'samsungmodelid' => { 322 => 0x3 }, 'sanyoquality' => { 324 => 0x201 }, 'sanyothumbnail' => { 324 => 0x100 }, - 'saturation' => { 9 => 0x6e, 11 => 0x76, 30 => 0xe, 41 => 0x1, 93 => 0xd, 94 => [0x3013,0x1f], 98 => [0xa409,0xfe55], 103 => 0x1003, 128 => 'Saturation', 150 => 0x1f, 151 => 0x32, 152 => 0x28, 153 => 0x1a, 158 => 0x1, 185 => [0x94,0xaa], 187 => 0x35, 261 => 0x40, 263 => 0x300d, 294 => 0x1f, 300 => 0xd, 312 => 0x27, 315 => 0x28, 316 => 0x1013, 325 => 0x10, 333 => 0x1e, 334 => 0x1b, 345 => 0x2005, 386 => 'Saturation', 390 => 'Saturation' }, + 'saturation' => { 9 => 0x6e, 11 => 0x76, 30 => 0xe, 41 => 0x1, 93 => 0xd, 94 => [0x3013,0x1f], 98 => [0xa409,0xfe55], 103 => 0x1003, 128 => 'Saturation', 150 => 0x1f, 151 => 0x32, 152 => 0x28, 153 => 0x1a, 158 => 0x1, 185 => [0x94,0xaa], 187 => 0x35, 261 => 0x40, 263 => 0x300d, 294 => 0x1f, 300 => 0xd, 312 => 0x27, 315 => 0x28, 316 => 0x1013, 325 => 0x10, 333 => 0x1e, 334 => 0x1b, 345 => 0x2005, 387 => 'Saturation', 391 => 'Saturation' }, 'saturationadj' => { 89 => 0x116, 220 => 0x1, 224 => 0x2e, 372 => 0x8016 }, - 'saturationadjustmentaqua' => { 386 => 'SaturationAdjustmentAqua' }, - 'saturationadjustmentblue' => { 386 => 'SaturationAdjustmentBlue' }, - 'saturationadjustmentgreen' => { 386 => 'SaturationAdjustmentGreen' }, - 'saturationadjustmentmagenta' => { 386 => 'SaturationAdjustmentMagenta' }, - 'saturationadjustmentorange' => { 386 => 'SaturationAdjustmentOrange' }, - 'saturationadjustmentpurple' => { 386 => 'SaturationAdjustmentPurple' }, - 'saturationadjustmentred' => { 386 => 'SaturationAdjustmentRed' }, - 'saturationadjustmentyellow' => { 386 => 'SaturationAdjustmentYellow' }, + 'saturationadjustmentaqua' => { 387 => 'SaturationAdjustmentAqua' }, + 'saturationadjustmentblue' => { 387 => 'SaturationAdjustmentBlue' }, + 'saturationadjustmentgreen' => { 387 => 'SaturationAdjustmentGreen' }, + 'saturationadjustmentmagenta' => { 387 => 'SaturationAdjustmentMagenta' }, + 'saturationadjustmentorange' => { 387 => 'SaturationAdjustmentOrange' }, + 'saturationadjustmentpurple' => { 387 => 'SaturationAdjustmentPurple' }, + 'saturationadjustmentred' => { 387 => 'SaturationAdjustmentRed' }, + 'saturationadjustmentyellow' => { 387 => 'SaturationAdjustmentYellow' }, 'saturationauto' => { 60 => 0x98 }, 'saturationfaithful' => { 18 => 0xfe, 59 => 0x68, 60 => 0x68 }, 'saturationlandscape' => { 18 => 0xfc, 59 => 0x38, 60 => 0x38 }, @@ -3851,22 +3943,23 @@ my %tagLookup = ( 'saturationuserdef1' => { 18 => 0x100, 59 => 0x98, 60 => 0xb0 }, 'saturationuserdef2' => { 18 => 0x101, 59 => 0xb0, 60 => 0xc8 }, 'saturationuserdef3' => { 18 => 0x102, 59 => 0xc8, 60 => 0xe0 }, - 'saveid' => { 410 => 'SaveID' }, - 'scaletype' => { 409 => 'scaleType' }, + 'saveid' => { 413 => 'SaveID' }, + 'scaletype' => { 412 => 'scaleType' }, 'scanimageenhancer' => { 191 => 0x60 }, 'scanningdirection' => { 108 => 0x64 }, - 'scene' => { 395 => 'Scene', 409 => 'scene' }, + 'scene' => { 396 => 'Scene', 412 => 'scene' }, 'scenearea' => { 244 => 0x211, 246 => 0x1031 }, 'sceneassist' => { 185 => 0x9c }, - 'scenecapturetype' => { 98 => 0xa406, 390 => 'SceneCaptureType' }, + 'scenecapturetype' => { 98 => 0xa406, 391 => 'SceneCaptureType' }, 'scenedetect' => { 244 => 0x210, 246 => 0x1030 }, 'scenedetectdata' => { 244 => 0x212, 246 => 0x1033 }, 'scenemode' => { 116 => 0xfa02, 155 => 0x100, 185 => 0x8f, 241 => 0x509, 246 => 0x403, 261 => 0x8001, 269 => 0xf, 345 => 0xb023 }, 'scenemodeused' => { 118 => [0x6002,0xf002] }, 'sceneselect' => { 324 => 0x21f }, - 'scenetype' => { 98 => 0xa301, 390 => 'SceneType' }, + 'scenetype' => { 98 => 0xa301, 391 => 'SceneType' }, 'screentips' => { 228 => '12.7', 229 => '5.3', 234 => '13.1', 235 => '4.4', 238 => '5.4', 239 => '5.1' }, - 'section' => { 400 => 'section' }, + 'season' => { 401 => 'season' }, + 'section' => { 402 => 'section' }, 'securityclassification' => { 98 => 0x9212 }, 'selectableafpoint' => { 71 => 0x509 }, 'selectafareaselectmode' => { 71 => 0x512 }, @@ -3877,11 +3970,12 @@ my %tagLookup = ( 'selftimershotcount' => { 229 => '20.2', 231 => '18.2', 232 => '19.2', 233 => '19.2', 235 => '19.3', 238 => '20.3', 239 => '20.2' }, 'selftimershotinterval' => { 229 => '20.3', 238 => '20.2' }, 'selftimertime' => { 84 => 0x1806, 153 => 0x1f, 228 => '18.1', 229 => '20.1', 230 => '3.3', 231 => '18.1', 232 => '19.1', 233 => '19.1', 234 => '7.2', 235 => '19.1', 236 => '3.3', 238 => '20.1', 239 => '20.1' }, + 'sellingagency' => { 402 => 'sellingAgency' }, 'seminfo' => { 98 => 0x8546 }, - 'sensingmethod' => { 98 => 0xa217, 390 => 'SensingMethod' }, + 'sensingmethod' => { 98 => 0xa217, 391 => 'SensingMethod' }, 'sensitivityadjust' => { 294 => 0x40 }, 'sensitivitysteps' => { 275 => ['14.3','17.4'], 277 => 0x1 }, - 'sensitivitytype' => { 98 => 0x8830, 391 => 'SensitivityType' }, + 'sensitivitytype' => { 98 => 0x8830, 392 => 'SensitivityType' }, 'sensorareas' => { 322 => 0xa010 }, 'sensorbitdepth' => { 263 => 0x312d }, 'sensorbluelevel' => { 63 => 0x5 }, @@ -3900,36 +3994,41 @@ my %tagLookup = ( 'sequencefilenumber' => { 353 => 0x4, 354 => 0x4, 355 => 0x4, 356 => 0x4, 360 => 0xc, 361 => 0xc, 362 => 0x1a }, 'sequenceimagenumber' => { 353 => 0x0, 354 => 0x0, 355 => 0x0, 356 => 0x0, 360 => 0x8, 361 => 0x8, 362 => 0x12, 368 => 0x24 }, 'sequencelength' => { 360 => 0x22, 361 => 0x1e, 362 => [0x16,0x1e] }, - 'sequencenumber' => { 65 => 0x9, 94 => 0x301c, 103 => 0x1101, 114 => 0x1d, 208 => 0x51c, 261 => 0x2b, 335 => [0x10c,0x30c], 345 => 0xb04a }, + 'sequencename' => { 401 => 'sequenceName' }, + 'sequencenumber' => { 65 => 0x9, 94 => 0x301c, 103 => 0x1101, 114 => 0x1d, 208 => 0x51c, 261 => 0x2b, 335 => [0x10c,0x30c], 345 => 0xb04a, 401 => 'sequenceNumber' }, 'sequenceshotinterval' => { 324 => 0x224 }, + 'sequencetotalnumber' => { 401 => 'sequenceTotalNumber' }, 'sequentialshot' => { 324 => 0x20e }, - 'serialnumber' => { 53 => 0xc, 84 => 0x180b, 98 => [0xa431,0xfde9], 111 => 0xfa04, 113 => 0xfa00, 115 => 0xc354, 116 => 0xfa19, 125 => 0x0, 128 => 'SerialNumber', 185 => [0xa0,0x1d], 242 => 0x101, 246 => [0x404,0x101a], 257 => 0x303, 263 => 0x3103, 294 => 0x229, 312 => 0x15, 316 => 0x5, 325 => 0x2, 383 => 'SerialNumber', 391 => 'BodySerialNumber' }, + 'serialnumber' => { 53 => 0xc, 84 => 0x180b, 98 => [0xa431,0xfde9], 111 => 0xfa04, 113 => 0xfa00, 115 => 0xc354, 116 => 0xfa19, 125 => 0x0, 128 => 'SerialNumber', 185 => [0xa0,0x1d], 242 => 0x101, 246 => [0x404,0x101a], 257 => 0x303, 263 => 0x3103, 294 => 0x229, 312 => 0x15, 316 => 0x5, 325 => 0x2, 383 => 'SerialNumber', 392 => 'BodySerialNumber' }, 'serialnumberformat' => { 53 => 0x15, 84 => 0x183b }, 'seriesdatetime' => { 374 => 'SeriesDateTime' }, 'seriesdescription' => { 374 => 'SeriesDescription' }, 'seriesmodality' => { 374 => 'SeriesModality' }, - 'seriesnumber' => { 374 => 'SeriesNumber' }, + 'seriesnumber' => { 374 => 'SeriesNumber', 402 => 'seriesNumber' }, + 'seriestitle' => { 402 => 'seriesTitle' }, 'serviceidentifier' => { 107 => 0x1e }, + 'servingsize' => { 404 => 'servingSize' }, 'setbuttoncrosskeysfunc' => { 74 => 0x0, 75 => 0x0 }, 'setbuttonwhenshooting' => { 69 => 0x1, 71 => 0x704, 77 => 0xc }, 'setfunctionwhenshooting' => { 72 => 0x0, 73 => 0x1, 76 => 0x1 }, + 'setting' => { 401 => 'setting' }, 'shadingcompensation' => { 241 => 0x50c, 261 => 0x8a }, 'shadingcompensation2' => { 245 => 0x1012 }, 'shadow' => { 325 => 0xe }, 'shadowcorrection' => { 294 => 0x79 }, 'shadowprotection' => { 220 => 0x0 }, - 'shadows' => { 98 => 0xfe52, 380 => 'Shadows', 386 => 'Shadows' }, - 'shadows2012' => { 386 => 'Shadows2012' }, + 'shadows' => { 98 => 0xfe52, 380 => 'Shadows', 387 => 'Shadows' }, + 'shadows2012' => { 387 => 'Shadows2012' }, 'shadowscale' => { 98 => 0xc633 }, - 'shadowtint' => { 386 => 'ShadowTint' }, + 'shadowtint' => { 387 => 'ShadowTint' }, 'shadowtone' => { 103 => 0x1040 }, 'shakereduction' => { 295 => 0x1, 296 => 0x1 }, - 'sharpendetail' => { 386 => 'SharpenDetail' }, - 'sharpenedgemasking' => { 386 => 'SharpenEdgeMasking' }, + 'sharpendetail' => { 387 => 'SharpenDetail' }, + 'sharpenedgemasking' => { 387 => 'SharpenEdgeMasking' }, 'sharpening' => { 263 => 0x300b }, 'sharpeningadj' => { 224 => 0x2b }, - 'sharpenradius' => { 386 => 'SharpenRadius' }, - 'sharpness' => { 7 => [0x42,0x48], 9 => 0x72, 11 => 0x74, 30 => 0xf, 63 => 0x2, 93 => 0xb, 94 => [0x3011,0x21], 98 => [0xa40a,0xfe56], 103 => 0x1001, 114 => 0x6b, 123 => 0x37, 128 => 'Sharpness', 150 => 0x21, 151 => 0x30, 152 => 0x26, 153 => 0x18, 158 => 0x3, 185 => 0x6, 187 => 0x32, 246 => 0x100f, 261 => 0x41, 294 => 0x21, 300 => 0xb, 312 => 0x26, 315 => 0x22, 316 => [0x1003,0x1014], 325 => 0x11, 333 => 0x1c, 334 => 0x19, 345 => 0x2006, 368 => 0x52, 386 => 'Sharpness', 390 => 'Sharpness' }, + 'sharpenradius' => { 387 => 'SharpenRadius' }, + 'sharpness' => { 7 => [0x42,0x48], 9 => 0x72, 11 => 0x74, 30 => 0xf, 63 => 0x2, 93 => 0xb, 94 => [0x3011,0x21], 98 => [0xa40a,0xfe56], 103 => 0x1001, 114 => 0x6b, 123 => 0x37, 128 => 'Sharpness', 150 => 0x21, 151 => 0x30, 152 => 0x26, 153 => 0x18, 158 => 0x3, 185 => 0x6, 187 => 0x32, 246 => 0x100f, 261 => 0x41, 294 => 0x21, 300 => 0xb, 312 => 0x26, 315 => 0x22, 316 => [0x1003,0x1014], 325 => 0x11, 333 => 0x1c, 334 => 0x19, 345 => 0x2006, 368 => 0x52, 387 => 'Sharpness', 391 => 'Sharpness' }, 'sharpnessadj' => { 89 => 0x25a, 372 => 0x801a }, 'sharpnessauto' => { 60 => 0x94 }, 'sharpnessfactor' => { 246 => 0x102a }, @@ -3947,22 +4046,23 @@ my %tagLookup = ( 'sharpnessuserdef1' => { 18 => 0xf7, 59 => 0x94, 60 => 0xac }, 'sharpnessuserdef2' => { 18 => 0xf8, 59 => 0xac, 60 => 0xc4 }, 'sharpnessuserdef3' => { 18 => 0xf9, 59 => 0xc4, 60 => 0xdc }, + 'shootid' => { 401 => 'shootID' }, 'shootinginfodisplay' => { 228 => '13.2', 229 => '5.1', 234 => '10.2', 235 => '4.1', 238 => '5.1', 239 => '5.3' }, 'shootinginfomonitorofftime' => { 228 => '26.2', 229 => '22.2', 234 => '9.1', 235 => '21.2', 238 => '22.2', 239 => '22.2' }, 'shootingmode' => { 128 => 'ShootingMode', 185 => 0x89, 261 => 0x1f }, 'shootingmodesetting' => { 230 => '5.1' }, - 'shortdescription' => { 388 => 'shortdescription' }, + 'shortdescription' => { 389 => 'shortdescription' }, 'shortdocumentid' => { 106 => 0xba }, 'shortownername' => { 18 => 0xac }, 'shortreleasetimelag' => { 71 => 0x80d }, - 'shotdate' => { 409 => 'shotDate' }, - 'shotday' => { 409 => 'shotDay' }, - 'shotlocation' => { 409 => 'shotLocation' }, - 'shotname' => { 409 => 'shotName' }, - 'shotnumber' => { 409 => 'shotNumber' }, + 'shotdate' => { 412 => 'shotDate' }, + 'shotday' => { 412 => 'shotDay' }, + 'shotlocation' => { 412 => 'shotLocation' }, + 'shotname' => { 412 => 'shotName' }, + 'shotnumber' => { 412 => 'shotNumber' }, 'shotnumbersincepowerup' => { 348 => 0x44e, 360 => 0x1a, 361 => 0x16, 362 => 0xa }, 'shotnumbersincepowerup2' => { 335 => 0x200 }, - 'shotsize' => { 409 => 'shotSize' }, + 'shotsize' => { 412 => 'shotSize' }, 'shutter-aelock' => { 69 => 0x4, 71 => 0x701, 72 => 0x3, 73 => 0x4, 74 => 0x3, 75 => 0x3, 76 => 0x4, 77 => 0x2 }, 'shutteraelbutton' => { 70 => 0x4 }, 'shutterbuttonafonbutton' => { 71 => 0x701 }, @@ -3977,20 +4077,24 @@ my %tagLookup = ( 'shutterspeedlock' => { 229 => '38.1', 238 => '38.1' }, 'shutterspeedrange' => { 71 => 0x10c }, 'shutterspeedsetting' => { 153 => 0x6, 333 => 0x2f, 334 => 0x28, 335 => 0x0 }, - 'shutterspeedvalue' => { 80 => 0x1, 98 => 0x9201, 246 => 0x1000, 390 => 'ShutterSpeedValue' }, + 'shutterspeedvalue' => { 80 => 0x1, 98 => 0x9201, 246 => 0x1000, 391 => 'ShutterSpeedValue' }, 'shuttertype' => { 103 => 0x1050, 261 => 0x9f }, - 'sidecarforextension' => { 398 => 'SidecarForExtension' }, + 'sidecarforextension' => { 399 => 'SidecarForExtension' }, 'similarityindex' => { 106 => 0xe4 }, 'singleframebracketing' => { 153 => 0x21 }, + 'skilllevel' => { 404 => 'skillLevel' }, 'slaveflashmeteringsegments' => { 294 => 0x20b }, + 'slideshowname' => { 401 => 'slideshowName' }, + 'slideshownumber' => { 401 => 'slideshowNumber' }, + 'slideshowtotalnumber' => { 401 => 'slideshowTotalNumber' }, 'slowshutter' => { 65 => 0x8 }, 'slowsync' => { 103 => 0x1030 }, 'smartrange' => { 322 => 0xa012 }, 'smileshutter' => { 335 => 0x31 }, 'smileshuttermode' => { 335 => 0x27 }, - 'smoothness' => { 98 => 0xfe57, 386 => 'Smoothness' }, + 'smoothness' => { 98 => 0xfe57, 387 => 'Smoothness' }, 'softskineffect' => { 345 => 0x200f }, - 'software' => { 98 => 0x131, 129 => 'Software', 253 => 'Software', 325 => 0x18, 405 => 'Software' }, + 'software' => { 98 => 0x131, 129 => 'Software', 253 => 'Software', 325 => 0x18, 408 => 'Software' }, 'softwareversion' => { 324 => 0x207 }, 'sonydatetime' => { 351 => 0x6, 353 => 0x1b6, 354 => 0x210, 355 => 0x1fe, 356 => 0x22c }, 'sonydatetime2' => { 359 => 0x51 }, @@ -4004,28 +4108,30 @@ my %tagLookup = ( 'sonymaxaperturevalue' => { 368 => 0x16 }, 'sonymodelid' => { 345 => 0xb001 }, 'sonyquality' => { 153 => 0x3c }, - 'source' => { 106 => 0x73, 253 => 'Source', 387 => 'source', 388 => 'source', 398 => 'Source' }, + 'source' => { 106 => 0x73, 253 => 'Source', 388 => 'source', 389 => 'source', 399 => 'Source' }, 'sourcedirectoryindex' => { 281 => 0x0 }, 'sourcefileindex' => { 281 => 0x2 }, 'sourcephotoscount' => { 376 => 'SourcePhotosCount' }, - 'spatialfrequencyresponse' => { 390 => 'SpatialFrequencyResponse' }, - 'spatialfrequencyresponsecolumns' => { 390 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseColumns'] }, - 'spatialfrequencyresponsenames' => { 390 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseNames'] }, - 'spatialfrequencyresponserows' => { 390 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseRows'] }, - 'spatialfrequencyresponsevalues' => { 390 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseValues'] }, - 'speakerplacement' => { 409 => 'speakerPlacement' }, + 'spatialfrequencyresponse' => { 391 => 'SpatialFrequencyResponse' }, + 'spatialfrequencyresponsecolumns' => { 391 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseColumns'] }, + 'spatialfrequencyresponsenames' => { 391 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseNames'] }, + 'spatialfrequencyresponserows' => { 391 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseRows'] }, + 'spatialfrequencyresponsevalues' => { 391 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseValues'] }, + 'speakerplacement' => { 412 => 'speakerPlacement' }, 'specialeffectlevel' => { 94 => 0x3030 }, 'specialeffectmode' => { 94 => 0x2076 }, 'specialeffectsetting' => { 94 => 0x3031 }, 'specialinstructions' => { 106 => 0x28 }, 'specialmode' => { 246 => 0x200, 324 => 0x200 }, - 'spectralsensitivity' => { 98 => 0x8824, 390 => 'SpectralSensitivity' }, + 'specialoccasion' => { 404 => 'specialOccasion' }, + 'spectralsensitivity' => { 98 => 0x8824, 391 => 'SpectralSensitivity' }, 'specularwhitelevel' => { 37 => [0x2b9,0x2d0,0x2d4], 39 => 0x1e4, 40 => [0x1fd,0x2dd] }, - 'splittoningbalance' => { 386 => 'SplitToningBalance' }, - 'splittoninghighlighthue' => { 386 => 'SplitToningHighlightHue' }, - 'splittoninghighlightsaturation' => { 386 => 'SplitToningHighlightSaturation' }, - 'splittoningshadowhue' => { 386 => 'SplitToningShadowHue' }, - 'splittoningshadowsaturation' => { 386 => 'SplitToningShadowSaturation' }, + 'splittoningbalance' => { 387 => 'SplitToningBalance' }, + 'splittoninghighlighthue' => { 387 => 'SplitToningHighlightHue' }, + 'splittoninghighlightsaturation' => { 387 => 'SplitToningHighlightSaturation' }, + 'splittoningshadowhue' => { 387 => 'SplitToningShadowHue' }, + 'splittoningshadowsaturation' => { 387 => 'SplitToningShadowSaturation' }, + 'sport' => { 402 => 'sport' }, 'spotfocuspointx' => { 150 => 0x2d }, 'spotfocuspointy' => { 150 => 0x2e }, 'spotmeteringmode' => { 30 => 0x27 }, @@ -4036,7 +4142,7 @@ my %tagLookup = ( 'srhalfpresstime' => { 295 => 0x2 }, 'srresult' => { 295 => 0x0, 296 => 0x0 }, 'standardoutputhighlightpoint' => { 90 => 0x14 }, - 'standardoutputsensitivity' => { 98 => 0x8831, 391 => 'StandardOutputSensitivity' }, + 'standardoutputsensitivity' => { 98 => 0x8831, 392 => 'StandardOutputSensitivity' }, 'standardoutputshadowpoint' => { 90 => 0x15 }, 'standardrawcolortone' => { 90 => 0xd }, 'standardrawcontrast' => { 90 => 0xf }, @@ -4051,20 +4157,22 @@ my %tagLookup = ( 'standardunsharpmaskstrength' => { 90 => 0x92 }, 'standardunsharpmaskthreshold' => { 90 => 0x96 }, 'standbytimer' => { 229 => '19.1', 233 => '18.1', 238 => '19.1' }, - 'startingpage' => { 400 => 'startingPage' }, + 'startingpage' => { 402 => 'startingPage' }, 'startmovieshooting' => { 71 => 0x70d }, - 'starttimecode' => { 409 => 'startTimecode' }, - 'starttimecodetimeformat' => { 409 => [\'startTimecode','startTimecodeTimeFormat'] }, - 'starttimecodetimevalue' => { 409 => [\'startTimecode','startTimecodeTimeValue'] }, - 'starttimecodevalue' => { 409 => [\'startTimecode','startTimecodeValue'] }, - 'state' => { 133 => 'State', 261 => 0x6b, 398 => 'State' }, + 'starttimecode' => { 412 => 'startTimecode' }, + 'starttimecodetimeformat' => { 412 => [\'startTimecode','startTimecodeTimeFormat'] }, + 'starttimecodetimevalue' => { 412 => [\'startTimecode','startTimecodeTimeValue'] }, + 'starttimecodevalue' => { 412 => [\'startTimecode','startTimecodeValue'] }, + 'starttimesamplesize' => { 412 => 'startTimeSampleSize' }, + 'starttimescale' => { 412 => 'startTimeScale' }, + 'state' => { 133 => 'State', 261 => 0x6b, 399 => 'State' }, 'status' => { 375 => 'Status', 379 => 'Status' }, 'stitchingsoftware' => { 376 => 'StitchingSoftware' }, 'stopsabovebaseiso' => { 352 => 0x113e, 353 => 0x113e, 354 => 0x111a, 355 => 0x1196, 356 => 0x1172, 357 => 0x102a, 358 => 0x222, 368 => 0xa }, 'storagemethod' => { 157 => 0x12 }, 'storebyorientation' => { 229 => '46.3', 238 => '47.3' }, 'straightenangle' => { 221 => 0x2fc08431 }, - 'stretchmode' => { 409 => 'stretchMode' }, + 'stretchmode' => { 412 => 'stretchMode' }, 'studydatetime' => { 374 => 'StudyDateTime' }, 'studydescription' => { 374 => 'StudyDescription' }, 'studyid' => { 374 => 'StudyID' }, @@ -4076,46 +4184,50 @@ my %tagLookup = ( 'subfilename' => { 136 => '1Name' }, 'subfileresource' => { 136 => 'rsrc' }, 'subfiletype' => { 98 => 0xfe, 136 => '0Type' }, - 'subject' => { 250 => 'Subject', 307 => 'Subject', 387 => 'subject', 397 => 'Subject', 410 => 'subject' }, - 'subjectarea' => { 98 => 0x9214, 390 => 'SubjectArea' }, - 'subjectcode' => { 395 => 'SubjectCode' }, - 'subjectdistance' => { 98 => 0x9206, 114 => 0x3e, 390 => 'SubjectDistance' }, - 'subjectdistancerange' => { 98 => 0xa40c, 390 => 'SubjectDistanceRange' }, - 'subjectlocation' => { 98 => 0xa214, 390 => 'SubjectLocation' }, + 'subject' => { 250 => 'Subject', 307 => 'Subject', 388 => 'subject', 398 => 'Subject', 413 => 'subject' }, + 'subjectarea' => { 98 => 0x9214, 391 => 'SubjectArea' }, + 'subjectcode' => { 396 => 'SubjectCode' }, + 'subjectdistance' => { 98 => 0x9206, 114 => 0x3e, 391 => 'SubjectDistance' }, + 'subjectdistancerange' => { 98 => 0xa40c, 391 => 'SubjectDistanceRange' }, + 'subjectlocation' => { 98 => 0xa214, 391 => 'SubjectLocation' }, 'subjectprogram' => { 150 => 0x22 }, 'subjectreference' => { 106 => 0xc }, - 'sublabels4' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabels'] }, - 'sublabels5' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabels'] }, - 'sublables1' => { 394 => [\'TagStructure','TagStructureSubLabels'] }, - 'sublables2' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabels'] }, - 'sublables3' => { 394 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabels'] }, + 'sublabels4' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabels'] }, + 'sublabels5' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabels'] }, + 'sublables1' => { 395 => [\'TagStructure','TagStructureSubLabels'] }, + 'sublables2' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabels'] }, + 'sublables3' => { 395 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabels'] }, 'subsectime' => { 98 => 0x9290 }, 'subsectimedigitized' => { 98 => 0x9292 }, 'subsectimeoriginal' => { 98 => 0x9291 }, - 'subsection1' => { 400 => 'subsection1' }, - 'subsection2' => { 400 => 'subsection2' }, - 'subsection3' => { 400 => 'subsection3' }, - 'subsection4' => { 400 => 'subsection4' }, + 'subsection1' => { 402 => 'subsection1' }, + 'subsection2' => { 402 => 'subsection2' }, + 'subsection3' => { 402 => 'subsection3' }, + 'subsection4' => { 402 => 'subsection4' }, 'subselector' => { 229 => '49.1' }, 'subselectorassignment' => { 229 => '48.1' }, 'subselectorplusdials' => { 229 => '49.2' }, - 'subversionfilename' => { 394 => [\'SubVersions','SubVersionsFileName'] }, - 'subversionreference' => { 394 => [\'SubVersions','SubVersionsVersRef'] }, - 'subversions' => { 394 => 'SubVersions' }, + 'subtitle' => { 402 => 'subtitle' }, + 'subversionfilename' => { 395 => [\'SubVersions','SubVersionsFileName'] }, + 'subversionreference' => { 395 => [\'SubVersions','SubVersionsVersRef'] }, + 'subversions' => { 395 => 'SubVersions' }, 'superimposeddisplay' => { 69 => 0xa, 71 => 0x510, 72 => 0x9, 73 => 0xa, 76 => 0xa, 77 => 0xe }, 'supermacro' => { 53 => 0x1a }, - 'supplementalcategories' => { 106 => 0x14, 398 => 'SupplementalCategories' }, + 'supplementalcategories' => { 106 => 0x14, 399 => 'SupplementalCategories' }, 'supplementaltype' => { 108 => 0x37 }, + 'supplementdisplayid' => { 402 => 'supplementDisplayID' }, + 'supplementstartingpage' => { 402 => 'supplementStartingPage' }, + 'supplementtitle' => { 402 => 'supplementTitle' }, 'svisosetting' => { 275 => 0x14 }, 'sweeppanoramadirection' => { 261 => 0x93, 335 => 0x33 }, 'sweeppanoramafieldofview' => { 261 => 0x94 }, 'sweeppanoramasize' => { 335 => 0x32 }, 'switchtoregisteredafpoint' => { 70 => 0x12, 71 => 0x50a }, 'tagged' => { 302 => 0xdd, 303 => 'Tagged', 381 => 'tagged' }, - 'tagslist' => { 389 => 'TagsList' }, - 'tagstructure' => { 394 => 'TagStructure' }, - 'takenumber' => { 409 => 'takeNumber' }, - 'tapename' => { 409 => 'tapeName' }, + 'tagslist' => { 390 => 'TagsList' }, + 'tagstructure' => { 395 => 'TagStructure' }, + 'takenumber' => { 412 => 'takeNumber' }, + 'tapename' => { 412 => 'tapeName' }, 'targetaperture' => { 65 => 0x4 }, 'targetcompressionratio' => { 82 => 0x1 }, 'targetdistancesetting' => { 84 => 0x1807 }, @@ -4155,47 +4267,47 @@ my %tagLookup = ( 'taxontaxonomicstatus' => { 97 => [\'Taxon','TaxonTaxonomicStatus'] }, 'taxonverbatimtaxonrank' => { 97 => [\'Taxon','TaxonVerbatimTaxonRank'] }, 'taxonvernacularname' => { 97 => [\'Taxon','TaxonVernacularName'] }, - 'teaser' => { 400 => 'teaser' }, + 'teaser' => { 402 => 'teaser' }, 'teleconverter' => { 155 => 0x105, 345 => 0x105 }, - 'tempo' => { 409 => 'tempo' }, - 'termsandconditionstext' => { 399 => 'TermsAndConditionsText' }, - 'termsandconditionsurl' => { 399 => 'TermsAndConditionsURL' }, + 'tempo' => { 412 => 'tempo' }, + 'termsandconditionstext' => { 400 => 'TermsAndConditionsText' }, + 'termsandconditionsurl' => { 400 => 'TermsAndConditionsURL' }, 'testname' => { 99 => 'TestName' }, 'textencoding' => { 184 => 0x4 }, - 'textlayername' => { 398 => [\'TextLayers','TextLayersLayerName'] }, - 'textlayers' => { 398 => 'TextLayers' }, - 'textlayertext' => { 398 => [\'TextLayers','TextLayersLayerText'] }, + 'textlayername' => { 399 => [\'TextLayers','TextLayersLayerName'] }, + 'textlayers' => { 399 => 'TextLayers' }, + 'textlayertext' => { 399 => [\'TextLayers','TextLayersLayerText'] }, 'textstamp' => { 261 => [0x8008,0x8009,0x3b,0x3e] }, 'thresholding' => { 98 => 0x107 }, 'thumbnailfilename' => { 84 => 0x817 }, - 'thumbnailformat' => { 407 => [\'Thumbnails','ThumbnailsFormat'] }, - 'thumbnailheight' => { 116 => 0xfa55, 407 => [\'Thumbnails','ThumbnailsHeight'] }, - 'thumbnailimage' => { 84 => 0x2008, 95 => 'ThumbnailImage', 101 => 0x3, 139 => 'data', 246 => 0x100, 407 => [\'Thumbnails','ThumbnailsImage'] }, + 'thumbnailformat' => { 410 => [\'Thumbnails','ThumbnailsFormat'] }, + 'thumbnailheight' => { 116 => 0xfa55, 410 => [\'Thumbnails','ThumbnailsHeight'] }, + 'thumbnailimage' => { 84 => 0x2008, 95 => 'ThumbnailImage', 101 => 0x3, 139 => 'data', 246 => 0x100, 410 => [\'Thumbnails','ThumbnailsImage'] }, 'thumbnailimagename' => { 139 => '1Name' }, 'thumbnailimagesize' => { 139 => 'ImageSize' }, 'thumbnailimagetype' => { 139 => '0Type' }, 'thumbnailimagevalidarea' => { 53 => 0x13 }, 'thumbnaillength' => { 98 => 0x202 }, 'thumbnailoffset' => { 98 => 0x201 }, - 'thumbnails' => { 407 => 'Thumbnails' }, - 'thumbnailwidth' => { 116 => 0xfa54, 407 => [\'Thumbnails','ThumbnailsWidth'] }, - 'ticker' => { 400 => 'ticker' }, + 'thumbnails' => { 410 => 'Thumbnails' }, + 'thumbnailwidth' => { 116 => 0xfa54, 410 => [\'Thumbnails','ThumbnailsWidth'] }, + 'ticker' => { 402 => 'ticker' }, 'tiffmeteringimage' => { 156 => 0x104c, 344 => 0x1110 }, 'tilelength' => { 98 => 0x143 }, 'tilewidth' => { 98 => 0x142 }, 'time' => { 112 => 0x401, 294 => 0x7 }, 'timecodes' => { 98 => 0xc763 }, 'timecreated' => { 106 => 0x3c, 114 => 0x14, 123 => 0x10, 303 => 'TimeCreated' }, - 'timeperiod' => { 400 => 'timePeriod' }, + 'timeperiod' => { 402 => 'timePeriod' }, 'timerfunctionbutton' => { 230 => '5.2', 231 => '12.1', 232 => '13.1' }, 'timerlength' => { 71 => 0x80c }, 'timerrecording' => { 261 => 0x96 }, - 'timescaleparams' => { 409 => 'timeScaleParams' }, - 'timescaleparamsframeoverlappingpercentage' => { 409 => [\'timeScaleParams','timeScaleParamsFrameOverlappingPercentage'] }, - 'timescaleparamsframesize' => { 409 => [\'timeScaleParams','timeScaleParamsFrameSize'] }, - 'timescaleparamsquality' => { 409 => [\'timeScaleParams','timeScaleParamsQuality'] }, + 'timescaleparams' => { 412 => 'timeScaleParams' }, + 'timescaleparamsframeoverlappingpercentage' => { 412 => [\'timeScaleParams','timeScaleParamsFrameOverlappingPercentage'] }, + 'timescaleparamsframesize' => { 412 => [\'timeScaleParams','timeScaleParamsFrameSize'] }, + 'timescaleparamsquality' => { 412 => [\'timeScaleParams','timeScaleParamsQuality'] }, 'timesent' => { 107 => 0x50 }, - 'timesignature' => { 409 => 'timeSignature' }, + 'timesignature' => { 412 => 'timeSignature' }, 'timesincepoweron' => { 261 => 0x29 }, 'timestamp' => { 10 => 0x45e, 18 => 0x11c, 240 => 0x8, 253 => 'TimeStamp', 382 => 'Timestamp' }, 'timestamp1' => { 10 => 0x45a }, @@ -4204,32 +4316,32 @@ my %tagLookup = ( 'timezonecode' => { 87 => 0x1 }, 'timezoneinfo' => { 87 => 0x2 }, 'timezoneoffset' => { 98 => 0x882a }, - 'tint' => { 386 => 'Tint' }, - 'title' => { 129 => 'Title', 250 => 'Title', 253 => 'Title', 261 => 0x65, 307 => 'Title', 387 => 'title', 397 => 'Title', 407 => 'Title' }, + 'tint' => { 387 => 'Tint' }, + 'title' => { 129 => 'Title', 250 => 'Title', 253 => 'Title', 261 => 0x65, 307 => 'Title', 388 => 'title', 398 => 'Title', 410 => 'Title' }, 'tonecomp' => { 185 => 0x81 }, - 'tonecurve' => { 63 => 0x1, 294 => 0x402, 386 => 'ToneCurve' }, + 'tonecurve' => { 63 => 0x1, 294 => 0x402, 387 => 'ToneCurve' }, 'tonecurveactive' => { 89 => 0x110 }, 'tonecurveadobergb' => { 322 => 0xa043 }, 'tonecurveadobergbdefault' => { 322 => 0xa041 }, - 'tonecurveblue' => { 386 => 'ToneCurveBlue' }, + 'tonecurveblue' => { 387 => 'ToneCurveBlue' }, 'tonecurvebluex' => { 372 => 0x9003 }, 'tonecurvebluey' => { 372 => 0x9007 }, 'tonecurvebrightnessx' => { 372 => 0x9000 }, 'tonecurvebrightnessy' => { 372 => 0x9004 }, 'tonecurvefilename' => { 112 => 0x1391 }, - 'tonecurvegreen' => { 386 => 'ToneCurveGreen' }, + 'tonecurvegreen' => { 387 => 'ToneCurveGreen' }, 'tonecurvegreenx' => { 372 => 0x9002 }, 'tonecurvegreeny' => { 372 => 0x9006 }, 'tonecurveinterpolation' => { 89 => 0x159 }, 'tonecurvemode' => { 89 => 0x113 }, - 'tonecurvename' => { 386 => 'ToneCurveName' }, - 'tonecurvename2012' => { 386 => 'ToneCurveName2012' }, + 'tonecurvename' => { 387 => 'ToneCurveName' }, + 'tonecurvename2012' => { 387 => 'ToneCurveName2012' }, 'tonecurveproperty' => { 89 => 0x3c }, - 'tonecurvepv2012' => { 386 => 'ToneCurvePV2012' }, - 'tonecurvepv2012blue' => { 386 => 'ToneCurvePV2012Blue' }, - 'tonecurvepv2012green' => { 386 => 'ToneCurvePV2012Green' }, - 'tonecurvepv2012red' => { 386 => 'ToneCurvePV2012Red' }, - 'tonecurvered' => { 386 => 'ToneCurveRed' }, + 'tonecurvepv2012' => { 387 => 'ToneCurvePV2012' }, + 'tonecurvepv2012blue' => { 387 => 'ToneCurvePV2012Blue' }, + 'tonecurvepv2012green' => { 387 => 'ToneCurvePV2012Green' }, + 'tonecurvepv2012red' => { 387 => 'ToneCurvePV2012Red' }, + 'tonecurvered' => { 387 => 'ToneCurveRed' }, 'tonecurveredx' => { 372 => 0x9001 }, 'tonecurveredy' => { 372 => 0x9005 }, 'tonecurves' => { 294 => 0x403 }, @@ -4252,30 +4364,30 @@ my %tagLookup = ( 'touchae' => { 261 => 0xab }, 'trackcreatedate' => { 311 => 0x1 }, 'trackmodifydate' => { 311 => 0x2 }, - 'tracknumber' => { 409 => 'trackNumber' }, - 'tracks' => { 409 => 'Tracks' }, - 'tracksframerate' => { 409 => [\'Tracks','TracksFrameRate'] }, - 'tracksmarkers' => { 409 => [\'Tracks','TracksMarkers'] }, - 'tracksmarkerscomment' => { 409 => [\'Tracks','TracksMarkersComment'] }, - 'tracksmarkerscuepointparams' => { 409 => [\'Tracks','TracksMarkersCuePointParams'] }, - 'tracksmarkerscuepointparamskey' => { 409 => [\'Tracks','TracksMarkersCuePointParamsKey'] }, - 'tracksmarkerscuepointparamsvalue' => { 409 => [\'Tracks','TracksMarkersCuePointParamsValue'] }, - 'tracksmarkerscuepointtype' => { 409 => [\'Tracks','TracksMarkersCuePointType'] }, - 'tracksmarkersduration' => { 409 => [\'Tracks','TracksMarkersDuration'] }, - 'tracksmarkerslocation' => { 409 => [\'Tracks','TracksMarkersLocation'] }, - 'tracksmarkersname' => { 409 => [\'Tracks','TracksMarkersName'] }, - 'tracksmarkersprobability' => { 409 => [\'Tracks','TracksMarkersProbability'] }, - 'tracksmarkersspeaker' => { 409 => [\'Tracks','TracksMarkersSpeaker'] }, - 'tracksmarkersstarttime' => { 409 => [\'Tracks','TracksMarkersStartTime'] }, - 'tracksmarkerstarget' => { 409 => [\'Tracks','TracksMarkersTarget'] }, - 'tracksmarkerstype' => { 409 => [\'Tracks','TracksMarkersType'] }, - 'trackstrackname' => { 409 => [\'Tracks','TracksTrackName'] }, - 'trackstracktype' => { 409 => [\'Tracks','TracksTrackType'] }, + 'tracknumber' => { 412 => 'trackNumber' }, + 'tracks' => { 412 => 'Tracks' }, + 'tracksframerate' => { 412 => [\'Tracks','TracksFrameRate'] }, + 'tracksmarkers' => { 412 => [\'Tracks','TracksMarkers'] }, + 'tracksmarkerscomment' => { 412 => [\'Tracks','TracksMarkersComment'] }, + 'tracksmarkerscuepointparams' => { 412 => [\'Tracks','TracksMarkersCuePointParams'] }, + 'tracksmarkerscuepointparamskey' => { 412 => [\'Tracks','TracksMarkersCuePointParamsKey'] }, + 'tracksmarkerscuepointparamsvalue' => { 412 => [\'Tracks','TracksMarkersCuePointParamsValue'] }, + 'tracksmarkerscuepointtype' => { 412 => [\'Tracks','TracksMarkersCuePointType'] }, + 'tracksmarkersduration' => { 412 => [\'Tracks','TracksMarkersDuration'] }, + 'tracksmarkerslocation' => { 412 => [\'Tracks','TracksMarkersLocation'] }, + 'tracksmarkersname' => { 412 => [\'Tracks','TracksMarkersName'] }, + 'tracksmarkersprobability' => { 412 => [\'Tracks','TracksMarkersProbability'] }, + 'tracksmarkersspeaker' => { 412 => [\'Tracks','TracksMarkersSpeaker'] }, + 'tracksmarkersstarttime' => { 412 => [\'Tracks','TracksMarkersStartTime'] }, + 'tracksmarkerstarget' => { 412 => [\'Tracks','TracksMarkersTarget'] }, + 'tracksmarkerstype' => { 412 => [\'Tracks','TracksMarkersType'] }, + 'trackstrackname' => { 412 => [\'Tracks','TracksTrackName'] }, + 'trackstracktype' => { 412 => [\'Tracks','TracksTrackType'] }, 'trailersignature' => { 136 => 'zmie' }, - 'transferfunction' => { 98 => 0x12d, 405 => 'TransferFunction' }, + 'transferfunction' => { 98 => 0x12d, 408 => 'TransferFunction' }, 'transform' => { 261 => [0x8012,0x59] }, - 'transmissionreference' => { 398 => 'TransmissionReference' }, - 'trapped' => { 250 => 'Trapped', 397 => 'Trapped' }, + 'transmissionreference' => { 399 => 'TransmissionReference' }, + 'trapped' => { 250 => 'Trapped', 398 => 'Trapped' }, 'trashbuttonfunction' => { 71 => 0x710 }, 'travelday' => { 261 => 0x36 }, 'triggermode' => { 312 => 0x6 }, @@ -4286,7 +4398,7 @@ my %tagLookup = ( 'ttl_da_bup' => { 282 => 0x6 }, 'tungstenawb' => { 272 => 0x1 }, 'tvexposuretimesetting' => { 275 => 0x12 }, - 'type' => { 387 => 'type', 404 => 'type' }, + 'type' => { 388 => 'type', 407 => 'type' }, 'typestatus' => { 97 => [\'Identification','IdentificationTypeStatus'] }, 'uniquecameramodel' => { 98 => 0xc614 }, 'uniquedocumentid' => { 106 => 0xbb }, @@ -4326,30 +4438,31 @@ my %tagLookup = ( 'unsharp4threshold' => { 226 => 0x6c }, 'unsharpcount' => { 226 => 0x0 }, 'unsharpmask' => { 90 => 0x90, 221 => 0x76a43200 }, - 'uprightcentermode' => { 386 => 'UprightCenterMode' }, - 'uprightcenternormx' => { 386 => 'UprightCenterNormX' }, - 'uprightcenternormy' => { 386 => 'UprightCenterNormY' }, - 'uprightdependentdigest' => { 386 => 'UprightDependentDigest' }, - 'uprightfocallength35mm' => { 386 => 'UprightFocalLength35mm' }, - 'uprightfocalmode' => { 386 => 'UprightFocalMode' }, - 'uprightpreview' => { 386 => 'UprightPreview' }, - 'uprighttransform_0' => { 386 => 'UprightTransform_0' }, - 'uprighttransform_1' => { 386 => 'UprightTransform_1' }, - 'uprighttransform_2' => { 386 => 'UprightTransform_2' }, - 'uprighttransform_3' => { 386 => 'UprightTransform_3' }, - 'uprighttransform_4' => { 386 => 'UprightTransform_4' }, - 'uprighttransformcount' => { 386 => 'UprightTransformCount' }, - 'uprightversion' => { 386 => 'UprightVersion' }, - 'urgency' => { 106 => 0xa, 398 => 'Urgency' }, - 'url' => { 129 => 'URL', 253 => 'URL', 305 => 0x40b, 400 => 'url' }, + 'uprightcentermode' => { 387 => 'UprightCenterMode' }, + 'uprightcenternormx' => { 387 => 'UprightCenterNormX' }, + 'uprightcenternormy' => { 387 => 'UprightCenterNormY' }, + 'uprightdependentdigest' => { 387 => 'UprightDependentDigest' }, + 'uprightfocallength35mm' => { 387 => 'UprightFocalLength35mm' }, + 'uprightfocalmode' => { 387 => 'UprightFocalMode' }, + 'uprightpreview' => { 387 => 'UprightPreview' }, + 'uprighttransform_0' => { 387 => 'UprightTransform_0' }, + 'uprighttransform_1' => { 387 => 'UprightTransform_1' }, + 'uprighttransform_2' => { 387 => 'UprightTransform_2' }, + 'uprighttransform_3' => { 387 => 'UprightTransform_3' }, + 'uprighttransform_4' => { 387 => 'UprightTransform_4' }, + 'uprighttransformcount' => { 387 => 'UprightTransformCount' }, + 'uprightversion' => { 387 => 'UprightVersion' }, + 'urgency' => { 106 => 0xa, 399 => 'Urgency' }, + 'url' => { 129 => 'URL', 253 => 'URL', 305 => 0x40b, 402 => 'url' }, + 'urla-platform' => { 402 => [\'url','urlA-platform'] }, + 'urlurl' => { 402 => [\'url','urlUrl'] }, 'usablemeteringmodes' => { 71 => 0x10a }, 'usableshootingmodes' => { 71 => 0x109 }, - 'usage' => { 401 => 'usage' }, - 'usagefee' => { 402 => 'usageFee' }, - 'usageterms' => { 413 => 'UsageTerms' }, + 'usage' => { 403 => 'usage' }, + 'usageterms' => { 416 => 'UsageTerms' }, 'useguidelines' => { 384 => 'useGuidelines' }, 'usepanoramaviewer' => { 376 => 'UsePanoramaViewer' }, - 'usercomment' => { 84 => 0x805, 98 => 0x9286, 390 => 'UserComment' }, + 'usercomment' => { 84 => 0x805, 98 => 0x9286, 391 => 'UserComment' }, 'userdef1picturestyle' => { 18 => 0x10c, 59 => 0xd8, 60 => 0xf0 }, 'userdef2picturestyle' => { 18 => 0x10e, 59 => 0xda, 60 => 0xf2 }, 'userdef3picturestyle' => { 18 => 0x110, 59 => 0xdc, 60 => 0xf4 }, @@ -4357,6 +4470,7 @@ my %tagLookup = ( 'userlabel' => { 312 => 0x2b }, 'userprofile' => { 257 => 0x302, 263 => 0x3038 }, 'usmlenselectronicmf' => { 70 => 0x7, 71 => 0x501 }, + 'uspsnumber' => { 402 => 'uspsNumber' }, 'utmeasting' => { 140 => 'Easting' }, 'utmmapdatum' => { 140 => 'Datum' }, 'utmnorthing' => { 140 => 'Northing' }, @@ -4367,59 +4481,59 @@ my %tagLookup = ( 'variousmodes' => { 114 => 0x26 }, 'variousmodes2' => { 114 => 0x3a }, 'variprogram' => { 185 => 0xab }, - 'version' => { 103 => 0x0, 307 => 'Version', 386 => 'Version' }, + 'version' => { 103 => 0x0, 307 => 'Version', 387 => 'Version' }, 'versioncreatedate' => { 372 => 0xd100 }, - 'versionid' => { 410 => 'VersionID' }, - 'versionidentifier' => { 400 => 'versionIdentifier' }, + 'versionid' => { 413 => 'VersionID' }, + 'versionidentifier' => { 402 => 'versionIdentifier' }, 'versionmodifydate' => { 372 => 0xd101 }, - 'versions' => { 410 => 'Versions' }, - 'versionscomments' => { 410 => [\'Versions','VersionsComments'] }, - 'versionsevent' => { 410 => [\'Versions','VersionsEvent'] }, - 'versionseventaction' => { 410 => [\'Versions','VersionsEventAction'] }, - 'versionseventchanged' => { 410 => [\'Versions','VersionsEventChanged'] }, - 'versionseventinstanceid' => { 410 => [\'Versions','VersionsEventInstanceID'] }, - 'versionseventparameters' => { 410 => [\'Versions','VersionsEventParameters'] }, - 'versionseventsoftwareagent' => { 410 => [\'Versions','VersionsEventSoftwareAgent'] }, - 'versionseventwhen' => { 410 => [\'Versions','VersionsEventWhen'] }, - 'versionsmodifier' => { 410 => [\'Versions','VersionsModifier'] }, - 'versionsmodifydate' => { 410 => [\'Versions','VersionsModifyDate'] }, - 'versionsversion' => { 410 => [\'Versions','VersionsVersion'] }, + 'versions' => { 413 => 'Versions' }, + 'versionscomments' => { 413 => [\'Versions','VersionsComments'] }, + 'versionsevent' => { 413 => [\'Versions','VersionsEvent'] }, + 'versionseventaction' => { 413 => [\'Versions','VersionsEventAction'] }, + 'versionseventchanged' => { 413 => [\'Versions','VersionsEventChanged'] }, + 'versionseventinstanceid' => { 413 => [\'Versions','VersionsEventInstanceID'] }, + 'versionseventparameters' => { 413 => [\'Versions','VersionsEventParameters'] }, + 'versionseventsoftwareagent' => { 413 => [\'Versions','VersionsEventSoftwareAgent'] }, + 'versionseventwhen' => { 413 => [\'Versions','VersionsEventWhen'] }, + 'versionsmodifier' => { 413 => [\'Versions','VersionsModifier'] }, + 'versionsmodifydate' => { 413 => [\'Versions','VersionsModifyDate'] }, + 'versionsversion' => { 413 => [\'Versions','VersionsVersion'] }, 'verticalafonbutton' => { 228 => '3.2', 229 => '47.2' }, 'verticalfuncbutton' => { 229 => '42.2' }, 'verticalfuncbuttonplusdials' => { 229 => '43.1' }, 'verticalmultiselector' => { 229 => '42.1' }, 'vfdisplayillumination' => { 71 => 0x510 }, - 'vibrance' => { 380 => 'Vibrance', 386 => 'Vibrance' }, + 'vibrance' => { 380 => 'Vibrance', 387 => 'Vibrance' }, 'vibrationreduction' => { 192 => [0x75,0x82,0x1ae], 200 => '586.1', 207 => '590.2', 212 => 0x4 }, - 'videoalphamode' => { 409 => 'videoAlphaMode' }, - 'videoalphapremultiplecolor' => { 409 => 'videoAlphaPremultipleColor' }, - 'videoalphapremultiplecolora' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorA'] }, - 'videoalphapremultiplecolorb' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorB'] }, - 'videoalphapremultiplecolorblack' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlack'] }, - 'videoalphapremultiplecolorblue' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlue'] }, - 'videoalphapremultiplecolorcyan' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorCyan'] }, - 'videoalphapremultiplecolorgreen' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorGreen'] }, - 'videoalphapremultiplecolorl' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorL'] }, - 'videoalphapremultiplecolormagenta' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMagenta'] }, - 'videoalphapremultiplecolormode' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMode'] }, - 'videoalphapremultiplecolorred' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorRed'] }, - 'videoalphapremultiplecolorswatchname' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorSwatchName'] }, - 'videoalphapremultiplecolortint' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorTint'] }, - 'videoalphapremultiplecolortype' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorType'] }, - 'videoalphapremultiplecoloryellow' => { 409 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorYellow'] }, - 'videoalphaunityistransparent' => { 409 => 'videoAlphaUnityIsTransparent' }, + 'videoalphamode' => { 412 => 'videoAlphaMode' }, + 'videoalphapremultiplecolor' => { 412 => 'videoAlphaPremultipleColor' }, + 'videoalphapremultiplecolora' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorA'] }, + 'videoalphapremultiplecolorb' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorB'] }, + 'videoalphapremultiplecolorblack' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlack'] }, + 'videoalphapremultiplecolorblue' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlue'] }, + 'videoalphapremultiplecolorcyan' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorCyan'] }, + 'videoalphapremultiplecolorgreen' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorGreen'] }, + 'videoalphapremultiplecolorl' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorL'] }, + 'videoalphapremultiplecolormagenta' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMagenta'] }, + 'videoalphapremultiplecolormode' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMode'] }, + 'videoalphapremultiplecolorred' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorRed'] }, + 'videoalphapremultiplecolorswatchname' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorSwatchName'] }, + 'videoalphapremultiplecolortint' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorTint'] }, + 'videoalphapremultiplecolortype' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorType'] }, + 'videoalphapremultiplecoloryellow' => { 412 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorYellow'] }, + 'videoalphaunityistransparent' => { 412 => 'videoAlphaUnityIsTransparent' }, 'videocodec' => { 56 => 0x74 }, - 'videocolorspace' => { 409 => 'videoColorSpace' }, - 'videocompressor' => { 409 => 'videoCompressor' }, - 'videofieldorder' => { 409 => 'videoFieldOrder' }, - 'videoframerate' => { 409 => 'videoFrameRate' }, - 'videoframesize' => { 409 => 'videoFrameSize' }, - 'videoframesizeh' => { 409 => [\'videoFrameSize','videoFrameSizeH'] }, - 'videoframesizeunit' => { 409 => [\'videoFrameSize','videoFrameSizeUnit'] }, - 'videoframesizew' => { 409 => [\'videoFrameSize','videoFrameSizeW'] }, - 'videomoddate' => { 409 => 'videoModDate' }, - 'videopixelaspectratio' => { 409 => 'videoPixelAspectRatio' }, - 'videopixeldepth' => { 409 => 'videoPixelDepth' }, + 'videocolorspace' => { 412 => 'videoColorSpace' }, + 'videocompressor' => { 412 => 'videoCompressor' }, + 'videofieldorder' => { 412 => 'videoFieldOrder' }, + 'videoframerate' => { 412 => 'videoFrameRate' }, + 'videoframesize' => { 412 => 'videoFrameSize' }, + 'videoframesizeh' => { 412 => [\'videoFrameSize','videoFrameSizeH'] }, + 'videoframesizeunit' => { 412 => [\'videoFrameSize','videoFrameSizeUnit'] }, + 'videoframesizew' => { 412 => [\'videoFrameSize','videoFrameSizeW'] }, + 'videomoddate' => { 412 => 'videoModDate' }, + 'videopixelaspectratio' => { 412 => 'videoPixelAspectRatio' }, + 'videopixeldepth' => { 412 => 'videoPixelDepth' }, 'videoquality' => { 94 => 0x4003 }, 'viewfinderdisplay' => { 228 => '12.4', 229 => '6.3' }, 'viewfinderwarning' => { 228 => '13.4', 235 => '3.5', 236 => '6.2', 239 => '4.4' }, @@ -4427,15 +4541,17 @@ my %tagLookup = ( 'viewinfoduringexposure' => { 71 => 0x407 }, 'viewingmode' => { 335 => 0x2f, 349 => 0x18 }, 'viewingmode2' => { 335 => [0x85,0x285] }, - 'vignetteamount' => { 386 => 'VignetteAmount' }, + 'viewpoint' => { 401 => 'viewpoint' }, + 'vignetteamount' => { 387 => 'VignetteAmount' }, 'vignettecontrol' => { 185 => 0x2a, 221 => 0x76a43205 }, 'vignettecontrolintensity' => { 221 => 0xac6bd5c0 }, - 'vignettemidpoint' => { 386 => 'VignetteMidpoint' }, + 'vignettemidpoint' => { 387 => 'VignetteMidpoint' }, 'vignetting' => { 316 => 0x1011, 322 => 0xa052 }, 'vignettingcorrection' => { 284 => 0x2, 322 => 0xa053, 345 => 0x2011 }, 'vignettingsetting' => { 322 => 0xa054 }, + 'visualtechnique' => { 401 => 'visualTechnique' }, 'voicememo' => { 324 => 0x216 }, - 'volume' => { 400 => 'volume' }, + 'volume' => { 402 => 'volume' }, 'vr_0x66' => { 192 => 0x66 }, 'vrdoffset' => { 53 => 0xd0 }, 'vrmode' => { 212 => 0x6 }, @@ -4607,8 +4723,8 @@ my %tagLookup = ( 'wbtype5' => { 266 => 0xd, 267 => 0x11 }, 'wbtype6' => { 266 => 0x10, 267 => 0x15 }, 'wbtype7' => { 266 => 0x13, 267 => 0x19 }, - 'webstatement' => { 413 => 'WebStatement' }, - 'whitebalance' => { 6 => 0x6f, 7 => [0x44,0x4a], 8 => 0xbc, 9 => 0x36, 10 => 0x5e, 11 => 0x36, 12 => 0x78, 13 => 0x6f, 14 => 0x6f, 15 => 0x73, 16 => 0x6f, 17 => 0x78, 18 => 0x54, 19 => 0x6f, 20 => 0xbc, 21 => 0x7b, 23 => 0xbc, 24 => 0xc2, 26 => 0x77, 63 => 0x8, 65 => 0x7, 93 => 0x7, 94 => [0x19,0x2012], 98 => [0xa403,0xfe4e], 103 => 0x1002, 112 => 0x3fc, 113 => 0xfa0d, 114 => 0x40, 150 => 0x3, 151 => 0xe, 152 => 0x4, 153 => 0xb, 155 => 0x115, 185 => 0x5, 211 => 0x7, 257 => 0x304, 261 => 0x3, 263 => 0x3033, 294 => 0x19, 300 => 0x7, 315 => 0x26, 316 => 0x1003, 325 => [0x3c,0x7,0x58], 333 => 0xf, 334 => 0xe, 345 => [0x115,0xb054], 386 => 'WhiteBalance', 390 => 'WhiteBalance' }, + 'webstatement' => { 416 => 'WebStatement' }, + 'whitebalance' => { 6 => 0x6f, 7 => [0x44,0x4a], 8 => 0xbc, 9 => 0x36, 10 => 0x5e, 11 => 0x36, 12 => 0x78, 13 => 0x6f, 14 => 0x6f, 15 => 0x73, 16 => 0x6f, 17 => 0x78, 18 => 0x54, 19 => 0x6f, 20 => 0xbc, 21 => 0x7b, 23 => 0xbc, 24 => 0xc2, 26 => 0x77, 63 => 0x8, 65 => 0x7, 93 => 0x7, 94 => [0x19,0x2012], 98 => [0xa403,0xfe4e], 103 => 0x1002, 112 => 0x3fc, 113 => 0xfa0d, 114 => 0x40, 150 => 0x3, 151 => 0xe, 152 => 0x4, 153 => 0xb, 155 => 0x115, 185 => 0x5, 211 => 0x7, 257 => 0x304, 261 => 0x3, 263 => 0x3033, 294 => 0x19, 300 => 0x7, 315 => 0x26, 316 => 0x1003, 325 => [0x3c,0x7,0x58], 333 => 0xf, 334 => 0xe, 345 => [0x115,0xb054], 387 => 'WhiteBalance', 391 => 'WhiteBalance' }, 'whitebalance2' => { 241 => 0x500 }, 'whitebalanceadj' => { 89 => 0x18, 221 => 0x76a43204 }, 'whitebalanceautoadjustment' => { 272 => 0x0 }, @@ -4625,35 +4741,40 @@ my %tagLookup = ( 'whitebalancetemperature' => { 241 => 0x501 }, 'whiteboard' => { 246 => 0x301 }, 'whitelevel' => { 98 => 0xc61d, 294 => 0x7e }, - 'whitepoint' => { 98 => 0x13e, 294 => 0x201, 405 => 'WhitePoint' }, - 'whites2012' => { 386 => 'Whites2012' }, + 'whitepoint' => { 98 => 0x13e, 294 => 0x201, 408 => 'WhitePoint' }, + 'whites2012' => { 387 => 'Whites2012' }, 'wideadapter' => { 316 => 0x1017 }, 'widefocuszone' => { 150 => 0x2f }, 'widerange' => { 324 => 0x20f }, - 'wordcount' => { 400 => 'wordCount' }, + 'windowsatom' => { 386 => 'windowsAtom' }, + 'windowsatomextension' => { 386 => [\'windowsAtom','windowsAtomExtension'] }, + 'windowsatominvocationflags' => { 386 => [\'windowsAtom','windowsAtomInvocationFlags'] }, + 'windowsatomuncprojectpath' => { 386 => [\'windowsAtom','windowsAtomUncProjectPath'] }, + 'wordcount' => { 402 => 'wordCount' }, 'workcolorspace' => { 89 => 0x270 }, - 'worktodo' => { 392 => 'WorkToDo' }, + 'worktodo' => { 393 => 'WorkToDo' }, 'worldtimelocation' => { 261 => 0x3a, 294 => 0x22, 299 => '0.1' }, 'writer-editor' => { 106 => 0x7a }, 'x3filllight' => { 325 => 0x12 }, 'xml' => { 110 => 'xml ' }, 'xmp' => { 88 => 0xffff00f6, 99 => 'XMP' }, - 'xmptoolkit' => { 406 => 'xmptk' }, + 'xmptoolkit' => { 409 => 'xmptk' }, 'xpauthor' => { 98 => 0x9c9d }, 'xpcomment' => { 98 => 0x9c9c }, 'xpkeywords' => { 98 => 0x9c9e }, 'xposition' => { 98 => 0x11e }, 'xpsubject' => { 98 => 0x9c9f }, 'xptitle' => { 98 => 0x9c9b }, - 'xresolution' => { 98 => 0x11a, 109 => 0x3, 306 => 0x0, 405 => 'XResolution' }, + 'xresolution' => { 98 => 0x11a, 109 => 0x3, 306 => 0x0, 408 => 'XResolution' }, 'xyresolution' => { 102 => 0x3 }, 'yawangle' => { 201 => 0x3513 }, - 'ycbcrcoefficients' => { 98 => 0x211, 405 => 'YCbCrCoefficients' }, - 'ycbcrpositioning' => { 98 => 0x213, 405 => 'YCbCrPositioning' }, - 'ycbcrsubsampling' => { 98 => 0x212, 405 => 'YCbCrSubSampling' }, + 'ycbcrcoefficients' => { 98 => 0x211, 408 => 'YCbCrCoefficients' }, + 'ycbcrpositioning' => { 98 => 0x213, 408 => 'YCbCrPositioning' }, + 'ycbcrsubsampling' => { 98 => 0x212, 408 => 'YCbCrSubSampling' }, 'yearcreated' => { 114 => 0x10, 123 => 0xc }, + 'yield' => { 404 => 'yield' }, 'yposition' => { 98 => 0x11f }, - 'yresolution' => { 98 => 0x11b, 109 => 0x5, 306 => 0x4, 405 => 'YResolution' }, + 'yresolution' => { 98 => 0x11b, 109 => 0x5, 306 => 0x4, 408 => 'YResolution' }, 'zonematching' => { 155 => 0x10a, 158 => [0x3a,0x4a], 345 => 0xb024 }, 'zonematchingmode' => { 153 => 0x14 }, 'zonematchingon' => { 152 => 0x75 }, @@ -5201,6 +5322,7 @@ my %tagExists = ( 'channelpositions' => 1, 'chapter' => 1, 'chapteratom' => 1, + 'chaptercount' => 1, 'chaptercountry' => 1, 'chapterdisplay' => 1, 'chapterflagenabled' => 1, @@ -5321,7 +5443,6 @@ my %tagExists = ( 'codinghistory' => 1, 'codingmethods' => 1, 'codirectors' => 1, - 'color' => 1, 'colorant1coordinates' => 1, 'colorant1name' => 1, 'colorant2coordinates' => 1, @@ -5487,7 +5608,6 @@ my %tagExists = ( 'contentsignaturehashalgorithm' => 1, 'contentsignaturekeyid' => 1, 'contentstyletype' => 1, - 'contenttype' => 1, 'contiguouscodestream' => 1, 'contrastadjustment' => 1, 'contrastinfo' => 1, @@ -5523,6 +5643,7 @@ my %tagExists = ( 'creatorappid' => 1, 'creatorapplication' => 1, 'creatorappversion' => 1, + 'creatoratom' => 1, 'creatorbuildnumber' => 1, 'creatorbuildnumber2' => 1, 'creatorinfo' => 1, @@ -6682,7 +6803,6 @@ my %tagExists = ( 'mandatorybackground' => 1, 'manufacturecode' => 1, 'manufactureindex' => 1, - 'manufacturer' => 1, 'manufacturername' => 1, 'mappingscheme' => 1, 'markbits' => 1, @@ -6971,7 +7091,6 @@ my %tagExists = ( 'objectfiletype' => 1, 'objectid' => 1, 'objectsizeannounced' => 1, - 'objecttype' => 1, 'obsoletephotoshoptag1' => 1, 'obsoletephotoshoptag2' => 1, 'obsoletephotoshoptag3' => 1, @@ -7086,7 +7205,6 @@ my %tagExists = ( 'packets' => 1, 'packingmethod' => 1, 'page' => 1, - 'pagecount' => 1, 'pageenter' => 1, 'pageexit' => 1, 'pagefront' => 1, @@ -7237,7 +7355,6 @@ my %tagExists = ( 'planckr1' => 1, 'planckr2' => 1, 'planes' => 1, - 'platform' => 1, 'playallframes' => 1, 'playcounter' => 1, 'playduration' => 1, @@ -7249,6 +7366,7 @@ my %tagExists = ( 'playmode' => 1, 'playselection' => 1, 'plus' => 1, + 'pmi' => 1, 'pobox' => 1, 'podcast' => 1, 'podcastcategory' => 1, @@ -7314,6 +7432,7 @@ my %tagExists = ( 'private' => 1, 'privatebuild' => 1, 'prl' => 1, + 'prm' => 1, 'processing' => 1, 'processinginfo' => 1, 'processingtime' => 1, @@ -7333,7 +7452,6 @@ my %tagExists = ( 'producttype' => 1, 'productversion' => 1, 'productversionnumber' => 1, - 'profession' => 1, 'profile' => 1, 'profile1audiocodec' => 1, 'profile1height' => 1, @@ -7408,6 +7526,7 @@ my %tagExists = ( 'psfontinfo' => 1, 'pstringcaption' => 1, 'publishdate' => 1, + 'publishdatestart' => 1, 'publisherlimit' => 1, 'publisherurl' => 1, 'pur' => 1, @@ -7979,7 +8098,6 @@ my %tagExists = ( 'subsystem' => 1, 'subsystemversion' => 1, 'subtileblocksize' => 1, - 'subtitle' => 1, 'subtitledescription' => 1, 'subtitlekeywords' => 1, 'suffix' => 1, diff --git a/lib/Image/ExifTool/TagNames.pod b/lib/Image/ExifTool/TagNames.pod index f426d998..69dd3833 100644 --- a/lib/Image/ExifTool/TagNames.pod +++ b/lib/Image/ExifTool/TagNames.pod @@ -1145,6 +1145,7 @@ L for the official XMP specification. aux XMP aux cc XMP cc cell XMP cell + creatorAtom XMP creatorAtom crs XMP crs dc XMP dc dex XMP dex @@ -1175,8 +1176,10 @@ L for the official XMP specification. photoshop XMP photoshop PixelLive XMP PixelLive plus XMP plus + pmi XMP pmi prism XMP prism prl XMP prl + prm XMP prm pur XMP pur rdf XMP rdf swf XMP swf @@ -1320,6 +1323,53 @@ Location tags written by some Sony Ericsson phones. MobileNetworkCode string CellR string +=head3 XMP creatorAtom Tags + +Adobe creatorAtom tags, written by After Effects. + + Tag Name Writable + -------- -------- + AeProjectLink AEProjectLink Struct + AeProjectLinkCompositionID string_ + AeProjectLinkFullPath string_ + AeProjectLinkRenderOutputModuleIndex string_ + AeProjectLinkRenderQueueItemID string_ + AeProjectLinkRenderTimeStamp integer_ + MacAtom MacAtom Struct + MacAtomApplicationCode string_ + MacAtomInvocationAppleEvent string_ + MacAtomPosixProjectPath string_ + WindowsAtom WindowsAtom Struct + WindowsAtomExtension string_ + WindowsAtomInvocationFlags string_ + WindowsAtomUncProjectPath string_ + +=head3 XMP AEProjectLink Struct + + Field Name Writable + ---------- -------- + CompositionID string + FullPath string + RenderOutputModuleIndex string + RenderQueueItemID string + RenderTimeStamp integer + +=head3 XMP MacAtom Struct + + Field Name Writable + ---------- -------- + ApplicationCode string + InvocationAppleEvent string + PosixProjectPath string + +=head3 XMP WindowsAtom Struct + + Field Name Writable + ---------- -------- + Extension string + InvocationFlags string + UncProjectPath string + =head3 XMP crs Tags Photoshop Camera Raw namespace tags. It is a shame that Adobe pollutes the @@ -2455,7 +2505,7 @@ namespace URI. =head3 XMP plus Tags -PLUS License Data Format 1.2.0 namespace tags. Note that all +PLUS License Data Format 1.2.1 namespace tags. Note that all controlled-vocabulary tags in this table (ie. tags with a fixed set of values) have raw values which begin with "http://ns.useplus.org/ldf/vocab/", but to reduce clutter this prefix has been removed from the values shown @@ -2603,74 +2653,241 @@ below. (see L) LicensorTelephoneType2 string LicensorURL string +=head3 XMP pmi Tags + +PRISM Metadata for Images 3.0 namespace tags. (see +L) + + Tag Name Writable + -------- -------- + Color string/ + ContactInfo string/ + DisplayName string/ + DistributorProductID string/ + EventAlias string/ + EventEnd string/ + EventStart string/ + EventSubtype string/ + EventType string/ + Field string/ + Framing string/ + Location string/ + Make string/ + Manufacturer string/ + Model string/ + ModelYear string/ + ObjectDescription string/ + ObjectSubtype string/ + ObjectType string/ + Orientation string/ + PositionDescriptor string/ + ProductID string/ + ProductIDType string/ + Season string/ + SequenceName string/ + SequenceNumber string/ + SequenceTotalNumber string/ + Setting string/ + ShootID string/ + SlideshowName string/ + SlideshowNumber integer/ + SlideshowTotalNumber integer/ + Viewpoint string/ + VisualTechnique string/ + =head3 XMP prism Tags -Publishing Requirements for Industry Standard Metadata 2.1 namespace +Publishing Requirements for Industry Standard Metadata 3.0 namespace tags. (see L) Tag Name Writable -------- -------- + AcedemicField string/ + AggregateIssueNumber integer/ AggregationType string/+ - AlternateTitle string/+ + AlternateTitle prismAlternateTitle Struct+ + AlternateTitleA-lang string_+ + AlternateTitleA-platform string_+ + AlternateTitleText string_+ + BlogTitle string/ + BlogURL string/ + BookEdition string/ ByteCount integer/ - Channel string/+ + Channel prismChannel Struct+ + ChannelA-lang string_+ + ChannelChannel string_+ + ChannelSubchannel1 string_+ + ChannelSubchannel2 string_+ + ChannelSubchannel3 string_+ + ChannelSubchannel4 string_+ ComplianceProfile string/ - Copyright string/ + ContentType string/ + CopyrightYear string/ CorporateEntity string/+ CoverDate date/ CoverDisplayDate string/ CreationDate date/ DateRecieved date/ + Device string/ Distributor string/ DOI string/ Edition string/ EIssn string/ - EmbargoDate date/+ EndingPage string/ Event string/+ - ExpirationDate date/+ Genre string/+ HasAlternative string/+ - HasCorrection string/ - HasPreviousVersion string/ + HasCorrection prismHasCorrection Struct + HasCorrectionA-lang string_ + HasCorrectionA-platform string_ + HasCorrectionText string_ HasTranslation string/+ Industry string/+ - ISBN string/ + IsAlternativeOf string/+ + ISBN string/+ IsCorrectionOf string/+ ISSN string/ IssueIdentifier string/ IssueName string/ + IssueTeaser string/ + IssueType string/ IsTranslationOf string/ Keyword string/+ - KillDate date/ + KillDate prismKillDate Struct + KillDateA-platform string_ + KillDateDate date_ + Link string/+ Location string/+ ModificationDate date/ + NationalCatalogNumber string/ Number string/ Object string/+ + OffSaleDate prismOffSaleDate Struct+ + OffSaleDateA-platform string_+ + OffSaleDateDate date_+ + OnSaleDate prismOnSaleDate Struct+ + OnSaleDateA-platform string_+ + OnSaleDateDate date_+ + OnSaleDay prismOnSaleDay Struct+ + OnSaleDayA-platform string_+ + OnSaleDayDay string_+ Organization string/+ OriginPlatform string/+ + PageCount integer/ + PageProgressionDirection string/ PageRange string/+ Person string/ - PublicationDate date/+ + Platform string/ + ProductCode string/ + Profession string/ + PublicationDate prismPublicationDate Struct+ + PublicationDateA-platform string_+ + PublicationDateDate date_+ + PublicationDisplayDate prismPublicationDate Struct+ + PublicationDisplayDateA-platform string_+ + PublicationDisplayDateDate date_+ PublicationName string/ - RightsAgent string/ + PublishingFrequency string/ + Rating string/ + SamplePageRange string/ Section string/ + SellingAgency string/ + SeriesNumber integer/ + SeriesTitle string/ + Sport string/ StartingPage string/ Subsection1 string/ Subsection2 string/ Subsection3 string/ Subsection4 string/ + Subtitle string/ + SupplementDisplayID string/ + SupplementStartingPage string/ + SupplementTitle string/ Teaser string/+ Ticker string/+ TimePeriod string/ - URL string/+ + URL prismUrl Struct+ + URLA-platform string_+ + URLUrl string_+ + UspsNumber string/ VersionIdentifier string/ Volume string/ WordCount integer/ +=head3 XMP prismAlternateTitle Struct + + Field Name Writable + ---------- -------- + A-lang string + A-platform string + Text string + +=head3 XMP prismChannel Struct + + Field Name Writable + ---------- -------- + A-lang string + Channel string + Subchannel1 string + Subchannel2 string + Subchannel3 string + Subchannel4 string + +=head3 XMP prismHasCorrection Struct + + Field Name Writable + ---------- -------- + A-lang string + A-platform string + Text string + +=head3 XMP prismKillDate Struct + + Field Name Writable + ---------- -------- + A-platform string + Date date + +=head3 XMP prismOffSaleDate Struct + + Field Name Writable + ---------- -------- + A-platform string + Date date + +=head3 XMP prismOnSaleDate Struct + + Field Name Writable + ---------- -------- + A-platform string + Date date + +=head3 XMP prismOnSaleDay Struct + + Field Name Writable + ---------- -------- + A-platform string + Day string + +=head3 XMP prismPublicationDate Struct + + Field Name Writable + ---------- -------- + A-platform string + Date date + +=head3 XMP prismUrl Struct + + Field Name Writable + ---------- -------- + A-platform string + Url string + =head3 XMP prl Tags -PRISM Rights Language 2.1 namespace tags. (see +PRISM Rights Language 2.1 namespace tags. These tags have been deprecated +since the release of the PRISM Usage Rights 3.0. (see L) Tag Name Writable @@ -2679,9 +2896,36 @@ L) Industry string/+ Usage string/+ +=head3 XMP prm Tags + +PRISM Recipe Metadata 3.0 namespace tags. (see +L) + + Tag Name Writable + -------- -------- + CookingEquipment string/ + CookingMethod string/ + Course string/ + Cuisine string/ + DietaryNeeds string/ + DishType string/ + Duration string/ + IngredientExclusion string/ + MainIngredient string/ + Meal string/ + RecipeEndingPage string/ + RecipePageRange string/ + RecipeSource string/ + RecipeStartingPage string/ + RecipeTitle string/ + ServingSize string/ + SkillLevel string/ + SpecialOccasion string/ + Yield string/ + =head3 XMP pur Tags -Prism Usage Rights 2.1 namespace tags. (see +PRISM Usage Rights 3.0 namespace tags. (see L) Tag Name Writable @@ -2700,7 +2944,6 @@ L) ReuseProhibited boolean/ RightsAgent string/ RightsOwner string/ - UsageFee string/+ =head3 XMP rdf Tags @@ -2948,6 +3191,8 @@ XMP Dynamic Media namespace tags. StartTimecodeTimeFormat string_ StartTimecodeTimeValue string_ StartTimecodeValue integer_ + StartTimeSampleSize integer + StartTimeScale string StretchMode string TakeNumber integer TapeName string @@ -19451,6 +19696,64 @@ APE MAC audio header for version 3.97 or earlier. 10 TotalFrames N 12 FinalFrameBlocks N +=head2 Audible Tags + +ExifTool will extract any information found in the metadata dictionary of +Audible .AA files, even if not listed in the table below. + + Tag ID Tag Name Writable + ------ -------- -------- + '_chapter_count' ChapterCount N + '_cover_art' CoverArt N + 'author' Author N + 'copyright' Copyright N + 'pub_date_start' PublishDateStart N + 'pubdate' PublishDate N + +=head3 Audible tags Tags + +Information found in "tags" atom of Audible M4B audio books. + + Tag ID Tag Name Writable + ------ -------- -------- + 'cvrx' Audible_cvrx Audible cvrx + 'meta' Audible_meta Audible meta + 'tseg' Audible_tseg Audible tseg + +=head3 Audible cvrx Tags + +Audible cover art information in M4B audio books. + + Tag Name Writable + -------- -------- + CoverArt N + CoverArtType N + +=head3 Audible meta Tags + +Information found in Audible M4B "meta" atom. + + Tag ID Tag Name Writable + ------ -------- -------- + 'ALBUMARTIST' AlbumArtist N + 'Album' Album N + 'Artist' Artist N + 'Comment' Comment N + 'Genre' Genre N + 'SUBTITLE' Subtitle N + 'TOOL' CreatorTool N + 'Title' Title N + 'Year' Year N + 'itunesmediatype' iTunesMediaType N + 'track' ChapterName N + +=head3 Audible tseg Tags + + Tag ID Tag Name Writable + ------ -------- -------- + 'meta' Audible_meta2 Audible meta + 'tshd' ChapterNumber N + =head2 MPC Tags Tags used in Musepack (MPC) audio files. ExifTool also extracts ID3 and APE @@ -19675,9 +19978,9 @@ According to the specification, many QuickTime date/time tags should be stored as UTC. Unfortunately, digital cameras often store local time values instead (presumably because they don't know the time zone). For this reason, by default ExifTool does not assume a time zone for these values. -However, if the QuickTimeUTC option is set via the API or the ExifTool -configuration file, then ExifTool will assume these values are properly -stored as UTC, and will convert them to local time when extracting. +However, if the QuickTimeUTC API option is set, then ExifTool will assume +these values are properly stored as UTC, and will convert them to local time +when extracting. See L @@ -20619,52 +20922,6 @@ either "XML" or "PLIST" depending on whether the format is XML or binary. 'screenwriters//name' Screenwriters N+ 'studio//name' Studio N+ -=head2 Audible Tags - -=head3 Audible tags Tags - -Information found in "tags" atom of Audible M4B audio books. - - Tag ID Tag Name Writable - ------ -------- -------- - 'cvrx' Audible_cvrx Audible cvrx - 'meta' Audible_meta Audible meta - 'tseg' Audible_tseg Audible tseg - -=head3 Audible cvrx Tags - -Audible cover art information in M4B audio books. - - Tag Name Writable - -------- -------- - CoverArt N - CoverArtType N - -=head3 Audible meta Tags - -Information found in Audible M4B "meta" atom. - - Tag ID Tag Name Writable - ------ -------- -------- - 'ALBUMARTIST' AlbumArtist N - 'Album' Album N - 'Artist' Artist N - 'Comment' Comment N - 'Genre' Genre N - 'SUBTITLE' Subtitle N - 'TOOL' CreatorTool N - 'Title' Title N - 'Year' Year N - 'itunesmediatype' iTunesMediaType N - 'track' ChapterName N - -=head3 Audible tseg Tags - - Tag ID Tag Name Writable - ------ -------- -------- - 'meta' Audible_meta2 Audible meta - 'tshd' ChapterNumber N - =head2 Matroska Tags The following tags are extracted from Matroska multimedia container files. @@ -27351,7 +27608,8 @@ default language of "en". This table lists only those VCard tags which are renamed by ExifTool, but any existing VCard tag will be extracted. Tag names may have "Pref" added to indicate the preferred instance of a VCard property. Other "TYPE" -parameters are also added to the tag name. +parameters are also added to the tag name. See +L for the VCard 4.0 specification. Tag ID Tag Name Writable ------ -------- -------- @@ -27693,6 +27951,9 @@ values, may created via the ExifTool configuration file. FocusDistance SubjectDistance ObjectDistance + AverageFocusDistance + FocusDistanceLower + FocusDistanceUpper DateCreated Kodak:YearCreated N Kodak:MonthDayCreated DateTimeCreated IPTC:DateCreated N diff --git a/lib/Image/ExifTool/VCard.pm b/lib/Image/ExifTool/VCard.pm index e0ac19db..0e3fd524 100644 --- a/lib/Image/ExifTool/VCard.pm +++ b/lib/Image/ExifTool/VCard.pm @@ -26,7 +26,8 @@ my %unescapeVCard = ( '\\'=>'\\', ','=>',', 'n'=>"\n", 'N'=>"\n" ); This table lists only those VCard tags which are renamed by ExifTool, but any existing VCard tag will be extracted. Tag names may have "Pref" added to indicate the preferred instance of a VCard property. Other "TYPE" - parameters are also added to the tag name. + parameters are also added to the tag name. See + L for the VCard 4.0 specification. }, Version => 'VCardVersion', VCardVersion => { Description => 'VCard Version', Hidden => 1 }, # (for the Description) diff --git a/lib/Image/ExifTool/XMP.pm b/lib/Image/ExifTool/XMP.pm index 43aef1ac..14efb1f6 100644 --- a/lib/Image/ExifTool/XMP.pm +++ b/lib/Image/ExifTool/XMP.pm @@ -47,7 +47,7 @@ use Image::ExifTool qw(:Utils); use Image::ExifTool::Exif; require Exporter; -$VERSION = '2.82'; +$VERSION = '2.83'; @ISA = qw(Exporter); @EXPORT_OK = qw(EscapeXML UnescapeXML); @@ -148,11 +148,16 @@ my %xmpNS = ( DICOM => 'http://ns.adobe.com/DICOM/', svg => 'http://www.w3.org/2000/svg', et => 'http://ns.exiftool.ca/1.0/', - # namespaces defined in XMP2.pl: +# +# namespaces defined in XMP2.pl: +# plus => 'http://ns.useplus.org/ldf/xmp/1.0/', - prism => 'http://prismstandard.org/namespaces/basic/2.1/', + # (prism recommendations from http://www.prismstandard.org/specifications/3.0/Image_Guide_3.0.htm) + prism => 'http://prismstandard.org/namespaces/basic/2.0/', prl => 'http://prismstandard.org/namespaces/prl/2.1/', pur => 'http://prismstandard.org/namespaces/prismusagerights/2.1/', + pmi => 'http://prismstandard.org/namespaces/pmi/2.2/', + prm => 'http://prismstandard.org/namespaces/prm/3.0/', acdsee => 'http://ns.acdsee.com/iptc/1.0/', digiKam => 'http://www.digikam.org/ns/1.0/', swf => 'http://ns.adobe.com/swf/1.0', @@ -165,6 +170,7 @@ my %xmpNS = ( extensis => 'http://ns.extensis.com/extensis/1.0/', ics => 'http://ns.idimager.com/ics/1.0/', fpv => 'http://ns.fastpictureviewer.com/fpv/1.0/', + creatorAtom=>'http://ns.adobe.com/creatorAtom/1.0/', 'apple-fi' => 'http://ns.apple.com/faceinfo/1.0/', GPano => 'http://ns.google.com/photos/1.0/panorama/', dwc => 'http://rs.tdwg.org/dwc/index.htm', @@ -656,6 +662,14 @@ my %sCVTermDetails = ( Name => 'pur', SubDirectory => { TagTable => 'Image::ExifTool::XMP::pur' }, }, + pmi => { + Name => 'pmi', + SubDirectory => { TagTable => 'Image::ExifTool::XMP::pmi' }, + }, + prm => { + Name => 'prm', + SubDirectory => { TagTable => 'Image::ExifTool::XMP::prm' }, + }, rdf => { Name => 'rdf', SubDirectory => { TagTable => 'Image::ExifTool::XMP::rdf' }, @@ -708,6 +722,10 @@ my %sCVTermDetails = ( Name => 'fpv', SubDirectory => { TagTable => 'Image::ExifTool::XMP::fpv' }, }, + creatorAtom => { + Name => 'creatorAtom', + SubDirectory => { TagTable => 'Image::ExifTool::XMP::creatorAtom' }, + }, 'apple-fi' => { Name => 'apple-fi', SubDirectory => { TagTable => 'Image::ExifTool::XMP::apple_fi' }, @@ -3290,6 +3308,15 @@ sub ParseXMPElement($$$;$$$$) if ($stdNS) { $val = $try; $et->WarnOnce("Fixed incorrect URI for xmlns:$ns", 1); + } else { + # look for same namespace with different version number + $try = quotemeta $val; # (note: escapes slashes too) + $try =~ s{\\/\d+\\\.\d+(\\/|$)}{\\/\\d+\\\.\\d+$1}; + my ($good) = grep /^$try$/, keys %uri2ns; + if ($good) { + $stdNS = $uri2ns{$good}; + $et->VPrint(0, $$et{INDENT}, "[different $stdNS version: $val]\n"); + } } } # tame wild namespace prefixes (patches Microsoft stupidity) diff --git a/lib/Image/ExifTool/XMP2.pl b/lib/Image/ExifTool/XMP2.pl index 64ed29d3..1f9f13eb 100644 --- a/lib/Image/ExifTool/XMP2.pl +++ b/lib/Image/ExifTool/XMP2.pl @@ -22,7 +22,7 @@ use strict; use Image::ExifTool qw(:Utils); use Image::ExifTool::XMP; -# structure definitions +# xmpDM structure definitions my %sCuePointParam = ( STRUCT_NAME => 'CuePointParam', NAMESPACE => 'xmpDM', @@ -217,6 +217,8 @@ my %sTimecode = ( shotSize => { }, speakerPlacement=> { }, startTimecode => { Struct => \%sTimecode }, + startTimeSampleSize => { Writable => 'integer' }, #PH + startTimeScale => { }, #PH (real?) stretchMode => { PrintConv => { 'Fixed length' => 'Fixed length', @@ -299,33 +301,38 @@ my %sTimecode = ( ); #------------------------------------------------------------------------------ +# PLUS (Picture Licensing Universal System) + # PLUS vocabulary conversions my %plusVocab = ( ValueConv => '$val =~ s{http://ns.useplus.org/ldf/vocab/}{}; $val', ValueConvInv => '"http://ns.useplus.org/ldf/vocab/$val"', ); -# PLUS License Data Format 1.2.0 structures +# PLUS License Data Format 1.2.1 structures # (this seems crazy to me -- why did they define different ID/Name structures # for each field rather than just re-using the same structure?) my %plusLicensee = ( STRUCT_NAME => 'Licensee', NAMESPACE => 'plus', - TYPE => 'plus:LicenseeDetail', + # all "rdf:type" properties removed in version 1.2.1 + # (idiots. Why did they put them there in the first place? -- it required + # a special patch for ExifTool to support these, and now they are gone!) + # TYPE => 'plus:LicenseeDetail', (removed in 1.2.1) LicenseeID => { }, LicenseeName=> { }, ); my %plusEndUser = ( STRUCT_NAME => 'EndUser', NAMESPACE => 'plus', - TYPE => 'plus:EndUserDetail', + # TYPE => 'plus:EndUserDetail', (removed in 1.2.1) EndUserID => { }, EndUserName => { }, ); my %plusLicensor = ( STRUCT_NAME => 'Licensor', NAMESPACE => 'plus', - TYPE => 'plus:LicensorDetail', + # TYPE => 'plus:LicensorDetail', (removed in 1.2.1) LicensorID => { }, LicensorName => { }, LicensorStreetAddress => { }, @@ -362,21 +369,21 @@ my %plusLicensor = ( my %plusCopyrightOwner = ( STRUCT_NAME => 'CopyrightOwner', NAMESPACE => 'plus', - TYPE => 'plus:CopyrightOwnerDetail', + # TYPE => 'plus:CopyrightOwnerDetail', (removed in 1.2.1) CopyrightOwnerID => { }, CopyrightOwnerName => { }, ); my %plusImageCreator = ( STRUCT_NAME => 'ImageCreator', NAMESPACE => 'plus', - TYPE => 'plus:ImageCreatorDetail', + # TYPE => 'plus:ImageCreatorDetail', (removed in 1.2.1) ImageCreatorID => { }, ImageCreatorName => { }, ); my %plusImageSupplier = ( STRUCT_NAME => 'ImageSupplier', NAMESPACE => 'plus', - TYPE => 'plus:ImageSupplierDetail', + # TYPE => 'plus:ImageSupplierDetail', (removed in 1.2.1) ImageSupplierID => { }, ImageSupplierName => { }, ); @@ -387,7 +394,7 @@ my %plusImageSupplier = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-plus', 2 => 'Author' }, NAMESPACE => 'plus', NOTES => q{ - PLUS License Data Format 1.2.0 namespace tags. Note that all + PLUS License Data Format 1.2.1 namespace tags. Note that all controlled-vocabulary tags in this table (ie. tags with a fixed set of values) have raw values which begin with "http://ns.useplus.org/ldf/vocab/", but to reduce clutter this prefix has been removed from the values shown @@ -620,52 +627,137 @@ my %plusImageSupplier = ( # } # ); -# Publishing Requirements for Industry Standard Metadata 2.1 (prism) (ref 2) +# PRISM structure definitions +my %prismPublicationDate = ( + STRUCT_NAME => 'prismPublicationDate', + NAMESPACE => 'prism', + date => { %dateTimeInfo, Groups => { 2 => 'Time'} }, + 'a-platform'=> { }, +); + +# Publishing Requirements for Industry Standard Metadata (prism) (ref 2) %Image::ExifTool::XMP::prism = ( %xmpTableDefaults, GROUPS => { 0 => 'XMP', 1 => 'XMP-prism', 2 => 'Document' }, NAMESPACE => 'prism', NOTES => q{ - Publishing Requirements for Industry Standard Metadata 2.1 namespace + Publishing Requirements for Industry Standard Metadata 3.0 namespace tags. (see L) }, + acedemicField => { }, # (3.0) + aggregateIssueNumber => { Writable => 'integer' }, # (3.0) aggregationType => { List => 'Bag' }, - alternateTitle => { List => 'Bag' }, + alternateTitle => { + List => 'Bag', + Struct => { # (becomes a structure in 3.0) + STRUCT_NAME => 'prismAlternateTitle', + NAMESPACE => 'prism', + text => { }, + 'a-platform'=> { }, + 'a-lang' => { }, + }, + }, + blogTitle => { }, # (3.0) + blogURL => { }, # (3.0) + bookEdition => { }, # (3.0) byteCount => { Writable => 'integer' }, - channel => { List => 'Bag' }, + channel => { + List => 'Bag', + Struct => { # (becomes a structure in 3.0) + STRUCT_NAME => 'prismChannel', + NAMESPACE => 'prism', + channel => { }, + subchannel1 => { }, + subchannel2 => { }, + subchannel3 => { }, + subchannel4 => { }, + 'a-lang' => { }, + }, + }, complianceProfile=>{ PrintConv => { three => 'Three' } }, - copyright => { Groups => { 2 => 'Author' } }, + contentType => { }, # (3.0) + copyrightYear => { }, # (3.0) + # copyright => { Groups => { 2 => 'Author' } }, # (deprecated in 3.0) corporateEntity => { List => 'Bag' }, coverDate => { %dateTimeInfo, Groups => { 2 => 'Time'} }, coverDisplayDate=> { }, creationDate => { %dateTimeInfo, Groups => { 2 => 'Time'} }, dateRecieved => { %dateTimeInfo, Groups => { 2 => 'Time'} }, + device => { }, # (3.0) distributor => { }, doi => { Name => 'DOI', Description => 'Digital Object Identifier' }, edition => { }, eIssn => { }, - embargoDate => { List => 'Bag', %dateTimeInfo, Groups => { 2 => 'Time'} }, + #embargoDate => { List => 'Bag', %dateTimeInfo, Groups => { 2 => 'Time'} }, # (deprecated in 3.0) endingPage => { }, event => { List => 'Bag' }, - expirationDate => { List => 'Bag', %dateTimeInfo, Groups => { 2 => 'Time'} }, + #expirationDate => { List => 'Bag', %dateTimeInfo, Groups => { 2 => 'Time'} }, # (deprecated in 3.0) genre => { List => 'Bag' }, hasAlternative => { List => 'Bag' }, - hasCorrection => { }, - hasPreviousVersion => { }, + hasCorrection => { + Struct => { # (becomes a structure in 3.0) + STRUCT_NAME => 'prismHasCorrection', + NAMESPACE => 'prism', + text => { }, + 'a-platform'=> { }, + 'a-lang' => { }, + }, + }, + # hasPreviousVersion => { }, # (not in 3.0) hasTranslation => { List => 'Bag' }, industry => { List => 'Bag' }, + isAlternativeOf => { List => 'Bag' }, # (3.0) + isbn => { Name => 'ISBN', List => 'Bag' }, # 2.1 (becomes a list in 3.0) isCorrectionOf => { List => 'Bag' }, issn => { Name => 'ISSN' }, issueIdentifier => { }, issueName => { }, + issueTeaser => { }, # (3.0) + issueType => { }, # (3.0) isTranslationOf => { }, keyword => { List => 'Bag' }, - killDate => { %dateTimeInfo, Groups => { 2 => 'Time'} }, + killDate => { + Struct => { # (becomes a structure in 3.0) + STRUCT_NAME => 'prismKillDate', + NAMESPACE => 'prism', + date => { %dateTimeInfo, Groups => { 2 => 'Time'} }, + 'a-platform'=> { }, #PH (missed in spec?) + }, + }, + 'link' => { List => 'Bag' }, # (3.0) location => { List => 'Bag' }, # metadataContainer => { }, (not valid for PRISM XMP) modificationDate=> { %dateTimeInfo, Groups => { 2 => 'Time'} }, + nationalCatalogNumber => { }, # (3.0) number => { }, object => { List => 'Bag' }, + onSaleDate => { # (3.0) + List => 'Bag', + Struct => { + STRUCT_NAME => 'prismOnSaleDate', + NAMESPACE => 'prism', + date => { %dateTimeInfo, Groups => { 2 => 'Time'} }, + 'a-platform'=> { }, + }, + }, + onSaleDay => { # (3.0) + List => 'Bag', + Struct => { + STRUCT_NAME => 'prismOnSaleDay', + NAMESPACE => 'prism', + day => { }, #PH (not named in spec) + 'a-platform'=> { }, + }, + }, + offSaleDate => { # (3.0) + List => 'Bag', + Struct => { + STRUCT_NAME => 'prismOffSaleDate', + NAMESPACE => 'prism', + date => { %dateTimeInfo, Groups => { 2 => 'Time'} }, + 'a-platform'=> { }, + }, + }, organization => { List => 'Bag' }, originPlatform => { List => 'Bag', @@ -679,26 +771,59 @@ my %plusImageSupplier = ( other => 'Other', }, }, + pageCount => { Writable => 'integer' }, # (3.0) + pageProgressionDirection => { # (3.0) + PrintConv => { LTR => 'Left to Right', RTL => 'Right to Left' }, + }, pageRange => { List => 'Bag' }, person => { }, - publicationDate => { List => 'Bag', %dateTimeInfo, Groups => { 2 => 'Time'} }, + platform => { }, # (3.0) + productCode => { }, # (3.0) + profession => { }, # (3.0) + publicationDate => { + List => 'Bag', + Struct => \%prismPublicationDate, # (becomes a structure in 3.0) + }, + publicationDisplayDate => { # (3.0) + List => 'Bag', + Struct => \%prismPublicationDate, + }, publicationName => { }, - rightsAgent => { }, + publishingFrequency => { }, # (3.0) + rating => { }, + # rightsAgent => { }, # (deprecated in 3.0) + samplePageRange => { }, # (3.0) section => { }, + sellingAgency => { }, # (3.0) + seriesNumber => { Writable => 'integer' }, # (3.0) + seriesTitle => { }, # (3.0) + sport => { }, # (3.0) startingPage => { }, subsection1 => { }, subsection2 => { }, subsection3 => { }, subsection4 => { }, + subtitle => { }, # (3.0) + supplementDisplayID => { }, # (3.0) + supplementStartingPage => { }, # (3.0) + supplementTitle => { }, # (3.0) teaser => { List => 'Bag' }, ticker => { List => 'Bag' }, timePeriod => { }, - url => { Name => 'URL', List => 'Bag' }, + url => { + Name => 'URL', + List => 'Bag', + Struct => { # (becomes a structure in 3.0) + STRUCT_NAME => 'prismUrl', + NAMESPACE => 'prism', + url => { }, + 'a-platform'=> { }, + }, + }, + uspsNumber => { }, # (3.0) versionIdentifier => { }, volume => { }, wordCount => { Writable => 'integer' }, - # new in PRISM 2.1 - isbn => { Name => 'ISBN' }, # tags that existed in version 1.3 # category => { %obsolete, List => 'Bag' }, # hasFormat => { %obsolete, List => 'Bag' }, @@ -727,13 +852,14 @@ my %plusImageSupplier = ( # releaseTime ); -# PRISM Rights Language 2.1 namespace (prl) (ref 2) +# PRISM Rights Language namespace (prl) (ref 2) %Image::ExifTool::XMP::prl = ( %xmpTableDefaults, GROUPS => { 0 => 'XMP', 1 => 'XMP-prl', 2 => 'Document' }, NAMESPACE => 'prl', NOTES => q{ - PRISM Rights Language 2.1 namespace tags. (see + PRISM Rights Language 2.1 namespace tags. These tags have been deprecated + since the release of the PRISM Usage Rights 3.0. (see L) }, geography => { List => 'Bag' }, @@ -741,18 +867,23 @@ my %plusImageSupplier = ( usage => { List => 'Bag' }, ); -# PRISM Usage Rights 2.1 namespace (prismusagerights) (ref 2) +# PRISM Usage Rights namespace (prismusagerights) (ref 2) %Image::ExifTool::XMP::pur = ( %xmpTableDefaults, GROUPS => { 0 => 'XMP', 1 => 'XMP-pur', 2 => 'Document' }, NAMESPACE => 'pur', NOTES => q{ - Prism Usage Rights 2.1 namespace tags. (see + PRISM Usage Rights 3.0 namespace tags. (see L) }, adultContentWarning => { List => 'Bag' }, agreement => { List => 'Bag' }, - copyright => { Writable => 'lang-alt', Groups => { 2 => 'Author' } }, + copyright => { + # (not clear in 3.0 spec, which lists only "bag Text", and called + # "copyrightDate" instead of "copyright" the PRISM basic 3.0 spec) + Writable => 'lang-alt', + Groups => { 2 => 'Author' }, + }, creditLine => { List => 'Bag' }, embargoDate => { List => 'Bag', %dateTimeInfo, Groups => { 2 => 'Time'} }, exclusivityEndDate => { List => 'Bag', %dateTimeInfo, Groups => { 2 => 'Time'} }, @@ -764,9 +895,107 @@ my %plusImageSupplier = ( reuseProhibited => { Writable => 'boolean' }, rightsAgent => { }, rightsOwner => { }, - usageFee => { List => 'Bag' }, + # usageFee => { List => 'Bag' }, # (not in 3.0) ); +# PRISM Metadata for Images namespace (pmi) (ref 2) +%Image::ExifTool::XMP::pmi = ( + %xmpTableDefaults, + GROUPS => { 0 => 'XMP', 1 => 'XMP-pmi', 2 => 'Image' }, + NAMESPACE => 'pmi', + NOTES => q{ + PRISM Metadata for Images 3.0 namespace tags. (see + L) + }, + color => { + PrintConv => { + bw => 'BW', + color => 'Color', + sepia => 'Sepia', + duotone => 'Duotone', + tritone => 'Tritone', + quadtone => 'Quadtone', + }, + }, + contactInfo => { }, + displayName => { }, + distributorProductID => { }, + eventAlias => { }, + eventEnd => { }, + eventStart => { }, + eventSubtype => { }, + eventType => { }, + field => { }, + framing => { }, + location => { }, + make => { }, + manufacturer => { }, + model => { }, + modelYear => { }, + objectDescription=>{ }, + objectSubtype => { }, + objectType => { }, + orientation => { + PrintConv => { + horizontal => 'Horizontal', + vertical => 'Vertical', + } + }, + positionDescriptor => { }, + productID => { }, + productIDType => { }, + season => { + PrintConv => { + spring => 'Spring', + summer => 'Summer', + fall => 'Fall', + winter => 'Winter', + }, + }, + sequenceName => { }, + sequenceNumber => { }, + sequenceTotalNumber => { }, + setting => { }, + shootID => { }, + slideshowName => { }, + slideshowNumber => { Writable => 'integer' }, + slideshowTotalNumber => { Writable => 'integer' }, + viewpoint => { }, + visualTechnique => { }, +); + +# PRISM Recipe Metadata (prm) (ref 2) +%Image::ExifTool::XMP::prm = ( + %xmpTableDefaults, + GROUPS => { 0 => 'XMP', 1 => 'XMP-prm', 2 => 'Document' }, + NAMESPACE => 'prm', + NOTES => q{ + PRISM Recipe Metadata 3.0 namespace tags. (see + L) + }, + cookingEquipment => { }, + cookingMethod => { }, + course => { }, + cuisine => { }, + dietaryNeeds => { }, + dishType => { }, + duration => { }, + ingredientExclusion => { }, + mainIngredient => { }, + meal => { }, + recipeEndingPage => { }, + recipePageRange => { }, + recipeSource => { }, + recipeStartingPage => { }, + recipeTitle => { }, + servingSize => { }, + skillLevel => { }, + specialOccasion => { }, + yield => { }, +); + +#------------------------------------------------------------------------------ + # DICOM namespace properties (DICOM) (ref PH, written by CS3) %Image::ExifTool::XMP::DICOM = ( %xmpTableDefaults, @@ -1132,6 +1361,43 @@ my %sSubVersion = ( Highlights => { Writable => 'real', Avoid => 1 }, ); +# Adobe creatorAtom properties (ref PH) +%Image::ExifTool::XMP::creatorAtom = ( + %xmpTableDefaults, + GROUPS => { 1 => 'XMP-creatorAtom', 2 => 'Image' }, + NAMESPACE => 'creatorAtom', + NOTES => 'Adobe creatorAtom tags, written by After Effects.', + macAtom => { + Struct => { + STRUCT_NAME => 'MacAtom', + NAMESPACE => 'creatorAtom', + applicationCode => { }, + invocationAppleEvent => { }, + posixProjectPath => { }, + }, + }, + windowsAtom => { + Struct => { + STRUCT_NAME => 'WindowsAtom', + NAMESPACE => 'creatorAtom', + extension => { }, + invocationFlags => { }, + uncProjectPath => { }, + }, + }, + aeProjectLink => { # (After Effects Project Link) + Struct => { + STRUCT_NAME => 'AEProjectLink', + NAMESPACE => 'creatorAtom', + renderTimeStamp => { Writable => 'integer' }, + compositionID => { }, + renderQueueItemID => { }, + renderOutputModuleIndex => { }, + fullPath => { }, + }, + }, +); + # FastPictureViewer namespace properties (http://www.fastpictureviewer.com/help/#rtfcomments) %Image::ExifTool::XMP::fpv = ( %xmpTableDefaults, @@ -1248,10 +1514,12 @@ my ($table, $key); foreach $table ( \%Image::ExifTool::XMP::prism, \%Image::ExifTool::XMP::prl, - \%Image::ExifTool::XMP::pur) + \%Image::ExifTool::XMP::pur, + \%Image::ExifTool::XMP::pmi, + \%Image::ExifTool::XMP::prm) { foreach $key (TagTableKeys($table)) { - $table->{$key}->{Avoid} = 1; + $$table{$key}{Avoid} = 1; } } -- cgit v1.2.3