Sunteți pe pagina 1din 25

Exif file format

Japanese document

Description of Exif file format


Currently, most of new digicam use Exif file format to store images. This specification was made by JEIDA, but there is
no open document in internet. So I made tiny description about Exif from some of open documents that can get from
internet.
Add: Now we can get official document of Exif2.1 from PIMA's website.
ISO is now working to build DCF (Design rule for Camera File system) Specification. The entire digicam manufacturer
is moving to adopt it and their newest digicam already uses DCF. DCF defines whole file-system of digicam; directory
structure, file naming method, character set and file format etc. The file format of DCF is based on Exif2.1 specification.
I believe this document is basically based on Exif2.1/DCF specification, if you have information about 'unknown' item or
find errata, please e-mail me, TsuruZoh Tachibanaya , t s u r u z o h @ b a . w a k w a k . c o m
This is a FREE document, you may use this document for any purpose (commercial/non-commercial) of all/part of this
document. All trade names mentioned in this document are trademarks or registered trademarks of their respective
holders.
TsuruZoh Tachibanaya, t s u r u z o h @ b a . w a k w a k . c o m
http://park2.wakwak.com/~tsuruzoh/
rev. 1.4 Feb.03,2001
rev. 1.3 Sep.09,2000
rev. 1.2 Jul.19,2000
rev. 1.1 Dec.19,1999
rev. 1.0 May.28,1999

Referenced materials
Exif file format written by itojun (Japanese language document)
Exif file format written by Mamoru Ohno (Japanese language document)
TIFF6.0 Specification written by Adobe
TIFF/EP Specification written by ISO TC42 WG18
exifdump program written by Thierry Boush
DCF Specification written by ISO TC42 WG18
Exif2.1 Specification written by JEIDA

What is Exif format?


JPEG format and Marker

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (1 of 25)11/3/2010 11:31:14 PM

Exif file format

Marker used by Exif


Exif data structure
TIFF Header
IFD : Image file directory
Data format
IFD data structure
Thumbnail image
JPEG format thumnail
TIFF format thumbnail
Tag number used by Exif/TIFF
IFD0 (IFD of main image) section
Exif SubIFD section
IFD1 (IFD of thumbnail image) section
Misc Tags
Appendix 1: MakerNote of Olympus digicams
Appendix 2: MakerNote of Nikon digicams
Appendix 3: MakerNote of Casio digicams
Appendix 4: MakerNote of Fujifilm digicams
Appendix 5: MakerNote of Canon digicams
History
Acknowledgement

What is Exif file format?


Basically, Exif file format is the same as JPEG file format. Exif inserts some of image/digicam information data and
thumbnail image to JPEG in conformity to JPEG specification. Therefore you can view Exif format image files by JPEG
compliant Internet browser/Picture viewer/Photo retouch software etc. as a usual JPEG image files.

JPEG format and Marker


Every JPEG file starts from binary value '0xFFD8', ends by binary value '0xFFD9'. There are several binary 0xFFXX
data in JPEG data, they are called as "Marker", and it means the period of JPEG information data. 0xFFD8 means SOI
(Start of image), 0xFFD9 means EOI(End of image). These two special Markers have no data following, the other
Markers have data with it. Basic format of Marker is below.
0xFF+Marker Number(1 byte)+Data size(2 bytes)+Data(n bytes)
Data size(2 Bytes) has "Motorola" byte align, starts from bigger digits. Please notice that "Data" contains Data size
descriptor, if there is a Marker like this;
FF C1 00 0C
It means this Marker(0xFFC1) has 0x000C(equal 12)bytes of data. But the data size '12' includes "Data size" descriptor,
it follows only 10 bytes of data after 0x000C.

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (2 of 25)11/3/2010 11:31:14 PM

Exif file format

In JPEG format, some of Markers describe data, then SOS(Start of stream) Marker placed. After the SOS marker, JPEG
image stream starts and terminated by EOI Marker.
SOI Marker Marker XX size=SSSS
FFD8

Marker YY size=TTTT

SOS Marker size=UUUU

Image
stream

FFXX SSSS DDDD...... FFYY TTTT DDDD...... FFDA UUUU DDDD.... I I I I....

EOI Marker
FFD9

Marker used by Exif


The marker 0xFFE0~0xFFEF is named "Application Marker", not necessary for decoding JPEG image. They are used
by user application. For example, older olympus/canon/casio/agfa digicam use JFIF(JPEG File Interchange Format) for
storing images. JFIF uses APP0(0xFFE0) Marker for inserting digicam configuration data and thumbnail image.
Also Exif uses an Application Marker for inserting data, but Exif uses APP1(0xFFE1) Marker to avoid a conflict with
JFIF format. Every Exif file formats starts from this format;
SOI Marker APP1 Marker APP1 Data
FFD8

FFE1

Other Marker

SSSS 457869660000 TTTT...... FFXX SSSS DDDD......

It starts from SOI(0xFFD8) Marker, so it's a JPEG file. Then APP1 Marker follows immediately. All the data of Exif are
stored in this APP1 data area. The part of "SSSS" on upper table means the size of APP1 data area (Exif data area).
Please notice that the size "SSSS" includes the size of descriptor itself also.
After the "SSSS", APP1 data starts. The first part is a special data to identify whether Exif or not, ASCII character "Exif"
and 2bytes of 0x00 are used.
After the APP1 Marker area, the other JPEG Markers follows.

Exif data structure


Roughly structure of Exif data (APP1) is shown as below. This is a case of "Intel" byte aligns and it contains JPEG
format thumbnail. As described above, Exif data is starts from ASCII character "Exif" and 2bytes of 0x00, and then Exif
data follows. Exif uses TIFF format to store data. For more details of TIFF format, please refer to "TIFF6.0 specification".

FFE1

APP1 Marker

SSSS

APP1 Data Size

45786966 0000

Exif Header

49492A00 08000000

TIFF Header

XXXX. . . .
LLLLLLLL
XXXX. . . .
XXXX. . . .
00000000

IFD0 (main image)

Directory
Link to IFD1

Data area of IFD0


Exif SubIFD

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (3 of 25)11/3/2010 11:31:14 PM

Directory
End of Link

Exif file format

XXXX. . . .

Data area of Exif SubIFD

APP1 Data

XXXX. . . .

Interoperability IFD

00000000
XXXX. . . .

Directory
End of Link

Data area of Interoperability IFD

XXXX. . . .

Makernote IFD

00000000
XXXX. . . .

Directory
End of Link

Data area of Makernote IFD

XXXX. . . .

IFD1(thumbnail image)

00000000
XXXX. . . .

Data area of IFD1

FFD8XXXX. . . XXXXFFD9

Thumbnail image

Directory
End of Link

Structure of TIFF header


