| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> |
| <HTML |
| ><HEAD |
| ><TITLE |
| >V4L2_PIX_FMT_NV12 ('NV12'), V4L2_PIX_FMT_NV21 ('NV21')</TITLE |
| ><META |
| NAME="GENERATOR" |
| CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK |
| REL="HOME" |
| TITLE="Video for Linux Two API Specification" |
| HREF="book1.htm"><LINK |
| REL="UP" |
| TITLE="YUV Formats" |
| HREF="x3891.htm"><LINK |
| REL="PREVIOUS" |
| TITLE="V4L2_PIX_FMT_YUV411P ('411P')" |
| HREF="r5319.htm"><LINK |
| REL="NEXT" |
| TITLE="Compressed Formats" |
| HREF="x5634.htm"></HEAD |
| ><BODY |
| CLASS="REFENTRY" |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#840084" |
| ALINK="#0000FF" |
| ><DIV |
| CLASS="NAVHEADER" |
| ><TABLE |
| SUMMARY="Header navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TH |
| COLSPAN="3" |
| ALIGN="center" |
| >Video for Linux Two API Specification: Revision 0.24</TH |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="10%" |
| ALIGN="left" |
| VALIGN="bottom" |
| ><A |
| HREF="r5319.htm" |
| ACCESSKEY="P" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="center" |
| VALIGN="bottom" |
| ></TD |
| ><TD |
| WIDTH="10%" |
| ALIGN="right" |
| VALIGN="bottom" |
| ><A |
| HREF="x5634.htm" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ></TABLE |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"></DIV |
| ><H1 |
| ><A |
| NAME="AEN5470" |
| ></A |
| >V4L2_PIX_FMT_NV12 ('NV12'), V4L2_PIX_FMT_NV21 ('NV21')</H1 |
| ><DIV |
| CLASS="REFNAMEDIV" |
| ><A |
| NAME="AEN5474" |
| ></A |
| ><H2 |
| >Name</H2 |
| ><CODE |
| CLASS="CONSTANT" |
| >V4L2_PIX_FMT_NV12</CODE |
| >, <CODE |
| CLASS="CONSTANT" |
| >V4L2_PIX_FMT_NV21</CODE |
| > -- Formats with ½ horizontal and vertical |
| chroma resolution, also known as YUV 4:2:0. One luminance and one |
| chrominance plane with alternating chroma samples as opposed to |
| <CODE |
| CLASS="CONSTANT" |
| >V4L2_PIX_FMT_YVU420</CODE |
| ></DIV |
| ><DIV |
| CLASS="REFSECT1" |
| ><A |
| NAME="AEN5481" |
| ></A |
| ><H2 |
| >Description</H2 |
| ><P |
| >These are two-plane versions of the YUV 4:2:0 format. |
| The three components are separated into two sub-images or planes. The |
| Y plane is first. The Y plane has one byte per pixel. For |
| <CODE |
| CLASS="CONSTANT" |
| >V4L2_PIX_FMT_NV12</CODE |
| >, a combined CbCr plane |
| immediately follows the Y plane in memory. The CbCr plane is the same |
| width, in bytes, as the Y plane (and of the image), but is half as |
| tall in pixels. Each CbCr pair belongs to four pixels. For example, |
| Cb<SUB |
| >0</SUB |
| >/Cr<SUB |
| >0</SUB |
| > belongs to |
| Y'<SUB |
| >00</SUB |
| >, Y'<SUB |
| >01</SUB |
| >, |
| Y'<SUB |
| >10</SUB |
| >, Y'<SUB |
| >11</SUB |
| >. |
| <CODE |
| CLASS="CONSTANT" |
| >V4L2_PIX_FMT_NV21</CODE |
| > is the same except the Cb and |
| Cr bytes are swapped, the CrCb plane starts with a Cr byte.</P |
| ><P |
| >If the Y plane has pad bytes after each row, then the |
| CbCr plane has as many pad bytes after its rows.</P |
| ><DIV |
| CLASS="EXAMPLE" |
| ><A |
| NAME="AEN5493" |
| ></A |
| ><P |
| ><B |
| >Example 2-1. <CODE |
| CLASS="CONSTANT" |
| >V4L2_PIX_FMT_NV12</CODE |
| > 4 × 4 |
| pixel image</B |
| ></P |
| ><DIV |
| CLASS="FORMALPARA" |
| ><P |
| ><B |
| >Byte Order. </B |
| >Each cell is one byte. |
| <DIV |
| CLASS="INFORMALTABLE" |
| ><P |
| ></P |
| ><A |
| NAME="AEN5499" |
| ></A |
| ><TABLE |
| BORDER="0" |
| FRAME="void" |
| CLASS="CALSTABLE" |
| ><COL |
| WIDTH="2*" |
| ALIGN="LEFT"><COL><COL><COL><COL><TBODY |
| VALIGN="TOP" |
| ><TR |
| ><TD |
| >start + 0:</TD |
| ><TD |
| >Y'<SUB |
| >00</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >01</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >02</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >03</SUB |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| >start + 4:</TD |
| ><TD |
| >Y'<SUB |
| >10</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >11</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >12</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >13</SUB |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| >start + 8:</TD |
| ><TD |
| >Y'<SUB |
| >20</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >21</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >22</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >23</SUB |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| >start + 12:</TD |
| ><TD |
| >Y'<SUB |
| >30</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >31</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >32</SUB |
| ></TD |
| ><TD |
| >Y'<SUB |
| >33</SUB |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| >start + 16:</TD |
| ><TD |
| >Cb<SUB |
| >00</SUB |
| ></TD |
| ><TD |
| >Cr<SUB |
| >00</SUB |
| ></TD |
| ><TD |
| >Cb<SUB |
| >01</SUB |
| ></TD |
| ><TD |
| >Cr<SUB |
| >01</SUB |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| >start + 20:</TD |
| ><TD |
| >Cb<SUB |
| >10</SUB |
| ></TD |
| ><TD |
| >Cr<SUB |
| >10</SUB |
| ></TD |
| ><TD |
| >Cb<SUB |
| >11</SUB |
| ></TD |
| ><TD |
| >Cr<SUB |
| >11</SUB |
| ></TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| > |
| </P |
| ></DIV |
| ><DIV |
| CLASS="FORMALPARA" |
| ><P |
| ><B |
| >Color Sample Location. </B |
| > <DIV |
| CLASS="INFORMALTABLE" |
| ><P |
| ></P |
| ><A |
| NAME="AEN5566" |
| ></A |
| ><TABLE |
| BORDER="0" |
| FRAME="void" |
| CLASS="CALSTABLE" |
| ><COL><COL><COL><COL><COL><COL><COL><TBODY |
| VALIGN="TOP" |
| ><TR |
| ><TD |
| > </TD |
| ><TD |
| >0</TD |
| ><TD |
| > </TD |
| ><TD |
| >1</TD |
| ><TD |
| > </TD |
| ><TD |
| >2</TD |
| ><TD |
| > </TD |
| ><TD |
| >3</TD |
| ></TR |
| ><TR |
| ><TD |
| >0</TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ></TR |
| ><TR |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| >C</TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| >C</TD |
| ><TD |
| > </TD |
| ></TR |
| ><TR |
| ><TD |
| >1</TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ></TR |
| ><TR |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ></TR |
| ><TR |
| ><TD |
| >2</TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ></TR |
| ><TR |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| >C</TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| > </TD |
| ><TD |
| >C</TD |
| ><TD |
| > </TD |
| ></TR |
| ><TR |
| ><TD |
| >3</TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ><TD |
| > </TD |
| ><TD |
| >Y</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| > |
| </P |
| ></DIV |
| ></DIV |
| ></DIV |
| ><DIV |
| CLASS="NAVFOOTER" |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"><TABLE |
| SUMMARY="Footer navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| ><A |
| HREF="r5319.htm" |
| ACCESSKEY="P" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="book1.htm" |
| ACCESSKEY="H" |
| >Home</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| ><A |
| HREF="x5634.htm" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| >V4L2_PIX_FMT_YUV411P ('411P')</TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="x3891.htm" |
| ACCESSKEY="U" |
| >Up</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| >Compressed Formats</TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |