Skip to content
Permalink
Browse files Browse the repository at this point in the history
Update to 12.38
  • Loading branch information
exiftool committed Dec 20, 2021
1 parent d8fe987 commit 74dbab1
Show file tree
Hide file tree
Showing 26 changed files with 4,679 additions and 4,416 deletions.
11 changes: 11 additions & 0 deletions Changes
Expand Up @@ -7,6 +7,17 @@ RSS feed: https://exiftool.org/rss.xml
Note: The most recent production release is Version 12.30. (Other versions are
considered development releases, and are not uploaded to MetaCPAN.)

Dec. 20, 2021 - Version 12.38

- Decode a number of new tags for the Nikon Z9 (thanks Warren Hatch)
- Patched incorrect decoding of AEBShotCount for the Canon EOS 90D
- Patched EXR reader to support long tag names
- Patched security issue (thanks Joe Lothan)
- Fixed an incorrect tag ID for a new Nikon MakerNote tag (github #108)
- Fixed XMP-exif:GPSMeasureMode conversions to match EXIF
- Fixed problem where some namespaces may be undeclared in the -X output when
using the -struct option

Dec. 8, 2021 - Version 12.37

- Decode timed GPS from Vantrue S1 dashcam MP4 videos
Expand Down
2 changes: 1 addition & 1 deletion META.json
Expand Up @@ -47,6 +47,6 @@
}
},
"release_status" : "stable",
"version" : "12.37",
"version" : "12.38",
"x_serialization_backend" : "JSON::PP version 4.02"
}
2 changes: 1 addition & 1 deletion META.yml
Expand Up @@ -28,5 +28,5 @@ recommends:
Time::HiRes: 0
requires:
perl: 5.004
version: 12.37
version: 12.38
x_serialization_backend: 'JSON::PP version 4.02'
4 changes: 2 additions & 2 deletions README
Expand Up @@ -107,8 +107,8 @@ your home directory, then you would type the following commands in a
terminal window to extract and run ExifTool:

cd ~/Desktop
gzip -dc Image-ExifTool-12.37.tar.gz | tar -xf -
cd Image-ExifTool-12.37
gzip -dc Image-ExifTool-12.38.tar.gz | tar -xf -
cd Image-ExifTool-12.38
./exiftool t/images/ExifTool.jpg

Note: These commands extract meta information from one of the test images.
Expand Down
10 changes: 6 additions & 4 deletions exiftool
Expand Up @@ -10,7 +10,7 @@
use strict;
require 5.004;

my $version = '12.37';
my $version = '12.38';

# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
BEGIN {
Expand Down Expand Up @@ -1969,6 +1969,7 @@ sub GetImageInfo($$)
} else {
$pipe = qq{bzip2 -dc "$file" |};
}
$$et{TRUST_PIPE} = 1;
}
}
# evaluate -if expression for conditional processing
Expand Down Expand Up @@ -2239,12 +2240,13 @@ sub GetImageInfo($$)
next unless defined $forcePrint;
$grp0 = $grp1 = 'Unknown';
}
# add groups from structure fields
AddGroups($$info{$tag}, $grp0, \%groups, \@groups) if ref $$info{$tag};
next if $groups{$grp1};
# include family 0 and 1 groups in URI except for internal tags
# (this will put internal tags in the "XML" group on readback)
$groups{$grp1} = $grp0;
push @groups, $grp1;
AddGroups($$info{$tag}, $grp0, \%groups, \@groups) if ref $$info{$tag};
}
foreach $grp1 (@groups) {
my $grp = $groups{$grp1};
Expand Down Expand Up @@ -5434,7 +5436,7 @@ with this command:
produces output like this:
-- Generated by ExifTool 12.37 --
-- Generated by ExifTool 12.38 --
File: a.jpg - 2003:10:31 15:44:19
(f/5.6, 1/60s, ISO 100)
File: b.jpg - 2006:05:23 11:57:38
Expand Down Expand Up @@ -5716,7 +5718,7 @@ example, the following pairs of commands give the same result:
4) Adding the B<-v> option to B<-W> sends a list of the tags and output file
names to the console instead of giving a verbose dump of the entire file.
(Unless appending all output to one file for each source file by using
B<-W+> with an output file I<FMT> that does not contain %t, $g, %s or %o.)
B<-W+> with an output file I<FMT> that does not contain %t, %g, %s or %o.)
5) Individual list items are stored in separate files when B<-W> is combined
with B<-b>, but note that for separate files to be created %c or %C must be
Expand Down
Binary file modified html/ExifTool.pdf
Binary file not shown.
Binary file modified html/Shift.pdf
Binary file not shown.
11 changes: 8 additions & 3 deletions html/TagNames/CanonCustom.html
Expand Up @@ -1352,12 +1352,17 @@ <h2><a name='Functions2'>CanonCustom Functions2 Tags</a></h2>
<td>AEBShotCount
<br>AEBShotCount</td>
<td class=c>int32s<br>int32s[2]</td>
<td><span class=s><span class=n>(one value for some models...)</span>
<td><span class=s><span class=n>(EOS 90D)</span>
<br>2 = 2 shots
<br>3 = 3 shots
<br>5 = 5 shots
<br>7 = 7 shots
<br><span class=n>(other models storing a single value)</span>
<br>0 = 3 shots
<br>1 = 2 shots
<br>2 = 5 shots
<br>3 = 7 shots
<br><span class=n>(two values for others)</span>
<br><span class=n>(models storing two values)</span>
<br>&#39;2 1&#39; = 2 shots
<br>&#39;3 0&#39; = 3 shots
<br>&#39;5 2&#39; = 5 shots
Expand Down Expand Up @@ -2213,7 +2218,7 @@ <h2><a name='Functions2'>CanonCustom Functions2 Tags</a></h2>

<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
<br><i>Last revised Feb 3, 2021</i>
<br><i>Last revised Dec 20, 2021</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
108 changes: 85 additions & 23 deletions html/TagNames/Nikon.html
Expand Up @@ -431,9 +431,10 @@ <h2 class=top>Nikon Tags</h2>
<br>ShotInfoD6
<br>ShotInfoD610
<br>ShotInfoZ7_2
<br>ShotInfoZ9
<br>ShotInfo02xx
<br>ShotInfoUnknown</td>
<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-</td>
<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-</td>
<td>--&gt; <a href='Nikon.html#ShotInfoD40'>Nikon ShotInfoD40 Tags</a>
<br>--&gt; <a href='Nikon.html#ShotInfoD80'>Nikon ShotInfoD80 Tags</a>
<br>--&gt; <a href='Nikon.html#ShotInfoD90'>Nikon ShotInfoD90 Tags</a>
Expand All @@ -459,6 +460,7 @@ <h2 class=top>Nikon Tags</h2>
<br>--&gt; <a href='Nikon.html#ShotInfoD6'>Nikon ShotInfoD6 Tags</a>
<br>--&gt; <a href='Nikon.html#ShotInfoD610'>Nikon ShotInfoD610 Tags</a>
<br>--&gt; <a href='Nikon.html#ShotInfoZ7_2'>Nikon ShotInfoZ7_2 Tags</a>
<br>--&gt; <a href='Nikon.html#ShotInfoZ9'>Nikon ShotInfoZ9 Tags</a>
<br>--&gt; <a href='Nikon.html#ShotInfo'>Nikon ShotInfo Tags</a>
<br>--&gt; <a href='Nikon.html#ShotInfo'>Nikon ShotInfo Tags</a></td></tr>
<tr>
Expand All @@ -470,18 +472,7 @@ <h2 class=top>Nikon Tags</h2>
<td title='0x0093 = 147'>0x0093</td>
<td>NEFCompression</td>
<td class=c>int16u</td>
<td><table class=cols><tr>
<td>1 = Lossy (type 1)
<br>2 = Uncompressed
<br>3 = Lossless
<br>4 = Lossy (type 2)
<br>5 = Striped packed 12 bits
<br>6 = Uncompressed (reduced to 12 bit)
<br>7 = Unpacked 12 bits
<br>8 = Small
<br>9 = Packed 12 bits
<br>10 = Packed 14 bits</td></tr></table>
</td></tr>
<td>--&gt; <a href='Nikon.html#NEFCompression'>Nikon NEFCompression Values</a></td></tr>
<tr>
<td title='0x0094 = 148'>0x0094</td>
<td>SaturationAdj</td>
Expand Down Expand Up @@ -815,6 +806,25 @@ <h2 class=top>Nikon Tags</h2>
<br>&#39;16 16 16 0&#39; = 16 x 3</span></td></tr>
</table></td></tr></table></blockquote>