First 8bytes of TIFF format are TIFF header. First 2bytes defines byte align of TIFF data. If it is 0x4949="I I", it means
"Intel" type byte align. If it is 0x4d4d="MM", it means "Motorola" type byte align. For example, value '305,419,896' is
noted as 0x12345678 by sixteenth system. At the Motorola align, it is stored as 0x12,0x34,0x56,0x78. If it's Intel align, it
is stored as 0x78,0x56,0x34,0x12. It seems that most of digicam uses Intel align. Ricoh uses Motorola align. Sony uses
Intel align except D700. Kodak DC200/210/240 use Motorola aligns, but DC220/260 use Intel aligns though they are
using PowerPC! Therefore when we need the value of Exif data, we MUST check byte align every time. Though JPEG
data uses Motorola align only, Exif allows both alignments. I can't understand why Exif didn't fix a byte align to
Motorola.
Next 2bytes are always 2bytes-length value of 0x002A. If the data uses Intel align, next 2bytes are "0x2a,0x00". If it uses
Motorola, they are "0x00,0x2a". The last 4bytes of TIFF header are an offset to the first IFD(Image File Directory,
described in next chapter). Includes this offset, all the offset value used in TIFF format counts offset bytes from the first
of TIFF header("I I" or "MM"). Usually the first IFD starts immediately next to TIFF header, so this offset has value
'0x00000008'.
Byte align

TAG Mark Offset to first IFD

"I I" or "MM" 0x002a

0x00000008

IFD : Image file directory


Next to TIFF header, there is the first IFD:Image File Directory. It contains image information data. At the chart below,
the first 2bytes('EEEE') means the number of directory entry contains in this IFD. Then directory entry (12bytes per
entry) follows. After last directory entry, there is a 4bytes of data('LLLLLLLL' at the chart), it means an offset to next
IFD. If its value is '0x00000000', it means this is the last IFD and there is no linked IFD.
EEEE

No. of directory entry

TTTT ffff NNNNNNNN DDDDDDDD Entry 0


TTTT ffff NNNNNNNN DDDDDDDD Entry 1
.........

......

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (4 of 25)11/3/2010 11:31:14 PM

Exif file format

TTTT ffff NNNNNNNN DDDDDDDD Entry EEEE-1


LLLLLLLL

Offset to next IFD

'TTTT'(2bytes) of above chart is Tag number, this shows a kind of data. 'ffff'(2bytes) is data format,
'NNNNNNNN'(4bytes) is number of components. 'DDDDDDDD'(4bytes) contains a data value or offset to data value.

Data format
Data format ('ffff' at the above chart) is defined as below. "rational" means a fractional value, it contains 2-signed/
unsigned long integer values, and the first represents the numerator, and the second, the denominator.
Value

Format

unsigned byte ascii strings unsigned short unsigned long unsigned rational signed byte

Bytes/component 1

Value

10

11

12

Format

undefined

signed short signed long

signed rational single float

double float

Bytes/component 1

You can get the total data byte length by multiplies a 'bytes/components' value (see above chart) by number of
components stored 'NNNNNNNN' area. If total data length is less than 4bytes, 'DDDDDDDD' contains the value of that
Tag. If its size is over 4bytes, 'DDDDDDDD' contains the offset to data stored address.

IFD data structure


At Exif format, the first IFD is IFD0(IFD of main image), then it links to IFD1(IFD of thumbnail image) and IFD link is
terminated. But IFD0/IFD1 doesn't contain any digicam's information such as shutter speed, focal length etc. IFD0
always contains special Tag Exif Offset (0x8769), it shows an offset to Exif SubIFD. Exif SubIFD is IFD formatted data
also, it contains digicam's information.
In case of Extended Exif format (Exif2.1/DCF), Exif SubIFD contains special Tag Exif Interoperability Offset
(0xa005). It also points to the Interoperability IFD. By the DCF specification, this tag is mandatory and both SubIFD
(main image IFD) and IFD1 (thumbnail image IFD) may have Interoperability IFD. In usual, only main image have this
tag.
And some of digicam uses IFD data format for Makernote; Maker-specific magic number area. It's very hard to decision
whether makernote is IFD format or not, be careful to coding program. See Appendix for information of Makernote.
0000: 49 49 2A 00 08 00 00 00-02 00 1A 01 05 00 01 00
0010: 00 00 26 00 00 00 69 87-04 00 01 00 00 00 11 02
0020: 00 00 40 00 00 00 48 00-00 00 01 00 00 00
If the first part of TIFF data is above, it can read as;

The first 2bytes are "I I", byte align is 'Intel'.


Address 0x0004~0x0007 is 0x08000000, IFD0 starts from address '0x0008'
Address 0x0008~0x0009 is 0x0200, number of directory entry of IFD0 is '2'.
Address 0x000a~0x000b is 0x1A01, it means this is an XResolution(0x011A) Tag, it contains a horizontal

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (5 of 25)11/3/2010 11:31:14 PM

Exif file format

resolution of image.
Address 0x000c~0x000d is 0x0500, format of this value is unsigned rational(0x0005).
Address 0x000e~0x0011 is 0x01000000, number of components is '1'. Unsigned rational's data size is 8bytes/
components, so total data length is 1x8=8bytes.
Total data length is larger than 4bytes, so next 4bytes contains an offset to data.
Address 0x0012~0x0015 is 0x26000000, XResolution data is stored to address 0x0026
Address 0x0026~0x0029 is 0x48000000, numerator is 72, address 0x002a~0x002d is 0x0100000000,
denominator is '1'. So the value of XResoultion is 72/1.
Address0x0016~0x0017 is 0x6987, next Tag is ExifOffset(0x8769). Its value is an offset to Exif SubIFD
Data format is 0x0004, unsigned long integer.
This Tag has one component. Unsigned long integer's data size is 4bytes/components, so total data size is 4bytes.
Total data size is equal to 4bytes, next 4bytes contains the value of Exif SubIFD offset.
Address 0x001e~0x0021 is 0x11020000, Exif SubIFD starts from address '0x0211'.
This is the last directory entry, next 4bytes shows an offset to next IFD.
Address 0x0022~0x0025 is 0x40000000, next IFD starts from address '0x0040'

Thumbnail image
Exif format contains thumbnail of image (except Ricoh RDC-300Z). Usually it is located next to the IFD1. There are 3
formats for thumbnails; JPEG format(JPEG uses YCbCr), RGB TIFF format, YCbCr TIFF format. It seems that JPEG
format and 160x120 pixels of size are recommended thumbnail format for Exif2.1 or later. By the DCF specification,
thumbnail image MUST use JPEG format and image size is fixed to 160x120 pixels.
JPEG format thumbnail
If the value of Compression(0x0103) Tag in IFD1 is '6', thumbnail image format is JPEG. Most of Exif image uses JPEG
format for thumbnail. In that case, you can get offset of thumbnail from JpegIFOffset(0x0201) Tag in IFD1, size of
thumbnail from JpegIFByteCount(0x0202) Tag. Data format is ordinary JPEG format, starts from 0xFFD8 and ends by
0xFFD9.
TIFF format thumbnail
If the value of Compression(0x0103) Tag in IFD1 is '1', thumbnail image format is no compression(called TIFF image).
Start point of thumbnail data is StripOffset(0x0111) Tag, size of thumbnail is the sum of StripByteCounts(0x0117) Tag.
If thumbnail uses no compression and PhotometricInterpretation(0x0106)Tag in IFD1 has a value '2', thumbnail uses
RGB format. In that case, you can see thumbnail image by simply copy data to computer's RGB format(such as BMP
format, or copy to VRAM directory). Kodak DC-210/220/260 uses this format. Be mention that at TIFF stores pixel data
as 'RGB' order, but BMP stores 'BGR' order.
If that tag has a value '6', thumbnail uses YCbCr format. If you want to see thumbnail, you must convert it to RGB. Ricoh
RDC4200/4300, Fuji DS-7/300 and DX-5/7/9 use this format(newer RDC5000/MX-X00 series use JPEG). Next section
is brief description to conversion of Fuji DS's thumbnail. For more details, refer to TIFF6.0 specification.
At DX-5/7/9, YCbCrSubsampling(0x0212) has values of '2,1', PlanarConfiguration(0x011c) has a value '1'. So the data
align of this image is below.
Y(0,0),Y(1,0),Cb(0,0),Cr(0,0), Y(2,0),Y(3,0),Cb(2,0),Cr(3.0), Y(4,0),Y(5,0),Cb(4,0),Cr(4,0). . . .
The numeric in parenthesis is pixel coordinates. DX series' YCbCrCoefficients(0x0211) has values '0.299/0.587/0.114',
file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (6 of 25)11/3/2010 11:31:14 PM

Exif file format

ReferenceBlackWhite(0x0214) has values '0,255,128,255,128,255'. Therefore to convert from Y/Cb/Cr to RGB is;
B(0,0)=(Cb-128)*(2-0.114*2)+Y(0,0)
R(0,0)=(Cr-128)*(2-0.299*2)+Y(0,0)
G(0,0)=(Y(0,0)-0.114*B(0,0)-0.299*R(0,0))/0.587
Horizontal subsampling is a value '2', so you can calculate B(1,0)/R(1,0)/G(1,0) by using the Y(1,0) and Cr(0,0)/Cb(0,0).
Repeat this conversion by value of ImageWidth(0x0100) and ImageLength(0x0101).

Tag number used by Exif/TIFF


Tag numbers used by Exif/TIFF are shown as below. If the Tag has upper limit of components number, CompoNo
column has numeric value. If it has no value, there is no limitation.

Tags used by IFD0 (main image)


Tag No. Tag Name

Format

0x010e ImageDescription

ascii
string

Describes image. Two-byte character code such as Chinese/


Korean/Japanese cannot be used.

0x010f

ascii
string

Shows manufacturer of digicam. In the Exif standard, this tag


is optional, but it is mandatory for DCF.

ascii
string

Shows model number of digicam. In the Exif standard, this tag


is optional, but it is mandatory for DCF.

Make

0x0110 Model

0x0112 Orientation

CompoNo Desc.

unsigned
1
short

The orientation of the camera


relative to the scene, when the
image was captured. The
relation of the '0th row' and
'0th column' to visual position
is shown as right.

Value 0th Row 0th Column


1

top

left side

top

right side

bottom

right side

bottom

left side

left side

top

right side top

right side bottom

left side

bottom

0x011a XResolution

unsigned
1
rational

0x011b YResolution

unsigned
1
rational

0x0128 ResolutionUnit

unsigned
1
short

Unit of XResolution(0x011a)/YResolution(0x011b). '1' means


no-unit, '2' means inch, '3' means centimeter. Default value is
'2'(inch).

0x0131 Software

ascii
string

Shows firmware(internal software of digicam) version number.

Display/Print resolution of image. Default value is 1/72inch,


but it has no mean because personal computer doesn't use this
value to display/print out.

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (7 of 25)11/3/2010 11:31:14 PM

Exif file format

0x0132 DateTime

ascii
string

0x013e WhitePoint

unsigned
2
rational

Date/Time of image was last modified. Data format is "YYYY:


MM:DD HH:MM:SS"+0x00, total 20bytes. If clock has not set
or digicam doesn't have clock, the field may be filled with
spaces. In usual, it has the same value of DateTimeOriginal
(0x9003)

20

Defines chromaticity of white point of the image. If the image


uses CIE Standard Illumination D65(known as international
standard of 'daylight'), the values are '3127/10000,3290/10000'.

unsigned
PrimaryChromaticities
6
rational

Defines chromaticity of the primaries of the image. If the


image uses CCIR Recommendation 709 primaries, values are
'640/1000,330/1000,300/1000,600/1000,150/1000,0/1000'.

unsigned
3
rational

When image format is YCbCr, this value shows a constant to


translate it to RGB format. In usual, values are
'0.299/0.587/0.114'.

unsigned
1
short

When image format is YCbCr and uses


'Subsampling'(cropping of chroma data, all the digicam do
that), defines the chroma sample point of subsampling pixel
array. '1' means the center of pixel array, '2' means the datum
point.

0x0214 ReferenceBlackWhite

unsigned
6
rational

Shows reference value of black point/white point. In case of


YCbCr format, first 2 show black/white of Y, next 2 are Cb,
last 2 are Cr. In case of RGB format, first 2 show black/white
of R, next 2 are G, last 2 are B.

0x8298 Copyright

ascii
string

Shows copyright information

0x8769 ExifOffset

unsigned
1
long

Offset to Exif Sub IFD

0x013f

0x0211 YCbCrCoefficients

0x0213 YCbCrPositioning

Tags used by Exif SubIFD


Tag
No.

Tag Name

Format

CompoNo Desc.

0x829a ExposureTime

unsigned
1
rational

Exposure time (reciprocal of shutter speed). Unit is second.

0x829d FNumber

unsigned
1
rational

The actual F-number(F-stop) of lens when the image was


taken.

0x8822 ExposureProgram

unsigned
1
short

Exposure program that the camera used when image was


taken. '1' means manual control, '2' program normal, '3'
aperture priority, '4' shutter priority, '5' program creative
(slow program), '6' program action(high-speed program), '7'
portrait mode, '8' landscape mode.

0x8827 ISOSpeedRatings

unsigned
2
short

CCD sensitivity equivalent to Ag-Hr film speedrate.

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (8 of 25)11/3/2010 11:31:14 PM

Exif file format

0x9000 ExifVersion

0x9003 DateTimeOriginal

0x9004 DateTimeDigitized

undefined 4

Exif version number. Stored as 4bytes of ASCII character.


If the picture is based on Exif V2.1, value is "0210". Since
the type is 'undefined', there is no NULL(0x00) for
termination.

ascii
string

20

Date/Time of original image taken. This value should not


be modified by user program. Data format is "YYYY:MM:
DD HH:MM:SS"+0x00, total 20bytes. If clock has not set
or digicam doesn't have clock, the field may be filled with
spaces. In the Exif standard, this tag is optional, but it is
mandatory for DCF.

20

Date/Time of image digitized. Usually, it contains the same


value of DateTimeOriginal(0x9003). Data format is
"YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes. If
clock has not set or digicam doesn't have clock, the field
may be filled with spaces. In the Exif standard, this tag is
optional, but it is mandatory for DCF.

ascii
string

Shows the order of pixel data. Most of case


'0x04,0x05,0x06,0x00' is used for RGB-format and
'0x01,0x02,0x03,0x00' for YCbCr-format. 0x00:does not
exist, 0x01:Y, 0x02:Cb, 0x03:Cr, 0x04:Red, 0x05:Green,
0x06:Bllue.

0x9101 ComponentsConfiguration undefined

0x9102 CompressedBitsPerPixel

0x9201 ShutterSpeedValue

unsigned
1
rational
signed
rational

The average compression ratio of JPEG (rough estimate).


Shutter speed by APEX value. To convert this value to
ordinary 'Shutter Speed'; calculate this value's power of 2,
then reciprocal. For example, if the ShutterSpeedValue is
4

'4', shutter speed is 1/(2 )=1/16 second.

0x9202 ApertureValue

unsigned
1
rational

The actual aperture value of lens when the image was


taken. Unit is APEX. To convert this value to ordinary Fnumber(F-stop), calculate this value's power of root 2
(=1.4142). For example, if the ApertureValue is '5', F5

number is 1.4142 = F5.6.

0x9203 BrightnessValue

signed
rational

Brightness of taken subject, unit is APEX. To calculate


Exposure(Ev) from BrigtnessValue(Bv), you must add
SensitivityValue(Sv).
Ev=Bv+Sv Sv=log (ISOSpeedRating/3.125)
2

ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:


Sv=5.32.
0x9204 ExposureBiasValue

signed
rational

0x9205 MaxApertureValue

unsigned
1
rational

Exposure bias(compensation) value of taking picture. Unit


is APEX(EV).
Maximum aperture value of lens. You can convert to Fnumber by calculating power of root 2 (same process of
ApertureValue:0x9202).

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (9 of 25)11/3/2010 11:31:14 PM

Exif file format

0x9206 SubjectDistance

signed
rational

0x9207 MeteringMode

unsigned
1
short

Exposure metering method. '0' means unknown, '1' average,


'2' center weighted average, '3' spot, '4' multi-spot, '5' multisegment, '6' partial, '255' other.

0x9208 LightSource

unsigned
1
short

Light source, actually this means white balance setting. '0'


means unknown, '1' daylight, '2' fluorescent, '3' tungsten,
'10' flash, '17' standard light A, '18' standard light B, '19'
standard light C, '20' D55, '21' D65, '22' D75, '255' other.

0x9209 Flash

unsigned
1
short

'0' means flash did not fire, '1' flash fired, '5' flash fired but
strobe return light not detected, '7' flash fired and strobe
return light detected.

0x920a FocalLength

unsigned
1
rational

Focal length of lens used to take image. Unit is millimeter.

0x927c MakerNote

undefined

Maker dependent internal data. Some of maker such as


Olympus/Nikon/Sanyo etc. uses IFD format for this area.

0x9286 UserComment

undefined

Stores user comment. This tag allows to use two-byte


character code or unicode. First 8 bytes describe the
character code. 'JIS' is a Japanese character code (known as
Kanji).
'0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00':ASCII
'0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00':JIS
'0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00':Unicode
'0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00':Undefined

0x9290 SubsecTime

ascii
string

0x9291 SubsecTimeOriginal

ascii
string

0x9292 SubsecTimeDigitized

ascii
string

0xa000 FlashPixVersion

undefined 4

Stores FlashPix version. If the image data is based on


FlashPix formar Ver.1.0, value is "0100". Since the type is
'undefined', there is no NULL(0x00) for termination.

0xa001 ColorSpace

unsigned
1
short

Defines Color Space. DCF image must use sRGB color


space so value is always '1'. If the picture uses the other
color space, value is '65535':Uncalibrated.

0xa002 ExifImageWidth

unsigned
1
short/long

0xa003 ExifImageHeight

unsigned
1
short/long

0xa004 RelatedSoundFile

ascii
string

Distance to focus point, unit is meter.

Some of digicam can take 2~30 pictures per second, but


DateTime/DateTimeOriginal/DateTimeDigitized tag can't
record the sub-second time. SubsecTime tag is used to
record it.
For example, DateTimeOriginal = "1996:09:01 09:15:30",
SubSecTimeOriginal = "130", Combined original time is
"1996:09:01 09:15:30.130"

Size of main image.

If this digicam can record audio data with image, shows


name of audio data.

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (10 of 25)11/3/2010 11:31:14 PM

Exif file format

0xa005 ExifInteroperabilityOffset

unsigned
1
long

0xa20e FocalPlaneXResolution

unsigned
1
rational

0xa20f FocalPlaneYResolution

unsigned
1
rational

Extension of "ExifR98", detail is unknown. This value is


offset to IFD format data. Currently there are 2 directory
entries, first one is Tag0x0001, value is "R98", next is
Tag0x0002, value is "0100".
Pixel density at CCD's position. If you have MegaPixel
digicam and take a picture by lower resolution(e.g.VGA
mode), this value is re-sampled by picture resolution. In
such case, FocalPlaneResolution is not same as CCD's
actual resolution.
Unit of FocalPlaneXResoluton/FocalPlaneYResolution. '1'
means no-unit, '2' inch, '3' centimeter.

unsigned
0xa210 FocalPlaneResolutionUnit
1
short

Note:Some of Fujifilm's digicam(e.g.FX2700,FX2900,


Finepix4700Z/40i etc) uses value '3' so it must be
'centimeter', but it seems that they use a '8.3mm?'(1/3in.?)
to their ResolutionUnit. Fuji's BUG? Finepix4900Z has
been changed to use value '2' but it doesn't match to actual
value also.

0xa215 ExposureIndex

unsigned
1
rational

Same as ISOSpeedRatings(0x8827) but data type is


unsigned rational. Only Kodak's digicam uses this tag
instead of ISOSpeedRating, I don't know why(historical
reason?).

0xa217 SensingMethod

unsigned
1
short

Shows type of image sensor unit. '2' means 1 chip color


area sensor, most of all digicam use this type.

0xa300 FileSource

undefined 1

Indicates the image source. Value '0x03' means the image


