summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorexiftool <phil@work3.phy.queensu.ca>2015-10-21 10:20:17 -0400
committerexiftool <phil@work3.phy.queensu.ca>2015-10-21 10:20:17 -0400
commitb1e81cacd3fcf03c0d809e532af4dad90e5a538d (patch)
tree56ed7d6edddf23a81fb1b6e0b4bbc93131aaa8ea
parent8ff254b8e27aca4a519e35c8ace8dfd250c6c41a (diff)
Update to 10.03
-rw-r--r--Changes14
-rwxr-xr-xexiftool4
-rw-r--r--html/TagNames/Canon.html16
-rw-r--r--html/TagNames/Minolta.html27
-rw-r--r--html/TagNames/Nikon.html3
-rw-r--r--html/TagNames/Pentax.html11
-rw-r--r--html/TagNames/Sony.html106
-rw-r--r--html/ancient_history.html200
-rw-r--r--html/exiftool_pod.html2
-rw-r--r--html/faq.html6
-rw-r--r--html/history.html215
-rw-r--r--html/index.html13
-rw-r--r--html/install.html8
-rw-r--r--lib/Image/ExifTool.pm2
-rw-r--r--lib/Image/ExifTool/Apple.pm6
-rw-r--r--lib/Image/ExifTool/Canon.pm18
-rw-r--r--lib/Image/ExifTool/EXE.pm21
-rw-r--r--lib/Image/ExifTool/Exif.pm23
-rw-r--r--lib/Image/ExifTool/FujiFilm.pm3
-rw-r--r--lib/Image/ExifTool/Geotag.pm4
-rw-r--r--lib/Image/ExifTool/Jpeg2000.pm41
-rw-r--r--lib/Image/ExifTool/MakerNotes.pm5
-rw-r--r--lib/Image/ExifTool/Minolta.pm37
-rw-r--r--lib/Image/ExifTool/Nikon.pm5
-rw-r--r--lib/Image/ExifTool/Pentax.pm8
-rw-r--r--lib/Image/ExifTool/Sony.pm73
-rw-r--r--lib/Image/ExifTool/TagInfoXML.pm3
-rw-r--r--lib/Image/ExifTool/TagLookup.pm5
-rw-r--r--lib/Image/ExifTool/TagNames.pod4
-rw-r--r--perl-Image-ExifTool.spec2
-rw-r--r--pp_build_exe.args8
-rw-r--r--t/Jpeg2000_2.out12
-rw-r--r--t/images/Jpeg2000.jp2bin1914 -> 1954 bytes
-rwxr-xr-xwindows_exiftool4
34 files changed, 523 insertions, 386 deletions
diff --git a/Changes b/Changes
index c612d5a8..604cae0b 100644
--- a/Changes
+++ b/Changes
@@ -7,6 +7,20 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
Note: The most recent production release is Version 10.00. (Other versions are
considered development releases, and are not uploaded to CPAN.)
+Oct. 21, 2015 - Version 10.03
+
+ - Added support for JPEG 2000 extended-length boxes
+ - Added a few new Canon LensType and CanonModelID values
+ - Added a new Nikon LensID (thanks LibRaw)
+ - Added ExifTool version number as a comment in -listx output
+ - Added support for Leica SL (Typ 601) maker notes
+ - Added a new Sony LensType (thanks Jos Roost)
+ - Decode more Sony tags for some new models (thanks Jos Roost)
+ - Decode a new Pentax tag
+ - Patched for invalid makernote entry written by Sony ILCE-7M2 v1.21
+ - Patched problem reading EXE resources with a missing null terminator
+ - Updated Windows distribution package to use latest version of PAR
+
Sept. 17, 2015 - Version 10.02
- Added ability to read PNG chunks after the normal PNG end of file (IEND)
diff --git a/exiftool b/exiftool
index b97c5667..f1058bc9 100755
--- a/exiftool
+++ b/exiftool
@@ -12,7 +12,7 @@
use strict;
require 5.004;
-my $version = '10.02';
+my $version = '10.03';
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
my $exeDir;
@@ -4687,7 +4687,7 @@ with this command:
produces output like this:
- -- Generated by ExifTool 10.02 --
+ -- Generated by ExifTool 10.03 --
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
diff --git a/html/TagNames/Canon.html b/html/TagNames/Canon.html
index e1bc29ee..669fe501 100644
--- a/html/TagNames/Canon.html
+++ b/html/TagNames/Canon.html
@@ -715,12 +715,15 @@
</tr><tr><td class=r>0x3800000</td><td>= PowerShot SX530 HS</td>
</tr><tr><td class=r>0x3820000</td><td>= PowerShot SX710 HS</td>
</tr><tr><td class=r>0x3830000</td><td>= PowerShot SX610 HS</td>
+</tr><tr><td class=r>0x3840000</td><td>= EOS M10</td>
</tr><tr><td class=r>0x3850000</td><td>= PowerShot G3 X</td>
</tr><tr><td class=r>0x3860000</td><td>= PowerShot ELPH 165 HS / IXUS 165 / IXY 160</td>
</tr><tr><td class=r>0x3870000</td><td>= PowerShot ELPH 160 / IXUS 160</td>
</tr><tr><td class=r>0x3880000</td><td>= PowerShot ELPH 350 HS / IXUS 275 HS / IXY 640</td>
</tr><tr><td class=r>0x3890000</td><td>= PowerShot ELPH 170 IS / IXUS 170</td>
</tr><tr><td class=r>0x3910000</td><td>= PowerShot SX410 IS</td>
+</tr><tr><td class=r>0x3930000</td><td>= PowerShot G9 X</td>
+</tr><tr><td class=r>0x3950000</td><td>= PowerShot G5 X</td>
</tr><tr><td class=r>0x4040000</td><td>= PowerShot G1</td>
</tr><tr><td class=r>0x6040000</td><td>= PowerShot S100 / Digital IXUS / IXY Digital</td>
</tr><tr><td class=r>0x4007d673</td><td>= DC19/DC21/DC22</td>
@@ -1448,8 +1451,10 @@ attempting to identify the specific lens model.</p>
</tr><tr><td>180.2</td><td>= Sigma 24mm f/1.4 DG HSM | A</td>
</tr><tr><td>180.3</td><td>= Zeiss Milvus 50mm f/1.4</td>
</tr><tr><td>180.4</td><td>= Zeiss Milvus 85mm f/1.4</td>
-</tr><tr><td>181</td><td>= Canon EF 100-400mm f/4.5-5.6L IS + 1.4x</td>
-</tr><tr><td>182</td><td>= Canon EF 100-400mm f/4.5-5.6L IS + 2x</td>
+</tr><tr><td>181</td><td>= Canon EF 100-400mm f/4.5-5.6L IS + 1.4x or Sigma Lens</td>
+</tr><tr><td>181.1</td><td>= Sigma 150-600mm f/5-6.3 DG OS HSM | S + 1.4x</td>
+</tr><tr><td>182</td><td>= Canon EF 100-400mm f/4.5-5.6L IS + 2x or Sigma Lens</td>
+</tr><tr><td>182.1</td><td>= Sigma 150-600mm f/5-6.3 DG OS HSM | S + 2x</td>
</tr><tr><td>183</td><td>= Canon EF 100-400mm f/4.5-5.6L IS or Sigma Lens</td>
</tr><tr><td>183.1</td><td>= Sigma 150mm f/2.8 EX DG OS HSM APO Macro</td>
</tr><tr><td>183.2</td><td>= Sigma 105mm f/2.8 EX DG OS HSM Macro</td>
@@ -1484,6 +1489,7 @@ attempting to identify the specific lens model.</p>
</tr><tr><td>213.1</td><td>= Tamron SP 150-600mm f/5-6.3 Di VC USD</td>
</tr><tr><td>213.2</td><td>= Tamron 16-300mm f/3.5-6.3 Di II VC PZD Macro</td>
</tr><tr><td>213.3</td><td>= Tamron SP 35mm f/1.8 Di VC USD</td>
+</tr><tr><td>213.4</td><td>= Tamron SP 45mm f/1.8 Di VC USD</td>
</tr><tr><td>214</td><td>= Canon EF-S 18-55mm f/3.5-5.6 USM</td>
</tr><tr><td>215</td><td>= Canon EF 55-200mm f/4.5-5.6 II USM</td>
</tr><tr><td>217</td><td>= Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD</td>
@@ -1553,6 +1559,7 @@ attempting to identify the specific lens model.</p>
</tr><tr><td>4149</td><td>= Canon EF-M 55-200mm f/4.5-6.3 IS STM</td>
</tr><tr><td>4150</td><td>= Canon EF-S 10-18mm f/4.5-5.6 IS STM</td>
</tr><tr><td>4152</td><td>= Canon EF 24-105mm f/3.5-5.6 IS STM</td>
+</tr><tr><td>4153</td><td>= Canon EF-M 15-45mm f/3.5-6.3 IS STM</td>
</tr><tr><td>4154</td><td>= Canon EF-S 24mm f/2.8 STM</td>
</tr><tr><td>4156</td><td>= Canon EF 50mm f/1.8 STM</td>
</tr></table></td></tr></table></blockquote>
@@ -9238,12 +9245,15 @@ SX280.</p>
</tr><tr><td class=r>0x3800000</td><td>= PowerShot SX530 HS</td>
</tr><tr><td class=r>0x3820000</td><td>= PowerShot SX710 HS</td>
</tr><tr><td class=r>0x3830000</td><td>= PowerShot SX610 HS</td>
+</tr><tr><td class=r>0x3840000</td><td>= EOS M10</td>
</tr><tr><td class=r>0x3850000</td><td>= PowerShot G3 X</td>
</tr><tr><td class=r>0x3860000</td><td>= PowerShot ELPH 165 HS / IXUS 165 / IXY 160</td>
</tr><tr><td class=r>0x3870000</td><td>= PowerShot ELPH 160 / IXUS 160</td>
</tr><tr><td class=r>0x3880000</td><td>= PowerShot ELPH 350 HS / IXUS 275 HS / IXY 640</td>
</tr><tr><td class=r>0x3890000</td><td>= PowerShot ELPH 170 IS / IXUS 170</td>
</tr><tr><td class=r>0x3910000</td><td>= PowerShot SX410 IS</td>
+</tr><tr><td class=r>0x3930000</td><td>= PowerShot G9 X</td>
+</tr><tr><td class=r>0x3950000</td><td>= PowerShot G5 X</td>
</tr><tr><td class=r>0x4040000</td><td>= PowerShot G1</td>
</tr><tr><td class=r>0x6040000</td><td>= PowerShot S100 / Digital IXUS / IXY Digital</td>
</tr><tr><td class=r>0x4007d673</td><td>= DC19/DC21/DC22</td>
@@ -9328,7 +9338,7 @@ SX280.</p>
<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Sep 16, 2015</i>
+<br><i>Last revised Oct 14, 2015</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
diff --git a/html/TagNames/Minolta.html b/html/TagNames/Minolta.html
index 9f5b1b94..5d2f4271 100644
--- a/html/TagNames/Minolta.html
+++ b/html/TagNames/Minolta.html
@@ -596,18 +596,19 @@ adapter is used.</p>
</tr><tr><td>65535.33</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
</tr><tr><td>65535.34</td><td>= Zeiss Batis 25mm F2</td>
</tr><tr><td>65535.35</td><td>= Zeiss Batis 85mm F1.8</td>
-</tr><tr><td>65535.36</td><td>= Zeiss Loxia 35mm F2</td>
-</tr><tr><td>65535.37</td><td>= Zeiss Loxia 50mm F2</td>
-</tr><tr><td>65535.38</td><td>= Zeiss Touit 12mm F2.8</td>
-</tr><tr><td>65535.39</td><td>= Zeiss Touit 32mm F1.8</td>
-</tr><tr><td>65535.40</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
-</tr><tr><td>65535.41</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.42</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.43</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
-</tr><tr><td>65535.44</td><td>= Samyang 500mm Mirror F8.0</td>
-</tr><tr><td>65535.45</td><td>= Pentacon Auto 135mm F2.8</td>
-</tr><tr><td>65535.46</td><td>= Pentacon Auto 29mm F2.8</td>
-</tr><tr><td>65535.47</td><td>= Helios 44-2 58mm F2.0</td>
+</tr><tr><td>65535.36</td><td>= Zeiss Loxia 21mm F2.8</td>
+</tr><tr><td>65535.37</td><td>= Zeiss Loxia 35mm F2</td>
+</tr><tr><td>65535.38</td><td>= Zeiss Loxia 50mm F2</td>
+</tr><tr><td>65535.39</td><td>= Zeiss Touit 12mm F2.8</td>
+</tr><tr><td>65535.40</td><td>= Zeiss Touit 32mm F1.8</td>
+</tr><tr><td>65535.41</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
+</tr><tr><td>65535.42</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.43</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.44</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
+</tr><tr><td>65535.45</td><td>= Samyang 500mm Mirror F8.0</td>
+</tr><tr><td>65535.46</td><td>= Pentacon Auto 135mm F2.8</td>
+</tr><tr><td>65535.47</td><td>= Pentacon Auto 29mm F2.8</td>
+</tr><tr><td>65535.48</td><td>= Helios 44-2 58mm F2.0</td>
</tr></table></td></tr></table></blockquote>
<h2><a name='CameraSettings'>Minolta CameraSettings Tags</a></h2>
@@ -2607,7 +2608,7 @@ DiMAGE X and Xt.</p>
<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Sep 3, 2015</i>
+<br><i>Last revised Oct 21, 2015</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
diff --git a/html/TagNames/Nikon.html b/html/TagNames/Nikon.html
index efe27fb8..82fbb7b8 100644
--- a/html/TagNames/Nikon.html
+++ b/html/TagNames/Nikon.html
@@ -4766,6 +4766,7 @@ ExifTool to choose in these cases (see the
</tr><tr><td>'AD 48 28 60 24 30 C8 4E'</td><td>= AF-S VR DX 16-80mm f/2.8-4.0E ED</td>
</tr><tr><td>'AE 3C 80 A0 3C 3C C9 0E'</td><td>= AF-S Nikkor 200-500mm f/5.6E ED VR</td>
</tr><tr><td>'AE 54 62 62 0C 0C B0 06'</td><td>= AF-S Nikkor 85mm f/1.4G</td>
+</tr><tr><td>'AF 4C 37 37 14 14 CC 06'</td><td>= AF-S Nikkor 24mm f/1.8G ED</td>
</tr><tr><td>'AF 54 44 44 0C 0C B1 06'</td><td>= AF-S Nikkor 35mm f/1.4G</td>
</tr><tr><td>'B0 4C 50 50 14 14 B2 06'</td><td>= AF-S Nikkor 50mm f/1.8G</td>
</tr><tr><td>'B1 48 48 48 24 24 B3 06'</td><td>= AF-S DX Micro Nikkor 40mm f/2.8G</td>
@@ -4829,7 +4830,7 @@ ExifTool to choose in these cases (see the
<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Sep 11, 2015</i>
+<br><i>Last revised Oct 9, 2015</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
diff --git a/html/TagNames/Pentax.html b/html/TagNames/Pentax.html
index b4f6ad76..8faa7618 100644
--- a/html/TagNames/Pentax.html
+++ b/html/TagNames/Pentax.html
@@ -3406,6 +3406,15 @@ the first reported)</span></span><table class=cols><tr>
<br>19 = Center (vertical)
<br>20 = Mid-right</td></tr></table>
</td></tr>
+<tr>
+<td class=r title='509 = 0x1fd'>509</td>
+<td>AFHold</td>
+<td class=c>int8u</td>
+<td><span class=s><span class=n>(decoded only for the K-3 II)</span>
+ <br>0 = Off
+ <br>1 = Short
+ <br>2 = Medium
+ <br>3 = Long</span></td></tr>
</table></td></tr></table></blockquote>
<h2><a name='KelvinWB'>Pentax KelvinWB Tags</a></h2>
@@ -4678,7 +4687,7 @@ stored as ASCII text in a format very similar to some HP models.</p>
<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Sep 14, 2015</i>
+<br><i>Last revised Oct 21, 2015</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
diff --git a/html/TagNames/Sony.html b/html/TagNames/Sony.html
index d44c97a3..e123bd6a 100644
--- a/html/TagNames/Sony.html
+++ b/html/TagNames/Sony.html
@@ -676,11 +676,12 @@ Spot)</span></span></td></tr>
<td>&#39;0 0 0 2&#39; = JPEG
<br>&#39;1 0 0 0&#39; = SR2
<br>&#39;2 0 0 0&#39; = ARW 1.0
- <br>&#39;3 0 0 0&#39; = ARW 2.0</td><td>&nbsp;&nbsp;</td>
- <td>&#39;3 1 0 0&#39; = ARW 2.1
- <br>&#39;3 2 0 0&#39; = ARW 2.2
+ <br>&#39;3 0 0 0&#39; = ARW 2.0
+ <br>&#39;3 1 0 0&#39; = ARW 2.1</td><td>&nbsp;&nbsp;</td>
+ <td>&#39;3 2 0 0&#39; = ARW 2.2
<br>&#39;3 3 0 0&#39; = ARW 2.3
- <br>&#39;3 3 1 0&#39; = ARW 2.3.1</td></tr></table>
+ <br>&#39;3 3 1 0&#39; = ARW 2.3.1
+ <br>&#39;3 3 2 0&#39; = ARW 2.3.2</td></tr></table>
</td></tr>
<tr>
<td title='0xb001 = 45057'>0xb001</td>
@@ -716,9 +717,9 @@ Spot)</span></span></td></tr>
<br>287 = SLT-A77 / SLT-A77V
<br>288 = NEX-5N
<br>289 = NEX-7
- <br>290 = NEX-VG20E</td><td>&nbsp;&nbsp;</td>
- <td>291 = SLT-A37
- <br>292 = SLT-A57
+ <br>290 = NEX-VG20E
+ <br>291 = SLT-A37</td><td>&nbsp;&nbsp;</td>
+ <td>292 = SLT-A57
<br>293 = NEX-F3
<br>294 = SLT-A99 / SLT-A99V
<br>295 = NEX-6
@@ -745,8 +746,10 @@ Spot)</span></span></td></tr>
<br>340 = ILCE-7M2
<br>341 = DSC-RX100M4
<br>342 = DSC-RX10M2
+ <br>344 = DSC-RX1RM2
<br>346 = ILCE-QX1
- <br>347 = ILCE-7RM2</td></tr></table>
+ <br>347 = ILCE-7RM2
+ <br>350 = ILCE-7SM2</td></tr></table>
</td></tr>
<tr class=b>
<td title='0xb020 = 45088'>0xb020</td>
@@ -1407,18 +1410,19 @@ adapter is used.</p>
</tr><tr><td>6553.33</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
</tr><tr><td>6553.34</td><td>= Zeiss Batis 25mm F2</td>
</tr><tr><td>6553.35</td><td>= Zeiss Batis 85mm F1.8</td>
-</tr><tr><td>6553.36</td><td>= Zeiss Loxia 35mm F2</td>
-</tr><tr><td>6553.37</td><td>= Zeiss Loxia 50mm F2</td>
-</tr><tr><td>6553.38</td><td>= Zeiss Touit 12mm F2.8</td>
-</tr><tr><td>6553.39</td><td>= Zeiss Touit 32mm F1.8</td>
-</tr><tr><td>6553.40</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
-</tr><tr><td>6553.41</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
-</tr><tr><td>6553.42</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
-</tr><tr><td>6553.43</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
-</tr><tr><td>6553.44</td><td>= Samyang 500mm Mirror F8.0</td>
-</tr><tr><td>6553.45</td><td>= Pentacon Auto 135mm F2.8</td>
-</tr><tr><td>6553.46</td><td>= Pentacon Auto 29mm F2.8</td>
-</tr><tr><td>6553.47</td><td>= Helios 44-2 58mm F2.0</td>
+</tr><tr><td>6553.36</td><td>= Zeiss Loxia 21mm F2.8</td>
+</tr><tr><td>6553.37</td><td>= Zeiss Loxia 35mm F2</td>
+</tr><tr><td>6553.38</td><td>= Zeiss Loxia 50mm F2</td>
+</tr><tr><td>6553.39</td><td>= Zeiss Touit 12mm F2.8</td>
+</tr><tr><td>6553.40</td><td>= Zeiss Touit 32mm F1.8</td>
+</tr><tr><td>6553.41</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
+</tr><tr><td>6553.42</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
+</tr><tr><td>6553.43</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
+</tr><tr><td>6553.44</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
+</tr><tr><td>6553.45</td><td>= Samyang 500mm Mirror F8.0</td>
+</tr><tr><td>6553.46</td><td>= Pentacon Auto 135mm F2.8</td>
+</tr><tr><td>6553.47</td><td>= Pentacon Auto 29mm F2.8</td>
+</tr><tr><td>6553.48</td><td>= Helios 44-2 58mm F2.0</td>
</tr><tr><td>25501</td><td>= Minolta AF 50mm F1.7</td>
</tr><tr><td>25511</td><td>= Minolta AF 35-70mm F4 or Other Lens</td>
</tr><tr><td>25511.1</td><td>= Sigma UC AF 28-70mm F3.5-4.5</td>
@@ -1577,18 +1581,19 @@ adapter is used.</p>
</tr><tr><td>65535.33</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
</tr><tr><td>65535.34</td><td>= Zeiss Batis 25mm F2</td>
</tr><tr><td>65535.35</td><td>= Zeiss Batis 85mm F1.8</td>
-</tr><tr><td>65535.36</td><td>= Zeiss Loxia 35mm F2</td>
-</tr><tr><td>65535.37</td><td>= Zeiss Loxia 50mm F2</td>
-</tr><tr><td>65535.38</td><td>= Zeiss Touit 12mm F2.8</td>
-</tr><tr><td>65535.39</td><td>= Zeiss Touit 32mm F1.8</td>
-</tr><tr><td>65535.40</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
-</tr><tr><td>65535.41</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.42</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.43</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
-</tr><tr><td>65535.44</td><td>= Samyang 500mm Mirror F8.0</td>
-</tr><tr><td>65535.45</td><td>= Pentacon Auto 135mm F2.8</td>
-</tr><tr><td>65535.46</td><td>= Pentacon Auto 29mm F2.8</td>
-</tr><tr><td>65535.47</td><td>= Helios 44-2 58mm F2.0</td>
+</tr><tr><td>65535.36</td><td>= Zeiss Loxia 21mm F2.8</td>
+</tr><tr><td>65535.37</td><td>= Zeiss Loxia 35mm F2</td>
+</tr><tr><td>65535.38</td><td>= Zeiss Loxia 50mm F2</td>
+</tr><tr><td>65535.39</td><td>= Zeiss Touit 12mm F2.8</td>
+</tr><tr><td>65535.40</td><td>= Zeiss Touit 32mm F1.8</td>
+</tr><tr><td>65535.41</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
+</tr><tr><td>65535.42</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.43</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.44</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
+</tr><tr><td>65535.45</td><td>= Samyang 500mm Mirror F8.0</td>
+</tr><tr><td>65535.46</td><td>= Pentacon Auto 135mm F2.8</td>
+</tr><tr><td>65535.47</td><td>= Pentacon Auto 29mm F2.8</td>
+</tr><tr><td>65535.48</td><td>= Helios 44-2 58mm F2.0</td>
</tr></table></td></tr></table></blockquote>
<h2><a name='CameraInfo'>Sony CameraInfo Tags</a></h2>
@@ -6904,66 +6909,81 @@ substitution cipher, but the deciphered values are listed below.</p>
<td class=c>undef[6]</td>
<td>&nbsp;</td></tr>
<tr class=b>
+<td title='0x0067 = 103'>0x0067</td>
+<td>ReleaseMode2</td>
+<td class=c>int8u</td>
+<td>--&gt; <a href='Sony.html#ReleaseMode2'>Sony ReleaseMode2 Values</a></td></tr>
+<tr>
+<td title='0x0073 = 115'>0x0073</td>
+<td>ReleaseMode2</td>
+<td class=c>int8u</td>
+<td>--&gt; <a href='Sony.html#ReleaseMode2'>Sony ReleaseMode2 Values</a></td></tr>
+<tr class=b>
<td title='0x007c = 124'>0x007c</td>
<td>InternalSerialNumber</td>
<td class=c title=' ~ = Writable only with -n'>int8u[4]~</td>
<td>&nbsp;</td></tr>
<tr>
+<td title='0x0088 = 136'>0x0088</td>
+<td>InternalSerialNumber</td>
+<td class=c title=' ~ = Writable only with -n'>int8u[6]~</td>
+<td>&nbsp;</td></tr>
+<tr class=b>
<td title='0x00f0 = 240'>0x00f0</td>
<td>InternalSerialNumber</td>
<td class=c>int8u[5]</td>
<td>&nbsp;</td></tr>
-<tr class=b>
+<tr>
<td title='0x0105 = 261'>0x0105</td>
<td>LensMount</td>
<td class=c>int8u</td>
<td><span class=s>0 = Unknown
<br>1 = A-mount
<br>2 = E-mount</span></td></tr>
-<tr>
+<tr class=b>
<td title='0x0106 = 262'>0x0106</td>
<td>LensFormat</td>
<td class=c>int8u</td>
<td><span class=s>0 = Unknown
<br>1 = APS-C
<br>2 = Full-frame</span></td></tr>
-<tr class=b>
+<tr>
<td title='0x0107 = 263'>0x0107</td>
<td>LensType2</td>
<td class=c>int16u</td>
<td>--&gt; <a href='Sony.html#LensType2'>Sony LensType2 Values</a></td></tr>
-<tr>
+<tr class=b>
<td title='0x0109 = 265'>0x0109</td>
<td>LensType</td>
<td class=c>int16u</td>
<td>--&gt; <a href='Sony.html#LensType'>Sony LensType Values</a>
<br><span class='n s'>(SLT models, and NEX with A-mount lenses)</span></td></tr>
-<tr class=b>
+<tr>
<td title='0x0115 = 277'>0x0115</td>
<td>LensSpecFeatures</td>
<td class=c>undef[2]</td>
<td>&nbsp;</td></tr>
-<tr>
+<tr class=b>
<td title='0x0116 = 278'>0x0116</td>
<td>LensSpecFeatures</td>
<td class=c>undef[2]</td>
<td>&nbsp;</td></tr>
-<tr class=b>
+<tr>
<td title='0x01a0 = 416'>0x01a0</td>
<td>ImageCount3</td>
<td class=c>int32u</td>
<td>&nbsp;</td></tr>
-<tr>
+<tr class=b>
<td title='0x01aa = 426'>0x01aa</td>
<td>ImageCount3</td>
<td class=c>int32u</td>
<td>&nbsp;</td></tr>
-<tr class=b>
+<tr>
<td title='0x01bd = 445'>0x01bd</td>
<td>ImageCount3</td>
<td class=c>int32u</td>
<td>&nbsp;</td></tr>
-<tr>
+<tr class=b>
<td title='0x01cb = 459'>0x01cb</td>
<td>ImageCount3</td>
<td class=c>int32u</td>
@@ -8755,7 +8775,7 @@ the JPEG image from a PMP file)</span></span></td></tr>
<hr>
(This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Sep 11, 2015</i>
+<br><i>Last revised Oct 21, 2015</i>
<p class=lf><a href='index.html'>&lt;-- ExifTool Tag Names</a></p>
</body>
</html>
diff --git a/html/ancient_history.html b/html/ancient_history.html
index 5192a8a9..9673594f 100644
--- a/html/ancient_history.html
+++ b/html/ancient_history.html
@@ -13,6 +13,206 @@
<p><b>Note:</b> This page gives the history of older exiftool versions. See
<a href="history.html">history.html</a> for the recent history.</p>
+<a name='v9.89'><b>Mar. 7, 2015 - Version 9.89</b></a>
+<ul>
+<li>Added some new Minolta/Sony LensType values (thanks Jos Roost and LibRaw)
+<li>Fixed Windows case-sensitivity and sort-order problems when using wildcards
+ in file names on the command line
+<li>API Changes:
+ <ul>
+ <li>Added UserParam option
+ </ul>
+</ul>
+
+<a name='v9.88'><b>Feb. 28, 2015 - Version 9.88</b></a>
+<ul>
+<li>Decode a few more ID3 tags
+<li>Improved decoding of some Pentax tags
+<li>Extended -list and -listw options to include flattened tags
+<li>Patched to recognize ID3v2.3 tags in ID3v2.4 metadata and visa versa
+<li>Patched byte ordering problems with Nikon FileInfo tags for the D5500
+<li>Fixed bug where other groups were ignored when multiple groups were
+ specified when writing and one of those groups was a specific EXIF IFD (eg.
+ -ExifIFD:Time:all= ignored the Time constraint)
+</ul>
+
+<a name='v9.87'><b>Feb. 24, 2015 - Version 9.87</b></a>
+<ul>
+<li>Added a number of new Sigma LensType values (thanks LibRaw)
+<li>Fixed bug introduced in the Windows version of 9.85 where "*.*" on the
+ command line matched "." and "..", causing unexpected files to be processed
+<li>Fixed problem extracting some Microsoft tags from MP4/MOV videos
+</ul>
+
+<a name='v9.86'><b>Feb. 22, 2015 - Version 9.86</b></a>
+<ul>
+<li>Added check for valid filename encoding when using wildcards in Windows
+<li>Added support for Sigma X3F version 4.1 images
+<li>Added a number of new Sigma LensType values (thanks LibRaw and Niels
+ Kristian Bech Jensen)
+<li>Added a new Canon LensType (thanks Michael Tapes)
+<li>Added a new Leica LensType (thanks LibRaw)
+<li>Added a new Olympus CameraType
+<li>Decode a couple more FujiFilm RAF tags (thanks Frank Markesteijn)
+<li>Always preserve FileCreateDate when writing on Windows if Win32::API and
+ Win32API::File are available
+<li>Changed names of and properly decode new Olympus Pitch/Roll tags
+<li>Changed rounding method for rational values in an attempt to fix failed
+ tests on FreeBSD 10.1 and Perl 5.20.1 with uselongdouble enabled
+<li>Resolved issue with duplicate SamsungModelID values
+</ul>
+
+<a name='v9.85'><b>Feb. 14, 2015 - Version 9.85</b></a>
+<ul>
+<li>Added support for Ricoh WG-M1 maker notes
+<li>Added a few new Pentax LensType's (thanks Louis Granboulan)
+<li>Decode a couple of new Pentax tags (thanks Louis Granboulan)
+<li>Enhanced JSON import so an object with a missing SourceFile has the same
+ effect as a SourceFile of "*".
+<li>Changed MIMEType for executable script files
+<li>Patched remaining known problems involving Windows Unicode file names
+ (creating directories and using wildcards should now work)
+<li>Patched long-standing Windows daylight-savings-time bug, and removed the
+ dependency on Win32API::File::Time (reported file times should now be
+ correct, but may disagree with the Windows "dir" command)
+<li>Fixed decoding of FLIR:PlanckO (thanks Tomas)
+</ul>
+
+<a name='v9.84'><b>Feb. 10, 2015 - Version 9.84</b></a>
+<ul>
+<li>Added a new CanonModelID
+<li>Added a new Pentax LensType and PentaxModelID (thanks Louis Granboulan)
+<li>Fixed bug introduced in 9.83 that broke the -P option on Windows
+</ul>
+
+<a name='v9.83'><b>Feb. 7, 2015 - Version 9.83</b></a>
+<ul>
+<li>Added support for new IPTC Extension version 1.2 XMP tags
+<li>Added support for Leica X (Typ 113) maker notes
+<li>Added read support for ChartTIFF tags
+<li>Added a few new Canon LensType values (thanks Norbert Wasser for two)
+<li>Added a few new Nikon LensID's (thanks David P&uuml;schel, Robert
+ Rottmerhusen and Niels)
+<li>Added a number of new Olympus ArtFilterEffect values (thanks Phiber)
+<li>Added some new Olympus AspectRatio values (thanks Herb)
+<li>Added a new PentaxModelID
+<li>Added a new Olympus CameraType (thanks LibRaw)
+<li>Added new values for various Canon tags
+<li>Decode a number of new Sony tags (thanks Jos Roost)
+<li>Decode a couple more Nikon ShootingMode bits (thanks Leegong)
+<li>Updated to Nov 2014 XMP specification
+<li>Patched incompatibility between Windows Unicode update and Perl 5.005
+</ul>
+
+<a name='v9.82'><b>Jan. 15, 2015 - Version 9.82</b></a>
+<ul>
+<li>Added support for Windows Unicode names for input CSV and JSON files
+<li>Decode a number of new Sony tags (thanks Jos Roost)
+<li>Improved checks and warnings for invalid file name encoding on Windows
+<li>Improved Polish translations (thanks Kacper Perschke)
+<li>Changed exif2xmp.args and xmp2exif.args files (available in the full
+ ExifTool distribution) to avoid using non-standard XMP namespaces
+<li>Fixed problem setting file times for Windows Unicode file names
+</ul>
+
+<a name='v9.81'><b>Jan. 12, 2015 - Version 9.81</b></a>
+<ul>
+<li>Added Composite:Megapixels tag
+<li>Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
+<li>Fixed problem in Windows using Unicode file names with the -o option
+</ul>
+
+<a name='v9.80'><b>Jan. 7, 2015 - Version 9.80</b></a>
+<ul>
+<li>Added a few new Canon and Minolta/Sony LensType values (thanks LibRaw)
+<li>Added a few new CanonModelID's
+<li>Decode a few new Canon tags
+<li>Suppress warning for Canon 7DmkIII VignettingCorrUnknown2 data format
+<li>Fixed runtime warning when piping an MOI file to exiftool
+<li>Fixed bug in -fileOrder option introduced in version 9.79
+<li>Fixed bug using Windows Unicode file names with -tagsFromFile option
+</ul>
+
+<a name='v9.79'><b>Jan. 4, 2015 - Version 9.79</b> - Windows Unicode file names</a>
+<ul>
+<li>Added support for Windows Unicode file names (but note that support still
+ isn't complete -- some things like setting FileModifyDate or creating a
+ directory with a Unicode name still need work)
+<li>Added read support for MOI files
+<li>Added a few more Canon LensType's (thanks LibRaw and Martin)
+<li>Added a new Nikon LensID
+<li>Added a couple of new Panasonic ImageQuality values
+<li>Decode a new FujiFilm tag and added a new FilmMode value
+<li>Allow zero-length group names to be specified (which provides a method to
+ directly access the 0th copy of a duplicate tag using the empty family 4
+ group name by specifying "4:TAG")
+<li>Fixed invalid Samsung tag name
+<li>Fixed writing of XMP:ExposureCompensation with fractional values
+<li>API Changes:
+ <ul>
+ <li>Added CharsetFileName option
+ </ul>
+</ul>
+
+<a name='v9.78'><b>Dec. 13, 2014 - Version 9.78</b></a>
+<ul>
+<li>Added a new Nikon LensID and a new Canon LensType (thanks LibRaw)
+<li>Decode a new unknown atom in Canon MOV videos
+<li>Decode a number of new Sony tags (thanks Jos Roost)
+<li>Decode a number of new Samsung tags
+<li>Improved MakerNote compatibility when writing by adding the same amount of
+ padding after the MakerNote IFD as that written by the specific camera model
+<li>Changed the DNG BaselineExposureOffset to a signed rational (contrary to the
+ DNG 1.4 specification, which specifies an unsigned RATIONAL, but obviously
+ Adobe meant for it to store negative values)
+<li>Changed name of new QuickTime Rating tag to RatingPercent
+<li>Fixed problem introduced in 9.64 where multiple list values from some tags
+ in ZIP-based files were extracted as separate tags instead of as a list when
+ the -struct option was used, and implemented a different patch to just
+ suppress the structure warnings without changing the 9.63 behaviour
+<li>Fixed problem where some EXIF information in MOV videos could be corrupted
+ when writing
+</ul>
+
+<a name='v9.77'><b>Nov. 28, 2014 - Version 9.77</b></a>
+<ul>
+<li>Added FilePath tag (generated only if specified and Cwd is available)
+<li>Added a new Panasonic ShootingMode (thanks Horst Wandres)
+<li>Added a new FujiFilm WhiteBalance value
+<li>Added a new QuickTime vendor ID
+<li>Added a new Pentax RawDevelopmentProcess value
+<li>Decode a few new QuickTime tags
+<li>Decode some new tags in Kodak SP360 MP4 videos
+<li>Fixed bug that could cause a runtime error when parsing a Canon EOS 40D
+ image which had been edited by Nikon Capture software
+<li>Fixed bug which could produce invalid XML in the -X output when -struct was
+ also used
+</ul>
+
+<a name='v9.76'><b>Nov. 15, 2014 - Version 9.76</b></a> <span class=grn>(production release)</span>
+<ul>
+<li>Added support for the LFR format (same as LFP)
+<li>Added support for Samsung models which write 2 values for LensType
+<li>Added a new Samsung LensType (thanks Nick Livchits)
+<li>Added a few new Nikon LensID's (thanks David P&uuml;schel)
+<li>Added a new PentaxModelID
+<li>Added some new Olympus WhiteBalance2 values (thanks LibRaw)
+<li>Added a new EXIF:Compression value
+<li>Decode a new FujiFilm tag
+<li>Decode a few more private TIFF tags
+<li>Improved warning message if "DIR" or "FILE" is used literally on the command
+ line
+<li>Improved "-j -b" output to encode any non-UTF8 values as Base64
+<li>Enhanced -fast option (FastScan API option) to allow file processing to be
+ bypassed entirely
+<li>Changed conversions for a couple of Nikon 1 AF tags for consistency
+<li>Changed reported FileType for LNK, KEY, KTH, NUMBERS, NMBTEMPLATE and PAGES
+ files to match extension
+<li>Fixed problems adding new XMP and deleting old XMP from MP4 videos
+<li>Fixed problem writing FileModifyDate/FileCreateDate when
+ -overwrite_original_in_place is used
+</ul>
+
<a name='v9.75'><b>Nov. 2, 2014 - Version 9.75</b></a>
<ul>
<li>Added support for FLIR version 101 metadata
diff --git a/html/exiftool_pod.html b/html/exiftool_pod.html
index 15b9c8ae..9ab84a1e 100644
--- a/html/exiftool_pod.html
+++ b/html/exiftool_pod.html
@@ -877,7 +877,7 @@ are ignored. For example, this format file:</p>
exiftool -p test.fmt a.jpg b.jpg</pre>
<p>produces output like this:</p>
<pre>
- -- Generated by ExifTool 10.02 --
+ -- Generated by ExifTool 10.03 --
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
diff --git a/html/faq.html b/html/faq.html
index 007d8933..0dfb13b3 100644
--- a/html/faq.html
+++ b/html/faq.html
@@ -444,15 +444,15 @@ command-line options:
</blockquote>
The encoding of <b>file and directory names</b> (eg. the <i>FILE</i> argument on
the command line) is different. By default, these names are passed straight
-through to the standard C i/o routines without recoding. On Mac/Linux these
+through to the standard C I/O routines without recoding. On Mac/Linux these
routines expect UTF&#8209;8, but on Windows they use the system code page (which
is dependent on your system settings). However, as of ExifTool 9.79, the
external filename encoding may be specified:
<blockquote><code>-charset filename=CHARSET</code></blockquote>
When this is done, file and directory names are converted from the specified
-encoding to one appropriate for system i/o routines. In Windows, this also has
+encoding to one appropriate for system I/O routines. In Windows, this also has
the effect of enabling Unicode filename support via the special Windows
-wide-character i/o routines if the required Perl modules are available
+wide-character I/O routines if the required Perl modules are available
(these are included in the Windows executable version of ExifTool). See
<a href="exiftool_pod.html#windows_unicode_file_names">WINDOWS UNICODE FILE NAMES</a>
in the application documentation for more details.<br><br></li>
diff --git a/html/history.html b/html/history.html
index ee70fa4b..1a1c523d 100644
--- a/html/history.html
+++ b/html/history.html
@@ -17,6 +17,21 @@ considered development releases, and are not uploaded to <a href="http://search.
<!-- Use line width of 80 -->
<!-- *********************************************************************** -->
+<a name='v10.03'><b>Oct. 21, 2015 - Version 10.03</b></a>
+<ul>
+<li>Added support for JPEG 2000 extended-length boxes
+<li>Added a few new Canon LensType and CanonModelID values
+<li>Added a new Nikon LensID (thanks LibRaw)
+<li>Added ExifTool version number as a comment in -listx output
+<li>Added support for Leica SL (Typ 601) maker notes
+<li>Added a new Sony LensType (thanks Jos Roost)
+<li>Decode more Sony tags for some new models (thanks Jos Roost)
+<li>Decode a new Pentax tag
+<li>Patched for invalid makernote entry written by Sony ILCE-7M2 v1.21
+<li>Patched problem reading EXE resources with a missing null terminator
+<li>Updated Windows distribution package to use latest version of PAR
+</ul>
+
<a name='v10.02'><b>Sept. 17, 2015 - Version 10.02</b></a>
<ul>
<li>Added ability to read PNG chunks after the normal PNG end of file (IEND)
@@ -229,206 +244,6 @@ considered development releases, and are not uploaded to <a href="http://search.
file names
</ul>
-<a name='v9.89'><b>Mar. 7, 2015 - Version 9.89</b></a>
-<ul>
-<li>Added some new Minolta/Sony LensType values (thanks Jos Roost and LibRaw)
-<li>Fixed Windows case-sensitivity and sort-order problems when using wildcards
- in file names on the command line
-<li>API Changes:
- <ul>
- <li>Added UserParam option
- </ul>
-</ul>
-
-<a name='v9.88'><b>Feb. 28, 2015 - Version 9.88</b></a>
-<ul>
-<li>Decode a few more ID3 tags
-<li>Improved decoding of some Pentax tags
-<li>Extended -list and -listw options to include flattened tags
-<li>Patched to recognize ID3v2.3 tags in ID3v2.4 metadata and visa versa
-<li>Patched byte ordering problems with Nikon FileInfo tags for the D5500
-<li>Fixed bug where other groups were ignored when multiple groups were
- specified when writing and one of those groups was a specific EXIF IFD (eg.
- -ExifIFD:Time:all= ignored the Time constraint)
-</ul>
-
-<a name='v9.87'><b>Feb. 24, 2015 - Version 9.87</b></a>
-<ul>
-<li>Added a number of new Sigma LensType values (thanks LibRaw)
-<li>Fixed bug introduced in the Windows version of 9.85 where "*.*" on the
- command line matched "." and "..", causing unexpected files to be processed
-<li>Fixed problem extracting some Microsoft tags from MP4/MOV videos
-</ul>
-
-<a name='v9.86'><b>Feb. 22, 2015 - Version 9.86</b></a>
-<ul>
-<li>Added check for valid filename encoding when using wildcards in Windows
-<li>Added support for Sigma X3F version 4.1 images
-<li>Added a number of new Sigma LensType values (thanks LibRaw and Niels
- Kristian Bech Jensen)
-<li>Added a new Canon LensType (thanks Michael Tapes)
-<li>Added a new Leica LensType (thanks LibRaw)
-<li>Added a new Olympus CameraType
-<li>Decode a couple more FujiFilm RAF tags (thanks Frank Markesteijn)
-<li>Always preserve FileCreateDate when writing on Windows if Win32::API and
- Win32API::File are available
-<li>Changed names of and properly decode new Olympus Pitch/Roll tags
-<li>Changed rounding method for rational values in an attempt to fix failed
- tests on FreeBSD 10.1 and Perl 5.20.1 with uselongdouble enabled
-<li>Resolved issue with duplicate SamsungModelID values
-</ul>
-
-<a name='v9.85'><b>Feb. 14, 2015 - Version 9.85</b></a>
-<ul>
-<li>Added support for Ricoh WG-M1 maker notes
-<li>Added a few new Pentax LensType's (thanks Louis Granboulan)
-<li>Decode a couple of new Pentax tags (thanks Louis Granboulan)
-<li>Enhanced JSON import so an object with a missing SourceFile has the same
- effect as a SourceFile of "*".
-<li>Changed MIMEType for executable script files
-<li>Patched remaining known problems involving Windows Unicode file names
- (creating directories and using wildcards should now work)
-<li>Patched long-standing Windows daylight-savings-time bug, and removed the
- dependency on Win32API::File::Time (reported file times should now be
- correct, but may disagree with the Windows "dir" command)
-<li>Fixed decoding of FLIR:PlanckO (thanks Tomas)
-</ul>
-
-<a name='v9.84'><b>Feb. 10, 2015 - Version 9.84</b></a>
-<ul>
-<li>Added a new CanonModelID
-<li>Added a new Pentax LensType and PentaxModelID (thanks Louis Granboulan)
-<li>Fixed bug introduced in 9.83 that broke the -P option on Windows
-</ul>
-
-<a name='v9.83'><b>Feb. 7, 2015 - Version 9.83</b></a>
-<ul>
-<li>Added support for new IPTC Extension version 1.2 XMP tags
-<li>Added support for Leica X (Typ 113) maker notes
-<li>Added read support for ChartTIFF tags
-<li>Added a few new Canon LensType values (thanks Norbert Wasser for two)
-<li>Added a few new Nikon LensID's (thanks David P&uuml;schel, Robert
- Rottmerhusen and Niels)
-<li>Added a number of new Olympus ArtFilterEffect values (thanks Phiber)
-<li>Added some new Olympus AspectRatio values (thanks Herb)
-<li>Added a new PentaxModelID
-<li>Added a new Olympus CameraType (thanks LibRaw)
-<li>Added new values for various Canon tags
-<li>Decode a number of new Sony tags (thanks Jos Roost)
-<li>Decode a couple more Nikon ShootingMode bits (thanks Leegong)
-<li>Updated to Nov 2014 XMP specification
-<li>Patched incompatibility between Windows Unicode update and Perl 5.005
-</ul>
-
-<a name='v9.82'><b>Jan. 15, 2015 - Version 9.82</b></a>
-<ul>
-<li>Added support for Windows Unicode names for input CSV and JSON files
-<li>Decode a number of new Sony tags (thanks Jos Roost)
-<li>Improved checks and warnings for invalid file name encoding on Windows
-<li>Improved Polish translations (thanks Kacper Perschke)
-<li>Changed exif2xmp.args and xmp2exif.args files (available in the full
- ExifTool distribution) to avoid using non-standard XMP namespaces
-<li>Fixed problem setting file times for Windows Unicode file names
-</ul>
-
-<a name='v9.81'><b>Jan. 12, 2015 - Version 9.81</b></a>
-<ul>
-<li>Added Composite:Megapixels tag
-<li>Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
-<li>Fixed problem in Windows using Unicode file names with the -o option
-</ul>
-
-<a name='v9.80'><b>Jan. 7, 2015 - Version 9.80</b></a>
-<ul>
-<li>Added a few new Canon and Minolta/Sony LensType values (thanks LibRaw)
-<li>Added a few new CanonModelID's
-<li>Decode a few new Canon tags
-<li>Suppress warning for Canon 7DmkIII VignettingCorrUnknown2 data format
-<li>Fixed runtime warning when piping an MOI file to exiftool
-<li>Fixed bug in -fileOrder option introduced in version 9.79
-<li>Fixed bug using Windows Unicode file names with -tagsFromFile option
-</ul>
-
-<a name='v9.79'><b>Jan. 4, 2015 - Version 9.79</b> - Windows Unicode file names</a>
-<ul>
-<li>Added support for Windows Unicode file names (but note that support still
- isn't complete -- some things like setting FileModifyDate or creating a
- directory with a Unicode name still need work)
-<li>Added read support for MOI files
-<li>Added a few more Canon LensType's (thanks LibRaw and Martin)
-<li>Added a new Nikon LensID
-<li>Added a couple of new Panasonic ImageQuality values
-<li>Decode a new FujiFilm tag and added a new FilmMode value
-<li>Allow zero-length group names to be specified (which provides a method to
- directly access the 0th copy of a duplicate tag using the empty family 4
- group name by specifying "4:TAG")
-<li>Fixed invalid Samsung tag name
-<li>Fixed writing of XMP:ExposureCompensation with fractional values
-<li>API Changes:
- <ul>
- <li>Added CharsetFileName option
- </ul>
-</ul>
-
-<a name='v9.78'><b>Dec. 13, 2014 - Version 9.78</b></a>
-<ul>
-<li>Added a new Nikon LensID and a new Canon LensType (thanks LibRaw)
-<li>Decode a new unknown atom in Canon MOV videos
-<li>Decode a number of new Sony tags (thanks Jos Roost)
-<li>Decode a number of new Samsung tags
-<li>Improved MakerNote compatibility when writing by adding the same amount of
- padding after the MakerNote IFD as that written by the specific camera model
-<li>Changed the DNG BaselineExposureOffset to a signed rational (contrary to the
- DNG 1.4 specification, which specifies an unsigned RATIONAL, but obviously
- Adobe meant for it to store negative values)
-<li>Changed name of new QuickTime Rating tag to RatingPercent
-<li>Fixed problem introduced in 9.64 where multiple list values from some tags
- in ZIP-based files were extracted as separate tags instead of as a list when
- the -struct option was used, and implemented a different patch to just
- suppress the structure warnings without changing the 9.63 behaviour
-<li>Fixed problem where some EXIF information in MOV videos could be corrupted
- when writing
-</ul>
-
-<a name='v9.77'><b>Nov. 28, 2014 - Version 9.77</b></a>
-<ul>
-<li>Added FilePath tag (generated only if specified and Cwd is available)
-<li>Added a new Panasonic ShootingMode (thanks Horst Wandres)
-<li>Added a new FujiFilm WhiteBalance value
-<li>Added a new QuickTime vendor ID
-<li>Added a new Pentax RawDevelopmentProcess value
-<li>Decode a few new QuickTime tags
-<li>Decode some new tags in Kodak SP360 MP4 videos
-<li>Fixed bug that could cause a runtime error when parsing a Canon EOS 40D
- image which had been edited by Nikon Capture software
-<li>Fixed bug which could produce invalid XML in the -X output when -struct was
- also used
-</ul>
-
-<a name='v9.76'><b>Nov. 15, 2014 - Version 9.76</b></a> <span class=grn>(production release)</span>
-<ul>
-<li>Added support for the LFR format (same as LFP)
-<li>Added support for Samsung models which write 2 values for LensType
-<li>Added a new Samsung LensType (thanks Nick Livchits)
-<li>Added a few new Nikon LensID's (thanks David P&uuml;schel)
-<li>Added a new PentaxModelID
-<li>Added some new Olympus WhiteBalance2 values (thanks LibRaw)
-<li>Added a new EXIF:Compression value
-<li>Decode a new FujiFilm tag
-<li>Decode a few more private TIFF tags
-<li>Improved warning message if "DIR" or "FILE" is used literally on the command
- line
-<li>Improved "-j -b" output to encode any non-UTF8 values as Base64
-<li>Enhanced -fast option (FastScan API option) to allow file processing to be
- bypassed entirely
-<li>Changed conversions for a couple of Nikon 1 AF tags for consistency
-<li>Changed reported FileType for LNK, KEY, KTH, NUMBERS, NMBTEMPLATE and PAGES
- files to match extension
-<li>Fixed problems adding new XMP and deleting old XMP from MP4 videos
-<li>Fixed problem writing FileModifyDate/FileCreateDate when
- -overwrite_original_in_place is used
-</ul>
-
<a name='ancient' href="ancient_history.html"><b>History of older versions</b> (back to 1.00) --></a><br><br>
<hr>
diff --git a/html/index.html b/html/index.html
index 7e697614..93227832 100644
--- a/html/index.html
+++ b/html/index.html
@@ -74,9 +74,9 @@ span.sup { font-size: 0.8em; font-weight: normal; position: relative; top
</div>
<blockquote><table class='dl lg'><tr><td><b>
-<a href="http://sourceforge.net/projects/exiftool/files/Image-ExifTool-10.02.tar.gz/download">
-Download Version 10.02</a> (3.8 MB) -
-<a href="history.html">Sept. 17, 2015</a></b></td></tr></table></blockquote>
+<a href="http://sourceforge.net/projects/exiftool/files/Image-ExifTool-10.03.tar.gz/download">
+Download Version 10.03</a> (3.8 MB) -
+<a href="history.html">Oct. 21, 2015</a></b></td></tr></table></blockquote>
<p><b>ExifTool is a platform-independent <a href="ExifTool.html">Perl
library</a> plus a <a href="exiftool_pod.html">command-line application</a> for
@@ -125,8 +125,8 @@ distribution above.)</i></p>
<blockquote><table class='dl lg'><tr><td><b>
<a name="alone">Windows Executable:</a>
-<a href="http://sourceforge.net/projects/exiftool/files/exiftool-10.02.zip/download">
- exiftool-10.02.zip</a> (3.8 MB)</b></td></tr></table></blockquote>
+<a href="http://sourceforge.net/projects/exiftool/files/exiftool-10.03.zip/download">
+ exiftool-10.03.zip</a> (5.0 MB)</b></td></tr></table></blockquote>
<p><b>The stand-alone Windows executable</b> does not require Perl. Just
download and un-zip the archive then double-click on
@@ -138,7 +138,7 @@ of Windows (including Windows 7).</p>
<blockquote><table class='dl lg'><tr><td><b>
Mac OS X Package:
<a href="http://sourceforge.net/projects/exiftool/files/ExifTool-9.70.dmg/download">
- ExifTool-10.02.dmg</a> (2.5 MB)</b></td></tr></table></blockquote>
+ ExifTool-10.03.dmg</a> (2.5 MB)</b></td></tr></table></blockquote>
<p><b>The OS X package</b> installs the ExifTool command-line application and
libraries in /usr/bin. After installing, type "<code>exiftool</code>" in a
@@ -1203,6 +1203,7 @@ three droplets to extract information [exiftool must be installed] (thanks to Ro
<li><a href="http://chaoliu12.wordpress.com/fullmetaexport-lightroom-plugin/">FullMetaExport</a>: Export JPEG images from Lightroom with full metadata</li>
<li><a href="http://www.essl.de/wp/software/lenstagger-lightroom-plugin/">LensTagger</a>: Add EXIF information like aperture and focal length for manual lenses</li>
<li><a href="http://tim.jagenberg.info/projects/deaspect/">DeAspect:</a> Remove aspect ratio information from DNG, CR2 and ORF images to restore full image</li>
+<li><a href="https://github.com/flingo64/PhotoStation-Upload-Lr-Plugin">PhotoStation-Upload-Lr-Plugin</a>: Export photos from LR directly to a Synology PhotoStation</li>
</ul>
<p><b><a name="related_prog">Programming</a></b></p>
diff --git a/html/install.html b/html/install.html
index fbffa365..e5357220 100644
--- a/html/install.html
+++ b/html/install.html
@@ -71,7 +71,7 @@ extensions are hidden on your system)</span></li>
<p>You can now run exiftool by typing "<code>exiftool</code>" at the command
prompt. (To get to the command prompt, select "Run..." from the Windows "Start"
menu, then type "<code>cmd</code>" and press Return.)</p>
-<p><b>Notes:</b>
+<p><b>Notes:</b></p>
<ol type='a'>
<li>In Windows 7, running exiftool requires administrator privileges. If
necessary, this may be enabled by right clicking on exiftool, then selecting
@@ -83,7 +83,7 @@ Uninstalling instructions below then re-install exiftool. Be sure that you have
sufficient disk space in your TEMP directory for exiftool to unpack about 12 MB
of temporary files -- these are the Perl libraries used by the exiftool
application which are unpacked the first time exiftool is run.</li>
-</ol></p>
+</ol>
<p><b>Uninstalling:</b></p>
<ol type='i'>
<li>Drag "<code>exiftool(-k).exe</code>" (or "<code>C:\WINDOWS\exiftool.exe</code>")
@@ -148,6 +148,10 @@ in the OS X package. Both versions run natively on PPC and Intel Macs.</p>
</span></li>
</ol>
<p>You can now run exiftool by typing "<code>exiftool</code>" in a Terminal window.</p>
+<p>If this doesn't work, then it is likely you have an older version of OS X for which
+/usr/local/bin isn't in the default PATH. To fix this, add the following line to your
+~/.profile settings using a text editor:</p>
+<blockquote><code>export PATH=$PATH:/usr/local/bin</code></blockquote>
<h3>Full Perl Distribution</h3>
<ol>
diff --git a/lib/Image/ExifTool.pm b/lib/Image/ExifTool.pm
index 63d040cd..674b460f 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 = '10.02';
+$VERSION = '10.03';
$RELEASE = '';
@ISA = qw(Exporter);
%EXPORT_TAGS = (
diff --git a/lib/Image/ExifTool/Apple.pm b/lib/Image/ExifTool/Apple.pm
index 6e83ad41..81a0d6bb 100644
--- a/lib/Image/ExifTool/Apple.pm
+++ b/lib/Image/ExifTool/Apple.pm
@@ -20,7 +20,7 @@ $VERSION = '1.02';
WRITABLE => 1,
GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
NOTES => 'Tags extracted from maker notes of images from the iPhone 5 with iOS 7.',
- # 0x0001 - int32s: seen 0, 1
+ # 0x0001 - int32s: seen 0, 1, 2, 3
# 0x0002 - binary plist with a single data object of size 512 bytes (iPhone5s)
0x0003 => {
Name => 'RunTime',
@@ -47,9 +47,11 @@ $VERSION = '1.02';
},
# 0x000c - rational64s[2]: eg) "0.1640625 0.19921875"
# 0x000d - int32s: 0
- # 0x000e - int32s: 0,1
+ # 0x000e - int32s: 0,1,12
# 0x000f - int32s: 3
# 0x0010 - int32s: 1
+ # 0x0011 - string[37]: some type of UID, eg. "FFCBAC24-E547-4BBC-AF47-38B1A3D845E3\0" (iPhone 6s, iOS 6.1)
+ # 0x0014 - int32s: 1,3 (iPhone 6s, iOS 6.1)
);
# PLIST-format CMTime structure (ref PH)
diff --git a/lib/Image/ExifTool/Canon.pm b/lib/Image/ExifTool/Canon.pm
index 95aaec5c..7af45629 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.53';
+$VERSION = '3.54';
# Note: Removed 'USM' from 'L' lenses since it is redundant - PH
# (or is it? Ref 32 shows 5 non-USM L-type lenses)
@@ -317,8 +317,10 @@ $VERSION = '3.53';
180.2 => 'Sigma 24mm f/1.4 DG HSM | A', #53
180.3 => 'Zeiss Milvus 50mm f/1.4', #52
180.4 => 'Zeiss Milvus 85mm f/1.4', #52
- 181 => 'Canon EF 100-400mm f/4.5-5.6L IS + 1.4x', #15
- 182 => 'Canon EF 100-400mm f/4.5-5.6L IS + 2x',
+ 181 => 'Canon EF 100-400mm f/4.5-5.6L IS + 1.4x or Sigma Lens', #15
+ 181.1 => 'Sigma 150-600mm f/5-6.3 DG OS HSM | S + 1.4x', #50
+ 182 => 'Canon EF 100-400mm f/4.5-5.6L IS + 2x or Sigma Lens',
+ 182.1 => 'Sigma 150-600mm f/5-6.3 DG OS HSM | S + 2x', #PH (NC)
183 => 'Canon EF 100-400mm f/4.5-5.6L IS or Sigma Lens',
183.1 => 'Sigma 150mm f/2.8 EX DG OS HSM APO Macro', #50
183.2 => 'Sigma 105mm f/2.8 EX DG OS HSM Macro', #50
@@ -353,6 +355,7 @@ $VERSION = '3.53';
213.1 => 'Tamron SP 150-600mm f/5-6.3 Di VC USD', #topic5565 (model A011)
213.2 => 'Tamron 16-300mm f/3.5-6.3 Di II VC PZD Macro', #PH (model B016)
213.3 => 'Tamron SP 35mm f/1.8 Di VC USD', #PH (model F012)
+ 213.4 => 'Tamron SP 45mm f/1.8 Di VC USD', #PH (model F013)
214 => 'Canon EF-S 18-55mm f/3.5-5.6 USM', #PH/34
215 => 'Canon EF 55-200mm f/4.5-5.6 II USM',
217 => 'Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD', #47
@@ -424,6 +427,7 @@ $VERSION = '3.53';
4149 => 'Canon EF-M 55-200mm f/4.5-6.3 IS STM', #42
4150 => 'Canon EF-S 10-18mm f/4.5-5.6 IS STM', #42
4152 => 'Canon EF 24-105mm f/3.5-5.6 IS STM', #42
+ 4153 => 'Canon EF-M 15-45mm f/3.5-6.3 IS STM', #PH
4154 => 'Canon EF-S 24mm f/2.8 STM', #52
4156 => 'Canon EF 50mm f/1.8 STM', #42
);
@@ -638,12 +642,15 @@ $VERSION = '3.53';
0x3800000 => 'PowerShot SX530 HS',
0x3820000 => 'PowerShot SX710 HS',
0x3830000 => 'PowerShot SX610 HS',
+ 0x3840000 => 'EOS M10',
0x3850000 => 'PowerShot G3 X',
0x3860000 => 'PowerShot ELPH 165 HS / IXUS 165 / IXY 160',
0x3870000 => 'PowerShot ELPH 160 / IXUS 160',
0x3880000 => 'PowerShot ELPH 350 HS / IXUS 275 HS / IXY 640',
0x3890000 => 'PowerShot ELPH 170 IS / IXUS 170',
0x3910000 => 'PowerShot SX410 IS',
+ 0x3930000 => 'PowerShot G9 X',
+ 0x3950000 => 'PowerShot G5 X',
0x4040000 => 'PowerShot G1',
0x6040000 => 'PowerShot S100 / Digital IXUS / IXY Digital',
@@ -7895,6 +7902,11 @@ sub PrintLensID(@)
# see if we can rule out this lens by focal length or aperture
$lf = $sf if $sf and not $lf;
$la = $sa if $sa and not $la;
+ # account for converter-specific LensType's (ie. end with " + #.#x")
+ if ($lens =~ / \+ (\d+(\.\d+)?)x$/) {
+ $sf *= $1; $lf *= $1;
+ $sa *= $1; $la *= $1;
+ }
next if abs($shortFocal - $sf * $tc) > 0.9;
my $tclens = $lens;
$tclens .= " + ${tc}x" if $tc > 1;
diff --git a/lib/Image/ExifTool/EXE.pm b/lib/Image/ExifTool/EXE.pm
index 6f2937e6..83a8a8f2 100644
--- a/lib/Image/ExifTool/EXE.pm
+++ b/lib/Image/ExifTool/EXE.pm
@@ -21,7 +21,7 @@ use strict;
use vars qw($VERSION);
use Image::ExifTool qw(:DataAccess :Utils);
-$VERSION = '1.11';
+$VERSION = '1.12';
sub ProcessPEResources($$);
sub ProcessPEVersion($$);
@@ -741,15 +741,15 @@ sub ProcessCHM($$)
#------------------------------------------------------------------------------
# Read Unicode string (null terminated) from resource
-# Inputs: 0) data ref, 1) start offset, 2) optional ExifTool object ref
+# Inputs: 0) data ref, 1) start offset, 2) data end, 3) optional ExifTool object ref
# Returns: 0) Unicode string translated to UTF8, or current CharSet with ExifTool ref
# 1) end pos (rounded up to nearest 4 bytes)
-sub ReadUnicodeStr($$;$)
+sub ReadUnicodeStr($$$;$)
{
- my ($dataPt, $pos, $et) = @_;
- my $len = length $$dataPt;
+ my ($dataPt, $pos, $end, $et) = @_;
+ $end = length $$dataPt if $end > length $$dataPt; # (be safe)
my $str = '';
- while ($pos + 2 <= $len) {
+ while ($pos + 2 <= $end) {
my $ch = substr($$dataPt, $pos, 2);
$pos += 2;
last if $ch eq "\0\0";
@@ -780,7 +780,7 @@ sub ProcessPEVersion($$)
$valLen = Get16u($dataPt, $pos + 2);
$type = Get16u($dataPt, $pos + 4);
return 0 unless $len or $valLen; # prevent possible infinite loop
- ($string, $strEnd) = ReadUnicodeStr($dataPt, $pos + 6);
+ ($string, $strEnd) = ReadUnicodeStr($dataPt, $pos + 6, $pos + $len);
return 0 if $strEnd + $valLen > $end;
unless ($index or $string eq 'VS_VERSION_INFO') {
$et->Warn('Invalid Version Info block');
@@ -802,8 +802,9 @@ sub ProcessPEVersion($$)
$len = Get16u($dataPt, $pt);
$valLen = Get16u($dataPt, $pt + 2);
# $type = Get16u($dataPt, $pt + 4);
+ my $entryEnd = $pt + $len;
# get tag ID (converted to UTF8)
- ($string, $pt) = ReadUnicodeStr($dataPt, $pt + 6);
+ ($string, $pt) = ReadUnicodeStr($dataPt, $pt + 6, $entryEnd);
unless ($index) {
# separate the language code and character set
# (not sure what the CharacterSet tag is for, but the string
@@ -828,11 +829,13 @@ sub ProcessPEVersion($$)
}
# get tag value (converted to current Charset)
if ($valLen) {
- ($string, $pt) = ReadUnicodeStr($dataPt, $pt, $et);
+ ($string, $pt) = ReadUnicodeStr($dataPt, $pt, $entryEnd, $et);
} else {
$string = '';
}
$et->HandleTag($tagTablePtr, $tag, $string);
+ # step to next entry (padded to an even word)
+ $pt = ($entryEnd + 3) & 0xfffffffc;
}
} else {
$pos += $len + $valLen;
diff --git a/lib/Image/ExifTool/Exif.pm b/lib/Image/ExifTool/Exif.pm
index 3d5f8a8c..1158e77f 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.75';
+$VERSION = '3.76';
sub ProcessExif($$$);
sub WriteExif($$$);
@@ -3654,12 +3654,15 @@ sub PrintLensID($$@)
if ($sf0) {
next if abs($sf - $sf0) > 0.5 or abs($sa - $sa0) > 0.15 or
abs($lf - $lf0) > 0.5 or abs($la - $la0) > 0.15;
- # the basic parameters match, but also check against additional lens features
- # for Sony E lenses -- the full LensSpec string should match with end of LensType
- $lensSpecPrt and $lens =~ /\Q$lensSpecPrt\E( \(|$)/ and @best = ( $lens ), last;
- # exactly-matching Sony E lens should have been found above, so skip
- # any not-exactly-matching Sony E-lenses
- next if $lens =~ /^Sony E /;
+ # the basic parameters match, but also check against additional lens features:
+ # for Sony A and E lenses, the full LensSpec string should match with end of LensType,
+ # excluding any part between () at the end, and preceded by a space.
+ # The preceding space ensures that e.g. Zeiss Loxia 21mm having LensSpec "E 21mm F2.8"
+ # will not be identified as "Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)".
+ $lensSpecPrt and $lens =~ / \Q$lensSpecPrt\E( \(|$)/ and @best = ( $lens ), last;
+ # exactly-matching Sony lens should have been found above, so skip
+ # any not-exactly-matching Sony lenses
+ next if $lens =~ /^Sony /;
push @best, $lens;
next;
}
@@ -3958,7 +3961,8 @@ sub ProcessExif($$$)
$et->Warn("Bad format ($format) for $name entry $index", $inMakerNotes);
++$warnCount;
}
- return 0 unless $index; # assume corrupted IFD if this is our first entry
+ # assume corrupted IFD if this is our first entry (except Sony ILCE-7M2 firmware 1.21)
+ return 0 unless $index or $$et{Model} eq 'ILCE-7M2';
next;
}
my $formatStr = $formatName[$format]; # get name of this format
@@ -4500,8 +4504,7 @@ sub ProcessExif($$$)
$val = shift @values; # continue with next subdir
}
my $doMaker = $et->Options('MakerNotes');
- next unless $doMaker or $$et{REQ_TAG_LOOKUP}{lc($tagStr)} or
- $$tagInfo{BlockExtract};
+ next unless $doMaker or $$et{REQ_TAG_LOOKUP}{lc($tagStr)} or $$tagInfo{BlockExtract};
# extract as a block if specified
if ($$tagInfo{MakerNotes}) {
# save maker note byte order (if it was significant and valid)
diff --git a/lib/Image/ExifTool/FujiFilm.pm b/lib/Image/ExifTool/FujiFilm.pm
index 4423d949..19aeff73 100644
--- a/lib/Image/ExifTool/FujiFilm.pm
+++ b/lib/Image/ExifTool/FujiFilm.pm
@@ -26,7 +26,7 @@ use vars qw($VERSION);
use Image::ExifTool qw(:DataAccess :Utils);
use Image::ExifTool::Exif;
-$VERSION = '1.51';
+$VERSION = '1.52';
sub ProcessFujiDir($$$);
sub ProcessFaceRec($$$);
@@ -50,6 +50,7 @@ my %testedRAF = (
'0266' => 'S9500 Ver1.01',
'0269' => 'S9500 Ver1.02',
'0271' => 'S3Pro Ver2.71', # UV/IR model?
+ '0300' => 'X-E2',
'0712' => 'S5000 Ver3.00',
'0716' => 'S5000 Ver3.00', # (yes, 2 RAF versions with the same Software version)
);
diff --git a/lib/Image/ExifTool/Geotag.pm b/lib/Image/ExifTool/Geotag.pm
index 96712b62..a0ba943e 100644
--- a/lib/Image/ExifTool/Geotag.pm
+++ b/lib/Image/ExifTool/Geotag.pm
@@ -377,9 +377,7 @@ DoneFix: $isDate = 1;
/^\$GPGGA,(\d{2})(\d{2})(\d+(\.\d*)?),(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),[1-6]?,(\d+)?,(\.\d+|\d+\.?\d*)?,(-?\d+\.?\d*)?,M?,/ or next;
$fix{lat} = (($5 || 0) + $6/60) * ($7 eq 'N' ? 1 : -1);
$fix{lon} = (($8 || 0) + $9/60) * ($10 eq 'E' ? 1 : -1);
- $fix{nsats} = $11;
- $fix{hdop} = $12;
- $fix{alt} = $13;
+ @fix{qw(nsats hdop alt)} = ($11,$12,$13);
$secs = (($1 * 60) + $2) * 60 + $3;
$canCut = 1;
#
diff --git a/lib/Image/ExifTool/Jpeg2000.pm b/lib/Image/ExifTool/Jpeg2000.pm
index f7ce88d5..a70b800b 100644
--- a/lib/Image/ExifTool/Jpeg2000.pm
+++ b/lib/Image/ExifTool/Jpeg2000.pm
@@ -16,7 +16,7 @@ use strict;
use vars qw($VERSION);
use Image::ExifTool qw(:DataAccess :Utils);
-$VERSION = '1.23';
+$VERSION = '1.24';
sub ProcessJpeg2000Box($$$);
@@ -583,10 +583,11 @@ sub ProcessJpeg2000Box($$$)
my ($pos, $boxLen);
for ($pos=$dirStart; ; $pos+=$boxLen) {
my ($boxID, $buff, $valuePtr);
+ my $hdrLen = 8; # the box header length
if ($raf) {
$dataPos = $raf->Tell() - $base;
- my $n = $raf->Read($buff,8);
- unless ($n == 8) {
+ my $n = $raf->Read($buff,$hdrLen);
+ unless ($n == $hdrLen) {
$n and $err = '', last;
if ($outfile) {
CreateNewBoxes($et, $outfile) or $err = 1;
@@ -594,22 +595,30 @@ sub ProcessJpeg2000Box($$$)
last;
}
$dataPt = \$buff;
- $dirLen = 8;
+ $dirLen = $dirEnd = $hdrLen;
$pos = 0;
- } elsif ($pos >= $dirEnd - 8) {
+ } elsif ($pos >= $dirEnd - $hdrLen) {
$err = '' unless $pos == $dirEnd;
last;
}
- $boxLen = unpack("x$pos N",$$dataPt);
+ $boxLen = unpack("x$pos N",$$dataPt); # (length includes header and data)
$boxID = substr($$dataPt, $pos+4, 4);
- $pos += 8;
+ $pos += $hdrLen; # move to end of box header
if ($boxLen == 1) {
- if (not $raf and $pos < $dirLen - 8) {
- $err = 'JPEG 2000 format error';
- } else {
- $err = "Can't currently handle huge JPEG 2000 boxes";
+ # box header contains an additional 8-byte integer for length
+ $hdrLen += 8;
+ if ($raf) {
+ my $buf2;
+ if ($raf->Read($buf2,8) == 8) {
+ $buff .= $buf2;
+ $dirLen = $dirEnd = $hdrLen;
+ }
}
- last;
+ $pos > $dirEnd - 8 and $err = '', last;
+ my ($hi, $lo) = unpack("x$pos N2",$$dataPt);
+ $hi and $err = "Can't currently handle JPEG 2000 boxes > 4 GB", last;
+ $pos += 8; # move to end of extended-length box header
+ $boxLen = $lo - $hdrLen; # length of remaining box data
} elsif ($boxLen == 0) {
if ($raf) {
if ($outfile) {
@@ -625,9 +634,9 @@ sub ProcessJpeg2000Box($$$)
}
last; # (ignore the rest of the file when reading)
}
- $boxLen = $dirLen - $pos;
+ $boxLen = $dirEnd - $pos; # data runs to end of file
} else {
- $boxLen -= 8;
+ $boxLen -= $hdrLen; # length of remaining box data
}
$boxLen < 0 and $err = 'Invalid JPEG 2000 box length', last;
my $tagInfo = $et->GetTagInfo($tagTablePtr, $boxID);
@@ -642,7 +651,7 @@ sub ProcessJpeg2000Box($$$)
$raf->Seek($boxLen, 1) or $err = 'Seek error', last;
}
} elsif ($outfile) {
- Write($outfile, substr($$dataPt, $pos-8, $boxLen+8)) or $err = '', last;
+ Write($outfile, substr($$dataPt, $pos-$hdrLen, $boxLen+$hdrLen)) or $err = '', last;
}
next;
}
@@ -652,7 +661,7 @@ sub ProcessJpeg2000Box($$$)
$raf->Read($buff,$boxLen) == $boxLen or $err = '', last;
$valuePtr = 0;
$dataLen = $boxLen;
- } elsif ($boxLen + $pos > $dirStart + $dirLen) {
+ } elsif ($pos + $boxLen > $dirEnd) {
$err = '';
last;
} else {
diff --git a/lib/Image/ExifTool/MakerNotes.pm b/lib/Image/ExifTool/MakerNotes.pm
index 68c1f8bb..de84a98d 100644
--- a/lib/Image/ExifTool/MakerNotes.pm
+++ b/lib/Image/ExifTool/MakerNotes.pm
@@ -21,7 +21,7 @@ sub ProcessKodakPatch($$$);
sub WriteUnknownOrPreview($$$);
sub FixLeicaBase($$;$);
-$VERSION = '1.96';
+$VERSION = '1.97';
my $debug; # set to 1 to enable debugging code
@@ -636,7 +636,8 @@ my $debug; # set to 1 to enable debugging code
{
Name => 'MakerNoteLeica8', # used by the Q (Type 116)
# (Q (Typ 116) starts with "LEICA\0\x08\0", Make is "LEICA CAMERA AG")
- Condition => '$$valPt =~ /^LEICA\0\x08\0/',
+ # (SL (Typ 601) starts with "LEICA\0\x09\0", Make is "LEICA CAMERA AG")
+ Condition => '$$valPt =~ /^LEICA\0[\x08\x09]\0/',
SubDirectory => {
TagTable => 'Image::ExifTool::Panasonic::Leica5',
Start => '$valuePtr + 8',
diff --git a/lib/Image/ExifTool/Minolta.pm b/lib/Image/ExifTool/Minolta.pm
index 412397b5..7018574c 100644
--- a/lib/Image/ExifTool/Minolta.pm
+++ b/lib/Image/ExifTool/Minolta.pm
@@ -540,27 +540,28 @@ $VERSION = '2.27';
#
# 3rd party E lenses
#
- '65535.30' => 'Sigma 19mm F2.8 [EX] DN', #JR
- '65535.31' => 'Sigma 30mm F2.8 [EX] DN', #JR
- '65535.32' => 'Sigma 60mm F2.8 DN', #JR
- '65535.33' => 'Tamron 18-200mm F3.5-6.3 Di III VC', #JR (Model B011)
- '65535.34' => 'Zeiss Batis 25mm F2', #JR
- '65535.35' => 'Zeiss Batis 85mm F1.8', #JR (OSS ?)
- '65535.36' => 'Zeiss Loxia 35mm F2', #JR
- '65535.37' => 'Zeiss Loxia 50mm F2', #JR
- '65535.38' => 'Zeiss Touit 12mm F2.8', #JR
- '65535.39' => 'Zeiss Touit 32mm F1.8', #JR
- '65535.40' => 'Zeiss Touit 50mm F2.8 Macro', #JR
+ '65535.30' => 'Sigma 19mm F2.8 [EX] DN', #JR
+ '65535.31' => 'Sigma 30mm F2.8 [EX] DN', #JR
+ '65535.32' => 'Sigma 60mm F2.8 DN', #JR
+ '65535.33' => 'Tamron 18-200mm F3.5-6.3 Di III VC', #JR (Model B011)
+ '65535.34' => 'Zeiss Batis 25mm F2', #JR
+ '65535.35' => 'Zeiss Batis 85mm F1.8', #JR
+ '65535.36' => 'Zeiss Loxia 21mm F2.8', #JR
+ '65535.37' => 'Zeiss Loxia 35mm F2', #JR
+ '65535.38' => 'Zeiss Loxia 50mm F2', #JR
+ '65535.39' => 'Zeiss Touit 12mm F2.8', #JR
+ '65535.40' => 'Zeiss Touit 32mm F1.8', #JR
+ '65535.41' => 'Zeiss Touit 50mm F2.8 Macro', #JR
#
# other lenses
#
- '65535.41' => 'Arax MC 35mm F2.8 Tilt+Shift', #JD
- '65535.42' => 'Arax MC 80mm F2.8 Tilt+Shift', #JD
- '65535.43' => 'Zenitar MF 16mm F2.8 Fisheye M42', #JD
- '65535.44' => 'Samyang 500mm Mirror F8.0', #19
- '65535.45' => 'Pentacon Auto 135mm F2.8', #19
- '65535.46' => 'Pentacon Auto 29mm F2.8', #19
- '65535.47' => 'Helios 44-2 58mm F2.0', #19
+ '65535.42' => 'Arax MC 35mm F2.8 Tilt+Shift', #JD
+ '65535.43' => 'Arax MC 80mm F2.8 Tilt+Shift', #JD
+ '65535.44' => 'Zenitar MF 16mm F2.8 Fisheye M42', #JD
+ '65535.45' => 'Samyang 500mm Mirror F8.0', #19
+ '65535.46' => 'Pentacon Auto 135mm F2.8', #19
+ '65535.47' => 'Pentacon Auto 29mm F2.8', #19
+ '65535.48' => 'Helios 44-2 58mm F2.0', #19
);
%minoltaTeleconverters = (
diff --git a/lib/Image/ExifTool/Nikon.pm b/lib/Image/ExifTool/Nikon.pm
index 28207ffb..e17194fc 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.09';
+$VERSION = '3.10';
sub LensIDConv($$$);
sub ProcessNikonAVI($$$);
@@ -285,6 +285,7 @@ sub GetAFPointGrid($$;$);
'AD 3C 2D 8E 2C 3C AF 0E' => 'AF-S DX Nikkor 18-300mm f/3.5-5.6G ED VR',
'AE 54 62 62 0C 0C B0 06' => 'AF-S Nikkor 85mm f/1.4G',
'AF 54 44 44 0C 0C B1 06' => 'AF-S Nikkor 35mm f/1.4G',
+ 'AF 4C 37 37 14 14 CC 06' => 'AF-S Nikkor 24mm f/1.8G ED', #33
'B0 4C 50 50 14 14 B2 06' => 'AF-S Nikkor 50mm f/1.8G',
'B1 48 48 48 24 24 B3 06' => 'AF-S DX Micro Nikkor 40mm f/2.8G', #27
'B2 48 5C 80 30 30 B4 0E' => 'AF-S Nikkor 70-200mm f/4G ED VR', #35
@@ -6655,7 +6656,7 @@ sub ProcessNikonCaptureOffsets($$$)
}
#------------------------------------------------------------------------------
-# Read/write Nikon Makernotes directory
+# Read/write Nikon MakerNotes directory
# Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
# Returns: 1 on success, otherwise returns 0 and sets a Warning when reading
# or new directory when writing (IsWriting set in dirInfo)
diff --git a/lib/Image/ExifTool/Pentax.pm b/lib/Image/ExifTool/Pentax.pm
index 2f62506f..2f527269 100644
--- a/lib/Image/ExifTool/Pentax.pm
+++ b/lib/Image/ExifTool/Pentax.pm
@@ -56,7 +56,7 @@ use vars qw($VERSION %pentaxLensTypes);
use Image::ExifTool::Exif;
use Image::ExifTool::HP;
-$VERSION = '2.95';
+$VERSION = '2.96';
sub CryptShutterCount($$);
sub PrintFilter($$$);
@@ -4609,6 +4609,12 @@ my %binaryDataAttrs = (
20 => 'Mid-right',
},
},
+ 0x1fd => {
+ Name => 'AFHold',
+ Notes => 'decoded only for the K-3 II',
+ Condition => '$$self{Model} eq "PENTAX K-3 II"',
+ PrintConv => { 0 => 'Off', 1 => 'Short', 2 => 'Medium', 3 => 'Long' },
+ },
);
# Kelvin white balance information (ref 28, topic 4834)
diff --git a/lib/Image/ExifTool/Sony.pm b/lib/Image/ExifTool/Sony.pm
index 4c025d7a..90b7ef1c 100644
--- a/lib/Image/ExifTool/Sony.pm
+++ b/lib/Image/ExifTool/Sony.pm
@@ -31,7 +31,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
use Image::ExifTool::Exif;
use Image::ExifTool::Minolta;
-$VERSION = '2.25';
+$VERSION = '2.26';
sub ProcessSRF($$$);
sub ProcessSR2($$$);
@@ -801,7 +801,7 @@ my %meterInfo2 = (
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010g' },
},{
Name => 'Tag2010h', # ?
- Condition => '$$self{Model} =~ /^(DSC-(RX10M2|RX100M4|HX90V|WX500)|ILCE-7RM2)\b/',
+ Condition => '$$self{Model} =~ /^(DSC-(RX1RM2|RX10M2|RX100M4|HX90V|WX500)|ILCE-7RM2|ILCE-7SM2)\b/',
SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010h' },
},{
Name => 'Tag_0x2010',
@@ -1338,6 +1338,7 @@ my %meterInfo2 = (
'3 2 0 0' => 'ARW 2.2', #PH (NEX-5)
'3 3 0 0' => 'ARW 2.3', #PH (SLT-A65,SLT-A77)
'3 3 1 0' => 'ARW 2.3.1', #PH/JR (RX1R,RX100M2)
+ '3 3 2 0' => 'ARW 2.3.2', #JR (RX1RM2,ICLE-7SM2 - support for uncompressed 14-bit RAW)
# what about cRAW images?
},
},
@@ -1405,8 +1406,10 @@ my %meterInfo2 = (
340 => 'ILCE-7M2', #JR
341 => 'DSC-RX100M4', #PH
342 => 'DSC-RX10M2', #JR
+ 344 => 'DSC-RX1RM2', #JR
346 => 'ILCE-QX1', #14
347 => 'ILCE-7RM2', #JR
+ 350 => 'ILCE-7SM2', #JR
},
},
0xb020 => { #2
@@ -6296,10 +6299,10 @@ my %pictureProfile2010 = (
# however, not always valid e.g. bracketing, Shutter-prio e.a.
# difference between 0x0002 and 0x0004 mostly 0.0, 0.1 or 0.2 stops.
-#### July 2015: ILCE-7RM2 offsets appear to be different ... exclude from existing tags
+#### July 2015: ILCE-(7RM2|7SM2) offsets appear to be different ... exclude from existing tags
0x0031 => { #JR
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-7RM2)/',
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(7RM2|7SM2))/',
Name => 'FlashStatus',
RawConv => '$$self{FlashFired} = $val',
PrintConv => {
@@ -6317,14 +6320,14 @@ my %pictureProfile2010 = (
# this seems to be valid for the A37,A57,A65,A77,A99, and possibly the NEX-5N/7
# but I haven't seen a count over 65536, so the Format is not confirmed - PH
# - not valid for the DSC-RX100 or RX1, so exclude all DSC models
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-7RM2)/', #PH
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(7RM2|7SM2))/', #PH
Format => 'int32u',
Notes => 'total number of image exposures made by the camera',
RawConv => '$val & 0x00ffffff',
},
0x003a => { # appr. same value as Exif ExposureTime, but longer in HDR-modes
Name => 'SonyExposureTime',
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-7RM2)/',
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(7RM2|7SM2))/',
Format => 'int16u',
ValueConv => '$val ? 2 ** (16 - $val/256) : 0',
ValueConvInv => '$val ? int((16 - log($val) / log(2)) * 256 + 0.5) : 0',
@@ -6333,7 +6336,7 @@ my %pictureProfile2010 = (
},
0x003c => {
Name => 'SonyFNumber',
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-7RM2)/',
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(7RM2|7SM2))/',
Format => 'int16u',
ValueConv => '2 ** (($val/256 - 16) / 2)',
ValueConvInv => '(log($val)*2/log(2)+16)*256',
@@ -6342,7 +6345,7 @@ my %pictureProfile2010 = (
},
0x003f => {
Name => 'ReleaseMode2',
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-7RM2)/',
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(7RM2|7SM2))/',
%releaseMode2,
},
0x004c => { # only ILCE-7/7R/7S/7M2/5000/5100/6000/QX1 - but appears not valid when flash is used ...
@@ -6371,9 +6374,14 @@ my %pictureProfile2010 = (
PrintConv => '$self->ConvertDateTime($val)',
PrintConvInv => '$self->InverseDateTime($val,0)',
},
+ 0x0067 => {
+ Name => 'ReleaseMode2',
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|SLT-A(65V|77V)|Lunar|NEX-(5N|7|VG20E)|ILCE-(7RM2|7SM2))/',
+ %releaseMode2,
+ },
0x007c => { #JR valid for ILCE and most NEX
Name => 'InternalSerialNumber', # (NC)
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|Lunar|NEX-(5N|7|VG20E)|SLT-|HV|ILCA-|ILCE-7RM2)/',
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|Lunar|NEX-(5N|7|VG20E)|SLT-|HV|ILCA-|ILCE-(7RM2|7SM2))/',
Format => 'int8u[4]',
PrintConv => 'unpack "H*", pack "C*", split " ", $val',
},
@@ -6385,10 +6393,10 @@ my %pictureProfile2010 = (
PrintConvInv => 'join " ", unpack "C*", pack "H*", $val',
},
-##### ILCE-7RM2: offsets +8
+##### ILCE-(7RM2|7SM2): offsets +8
0x0039 => {
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
Name => 'FlashStatus',
RawConv => '$$self{FlashFired} = $val',
PrintConv => {
@@ -6403,17 +6411,17 @@ my %pictureProfile2010 = (
},
0x003a => {
Name => 'ImageCount',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
Format => 'int32u',
Notes => 'total number of image exposures made by the camera',
RawConv => '$val & 0x00ffffff',
},
-##### ILCE-7RM2: offsets +12 (x0c):
+##### ILCE-(7RM2|7SM2): offsets +12 (x0c):
0x0046 => { # appr. same value as Exif ExposureTime, but longer in HDR-modes
Name => 'SonyExposureTime',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
Format => 'int16u',
ValueConv => '$val ? 2 ** (16 - $val/256) : 0',
ValueConvInv => '$val ? int((16 - log($val) / log(2)) * 256 + 0.5) : 0',
@@ -6422,7 +6430,7 @@ my %pictureProfile2010 = (
},
0x0048 => {
Name => 'SonyFNumber',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
Format => 'int16u',
ValueConv => '2 ** (($val/256 - 16) / 2)',
ValueConvInv => '(log($val)*2/log(2)+16)*256',
@@ -6431,18 +6439,18 @@ my %pictureProfile2010 = (
},
0x004b => {
Name => 'ReleaseMode2',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
%releaseMode2,
},
- 0x0058 => { # only ILCE-7RM2 - but appears not valid when flash is used ...
+ 0x0058 => { # only ILCE-(7RM2|7SM2) - but appears not valid when flash is used ...
Name => 'ImageCount2',
- Condition => '($$self{Model} =~ /^(ILCE-7RM2)\b/) and (($$self{FlashFired} & 0x01) != 1)',
+ Condition => '($$self{Model} =~ /^(ILCE-(7RM2|7SM2))\b/) and (($$self{FlashFired} & 0x01) != 1)',
Format => 'int32u',
RawConv => '$val & 0x00ffffff',
},
- 0x005d => { # only ILCE-7RM2, but only minutes-seconds ???
+ 0x005d => { # only ILCE-(7RM2|7SM2), but only minutes-seconds ???
Name => 'SonyDateTime2',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)\b/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))\b/',
Groups => { 2 => 'Time' },
Shift => 'Time',
Format => 'undef[6]',
@@ -6459,8 +6467,19 @@ my %pictureProfile2010 = (
PrintConv => '$self->ConvertDateTime($val)',
PrintConvInv => '$self->InverseDateTime($val,0)',
},
+ 0x0073 => {
+ Name => 'ReleaseMode2',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
+ %releaseMode2,
+ },
+ 0x0088 => {
+ Name => 'InternalSerialNumber', # (NC)
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
+ Format => 'int8u[6]',
+ PrintConv => 'unpack "H*", pack "C*", split " ", $val',
+ },
-##### ILCE-7RM2: same offsets for lens info tags
+##### ILCE-(7RM2|7SM2): same offsets for lens info tags
# 0x0104 - same as 0x0105, but has value 3 for 50mm F1.4 ZA, DT 18-135mm and for 70-400mm G II: meaning ??
0x0105 => {
@@ -6563,7 +6582,7 @@ my %pictureProfile2010 = (
Name => 'ImageCount3',
Format => 'int32u',
RawConv => '$val == 0 ? undef : $val',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))/',
},
# 0x0222 => {Name=>'9050_LensType2',Format=>'int16u',Condition =>'$$self{Model}=~/^(ILCE-(5100|7S|7M2|QX1))/'},
@@ -7223,14 +7242,14 @@ my %pictureProfile2010 = (
},
0x0342 => {
Name => 'LensZoomPosition',
- Condition => '$$self{Model} !~ /^(ILCA-|ILCE-7RM2|DSC-(HX90V|RX10M2|RX100M4|WX500))/',
+ Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7SM2)|DSC-(HX90V|RX10M2|RX100M4|WX500))/',
Format => 'int16u',
PrintConv => 'sprintf("%.0f%%",$val/10.24)',
PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
},
0x035a => {
Name => 'LensZoomPosition',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2|DSC-(HX90V|RX10M2|RX100M4|WX500))/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2)|DSC-(HX90V|RX10M2|RX100M4|WX500))/',
Format => 'int16u',
PrintConv => 'sprintf("%.0f%%",$val/10.24)',
PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
@@ -7674,11 +7693,11 @@ my %pictureProfile2010 = (
# other NEX/ILCE: 74 blocks of 164 bytes
# 0x1a06 onwards - first seen for ILCE-7RM2: appears to be some kind of metering image
- 0x1a06 => { Name => 'TiffMeteringImageWidth', Condition => '$$self{Model} =~ /^(ILCE-7RM2)\b/' },
- 0x1a07 => { Name => 'TiffMeteringImageHeight', Condition => '$$self{Model} =~ /^(ILCE-7RM2)\b/' },
+ 0x1a06 => { Name => 'TiffMeteringImageWidth', Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))\b/' },
+ 0x1a07 => { Name => 'TiffMeteringImageHeight', Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))\b/' },
0x1a08 => { # (2640 bytes: 1 set of 44x30 int16u values)
Name => 'TiffMeteringImage',
- Condition => '$$self{Model} =~ /^(ILCE-7RM2)\b/',
+ Condition => '$$self{Model} =~ /^(ILCE-(7RM2|7SM2))\b/',
Format => 'undef[2640]',
Notes => q{
13(?)-bit intensity data from 1320 (1200) metering segments, extracted as a
diff --git a/lib/Image/ExifTool/TagInfoXML.pm b/lib/Image/ExifTool/TagInfoXML.pm
index 5bf79de6..006ee0d2 100644
--- a/lib/Image/ExifTool/TagInfoXML.pm
+++ b/lib/Image/ExifTool/TagInfoXML.pm
@@ -15,7 +15,7 @@ use vars qw($VERSION @ISA);
use Image::ExifTool qw(:Utils :Vars);
use Image::ExifTool::XMP;
-$VERSION = '1.27';
+$VERSION = '1.28';
@ISA = qw(Exporter);
# set this to a language code to generate Lang module with 'MISSING' entries
@@ -88,6 +88,7 @@ sub Write(;$$%)
$fp = \*STDOUT;
}
print $fp "<?xml version='1.0' encoding='UTF-8'?>\n";
+ print $fp "<!-- Generated by Image::ExifTool $Image::ExifTool::VERSION -->\n";
print $fp "<taginfo>\n\n";
# loop through all tables and save tag names to %allTags hash
diff --git a/lib/Image/ExifTool/TagLookup.pm b/lib/Image/ExifTool/TagLookup.pm
index 42db614f..279469f0 100644
--- a/lib/Image/ExifTool/TagLookup.pm
+++ b/lib/Image/ExifTool/TagLookup.pm
@@ -565,6 +565,7 @@ my %tagLookup = (
'affinetuneindex' => { 168 => 0x1 },
'affinex' => { 387 => 'AffineX' },
'affiney' => { 387 => 'AffineY' },
+ 'afhold' => { 277 => 0x1fd },
'afilluminator' => { 339 => 0x29, 351 => 0xb044 },
'afimageheight' => { 167 => 0x12 },
'afimagewidth' => { 167 => 0x10 },
@@ -2494,7 +2495,7 @@ my %tagLookup = (
'internalflashtable' => { 252 => 0x1024 },
'internallensserialnumber' => { 329 => 0xa005 },
'internalndfilter' => { 267 => 0x9d },
- 'internalserialnumber' => { 54 => 0x96, 65 => 0x9, 109 => 0x10, 162 => 0x49dc, 246 => 0x18, 248 => 0x102, 267 => 0x25, 280 => 0x4, 323 => 0x5, 366 => [0x7c,0xf0] },
+ 'internalserialnumber' => { 54 => 0x96, 65 => 0x9, 109 => 0x10, 162 => 0x49dc, 246 => 0x18, 248 => 0x102, 267 => 0x25, 280 => 0x4, 323 => 0x5, 366 => [0x7c,0x88,0xf0] },
'interopindex' => { 104 => 0x1, 399 => 'InteroperabilityIndex' },
'interopversion' => { 104 => 0x2 },
'intervallength' => { 156 => 0x10 },
@@ -3876,7 +3877,7 @@ my %tagLookup = (
'releasebuttontousedial' => { 234 => '17.8', 235 => '18.5', 240 => '33.8', 241 => '17.6', 244 => '18.5' },
'releasedate' => { 112 => 0x1e, 419 => 'releaseDate' },
'releasemode' => { 100 => 0x3001, 351 => 0xb049 },
- 'releasemode2' => { 358 => 0x112c, 359 => [0x112c,0x8], 360 => [0x1108,0x8], 361 => [0x1184,0x8], 362 => [0x1160,0x8], 363 => [0x4,0x1018], 364 => [0x4,0x210], 365 => [0x4,0x210], 366 => [0x3f,0x4b], 367 => 0x10, 368 => 0x10, 369 => 0x9, 375 => 0x34 },
+ 'releasemode2' => { 358 => 0x112c, 359 => [0x112c,0x8], 360 => [0x1108,0x8], 361 => [0x1184,0x8], 362 => [0x1160,0x8], 363 => [0x4,0x1018], 364 => [0x4,0x210], 365 => [0x4,0x210], 366 => [0x67,0x73,0x3f,0x4b], 367 => 0x10, 368 => 0x10, 369 => 0x9, 375 => 0x34 },
'releasemode3' => { 358 => 0x1128, 359 => 0x1128, 360 => 0x1104, 361 => 0x1180, 362 => 0x115c, 363 => 0x1014, 364 => 0x20c, 365 => 0x20c },
'releasesetting' => { 85 => 0x1016 },
'releasetime' => { 112 => 0x23 },
diff --git a/lib/Image/ExifTool/TagNames.pod b/lib/Image/ExifTool/TagNames.pod
index e4a4ad3f..1a91e6f2 100644
--- a/lib/Image/ExifTool/TagNames.pod
+++ b/lib/Image/ExifTool/TagNames.pod
@@ -12185,6 +12185,7 @@ Flash information tags for the K10D, K20D and K200D.
6 AFDefocus int8u
7 AFIntegrationTime int8u
11 AFPointsInFocus int8u
+ 509 AFHold int8u
=head3 Pentax KelvinWB Tags
@@ -14101,7 +14102,10 @@ substitution cipher, but the deciphered values are listed below.
0x0051 SonyDateTime2 undef[6]
0x0058 ImageCount2 int32u
0x005d SonyDateTime2 undef[6]
+ 0x0067 ReleaseMode2 int8u
+ 0x0073 ReleaseMode2 int8u
0x007c InternalSerialNumber int8u[4]~
+ 0x0088 InternalSerialNumber int8u[6]~
0x00f0 InternalSerialNumber int8u[5]
0x0105 LensMount int8u
0x0106 LensFormat int8u
diff --git a/perl-Image-ExifTool.spec b/perl-Image-ExifTool.spec
index 2f836052..876403ec 100644
--- a/perl-Image-ExifTool.spec
+++ b/perl-Image-ExifTool.spec
@@ -1,6 +1,6 @@
Summary: perl module for image data extraction
Name: perl-Image-ExifTool
-Version: 10.02
+Version: 10.03
Release: 1
License: Artistic/GPL
Group: Development/Libraries/Perl
diff --git a/pp_build_exe.args b/pp_build_exe.args
index d595dc2e..5fea091c 100644
--- a/pp_build_exe.args
+++ b/pp_build_exe.args
@@ -21,10 +21,10 @@
# 10) Copy zip archive to web servers.
# 11) Update zip file version in link and text of html/index.html.
#------------------------------------------------------------------------------
--T exiftool-10.00
---info=FileVersion=10.0.0.0
---info=ProductVersion=10.0.0.0
-"--info=Build Date=2015:08:18 08:48:32"
+-T exiftool-10.03
+--info=FileVersion=10.0.3.0
+--info=ProductVersion=10.0.3.0
+"--info=Build Date=2015:10:21 09:29:42"
"--info=Bundled Perl Version=ActivePerl 5.8.7"
"--info=LegalCopyright=Copyright (c) 2003-2015, Phil Harvey"
"--info=ProductName=ExifTool"
diff --git a/t/Jpeg2000_2.out b/t/Jpeg2000_2.out
index 34a7afbd..f792ea61 100644
--- a/t/Jpeg2000_2.out
+++ b/t/Jpeg2000_2.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.93
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.03
[File, System, Image] FileName - File Name: Jpeg2000.jp2
[File, System, Image] Directory - Directory: t/images
-[File, System, Image] FileSize - File Size: 1914 bytes
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2013:01:08 12:29:41-05:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:18 07:17:12-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:03:07 15:31:15-05:00
+[File, System, Image] FileSize - File Size: 1954 bytes
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:09:25 11:32:27-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2015:09:25 11:32:28-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:09:25 11:32:27-04:00
[File, System, Image] FilePermissions - File Permissions: rw-r--r--
[File, File, Image] FileType - File Type: JP2
[File, File, Image] FileTypeExtension - File Type Extension: jp2
@@ -26,7 +26,7 @@
[EXIF, IFD0, Image] 257 - Image Height: 1
[EXIF, IFD0, Image] 258 - Bits Per Sample: 8
[EXIF, IFD0, Image] 259 - Compression: Uncompressed
-[EXIF, IFD0, Image] 273 - Strip Offsets: 101
+[EXIF, IFD0, Image] 273 - Strip Offsets: 125
[EXIF, IFD0, Image] 277 - Samples Per Pixel: 1
[EXIF, IFD0, Image] 279 - Strip Byte Counts: 0
[EXIF, IFD0, Image] 284 - Planar Configuration: Chunky
diff --git a/t/images/Jpeg2000.jp2 b/t/images/Jpeg2000.jp2
index 483016bc..5b7fe97b 100644
--- a/t/images/Jpeg2000.jp2
+++ b/t/images/Jpeg2000.jp2
Binary files differ
diff --git a/windows_exiftool b/windows_exiftool
index 3af8760b..6f4c8147 100755
--- a/windows_exiftool
+++ b/windows_exiftool
@@ -12,7 +12,7 @@
use strict;
require 5.004;
-my $version = '10.02';
+my $version = '10.03';
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
my $exeDir;
@@ -4694,7 +4694,7 @@ OPTIONS
produces output like this:
- -- Generated by ExifTool 10.02 --
+ -- Generated by ExifTool 10.03 --
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