1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>V4L2_PIX_FMT_YUV420M ('YM12')</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="up" href="yuv-formats.html" title="YUV Formats"><link rel="prev" href="re24.html" title="V4L2_PIX_FMT_YVU420 ('YV12'), V4L2_PIX_FMT_YUV420 ('YU12')"><link rel="next" href="V4L2-PIX-FMT-YVU420M.html" title="V4L2_PIX_FMT_YVU420M ('YM21')"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">V4L2_PIX_FMT_YUV420M ('YM12')</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re24.html">Prev</a> </td><th width="60%" align="center">YUV Formats</th><td width="20%" align="right"> <a accesskey="n" href="V4L2-PIX-FMT-YVU420M.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="V4L2-PIX-FMT-YUV420M"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p> <code class="constant">V4L2_PIX_FMT_YUV420M</code> — Variation of <code class="constant">V4L2_PIX_FMT_YUV420</code> 2 with planes non contiguous in memory. </p></div><div class="refsect1"><a name="idp1102137644"></a><h2>Description</h2><p>This is a multi-planar format, as opposed to a packed format. 3The three components are separated into three sub- images or planes. 4 5The Y plane is first. The Y plane has one byte per pixel. The Cb data 6constitutes the second plane which is half the width and half 7the height of the Y plane (and of the image). Each Cb belongs to four 8pixels, a two-by-two square of the image. For example, 9Cb<sub>0</sub> belongs to Y'<sub>00</sub>, 10Y'<sub>01</sub>, Y'<sub>10</sub>, and 11Y'<sub>11</sub>. The Cr data, just like the Cb plane, is 12in the third plane. </p><p>If the Y plane has pad bytes after each row, then the Cb 13and Cr planes have half as many pad bytes after their rows. In other 14words, two Cx rows (including padding) is exactly as long as one Y row 15(including padding).</p><p><code class="constant">V4L2_PIX_FMT_YUV420M</code> is intended to be 16used only in drivers and applications that support the multi-planar API, 17described in <a class="xref" href="planar-apis.html" title="Single- and multi-planar APIs">the section called “Single- and multi-planar APIs”</a>. </p><div class="example"><a name="idp1102143420"></a><p class="title"><b>Example 2.22. <code class="constant">V4L2_PIX_FMT_YUV420M</code> 4 × 4 18pixel image</b></p><div class="example-contents"><p><b>Byte Order. </b>Each cell is one byte. 19 </p><div class="informaltable"><table border="0"><colgroup><col align="left"><col><col><col><col></colgroup><tbody valign="top"><tr><td align="left" valign="top">start0 + 0:</td><td align="center" valign="top">Y'<sub>00</sub></td><td align="center" valign="top">Y'<sub>01</sub></td><td align="center" valign="top">Y'<sub>02</sub></td><td align="center" valign="top">Y'<sub>03</sub></td></tr><tr><td align="left" valign="top">start0 + 4:</td><td align="center" valign="top">Y'<sub>10</sub></td><td align="center" valign="top">Y'<sub>11</sub></td><td align="center" valign="top">Y'<sub>12</sub></td><td align="center" valign="top">Y'<sub>13</sub></td></tr><tr><td align="left" valign="top">start0 + 8:</td><td align="center" valign="top">Y'<sub>20</sub></td><td align="center" valign="top">Y'<sub>21</sub></td><td align="center" valign="top">Y'<sub>22</sub></td><td align="center" valign="top">Y'<sub>23</sub></td></tr><tr><td align="left" valign="top">start0 + 12:</td><td align="center" valign="top">Y'<sub>30</sub></td><td align="center" valign="top">Y'<sub>31</sub></td><td align="center" valign="top">Y'<sub>32</sub></td><td align="center" valign="top">Y'<sub>33</sub></td></tr><tr><td align="left" valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td align="left" valign="top">start1 + 0:</td><td align="center" valign="top">Cb<sub>00</sub></td><td align="center" valign="top">Cb<sub>01</sub></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td align="left" valign="top">start1 + 2:</td><td align="center" valign="top">Cb<sub>10</sub></td><td align="center" valign="top">Cb<sub>11</sub></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td align="left" valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td align="left" valign="top">start2 + 0:</td><td align="center" valign="top">Cr<sub>00</sub></td><td align="center" valign="top">Cr<sub>01</sub></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td align="left" valign="top">start2 + 2:</td><td align="center" valign="top">Cr<sub>10</sub></td><td align="center" valign="top">Cr<sub>11</sub></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div><p> 20 </p><p><b>Color Sample Location. </b> 21 </p><div class="informaltable"><table border="0"><colgroup><col><col><col><col><col><col><col></colgroup><tbody valign="top"><tr><td align="center" valign="top"> </td><td align="center" valign="top">0</td><td align="center" valign="top"> </td><td align="center" valign="top">1</td><td align="center" valign="top"> </td><td align="center" valign="top">2</td><td align="center" valign="top"> </td><td align="center" valign="top">3</td></tr><tr><td align="center" valign="top">0</td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td></tr><tr><td align="center" valign="top"> </td><td align="center" valign="top"> </td><td align="center" valign="top">C</td><td align="center" valign="top"> </td><td align="center" valign="top"> </td><td align="center" valign="top"> </td><td align="center" valign="top">C</td><td align="center" valign="top"> </td></tr><tr><td align="center" valign="top">1</td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td></tr><tr><td align="center" valign="top"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr><tr><td align="center" valign="top">2</td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td></tr><tr><td align="center" valign="top"> </td><td align="center" valign="top"> </td><td align="center" valign="top">C</td><td align="center" valign="top"> </td><td align="center" valign="top"> </td><td align="center" valign="top"> </td><td align="center" valign="top">C</td><td align="center" valign="top"> </td></tr><tr><td align="center" valign="top">3</td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td><td align="center" valign="top"> </td><td align="center" valign="top">Y</td></tr></tbody></table></div><p> 22 </p></div></div><br class="example-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re24.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="yuv-formats.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="V4L2-PIX-FMT-YVU420M.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">V4L2_PIX_FMT_YVU420 ('YV12'), V4L2_PIX_FMT_YUV420 ('YU12') </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> V4L2_PIX_FMT_YVU420M ('YM21')</td></tr></table></div></body></html> 23