On Thu, Jul 26, 2012 at 2:13 AM, Sylwester Nawrocki <sylvester.nawrocki@xxxxxxxxx> wrote: > Hi Shaik, > > > On 07/25/2012 02:26 PM, Shaik Ameer Basha wrote: >> >> This patch adds the following new fourcc definition. >> For multiplanar YCrCb >> - V4L2_PIX_FMT_YVU420M - 'YVUM' >> >> Signed-off-by: Shaik Ameer Basha<shaik.ameer@xxxxxxxxxxx> >> --- >> Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml | 97 >> +++++++++++++++++--- > > > Can you please add a new xml file for this new format, rather than > modifying this one ? I think it would be more clear this way. > Ok. No problem. I can create a new xml file for this format.. >> include/linux/videodev2.h | 1 + >> 2 files changed, 84 insertions(+), 14 deletions(-) >> >> diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml >> b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml >> index 60308f1..9fc9a2e 100644 >> --- a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml >> +++ b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml >> @@ -1,12 +1,14 @@ >> -<refentry id="V4L2-PIX-FMT-YUV420M"> >> +<refentry> >> <refmeta> >> - <refentrytitle>V4L2_PIX_FMT_YUV420M ('YM12')</refentrytitle> >> + <refentrytitle>V4L2_PIX_FMT_YUV420M ('YM12'), V4L2_PIX_FMT_YVU420M >> ('YMUM')</refentrytitle> >> &manvol; >> </refmeta> >> <refnamediv> >> - <refname> <constant>V4L2_PIX_FMT_YUV420M</constant></refname> >> - <refpurpose>Variation of<constant>V4L2_PIX_FMT_YUV420</constant> >> - with planes non contiguous in memory.</refpurpose> >> + <refname >> id="V4L2_PIX_FMT_YUV420M"><constant>V4L2_PIX_FMT_YUV420M</constant></refname> >> + <refname >> id="V4L2_PIX_FMT_YVU420M"><constant>V4L2_PIX_FMT_YVU420M</constant></refname> >> + <refpurpose>Variation of<constant>V4L2_PIX_FMT_YUV420</constant>, >> + <constant>V4L2_PIX_FMT_YVU420</constant> respectively with planes >> non contiguous in memory. >> + </refpurpose> >> </refnamediv> >> >> <refsect1> >> @@ -16,29 +18,34 @@ >> The three components are separated into three sub- images or planes. >> >> The Y plane is first. The Y plane has one byte per pixel. The Cb data >> -constitutes the second plane which is half the width and half >> -the height of the Y plane (and of the image). Each Cb belongs to four >> +constitutes the second plane for<constant>V4L2_PIX_FMT_YUV420M</constant> >> format >> +and the third plane for<constant>V4L2_PIX_FMT_YVU420M</constant> format, >> +which is half the width and half the height of the Y plane (and of the >> image). >> +Each Cb belongs to four >> pixels, a two-by-two square of the image. For example, >> Cb<subscript>0</subscript> belongs to Y'<subscript>00</subscript>, >> Y'<subscript>01</subscript>, Y'<subscript>10</subscript>, and >> -Y'<subscript>11</subscript>. The Cr data, just like the Cb plane, is >> -in the third plane.</para> >> +Y'<subscript>11</subscript>. The Cr data, just like the Cb data, >> constitutes >> +the third plane for<constant>V4L2_PIX_FMT_YUV420M</constant> format and >> +the second plane for<constant>V4L2_PIX_FMT_YVU420M</constant> >> format.</para> >> >> <para>If the Y plane has pad bytes after each row, then the Cb >> and Cr planes have half as many pad bytes after their rows. In other >> -words, two Cx rows (including padding) is exactly as long as one Y row >> +words, two Cx rows (including padding) are exactly as long as one Y row >> (including padding).</para> >> >> - <para><constant>V4L2_PIX_FMT_NV12M</constant> is intended to be >> + <para><constant>V4L2_PIX_FMT_YUV420M</constant>, >> +<constant>V4L2_PIX_FMT_YVU420M</constant> are intended to be >> used only in drivers and applications that support the multi-planar API, >> described in<xref linkend="planar-apis"/>.</para> >> >> <example> >> - <title><constant>V4L2_PIX_FMT_YVU420M</constant> 4× 4 >> >> -pixel image</title> >> + <title><constant>V4L2_PIX_FMT_YUV420M</constant>, >> + <constant>V4L2_PIX_FMT_YVU420M</constant> 4× 4 >> >> + pixel image</title> >> >> <formalpara> >> - <title>Byte Order.</title> >> + <title>Byte Order for V4L2_PIX_FMT_YUV420M.</title> >> <para>Each cell is one byte. >> <informaltable frame="none"> >> <tgroup cols="5" align="center"> >> @@ -101,6 +108,68 @@ pixel image</title> >> </formalpara> >> >> <formalpara> >> + <title>Byte Order for V4L2_PIX_FMT_YVU420M.</title> >> + <para>Each cell is one byte. >> + <informaltable frame="none"> >> + <tgroup cols="5" align="center"> >> + <colspec align="left" colwidth="2*" /> >> + <tbody valign="top"> >> + <row> >> + <entry>start0 + 0:</entry> >> + <entry>Y'<subscript>00</subscript></entry> >> + <entry>Y'<subscript>01</subscript></entry> >> + <entry>Y'<subscript>02</subscript></entry> >> + <entry>Y'<subscript>03</subscript></entry> >> + </row> >> + <row> >> + <entry>start0 + 4:</entry> >> + <entry>Y'<subscript>10</subscript></entry> >> + <entry>Y'<subscript>11</subscript></entry> >> + <entry>Y'<subscript>12</subscript></entry> >> + <entry>Y'<subscript>13</subscript></entry> >> + </row> >> + <row> >> + <entry>start0 + 8:</entry> >> + <entry>Y'<subscript>20</subscript></entry> >> + <entry>Y'<subscript>21</subscript></entry> >> + <entry>Y'<subscript>22</subscript></entry> >> + <entry>Y'<subscript>23</subscript></entry> >> + </row> >> + <row> >> + <entry>start0 + 12:</entry> >> + <entry>Y'<subscript>30</subscript></entry> >> + <entry>Y'<subscript>31</subscript></entry> >> + <entry>Y'<subscript>32</subscript></entry> >> + <entry>Y'<subscript>33</subscript></entry> >> + </row> >> + <row><entry></entry></row> >> + <row> >> + <entry>start1 + 0:</entry> >> + <entry>Cr<subscript>00</subscript></entry> >> + <entry>Cr<subscript>01</subscript></entry> >> + </row> >> + <row> >> + <entry>start1 + 2:</entry> >> + <entry>Cr<subscript>10</subscript></entry> >> + <entry>Cr<subscript>11</subscript></entry> >> + </row> >> + <row><entry></entry></row> >> + <row> >> + <entry>start2 + 0:</entry> >> + <entry>Cb<subscript>00</subscript></entry> >> + <entry>Cb<subscript>01</subscript></entry> >> + </row> >> + <row> >> + <entry>start2 + 2:</entry> >> + <entry>Cb<subscript>10</subscript></entry> >> + <entry>Cb<subscript>11</subscript></entry> >> + </row> >> + </tbody> >> + </tgroup> >> + </informaltable> >> + </para> >> + </formalpara> >> + <formalpara> >> <title>Color Sample Location.</title> >> <para> >> <informaltable frame="none"> >> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h >> index dbf9d3a..80962b8 100644 >> --- a/include/linux/videodev2.h >> +++ b/include/linux/videodev2.h >> @@ -365,6 +365,7 @@ struct v4l2_pix_format { >> >> /* three non contiguous planes - Y, Cb, Cr */ >> #define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 >> YUV420 planar */ >> +#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'V', 'U', 'M') /* 12 >> YVU420 planar */ >> >> /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ >> #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 >> BGBG.. GRGR.. */ > > > -- > > Thanks, > Sylwester -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html