media: vimc: implement basic v4l2-ctrls
PATCH v2 1/1 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(+)
drivers/media/platform/vimc/vimc-sensor.c +20 -0
@@ -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;
Signature · 5 lines
2.13.6 Changes in v2: - Added brightness, hue and saturation controls. - Fixed the standard values for hue control.
Hi Guilherme,
Quoted 4 lines · Guilherme Gallo
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
Quoted 43 lines
--- drivers/media/platform/vimc/vimc-sensor.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)drivers/media/platform/vimc/vimc-sensor.c +20
-0@@ -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;
Quoted 2 lines · Hans Verkuil
Hi Guilherme,
Hi Hans.
Quoted 9 lines · Guilherme Gallo
Quoted 4 lines
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