[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: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
b4d48c942c
commit
cc1d327232
@ -2379,6 +2379,17 @@ that used it. It was originally scheduled for removal in 2.6.35.
|
||||
</orderedlist>
|
||||
</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">
|
||||
<title>Relation of V4L2 to other Linux multimedia APIs</title>
|
||||
|
||||
|
@ -323,12 +323,6 @@ minimum value disables backlight compensation.</entry>
|
||||
<entry>Switch on or off the illuminator 1 or 2 of the device
|
||||
(usually a microscope).</entry>
|
||||
</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>
|
||||
<entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry>
|
||||
<entry>integer</entry>
|
||||
@ -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
|
||||
to work.</entry>
|
||||
</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>
|
||||
<entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry>
|
||||
<entry></entry>
|
||||
|
@ -428,8 +428,11 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
|
||||
<para>Bit 7 is the most significant bit. The value of a = alpha
|
||||
bits is undefined when reading from the driver, ignored when writing
|
||||
to the driver, except when alpha blending has been negotiated for a
|
||||
<link linkend="overlay">Video Overlay</link> or <link
|
||||
linkend="osd">Video Output Overlay</link>.</para>
|
||||
<link linkend="overlay">Video Overlay</link> or <link linkend="osd">
|
||||
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>
|
||||
<title><constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel
|
||||
|
@ -467,6 +467,7 @@ const char *v4l2_ctrl_get_name(u32 id)
|
||||
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_OUTPUT: return "Minimum Number of Output Buffers";
|
||||
case V4L2_CID_ALPHA_COMPONENT: return "Alpha Component";
|
||||
|
||||
/* MPEG controls */
|
||||
/* Keep the order of the 'case's the same as in videodev2.h! */
|
||||
|
@ -1204,10 +1204,10 @@ enum v4l2_colorfx {
|
||||
#define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39)
|
||||
#define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40)
|
||||
|
||||
/* last CID + 1 */
|
||||
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+41)
|
||||
#define V4L2_CID_ALPHA_COMPONENT (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 */
|
||||
#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
|
||||
|
Loading…
Reference in New Issue
Block a user