www.FOURCC.org - Video Codecs and Pixel Formats

YUV pixel formats

ADVERTISEMENTS

YUV formats fall into two distinct groups, the packed formats where Y, U (Cb) and V (Cr) samples are packed together into macropixels which are stored in a single array, and the planar formats where each component is stored as a separate array, the final image being a fusing of the three separate planes.

In the diagrams below, the numerical suffix attached to each Y, U or V sample indicates the sampling position across the image line, so, for example, V0 indicates the leftmost V sample and Yn indicates the Y sample at the (n+1)th pixel from the left.

Subsampling intervals in the horizontal and vertical directions may merit some explanation. The horizontal subsampling interval describes how frequently across a line a sample of that component is taken while the vertical interval describes on which lines samples are taken. For example, UYVY format has a horizontal subsampling period of 2 for both the U and V components indicating that U and V samples are taken for every second pixel across a line. Their vertical subsampling period is 1 indicating that U and V samples are taken on each line of the image.

For YVU9, though, the vertical subsampling interval is 4. This indicates that U and V samples are only taken on every fourth line of the original image. Since the horizontal sampling period is also 4, a single U and a single V sample are taken for each square block of 16 image pixels.

Also, if you are interested in YCrCb to RGB conversion, you may find this page helpful.

Packed YUV Formats

ADVERTISEMENTS
Label FOURCC in Hex Bits per pixel Description
AYUV0x5655594132Combined YUV and alpha
CLJR0x524A4C438Cirrus Logic format with 4 pixels packed into a u_int32. A form of YUV 4:1:1 wiht less than 8 bits per Y, U and V sample.
CYUV0x7675796316Essentially a copy of UYVY except that the sense of the height is reversed - the image is upside down with respect to the UYVY version.
GREY
(Y800)
0x594552478Apparently a duplicate of Y800 (and also, presumably, "Y8 ")
HDYC
(UYVY)
0x4359444816YUV 4:2:2 (Y sample at every pixel, U and V sampled at every second pixel horizontally on each line). A macropixel contains 2 pixels in 1 u_int32. This is a suplicate of UYVY except that the color components use the BT709 color space (as used in HD video).
IRAW0x57615349?Intel uncompressed YUV. I have no information on this format - can you help?
IUYV
(UYVY)
0x5659554916Interlaced version of UYVY (line order 0, 2, 4,....,1, 3, 5....) registered by Silviu Brinzei of LEAD Technologies.
IY410x3155594912Interlaced version of Y41P (line order 0, 2, 4,....,1, 3, 5....) registered by Silviu Brinzei of LEAD Technologies.
IYU10x315559491212 bit format used in mode 2 of the IEEE 1394 Digital Camera 1.04 spec. This is equivalent to Y411
IYU20x325559492424 bit format used in mode 0 of the IEEE 1394 Digital Camera 1.04 spec
UYNV
(UYVY)
0x564E595516A direct copy of UYVY registered by NVidia to work around problems in some old codecs which did not like hardware which offered more than 2 UYVY surfaces.
UYVP0x5056595524?YCbCr 4:2:2 extended precision 10-bits per component in U0Y0V0Y1 order. Registered by Rich Ehlers of Evans & Sutherland.
UYVY0x5956595516YUV 4:2:2 (Y sample at every pixel, U and V sampled at every second pixel horizontally on each line). A macropixel contains 2 pixels in 1 u_int32.
V2100x303132563210-bit 4:2:2 YCrCb equivalent to the Quicktime format of the same name.
V4220x3232345616I am told that this is an upside down version of UYVY.
V6550x3535365616?16 bit YUV 4:2:2 format registered by Vitec Multimedia. I have no information on the component ordering or packing.
VYUY0x59555956?ATI Packed YUV Data (format unknown)
Y160x203631591616-bit uncompressed greyscale image.
Y2110x313132598Packed YUV format with Y sampled at every second pixel across each line and U and V sampled at every fourth pixel.
Y4110x3131345912YUV 4:1:1 with a packed, 6 byte/4 pixel macroblock structure.
Y41P0x5031345912YUV 4:1:1 (Y sample at every pixel, U and V sampled at every fourth pixel horizontally on each line). A macropixel contains 8 pixels in 3 u_int32s.
Y41T0x5431345912Format as for Y41P but the lsb of each Y component is used to signal pixel transparency .
Y422
(UYVY)
0x3232345916Direct copy of UYVY as used by ADS Technologies Pyro WebCam firewire camera.
Y42T0x5432345916Format as for UYVY but the lsb of each Y component is used to signal pixel transparency .
Y8
(Y800)
0x202038598Duplicate of Y800 as far as I can see.
Y8000x303038598Simple, single Y plane for monochrome images.
YUNV
(YUY2)
0x564E555916A direct copy of YUY2 registered by NVidia to work around problems in some old codecs which did not like hardware which offered more than 2 YUY2 surfaces.
YUVP0x5056555924?YCbCr 4:2:2 extended precision 10-bits per component in Y0U0Y1V0 order. Registered by Rich Ehlers of Evans & Sutherland.
YUY20x3259555916YUV 4:2:2 as for UYVY but with different component ordering within the u_int32 macropixel.
YUYV
(YUY2)
0x5659555916Duplicate of YUY2
YVYU0x5559565916YUV 4:2:2 as for UYVY but with different component ordering within the u_int32 macropixel.

Planar YUV Formats

ADVERTISEMENTS
Label FOURCC in Hex Bits per pixel Description
CLPL0x4C504C4312Format similar to YV12 but including a level of indirection.
CXY10x3159584312Planar YUV 4:1:1 format registered by Conexant.
CXY20x3259584216Planar YUV 4:2:2 format registered by Conexant.
I4200x30323449128 bit Y plane followed by 8 bit 2x2 subsampled U and V planes.
IF090x393046499.5As YVU9 but an additional 4x4 subsampled plane is appended containing delta information relative to the last frame. (Bpp is reported as 9)
IMC10x31434D4912As YV12 except the U and V planes each have the same stride as the Y plane
IMC20x32434D4912Similar to IMC1 except that the U and V lines are interleaved at half stride boundaries
IMC3
(IMC1)
0x33434D4912As IMC1 except that U and V are swapped
IMC4
(IMC2)
0x34434D4912As IMC2 except that U and V are swapped
IYUV
(I420)
0x5655594912Duplicate FOURCC, identical to I420.
NV120x3231564E128-bit Y plane followed by an interleaved U/V plane with 2x2 subsampling
NV210x3132564E12As NV12 with U and V reversed in the interleaved plane
Y41B0x4231345912?Weitek format listed as "YUV 4:1:1 planar". I have no other information on this format.
Y42B0x4232345916?Weitek format listed as "YUV 4:2:2 planar". I have no other information on this format.
Y8
(Y800)
0x202038598Duplicate of Y800 as far as I can see.
Y8000x303038598Simple, single Y plane for monochrome images.
YUV90x395655599?Registered by Intel., this is the format used internally by Indeo video code
YV120x32315659128 bit Y plane followed by 8 bit 2x2 subsampled V and U planes.
YV160x36315659168 bit Y plane followed by 8 bit 2x1 subsampled V and U planes.
YVU90x3955565998 bit Y plane followed by 8 bit 4x4 subsampled V and U planes. Registered by Intel.
www.fourcc.org ©2011 Silicon.dk ApS