FOURCC.org - Video Codecs and Pixel Formats

NV12 yuv pixel format

YUV 4:2:0 image with a plane of 8 bit Y samples followed by an interleaved U/V plane containing 8 bit 2x2 subsampled colour difference samples.

  Horizontal Vertical
Y Sample Period 1 1
V (Cr) Sample Period 2 2
U (Cb) Sample Period 2 2

Microsoft defines this format as follows:

 "A format in which all Y samples are found first in memory as an array of unsigned char with an even number of lines (possibly with a larger stride for memory alignment), followed immediately by an array of unsigned char containing interleaved Cb and Cr samples (such that if addressed as a little-endian WORD type, Cb would be in the LSBs and Cr would be in the MSBs) with the same total stride as the Y samples. This is the preferred 4:2:0 pixel format."

Child formats: NV21