<?xml version="1.0" encoding="utf-8"?>
<PRONOM-Report xmlns="http://pronom.nationalarchives.gov.uk">
  <report_format_detail>
    <FileFormat>
      <FormatID>667</FormatID>
      <FormatName>JPEG File Interchange Format</FormatName>
      <FormatVersion>1.00</FormatVersion>
      <FormatAliases>JFIF (1.00)</FormatAliases>
      <FormatFamilies>
      </FormatFamilies>
      <FormatTypes>Image (Raster)</FormatTypes>
      <FormatDisclosure>Full</FormatDisclosure>
      <FormatDescription>The JPEG File Interchange Format (JFIF) is a file format for storing JPEG-compressed raster images. It was developed by the Independent JPEG Group and C-Cube Microsystems, in the absence of any such format being defined in the JPEG standard, and rapidly became a de facto standard; this is what is commonly referred to as the JPEG file format. A JFIF file comprises a JPEG data stream together with a JFIF marker. It begins with a Stofof Image (SOI) marker, immediately followed by a JFIF Application (APP0). This is followed by the JPEG image data, which is terminated by an End of Image (EOI) marker. JFIF supports up to 24-bit colour and uses lossy compression (based on the Discrete Cosine Transform algorithm). Other types of compression are available through JPEG extensions, including progressive image buildup, arithmetic encoding, variable quantization, selective refinement, image tiling, and lossless compression, but these may not be supported by all JFIF readers and writers.</FormatDescription>
      <BinaryFileFormat>Binary</BinaryFileFormat>
      <ByteOrders>Big-endian (Motorola)</ByteOrders>
      <ReleaseDate>
      </ReleaseDate>
      <WithdrawnDate>
      </WithdrawnDate>
      <ProvenanceSourceID>1</ProvenanceSourceID>
      <ProvenanceName>Digital Preservation Department / The National Archives</ProvenanceName>
      <ProvenanceSourceDate>11 Mar 2005</ProvenanceSourceDate>
      <ProvenanceDescription>
      </ProvenanceDescription>
      <LastUpdatedDate>20 Oct 2022</LastUpdatedDate>
      <FormatNote>https://en.wikipedia.org/wiki/JPEG_File_Interchange_Format

https://web.archive.org/web/20220624201809/https://www.adobe.com/creativecloud/file-types/image/raster/jpeg-file.html

https://web.archive.org/web/20221015163305/https://en.wikipedia.org/wiki/JPEG</FormatNote>
      <FormatRisk>
      </FormatRisk>
      <TechnicalEnvironment>
      </TechnicalEnvironment>
      <FileFormatIdentifier>
        <Identifier>fmt/42</Identifier>
        <IdentifierType>PUID</IdentifierType>
      </FileFormatIdentifier>
      <FileFormatIdentifier>
        <Identifier>image/jpeg</Identifier>
        <IdentifierType>MIME</IdentifierType>
      </FileFormatIdentifier>
      <FileFormatIdentifier>
        <Identifier>public.jpeg</Identifier>
        <IdentifierType>Apple Uniform Type Identifier</IdentifierType>
      </FileFormatIdentifier>
      <Developers>
        <DeveloperID>120</DeveloperID>
        <DeveloperName>
        </DeveloperName>
        <OrganisationName>C-Cube Microsystems</OrganisationName>
        <DeveloperCompoundName>C-Cube Microsystems</DeveloperCompoundName>
      </Developers>
      <Developers>
        <DeveloperID>125</DeveloperID>
        <DeveloperName>
        </DeveloperName>
        <OrganisationName>Independent JPEG Group</OrganisationName>
        <DeveloperCompoundName>Independent JPEG Group</DeveloperCompoundName>
      </Developers>
      <ExternalSignature>
        <ExternalSignatureID>563</ExternalSignatureID>
        <Signature>jpeg</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <ExternalSignature>
        <ExternalSignatureID>571</ExternalSignatureID>
        <Signature>jpe</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <ExternalSignature>
        <ExternalSignatureID>599</ExternalSignatureID>
        <Signature>jpg</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <ExternalSignature>
        <ExternalSignatureID>3227</ExternalSignatureID>
        <Signature>jif</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <ExternalSignature>
        <ExternalSignatureID>3228</ExternalSignatureID>
        <Signature>jfif</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <ExternalSignature>
        <ExternalSignatureID>3229</ExternalSignatureID>
        <Signature>jfi</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <InternalSignature>
        <SignatureID>66</SignatureID>
        <SignatureName>JFIF 1.00</SignatureName>
        <SignatureNote>SOI and APP0 markers at BOF, EOI marker at EOF</SignatureNote>
        <ByteSequence>
          <ByteSequenceID>168</ByteSequenceID>
          <PositionType>Absolute from BOF</PositionType>
          <Offset>0</Offset>
          <MaxOffset>
          </MaxOffset>
          <IndirectOffsetLocation>
          </IndirectOffsetLocation>
          <IndirectOffsetLength>
          </IndirectOffsetLength>
          <Endianness>
          </Endianness>
          <ByteSequenceValue>FFD8FFE0{2}4A464946000100(00|01|02)</ByteSequenceValue>
        </ByteSequence>
        <ByteSequence>
          <ByteSequenceID>169</ByteSequenceID>
          <PositionType>Absolute from EOF</PositionType>
          <Offset>0</Offset>
          <MaxOffset>65536</MaxOffset>
          <IndirectOffsetLocation>
          </IndirectOffsetLocation>
          <IndirectOffsetLength>
          </IndirectOffsetLength>
          <Endianness>
          </Endianness>
          <ByteSequenceValue>FFD9</ByteSequenceValue>
        </ByteSequence>
      </InternalSignature>
      <RelatedFormat>
        <RelationshipType>Has priority over</RelationshipType>
        <RelatedFormatID>670</RelatedFormatID>
        <RelatedFormatName>Raw JPEG Stream</RelatedFormatName>
        <RelatedFormatVersion>
        </RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Is previous version of</RelationshipType>
        <RelatedFormatID>668</RelatedFormatID>
        <RelatedFormatName>JPEG File Interchange Format</RelatedFormatName>
        <RelatedFormatVersion>1.01</RelatedFormatVersion>
      </RelatedFormat>
      <CompressionType>
        <CompressionID>11</CompressionID>
        <CompressionName>Baseline JPEG</CompressionName>
        <CompressionVersion>
        </CompressionVersion>
        <CompressionAliases>Discrete Cosine Transform, DCT, JPEG</CompressionAliases>
        <CompressionFamilies>
        </CompressionFamilies>
        <Description>The JPEG compression algorithm was developed in 1990 by the Joint Photographic Experts Group of ISO and CCITT, for the transmission of colour and greyscale images. It is a lossy technique which provides best compression rates with complex 24-bit (True Colour) images. It achieves its effect by discarding image data which is imperceptible to the human eye, using a technique called Discrete Cosine Transform (DCT). It then applies Huffman encoding to achieve further compression. The JPEG specification allows users to set the degree of compression, using an abstract Quality Setting. This provides a trade-off between compression rate and image quality. It is important to note that the Quality Setting is not an absolute value, with different JPEG encoders use different scales, and that even the maximum quality setting for baseline JPEG involves some loss. JPEG compression is most commonly used in the JPEG File Interchange Format (JFIF), SPIFF and TIFF.</Description>
        <Lossiness>Lossy</Lossiness>
        <ReleaseDate>01 Jan 1994</ReleaseDate>
        <WithdrawnDate>
        </WithdrawnDate>
        <CompressionDocumentation>ISO/IEC 10918-1: 1994, Information technology - Digital compression and coding of continuous-tone still images: Requirements and guidelines</CompressionDocumentation>
        <CompressionIPR>
        </CompressionIPR>
        <CompressionNote>
        </CompressionNote>
        <CompressionIdentifier>
          <Identifier>x-cmp/11</Identifier>
          <IdentifierType>PUID</IdentifierType>
        </CompressionIdentifier>
        <Developer>
          <DeveloperID>112</DeveloperID>
          <DeveloperName>
          </DeveloperName>
          <OrganisationName>International Standards Organisation</OrganisationName>
          <DeveloperCompoundName>International Standards Organisation</DeveloperCompoundName>
        </Developer>
      </CompressionType>
      <FormatProperties>
        <FormatProperty>
          <PropertyName>Compression Type</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Compression Level</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Image Width</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Image Height</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Colour Space</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Sampling Frequency Unit</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>X Sampling Frequency</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Y Sampling Frequency</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Bits Per Sample</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Samples Per Pixel</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Byte Order</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
        <FormatProperty>
          <PropertyName>Comments</PropertyName>
          <PropertyDescription>
          </PropertyDescription>
          <PropertyType>Instance</PropertyType>
          <PropertyRiskScore>
          </PropertyRiskScore>
          <PropertyHighRisk>
          </PropertyHighRisk>
          <PropertyValueDescription>
          </PropertyValueDescription>
          <PropertyRisks />
        </FormatProperty>
      </FormatProperties>
    </FileFormat>
    <SearchCriteria>Criteria</SearchCriteria>
  </report_format_detail>
</PRONOM-Report>
