Technical: QuickTime
Advanced Search
Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

QuickTime Pixel Format FourCCs

Dispatch 20

QuickTime identifies pixel format data using four char codes (fourCCs). The intent of this note is to catalog and define the existing pixel format fourCCs. This is a living document that will be updated as new pixel formats are implemented. To register a new fourCC please visit the QT registration authority at http://qtra.apple.com/.

Important Note:

Defining Pixel Formats

Accurate description of pixel data is necessary to ensure correct interchange and conversion of image data. A pixel format defines the memory/file layout of pixel data. The pixel format does not define register layout of pixel data, as this differs from the memory/file layout depending on processor endian-ness.

Macintosh Native FourCCs

k1MonochromePixelFormat
0x00000001

The seminal one bit bitmap format is common to all platforms. Each bit represents a pixel, a value of one indicates black, a value of zero, white. The most significant bit (MSB) corresponds to the leftmost pixel. The least significant bit (LSB) corresponds to the rightmost pixel.

k2IndexedPixelFormat
0x00000002

Each pixel is represented by two bits, which are used as an index into the associated Color Table. The two bit indexed format is native to the Mac platform. Although QTML does support 2 bit pixmaps on Win32, the format is not native to the Win32 platform. A byte of pixel data holds four pixels in the order 11223344 where 11 is the first pixel.

k4IndexedPixelFormat
0x00000004

Each pixel is represented by four bits, which are used as an index into the associated Color Table. The four bit indexed format is native to both Mac and Win32 platforms. The pixel defined by the most significant four bits of a byte of pixel data come before the pixel defined by the least significant four bits.

k8IndexedPixelFormat
0x00000008

Each pixel is represented by eight bits, which are used as an index into the associated Color Table. The eight bit indexed format is native to both Mac and Win32 platforms.

k16BE555PixelFormat
0x00000010

Each pixel is represented by 16 bits. The MSB is unused, followed by five bits per each Red, Green and Blue component. This is the native 16 bit format for the Mac platform.

k24RGBPixelFormat
0x00000018

Each pixel is represented by 24 bits. Eight bits per each Red, Green, and Blue component. This is the native 24 bit format for the Mac platform.

k32ARGBPixelFormat
0x00000020

Each pixel is represented by 32 bits. Eight bits per each Alpha, Red, Green, and Blue component. This is the native 32 bit format for the Mac platform.

k1IndexedGrayPixelFormat
0x00000021

Each bit represents a pixel, which is used as an index into the associated gray Color Table. This is a legacy gray indexed format from the Mac platform.

k2IndexedGrayPixelFormat
0x00000022

Each pixel is represented by two bits, which is used as an index into the associated 2-bit gray Color Table. This is a legacy gray indexed format from the Mac platform.

k4IndexedGrayPixelFormat
0x00000024

Each pixel is represented by four bits, which is used as an index into the associated 4-bit gray Color Table. This is a legacy gray indexed format from the Mac platform.

k8IndexedGrayPixelFormat
0x00000028

Each pixel is represented by eight bits, which is used as an index into the associated 8-bit gray Color Table. This is a legacy gray indexed format from the Mac platform.

Win32 Native FourCCs

k16LE555PixelFormat
'L555'

Identical to k16BE555PixelFormat except the 16 bit word is byte swapped. This is a native 16 bit format for the Win32 platform.

k16BE565PixelFormat
'B565'

Each pixel is represented by 16 bits. Five bits per Red, 6 bits per Green, and 5 bits per Blue component. This format is not commonly used, being defined primarily for completeness.

k16LE565PixelFormat
'L565'

Identical to k16BE565PixelFormat except the 16 bit word is byte swapped. This is a native 16 bit format for the Win32 platform.

k16LE5551PixelFormat
'5551'

Each pixel is represented by 16 bits. Five bits per each Red, Green and Blue component, followed by an Alpha bit. The 16 bit word is byt e swapped. This is the native 16 bit format for SGI’s Win32 platforms.

k24BGRPixelFormat
'24BG'

Each pixel is represented by 24 bits. Eight bits per each Blue, Red, and Green component. This is the native 24 bit format for the Win32 platform.

k32BGRAPixelFormat
'BGRA'

Each pixel is represented by 32 bits. Eight bits per each Blue, Green, Red, and Alpha component. This is the native 32 bit format for the Win32 platform.

k32ABGRPixelFormat
'ABGR'

Each pixel is represented by 32 bits. Eight bits per each Alpha, Blue, Green, and Red component.

k32RGBAPixelFormat
'RGBA'

Each pixel is represented by 32 bits. Eight bits per each Red, Green, Blue, and Alpha component.

YUV FourCCs

k2vuyPixelFormat
'2vuy'

8-bit 4:2:2 Component Y’CbCr format. Each 16 bit pixel is represented by an unsigned eight bit luminance component and two unsigned eight bit chroma components. Each pair of pixels shares a common set of chroma values. The components are ordered in memory; Cb, Y0, Cr, Y1. The luminance components have a range of [16, 235], while the chroma value has a range of [16, 240]. This is consistent with the CCIR601 spec. This format is fairly prevalent on both Mac and Win32 platforms. The equivalent Microsoft fourCC is ‘UYVY’.

kYUVSPixelFormat
'yuvs'

8-bit 4:2:2 Component Y’CbCr format. Identical to the k2vuyPixelFormat except each 16 bit word has been byte swapped. This results in a component ordering of; Y0, Cb, Y1, Cr. This is most prevalent yuv 4:2:2 format on both Mac and Win32 platforms. The equivalent Microsoft fourCC is ‘YUY2’.

kYVYU422PixelFormat
'YVYU'

8-bit 4:2:2 Component Y’CbCr format. Identical to the k2vuyPixelFormat except the 32 bit word has been byte swapped. This results in a component ordering of; Y1, Cr, Y0, Cb. This is not a common format. The equivalent Microsoft fourCC is 'YVYU'. Currently, there is no codec support but the fourCC is reserved for future compability.

kYUVUPixelFormat
'yuvu'

8-bit 4:2:2 Component Y’CbCr format. Each 16 bit pixel is represented by an unsigned eight bit luminance component and two two’s complement signed eight bit chroma components. Each pair of pixels shares a common set of chroma values. The components are ordered in memory; Y0, Cb, Y1, Cr. The luminance components have a range of [0, 255], the chroma values have a range of [-127, +127]. This format is equivalent to the ‘yuv2’ file format.

kYUVXPixelFormat
'yuvx'

This is a private yuv pixel format used internally by QuickTime. Do not use this format. It is documented here solely for the purposes of completeness.

'myuv'

This is a private yuv pixel format used internally by QuickTime. Do not use this format. It is documented here solely for the purposes of completeness.

'syv9'

This is a private yuv pixel format used internally by QuickTime. Do not use this format. It is documented here solely for the purposes of completeness.

kYVU9PixelFormat
'YVU9'

A yuv planar format consisting of an 8-bit per pixel Y plane followed by 8-bit per pixel 4x4 subsampled V and U planes.

'IF09'

An Intel define yuv planar format similar to 'YVU9' (above) followed by a plane of frame relative data.

‘v308’

8-bit 4:4:4 Component Y’CbCr format. See Ice Floe Dispatch 19 document for more info.

‘v408’

8-bit 4:4:4:4 Component Y’CrCbA format. See Ice Floe Dispatch 19 document for more info.

‘v216’

10, 12, 14, 16-bit 4:2:2 Component Y’CbCr format. See Ice Floe Dispatch 19 document for more info.

‘v410’

10-bit 4:4:4 Component Y’CbCr format. See Ice Floe Dispatch 19 document for more info.

Developer specific FourCCs

‘soft’

Intermediary pixel format used by SoftVout and SoftCodec.

‘vwgr’

Intermediary pixel format used by View Graphics.

‘SGVC’

Intermediary pixel format used by SGI

Microsoft FourCCs recognized by QuickTime

'Y411'

Currently, there is no codec support but the fourCC is reserved for future compability.

'Y211'

Currently, there is no codec support but the fourCC is reserved for future compability.

'YV12'

Currently, there is no codec support but the fourCC is reserved for future compability.

See Also

QuickTime 3 Reference - Imaging Compression

QuickTime Ice Floe Notes - Ice Floe Dispatch 19 - Uncompressed Y´CbCr Video in QuickTime Files

Change History

4/6/07 - Updated fourCC registration address
2/10/99 - Giovanni Agnoli - First written
Topics
Previous | Next