<h2><a name='NEFCompression'>Nikon NEFCompression Values</a></h2>
<blockquote>
<table class=frame><tr><td>
<table class='inner sep' cellspacing=1>
<tr class=h><th>Value</th><th>NEFCompression</th><th>Value</th><th>NEFCompression</th></tr>
<tr><td class=r>1</td><td>= Lossy (type 1)</td>
<td class='r b'>7</td><td class=b>= Unpacked 12 bits</td>
</tr><tr><td class=r>2</td><td>= Uncompressed</td>
<td class='r b'>8</td><td class=b>= Small</td>
</tr><tr><td class=r>3</td><td>= Lossless</td>
<td class='r b'>9</td><td class=b>= Packed 12 bits</td>
</tr><tr><td class=r>4</td><td>= Lossy (type 2)</td>
<td class='r b'>10</td><td class=b>= Packed 14 bits</td>
</tr><tr><td class=r>5</td><td>= Striped packed 12 bits</td>
<td class='r b'>13</td><td class=b>= High Efficiency</td>
</tr><tr><td class=r>6</td><td>= Uncompressed (reduced to 12 bit)</td>
<td class='r b'>14</td><td class=b>= High Efficiency*</td>
</tr></table></td></tr></table></blockquote>

<h2><a name='PreviewIFD'>Nikon PreviewIFD Tags</a></h2>
<blockquote>
<table class=frame><tr><td>
Expand Down Expand Up @@ -1703,6 +1713,24 @@ <h2><a name='LocationInfo'>Nikon LocationInfo Tags</a></h2>
<td>&nbsp;</td></tr>
</table></td></tr></table></blockquote>

<h2><a name='MakerNotes0x51'>Nikon MakerNotes0x51 Tags</a></h2>
<blockquote>
<table class=frame><tr><td>
<table class=inner cellspacing=1>
<tr class=h><th>Index1</th><th>Tag Name</th>
<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
<tr>
<td class=r title='0 = 0x0'>0</td>
<td>FirmwareVersion</td>
<td class=c>no</td>
<td>&nbsp;</td></tr>
<tr class=b>
<td class=r title='10 = 0xa'>10</td>
<td>NEFCompression</td>
<td class=c>int16u[0.5]</td>
<td>--&gt; <a href='Nikon.html#NEFCompression'>Nikon NEFCompression Values</a></td></tr>
</table></td></tr></table></blockquote>

<h2><a name='AFInfo'>Nikon AFInfo Tags</a></h2>
<blockquote>
<table class=frame><tr><td>
Expand Down Expand Up @@ -3996,44 +4024,78 @@ <h2><a name='ZMenuSettings'>Nikon ZMenuSettings Tags</a></h2>
<td><span class=s>0 = No
<br>1 = Yes</span></td></tr>
<tr class=b>
<td class=r title='577 = 0x241'>577</td>
<td>MovieDiffractionCompensation?</td>
<td class=c>int8u</td>
<td><span class=s>0 = Off
<br>1 = On</span></td></tr>
<tr>
<td class=r title='578 = 0x242'>578</td>
<td>MovieAutoDistortionControl?</td>
<td class=c>int8u</td>
<td><span class=s>0 = Off
<br>1 = On</span></td></tr>
<tr>
<tr class=b>
<td class=r title='584 = 0x248'>584</td>
<td>MovieFocusMode?</td>
<td class=c>int8u</td>
<td><span class=s>0 = Manual
<br>1 = AF-S
<br>2 = AF-C
<br>4 = AF-F</span></td></tr>
<tr class=b>
<tr>
<td class=r title='590 = 0x24e'>590</td>
<td>MovieVibrationReduction?</td>
<td class=c>int8u</td>
<td><span class=s>0 = Off
<br>1 = On (Normal)
<br>2 = On (Sport)</span></td></tr>
<tr>
<tr class=b>
<td class=r title='591 = 0x24f'>591</td>
<td>MovieVibrationReductionSameAsPhoto?</td>
<td class=c>int8u</td>
<td><span class=s>0 = No
<br>1 = Yes</span></td></tr>
<tr class=b>
<tr>
<td class=r title='858 = 0x35a'>858</td>
<td>HDMIOutputN-Log?</td>
<td class=c>int8u</td>
<td><span class=s>0 = Off
<br>1 = On</span></td></tr>
</table></td></tr></table></blockquote>

<h2><a name='ShotInfoZ9'>Nikon ShotInfoZ9 Tags</a></h2>
<p>These tags are extracted from encrypted data in images from the Z9.</p>
<blockquote>
<table class=frame><tr><td>
<table class=inner cellspacing=1>
<tr class=h><th>Index</th><th>Tag Name</th>
<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
<tr>
<td class=r title='5771 = 0x168b'>5771</td>
<td>MovieDiffrationCompensation?</td>
<td class=c>int8u</td>
<td><span class=s>0 = Off
<br>1 = On</span></td></tr>
<td class=r title='0 = 0x0'>0</td>
<td>ShotInfoVersion</td>
<td class=c>no</td>
<td>&nbsp;</td></tr>
<tr class=b>
<td class=r title='4 = 0x4'>4</td>
<td>FirmwareVersion</td>
<td class=c>no</td>
<td>&nbsp;</td></tr>
<tr>
<td class=r title='60139 = 0xeaeb'>60139</td>
<td>RollAngle</td>
<td class=c>fixed32u</td>
<td><span class=s><span class=n>(converted to degrees of clockwise camera roll)</span></span></td></tr>
<tr class=b>
<td class=r title='60143 = 0xeaef'>60143</td>
<td>PitchAngle</td>
<td class=c>fixed32u</td>
<td><span class=s><span class=n>(converted to degrees of upward camera tilt)</span></span></td></tr>
<tr>
<td class=r title='60147 = 0xeaf3'>60147</td>
<td>YawAngle</td>
<td class=c>fixed32u</td>
<td><span class=s><span class=n>(the camera yaw angle when shooting in portrait orientation)</span></span></td></tr>
</table></td></tr></table></blockquote>

