Commit cc1d3272 authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Mauro Carvalho Chehab

[media] v4l: Add new alpha component control

The V4L2_CID_ALPHA_COMPONENT control is intended for the video capture
or memory-to-memory devices that are capable of setting up the per-pixel
alpha component to some arbitrary value. It allows to set the alpha
component for all pixels to an arbitrary value.
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent b4d48c94
...@@ -2379,6 +2379,17 @@ that used it. It was originally scheduled for removal in 2.6.35. ...@@ -2379,6 +2379,17 @@ that used it. It was originally scheduled for removal in 2.6.35.
</orderedlist> </orderedlist>
</section> </section>
<section>
<title>V4L2 in Linux 3.3</title>
<orderedlist>
<listitem>
<para>Added <constant>V4L2_CID_ALPHA_COMPONENT</constant> control
to the <link linkend="control">User controls class</link>.
</para>
</listitem>
</orderedlist>
</section>
<section id="other"> <section id="other">
<title>Relation of V4L2 to other Linux multimedia APIs</title> <title>Relation of V4L2 to other Linux multimedia APIs</title>
......
...@@ -323,12 +323,6 @@ minimum value disables backlight compensation.</entry> ...@@ -323,12 +323,6 @@ minimum value disables backlight compensation.</entry>
<entry>Switch on or off the illuminator 1 or 2 of the device <entry>Switch on or off the illuminator 1 or 2 of the device
(usually a microscope).</entry> (usually a microscope).</entry>
</row> </row>
<row>
<entry><constant>V4L2_CID_LASTP1</constant></entry>
<entry></entry>
<entry>End of the predefined control IDs (currently
<constant>V4L2_CID_ILLUMINATORS_2</constant> + 1).</entry>
</row>
<row> <row>
<entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry> <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry>
<entry>integer</entry> <entry>integer</entry>
...@@ -345,6 +339,25 @@ and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS. ...@@ -345,6 +339,25 @@ and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS.
The value is the minimum number of OUTPUT buffers that is necessary for hardware The value is the minimum number of OUTPUT buffers that is necessary for hardware
to work.</entry> to work.</entry>
</row> </row>
<row id="v4l2-alpha-component">
<entry><constant>V4L2_CID_ALPHA_COMPONENT</constant></entry>
<entry>integer</entry>
<entry> Sets the alpha color component on the capture device or on
the capture buffer queue of a mem-to-mem device. When a mem-to-mem
device produces frame format that includes an alpha component
(e.g. <link linkend="rgb-formats">packed RGB image formats</link>)
and the alpha value is not defined by the mem-to-mem input data
this control lets you select the alpha component value of all
pixels. It is applicable to any pixel format that contains an alpha
component.
</entry>
</row>
<row>
<entry><constant>V4L2_CID_LASTP1</constant></entry>
<entry></entry>
<entry>End of the predefined control IDs (currently
<constant>V4L2_CID_ALPHA_COMPONENT</constant> + 1).</entry>
</row>
<row> <row>
<entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry> <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry>
<entry></entry> <entry></entry>
......
...@@ -428,8 +428,11 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para> ...@@ -428,8 +428,11 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
<para>Bit 7 is the most significant bit. The value of a = alpha <para>Bit 7 is the most significant bit. The value of a = alpha
bits is undefined when reading from the driver, ignored when writing bits is undefined when reading from the driver, ignored when writing
to the driver, except when alpha blending has been negotiated for a to the driver, except when alpha blending has been negotiated for a
<link linkend="overlay">Video Overlay</link> or <link <link linkend="overlay">Video Overlay</link> or <link linkend="osd">
linkend="osd">Video Output Overlay</link>.</para> Video Output Overlay</link> or when alpha component has been configured
for a <link linkend="capture">Video Capture</link> by means of <link
linkend="v4l2-alpha-component"> <constant>V4L2_CID_ALPHA_COMPONENT
</constant> </link> control.</para>
<example> <example>
<title><constant>V4L2_PIX_FMT_BGR24</constant> 4 &times; 4 pixel <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 &times; 4 pixel
......
...@@ -467,6 +467,7 @@ const char *v4l2_ctrl_get_name(u32 id) ...@@ -467,6 +467,7 @@ const char *v4l2_ctrl_get_name(u32 id)
case V4L2_CID_ILLUMINATORS_2: return "Illuminator 2"; case V4L2_CID_ILLUMINATORS_2: return "Illuminator 2";
case V4L2_CID_MIN_BUFFERS_FOR_CAPTURE: return "Minimum Number of Capture Buffers"; case V4L2_CID_MIN_BUFFERS_FOR_CAPTURE: return "Minimum Number of Capture Buffers";
case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT: return "Minimum Number of Output Buffers"; case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT: return "Minimum Number of Output Buffers";
case V4L2_CID_ALPHA_COMPONENT: return "Alpha Component";
/* MPEG controls */ /* MPEG controls */
/* Keep the order of the 'case's the same as in videodev2.h! */ /* Keep the order of the 'case's the same as in videodev2.h! */
......
...@@ -1204,10 +1204,10 @@ enum v4l2_colorfx { ...@@ -1204,10 +1204,10 @@ enum v4l2_colorfx {
#define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39) #define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39)
#define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40) #define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40)
/* last CID + 1 */ #define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41)
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+41)
/* Minimum number of buffer neede by the device */ /* last CID + 1 */
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+42)
/* MPEG-class control IDs defined by V4L2 */ /* MPEG-class control IDs defined by V4L2 */
#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment