mirror of https://gitee.com/openkylin/linux.git
[media] vim2m: add create_bufs and prepare_buf support
Add support for the missing VIDIOC_CREATE_BUFS and VIDIOC_PREPARE_BUF ioctls. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
e68cf471e7
commit
7bcff1c242
|
@ -693,6 +693,8 @@ static const struct v4l2_ioctl_ops vim2m_ioctl_ops = {
|
|||
.vidioc_querybuf = v4l2_m2m_ioctl_querybuf,
|
||||
.vidioc_qbuf = v4l2_m2m_ioctl_qbuf,
|
||||
.vidioc_dqbuf = v4l2_m2m_ioctl_dqbuf,
|
||||
.vidioc_prepare_buf = v4l2_m2m_ioctl_prepare_buf,
|
||||
.vidioc_create_bufs = v4l2_m2m_ioctl_create_bufs,
|
||||
.vidioc_expbuf = v4l2_m2m_ioctl_expbuf,
|
||||
|
||||
.vidioc_streamon = v4l2_m2m_ioctl_streamon,
|
||||
|
@ -720,6 +722,12 @@ static int vim2m_queue_setup(struct vb2_queue *vq,
|
|||
|
||||
size = q_data->width * q_data->height * q_data->fmt->depth >> 3;
|
||||
|
||||
if (fmt) {
|
||||
if (fmt->fmt.pix.sizeimage < size)
|
||||
return -EINVAL;
|
||||
size = fmt->fmt.pix.sizeimage;
|
||||
}
|
||||
|
||||
while (size * count > MEM2MEM_VID_MEM_LIMIT)
|
||||
(count)--;
|
||||
|
||||
|
|
Loading…
Reference in New Issue