TIFF Tag JPEGProc

IFDImage
Code512 (hex 0x0200)
NameJPEGProc
LibTiff nameTIFFTAG_JPEGPROC
TypeSHORT
Count1
DefaultNone according to specification, though we do recommend using 1 (baseline sequential) as a default in readers

Description

Old-style JPEG compression field. TechNote2 invalidates this part of the specification.

No new TIFF writer code should ever attempt to use this tag. It is part of an invalidated compression scheme, old-style JPEG, that was always unclear to begin with, and next enjoyed many mutually exclusive implementations. The following description is for TIFF reading purposes only.

This field originally indicated the JPEG process used to produce the compressed data. The values for this field are defined to be consistent with the numbering convention used in ISO DIS 10918-2. Two values were defined:

1 = baseline sequential process
14 = lossless process with Huffman coding

LibTiff defines these values:

JPEGPROC_BASELINE = 1;
JPEGPROC_LOSSLESS = 14;

When the lossless process with Huffman coding is selected by this field, the Huffman tables used to encode the image are specified by the JPEGDCTables field, and the JPEGACTables field is not used.

Not all of the old-style JPEG compression fields are relevant to the JPEG process selected by this JPEGProc field. When baseline sequential process is selected, the following fields are applicable:

JPEGInterchangeFormat
JPEGInterchangeFormatLength
JPEGRestart Interval
JPEGQTables
JPEGDCTables
JPEGACTables

When the lossless process with Huffman is selected, the following apply:

JPEGInterchangeFormat
JPEGInterchangeFormatLength
JPEGRestart Interval
JPEGLosslessPredictors
JPEGPointTransforms
JPEGDCTables

The original specification said the field is mandatory when Compression mode is (now old-style) JPEG, and specified no default. We certainly agree writers should write it when writing old-style JPEG, but that argument should be moat as no new writer implementations should be attempted.

Contrary to what the original specification implies, we recommend readers to use a the value 1 (baseline sequential) when a tag value is required but none is written.

Related tags

See also