media: v4l2-ctrls: Add RGB color effects control
Add V4L2_COLORFX_SET_RGB color effects control, V4L2_CID_COLORFX_RGB for RGB color setting. with two mirror changes: - change 0xFFFFFF to 0xffffff - fix comments 2^24 to 2^24 - 1 [hverkuil: dropped spaces around + with V4L2_CID_BASE for consistency] Signed-off-by: Dillon Min <dillon.minfei@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
Родитель
ee4a929e0e
Коммит
ef9f18a9e3
|
@ -242,8 +242,17 @@ Control IDs
|
|||
* - ``V4L2_COLORFX_SET_CBCR``
|
||||
- The Cb and Cr chroma components are replaced by fixed coefficients
|
||||
determined by ``V4L2_CID_COLORFX_CBCR`` control.
|
||||
* - ``V4L2_COLORFX_SET_RGB``
|
||||
- The RGB components are replaced by the fixed RGB components determined
|
||||
by ``V4L2_CID_COLORFX_RGB`` control.
|
||||
|
||||
|
||||
``V4L2_CID_COLORFX_RGB`` ``(integer)``
|
||||
Determines the Red, Green, and Blue coefficients for
|
||||
``V4L2_COLORFX_SET_RGB`` color effect.
|
||||
Bits [7:0] of the supplied 32 bit value are interpreted as Blue component,
|
||||
bits [15:8] as Green component, bits [23:16] as Red component, and
|
||||
bits [31:24] must be zero.
|
||||
|
||||
``V4L2_CID_COLORFX_CBCR`` ``(integer)``
|
||||
Determines the Cb and Cr coefficients for ``V4L2_COLORFX_SET_CBCR``
|
||||
|
|
|
@ -785,6 +785,7 @@ const char *v4l2_ctrl_get_name(u32 id)
|
|||
case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT: return "Min Number of Output Buffers";
|
||||
case V4L2_CID_ALPHA_COMPONENT: return "Alpha Component";
|
||||
case V4L2_CID_COLORFX_CBCR: return "Color Effects, CbCr";
|
||||
case V4L2_CID_COLORFX_RGB: return "Color Effects, RGB";
|
||||
|
||||
/*
|
||||
* Codec controls
|
||||
|
@ -1394,11 +1395,12 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
|
|||
*min = *max = *step = *def = 0;
|
||||
break;
|
||||
case V4L2_CID_BG_COLOR:
|
||||
case V4L2_CID_COLORFX_RGB:
|
||||
*type = V4L2_CTRL_TYPE_INTEGER;
|
||||
*step = 1;
|
||||
*min = 0;
|
||||
/* Max is calculated as RGB888 that is 2^24 */
|
||||
*max = 0xFFFFFF;
|
||||
/* Max is calculated as RGB888 that is 2^24 - 1 */
|
||||
*max = 0xffffff;
|
||||
break;
|
||||
case V4L2_CID_COLORFX_CBCR:
|
||||
*type = V4L2_CTRL_TYPE_INTEGER;
|
||||
|
|
|
@ -128,6 +128,7 @@ enum v4l2_colorfx {
|
|||
V4L2_COLORFX_SOLARIZATION = 13,
|
||||
V4L2_COLORFX_ANTIQUE = 14,
|
||||
V4L2_COLORFX_SET_CBCR = 15,
|
||||
V4L2_COLORFX_SET_RGB = 16,
|
||||
};
|
||||
#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
|
||||
#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
|
||||
|
@ -145,9 +146,10 @@ enum v4l2_colorfx {
|
|||
|
||||
#define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41)
|
||||
#define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42)
|
||||
#define V4L2_CID_COLORFX_RGB (V4L2_CID_BASE+43)
|
||||
|
||||
/* last CID + 1 */
|
||||
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43)
|
||||
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+44)
|
||||
|
||||
/* USER-class private control IDs */
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче