3
<refentrytitle>V4L2_PIX_FMT_NV12MT ('TM12')</refentrytitle>
7
<refname id="V4L2-PIX-FMT-NV12MT"><constant>V4L2_PIX_FMT_NV12MT
9
<refpurpose>Formats with ½ horizontal and vertical
10
chroma resolution. This format has two planes - one for luminance and one for
11
chrominance. Chroma samples are interleaved. The difference to
12
<constant>V4L2_PIX_FMT_NV12</constant> is the memory layout. Pixels are
13
grouped in macroblocks of 64x32 size. The order of macroblocks in memory is
18
<title>Description</title>
20
<para>This is the two-plane versions of the YUV 4:2:0 format where data
21
is grouped into 64x32 macroblocks. The three components are separated into two
22
sub-images or planes. The Y plane has one byte per pixel and pixels are grouped
23
into 64x32 macroblocks. The CbCr plane has the same width, in bytes, as the Y
24
plane (and the image), but is half as tall in pixels. The chroma plane is also
25
grouped into 64x32 macroblocks.</para>
26
<para>Width of the buffer has to be aligned to the multiple of 128, and
27
height alignment is 32. Every four adjactent buffers - two horizontally and two
28
vertically are grouped together and are located in memory in Z or flipped Z
30
<para>Layout of macroblocks in memory is presented in the following
32
<para><figure id="nv12mt">
33
<title><constant>V4L2_PIX_FMT_NV12MT</constant> macroblock Z shape
37
<imagedata fileref="nv12mt.gif" format="GIF" />
41
The requirement that width is multiple of 128 is implemented because,
42
the Z shape cannot be cut in half horizontally. In case the vertical resolution
43
of macroblocks is odd then the last row of macroblocks is arranged in a linear
45
<para>In case of chroma the layout is identical. Cb and Cr samples are
46
interleaved. Height of the buffer is aligned to 32.
49
<title>Memory layout of macroblocks in <constant>V4L2_PIX_FMT_NV12
50
</constant> format pixel image - extreme case</title>
52
<figure id="nv12mt_ex">
53
<title>Example <constant>V4L2_PIX_FMT_NV12MT</constant> memory
54
layout of macroblocks</title>
57
<imagedata fileref="nv12mt_example.gif" format="GIF" />
61
Memory layout of macroblocks of <constant>V4L2_PIX_FMT_NV12MT
62
</constant> format in most extreme case.
71
sgml-parent-document: "pixfmt.sgml"