diff --git a/doc/exiv2.dot b/doc/exiv2.dot
index 3a70959f..f20bac50 100644
--- a/doc/exiv2.dot
+++ b/doc/exiv2.dot
@@ -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)
+# ahuggel@gmx.net
+# 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" ;
diff --git a/doc/exiv2.gif b/doc/exiv2.gif
index 546371d4..3041fbb6 100644
Binary files a/doc/exiv2.gif and b/doc/exiv2.gif differ
diff --git a/doc/makernote.html b/doc/makernote.html
new file mode 100644
index 00000000..5aa8a26c
--- /dev/null
+++ b/doc/makernote.html
@@ -0,0 +1,113 @@
+
+
+Exif MakerNote Formats and Specifications
+
+
+
+
+Exif MakerNote Formats and Specifications
+The following table summarizes the structures of the MakerNote field used by
+ different vendors.
+
+
+ | Make |
+ Models |
+ Format |
+ Specifications |
+ Remarks |
+
+
+ | Canon |
+ |
+ IFD |
+ [2] |
+ |
+
+
+ | Casio |
+
+ QV-3000EX, QV-2000UX, QV-8000SX
+ |
+ IFD |
+ [4] |
+ "Early" versions of QV-2000UX and QV-8000SX only
+ have 4 bytes in the MakerNote field. |
+
+
+ | Fujifilm |
+ |
+ IFD; starts with string "FUJIFILM" and an offset
+ to the first IFD, offsets are relative to the beginning of the MakerNote |
+ [1] |
+ Fujifilm's Exif data uses Motorola alignment, but the MakerNote
+ uses Intel alignment |
+
+
+ | Minolta |
+ |
+ IFD |
+ [5] |
+ MakerNote numbers are always stored in Motorola/Macintosh
+ style |
+
+
+ | Nikon |
+ E990, D1 |
+ IFD (from offset 0x00) |
+ [3] |
+ |
+
+
+ | Nikon |
+ E700, E800, E900, E900S, E910, E950 |
+ IFD; starts with string "Nikon", IFD from offset
+ 0x08 |
+ [1] |
+ |
+
+
+ | Olympus |
+ D450Z(C-920Z) |
+ IFD; starts with string "OLYMP", IFD from offset
+ 0x07 |
+ [1] |
+ |
+
+
+ | Sanyo |
+ DSC-MZ2 |
+ IFD |
+ [6] |
+ Tag 0x00ff contains the offset to the start of the MakerNote(?).
+ The semantics of the value is different in TIFF and JPEG images |
+
+
+ | Sigma, Foveon |
+ |
+ IFD; Starts with an 8-byte ID string "SIGMA\0\0\0" or
+ "FOVEON\0\0" |
+ [7] |
+ |
+
+
+Exif.org has another table with similar
+ info and sample pictures: Digital
+ Camera Sample Images. According to this source, (at least some) Ricoh and
+ Kodak cameras do not write the MakerNote in IFD format.
+References:
+[1] Exif
+ file format by TsuruZoh Tachibanaya
+ [2] EXIF MakerNote
+ of Canon by David Burren
+ [3] MakerNote
+ EXIF Tag of the Nikon 990 by Max Lyons
+ [4] "MakerNote"
+ Exif tag of Casio by Eckhard Henkel
+ [5] Minolta
+ MakerNote by Dalibor Jeline
+ [6] Sanyo
+ MakerNote by John Hawkins
+ [7] SIGMA and FOVEON EXIF MakerNote Documentation by Foveon
+
+
+
diff --git a/doc/tags-canon.xml b/doc/tags-canon.xml
new file mode 100644
index 00000000..cda0deed
--- /dev/null
+++ b/doc/tags-canon.xml
@@ -0,0 +1,68 @@
+
+
+
+
+ CameraSettings1
+ 1
+ 0x0001
+ Makernote
+ Makernote.Canon.CameraSettings1
+ Various camera settings (1)
+
+
+ CameraSettings2
+ 4
+ 0x0004
+ Makernote
+ Makernote.Canon.CameraSettings2
+ Various camera settings (2)
+
+
+ ImageType
+ 6
+ 0x0006
+ Makernote
+ Makernote.Canon.ImageType
+ Image type
+
+
+ FirmwareVersion
+ 7
+ 0x0007
+ Makernote
+ Makernote.Canon.FirmwareVersion
+ Firmware version
+
+
+ ImageNumber
+ 8
+ 0x0008
+ Makernote
+ Makernote.Canon.ImageNumber
+ Image number
+
+
+ OwnerName
+ 9
+ 0x0009
+ Makernote
+ Makernote.Canon.OwnerName
+ Owner Name
+
+
+ SerialNumber
+ 12
+ 0x000c
+ Makernote
+ Makernote.Canon.SerialNumber
+ Camera serial number
+
+
+ EosD30Functions
+ 15
+ 0x000f
+ Makernote
+ Makernote.Canon.EosD30Functions
+ EOS D30 Custom Functions
+
+
diff --git a/doc/tags-fuji.xml b/doc/tags-fuji.xml
new file mode 100644
index 00000000..ca537de9
--- /dev/null
+++ b/doc/tags-fuji.xml
@@ -0,0 +1,132 @@
+
+
+
+
+ Version
+ 0
+ 0x0000
+ Makernote
+ Makernote.Fujifilm.Version
+ Fujifilm Makernote version
+
+
+ Quality
+ 4096
+ 0x1000
+ Makernote
+ Makernote.Fujifilm.Quality
+ Image quality setting
+
+
+ Sharpness
+ 4097
+ 0x1001
+ Makernote
+ Makernote.Fujifilm.Sharpness
+ Sharpness setting
+
+
+ WhiteBalance
+ 4098
+ 0x1002
+ Makernote
+ Makernote.Fujifilm.WhiteBalance
+ White balance setting
+
+
+ Color
+ 4099
+ 0x1003
+ Makernote
+ Makernote.Fujifilm.Color
+ Chroma saturation setting
+
+
+ Tone
+ 4100
+ 0x1004
+ Makernote
+ Makernote.Fujifilm.Tone
+ Contrast setting
+
+
+ FlashMode
+ 4112
+ 0x1010
+ Makernote
+ Makernote.Fujifilm.FlashMode
+ Flash firing mode setting
+
+
+ FlashStrength
+ 4113
+ 0x1011
+ Makernote
+ Makernote.Fujifilm.FlashStrength
+ Flash firing strength compensation setting
+
+
+ Macro
+ 4128
+ 0x1020
+ Makernote
+ Makernote.Fujifilm.Macro
+ Macro mode setting
+
+
+ FocusMode
+ 4129
+ 0x1021
+ Makernote
+ Makernote.Fujifilm.FocusMode
+ Focusing mode setting
+
+
+ SlowSync
+ 4144
+ 0x1030
+ Makernote
+ Makernote.Fujifilm.SlowSync
+ Slow synchro mode setting
+
+
+ PictureMode
+ 4145
+ 0x1031
+ Makernote
+ Makernote.Fujifilm.PictureMode
+ Picture mode setting
+
+
+ Continuous
+ 4352
+ 0x1100
+ Makernote
+ Makernote.Fujifilm.Continuous
+ Continuous shooting or auto bracketing setting
+
+
+ BlurWarning
+ 4864
+ 0x1300
+ Makernote
+ Makernote.Fujifilm.BlurWarning
+ Blur warning status
+
+
+ FoxusWarning
+ 4865
+ 0x1301
+ Makernote
+ Makernote.Fujifilm.FoxusWarning
+ Auto Focus warning status
+
+
+ AeWarning
+ 4866
+ 0x1302
+ Makernote
+ Makernote.Fujifilm.AeWarning
+ Auto Exposure warning status
+
+
diff --git a/doc/tags-sigma.xml b/doc/tags-sigma.xml
new file mode 100644
index 00000000..c0f9db16
--- /dev/null
+++ b/doc/tags-sigma.xml
@@ -0,0 +1,188 @@
+
+
+
+
+ SerialNumber
+ 2
+ 0x0002
+ Makernote
+ Makernote.Sigma.SerialNumber
+ Camera serial number
+
+
+ DriveMode
+ 3
+ 0x0003
+ Makernote
+ Makernote.Sigma.DriveMode
+ Drive Mode
+
+
+ ResolutionMode
+ 4
+ 0x0004
+ Makernote
+ Makernote.Sigma.ResolutionMode
+ Resolution Mode
+
+
+ AutofocusMode
+ 5
+ 0x0005
+ Makernote
+ Makernote.Sigma.AutofocusMode
+ Autofocus mode
+
+
+ FocusSetting
+ 6
+ 0x0006
+ Makernote
+ Makernote.Sigma.FocusSetting
+ Foxus setting
+
+
+ WhiteBalance
+ 7
+ 0x0007
+ Makernote
+ Makernote.Sigma.WhiteBalance
+ White balance
+
+
+ ExposureMode
+ 8
+ 0x0008
+ Makernote
+ Makernote.Sigma.ExposureMode
+ Exposure mode
+
+
+ MeteringMode
+ 9
+ 0x0009
+ Makernote
+ Makernote.Sigma.MeteringMode
+ Metering mode
+
+
+ LensRange
+ 10
+ 0x000a
+ Makernote
+ Makernote.Sigma.LensRange
+ Lens focal length range
+
+
+ ColorSpace
+ 11
+ 0x000b
+ Makernote
+ Makernote.Sigma.ColorSpace
+ Color space
+
+
+ Exposure
+ 12
+ 0x000c
+ Makernote
+ Makernote.Sigma.Exposure
+ Exposure
+
+
+ Contrast
+ 13
+ 0x000d
+ Makernote
+ Makernote.Sigma.Contrast
+ Contrast
+
+
+ Shadow
+ 14
+ 0x000e
+ Makernote
+ Makernote.Sigma.Shadow
+ Shadow
+
+
+ Highlight
+ 15
+ 0x000f
+ Makernote
+ Makernote.Sigma.Highlight
+ Highlight
+
+
+ Saturation
+ 16
+ 0x0010
+ Makernote
+ Makernote.Sigma.Saturation
+ Saturation
+
+
+ Sharpness
+ 17
+ 0x0011
+ Makernote
+ Makernote.Sigma.Sharpness
+ Sharpness
+
+
+ FillLight
+ 18
+ 0x0012
+ Makernote
+ Makernote.Sigma.FillLight
+ X3 Fill light
+
+
+ ColorAdjustment
+ 20
+ 0x0014
+ Makernote
+ Makernote.Sigma.ColorAdjustment
+ Color adjustment
+
+
+ AdjustmentMode
+ 21
+ 0x0015
+ Makernote
+ Makernote.Sigma.AdjustmentMode
+ Adjustment mode
+
+
+ Quality
+ 22
+ 0x0016
+ Makernote
+ Makernote.Sigma.Quality
+ Quality
+
+
+ Firmware
+ 23
+ 0x0017
+ Makernote
+ Makernote.Sigma.Firmware
+ Firmware
+
+
+ Software
+ 24
+ 0x0018
+ Makernote
+ Makernote.Sigma.Software
+ Software
+
+
+ AutoBracket
+ 25
+ 0x0019
+ Makernote
+ Makernote.Sigma.AutoBracket
+ Auto bracket
+
+