Commit 9a42a5ff authored by Niklas Söderlund's avatar Niklas Söderlund Committed by Mauro Carvalho Chehab

media: vimc: cap: Report a colorspace

The colorspace reported by a video nodes should not be
V4L2_COLORSPACE_DEFAULT. Instead a default colorspace should be picked
by the driver if V4L2_COLORSPACE_DEFAULT is given by userspace to
{G,S,TRY}_FMT.

The colorspace V4L2_COLORSPACE_SRGB is arbitrary chosen as the vimc
default format to report as it's used for most webcams.
Signed-off-by: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: default avatarHelen Koike <helen.koike@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent b7ba9f34
...@@ -37,7 +37,7 @@ static const struct v4l2_pix_format fmt_default = { ...@@ -37,7 +37,7 @@ static const struct v4l2_pix_format fmt_default = {
.height = 480, .height = 480,
.pixelformat = V4L2_PIX_FMT_RGB24, .pixelformat = V4L2_PIX_FMT_RGB24,
.field = V4L2_FIELD_NONE, .field = V4L2_FIELD_NONE,
.colorspace = V4L2_COLORSPACE_DEFAULT, .colorspace = V4L2_COLORSPACE_SRGB,
}; };
struct vimc_cap_buffer { struct vimc_cap_buffer {
...@@ -107,6 +107,9 @@ static int vimc_cap_try_fmt_vid_cap(struct file *file, void *priv, ...@@ -107,6 +107,9 @@ static int vimc_cap_try_fmt_vid_cap(struct file *file, void *priv,
vimc_colorimetry_clamp(format); vimc_colorimetry_clamp(format);
if (format->colorspace == V4L2_COLORSPACE_DEFAULT)
format->colorspace = fmt_default.colorspace;
return 0; return 0;
} }
......
...@@ -48,7 +48,7 @@ static const struct v4l2_mbus_framefmt sink_fmt_default = { ...@@ -48,7 +48,7 @@ static const struct v4l2_mbus_framefmt sink_fmt_default = {
.height = 480, .height = 480,
.code = MEDIA_BUS_FMT_SRGGB8_1X8, .code = MEDIA_BUS_FMT_SRGGB8_1X8,
.field = V4L2_FIELD_NONE, .field = V4L2_FIELD_NONE,
.colorspace = V4L2_COLORSPACE_DEFAULT, .colorspace = V4L2_COLORSPACE_SRGB,
}; };
static const struct vimc_deb_pix_map vimc_deb_pix_map_list[] = { static const struct vimc_deb_pix_map vimc_deb_pix_map_list[] = {
......
...@@ -42,7 +42,7 @@ static const struct v4l2_mbus_framefmt sink_fmt_default = { ...@@ -42,7 +42,7 @@ static const struct v4l2_mbus_framefmt sink_fmt_default = {
.height = VIMC_SCA_FMT_HEIGHT_DEFAULT, .height = VIMC_SCA_FMT_HEIGHT_DEFAULT,
.code = MEDIA_BUS_FMT_RGB888_1X24, .code = MEDIA_BUS_FMT_RGB888_1X24,
.field = V4L2_FIELD_NONE, .field = V4L2_FIELD_NONE,
.colorspace = V4L2_COLORSPACE_DEFAULT, .colorspace = V4L2_COLORSPACE_SRGB,
}; };
static const struct v4l2_rect crop_rect_default = { static const struct v4l2_rect crop_rect_default = {
......
...@@ -30,7 +30,7 @@ static const struct v4l2_mbus_framefmt fmt_default = { ...@@ -30,7 +30,7 @@ static const struct v4l2_mbus_framefmt fmt_default = {
.height = 480, .height = 480,
.code = MEDIA_BUS_FMT_RGB888_1X24, .code = MEDIA_BUS_FMT_RGB888_1X24,
.field = V4L2_FIELD_NONE, .field = V4L2_FIELD_NONE,
.colorspace = V4L2_COLORSPACE_DEFAULT, .colorspace = V4L2_COLORSPACE_SRGB,
}; };
static int vimc_sen_init_cfg(struct v4l2_subdev *sd, static int vimc_sen_init_cfg(struct v4l2_subdev *sd,
......
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