source is digital still camera.

0xa301 SceneType

undefined 1

Indicates the type of scene. Value '0x01' means that the


image was directly photographed.
Indicates the Color filter array(CFA) geometric pattern.
Length Type Meaning
2

short Horizontal repeat pixel unit = n

short Vertical repeat pixel unit = m

byte CFA value[0,0]


:

0xa302 CFAPattern

undefined

byte CFA value[n-1,0]

byte CFA value[0,1]


:

byte CFA value[n-1,m-1]

The relation of filter color to CFA value is shown below.


Filter
Red Green Blue Cyan Magenta Yellow White
Color

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (11 of 25)11/3/2010 11:31:14 PM

Exif file format

CFA
0
value

R G For example, ordinary RGB filter uses the


repetition of left chart, the value is
G B '0x0002,0x0002,0x00,0x01,0x01,0x02'.

Tags used by Interoperability IFD


Tag No. Tag Name

Format

CompoNo Desc.

0x0001 InteroperabilityIndex

Ascii string

If this IFD is main image's IFD and the file content is


equivalent to ExifR98 v1.0, the value is "R98". If
thumbnail image's, value is "THM".

0x0002 InteroperabilityVersion

Undefined

Records the interoperability version. "0100" means


version 1.00.

any

Records the file format of image file. Value is ascii


string (e.g. "Exif JPEG Ver. 2.1").

0x1000 RelatedImageFileFormat Ascii string


0x1001 RelatedImageWidth

Short or
Long

0x1001 RelatedImageLength

Short or
Long

Records the image size.

Tags used by IFD1 (thumbnail image)


Tag No. Tag Name

Format

CompoNo Desc.

0x0100 ImageWidth

unsigned short/long 1

0x0101 ImageLength

unsigned short/long 1

Shows size of thumbnail image.

0x0102 BitsPerSample

unsigned short

When image format is no compression, this value


shows the number of bits per component for each
pixel. Usually this value is '8,8,8'

0x0103 Compression

unsigned short

Shows compression method. '1' means no


compression, '6' means JPEG compression.

Shows the color space of the image data


components. '1' means monochrome, '2' means
RGB, '6' means YCbCr.

0x0106 PhotometricInterpretation unsigned short

0x0111 StripOffsets

0x0115 SamplesPerPixel

unsigned short/long

When image format is no compression, this value


shows offset to image data. In some case image
data is striped and this value is plural.

unsigned short

When image format is no compression, this value


shows the number of components stored for each
pixel. At color image, this value is '3'.

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (12 of 25)11/3/2010 11:31:14 PM

Exif file format

unsigned short/long 1

When image format is no compression and image


has stored as strip, this value shows how many
rows stored to each strip. If image has not striped,
this value is the same as ImageLength(0x0101).

0x0117 StripByteConunts

unsigned short/long

When image format is no compression and stored


as strip, this value shows how many bytes used
for each strip and this value is plural. If image has
not stripped, this value is single and means whole
data size of image.

0x011a XResolution

unsigned rational

0x011b YResolution

unsigned rational

0x0116 RowsPerStrip

Display/Print resolution of image. Large number


of digicam uses 1/72inch, but it has no mean
because personal computer doesn't use this value
to display/print out.

0x011c PlanarConfiguration

unsigned short

When image format is no compression YCbCr,


this value shows byte aligns of YCbCr data. If
value is '1', Y/Cb/Cr value is chunky format,
contiguous for each subsampling pixel. If value is
'2', Y/Cb/Cr value is separated and stored to Y
plane/Cb plane/Cr plane format.

0x0128 ResolutionUnit

unsigned short

Unit of XResolution(0x011a)/YResolution
(0x011b). '1' means inch, '2' means centimeter.

0x0201 JpegIFOffset

unsigned long

When image format is JPEG, this value show


offset to JPEG data stored.

0x0202 JpegIFByteCount

unsigned long

When image format is JPEG, this value shows


data size of JPEG image.

When image format is YCbCr, this value shows


constants to translate it to RGB format. In usual,
'0.299/0.587/0.114' are used.

When image format is YCbCr and uses


subsampling(cropping of chroma data, all the
digicam do that), this value shows how many
chroma data subsampled. First value shows
horizontal, next value shows vertical subsample
rate.

When image format is YCbCr and uses


'Subsampling'(cropping of chroma data, all the
digicam do that), this value defines the chroma
sample point of subsampled pixel array. '1' means
the center of pixel array, '2' means the datum point
(0,0).

Shows reference value of black point/white point.


In case of YCbCr format, first 2 show black/white
of Y, next 2 are Cb, last 2 are Cr. In case of RGB
format, first 2 show black/white of R, next 2 are
G, last 2 are B.

0x0211 YCbCrCoefficients

0x0212 YCbCrSubSampling

0x0213 YCbCrPositioning

0x0214 ReferenceBlackWhite

unsigned rational

unsigned short

unsigned short

unsigned rational

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (13 of 25)11/3/2010 11:31:14 PM

Exif file format

Misc Tags
Tag No. Tag Name

Format

CompoNo Desc.

0x00fe

NewSubfileType

unsigned long

0x00ff

SubfileType

unsigned short

0x012d TransferFunction

unsigned short

0x013b Artist

ascii string

0x013d Predictor

unsigned short

0x0142 TileWidth

unsigned short

0x0143 TileLength

unsigned short

0x0144 TileOffsets

unsigned long

0x0145 TileByteCounts

unsigned short

0x014a SubIFDs

unsigned long

0x015b JPEGTables

undefined

0x828d CFARepeatPatternDim

unsigned short

0x828e CFAPattern

unsigned byte

0x828f

unsigned rational 1

BatteryLevel

0x83bb IPTC/NAA

unsigned long

0x8773 InterColorProfile

undefined

0x8824 SpectralSensitivity

ascii string

0x8825 GPSInfo

unsigned long

0x8828 OECF

undefined

0x8829 Interlace

unsigned short

0x882a TimeZoneOffset

signed short

0x882b SelfTimerMode

unsigned short

0x920b FlashEnergy

unsigned rational 1

0x920c SpatialFrequencyResponse undefined


0x920d Noise

undefined

0x9211 ImageNumber

unsigned long

0x9212 SecurityClassification

ascii string

0x9213 ImageHistory

ascii string

0x9214 SubjectLocation

unsigned short

0x9215 ExposureIndex

unsigned rational 1

0x9216 TIFF/EPStandardID

unsigned byte

0xa20b FlashEnergy

unsigned rational 1

4
4

0xa20c SpatialFrequencyResponse unsigned short

0xa214 SubjectLocation

unsigned short

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (14 of 25)11/3/2010 11:31:14 PM

Exif file format

Appendix 1: MakerNote of Olympus Digicams


