2018-09-04 01:47:36

by Guilherme Alcarde Gallo

[permalink] [raw]
Subject: [PATCH v2] media: vimc: implement basic v4l2-ctrls

Add brightness, contrast, hue and saturation controls in vimc-sensor

Signed-off-by: Guilherme Alcarde Gallo <[email protected]>
Signed-off-by: Guilherme Gallo <[email protected]>
---
drivers/media/platform/vimc/vimc-sensor.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/drivers/media/platform/vimc/vimc-sensor.c b/drivers/media/platform/vimc/vimc-sensor.c
index b2b89315e7ba..edf4c85ae63d 100644
--- a/drivers/media/platform/vimc/vimc-sensor.c
+++ b/drivers/media/platform/vimc/vimc-sensor.c
@@ -317,6 +317,18 @@ static int vimc_sen_s_ctrl(struct v4l2_ctrl *ctrl)
case V4L2_CID_VFLIP:
tpg_s_vflip(&vsen->tpg, ctrl->val);
break;
+ case V4L2_CID_BRIGHTNESS:
+ tpg_s_brightness(&vsen->tpg, ctrl->val);
+ break;
+ case V4L2_CID_CONTRAST:
+ tpg_s_contrast(&vsen->tpg, ctrl->val);
+ break;
+ case V4L2_CID_HUE:
+ tpg_s_hue(&vsen->tpg, ctrl->val);
+ break;
+ case V4L2_CID_SATURATION:
+ tpg_s_saturation(&vsen->tpg, ctrl->val);
+ break;
default:
return -EINVAL;
}
@@ -378,6 +390,14 @@ static int vimc_sen_comp_bind(struct device *comp, struct device *master,
V4L2_CID_VFLIP, 0, 1, 1, 0);
v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
V4L2_CID_HFLIP, 0, 1, 1, 0);
+ v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
+ V4L2_CID_BRIGHTNESS, 0, 255, 1, 128);
+ v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
+ V4L2_CID_CONTRAST, 0, 255, 1, 128);
+ v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
+ V4L2_CID_HUE, -128, 127, 1, 0);
+ v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
+ V4L2_CID_SATURATION, 0, 255, 1, 128);
vsen->sd.ctrl_handler = &vsen->hdl;
if (vsen->hdl.error) {
ret = vsen->hdl.error;
--
2.13.6

Changes in v2:
- Added brightness, hue and saturation controls.
- Fixed the standard values for hue control.


2018-09-04 06:41:56

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH v2] media: vimc: implement basic v4l2-ctrls

Hi Guilherme,

On 09/04/2018 03:45 AM, Guilherme Gallo wrote:
> Add brightness, contrast, hue and saturation controls in vimc-sensor
>
> Signed-off-by: Guilherme Alcarde Gallo <[email protected]>
> Signed-off-by: Guilherme Gallo <[email protected]>

Looks good, but you have (probably unintended) two Signed-off-by lines.
Just let me know which one I should use and I'll drop the other one.

Regards,

Hans

> ---
> drivers/media/platform/vimc/vimc-sensor.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/drivers/media/platform/vimc/vimc-sensor.c b/drivers/media/platform/vimc/vimc-sensor.c
> index b2b89315e7ba..edf4c85ae63d 100644
> --- a/drivers/media/platform/vimc/vimc-sensor.c
> +++ b/drivers/media/platform/vimc/vimc-sensor.c
> @@ -317,6 +317,18 @@ static int vimc_sen_s_ctrl(struct v4l2_ctrl *ctrl)
> case V4L2_CID_VFLIP:
> tpg_s_vflip(&vsen->tpg, ctrl->val);
> break;
> + case V4L2_CID_BRIGHTNESS:
> + tpg_s_brightness(&vsen->tpg, ctrl->val);
> + break;
> + case V4L2_CID_CONTRAST:
> + tpg_s_contrast(&vsen->tpg, ctrl->val);
> + break;
> + case V4L2_CID_HUE:
> + tpg_s_hue(&vsen->tpg, ctrl->val);
> + break;
> + case V4L2_CID_SATURATION:
> + tpg_s_saturation(&vsen->tpg, ctrl->val);
> + break;
> default:
> return -EINVAL;
> }
> @@ -378,6 +390,14 @@ static int vimc_sen_comp_bind(struct device *comp, struct device *master,
> V4L2_CID_VFLIP, 0, 1, 1, 0);
> v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
> V4L2_CID_HFLIP, 0, 1, 1, 0);
> + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
> + V4L2_CID_BRIGHTNESS, 0, 255, 1, 128);
> + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
> + V4L2_CID_CONTRAST, 0, 255, 1, 128);
> + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
> + V4L2_CID_HUE, -128, 127, 1, 0);
> + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops,
> + V4L2_CID_SATURATION, 0, 255, 1, 128);
> vsen->sd.ctrl_handler = &vsen->hdl;
> if (vsen->hdl.error) {
> ret = vsen->hdl.error;
>


2018-09-04 22:56:47

by Guilherme Alcarde Gallo

[permalink] [raw]
Subject: Re: [PATCH v2] media: vimc: implement basic v4l2-ctrls

On Tue, Sep 4, 2018 at 3:40 AM Hans Verkuil <[email protected]> wrote:
>
> Hi Guilherme,
Hi Hans.

>
> On 09/04/2018 03:45 AM, Guilherme Gallo wrote:
> > Add brightness, contrast, hue and saturation controls in vimc-sensor
> >
> > Signed-off-by: Guilherme Alcarde Gallo <[email protected]>
> > Signed-off-by: Guilherme Gallo <[email protected]>
>
> Looks good, but you have (probably unintended) two Signed-off-by lines.
> Just let me know which one I should use and I'll drop the other one.

Yeah, it was unintended. Sorry for that.

Please pick this one:
Signed-off-by: Guilherme Alcarde Gallo <[email protected]>

Thanks for pointing that.
Guilherme