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 SGIs 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 YCbCr 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 YCbCr 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 YCbCr 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 YCbCr format. Each 16 bit
pixel is represented by an unsigned eight bit luminance
component and two twos 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 YCbCr format. See Ice
Floe Dispatch 19 document for more info.
|
v408
|
8-bit 4:4:4:4 Component YCrCbA format. See
Ice Floe Dispatch 19 document for
more info.
|
v216
|
10, 12, 14, 16-bit 4:2:2 Component YCbCr format. See Ice
Floe Dispatch 19 document for more info.
|
v410
|
10-bit 4:4:4 Component YCbCr 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
|