# @(#) $Id: MAKER_NOTES,v 1.6 2005/01/30 22:19:39 alex Exp $

NO camera  maker publishes  the form or  interpretation of  their makernote
data; the data  is apparently recorded just to make  the image file larger.

Exifprobe's  identification and  interpretation  of tags  in MakerNotes  is
based largely upon  information reverse-engineered by others  and posted to
the Web  (see CREDITS). A  few items are  based upon examination  of images
downloaded from  websites whose  operators are kind  enough to  make camera
images available for download (including some rather large TIFF images).

Any of those images (except the ones  from my Nikon E990) *could* have been
edited by  software before  posting to  the sites  from which  I downloaded
them. Most current  image editors will modify or delete  MakerNote data, so
that the editting software, rather than  the camera, may be responsible for
features seen (or not seen) in the resulting images.

Nonetheless some  assumptions are  made in  exifprobe's MakerNote  code, as
follows:

It is asumed that  "newer" Nikon models, such as the  X95 series, the D100,
D5000, as well as  the D1, interpret MakerNote tags in  the same fashion as
the E990 (but with extra tags which are not interpreted).

Epson camera  tagsets are *assumed*  similar to the Olympus  tagsets, based
upon comments on  relevant web pages, which indicate that  thes cameras use
similar  chipsets/firmware. This  assumption is  "confirmed" (for  the most
part; there  are a few  differences) by examination  of a few  images which
appear to  be correctly  described  under this assumption.  This assumption
may not hold for all models, even existing ones (let alone future models).

The Minolta  F100 tagset is  *assumed* similar  to the Sanyo  tagset, based
upon tag numbers and the obvious match  of a few tags; other Minolta modesl
use an entirely different tagset.

In general, it appears that some  models of Olympus, Epson, Agfa, Sanyo and
Minolta cameras use  sensor chips and/or firmware which are  similar to one
another.  It is  also clear  that firmware  (at least)  in observed  models
varies from maker to maker, and even  model to model. There is some overlap
in tagsets of  some models of these  cameras, but it is not  safe to assume
that they are identical.

In  fact  they are  *not*  identical.  There is  an  Epson  field which  is
obviously analogous  to the TIFF  UserComment field (same  structure). This
tag does not  appear in any of  the others. A different tag  number is used
for  SoftwareRelease in  the  Epson  cameras than  is  used  for the  other
cameras. Some Epson  models handle MakerNote thumbnail data  in a different
way than  the others, and only  Epson and Sanyo include  a PrintIM section.
The Sanyo  tagset is larger than  the tagset for the  other cameras, except
the Minolta F100.

I recommend that you examine any  output for your camera to assure yourself
that the  associations between  tag identifiers  and the  interpretation of
the  associated values  is  reasonable  and correct.  Please  report to  me
(dhh@virtual-cafe.com) any  corrections you  think should  be made  for any
make or model of camera, and  any additional information you may deduce for
any camera (or other device).

There are  undocumented options to exifprobe  (-m make and -l  model) which
allow  the  user  to  force makernote  interpretation  (though  not  scheme
detection)  according  to  a  specific  make  and/or  model,  according  to
exifprobe's current notion of correct tag interpretations for that make and
model. You must use the exact strings  which are used by the make and model
you wish to specify, which you can get from the maker_xxx.c source for that
camera.

The PrintIM tag is easy to identify  in many cameras; a hexdump reveals the
string "PrintIM"  at the beginning. As  of version 1.2.6 of  exifprobe, the
structure  of this  data  is  interpreted, but  the  correspondence of  the
individual tags to function is still unknown.

It should be  noted that tag numbers, types, and  values shown by exifprobe
will be correct  if shown...they are read directly from  the image file. It
is  the "interpretation"  of  tags  and associated  values  which could  be
suspect.

The strategy used by exifprobe to  read MakerNotes does *not* depend upon a
table of makes and models. The program  scans the offset given for the note
to see if it can find an ID string, a TIFF header, and/or a valid IFD entry
or two  at a  reasonable offset  and in either  byteorder. The  features it
finds are recorded as a "scheme" which is used for reading and printing the
MakerNote information.  If a valid IFD  is found the program  consults make
and model information for the oddball variations used by some manufacturers
(e.g. offsets relative to the start of the note or start of each entry) and
to see if tagnames and value interpretations are available. If tagnames and
interpretations are not available, the program will print the raw data with
tagnames constructed from the tag number.


dhh@virtual-cafe.com
