media: ti-vpe: cal: add mbus_code support to cal_mc_enum_fmt_vid_cap
Commit e5b6b07a1b45 ("media: v4l2: Extend VIDIOC_ENUM_FMT to support MC-centric devices") added support to enumerate formats based on mbus-code. Add this feature to cal driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.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:
parent
d3409a6573
commit
7f9f812321
@ -437,13 +437,28 @@ static const struct v4l2_ioctl_ops cal_ioctl_video_ops = {
|
|||||||
static int cal_mc_enum_fmt_vid_cap(struct file *file, void *priv,
|
static int cal_mc_enum_fmt_vid_cap(struct file *file, void *priv,
|
||||||
struct v4l2_fmtdesc *f)
|
struct v4l2_fmtdesc *f)
|
||||||
{
|
{
|
||||||
|
unsigned int i;
|
||||||
|
unsigned int idx;
|
||||||
|
|
||||||
if (f->index >= cal_num_formats)
|
if (f->index >= cal_num_formats)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
f->pixelformat = cal_formats[f->index].fourcc;
|
idx = 0;
|
||||||
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
||||||
|
|
||||||
return 0;
|
for (i = 0; i < cal_num_formats; ++i) {
|
||||||
|
if (f->mbus_code && cal_formats[i].code != f->mbus_code)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (idx == f->index) {
|
||||||
|
f->pixelformat = cal_formats[i].fourcc;
|
||||||
|
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
idx++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cal_mc_try_fmt(struct cal_ctx *ctx, struct v4l2_format *f,
|
static void cal_mc_try_fmt(struct cal_ctx *ctx, struct v4l2_format *f,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user