Various updates

This commit is contained in:
Andreas Huggel 2004-05-06 03:14:45 +00:00
parent 226fafe3f6
commit 1594420448
6 changed files with 526 additions and 14 deletions

View File

@ -1,30 +1,41 @@
################################################################################
# File exiv2.dot
# Brief Dot file for a graph showing the component dependencies
# of the Exiv2 library. Run the following command to get the image:
# $ dot -Tgif -oexiv2.gif exiv2.dot
# Version $Name: $ $Revision: 1.2 $
# Author Andreas Huggel (ahu)
# <a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
# Date 18-Feb-04, ahu: created
################################################################################
digraph G {
L1 [shape=plaintext] ;
L2 [shape=plaintext] ;
L3 [shape=plaintext] ;
L4 [shape=plaintext] ;
L5 [shape=plaintext] ;
"L4" -> "L3" -> "L2" -> "L1" [style=invis] ;
"L5" -> "L4" -> "L3" -> "L2" -> "L1" [style=invis] ;
"exif" [shape=box] ;
"ifd" [shape=box] ;
"image" [shape=box] ;
"tags" [shape=box] ;
"types" [shape=box] ;
"value" [shape=box] ;
"error" [shape=box] ;
"exif" -> "ifd" ;
"exif" -> "image" ;
"exif" [shape=box] ;
"ifd" [shape=box] ;
"image" [shape=box] ;
"tags" [shape=box] ;
"value" [shape=box] ;
"types" [shape=box] ;
"error" [shape=box] ;
"makernote" [shape=box] ;
"exif" -> "tags" ;
"exif" -> "types" ;
"exif" -> "value" ;
"exif" -> "error" ;
"exif" -> "makernote" ;
"exif" -> "image" ;
"makernote" -> "ifd" ;
"makernote" -> "value" ;
"ifd" -> "error" ;
"ifd" -> "types" ;
"image" -> "types" ;
"tags" -> "error" ;
"tags" -> "types" ;
"tags" -> "value" ;
"value" -> "types" ;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 16 KiB

113
doc/makernote.html Normal file
View File

@ -0,0 +1,113 @@
<html>
<head>
<title>Exif MakerNote Formats and Specifications</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h1>Exif MakerNote Formats and Specifications</h1>
<p>The following table summarizes the structures of the MakerNote field used by
different vendors.</p>
<table width="100%" border="1">
<tr>
<td width="6%"><b>Make</b></td>
<td width="12%"><b>Models</b></td>
<td width="40%"><b>Format</b></td>
<td width="10%"><b>Specifications</b></td>
<td width="32%"><b>Remarks</b></td>
</tr>
<tr>
<td width="6%">Canon</td>
<td width="12%">&nbsp;</td>
<td width="40%">IFD</td>
<td width="10%"> <a href="#R2">[2]</a></td>
<td width="32%">&nbsp;</td>
</tr>
<tr>
<td width="6%">Casio</td>
<td width="12%">
<p>QV-3000EX, QV-2000UX, QV-8000SX</p>
</td>
<td width="40%">IFD</td>
<td width="10%"><a href="#R4">[4]</a></td>
<td width="32%">&quot;Early&quot; versions of QV-2000UX and QV-8000SX only
have 4 bytes in the MakerNote field.</td>
</tr>
<tr>
<td width="6%">Fujifilm</td>
<td width="12%">&nbsp;</td>
<td width="40%">IFD; starts with string &quot;FUJIFILM&quot; and an offset
to the first IFD, offsets are relative to the beginning of the MakerNote</td>
<td width="10%"><a href="#R1">[1]</a></td>
<td width="32%">Fujifilm's Exif data uses Motorola alignment, but the MakerNote
uses Intel alignment</td>
</tr>
<tr>
<td width="6%">Minolta</td>
<td width="12%">&nbsp;</td>
<td width="40%">IFD</td>
<td width="10%"><a href="#R5">[5]</a></td>
<td width="32%">MakerNote numbers are always stored in Motorola/Macintosh
style</td>
</tr>
<tr>
<td width="6%">Nikon</td>
<td width="12%">E990, D1</td>
<td width="40%">IFD (from offset 0x00)</td>
<td width="10%"><a href="#R3">[3]</a></td>
<td width="32%">&nbsp;</td>
</tr>
<tr>
<td width="6%">Nikon</td>
<td width="12%">E700, E800, E900, E900S, E910, E950</td>
<td width="40%">IFD; starts with string &quot;Nikon&quot;, IFD from offset
0x08</td>
<td width="10%"><a href="#R1">[1]</a></td>
<td width="32%">&nbsp;</td>
</tr>
<tr>
<td width="6%">Olympus </td>
<td width="12%">D450Z(C-920Z)</td>
<td width="40%">IFD; starts with string &quot;OLYMP&quot;, IFD from offset
0x07</td>
<td width="10%"><a href="#R1">[1]</a></td>
<td width="32%">&nbsp;</td>
</tr>
<tr>
<td width="6%">Sanyo</td>
<td width="12%">DSC-MZ2</td>
<td width="40%">IFD</td>
<td width="10%"><a href="#R6">[6]</a></td>
<td width="32%">Tag 0x00ff contains the offset to the start of the MakerNote(?).
The semantics of the value is different in TIFF and JPEG images</td>
</tr>
<tr>
<td width="6%">Sigma, Foveon</td>
<td width="12%">&nbsp;</td>
<td width="40%">IFD; Starts with an 8-byte ID string &quot;SIGMA\0\0\0&quot; or
&quot;FOVEON\0\0&quot;</td>
<td width="10%"><a href="#R7">[7]</a></td>
<td width="32%">&nbsp;</td>
</tr>
</table>
<p><a href="http://www.exif.org/">Exif.org</a> has another table with similar
info and sample pictures: <a href="http://www.exif.org/samples.html">Digital
Camera Sample Images</a>. According to this source, (at least some) Ricoh and
Kodak cameras do not write the MakerNote in IFD format.</p>
<h2>References:</h2>
<p>[1]<a name="R1"></a> <a href="http://park2.wakwak.com/%7Etsuruzoh/Computer/Digicams/exif-e.html">Exif
file format</a> by TsuruZoh Tachibanaya<br>
[2]<a name="R2"></a> <a href="http://www.burren.cx/david/canon.html">EXIF MakerNote
of Canon</a> by David Burren<br>
[3]<a name="R3"></a> <a href="http://www.tawbaware.com/990exif.htm">MakerNote
EXIF Tag of the Nikon 990</a> by Max Lyons<br>
[4]<a name="R4"></a> <a href="http://www.dicasoft.de/casiomn.htm">&quot;MakerNote&quot;
Exif tag of Casio</a> by Eckhard Henkel<br>
[5]<a name="R5"></a> <a href="http://www.dalibor.cz/minolta/makernote.htm">Minolta
MakerNote</a> by Dalibor Jeline<br>
[6]<a name="R6"></a> <a href="http://www.exif.org/makernotes/SanyoMakerNote.html">Sanyo
MakerNote</a> by John Hawkins<br>
[7]<a name="R7"></a> <a href="http://www.x3f.info/technotes/FileDocs/MakerNoteDoc.html">SIGMA and FOVEON EXIF MakerNote Documentation</a> by Foveon</p>
<p>&nbsp;</p>
</body>
</html>

68
doc/tags-canon.xml Normal file
View File

@ -0,0 +1,68 @@
<?xml version = '1.0'?>
<?xml-stylesheet type="text/xsl" href="tags.xsl"?>
<ROWSET>
<ROW num="1">
<tagname>CameraSettings1</tagname>
<tagdec>1</tagdec>
<taghex>0x0001</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.CameraSettings1</key>
<tagdesc>Various camera settings (1)</tagdesc>
</ROW>
<ROW num="2">
<tagname>CameraSettings2</tagname>
<tagdec>4</tagdec>
<taghex>0x0004</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.CameraSettings2</key>
<tagdesc>Various camera settings (2)</tagdesc>
</ROW>
<ROW num="3">
<tagname>ImageType</tagname>
<tagdec>6</tagdec>
<taghex>0x0006</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.ImageType</key>
<tagdesc>Image type</tagdesc>
</ROW>
<ROW num="4">
<tagname>FirmwareVersion</tagname>
<tagdec>7</tagdec>
<taghex>0x0007</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.FirmwareVersion</key>
<tagdesc>Firmware version</tagdesc>
</ROW>
<ROW num="5">
<tagname>ImageNumber</tagname>
<tagdec>8</tagdec>
<taghex>0x0008</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.ImageNumber</key>
<tagdesc>Image number</tagdesc>
</ROW>
<ROW num="6">
<tagname>OwnerName</tagname>
<tagdec>9</tagdec>
<taghex>0x0009</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.OwnerName</key>
<tagdesc>Owner Name</tagdesc>
</ROW>
<ROW num="7">
<tagname>SerialNumber</tagname>
<tagdec>12</tagdec>
<taghex>0x000c</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.SerialNumber</key>
<tagdesc>Camera serial number</tagdesc>
</ROW>
<ROW num="8">
<tagname>EosD30Functions</tagname>
<tagdec>15</tagdec>
<taghex>0x000f</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Canon.EosD30Functions</key>
<tagdesc>EOS D30 Custom Functions</tagdesc>
</ROW>
</ROWSET>

132
doc/tags-fuji.xml Normal file
View File

@ -0,0 +1,132 @@
<?xml version = '1.0'?>
<?xml-stylesheet type="text/xsl" href="tags.xsl"?>
<ROWSET>
<ROW num="1">
<tagname>Version</tagname>
<tagdec>0</tagdec>
<taghex>0x0000</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.Version</key>
<tagdesc>Fujifilm Makernote version</tagdesc>
</ROW>
<ROW num="2">
<tagname>Quality</tagname>
<tagdec>4096</tagdec>
<taghex>0x1000</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.Quality</key>
<tagdesc>Image quality setting</tagdesc>
</ROW>
<ROW num="3">
<tagname>Sharpness</tagname>
<tagdec>4097</tagdec>
<taghex>0x1001</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.Sharpness</key>
<tagdesc>Sharpness setting</tagdesc>
</ROW>
<ROW num="4">
<tagname>WhiteBalance</tagname>
<tagdec>4098</tagdec>
<taghex>0x1002</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.WhiteBalance</key>
<tagdesc>White balance setting</tagdesc>
</ROW>
<ROW num="5">
<tagname>Color</tagname>
<tagdec>4099</tagdec>
<taghex>0x1003</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.Color</key>
<tagdesc>Chroma saturation setting</tagdesc>
</ROW>
<ROW num="6">
<tagname>Tone</tagname>
<tagdec>4100</tagdec>
<taghex>0x1004</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.Tone</key>
<tagdesc>Contrast setting</tagdesc>
</ROW>
<ROW num="7">
<tagname>FlashMode</tagname>
<tagdec>4112</tagdec>
<taghex>0x1010</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.FlashMode</key>
<tagdesc>Flash firing mode setting</tagdesc>
</ROW>
<ROW num="8">
<tagname>FlashStrength</tagname>
<tagdec>4113</tagdec>
<taghex>0x1011</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.FlashStrength</key>
<tagdesc>Flash firing strength compensation setting</tagdesc>
</ROW>
<ROW num="9">
<tagname>Macro</tagname>
<tagdec>4128</tagdec>
<taghex>0x1020</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.Macro</key>
<tagdesc>Macro mode setting</tagdesc>
</ROW>
<ROW num="10">
<tagname>FocusMode</tagname>
<tagdec>4129</tagdec>
<taghex>0x1021</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.FocusMode</key>
<tagdesc>Focusing mode setting</tagdesc>
</ROW>
<ROW num="11">
<tagname>SlowSync</tagname>
<tagdec>4144</tagdec>
<taghex>0x1030</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.SlowSync</key>
<tagdesc>Slow synchro mode setting</tagdesc>
</ROW>
<ROW num="12">
<tagname>PictureMode</tagname>
<tagdec>4145</tagdec>
<taghex>0x1031</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.PictureMode</key>
<tagdesc>Picture mode setting</tagdesc>
</ROW>
<ROW num="13">
<tagname>Continuous</tagname>
<tagdec>4352</tagdec>
<taghex>0x1100</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.Continuous</key>
<tagdesc>Continuous shooting or auto bracketing setting</tagdesc>
</ROW>
<ROW num="14">
<tagname>BlurWarning</tagname>
<tagdec>4864</tagdec>
<taghex>0x1300</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.BlurWarning</key>
<tagdesc>Blur warning status</tagdesc>
</ROW>
<ROW num="15">
<tagname>FoxusWarning</tagname>
<tagdec>4865</tagdec>
<taghex>0x1301</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.FoxusWarning</key>
<tagdesc>Auto Focus warning status</tagdesc>
</ROW>
<ROW num="16">
<tagname>AeWarning</tagname>
<tagdec>4866</tagdec>
<taghex>0x1302</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Fujifilm.AeWarning</key>
<tagdesc>Auto Exposure warning status</tagdesc>
</ROW>
</ROWSET>

188
doc/tags-sigma.xml Normal file
View File

@ -0,0 +1,188 @@
<?xml version = '1.0'?>
<?xml-stylesheet type="text/xsl" href="tags.xsl"?>
<ROWSET>
<ROW num="1">
<tagname>SerialNumber</tagname>
<tagdec>2</tagdec>
<taghex>0x0002</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.SerialNumber</key>
<tagdesc>Camera serial number</tagdesc>
</ROW>
<ROW num="2">
<tagname>DriveMode</tagname>
<tagdec>3</tagdec>
<taghex>0x0003</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.DriveMode</key>
<tagdesc>Drive Mode</tagdesc>
</ROW>
<ROW num="3">
<tagname>ResolutionMode</tagname>
<tagdec>4</tagdec>
<taghex>0x0004</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.ResolutionMode</key>
<tagdesc>Resolution Mode</tagdesc>
</ROW>
<ROW num="4">
<tagname>AutofocusMode</tagname>
<tagdec>5</tagdec>
<taghex>0x0005</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.AutofocusMode</key>
<tagdesc>Autofocus mode</tagdesc>
</ROW>
<ROW num="5">
<tagname>FocusSetting</tagname>
<tagdec>6</tagdec>
<taghex>0x0006</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.FocusSetting</key>
<tagdesc>Foxus setting</tagdesc>
</ROW>
<ROW num="6">
<tagname>WhiteBalance</tagname>
<tagdec>7</tagdec>
<taghex>0x0007</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.WhiteBalance</key>
<tagdesc>White balance</tagdesc>
</ROW>
<ROW num="7">
<tagname>ExposureMode</tagname>
<tagdec>8</tagdec>
<taghex>0x0008</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.ExposureMode</key>
<tagdesc>Exposure mode</tagdesc>
</ROW>
<ROW num="8">
<tagname>MeteringMode</tagname>
<tagdec>9</tagdec>
<taghex>0x0009</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.MeteringMode</key>
<tagdesc>Metering mode</tagdesc>
</ROW>
<ROW num="9">
<tagname>LensRange</tagname>
<tagdec>10</tagdec>
<taghex>0x000a</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.LensRange</key>
<tagdesc>Lens focal length range</tagdesc>
</ROW>
<ROW num="10">
<tagname>ColorSpace</tagname>
<tagdec>11</tagdec>
<taghex>0x000b</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.ColorSpace</key>
<tagdesc>Color space</tagdesc>
</ROW>
<ROW num="11">
<tagname>Exposure</tagname>
<tagdec>12</tagdec>
<taghex>0x000c</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Exposure</key>
<tagdesc>Exposure</tagdesc>
</ROW>
<ROW num="12">
<tagname>Contrast</tagname>
<tagdec>13</tagdec>
<taghex>0x000d</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Contrast</key>
<tagdesc>Contrast</tagdesc>
</ROW>
<ROW num="13">
<tagname>Shadow</tagname>
<tagdec>14</tagdec>
<taghex>0x000e</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Shadow</key>
<tagdesc>Shadow</tagdesc>
</ROW>
<ROW num="14">
<tagname>Highlight</tagname>
<tagdec>15</tagdec>
<taghex>0x000f</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Highlight</key>
<tagdesc>Highlight</tagdesc>
</ROW>
<ROW num="15">
<tagname>Saturation</tagname>
<tagdec>16</tagdec>
<taghex>0x0010</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Saturation</key>
<tagdesc>Saturation</tagdesc>
</ROW>
<ROW num="16">
<tagname>Sharpness</tagname>
<tagdec>17</tagdec>
<taghex>0x0011</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Sharpness</key>
<tagdesc>Sharpness</tagdesc>
</ROW>
<ROW num="17">
<tagname>FillLight</tagname>
<tagdec>18</tagdec>
<taghex>0x0012</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.FillLight</key>
<tagdesc>X3 Fill light</tagdesc>
</ROW>
<ROW num="18">
<tagname>ColorAdjustment</tagname>
<tagdec>20</tagdec>
<taghex>0x0014</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.ColorAdjustment</key>
<tagdesc>Color adjustment</tagdesc>
</ROW>
<ROW num="19">
<tagname>AdjustmentMode</tagname>
<tagdec>21</tagdec>
<taghex>0x0015</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.AdjustmentMode</key>
<tagdesc>Adjustment mode</tagdesc>
</ROW>
<ROW num="20">
<tagname>Quality</tagname>
<tagdec>22</tagdec>
<taghex>0x0016</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Quality</key>
<tagdesc>Quality</tagdesc>
</ROW>
<ROW num="21">
<tagname>Firmware</tagname>
<tagdec>23</tagdec>
<taghex>0x0017</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Firmware</key>
<tagdesc>Firmware</tagdesc>
</ROW>
<ROW num="22">
<tagname>Software</tagname>
<tagdec>24</tagdec>
<taghex>0x0018</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.Software</key>
<tagdesc>Software</tagdesc>
</ROW>
<ROW num="23">
<tagname>AutoBracket</tagname>
<tagdec>25</tagdec>
<taghex>0x0019</taghex>
<ifd>Makernote</ifd>
<key>Makernote.Sigma.AutoBracket</key>
<tagdesc>Auto bracket</tagdesc>
</ROW>
</ROWSET>