The data below is analyzed at Olympus D450Z(C-920Z) by Peter Esherick.
MakerNote of Olympus Digicam starts from ASCII string "OLYMP". Data format is the same as IFD, but it starts from
offset 0x07. Example of actual data structure is shown below.
:0000: 4F 4C 59 4D 50 00 01 00-0B 00 00 02 04 00 03 00
:0010: 00 00 0E 04 00 00 01 02-03 00 01 00 00 00 03 00

Tag No. Tag Name

Format

OLYMP...........
................

CompoNo Value

0x0200 SpecialMode

Unsigned Long

Shows picture taking mode. First value means 0=normal,


1=unknown, 2=fast, 3=panorama. Second value means
sequence number, third value means panorama direction,
1=left to right, 2=right to left, 3=bottom to top, 4=top to
bottom.

0x0201 JpegQual

Unsigned Short

Shows JPEG quality. 1=SQ,2=HQ,3=SHQ.

0x0202 Macro

Unsigned Short

Shows Macro mode or not. 0=normal, 1=macro.

0x0203 Unknown

Unsigned Short

Unknown

0x0204 DigiZoom

Unsigned Rational 1

Shows Digital Zoom ratio. 0=normal, 2=digital 2x zoom.

0x0205 Unknown

Unsigned Rational 1

Unknown

0x0206 Unknown

Signed Short

Unknown

0x0207 SoftwareRelease Ascii string

Shows Firmware version.

0x0208 PictInfo

Ascii string

52

Contains ASCII format data such as [PictureInfo]. This is


the same data format of older Olympus digicam that not
used Exif data format (C1400/C820/D620/D340 etc).

0x0209 CameraID

Undefined

32

Contains CameraID data, which is user changeable by some


utilities

0x0f00

Unsigned Long

30

Unknown

DataDump

Appendix 2: MakerNote of Nikon


There are 2 formats of Nikon's MakerNote. MakerNote of E700/E800/E900/E900S/E910/E950 starts from ASCII string
"Nikon". Data format is the same as IFD, but it starts from offset 0x08. This is the same as Olympus except start string.
Example of actual data structure is shown below.
:0000: 4E 69 6B 6F 6E 00 01 00-05 00 02 00 02 00 06 00 Nikon...........
:0010: 00 00 EC 02 00 00 03 00-03 00 01 00 00 00 06 00 ................

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (15 of 25)11/3/2010 11:31:14 PM

Exif file format

Tag No. Tag Name

Format

CompoNo Value

0x0002 Unknown

Ascii string

Unknown. E900/E900S/E910:"09.41", others:"08.00".

0x0003 Quality

Unsigned short

Shows quality setting. At E900, 1:VGA Basic, 2:VGA


Normal, 3:VGA Fine, 4:SXGA Basic, 5:SXGA Normal, 6:
SXGA Fine

0x0004 Color Mode

Unsigned short

1:Color, 2:Monochrome.

0x0005 Image Adjustment Unsigned short

0:Normal, 1:Bright+, 2:Bright-, 3:Contrast+, 4:Contrast-.

0x0006 CCD Sensitivity

Unsigned short

0:ISO80, 2:ISO160, 4:ISO320, 5:ISO100

0x0007 White balance

Unsigned short

0:Auto, 1:Preset, 2:Daylight, 3:Incandescense, 4:


Fluorescence, 5:Cloudy, 6:SpeedLight

0x0008 Focus

Unsigned rational 1

If infinite focus, value is '1/0'.

0x0009 Unknown

Ascii string

Unknown

0x000a Digital Zoom

Unsigned rational 1

'160/100' means 1.6x digital zoom, '0/100' means no digital


zoom (optical zoom only).

0x000b Converter

Unsigned short

If Fisheye Converter is used, value is '1'.

0x0f00

Unsigned long

25~30

Unknown

Unknown

20

At E990, there is no Ascii string. As like the usual IFD (e.g. IFD0, SubIFD), IFD starts from the first byte of data. Nikon
D1 also uses this format. Example of actual data structure is shown below.
:0000: 10 00 01 00 07 00 04 00-00 00 00 01 00 00 02 00
:0010: 03 00 02 00 00 00 00 00-64 00 03 00 02 00 06 00

................
........d.......

The data below is analyzed by Max Lyons .


Tag No. Tag Name

Format

CompoNo Value

0x0001 Unknown

Undefined

Unknown. Always "0100". version?

0x0002 ISO Setting

Unsigned short

0,100=ISO 100
0,200=ISO200
0,400=ISO400
etc.

0x0003 Color Mode

Ascii string

varies

"COLOR", "B&W"

0x0004 Quality

Ascii string

varies

"NORMAL", "FINE", "BASIC"

0x0005 Whitebalance

Ascii string

varies

"AUTO", "WHITE PRESET" etc.

0x0006 Image Sharpening

Ascii string

varies

"AUTO", "HIGH" etc.

0x0007 Focus Mode

Ascii string

varies

"AF-S" means Single AF, "AF-C" means Continuous


AF.

0x0008 Flash Setting

Ascii string

varies

"NORMAL", "RED-EYE" etc.

0x000a Unknown

Unsigned rational 1

Unknown, Always '8832/1000'?

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (16 of 25)11/3/2010 11:31:14 PM

Exif file format

Ascii string

varies

"MANUAL":User selected, "AUTO":Automatically


selected.

0x0080 Image Adjustment

Ascii string

varies

"AUTO", "NORMAL", "CONTRAST(+)" etc.

0x0082 Adapter

Ascii string

varies

"OFF", "FISHEYE 2", "WIDE ADAPTER" etc.

0x000f

ISO Selection

0x0085 Manual Focus Distance Unsigned rational 1

Distance in Meters if focus was manually selected,


otherwise 0

0x0086 Digital Zoom

Unsigned rational 1

'100/100' means no digital zoom (optical zoom only),


'140/100' means 1.4x digital zoom.

0x0088 AF Focus Position

Undefined

'0,0,0,0':Center, '0,1,0,0':Top, '0,2,0,0':Bottom,


'0,3,0,0':Left, '0,4,0,0':right

0x0010 Data Dump

Undefined

174

Unknown.

Appendix 3: MakerNote of Casio


Casio started to use Exif format from QV2000/QV8000. Casio's MakerNote format is the same as usual IFD (e.g. IFD0,
SubIFD0). Example of actual data structure is shown below.
:0000: 00 14 00 01 00 03 00 00-00 01 00 0A 00 00 00 02 ................
:0010: 00 03 00 00 00 01 00 03-00 00 00 03 00 03 00 00 ................
The data below is analyzed by Eckhard Henkel .
Tag No. Tag Name

Format

CompoNo Value

0x0001 RecordingMode Unsigned Short 1

1:Single Shutter, 2:Panorama, 3:Night Scene, 4:Portrait, 5:


Landscape

0x0002 Quality

1:Economy, 2:Normal, 3:Fine

Unsigned Short 1

0x0003 Focusing Mode Unsigned Short 1

2:Macro, 3:Auto Focus, 4:Manual Focus, 5:Infinity

0x0004 Flash Mode

Unsigned Short 1

1:Auto, 2:On, 3:Off, 4:Red Eye Reduction

0x0005 Flash Intensity

Unsigned Short 1

11:Weak, 13:Normal, 15:Strong

0x0006 Object distance Unsigned Long 1

Object distance in [mm]

0x0007 White Balance

Unsigned Short 1

1:Auto, 2:Tungsten, 3:Daylight, 4:Fluorescent, 5:Shade, 129:


Manual

0x0008 Unknown

Unsigned short 1

Unknown

0x0009 Unknown

Unsigned short 1

Unknown

0x000a Digital Zoom

Unsigned Long 1

0x10000(65536):'Off', 0x10001(65537):'2X Digital Zoom'

0x000b Sharpness

Unsigned Short 1

0:Normal, 1:Soft, 2:Hard

0x000c Contrast

Unsigned Short 1

0:Normal, 1:Low, 2:High

0x000d Saturation

Unsigned Short 1

0:Normal, 1:Low, 2:High

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (17 of 25)11/3/2010 11:31:14 PM

Exif file format

0x000e Unknown

Unsigned short 1

Unknown

0x000f

Unknown

Unsigned short 1

Unknown

0x0010 Unknown

Unsigned short 1

Unknown

0x0011 Unknown

Unsigned long 1

Unknown

0x0012 Unknown

Unsigned short 1

Unknown

0x0013 Unknown

Unsigned short 1

Unknown
QV3000: 64:Normal, 125:+1.0, 250:+2.0, 244:+3.0
QV8000/2000: 80:Normal, 100:High

0x0014 CCD Sensitivity Unsigned short 1

Appendix 4: MakerNote of Fujifilm


Fujifilm's digicam added the MakerNote tag from the Year2000's model (e.g.Finepix1400,Finepix4700). It uses IFD
format and start from ASCII character 'FUJIFILM', and next 4 bytes(value 0x000c) points the offset to first IFD entry.
Example of actual data structure is shown below.
:0000: 46 55 4A 49 46 49 4C 4D-0C 00 00 00 0F 00 00 00 :0000: FUJIFILM........
:0010: 07 00 04 00 00 00 30 31-33 30 00 10 02 00 08 00 :0010: ......0130......

There are two big differences to the other manufacturers.

Fujifilm's Exif data uses Motorola align, but MakerNote ignores it and uses Intel align.
The other manufacturer's MakerNote counts the "offset to data" from the first byte of TIFF header (same as the
other IFD), but Fujifilm counts it from the first byte of MakerNote itself.

I think it's a BUG, but it can't be helped now... The data below is analyzed at Fujifilm FinePix4900Z.

Tag No. Tag Name

Format

CompoNo Value

0x0000 Version

Undefined

Version of MakerNote information. At present, value is


"0130".

0x1000 Quality

Ascii string

Quality setting. Ascii string "BASIC","NORMAL","FINE"

0x1001 Sharpness

Unsigned Short 1

Sharpness setting. 1or2:soft, 3:normal, 4or5:hard.

0x1002 White Balance

Unsigned Short 1

White balance setting. 0:Auto, 256:Daylight, 512:Cloudy,


768:DaylightColor-fluorescence, 769:DaywhiteColorfluorescence, 770:White-fluorescence, 1024:Incandenscense,
3840:Custom white balance.

0x1003 Color

Unsigned Short 1

Chroma saturation setting. 0:normal(STD), 256:High, 512:


Low(ORG).

0x1004 Tone

Unsigned Short 1

Contrast setting. 0:normal(STD), 256:High(HARD), 512:


Low(ORG).

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (18 of 25)11/3/2010 11:31:14 PM

Exif file format

0x1010 Flash Mode

Unsigned Short 1

Flash firing mode setting. 0:Auto, 1:On, 2:Off, 3:Red-eye


reduction.

0x1011 Flash Strength

Signed Rational 1

Flash firing strength compensation setting. Unit is APEX


(EV) and value is -6/10, -3/10, 0/10, 3/10, 6/10 etc.

0x1020 Macro

Unsigned Short 1

Macro mode setting. 0:Off, 1:On.

0x1021 Focus mode

Unsigned short 1

Focusing mode setting. 0:Auto focus, 1:Manual focus.

0x1030 SlowSync.

Unsigned short 1

Slow synchro mode setting. 0:Off, 1:On.

0x1031 Picture Mode

Unsigned short 1

Picture mode setting. 0:Auto, 1:Portrait scene, 2:Landscape


scene, 4:Sports scene, 5:Night scene, 6:Program AE, 256:
Aperture prior AE, 512:Shutter prior AE, 768:Manual
exposure.

0x1032 unknown

Unsigned Short 1

Unknown

0x1100 ContTake/Bracket Unsigned Short 1

Continuous taking or auto bracketting mode setting. 0:off, 1:


on.

0x1200 unknown

Unsigned Short 1

Unknown

0x1300 Blur warning

Unsigned Short 1

Blur warning status. 0:No blur warning, 1:Blur warning.

0x1301 Focus warning

Unsigned short 1

Auto Focus warning status. 0:Auto Focus good, 1:Out of


focus.

0x1302 AE warning

Unsigned short 1

Auto Exposure warning status. 0:AE good, 1:Over exposure


(>1/1000s,F11).

Appendix 5: MakerNote of Canon


The data below was primarily analysed by David Burren and the master version of this information is available at: http://
www.burren.cx/david/canon.html. Please send any updates to David.
This document is based on his Rev.1.11(2001/01/30) of document.
Canon's MakerNote data is in IFD format, starting at offset 0.
Some of these tags and fields are only produced on cameras such as the EOS D30, but (to current observation) all this is
valid for all Canon digicams (at least since the A50). If the tag is not found, or is shorter than shown here, it simply
means that data is not supported by that camera.
Tag
No.
0x0

Tag Name
Unknown

Format
Unsigned
Short

CompoNo
6

Value
Always 0

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (19 of 25)11/3/2010 11:31:14 PM

Exif file format

Offset
within tag

Meaning

Length of tag in bytes (i.e. twice the number of


shorts)

Macro mode

If non-zero, length of self-timer in 10ths of a


second

unknown

1: macro
2: normal

Flash mode

0: flash not fired


1: auto
2: on
3: red-eye reduction
4: slow synchro
5: auto + red-eye reduction
6: on + red-eye reduction
16: external flash (not set on
D30)

Continuous drive
mode

0: single or timer (see field 2)


1: continuous

unknown

Focus Mode

8, 9

unknown

0: One-Shot
1: AI Servo
2: AI Focus
3: MF
4: Single (but check field 32)
5: Continuous
6: MF

Image size

0: large
1: medium
2: small

11

"Easy shooting"
mode

0: Full Auto
1: Manual
2: Landscape
3: Fast Shutter
4: Slow Shutter
5: Night
6: B&W
7: Sepia
8: Portrait
9: Sports
10: Macro / Close-Up
11: Pan Focus

12

unknown

10

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (20 of 25)11/3/2010 11:31:14 PM

Exif file format

0x1

Unknown

Unsigned
Short

varies

13

Contrast

0xffff: low
0x0000: normal
0x0001: high

14

Saturation

0xffff: low
0x0000: normal
0x0001: high

15

Sharpness

0xffff: low
0x0000: normal
0x0001: high

ISO

If zero, use
ISOSpeedRatings EXIF tag
instead
15: auto
16: 50
17: 100
18: 200
19: 400

17

Metering mode

3: Evaluative
4: Partial
5: Center-weighted

18

unknown

16

AF point selected

0x3000: none (MF)


0x3001: auto-selected
0x3002: right
0x3003: center
0x3004: left

20

Exposure mode

0: "Easy shooting" (use field


11)
1: Program
2: Tv-priority
3: Av-priority
4: Manual
5: A-DEP

21, 22

unknown

23

"long" focal length of lens (in "focal units")

24

"short" focal length of lens (in "focal units")

25

"focal units" per mm

26 - 28

unknown

19

29

Flash details

30 - 31

unknown

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (21 of 25)11/3/2010 11:31:14 PM

Bits 15..0:
14: external E-TTL
13: internal flash
11: FP sync used
4: FP sync enabled
other bits unknown

Exif file format

32

0x3

Unknown

Unsigned
Short

Focus mode

unknown
Offset
within tag

Unknown

Unsigned
Short

Meaning

Length of tag in bytes (i.e. twice the number of


shorts)

1-6

unknown
0: auto
1: Sunny
2: Cloudy
3: Tungsten
4: Flourescent
5: Flash
6: Custom

White balance

unknown

Sequence number (if in a continuous burst)

10 - 13

unknown

14

0x4

G1 seems to use this in


preference to field 7
0: Single
1: Continuous

AF point used

varies

15

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (22 of 25)11/3/2010 11:31:14 PM

Flash bias

Only set in One-Shot mode?


If none used, AF failed or
manual focus was used (e.g.
on a lens with full-time
manual focus)
Bits 15..0:
15-12: number of available
focus points
2: left
1: center
0: right
0xffc0: -2 EV
0xffcc: -1.67 EV
0xffd0: -1.50 EV
0xffd4: -1.33 EV
0xffe0: -1 EV
0xffec: -0.67 EV
0xfff0: -0.50 EV
0xfff4: -0.33 EV
0x0000: 0 EV
0x000c: 0.33 EV
0x0010: 0.50 EV
0x0014: 0.67 EV
0x0020: 1 EV
0x002c: 1.33 EV

Exif file format

0x0030: 1.50 EV
0x0034: 1.67 EV
0x0040: 2 EV
16 - 18

19

unknown

Subject
Distance

Units are either 0.01m or


0.001m (both have been
observed). Still investigating.
In any case, the
SubjectDistance EXIF tag is
set by Canon cameras.

0x6

Image type

Ascii string

32

e.g.: "IMG:EOS D30 JPEG"


Has trailing whitespace.

0x7

Firmware
version

Ascii string

24

May have trailing NULs and whitespace.

0x8

Image Number

Unsigned
Long

Normally reported as FFF-XXXX.


FFF is this value divided by 1000, XXXX is this value mod
1000.

0x9

Owner name

Ascii string

32

May have trailing NULs and whitespace.

0xa

Unknown

Unsigned
Short

varies

unknown

0xc

Camera serial
number

Unsigned
Long

High 16 bits are printed as a 4-digit hex number.


Low 16 bits are printed as a 5-digit decimal number.
These are concatenated to form the serial number. Example
printf() format string would be "%04X%05d".

0xd

Unknown

Unsigned
Short

varies

unknown

varies

First short is the number of bytes in the tag (i.e. twice the
number of shorts)
For each other value: the top 8 bits are the C.Fn number, and the
lower 8 bits are the value.

0xf

Custom
Functions

Unsigned
Short

EOS D30 Custom Functions


C.
Fn

Name

Value

Long exposure noise reduction

0: Off
1: On

Shutter/AE-lock buttons

0: AF/AE lock
1: AE lock/AF
2: AF/AF lock
3: AE+release/AE+AF

Mirror lockup

0: Disable
1: Enable

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (23 of 25)11/3/2010 11:31:14 PM

Exif file format

Tv/Av and exposure level

0: 1/2 stop
1: 1/3 stop

AF-assist light

0: On (auto)
1: Off

Shutter speed in Av mode

0: Automatic
1: 1/200 (fixed)

AEB sequence/auto
cancellation

0: 0, -, + / Enabled
1: 0, -, + / Disabled
2: -, 0, + / Enabled
3: -, 0, + / Disabled

Shutter curtain sync

0: 1st-curtain sync
1: 2nd-curtain sync

0: AF stop
1: Operate AF
Lens AF stop button Fn. Switch
2: Lock AE and start
timer

10

Auto reduction of fill flash

0: Enable
1: Disable

Menu button return position

0: Top
1: Previous (volatile)
2: Previous

12

SET button func. when


shooting

0: Not assigned
1: Change quality
2: Change ISO speed
3: Select parameters

13

Sensor cleaning

0: Disable
1: Enable

11

History
rev. 1.4

Added Makernote of Canon


Added Color/Tone TAGs to Fujifilm's makernote

rev. 1.3

Added Exif2.1 specification


Added Makernote of Fujifilm

rev. 1.2

Added DCF specification

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (24 of 25)11/3/2010 11:31:14 PM

Exif file format

Added Interoperability IFD


Added Makernote of Nikon/Casio

rev. 1.1

Added byte align explanation to TAG Mark of TIFF header


Corrected data format of some TAGs to "unsigned short/long"
Corrected value of FocalPlaneResolutionUnit
Added Appendix 1: MakerNote of Olympus

rev. 1.0

First release

Acknowledgement
I would like to thank to;
Daniel Switkin: Byte align of TAG Mark, Format of ImageWidth/ImageLength
Peter Esherick: MakerNote of Olympus
Matthias Wandel: Value of FocalPlaneResolutionUnit
Max Lyons: Makernote of Nikon ...His webpage
Eckhard Henkel: Makernote of Casio ...His webpage
David Burren: FocalPlaneResolutionUnit of Fujifilm's / Makernote of Canon ...His webpage

file:///C|/Program Files/Opanda/PowerExif 1.2/help/index-en-US.htm (25 of 25)11/3/2010 11:31:14 PM

S-ar putea să vă placă și