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``
|
* - ``V4L2_COLORFX_SET_CBCR``
|
||||||
- The Cb and Cr chroma components are replaced by fixed coefficients
|
- The Cb and Cr chroma components are replaced by fixed coefficients
|
||||||
determined by ``V4L2_CID_COLORFX_CBCR`` control.
|
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)``
|
``V4L2_CID_COLORFX_CBCR`` ``(integer)``
|
||||||
Determines the Cb and Cr coefficients for ``V4L2_COLORFX_SET_CBCR``
|
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_MIN_BUFFERS_FOR_OUTPUT: return "Min Number of Output Buffers";
|
||||||
case V4L2_CID_ALPHA_COMPONENT: return "Alpha Component";
|
case V4L2_CID_ALPHA_COMPONENT: return "Alpha Component";
|
||||||
case V4L2_CID_COLORFX_CBCR: return "Color Effects, CbCr";
|
case V4L2_CID_COLORFX_CBCR: return "Color Effects, CbCr";
|
||||||
|
case V4L2_CID_COLORFX_RGB: return "Color Effects, RGB";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Codec controls
|
* 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;
|
*min = *max = *step = *def = 0;
|
||||||
break;
|
break;
|
||||||
case V4L2_CID_BG_COLOR:
|
case V4L2_CID_BG_COLOR:
|
||||||
|
case V4L2_CID_COLORFX_RGB:
|
||||||
*type = V4L2_CTRL_TYPE_INTEGER;
|
*type = V4L2_CTRL_TYPE_INTEGER;
|
||||||
*step = 1;
|
*step = 1;
|
||||||
*min = 0;
|
*min = 0;
|
||||||
/* Max is calculated as RGB888 that is 2^24 */
|
/* Max is calculated as RGB888 that is 2^24 - 1 */
|
||||||
*max = 0xFFFFFF;
|
*max = 0xffffff;
|
||||||
break;
|
break;
|
||||||
case V4L2_CID_COLORFX_CBCR:
|
case V4L2_CID_COLORFX_CBCR:
|
||||||
*type = V4L2_CTRL_TYPE_INTEGER;
|
*type = V4L2_CTRL_TYPE_INTEGER;
|
||||||
|
|
|
@ -128,6 +128,7 @@ enum v4l2_colorfx {
|
||||||
V4L2_COLORFX_SOLARIZATION = 13,
|
V4L2_COLORFX_SOLARIZATION = 13,
|
||||||
V4L2_COLORFX_ANTIQUE = 14,
|
V4L2_COLORFX_ANTIQUE = 14,
|
||||||
V4L2_COLORFX_SET_CBCR = 15,
|
V4L2_COLORFX_SET_CBCR = 15,
|
||||||
|
V4L2_COLORFX_SET_RGB = 16,
|
||||||
};
|
};
|
||||||
#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
|
#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
|
||||||
#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
|
#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_ALPHA_COMPONENT (V4L2_CID_BASE+41)
|
||||||
#define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42)
|
#define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42)
|
||||||
|
#define V4L2_CID_COLORFX_RGB (V4L2_CID_BASE+43)
|
||||||
|
|
||||||
/* last CID + 1 */
|
/* last CID + 1 */
|
||||||
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43)
|
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+44)
|
||||||
|
|
||||||
/* USER-class private control IDs */
|
/* USER-class private control IDs */
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче