CVE-2021-22204 (HTML, published 2021-04-23T18:15Z)
Description: value: Improper neutralization of user data in the DjVu file format in ExifTool versions 7.44 and up allows arbitrary code execution when parsing the malicious image
Severity: MEDIUM (CVSS v3 base score: 7.8)
Weakness: CWE-94 \u2014 Improper Control of Generation of Code ('Code Injection')
The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
Repository: https://github.com/exiftool/exiftool
Files changed:
Changes
META.json
META.yml
README
config_files/acdsee.config
exiftool
html/ExifTool.html
html/ExifTool.pdf
html/Shift.pdf
html/TagNames/FujiFilm.html
html/TagNames/Jpeg2000.html
html/TagNames/MacOS.html
html/TagNames/Panasonic.html
html/TagNames/PhaseOne.html
html/TagNames/Sony.html
html/TagNames/index.html
html/exiftool_pod.html
html/exiftool_pod.pdf
html/history.html
html/index.html
html/install.html
lib/Image/ExifTool.pm
lib/Image/ExifTool.pod
lib/Image/ExifTool/DjVu.pm
lib/Image/ExifTool/FujiFilm.pm
lib/Image/ExifTool/Jpeg2000.pm
lib/Image/ExifTool/MacOS.pm
lib/Image/ExifTool/Microsoft.pm
lib/Image/ExifTool/Panasonic.pm
lib/Image/ExifTool/PhaseOne.pm
lib/Image/ExifTool/Sony.pm
lib/Image/ExifTool/TagLookup.pm
lib/Image/ExifTool/TagNames.pod
lib/Image/ExifTool/Writer.pl
perl-Image-ExifTool.spec
t/ExifTool_2.out
t/ExifTool_29.out
t/Writer_51.out
windows_exiftool
Commit message: Update to 12.24


Vulnerable code:
   "version" : "12.23",
version: 12.23
  gzip -dc Image-ExifTool-12.23.tar.gz | tar -xf -
  cd Image-ExifTool-12.23
# Usage:        exiftool -config acdsee.config -ACDSEETAG=VALUE FILE ...
    'w'           => { Writable => 'real' },
    'h'           => { Writable => 'real' },
    'unit'        => { },
    # new XMP namespaces (eg. xxx) must be added to the Main XMP table:
            AppliedToDimensions => { Struct => \%sACDSeeDimensions },
my $version = '12.23';
    -- Generated by ExifTool 12.23 --
    (mentioned in the Tag Name documentation) as a block.</td>
    of some additional tags as mentioned in the tag name documentation.</td>
(                           -- Image::ExifTool 12.23 --                                     1)Tj
(                           -- Image::ExifTool 12.23 --                                     2)Tj
(                           -- Image::ExifTool 12.23 --                                     3)Tj
(                           -- Image::ExifTool 12.23 --                                     4)Tj
(                           -- Image::ExifTool 12.23 --                                     5)Tj
/Length 3832
(                           -- Image::ExifTool 12.23 --                                     6)Tj
(               Flag to extract some directories \(mentioned in the Tag Name)Tj
(               documentation\) as a block.  Setting this to a value of 2 also)Tj
(               prevents parsing the block to extract tags contained within.)Tj
0 -2.2 TD
(           ByteOrder)Tj
/Length 4804
(                           -- Image::ExifTool 12.23 --                                     7)Tj
(               The byte order for newly created EXIF segments when writing.)Tj
0 -2.2 TD
(               Note that this option affects some types of information when)Tj
/Length 4420
(                           -- Image::ExifTool 12.23 --                                     8)Tj
(               reading/writing the file and other types when getting/setting)Tj
0 -1.1 TD
(               Format for printing date/time values.  See "strftime" in the)Tj
/Length 4972
(                           -- Image::ExifTool 12.23 --                                     9)Tj
(               POSIX package for details about the format string.  If date can)Tj
T*
(               and FileType are generated.  For 3, the file header is read to)Tj
/Length 4475
(                           -- Image::ExifTool 12.23 --                                    10)Tj
(               provide an educated guess at FileType.  For 4, the file is not)Tj
0 -2.2 TD
(                   'K', 'k' or 'km/h'  - km/h)Tj
/Length 4726
(                           -- Image::ExifTool 12.23 --                                    11)Tj
(                   'M', 'm' or 'mph'   - mph)Tj
T*
(               ValueConv values.  Default is ', '.)Tj
/Length 4332
(                           -- Image::ExifTool 12.23 --                                    12)Tj
0 -2.7333 TD
0 -1.1 TD
(               Flag to request all tags to be extracted.  This causes some)Tj
/Length 4470
(                           -- Image::ExifTool 12.23 --                                    13)Tj
(               tags to be generated which normally would not be unless)Tj
0 -1.1 TD
(               of causing the date/time to be reformatted according to PNG 1.2)Tj
/Length 4239
(                           -- Image::ExifTool 12.23 --                                    14)Tj
(               recommendation \(RFC-1123\) when writing, and a warning to be)Tj
/Length 4249
(                           -- Image::ExifTool 12.23 --                                    15)Tj
0 -1.6333 TD
T*
(           XMPAutoConv.)Tj
/Length 4130
(                           -- Image::ExifTool 12.23 --                                    16)Tj
0 -2.7333 TD
/Length 4045
(                           -- Image::ExifTool 12.23 --                                    17)Tj
0 -1.6333 TD
0 -1.1 TD
(           'Group#'\))Tj
/Length 4391
(                           -- Image::ExifTool 12.23 --                                    18)Tj
0 -2.7333 TD
(           3\) [optional] Secondary sort order \('File', 'Tag' or 'Descr'\))Tj
T*
(       an optional group specifier\), use "GetInfo" instead.)Tj
/Length 3962
(                           -- Image::ExifTool 12.23 --                                    19)Tj
0 -2.7333 TD
0 -1.1 TD
(           $success = $exifTool->SetNewValue\($tag, $value\);)Tj
/Length 4036
(                           -- Image::ExifTool 12.23 --                                    20)Tj
0 -2.7333 TD
T*
(           using a Group option argument.  Also, a '#' may be appended to the)Tj
(                           -- Image::ExifTool 12.23 --                                    21)Tj
(           tag name \(eg. 'EXIF:Orientation#'\), with the same effect as setting)Tj
T*
(               names indicating 'unsafe' and 'protected' tags.  Default is 0.)Tj
(                           -- Image::ExifTool 12.23 --                                    22)Tj
0 -2.7333 TD
0 -2.2 TD
(           1\) Tag name \(case sensitive, may be prefixed by family 0, 1 or 7)Tj
/Length 4649
(                           -- Image::ExifTool 12.23 --                                    23)Tj
T*
(           and/or suffixed by a '#' to disable print conversion.  Copied tags)Tj
/Length 4484
(                           -- Image::ExifTool 12.23 --                                    24)Tj
(           may also be added or deleted from a list with arguments of the form)Tj
0 -2.2 TD
(           The "Struct" option is enabled by default for tags extracted by)Tj
/Length 4317
(                           -- Image::ExifTool 12.23 --                                    25)Tj
(           this routine.  This allows the hierarchy of complex structures to)Tj
0 -2.2 TD
(       Notes:)Tj
/Length 4138
(                           -- Image::ExifTool 12.23 --                                    26)Tj
(           Equivalent to, but more efficient than calling "WriteInfo" when)Tj
0 -1.1 TD
(           0\) ExifTool object reference)Tj
/Length 3762
(                           -- Image::ExifTool 12.23 --                                    27)Tj
0 -2.7333 TD
T*
(           The string is simplified to remove a leading 'Main:' and adjacent)Tj
/Length 5018
(                           -- Image::ExifTool 12.23 --                                    28)Tj
0 -2.2 TD
(           See "GetAllGroups [static]" for complete lists of group names.)Tj
/Length 4328
(                           -- Image::ExifTool 12.23 --                                    29)Tj
0 -2.7333 TD
0 -2.2 TD
(       Return Values:)Tj
/Length 4933
(                           -- Image::ExifTool 12.23 --                                    30)Tj
T*
(           view, ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2,)Tj
/Length 4765
(                           -- Image::ExifTool 12.23 --                                    31)Tj
(           ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC, Insta360,)Tj
0 -2.2 TD
(       Return Values:)Tj
/Length 4949
(                           -- Image::ExifTool 12.23 --                                    32)Tj
(           A list of deletable group names in alphabetical order.  The current)Tj
0 -2.2 TD
(           my $creatable = Image::ExifTool::CanCreate\($filename\);)Tj
/Length 4693
(                           -- Image::ExifTool 12.23 --                                    33)Tj
0 -2.7333 TD
0 -1.1 TD
(           The encodings used to store strings in the various metadata)Tj
/Length 5318
(                           -- Image::ExifTool 12.23 --                                    34)Tj
(           formats.  These encodings may be changed for certain types of)Tj
/Length 4720
(                           -- Image::ExifTool 12.23 --                                    35)Tj
0 -1.6333 TD
T*
(       respectively.)Tj
/Length 5222
(                           -- Image::ExifTool 12.23 --                                    36)Tj
0 -2.7333 TD
(perl v5.18.4                      2021-04-01                       EXIFTOOL\(1\))Tj
/CreationDate (D:20210401142149-04'00')
/ModDate (D:20210401142149-04'00')
0000170483 00000 n 
0000169484 00000 n 
0000169885 00000 n 
0000168949 00000 n 
0000173585 00000 n 
0000170563 00000 n 
0000170644 00000 n 
0000170727 00000 n 
0000170810 00000 n 
0000170893 00000 n 
0000028252 00000 n 
0000170976 00000 n 
0000028359 00000 n 
0000033216 00000 n 
0000171059 00000 n 
0000033323 00000 n 
0000037796 00000 n 
0000171142 00000 n 
0000037903 00000 n 
0000042928 00000 n 
0000171225 00000 n 
0000043035 00000 n 
0000047563 00000 n 
0000171308 00000 n 
0000047670 00000 n 
0000052449 00000 n 
0000174111 00000 n 
0000173720 00000 n 
0000171392 00000 n 
0000052556 00000 n 
0000056941 00000 n 
0000171476 00000 n 
0000057048 00000 n 
0000061571 00000 n 
0000171560 00000 n 
0000061678 00000 n 
0000065970 00000 n 
0000171644 00000 n 
0000066077 00000 n 
0000070379 00000 n 
0000171728 00000 n 
0000070486 00000 n 
0000074669 00000 n 
0000171812 00000 n 
0000074776 00000 n 
0000078874 00000 n 
0000171896 00000 n 
0000078981 00000 n 
0000083425 00000 n 
0000171980 00000 n 
0000083532 00000 n 
0000087547 00000 n 
0000172064 00000 n 
0000087654 00000 n 
0000091743 00000 n 
0000172148 00000 n 
0000091850 00000 n 
0000096542 00000 n 
0000173858 00000 n 
0000172232 00000 n 
0000096649 00000 n 
0000101295 00000 n 
0000172316 00000 n 
0000101402 00000 n 
0000106104 00000 n 
0000172400 00000 n 
0000106211 00000 n 
0000110748 00000 n 
0000172484 00000 n 
0000110855 00000 n 
0000115225 00000 n 
0000172568 00000 n 
0000115332 00000 n 
0000119523 00000 n 
0000172652 00000 n 
0000119630 00000 n 
0000123445 00000 n 
0000172736 00000 n 
0000123552 00000 n 
0000128623 00000 n 
0000172820 00000 n 
0000128730 00000 n 
0000133111 00000 n 
0000172904 00000 n 
0000133218 00000 n 
0000138204 00000 n 
0000172988 00000 n 
0000138311 00000 n 
0000143129 00000 n 
0000173996 00000 n 
0000173074 00000 n 
0000143237 00000 n 
0000148240 00000 n 
0000173162 00000 n 
0000148348 00000 n 
0000153095 00000 n 
0000173250 00000 n 
0000153203 00000 n 
0000158575 00000 n 
0000173338 00000 n 
0000158683 00000 n 
0000163457 00000 n 
0000173426 00000 n 
0000163565 00000 n 
0000168841 00000 n 
0000169089 00000 n 
0000169292 00000 n 
0000173514 00000 n 
0000173543 00000 n 
0000174217 00000 n 
0000174341 00000 n 
/ID [<b0cc62a5be0c1030b6f351e712d1e1cb><b0cc62a5be0c1030b6f351e712d1e1cb>]
174413
/CreationDate (D:20210401142150-04'00')
/ModDate (D:20210401142150-04'00')
/ID [<89c8b97ce96c2a9e18d602ed3bb880d8><89c8b97ce96c2a9e18d602ed3bb880d8>]
  <br>2 = No flash &amp; flash</span></td></tr>
<td><span class=s>[val &amp; 0xff]
  <br>2 = AF-C
  <br>17 = AF-S (Auto)</span></td></tr>
<tr>
<td class=r title='0 = 0x0'>0.3</td>
<tr class=b>
<td class=r title='0 = 0x0'>0.4</td>
<br><i>Last revised Feb 3, 2021</i>
<td>'id'</td>
<td>JUMBFID</td>
<td>&nbsp;</td></tr>
<td>'label'</td>
<td>JUMBFLabel</td>
<td>'signature'</td>
<td>JUMBFSignature</td>
<td>'type'</td>
<td>JUMBFType</td>
<br><i>Last revised Apr 1, 2021</i>
And they extracted by default from MacOS &quot;._&quot; files when reading
<br><i>Last revised Oct 15, 2020</i>
<br><i>Last revised Oct 2, 2020</i>
<td><span class=s>1 = RAW 1
  <br>3 = IIQ L
  <br>5 = IIQ S
  <br>6 = IIQ Sv2</span></td></tr>
<br><i>Last revised Apr 9, 2019</i>
  <br>6 = RAW + JPEG
  <br>&#39;0 1&#39; = Standard JPEG
  <br>&#39;0 2&#39; = Fine JPEG
  <br>&#39;0 3&#39; = Extra Fine JPEG
  <br>&#39;1 1&#39; = RAW + Standard JPEG
  <br>&#39;1 2&#39; = RAW + Fine JPEG
  <br>&#39;1 3&#39; = RAW + Extra Fine JPEG</td></tr></table>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
  <br>34 = Gamma HLG3</td></tr></table>
<p>Valid from July 2020 for ILCE-1/7SM3.</p>
  <br>3 = JPEG + MPO</span></td></tr>
<p>NEX and ILCE models only.</p>
<p>Valid for the ILCE-1/7SM3.</p>
  <br>34 = Gamma HLG3</td></tr></table>
<br><i>Last revised Apr 1, 2021</i>
They contain a total of 24102 tags, with 15604 unique tag names.
<br><i>Last revised Apr 1, 2021</i>
<pre><code>    -- Generated by ExifTool 12.23 --
(                              -- ExifTool 12.23 --                                     1)Tj
(                              -- ExifTool 12.23 --                                     2)Tj
(                              -- ExifTool 12.23 --                                     3)Tj
(                              -- ExifTool 12.23 --                                     4)Tj
(                              -- ExifTool 12.23 --                                     5)Tj
(                              -- ExifTool 12.23 --                                     6)Tj
(                              -- ExifTool 12.23 --                                     7)Tj
(                              -- ExifTool 12.23 --                                     8)Tj
(                              -- ExifTool 12.23 --                                     9)Tj
(                              -- ExifTool 12.23 --                                    10)Tj
(                              -- ExifTool 12.23 --                                    11)Tj
(                              -- ExifTool 12.23 --                                    12)Tj
(                              -- ExifTool 12.23 --                                    13)Tj
(                              -- ExifTool 12.23 --                                    14)Tj
(                              -- ExifTool 12.23 --                                    15)Tj
(                -- Generated by ExifTool 12.23 --)Tj
(                              -- ExifTool 12.23 --                                    16)Tj
(                              -- ExifTool 12.23 --                                    17)Tj
(                              -- ExifTool 12.23 --                                    18)Tj
(                              -- ExifTool 12.23 --                                    19)Tj
(                              -- ExifTool 12.23 --                                    20)Tj
(                              -- ExifTool 12.23 --                                    21)Tj
(                              -- ExifTool 12.23 --                                    22)Tj
(                              -- ExifTool 12.23 --                                    23)Tj
(                              -- ExifTool 12.23 --                                    24)Tj
(                              -- ExifTool 12.23 --                                    25)Tj
(                              -- ExifTool 12.23 --                                    26)Tj
(                              -- ExifTool 12.23 --                                    27)Tj
(                              -- ExifTool 12.23 --                                    28)Tj
(                              -- ExifTool 12.23 --                                    29)Tj
(                              -- ExifTool 12.23 --                                    30)Tj
(                              -- ExifTool 12.23 --                                    31)Tj
(                              -- ExifTool 12.23 --                                    32)Tj
(                              -- ExifTool 12.23 --                                    33)Tj
(                              -- ExifTool 12.23 --                                    34)Tj
(                              -- ExifTool 12.23 --                                    35)Tj
(                              -- ExifTool 12.23 --                                    36)Tj
(                              -- ExifTool 12.23 --                                    37)Tj
(                              -- ExifTool 12.23 --                                    38)Tj
(                              -- ExifTool 12.23 --                                    39)Tj
(perl v5.18.4                      2021-04-01                       EXIFTOOL\(1\))Tj
/CreationDate (D:20210401142148-04'00')
/ModDate (D:20210401142148-04'00')
/ID [<ab798910bbf7ddf1029ca400262164d7><ab798910bbf7ddf1029ca400262164d7>]
    <li>Added BlockExtract option
<a href="http://sourceforge.net/projects/exiftool/files/Image-ExifTool-12.23.tar.gz/download">
Download        Version 12.23</a> (4.7 MB) -
<a href="history.html">Apr. 1, 2021</a></b></td></tr></table></blockquote>
<a href="http://sourceforge.net/projects/exiftool/files/exiftool-12.23.zip/download">
         exiftool-12.23.zip</a> (6.4 MB)</b></td></tr></table></blockquote>
         ExifTool-12.23.dmg</a> (3.0 MB)</b></td></tr></table></blockquote>
<br><span class=lt>(The file you download should be named "<code>exiftool-12.23.zip</code>".)</span></li>
<br><span class=lt>(Double-click on "<code>exiftool-12.23.zip</code>" to open
<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.23.tar.gz</code>".)</span></li>
<br><span class=lt>(The file you download should be named "<code>ExifTool-12.23.dmg</code>".)</span></li>
<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.23.tar.gz</code>".)</span></li>
    tar -xzf Image-ExifTool-12.23.tar.gz
    cd Image-ExifTool-12.23
<blockquote class=red>"ExifTool-12.23.pkg" can't be opened because it is from an
<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.23.tar.gz</code>".)</span></li>
    gzip -dc Image-ExifTool-12.23.tar.gz | tar -xf -
    cd Image-ExifTool-12.23
$VERSION = '12.23';
                MacOS PHP PCX DCX DWF DWG WTV Torrent VCard LRI R3D AA PDB MOI
                ISO ALIAS JSON MP3 DICOM PCD TXT);
                    X3F PS PDF ICC VRD DR4 JP2 EXIF AI AIT IND MOV EXV FLIF);
    JP2  => [ qw(J2C JPC JXC) ],
    JXC  => ['JP2', 'JPEG XL Codestream'], # (JXC = PH invention, not a real extension)
    JXL  => ['JP2', 'JPEG XL'],
    JXC  => 'image/x-jxc', #PH (invented)
    JP2  => '(\0\0\0\x0cjP(  |\x1a\x1a)\x0d\x0a\x87\x0a|\xff\x4f\xff\x51\0|\xff\x0a|\0\0\0\x0cJXL \x0d\x0a......ftypjxl )',
Flag to extract some directories (mentioned in the Tag Name documentation)
as a block.  Setting this to a value of 2 also prevents parsing the block to
extract tags contained within.
$VERSION = '1.06';
            # must protect unescaped "$" and "@" symbols, and "\" at end of string
            $tok =~ s{\\(.)|([\$\@]|\\$)}{'\\'.($2 || $1)}sge;
            # convert C escape sequences (allowed in quoted text)
            $tok = eval qq{"$tok"};
$VERSION = '1.79';
        Mask => 0x000000ff,
            0x00 => 'AF-M',
            0x01 => 'AF-S',
            0x02 => 'AF-C',
            0x11 => 'AF-S (Auto)',
    0.3 => {
    0.4 => {
    type => {
        Name => 'JUMBFType',
    label      => { Name => 'JUMBFLabel' },
    id         => { Name => 'JUMBFID', Description => 'JUMBF ID' },
    signature  => { Name => 'JUMBFSignature', PrintConv => 'unpack "H*", $val' },
    $et->HandleTag($tagTablePtr, 'type', substr($$dataPt, $pos, 16));
        $et->HandleTag($tagTablePtr, 'label', $name);
        $et->HandleTag($tagTablePtr, 'id', Get32u($dataPt, $pos));
        $et->HandleTag($tagTablePtr, 'signature', substr($$dataPt, $pos, 32));
            ($hdr eq "\0\0\0\x0cJXL \x0d\x0a\x87\x0a" and $$et{IsJXL} = 1)) # (JPEG XL)
        if ($hdr =~ /^\xff\x0a/) {
            $outfile and $et->Error('Writing of JPEG XL codestream files is not yet supported'), return 0;
            # JPEG XL codestream
            $et->SetFileType('JXC',undef,'JXL'); # (PH invention)
            $et->Warn('JPEG XL codestream support is currently experimental',1);
            ProcessJXLCodestream($et, \$hdr);
            return 1;
        }
    $et->Warn('JPEG XL support is currently experimental',1) if $$et{IsJXL};
# Returns: 1 on success, 0 if this wasn't a valid JPEG XL file
    return ProcessJP2($et, $dirInfo);
        And they extracted by default from MacOS "._" files when reading
        } elsif ($format eq 'vt_filetime') {
    # 0x357 int32u - 0=DNG, 3162=JPG (ref 23)
$VERSION = '1.06';
            3 => 'IIQ L',
            6 => 'IIQ Sv2',
$VERSION = '3.39';
            6 => 'RAW + JPEG',
            ($$self{Model} =~ /^(SLT-|HV)/) or ($$self{Model} =~ /^ILCE-/ and
            '0 1' => 'Standard JPEG',
            '0 2' => 'Fine JPEG',
            '0 3' => 'Extra Fine JPEG',
            '1 1' => 'RAW + Standard JPEG',
            '1 2' => 'RAW + Fine JPEG',
            '1 3' => 'RAW + Extra Fine JPEG',
# 0x2032 - first seen for ILCE-7SM3, July 2020
# 0x2033 - first seen for ILCE-7SM3, July 2020
# 0x2034 - first seen for ILCE-7SM3, July 2020
# 0x2035 - first seen for ILCE-7SM3, July 2020
# 0x2036 - first seen for ILCE-7SM3, July 2020
# 0x2037 - first seen for ILCE-7SM3, July 2020
# 0x2039 - first seen for ILCE-7SM3, July 2020
    # 0x31 (e) for ILCE-1, 7SM3
        Valid from July 2020 for ILCE-1/7SM3.
    0x002a => {
    },
    NOTES => 'NEX and ILCE models only.',
    NOTES => 'Valid for the ILCE-1/7SM3.',
	'afareamode' => { 124 => '0.2', 177 => 0x33, 181 => 0xe, 189 => 0x0, 190 => 0x5, 311 => 0xf, 378 => 0x1205, 391 => [0xa,0x3a], 398 => 0x11, 399 => 0x10, 400 => 0x24, 411 => 0xb043, 435 => 0x17 },
	'afareapointsize' => { 124 => '0.3' },
	'afareazonesize' => { 124 => '0.4' },
	'clarity' => { 225 => 0x35, 226 => 0x3d, 468 => 'Clarity', 470 => 'Clarity' },
	'highlights' => { 462 => 'Highlights' },
	'internalserialnumber' => { 62 => 0x96, 74 => 0x9, 125 => 0x10, 184 => 0x49dc, 287 => 0x18, 289 => 0x102, 308 => 0x500, 311 => 0x25, 326 => 0x4, 378 => 0x5, 429 => [0x7c,0xf0], 430 => 0x88, 431 => 0x88 },
	'shadows' => { 117 => 0xfe52, 462 => 'Shadows', 468 => 'Shadows', 470 => 'Shadows' },
	'whitepoint' => { 117 => 0x13e, 346 => 0x201, 490 => 'WhitePoint' },
	'jumbfid' => 1,
	'jumbflabel' => 1,
	'jumbfsignature' => 1,
	'jumbftype' => 1,
They contain a total of 24102 tags, with 15604 unique tag names.
    0.1    FocusMode2                           int32u & 0xff
    0.2    AFAreaMode                           int32u & 0xf00
    0.3    AFAreaPointSize                      int32u & 0xf000
    0.4    AFAreaZoneSize                       int32u & 0xf0000
Valid from July 2020 for ILCE-1/7SM3.
NEX and ILCE models only.
Valid for the ILCE-1/7SM3.
  'id'                 JUMBFID                  no
  'label'              JUMBFLabel               no
  'signature'          JUMBFSignature           no
  'type'               JUMBFType                no
And they extracted by default from MacOS "._" files when reading
Version: 12.23
[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 12.23
[File, System, Time] FileAccessDate - File Access Date/Time: 2021:04:01 13:20:48-04:00
[JUMBF, JUMBF, Image] type - JUMBF Type: cacb-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai
[JUMBF, JUMBF, Image] type - JUMBF Type: cast-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cb.reuters_1
[JUMBF, JUMBF, Image] type - JUMBF Type: caas-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.assertions
[JUMBF, JUMBF, Image] type - JUMBF Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: adobe.asset.info
[JUMBF, JUMBF, Image] type - JUMBF Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.location.broad
[JUMBF, JUMBF, Image] type - JUMBF Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.rights
[JUMBF, JUMBF, Image] type - JUMBF Type: cacb-####-####-######aa#####b##
[JUMBF, JUMBF, Image] label - JUMBF Label: cai
[JUMBF, JUMBF, Image] type - JUMBF Type: cast-####-####-######aa#####b##
[JUMBF, JUMBF, Image] label - JUMBF Label: cb.reuters_#
[JUMBF, JUMBF, Image] type - JUMBF Type: caas-####-####-######aa#####b##
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.assertions
[JUMBF, JUMBF, Image] type - JUMBF Type: json-####-####-######aa#####b##
[JUMBF, JUMBF, Image] label - JUMBF Label: adobe.asset.info
[JUMBF, JUMBF, Image] type - JUMBF Type: json-####-####-######aa#####b##
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.location.broad
[JUMBF, JUMBF, Image] type - JUMBF Type: json-####-####-######aa#####b##
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.rights
[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 12.23
[File, System, Time] FileModifyDate - File Modification Date/Time: 2021:04:01 13:21:08-04:00
[File, System, Time] FileAccessDate - File Access Date/Time: 2021:04:01 13:21:08-04:00
[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2021:04:01 13:21:08-04:00
[JUMBF, JUMBF, Image] type - JUMBF Type: cacb-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai
[JUMBF, JUMBF, Image] type - JUMBF Type: cast-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cb.reuters_1
[JUMBF, JUMBF, Image] type - JUMBF Type: caas-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.assertions
[JUMBF, JUMBF, Image] type - JUMBF Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: adobe.asset.info
[JUMBF, JUMBF, Image] type - JUMBF Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.location.broad
[JUMBF, JUMBF, Image] type - JUMBF Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] label - JUMBF Label: cai.rights
my $version = '12.23';
             -- Generated by ExifTool 12.23 --

Fixed code:
Apr. 13, 2021 - Version 12.24

  - Added a new PhaseOne RawFormat value (thanks LibRaw)
  - Decode a new Sony tag (thanks Jos Roost)
  - Decode a few new Panasonic and FujiFilm tags (thanks LibRaw and Greybeard)
  - Patched security vulnerability in DjVu reader
  - Updated acdsee.config in distribution (thanks StarGeek)
  - Recognize AutoCAD DXF files
  - More work on experimental JUMBF read support
  - More work on experimental JXL read/write support

   "version" : "12.24",
version: 12.24
  gzip -dc Image-ExifTool-12.24.tar.gz | tar -xf -
  cd Image-ExifTool-12.24
#               The following tags are created in the XMP-acdsee-rs group
#                   RegionInfoACDSee : The structured tag for the ACDSee regions
#                                      (similar to XMP-mwg-rs:RegionInfo)
#
#                   The following tags are the width, height, and unit of the
#                   image at the time of processing  when storing image region
#                   metadata.  They are similar to the AppliedToDimensions tags
#                   of the MWG regions.
#                       ACDSeeRegionAppliedToDimensionsH : Height of the image
#                       ACDSeeRegionAppliedToDimensionsUnit : Unit of the image
#                       ACDSeeRegionAppliedToDimensionsW : Width of the image
#
#                   Actual region data, stored in an array.  These flattened tags
#                   are treated as List Type tags.  There are two region types,
#                   the ALYArea and the DLYArea.  The ALYArea tags tags assigned
#                   by ACDSee and are usually square in dimensions.  The DLYArea
#                   tags are both the tags assigned by ACDSee (but possibly
#                   rectangular instead of square) as well as any  manual
#                   assigned tags.  They are similar to the area tags of the MWG
#                   regions.
#                       ACDSeeRegionDLYAreaH : Height of DLY region
#                       ACDSeeRegionDLYAreaW : Width of DLY region
#                       ACDSeeRegionDLYAreaX : X centerpoint of DLY region
#                       ACDSeeRegionDLYAreaY : Y centerpoint of DLY region
#                       ACDSeeRegionALYAreaH : Height of ALY region
#                       ACDSeeRegionALYAreaW : Width of ALY region
#                       ACDSeeRegionALYAreaX : X centerpoint of ALY region
#                       ACDSeeRegionALYAreaY : Y centerpoint of ALY region
#                       ACDSeeRegionName : Name of region
#                       ACDSeeRegionType : Type of region
#                       ACDSeeRegionNameAssignType : How the type was assigned.
#                                                    "Manual" is the only known
#                                                    entry at this time
#
#               Conversion tags.  These tags can be used to convert other region
#               type tags to ACDSee regions.
#                   MPRegion2ACDSeeRegion : Converts a Microsoft RegionInfoMP
#                   IPTCRegion2ACDSeeRegion : Converts an IPTC ImageRegion
#                   MWGRegion2ACDSeeRegion : Converts a MWG RegionInfo
#
# Usage:        To set individual tags
#               exiftool -config acdsee.config -ACDSEETAG=VALUE FILE ...
#
#               To convert Microsoft Regions to ACDSee regions
#               exiftool -config acdsee.config "-RegionInfoACDSee<MPRegion2ACDSeeRegion" File ...
#               To convert IPTC regions to ACDSee regions
#               exiftool -config acdsee.config "-RegionInfoACDSee<IPTCRegion2ACDSeeRegion" File ...
#               To convert MWG Regions to ACDSee regions
#               exiftool -config acdsee.config "-RegionInfoACDSee<MWGRegion2ACDSeeRegion" File ...
#               2021/04/08 - BKW Added tags to convert from Microsoft, IPTC,
#                            and MWG regions to ACDSee regions based upon
#                            convert_regions.config.  Expanded docs.
#                            Shortened ADCSee tag names and added shortcuts
#                            from original names to new names, for example
#                            "RegionInfoACDSeeAppliedToDimensions*" -> "ACDSeeRegionAppliedToDimensions*"
#                            "RegionInfoACDSeeRegionList* -> "ACDSeeRegion*"
use Data::Dumper;
    'w'         => { Writable => 'real' },
    'h'         => { Writable => 'real' },
    'unit'      => { },
    # new XMP namespaces for ACDSee regions
    'Image::ExifTool::Composite' => {
    # create an ACDSee RegionInfo structure from a Microsoft RegionInfoMP structure
        MPRegion2ACDSeeRegion => {
            Require => {
                0 => 'RegionInfoMP',
                1 => 'ImageWidth',
                2 => 'ImageHeight',
            },
            ValueConv => q{
                my ($rgn, @newRgns);
                foreach $rgn (@{$val[0]{Regions}}) {
                    my $name = $$rgn{PersonDisplayName};
                    next unless $$rgn{Rectangle} or defined $name;
                    my %newRgn = ( Type => 'Face' );
                    if (defined $name) {
                        # don't add ignored faces
                        next if $name eq 'ffffffffffffffff';
                        $newRgn{Name} = $name;
                    }
                    if ($$rgn{Rectangle}) {
                        my @rect = split /\s*,\s*/, $$rgn{Rectangle};
                        $newRgn{DLYArea} = {
                            X => $rect[0] + $rect[2]/2,
                            Y => $rect[1] + $rect[3]/2,
                            W => $rect[2],
                            H => $rect[3],
                        } if @rect == 4;
                    }
                    push @newRgns, \%newRgn;
                }
                return {
                    AppliedToDimensions => { W => $val[1], H => $val[2], Unit => 'pixel' },
                    RegionList => \@newRgns,
                };
            },
        },
        # create an ACDSee RegionInfo structure from an IPTC ImageRegion list
        IPTCRegion2ACDSeeRegion => {
            Require => {
                0 => 'ImageRegion',
                1 => 'ImageWidth',
                2 => 'ImageHeight',
            },
            ValueConv => q{
                my ($rgn, @newRgns);
                my $rgns = ref $val[0] eq 'ARRAY' ? $val[0] : [ $val[0] ]; 
                foreach $rgn (@$rgns) {
                    my %newRgn = ( Type => 'Face' );
                    if ($$rgn{RegionBoundary} and $$rgn{RegionBoundary}{RbShape} eq 'rectangle') {
                        my @rect = @{$$rgn{RegionBoundary}}{'RbX','RbY','RbW','RbH'};
                        if ($$rgn{RegionBoundary}{RbUnit} eq 'pixel') {
                            $rect[0] /= $val[1],  $rect[2] /= $val[1];
                            $rect[1] /= $val[2];  $rect[3] /= $val[2];
                        }
                        $newRgn{'DLYArea'} = {
                            X => $rect[0] + $rect[2]/2,
                            Y => $rect[1] + $rect[3]/2,
                            W => $rect[2],
                            H => $rect[3],
                        };
                    } else {
                        next unless defined $$rgn{Name};
                    }
                    $newRgn{Name} = $$rgn{Name} if defined $$rgn{Name};
                    push @newRgns, \%newRgn;
                }
                return {
                    AppliedToDimensions => { 'W' => $val[1], 'H' => $val[2], 'Unit' => 'pixel' },
                    RegionList => \@newRgns,
                };
            },
        },

        # create an MWG RegionInfo structure from an IPTC ImageRegion list
        MWGRegion2ACDSeeRegion => {
            Require => {
                0 => 'RegionInfo',
                1 => 'ImageWidth',
                2 => 'ImageHeight',
            },
            ValueConv => q{
                my ($rgn, @newRgns);
                my %newRgn;
                foreach $rgn (@{$val[0]{RegionList}}) {
                    next unless $$rgn{Area} or defined $$rgn{Name};
                    my %newRgn;
                    if ($$rgn{Area}) {
                        $newRgn{'DLYArea'} = {
                            'X' => $$rgn{Area}{'X'},
                            'Y' => $$rgn{Area}{'Y'},
                            'W' => $$rgn{Area}{'W'},
                            'H' => $$rgn{Area}{'H'},
                        };
                    };
                    $newRgn{Name} = $$rgn{Name} if defined $$rgn{Name};
                    $newRgn{'Type'} = $$rgn{'Type'} if defined $$rgn{'Type'};
                    push @newRgns, \%newRgn;
                }
                return {
                    'AppliedToDimensions' => $val[0]{'AppliedToDimensions'},
                    RegionList => \@newRgns,
                }
            },
        },
        ####
    },
        FlatName => 'ACDSee',
                FlatName => 'Region',
            AppliedToDimensions => { 
            FlatName => 'RegionAppliedToDimensions',Struct => \%sACDSeeDimensions },
# Shortcuts to old names added so as not to break previously used commands
%Image::ExifTool::UserDefined::Shortcuts = (
    RegionInfoACDSeeAppliedToDimensionsH        => 'ACDSeeRegionAppliedToDimensionsH',
    RegionInfoACDSeeAppliedToDimensionsUnit     => 'ACDSeeRegionAppliedToDimensionsUnit',
    RegionInfoACDSeeAppliedToDimensionsW        => 'ACDSeeRegionAppliedToDimensionsW',
    RegionInfoACDSeeRegionListDLYAreaH          => 'ACDSeeRegionDLYAreaH',
    RegionInfoACDSeeRegionListDLYAreaW          => 'ACDSeeRegionDLYAreaW',
    RegionInfoACDSeeRegionListDLYAreaX          => 'ACDSeeRegionDLYAreaX',  
    RegionInfoACDSeeRegionListDLYAreaY          => 'ACDSeeRegionDLYAreaY',
    RegionInfoACDSeeRegionListALGAreaH          => 'ACDSeeRegionALGAreaH',
    RegionInfoACDSeeRegionListALGAreaW          => 'ACDSeeRegionALGAreaW',
    RegionInfoACDSeeRegionListALGAreaX          => 'ACDSeeRegionALGAreaX',
    RegionInfoACDSeeRegionListALGAreaY          => 'ACDSeeRegionALGAreaY',
    RegionInfoACDSeeRegionListName              => 'ACDSeeRegionName',
    RegionInfoACDSeeRegionListType              => 'ACDSeeRegionType',
    RegionInfoACDSeeRegionListNameAssignType    => 'ACDSeeRegionNameAssignType',
);

# Forced -struct option during debugging
#%Image::ExifTool::UserDefined::Options = (
#   Struct => 1,
#);
my $version = '12.24';
    -- Generated by ExifTool 12.24 --
    (mentioned in the <a href="TagNames/index.html">Tag Name documentation</a>) as a block.</td>
    of some additional tags as mentioned in the <a href="TagNames/index.html">Tag Name documentation</a>.</td>
(                           -- Image::ExifTool 12.24 --                                     1)Tj
(                           -- Image::ExifTool 12.24 --                                     2)Tj
(                           -- Image::ExifTool 12.24 --                                     3)Tj
(                           -- Image::ExifTool 12.24 --                                     4)Tj
(                           -- Image::ExifTool 12.24 --                                     5)Tj
/Length 3828
(                           -- Image::ExifTool 12.24 --                                     6)Tj
(               Flag to extract some directories \(mentioned in the ExifTool tag)Tj
(               name documentation\) as a block.  Setting this to a value of 2)Tj
(               also prevents parsing the block to extract tags contained)Tj
T*
(               within.)Tj
/Length 4742
(                           -- Image::ExifTool 12.24 --                                     7)Tj
(           ByteOrder)Tj
(               The byte order for newly created EXIF segments when writing.)Tj
T*
/Length 4413
(                           -- Image::ExifTool 12.24 --                                     8)Tj
(               Note that this option affects some types of information when)Tj
(               reading/writing the file and other types when getting/setting)Tj
T*
/Length 4970
(                           -- Image::ExifTool 12.24 --                                     9)Tj
(               Format for printing date/time values.  See "strftime" in the)Tj
(               POSIX package for details about the format string.  If date can)Tj
T*
/Length 4500
(                           -- Image::ExifTool 12.24 --                                    10)Tj
(               and FileType are generated.  For 3, the file header is read to)Tj
(               provide an educated guess at FileType.  For 4, the file is not)Tj
T*
/Length 4721
(                           -- Image::ExifTool 12.24 --                                    11)Tj
(                   'K', 'k' or 'km/h'  - km/h)Tj
(                   'M', 'm' or 'mph'   - mph)Tj
T*
/Length 4308
(                           -- Image::ExifTool 12.24 --                                    12)Tj
0 -1.6333 TD
(               ValueConv values.  Default is ', '.)Tj
0 -2.2 TD
/Length 4459
(                           -- Image::ExifTool 12.24 --                                    13)Tj
(               Flag to request all tags to be extracted.  This causes some)Tj
(               tags to be generated which normally would not be unless)Tj
T*
/Length 4325
(                           -- Image::ExifTool 12.24 --                                    14)Tj
(               of causing the date/time to be reformatted according to PNG 1.2)Tj
(               recommendation \(RFC-1123\) when writing, and a warning to be)Tj
T*
/Length 4218
(                           -- Image::ExifTool 12.24 --                                    15)Tj
0 -2.7333 TD
/Length 4168
(                           -- Image::ExifTool 12.24 --                                    16)Tj
0 -1.6333 TD
(           XMPAutoConv.)Tj
0 -2.2 TD
/Length 4009
(                           -- Image::ExifTool 12.24 --                                    17)Tj
0 -2.7333 TD
/Length 4352
(                           -- Image::ExifTool 12.24 --                                    18)Tj
0 -1.6333 TD
(           'Group#'\))Tj
(           3\) [optional] Secondary sort order \('File', 'Tag' or 'Descr'\))Tj
T*
/Length 3961
(                           -- Image::ExifTool 12.24 --                                    19)Tj
0 -1.6333 TD
(       an optional group specifier\), use "GetInfo" instead.)Tj
0 -2.2 TD
/Length 4027
(                           -- Image::ExifTool 12.24 --                                    20)Tj
0 -1.6333 TD
(           $success = $exifTool->SetNewValue\($tag, $value\);)Tj
0 -2.2 TD
(                           -- Image::ExifTool 12.24 --                                    21)Tj
(           using a Group option argument.  Also, a '#' may be appended to the)Tj
(           tag name \(eg. 'EXIF:Orientation#'\), with the same effect as setting)Tj
T*
(                           -- Image::ExifTool 12.24 --                                    22)Tj
0 -1.6333 TD
(               names indicating 'unsafe' and 'protected' tags.  Default is 0.)Tj
0 -2.2 TD
/Length 4656
(                           -- Image::ExifTool 12.24 --                                    23)Tj
(           1\) Tag name \(case sensitive, may be prefixed by family 0, 1 or 7)Tj
0 -1.1 TD
/Length 4480
(                           -- Image::ExifTool 12.24 --                                    24)Tj
(           and/or suffixed by a '#' to disable print conversion.  Copied tags)Tj
(           may also be added or deleted from a list with arguments of the form)Tj
T*
/Length 4371
(                           -- Image::ExifTool 12.24 --                                    25)Tj
(           The "Struct" option is enabled by default for tags extracted by)Tj
(           this routine.  This allows the hierarchy of complex structures to)Tj
T*
/Length 4104
(                           -- Image::ExifTool 12.24 --                                    26)Tj
(       Notes:)Tj
(           Equivalent to, but more efficient than calling "WriteInfo" when)Tj
T*
/Length 3733
(                           -- Image::ExifTool 12.24 --                                    27)Tj
0 -1.6333 TD
(           0\) ExifTool object reference)Tj
0 -2.2 TD
/Length 5021
(                           -- Image::ExifTool 12.24 --                                    28)Tj
(           The string is simplified to remove a leading 'Main:' and adjacent)Tj
0 -1.1 TD
/Length 4380
(                           -- Image::ExifTool 12.24 --                                    29)Tj
0 -1.6333 TD
(           See "GetAllGroups [static]" for complete lists of group names.)Tj
0 -2.2 TD
/Length 4886
(                           -- Image::ExifTool 12.24 --                                    30)Tj
(       Return Values:)Tj
0 -1.1 TD
/Length 4812
(                           -- Image::ExifTool 12.24 --                                    31)Tj
(           view, ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2,)Tj
(           ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC, Insta360,)Tj
T*
/Length 4896
(                           -- Image::ExifTool 12.24 --                                    32)Tj
(       Return Values:)Tj
(           A list of deletable group names in alphabetical order.  The current)Tj
T*
/Length 4690
(                           -- Image::ExifTool 12.24 --                                    33)Tj
0 -1.6333 TD
(           my $creatable = Image::ExifTool::CanCreate\($filename\);)Tj
0 -2.2 TD
/Length 5396
(                           -- Image::ExifTool 12.24 --                                    34)Tj
(           The encodings used to store strings in the various metadata)Tj
(           formats.  These encodings may be changed for certain types of)Tj
T*
/Length 4692
(                           -- Image::ExifTool 12.24 --                                    35)Tj
0 -2.7333 TD
/Length 5257
(                           -- Image::ExifTool 12.24 --                                    36)Tj
0 -1.6333 TD
(       respectively.)Tj
0 -2.2 TD
(perl v5.18.4                      2021-04-13                       EXIFTOOL\(1\))Tj
/CreationDate (D:20210413110922-04'00')
/ModDate (D:20210413110922-04'00')
0000170479 00000 n 
0000169480 00000 n 
0000169881 00000 n 
0000168945 00000 n 
0000173581 00000 n 
0000170559 00000 n 
0000170640 00000 n 
0000170723 00000 n 
0000170806 00000 n 
0000170889 00000 n 
0000028248 00000 n 
0000170972 00000 n 
0000028355 00000 n 
0000033150 00000 n 
0000171055 00000 n 
0000033257 00000 n 
0000037723 00000 n 
0000171138 00000 n 
0000037830 00000 n 
0000042853 00000 n 
0000171221 00000 n 
0000042960 00000 n 
0000047513 00000 n 
0000171304 00000 n 
0000047620 00000 n 
0000052394 00000 n 
0000174107 00000 n 
0000173716 00000 n 
0000171388 00000 n 
0000052501 00000 n 
0000056862 00000 n 
0000171472 00000 n 
0000056969 00000 n 
0000061481 00000 n 
0000171556 00000 n 
0000061588 00000 n 
0000065966 00000 n 
0000171640 00000 n 
0000066073 00000 n 
0000070344 00000 n 
0000171724 00000 n 
0000070451 00000 n 
0000074672 00000 n 
0000171808 00000 n 
0000074779 00000 n 
0000078841 00000 n 
0000171892 00000 n 
0000078948 00000 n 
0000083353 00000 n 
0000171976 00000 n 
0000083460 00000 n 
0000087474 00000 n 
0000172060 00000 n 
0000087581 00000 n 
0000091661 00000 n 
0000172144 00000 n 
0000091768 00000 n 
0000096460 00000 n 
0000173854 00000 n 
0000172228 00000 n 
0000096567 00000 n 
0000101213 00000 n 
0000172312 00000 n 
0000101320 00000 n 
0000106029 00000 n 
0000172396 00000 n 
0000106136 00000 n 
0000110669 00000 n 
0000172480 00000 n 
0000110776 00000 n 
0000115200 00000 n 
0000172564 00000 n 
0000115307 00000 n 
0000119464 00000 n 
0000172648 00000 n 
0000119571 00000 n 
0000123357 00000 n 
0000172732 00000 n 
0000123464 00000 n 
0000128538 00000 n 
0000172816 00000 n 
0000128645 00000 n 
0000133078 00000 n 
0000172900 00000 n 
0000133185 00000 n 
0000138124 00000 n 
0000172984 00000 n 
0000138231 00000 n 
0000143096 00000 n 
0000173992 00000 n 
0000173070 00000 n 
0000143204 00000 n 
0000148154 00000 n 
0000173158 00000 n 
0000148262 00000 n 
0000153006 00000 n 
0000173246 00000 n 
0000153114 00000 n 
0000158564 00000 n 
0000173334 00000 n 
0000158672 00000 n 
0000163418 00000 n 
0000173422 00000 n 
0000163526 00000 n 
0000168837 00000 n 
0000169085 00000 n 
0000169288 00000 n 
0000173510 00000 n 
0000173539 00000 n 
0000174213 00000 n 
0000174337 00000 n 
/ID [<560ec6fe6e5440771a95f440aabbe0e8><560ec6fe6e5440771a95f440aabbe0e8>]
174409
/CreationDate (D:20210413110922-04'00')
/ModDate (D:20210413110922-04'00')
/ID [<aaba228f321479095b428dfe7ef65dcb><aaba228f321479095b428dfe7ef65dcb>]
  <br>2 = No flash &amp; flash
  <br>6 = Pixel Shift</span></td></tr>
<td title='0x1105 = 4357'>0x1105</td>
<td>PixelShiftShots</td>
<td class=c>int16u</td>
<td>&nbsp;</td></tr>
<tr>
<td title='0x1106 = 4358'>0x1106</td>
<td>PixelShiftOffset</td>
<td class=c>rational64s[2]</td>
<td>&nbsp;</td></tr>
<tr class=b>
<td><span class=s>[val &amp; 0xf]
  <br>2 = AF-C</span></td></tr>
<td>PreAF</td>
<td class=c>int32u</td>
<td><span class=s>[val &gt;&gt; 4 &amp; 0xf]
  <br>0 = Off
  <br>1 = On</span></td></tr>
<tr>
<td class=r title='0 = 0x0'>0.3</td>
<tr class=b>
<td class=r title='0 = 0x0'>0.4</td>
<tr>
<td class=r title='0 = 0x0'>0.5</td>
<br><i>Last revised Apr 13, 2021</i>
<td>'jumd-flags'</td>
<td>JUMDFlags</td>
<td><span class=s>Bit 0 = Requestable
  <br>Bit 1 = Label
  <br>Bit 2 = ID
  <br>Bit 3 = Signature</span></td></tr>
<td>'jumd-id'</td>
<td>JUMDID</td>
<td>'jumd-label'</td>
<td>JUMDLabel</td>
<td>'jumd-sig'</td>
<td>JUMDSignature</td>
<td class=c>no</td>
<td>&nbsp;</td></tr>
<tr>
<td>'jumd-type'</td>
<td>JUMDType</td>
<br><i>Last revised Apr 13, 2021</i>
And they are extracted by default from MacOS &quot;._&quot; files when reading
<br><i>Last revised Apr 13, 2021</i>
<tr>
<td title='0x035b = 859'>0x035b</td>
<td>CorrelatedColorTemp</td>
<td class=c>int16u</td>
<td>&nbsp;</td></tr>
<tr class=b>
<td title='0x035c = 860'>0x035c</td>
<td>ColorTint</td>
<td class=c>int16s</td>
<td>&nbsp;</td></tr>
<tr>
<td title='0x035d = 861'>0x035d</td>
<td>WhitePoint</td>
<td class=c>rational64u[2]</td>
<td>&nbsp;</td></tr>
<br><i>Last revised Apr 13, 2021</i>
<td><table class=cols><tr>
  <td>1 = RAW 1
  <br>3 = IIQ L</td><td>&nbsp;&nbsp;</td>
  <td>5 = IIQ S
  <br>6 = IIQ Sv2
  <br>8 = IIQ L16</td></tr></table>
</td></tr>
<br><i>Last revised Apr 13, 2021</i>
  <br>6 = RAW + JPEG/HEIF
  <br>9 = Light
  <br>&#39;0 1&#39; = Standard
  <br>&#39;0 2&#39; = Fine
  <br>&#39;0 3&#39; = Extra Fine
  <br>&#39;0 4&#39; = Light
  <br>&#39;1 1&#39; = RAW + Standard
  <br>&#39;1 2&#39; = RAW + Fine
  <br>&#39;1 3&#39; = RAW + Extra Fine
  <br>&#39;1 4&#39; = RAW + Light</td></tr></table>
<td title='0x2032 = 8242'>0x2032</td>
<td>Shadows</td>
<td class=c>int32s</td>
<td>&nbsp;</td></tr>
<tr>
<td title='0x2033 = 8243'>0x2033</td>
<td>Highlights</td>
<td class=c>int32s</td>
<td>&nbsp;</td></tr>
<tr class=b>
<td title='0x2034 = 8244'>0x2034</td>
<td>Fade</td>
<td class=c>int32s</td>
<td>&nbsp;</td></tr>
<tr>
<td title='0x2035 = 8245'>0x2035</td>
<td>SharpnessRange</td>
<td class=c>int32s</td>
<td>&nbsp;</td></tr>
<tr class=b>
<td title='0x2036 = 8246'>0x2036</td>
<td>Clarity</td>
<td class=c>int32s</td>
<td>&nbsp;</td></tr>
<tr>
<td title='0x2037 = 8247'>0x2037</td>
<td>FocusFrameSize</td>
<td class=c>no</td>
<td>&nbsp;</td></tr>
<tr class=b>
<td title='0x2039 = 8249'>0x2039</td>
<td>JPEG-HEIFSwitch</td>
<td class=c>int16u</td>
<td><span class=s>0 = JPEG
  <br>1 = HEIF
  <br>65535 = n/a</span></td></tr>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
<tr>
<tr class=b>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
<p>Valid from July 2020 for ILCE-1/7SM3, ILME-FX3.</p>
<tr class=b>
<td class=r title='138 = 0x8a'>138</td>
<td>InternalSerialNumber</td>
<td class=c title=' ~ = Writable only with -n'>int8u[6]~</td>
<td>&nbsp;</td></tr>
  <br>3 = JPEG + MPO
  <br>1 = JPEG
  <br>2 = RAW
  <br>3 = RAW + JPEG
  <br>4 = HEIF
  <br>6 = RAW + HEIF</span></td></tr>
<p>E-mount cameras only.</p>
<p>Valid for the ILCE-1/7SM3, ILME-FX3.</p>
  <br>34 = Gamma HLG3
  <br>37 = FL
  <br>39 = IN
  <br>40 = SH</td></tr></table>
<br><i>Last revised Apr 13, 2021</i>
They contain a total of 24118 tags, with 15614 unique tag names.
<br><i>Last revised Apr 13, 2021</i>
<pre><code>    -- Generated by ExifTool 12.24 --
(                              -- ExifTool 12.24 --                                     1)Tj
(                              -- ExifTool 12.24 --                                     2)Tj
(                              -- ExifTool 12.24 --                                     3)Tj
(                              -- ExifTool 12.24 --                                     4)Tj
(                              -- ExifTool 12.24 --                                     5)Tj
(                              -- ExifTool 12.24 --                                     6)Tj
(                              -- ExifTool 12.24 --                                     7)Tj
(                              -- ExifTool 12.24 --                                     8)Tj
(                              -- ExifTool 12.24 --                                     9)Tj
(                              -- ExifTool 12.24 --                                    10)Tj
(                              -- ExifTool 12.24 --                                    11)Tj
(                              -- ExifTool 12.24 --                                    12)Tj
(                              -- ExifTool 12.24 --                                    13)Tj
(                              -- ExifTool 12.24 --                                    14)Tj
(                              -- ExifTool 12.24 --                                    15)Tj
(                -- Generated by ExifTool 12.24 --)Tj
(                              -- ExifTool 12.24 --                                    16)Tj
(                              -- ExifTool 12.24 --                                    17)Tj
(                              -- ExifTool 12.24 --                                    18)Tj
(                              -- ExifTool 12.24 --                                    19)Tj
(                              -- ExifTool 12.24 --                                    20)Tj
(                              -- ExifTool 12.24 --                                    21)Tj
(                              -- ExifTool 12.24 --                                    22)Tj
(                              -- ExifTool 12.24 --                                    23)Tj
(                              -- ExifTool 12.24 --                                    24)Tj
(                              -- ExifTool 12.24 --                                    25)Tj
(                              -- ExifTool 12.24 --                                    26)Tj
(                              -- ExifTool 12.24 --                                    27)Tj
(                              -- ExifTool 12.24 --                                    28)Tj
(                              -- ExifTool 12.24 --                                    29)Tj
(                              -- ExifTool 12.24 --                                    30)Tj
(                              -- ExifTool 12.24 --                                    31)Tj
(                              -- ExifTool 12.24 --                                    32)Tj
(                              -- ExifTool 12.24 --                                    33)Tj
(                              -- ExifTool 12.24 --                                    34)Tj
(                              -- ExifTool 12.24 --                                    35)Tj
(                              -- ExifTool 12.24 --                                    36)Tj
(                              -- ExifTool 12.24 --                                    37)Tj
(                              -- ExifTool 12.24 --                                    38)Tj
(                              -- ExifTool 12.24 --                                    39)Tj
(perl v5.18.4                      2021-04-13                       EXIFTOOL\(1\))Tj
/CreationDate (D:20210413110921-04'00')
/ModDate (D:20210413110921-04'00')
/ID [<88f6ccfb20ef49d8fb5d8a90914f5aa9><88f6ccfb20ef49d8fb5d8a90914f5aa9>]
<a name='v12.24'><b>Apr. 13, 2021 - Version 12.24</b></a>
<ul>
<li>Added a new PhaseOne RawFormat value (thanks LibRaw)
<li>Decode a new Sony tag (thanks Jos Roost)
<li>Decode a few new Panasonic and FujiFilm tags (thanks LibRaw and Greybeard)
<li>Patched security vulnerability in DjVu reader
<li>Updated acdsee.config in distribution (thanks StarGeek)
<li>Recognize AutoCAD DXF files
<li>More work on experimental JUMBF read support
<li>More work on experimental JXL read/write support
</ul>

    <li>Added <a href="ExifTool.html#BlockExtract">BlockExtract option</a>
<a href="http://sourceforge.net/projects/exiftool/files/Image-ExifTool-12.24.tar.gz/download">
Download        Version 12.24</a> (4.7 MB) -
<a href="history.html">Apr. 13, 2021</a></b></td></tr></table></blockquote>
<a href="http://sourceforge.net/projects/exiftool/files/exiftool-12.24.zip/download">
         exiftool-12.24.zip</a> (6.4 MB)</b></td></tr></table></blockquote>
         ExifTool-12.24.dmg</a> (3.0 MB)</b></td></tr></table></blockquote>
<br><span class=lt>(The file you download should be named "<code>exiftool-12.24.zip</code>".)</span></li>
<br><span class=lt>(Double-click on "<code>exiftool-12.24.zip</code>" to open
<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.24.tar.gz</code>".)</span></li>
<br><span class=lt>(The file you download should be named "<code>ExifTool-12.24.dmg</code>".)</span></li>
<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.24.tar.gz</code>".)</span></li>
    tar -xzf Image-ExifTool-12.24.tar.gz
    cd Image-ExifTool-12.24
<blockquote class=red>"ExifTool-12.24.pkg" can't be opened because it is from an
<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.24.tar.gz</code>".)</span></li>
    gzip -dc Image-ExifTool-12.24.tar.gz | tar -xf -
    cd Image-ExifTool-12.24
$VERSION = '12.24';
                MacOS PHP PCX DCX DWF DWG DXF WTV Torrent VCard LRI R3D AA PDB
                JXL MOI ISO ALIAS JSON MP3 DICOM PCD TXT);
                    X3F PS PDF ICC VRD DR4 JP2 JXL EXIF AI AIT IND MOV EXV FLIF);
    JP2  => [ qw(J2C JPC) ],
    DXF  => ['DXF',  'AutoCAD Drawing Exchange Format'],
    JXL  => ['JXL',  'JPEG XL'],
    DXF  => 'application/dxf',
    DXF  => 0,
    DXF  => '\s*0\s+\0?\s*SECTION\s+2\s+HEADER',
    JP2  => '(\0\0\0\x0cjP(  |\x1a\x1a)\x0d\x0a\x87\x0a|\xff\x4f\xff\x51\0)',
    JXL  => '\xff\x0a|\0\0\0\x0cJXL \x0d\x0a......ftypjxl ',
Flag to extract some directories (mentioned in the
L<ExifTool tag name documentation|Image::ExifTool::TagNames>) as a block. 
Setting this to a value of 2 also prevents parsing the block to extract tags
contained within.
$VERSION = '1.07';
            # convert C escape sequences, allowed in quoted text
            # (note: this only converts a few of them!)
            my %esc = ( a => "\a", b => "\b", f => "\f", n => "\n",
                        r => "\r", t => "\t", '"' => '"', '\\' => '\\' );
            $tok =~ s/\\(.)/$esc{$1}||'\\'.$1/egs;
$VERSION = '1.80';
            6 => 'Pixel Shift', #IB (GFX100S)
    0x1105 => { Name => 'PixelShiftShots',  Writable => 'int16u' }, #IB
    0x1106 => { Name => 'PixelShiftOffset', Writable => 'rational64s', Count => 2 }, #IB
        Mask => 0x0000000f,
            0x0 => 'AF-M',
            0x1 => 'AF-S',
            0x2 => 'AF-C',
        Name => 'PreAF',
        Mask => 0x00f0,
        PrintConv => {
            0 => 'Off',
            1 => 'On',
        },
    },
    0.3 => {
    0.4 => {
    0.5 => {
    'jumd-type' => {
        Name => 'JUMDType',
    'jumd-label' => { Name => 'JUMDLabel' },
    'jumd-flags' => {
        Name => 'JUMDFlags',
        PrintConv => { BITMASK => {
            0 => 'Requestable',
            1 => 'Label',
            2 => 'ID',
            3 => 'Signature',
        }},
    },
    'jumd-id'    => { Name => 'JUMDID', Description => 'JUMD ID' },
    'jumd-sig'   => { Name => 'JUMDSignature', PrintConv => 'unpack "H*", $val' },
    $et->HandleTag($tagTablePtr, 'jumd-type', substr($$dataPt, $pos, 16));
    $et->HandleTag($tagTablePtr, 'jumd-flags', $flags);
        $et->HandleTag($tagTablePtr, 'jumd-label', $name);
        $et->HandleTag($tagTablePtr, 'jumd-id', Get32u($dataPt, $pos));
        $et->HandleTag($tagTablePtr, 'jumd-sig', substr($$dataPt, $pos, 32));
# Returns: 1
    return 1;
            $$et{IsJXL})
# Returns: 1 on success, 0 if this wasn't a valid JPEG XL file, -1 on write error
    my $raf = $$dirInfo{RAF};
    my $outfile = $$dirInfo{OutFile};
    my ($hdr, $buff);

    return 0 unless $raf->Read($hdr,12) == 12;
    if ($hdr eq "\0\0\0\x0cJXL \x0d\x0a\x87\x0a") {
        # JPEG XL in ISO BMFF container
        $$et{IsJXL} = 1;
    } elsif ($hdr =~ /^\xff\x0a/) {
        # JPEG XL codestream
        if ($outfile) {
            if ($$et{OPTIONS}{IgnoreMinorErrors}) {
                $et->Warn('Wrapped JXL codestream in ISO BMFF container');
            } else {
                $et->Error('Will wrap JXL codestream in ISO BMFF container for writing',1);
                return 0;
            }
            $$et{IsJXL} = 2;
            my $buff = "\0\0\0\x0cJXL \x0d\x0a\x87\x0a\0\0\0\x14ftypjxl \0\0\0\0jxl ";
            # add metadata to empty ISO BMFF container
            $$dirInfo{RAF} = new File::RandomAccess(\$buff);
        } else {
            $et->Warn('JPEG XL codestream support is currently experimental',1);
            $et->SetFileType('JXL Codestream','image/jxl', 'jxl');
            return ProcessJXLCodestream($et, \$hdr);
        }
    } else {
        return 0;
    }
    $raf->Seek(0,0) or $et->Error('Seek error'), return 0;
    $et->Warn('JPEG XL support is currently experimental',1);

    my $success = ProcessJP2($et, $dirInfo);

    if ($outfile and $success > 0 and $$et{IsJXL} == 2) {
        # attach the JXL codestream box to the ISO BMFF file
        $raf->Seek(0,2) or return -1;
        my $size = $raf->Tell();
        $raf->Seek(0,0) or return -1;
        SetByteOrder('MM');
        Write($outfile, Set32u($size + 8), 'jxlc') or return -1;
        while ($raf->Read($buff, 65536)) {
            Write($outfile, $buff) or return -1;
        }
    }
    return $success;
        And they are extracted by default from MacOS "._" files when reading
                # 100ns intervals since Jan 1, 1601
        } elsif ($format eq 'vt_filetime') { # 'date' value inside a VT_VARIANT
                # 100ns intervals since Jan 1, 1601
    # 0x357 int32u - 0=DNG, 3162=JPG (ref 23)
    0x035b => { #IB
        Name => 'CorrelatedColorTemp', # (in Kelvin)
        Writable => 'int16u',
    },
    0x035c => { #IB
        Name => 'ColorTint', # (same units as Adobe is using)
        Writable => 'int16s',
    },
    0x035d => { #IB
        Name => 'WhitePoint', # (x/y)
        Writable => 'rational64u',
        Count => 2,
    },
$VERSION = '1.07';
            3 => 'IIQ L', # (now "L14", ref IB)
            6 => 'IIQ Sv2', # (now "S14" for "IIQ 14 Smart" and "IIQ 14 Sensor+", ref IB)
            8 => 'IIQ L16', #IB ("IIQ 16 Extended" and "IIQ 16 Large")
$VERSION = '3.40';
            6 => 'RAW + JPEG/HEIF',
            9 => 'Light', #JR
            ($$self{Model} =~ /^(SLT-|HV)/) or ($$self{Model} =~ /^(ILCE-|ILME-)/ and
            '0 1' => 'Standard',
            '0 2' => 'Fine',
            '0 3' => 'Extra Fine',
            '0 4' => 'Light', #JR
            '1 1' => 'RAW + Standard',
            '1 2' => 'RAW + Fine',
            '1 3' => 'RAW + Extra Fine',
            '1 4' => 'RAW + Light', #JR
# 0x2032 - 0x2039: from July 2020 for ILCE-7SM3, ILCE-1, ILME-FX3 and newer
    0x2032 => {
        Name => 'Shadows',
        Writable => 'int32s',
        PrintConv => '$val > 0 ? "+$val" : $val',
        PrintConvInv => '$val',
    },
    0x2033 => {
        Name => 'Highlights',
        Writable => 'int32s',
        PrintConv => '$val > 0 ? "+$val" : $val',
        PrintConvInv => '$val',
    },
    0x2034 => {
        Name => 'Fade',
        Writable => 'int32s',
        PrintConv => '$val > 0 ? "+$val" : $val',
        PrintConvInv => '$val',
    },
    0x2035 => {
        Name => 'SharpnessRange',
        Writable => 'int32s',
        PrintConv => '$val > 0 ? "+$val" : $val',
        PrintConvInv => '$val',
    },
    0x2036 => {
        Name => 'Clarity',
        Writable => 'int32s',
        PrintConv => '$val > 0 ? "+$val" : $val',
        PrintConvInv => '$val',
    },
    0x2037 => {
        Name => 'FocusFrameSize',
        Format => 'int16u',
        Count => '3',
        PrintConv => q{
            my @a = split ' ', $val;
            return $a[2] ? sprintf('%3dx%3d', $a[0], $a[1]) : 'n/a';
        },
        PrintConvInv => '$val =~ /(\d+)x(\d+)/ ? "$1 $2 257" : "0 0 0"',
    },
    0x2039 => { #JR
        Name => 'JPEG-HEIFSwitch', # (name used in camera menus)
        Writable => 'int16u',
        PrintConv => {
            0 => 'JPEG',
            1 => 'HEIF',
            65535 => 'n/a',
        },
    },
    # 0x31 (e) for ILCE-1/7SM3, ILME-FX3
        37 => 'FL',
        39 => 'IN',
        40 => 'SH',
        Valid from July 2020 for ILCE-1/7SM3, ILME-FX3.
        Condition => '$$self{Model} =~ /^(ILCE-7SM3|ILME-FX3)/',
        Format => 'int8u[6]',
        PrintConv => 'unpack "H*", pack "C*", split " ", $val',
    },
    0x008a => {
        Name => 'InternalSerialNumber', #(NC)
        Condition => '$$self{Model} =~ /^(ILCE-1)/',
    0x002a => [{
    },{
        Name => 'Quality2',
        Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
        PrintConv => {
            1 => 'JPEG',
            2 => 'RAW',
            3 => 'RAW + JPEG',
            4 => 'HEIF',
            6 => 'RAW + HEIF',
        },
    }],
    NOTES => 'E-mount cameras only.',
    NOTES => 'Valid for the ILCE-1/7SM3, ILME-FX3.',
	'afareamode' => { 124 => '0.3', 177 => 0x33, 181 => 0xe, 189 => 0x0, 190 => 0x5, 311 => 0xf, 378 => 0x1205, 391 => [0xa,0x3a], 398 => 0x11, 399 => 0x10, 400 => 0x24, 411 => 0xb043, 435 => 0x17 },
	'afareapointsize' => { 124 => '0.4' },
	'afareazonesize' => { 124 => '0.5' },
	'clarity' => { 225 => 0x35, 226 => 0x3d, 411 => 0x2036, 468 => 'Clarity', 470 => 'Clarity' },
	'colortint' => { 310 => 0x35c },
	'correlatedcolortemp' => { 310 => 0x35b },
	'fade' => { 411 => 0x2034 },
	'highlights' => { 411 => 0x2033, 462 => 'Highlights' },
	'internalserialnumber' => { 62 => 0x96, 74 => 0x9, 125 => 0x10, 184 => 0x49dc, 287 => 0x18, 289 => 0x102, 308 => 0x500, 311 => 0x25, 326 => 0x4, 378 => 0x5, 429 => [0x7c,0xf0], 430 => 0x88, 431 => [0x88,0x8a] },
	'jpeg-heifswitch' => { 411 => 0x2039 },
	'pixelshiftoffset' => { 125 => 0x1106 },
	'pixelshiftshots' => { 125 => 0x1105 },
	'preaf' => { 124 => '0.2' },
	'shadows' => { 117 => 0xfe52, 411 => 0x2032, 462 => 'Shadows', 468 => 'Shadows', 470 => 'Shadows' },
	'sharpnessrange' => { 411 => 0x2035 },
	'whitepoint' => { 117 => 0x13e, 310 => 0x35d, 346 => 0x201, 490 => 'WhitePoint' },
	'focusframesize' => 1,
	'jumdflags' => 1,
	'jumdid' => 1,
	'jumdlabel' => 1,
	'jumdsignature' => 1,
	'jumdtype' => 1,
They contain a total of 24118 tags, with 15614 unique tag names.
  0x1105   PixelShiftShots                      int16u
  0x1106   PixelShiftOffset                     rational64s[2]
    0.1    FocusMode2                           int32u & 0x0f
    0.2    PreAF                                int32u & 0xf0
    0.3    AFAreaMode                           int32u & 0xf00
    0.4    AFAreaPointSize                      int32u & 0xf000
    0.5    AFAreaZoneSize                       int32u & 0xf0000
  0x035b   CorrelatedColorTemp                  int16u
  0x035c   ColorTint                            int16s
  0x035d   WhitePoint                           rational64u[2]
  0x2032   Shadows                              int32s
  0x2033   Highlights                           int32s
  0x2034   Fade                                 int32s
  0x2035   SharpnessRange                       int32s
  0x2036   Clarity                              int32s
  0x2037   FocusFrameSize                       no
  0x2039   JPEG-HEIFSwitch                      int16u
Valid from July 2020 for ILCE-1/7SM3, ILME-FX3.
    138    InternalSerialNumber                 int8u[6]~
E-mount cameras only.
Valid for the ILCE-1/7SM3, ILME-FX3.
  'jumd-flags'         JUMDFlags                no
  'jumd-id'            JUMDID                   no
  'jumd-label'         JUMDLabel                no
  'jumd-sig'           JUMDSignature            no
  'jumd-type'          JUMDType                 no
And they are extracted by default from MacOS "._" files when reading
    JXL =>   'Jpeg2000',
Version: 12.24
[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 12.24
[File, System, Time] FileAccessDate - File Access Date/Time: 2021:04:12 12:43:44-04:00
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: cacb-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: cast-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cb.reuters_1
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: caas-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.assertions
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: adobe.asset.info
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.location.broad
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.rights
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: cacb-####-####-######aa#####b##
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable,_Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: cast-####-####-######aa#####b##
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable,_Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cb.reuters_#
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: caas-####-####-######aa#####b##
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable,_Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.assertions
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-####-####-######aa#####b##
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable,_Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: adobe.asset.info
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-####-####-######aa#####b##
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable,_Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.location.broad
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-####-####-######aa#####b##
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable,_Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.rights
[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 12.24
[File, System, Time] FileModifyDate - File Modification Date/Time: 2021:04:12 12:44:05-04:00
[File, System, Time] FileAccessDate - File Access Date/Time: 2021:04:12 12:44:05-04:00
[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2021:04:12 12:44:05-04:00
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: cacb-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: cast-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cb.reuters_1
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: caas-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.assertions
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: adobe.asset.info
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.location.broad
[JUMBF, JUMBF, Image] jumd-type - JUMD Type: json-0011-0010-800000aa00389b71
[JUMBF, JUMBF, Image] jumd-flags - JUMD Flags: Requestable, Label
[JUMBF, JUMBF, Image] jumd-label - JUMD Label: cai.rights
my $version = '12.24';
             -- Generated by ExifTool 12.24 --