gimp/devel-docs/exif-handling.txt

98 lines
2.2 KiB
Plaintext
Executable File

How GIMP should handle EXIF data
Bill Skaggs 1/2/05
This is a summary of how an image editing program is supposed to
handle each of the EXIF fields, according to the EXIF specs. Note
that this expresses my understanding based on a quick reading, and
should not be taken as gospel. For details on the contents of each of
these fields, consult the formal EXIF specifications, available from
http://www.exif.org/specifications.html.
(Note: according to the EXIF specs, an EXIF jpeg file must have a name
that is ASCII, in 8.3 format, with extension .JPG, but of course we
are not going to enforce this.)
Fields that should be used to set up the GIMP image when an EXIF file
is loaded, either by using them to configure the image (e.g.,
orientation), or by placing them in parasites that can be accessed by
non-exif-aware functions.
Orientation
XResolution
YResolution
ResolutionUnit
ImageDescription
Artist
Copyright
Colorspace
ComponentsConfiguration
UserComment
SubjectArea
SubjectLocation
ImageUniqueID
PixelXDimension
PixelYDimension
Fields that should be modified by GIMP when an EXIF jpeg file is
saved. A letter "M" indicates fields whose presence is mandatory
according to the spec.
Orientation
XResolution (M)
YResolution (M)
ResolutionUnit (M)
Software
DateTime
ImageDescription
Artist
Colorspace (M)
PixelXDimension (M)
PixelYDimension (M)
ComponentsConfiguration (M)
UserComment
SubsecTime
SubjectArea
SubjectLocation
FileSource
ImageUniqueID
thumbnail Compression (M)
thumbnail XResolution (M)
thumbnail YResolution (M)
thumbnail JPEGInterchangeFormat (M)
thumbnail JPEGInterchangeFormatLength (M)
Fields that should be used and saved related to color management:
TransferFunction
WhitePoint
PrimaryChromaticity
YCbCrCoefficients
ReferenceBlackWhite
Fields that should be deleted if they exist when saving a file as
jpeg, because they only apply to uncompressed (TIFF) data. This
applies both to the main image and to the thumbnail, if there is one.
ImageWidth
ImageLength
BitsPerSample
Compression
SamplesPerPixel
PhotometricInterpretation
StripOffsets
PlanarConfiguration
YCbCrSubSampling
Any field not mentioned here should be passed through unchanged.