1 <refentry> 2 <refmeta> 3 <refentrytitle>V4L2_PIX_FMT_YVU420 ('YV12'), V4L2_PIX_FMT_YUV420 ('YU12')</refentrytitle> 4 &manvol; 5 </refmeta> 6 <refnamediv> 7 <refname id="V4L2-PIX-FMT-YVU420"><constant>V4L2_PIX_FMT_YVU420</constant></refname> 8 <refname id="V4L2-PIX-FMT-YUV420"><constant>V4L2_PIX_FMT_YUV420</constant></refname> 9 <refpurpose>Planar formats with ½ horizontal and 10vertical chroma resolution, also known as YUV 4:2:0</refpurpose> 11 </refnamediv> 12 <refsect1> 13 <title>Description</title> 14 15 <para>These are planar formats, as opposed to a packed format. 16The three components are separated into three sub- images or planes. 17The Y plane is first. The Y plane has one byte per pixel. For 18<constant>V4L2_PIX_FMT_YVU420</constant>, the Cr plane immediately 19follows the Y plane in memory. The Cr plane is half the width and half 20the height of the Y plane (and of the image). Each Cr belongs to four 21pixels, a two-by-two square of the image. For example, 22Cr<subscript>0</subscript> belongs to Y'<subscript>00</subscript>, 23Y'<subscript>01</subscript>, Y'<subscript>10</subscript>, and 24Y'<subscript>11</subscript>. Following the Cr plane is the Cb plane, 25just like the Cr plane. <constant>V4L2_PIX_FMT_YUV420</constant> is 26the same except the Cb plane comes first, then the Cr plane.</para> 27 28 <para>If the Y plane has pad bytes after each row, then the Cr 29and Cb planes have half as many pad bytes after their rows. In other 30words, two Cx rows (including padding) is exactly as long as one Y row 31(including padding).</para> 32 33 <example> 34 <title><constant>V4L2_PIX_FMT_YVU420</constant> 4 × 4 35pixel image</title> 36 37 <formalpara> 38 <title>Byte Order.</title> 39 <para>Each cell is one byte. 40 <informaltable frame="none"> 41 <tgroup cols="5" align="center"> 42 <colspec align="left" colwidth="2*" /> 43 <tbody valign="top"> 44 <row> 45 <entry>start + 0:</entry> 46 <entry>Y'<subscript>00</subscript></entry> 47 <entry>Y'<subscript>01</subscript></entry> 48 <entry>Y'<subscript>02</subscript></entry> 49 <entry>Y'<subscript>03</subscript></entry> 50 </row> 51 <row> 52 <entry>start + 4:</entry> 53 <entry>Y'<subscript>10</subscript></entry> 54 <entry>Y'<subscript>11</subscript></entry> 55 <entry>Y'<subscript>12</subscript></entry> 56 <entry>Y'<subscript>13</subscript></entry> 57 </row> 58 <row> 59 <entry>start + 8:</entry> 60 <entry>Y'<subscript>20</subscript></entry> 61 <entry>Y'<subscript>21</subscript></entry> 62 <entry>Y'<subscript>22</subscript></entry> 63 <entry>Y'<subscript>23</subscript></entry> 64 </row> 65 <row> 66 <entry>start + 12:</entry> 67 <entry>Y'<subscript>30</subscript></entry> 68 <entry>Y'<subscript>31</subscript></entry> 69 <entry>Y'<subscript>32</subscript></entry> 70 <entry>Y'<subscript>33</subscript></entry> 71 </row> 72 <row> 73 <entry>start + 16:</entry> 74 <entry>Cr<subscript>00</subscript></entry> 75 <entry>Cr<subscript>01</subscript></entry> 76 </row> 77 <row> 78 <entry>start + 18:</entry> 79 <entry>Cr<subscript>10</subscript></entry> 80 <entry>Cr<subscript>11</subscript></entry> 81 </row> 82 <row> 83 <entry>start + 20:</entry> 84 <entry>Cb<subscript>00</subscript></entry> 85 <entry>Cb<subscript>01</subscript></entry> 86 </row> 87 <row> 88 <entry>start + 22:</entry> 89 <entry>Cb<subscript>10</subscript></entry> 90 <entry>Cb<subscript>11</subscript></entry> 91 </row> 92 </tbody> 93 </tgroup> 94 </informaltable> 95 </para> 96 </formalpara> 97 98 <formalpara> 99 <title>Color Sample Location.</title> 100 <para> 101 <informaltable frame="none"> 102 <tgroup cols="7" align="center"> 103 <tbody valign="top"> 104 <row> 105 <entry></entry> 106 <entry>0</entry><entry></entry><entry>1</entry><entry></entry> 107 <entry>2</entry><entry></entry><entry>3</entry> 108 </row> 109 <row> 110 <entry>0</entry> 111 <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry> 112 <entry>Y</entry><entry></entry><entry>Y</entry> 113 </row> 114 <row> 115 <entry></entry> 116 <entry></entry><entry>C</entry><entry></entry><entry></entry> 117 <entry></entry><entry>C</entry><entry></entry> 118 </row> 119 <row> 120 <entry>1</entry> 121 <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry> 122 <entry>Y</entry><entry></entry><entry>Y</entry> 123 </row> 124 <row> 125 <entry></entry> 126 </row> 127 <row> 128 <entry>2</entry> 129 <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry> 130 <entry>Y</entry><entry></entry><entry>Y</entry> 131 </row> 132 <row> 133 <entry></entry> 134 <entry></entry><entry>C</entry><entry></entry><entry></entry> 135 <entry></entry><entry>C</entry><entry></entry> 136 </row> 137 <row> 138 <entry>3</entry> 139 <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry> 140 <entry>Y</entry><entry></entry><entry>Y</entry> 141 </row> 142 </tbody> 143 </tgroup> 144 </informaltable> 145 </para> 146 </formalpara> 147 </example> 148 </refsect1> 149 </refentry> 150 151 <!-- 152Local Variables: 153mode: sgml 154sgml-parent-document: "pixfmt.sgml" 155indent-tabs-mode: nil 156End: 157 --> 158