The only requirement of the JFIF extension to JIF (JPEG) images is that
a APP0 JFIF extension header is included. The extension header includes
optional DPI information, pixel aspect ratio, and an optional thumbnail
and that's it. It is strongly recommended that only baseline JPEG
images are used for interoperability, but not required as I originally
thought. This means progressive JPEG images are legal. Have you ever
had any problems with certain software by using progressive images?
After scoring through a number of images in my photo gallery taken from
several different camera's, I found some images with a JFIF header
followed by an Exif header, Exif header followed by JFIF, JFIF only
files, and some odd mixtures. One file started with a JFIF header,
followed by Exif, and then two JFIF headers.
Exif is a bit more involved than JFIF and requires an APP1 Exif
extension header at the beginning of the file, but it is also a part of
a larger spec for digital cameras which defines things like filesystem
layout and the DCIM folder.
Also, I noticed some of the images I've received from a friend had
additional metadata sections including an embedded RDF/XML file. These
extensions are compatible with Exif since they aren't required to be at
the very beginning of the file like Exif and JFIF are. I think my
friend was using Adobe Photoshop to edit their images. Should we
attempt to preserve all this metadata as well even if it means the
information in it might be out of date do to a lack of understanding of
it? That's the same problem software like Corel Photo-Paint has by
attempting to preserve the unknown APP1 (Exif) extension and leaving an
out of date thumbnail in the image.
--
Loren M. Lang
lor...@north-winds.org
http://www.north-winds.org/