From: Duane H. Hesser <dhh@an...> - 2002-08-03 22:15:46
This is another message constructed as a reply to a message found in the
archive (I just joined the list).
>> From: Peter Teichman <peter@...>
>> Nikon MakerNote support - what needs to be done?
>> 2002-07-19 07:33
>> I'm very interested in working on support for Nikon MakerNote tags.
>> What needs to be done? It looks like the MakerNote support in general
>> isn't wired up at the moment. Is this the case?
The information necessary to decode the Nikon 990 MakerNote is described at
That page also refers to a page by TsuruZoh Tachibanaya, which appears to be
no longer available, but includes MakerNote info for the Nikon 950, as well
Canon ( David Burren http://www.burren.cx/david/canon.html)
The Burren link also appears dead. I have a copy (uncopyrighted) of the
Tachibanaya document, which I can email to anyone interested.
dhh @ androcles.com
From: Hugh Thomas <hught@au...> - 2002-08-27 03:29:59
> Exactly. What you see in CVS is an attempt to a framework for
> MakerNotes. Often, MakerNotes are a simple list of values, for example
> Brightness: 3420
> Contrast: -1.5
> The problem is that they are not standardized. And that I don't have the
> specifications of any manufacturers' MakerNotes.
> If you think the framework that is in CVS is useful, you could code for
> example along libexif/olympus. But if you have other ideas on how to
> handle MakerNotes, please tell them.
In my EXIFutils product I've been gradually added support for various Maker
Note fields as I find out about them. My programs have gone through much
pain as I've adjusted them to handle the new and exciting ways manufacturers
have found to format their maker notes.
As you are starting from scratch, here's a summary of the formats of maker
notes I've encountered. Any framework you set up will need to consider these
The Maker Note formats I've enountered fall into the following categories:
1. Opaque data structure. I've made no attempt to decode these, I just
display them in hex. Kodak use this, which is sad because I have a Kodak
digital camera ;^(
2. Standard IFD. The Maker Note is formatted just like any other "standard"
EXIF IFD, you just need to know what the field tags mean. All Canon Maker
Notes I've encountered are like this.
3. Standard IFD with header. The Maker Note is formatted as in 2., but is
preceded by a fixed length header. The length of the header depends on the
make/model, but is always constant for that make/model. The header is
typically something like "Nikon\0\1\0". Nikon, Epson, Minolta and Olympus
cameras use this format.
4) TIFF format with Header. Recent Nikon models (eg the D100) have a fixed
length header (similar to 3.), but the header is followed bya complete TIFF
structure containing the Maker Note IFD fields. The implications of this are
(sorry if I'm stating the obvious):
- all offsets in the Maker Note are relative to the start of the embedded
not relative the EXIF TIFF header.
- the byte ordering within the Maker Note may be different to that used
outside the Maker Note.
5) The Odd Man Out. FujiFilm use a format similar to 3. above, but with the
- all offsets are relative to the first byte of the Maker Note field
- the field in the maker note *always* use Intel byte ordering.
In my programs I've taken the conservative approach, I do not try to parse
the the maker note field at run time to figure out its format. I have a
table of "known" makes/models. If the Make and Model fields in the EXIF data
match one of the known models in the table, I know the format of the Maker
Hope this helps.