JFIF

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Category:JPEG)
Line 13: Line 13:
  
 
The presence of a JFIF segment implies that:
 
The presence of a JFIF segment implies that:
* If the image has three components, its color format is YCbCr. If it has one component, its color format is grayscale.
+
* If the image has three components, its color format is YCbCr, using a conversion formula given in the specification. If it has one component, its color format is grayscale.
 
* The image has a particular orientation.
 
* The image has a particular orientation.
 
* If the image is subsampled, it uses a particular subsampling position.
 
* If the image is subsampled, it uses a particular subsampling position.
Line 25: Line 25:
 
Valid JFIF files begin with  <code>FF D8 FF E0 ?? ?? 'J' 'F' 'I' 'F' 00</code>. Some technically-invalid files exist in which the JFIF segment has been relocated, and for them this signature will not match.
 
Valid JFIF files begin with  <code>FF D8 FF E0 ?? ?? 'J' 'F' 'I' 'F' 00</code>. Some technically-invalid files exist in which the JFIF segment has been relocated, and for them this signature will not match.
  
== History ==
+
== Versions ==
  
 
* JFIF 1.00 (PRONOM: {{PRONOM|fmt/42}}) was the original version.
 
* JFIF 1.00 (PRONOM: {{PRONOM|fmt/42}}) was the original version.
Line 33: Line 33:
 
* JFIF 1.02 (September 1, 1992; PRONOM: {{PRONOM|fmt/44}}) added an optional JFXX segment, capable of storing a compressed thumbnail image.
 
* JFIF 1.02 (September 1, 1992; PRONOM: {{PRONOM|fmt/44}}) added an optional JFXX segment, capable of storing a compressed thumbnail image.
  
* JFIF 2.xx (2014?): The Independent JPEG Group plans<ref>http://www.infai.org/jpeg/</ref> to release libjpeg 9a in early 2014, which they say will support something called "JFIF version 2".
+
* JFIF 2.xx (~2014): Starting with version 9a, the Independent JPG Group's software supports "JFIF 2.01" (e.g. using <code>cjpeg -bgycc</code>), which apparently implies that that the image uses "big gamut YCC". We have not located any specifications for this JFIF version.
  
 
== Specifications ==
 
== Specifications ==
Line 39: Line 39:
 
* [http://www.w3.org/Graphics/JPEG/jfif3.pdf JFIF version 1.02]
 
* [http://www.w3.org/Graphics/JPEG/jfif3.pdf JFIF version 1.02]
 
* [http://www.itu.int/rec/T-REC-T.871/en ITU-T Rec. T.871] (not free to download)
 
* [http://www.itu.int/rec/T-REC-T.871/en ITU-T Rec. T.871] (not free to download)
 
+
* [http://www.ecma-international.org/publications/files/ECMA-TR/TR-098.pdf ECMA TR/98] (JFIF 1.02)
== References ==
+
<references/>
+
  
 
== Links ==
 
== Links ==

Revision as of 21:30, 19 January 2014

File Format
Name JFIF
Ontology
Extension(s) .jpg, .jpeg, .jfif, .jfi
MIME Type(s) image/jpeg
LoCFDD fdd000018
PRONOM fmt/44
Released 1991

JFIF (JPEG File Interchange Format) is a standard that defines a portable subset of the JPEG file format. Most of the JPEG files in existence conform to JFIF.

JFIF defines JPEG application segments which serve to identify JFIF files, and to store a small amount of metadata: the pixel density, and a thumbnail image.

The presence of a JFIF segment implies that:

  • If the image has three components, its color format is YCbCr, using a conversion formula given in the specification. If it has one component, its color format is grayscale.
  • The image has a particular orientation.
  • If the image is subsampled, it uses a particular subsampling position.

JFIF was developed based on a draft version of the JPEG standard, which is how it can predate JPEG's official 1992 publication date.

Contents

Disambiguation

Don't confuse JPEG File Interchange Format with JPEG Interchange Format. The former is JFIF; the latter means approximately the same thing as JPEG.

Identification

Valid JFIF files begin with FF D8 FF E0 ?? ?? 'J' 'F' 'I' 'F' 00. Some technically-invalid files exist in which the JFIF segment has been relocated, and for them this signature will not match.

Versions

  • JFIF 1.00 (PRONOM: fmt/42) was the original version.
  • JFIF 1.01 (December 10, 1991; PRONOM: fmt/43) may have changed the subsampling position to centered.
  • JFIF 1.02 (September 1, 1992; PRONOM: fmt/44) added an optional JFXX segment, capable of storing a compressed thumbnail image.
  • JFIF 2.xx (~2014): Starting with version 9a, the Independent JPG Group's software supports "JFIF 2.01" (e.g. using cjpeg -bgycc), which apparently implies that that the image uses "big gamut YCC". We have not located any specifications for this JFIF version.

Specifications

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox