Appendix A. File Formats

A.1. Cineon File Format

This file format was introduced by Kodak in th early 1990's for data exchange in the Cineon system. The code values in the Cineon file represent negative film densities (see Figure 3.5). A range of 2.046 log D is encoded in 10 bit values, which equals 1024 levels. The red, green, and blue values of one pixel are packed into 32 bits making the Cineon file 50% smaller than a 16 bit format, where 48 bits are used to store one RGB pixel. This not only reduces the disk capacity needed for storage, but also the bandwidth needed for play-back.

A.2. DPX File Format

Figure A.1. High density range in camera negative.

Click to see enlarged figure

The image on the left hand side of the top row is a DPX scan of a Vision 2 500T negative film (Kodak 5218). The scan shows clipping in the candle lights which becomes visible when the image is color corrected to a lower brightness level (bottom row).

The scan on the right hand side of the top row was made with an extended dynamic range of 2.2 instead of the standard value 2.046 log D. The color corrected image in the bottom row shows no clipping.

Figure A.2. Print preview of high density range in camera negative.

Click to see enlarged figure

This shows the top left scan from Figure A.1 rendered with a print preview 3DLUT. While the scan shows clipping it is not visible in the print because of the highlight compression.

In 1994, the SMPTE (Society of Motion Picture and Television Engineers) standardized the DPX (Digital Moving-Picture Exchange) format. The SMPTE adopted the 10 bit encoding of the Cineon format but a DPX file can contain image data in various formats. The bit depth can be 8, 10, 12, or 16 bit. The data can represent film densities, PAL, NTSC, or HDTV code values. References made in this document to the DPX format pertain to the 10 bit density encoding. Nevertheless, it is important to understand that a DPX file can contain other image data as well. Also, the 10 bit encoding is not limited to density data. Digital video uses 10 bits as well and a 10 bit DPX file may contain data that is meant to be viewed on a video monitor.

The DPX file has a header describing the format and encoding of the data, but since the file format was predominantly used for film scanning, some applications assume the file always contains film densities and do not handle the header correctly. The header of the DPX format can hold further information important for digital mastering like key code and time code. Alas, the DPX header does not contain a field for the tape name, which is another source of confusion.

Are 10 Bits Enough?

Cineon and DPX files have been used for more than 10 years in VFX and in DI productions. Nevertheless, there is ongoing discussion whether the dynamic range and quantization of the 10 bit format is sufficient.

Since the average base density is mapped to the code value 95, there remains a range of 928 code values for the density above base, which equals 1.86 log D. The characteristic curve of camera negatives has a roll-off, or “shoulder”, the density does not increase linearly beyond an exposure of 9 stops (1.6 log D). A scene with very bright highlights, however, can result in a negative having densities above 1.86. Those highlights will be lost in a standard DPX scan; the effect is called clipping and is demonstrated in Figure A.1.

Film scanners like the ARRISCAN can capture density information above 2.046 log D but the standard 10 bit encoding will not include this data. One could extend the dynamic range by reducing the quantization steps. For example, with a quantization of 1/465 log D instead of the standard value 1/500 log D the dynamic range will be 1023/465=2.2 log D. This encoding was used for the image on the right hand side of Figure A.1.

The reduced quantization could be countervailed by using an image format with more bits (e.g. a 12 or 16 bit DPX file), but this would increase the size of the files by 50%. The question is whether the problem is grave enough to justify the additional disk capacity and bandwidth needed for the scans. Examples like the one displayed above are rare and even if a scan shows some clipping it may not be visible in a print made from the recorded negative; this is demonstrated in Figure A.2.

Computer generated images, in VFX or animation for example, are very often stored in 16 bit file formats. In such applications, it can be beneficial to save the film scans and intermediate results with the same bit depth. Also, most color correction systems extend the 10 bit data to 16 or more bits to avoid rounding errors during processing.

A.3. Grayscale Encoding in Digital Files

Four different ways of encoding the tonal composition of a scene in a digital file have been presented in this document. They are summarized below.


The photographic encoding uses an S-shaped transfer curve introducing a shadow and highlight compression. The code values are not one-to-one with the relative luminance in the original scene. Such files may be created by processing film scans with a LUT for print film simulation. Visually color correcting film in a telecine may result in a similar transfer curve, depending on the intent of the colorist. Usual file formats are DPX, TIFF, TARGA, and others.

While the transfer is not one-to-one, the image will be regarded as a good reproduction of the original scene.


The code values in a logarithmic file are linearly related to the logarithm of the relative luminance in the original scene. Commonly, such files are created by scanning negative film with a scanner. Usual file formats are Cineon and 10 bit log DPX.

The image looks “flat”; the shadows are too bright and white objects are too dark.

Linear (Full Range)

The code values in a linear file are linearly related to the relative luminance in the original scene. Such files are created by digital cameras or by converting film scans. Usual file formats are 16 bit DPX or TIFF, or floating point formats like Open EXR.

The image looks very dark since specular highlights may be several times brighter than white objects

Linear (Clipped)

The code values in a linear file are linearly related to the relative luminance in the original scene. Values above the reference white point are clipped. In most cases, such files are created by converting film scans. Usual file formats are 8 or 12 bit DPX, TIFF, TARGA, and others

The midscale brightness looks correct but specular highlights are missing.

The linear versions of the reference image used in this document are corrected for display on a monitor. In a gamma corrected “linear” file the resulting monitor luminance - instead of the code values - is linearly related to the original scene.

A pictorial overview is presented here. Another overview summarizes the signal processing in the DI work flow.

A.4. Color Encoding in Digital Files

The colors encoded in video files are determined by the primary colors of the display on which the image is displayed; those primary colors are standardized by international organizations. The aforementioned ITU-R BT.709 for example, defines the colors of a studio HDTV display with small tolerances. Therefore, a video image displayed on different monitors, even in different facilities, looks the same - if the displays have been calibrated according to standard.

For log encoded Cineon or DPX files it is not possible to define a standard display. That is for the same reasons as multiple prints from the same negative may not look the same. The printer lights are different, the results of film laboratories differ or another print film stock has been used. The negative, and its digital scan as well, is not the final image.