123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <refentry>
- <refmeta>
- <refentrytitle>V4L2_PIX_FMT_NV12MT ('TM12')</refentrytitle>
- &manvol;
- </refmeta>
- <refnamediv>
- <refname id="V4L2-PIX-FMT-NV12MT"><constant>V4L2_PIX_FMT_NV12MT
- </constant></refname>
- <refpurpose>Formats with ½ horizontal and vertical
- chroma resolution. This format has two planes - one for luminance and one for
- chrominance. Chroma samples are interleaved. The difference to
- <constant>V4L2_PIX_FMT_NV12</constant> is the memory layout. Pixels are
- grouped in macroblocks of 64x32 size. The order of macroblocks in memory is
- also not standard.
- </refpurpose>
- </refnamediv>
- <refsect1>
- <title>Description</title>
- <para>This is the two-plane versions of the YUV 4:2:0 format where data
- is grouped into 64x32 macroblocks. The three components are separated into two
- sub-images or planes. The Y plane has one byte per pixel and pixels are grouped
- into 64x32 macroblocks. The CbCr plane has the same width, in bytes, as the Y
- plane (and the image), but is half as tall in pixels. The chroma plane is also
- grouped into 64x32 macroblocks.</para>
- <para>Width of the buffer has to be aligned to the multiple of 128, and
- height alignment is 32. Every four adjacent buffers - two horizontally and two
- vertically are grouped together and are located in memory in Z or flipped Z
- order. </para>
- <para>Layout of macroblocks in memory is presented in the following
- figure.</para>
- <para><figure id="nv12mt">
- <title><constant>V4L2_PIX_FMT_NV12MT</constant> macroblock Z shape
- memory layout</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="nv12mt.gif" format="GIF" />
- </imageobject>
- </mediaobject>
- </figure>
- The requirement that width is multiple of 128 is implemented because,
- the Z shape cannot be cut in half horizontally. In case the vertical resolution
- of macroblocks is odd then the last row of macroblocks is arranged in a linear
- order. </para>
- <para>In case of chroma the layout is identical. Cb and Cr samples are
- interleaved. Height of the buffer is aligned to 32.
- </para>
- <example>
- <title>Memory layout of macroblocks in <constant>V4L2_PIX_FMT_NV12
- </constant> format pixel image - extreme case</title>
- <para>
- <figure id="nv12mt_ex">
- <title>Example <constant>V4L2_PIX_FMT_NV12MT</constant> memory
- layout of macroblocks</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="nv12mt_example.gif" format="GIF" />
- </imageobject>
- </mediaobject>
- </figure>
- Memory layout of macroblocks of <constant>V4L2_PIX_FMT_NV12MT
- </constant> format in most extreme case.
- </para>
- </example>
- </refsect1>
- </refentry>
|