<h2><a name='ShotInfo'>Nikon ShotInfo Tags</a></h2>
Expand Down Expand Up @@ -7949,7 +8011,7 @@ <h2><a name='LensID'>Nikon LensID Values</a></h2>

<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
<br><i>Last revised Dec 8, 2021</i>
<br><i>Last revised Dec 20, 2021</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
6 changes: 3 additions & 3 deletions html/TagNames/XMP.html
Expand Up @@ -11722,8 +11722,8 @@ <h2><a name='exif'>XMP exif Tags</a></h2>
<tr class=b>
<td>GPSMeasureMode</td>
<td class=c>integer</td>
<td><span class=s>2 = 2-Dimensional
<br>3 = 3-Dimensional</span></td></tr>
<td><span class=s>2 = 2-Dimensional Measurement
<br>3 = 3-Dimensional Measurement</span></td></tr>
<tr>
<td>GPSProcessingMethod</td>
<td class=c>string</td>
Expand Down Expand Up @@ -19419,7 +19419,7 @@ <h2><a name='Licensor'>XMP Licensor Struct</a></h2>

<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
<br><i>Last revised Dec 8, 2021</i>
<br><i>Last revised Dec 20, 2021</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
4 changes: 2 additions & 2 deletions html/TagNames/index.html
Expand Up @@ -10,7 +10,7 @@
<h2 class=top>ExifTool Tag Names</h2>
<p>
The tables listed below give the names of all tags recognized by ExifTool.
They contain a total of 25513 tags, with 16386 unique tag names.
They contain a total of 25521 tags, with 16386 unique tag names.
</p>
<blockquote>
<table width='100%' class=frame><tr><td>
Expand Down Expand Up @@ -237,7 +237,7 @@ <h2 class=top>ExifTool Tag Names</h2>
<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
<br><i>Created Feb 15, 2005</i>
<br><i>Last revised Dec 8, 2021</i>
<br><i>Last revised Dec 20, 2021</i>
<p class=lf><a href='../index.html'>&lt;-- Back to ExifTool home page</a></p>
</body>
</html>
4 changes: 2 additions & 2 deletions html/exiftool_pod.html
Expand Up @@ -688,7 +688,7 @@ <h3 id="Input-output-text-formatting">Input-output text formatting</h3>

<p>produces output like this:</p>

<pre><code> -- Generated by ExifTool 12.37 --
<pre><code> -- Generated by ExifTool 12.38 --
File: a.jpg - 2003:10:31 15:44:19
(f/5.6, 1/60s, ISO 100)
File: b.jpg - 2006:05:23 11:57:38
Expand Down Expand Up @@ -873,7 +873,7 @@ <h3 id="Input-output-text-formatting">Input-output text formatting</h3>
exiftool test.jpg &gt;&gt; out.txt # shell redirection
exiftool test.jpg -W+ out.txt # equivalent -W option</code></pre>

<p>4) Adding the <b>-v</b> option to <b>-W</b> sends a list of the tags and output file names to the console instead of giving a verbose dump of the entire file. (Unless appending all output to one file for each source file by using <b>-W+</b> with an output file <i>FMT</i> that does not contain %t, $g, %s or %o.)</p>
<p>4) Adding the <b>-v</b> option to <b>-W</b> sends a list of the tags and output file names to the console instead of giving a verbose dump of the entire file. (Unless appending all output to one file for each source file by using <b>-W+</b> with an output file <i>FMT</i> that does not contain %t, %g, %s or %o.)</p>

<p>5) Individual list items are stored in separate files when <b>-W</b> is combined with <b>-b</b>, but note that for separate files to be created %c or %C must be used in <i>FMT</i> to give the files unique names.</p>

Expand Down
Binary file modified html/exiftool_pod.pdf
Binary file not shown.

0 comments on commit 74dbab1

Please sign in to comment.