JFIF defines a number of details that are left unspecified by the JPEG Part 1 standard (
ISO/
IEC 10918-1,
ITU-T Recommendation T.81.)
Component sample registration JPEG allows multiple components (such as
Y, Cb, and Cr) to have different resolutions, but it does not define how those differing sample arrays (which render bitmaps) should be aligned. This pixel-producing information is rendered with the expectation of indicating rectangles by their
centroid, rather than being pixel data directly, or being 'first corner and flood', etc. which is uncommon.
Resolution and aspect ratio The JPEG standard does not include any method of coding the resolution or aspect ratio of an image. JFIF provides resolution or aspect ratio information using an application segment extension to JPEG. It uses Application Segment #0, with a segment header consisting of the
null-terminated string spelling "JFIF" in
ASCII followed by a byte equal to 0, and specifies that this must be the first segment in the file, hence making it simple to recognize a JFIF file.
Exif images recorded by digital cameras generally do not include this segment, but typically comply in all other respects with the JFIF standard.
Color space The JPEG standard used for the compression coding in JFIF files does not define which
color encoding is to be used for images. JFIF defines the
color model to be used: either Y for greyscale, or
YCbCr derived from
RGB color primaries as defined in
CCIR 601 (now known as Rec.
ITU-R BT.601), except with a different "full range" scaling of the Y, Cb and Cr components. Unlike the "studio range" defined in CCIR 601, in which black is represented by Y=16 and white by Y=235 and values outside of this range are available for
signal processing "headroom" and "footroom", JFIF uses all 256 levels of the 8-bit representation, so that Y=0 for black and Y=255 for peak white. The RGB color primaries defined in JFIF via CCIR 601 also differ somewhat from what has become common practice in newer applications (e.g., they differ slightly from the color primaries defined in
sRGB). Moreover, CCIR 601 (before 2007) did not provide a precise definition of the RGB color primaries; it relied instead on the underlying practices of the television industry. Color interpretation of a JFIF image may be improved by embedding an
ICC profile, colorspace metadata, or an
sRGB tag, and using an application that interprets this information. == File format structure ==