Commit 94896298 authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Mauro Carvalho Chehab

V4L/DVB (12526): ov772x: do not use scaling for cropping

OV772x sensors cannot crop, they only support two fixed formats: VGA and QVGA.
We should not change the format when requested to crop, only S_FMT can do this.
Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent b897a91a
...@@ -955,23 +955,22 @@ static int ov772x_set_params(struct i2c_client *client, ...@@ -955,23 +955,22 @@ static int ov772x_set_params(struct i2c_client *client,
return ret; return ret;
} }
/* Cannot crop, just return the current geometry */
static int ov772x_set_crop(struct soc_camera_device *icd, static int ov772x_set_crop(struct soc_camera_device *icd,
struct v4l2_rect *rect) struct v4l2_rect *rect)
{ {
struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd)); struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd));
struct ov772x_priv *priv = to_ov772x(client); struct ov772x_priv *priv = to_ov772x(client);
int ret;
if (!priv->fmt) if (!priv->fmt || !priv->win)
return -EINVAL; return -EINVAL;
ret = ov772x_set_params(client, &rect->width, &rect->height,
priv->fmt->fourcc);
if (!ret) {
rect->left = 0; rect->left = 0;
rect->top = 0; rect->top = 0;
} rect->width = priv->win->width;
return ret; rect->height = priv->win->height;
return 0;
} }
static int ov772x_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *f) static int ov772x_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *f)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment