[media] v4l2-mem2mem: add support for prepare_buf
This was never added for some reason, so add it now. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Родитель
f00245c2e8
Коммит
e68cf471e7
|
@ -426,6 +426,25 @@ int v4l2_m2m_dqbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_dqbuf);
|
||||
|
||||
/**
|
||||
* v4l2_m2m_prepare_buf() - prepare a source or destination buffer, depending on
|
||||
* the type
|
||||
*/
|
||||
int v4l2_m2m_prepare_buf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
struct v4l2_buffer *buf)
|
||||
{
|
||||
struct vb2_queue *vq;
|
||||
int ret;
|
||||
|
||||
vq = v4l2_m2m_get_vq(m2m_ctx, buf->type);
|
||||
ret = vb2_prepare_buf(vq, buf);
|
||||
if (!ret)
|
||||
v4l2_m2m_try_schedule(m2m_ctx);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_prepare_buf);
|
||||
|
||||
/**
|
||||
* v4l2_m2m_create_bufs() - create a source or destination buffer, depending
|
||||
* on the type
|
||||
|
@ -811,6 +830,15 @@ int v4l2_m2m_ioctl_dqbuf(struct file *file, void *priv,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_dqbuf);
|
||||
|
||||
int v4l2_m2m_ioctl_prepare_buf(struct file *file, void *priv,
|
||||
struct v4l2_buffer *buf)
|
||||
{
|
||||
struct v4l2_fh *fh = file->private_data;
|
||||
|
||||
return v4l2_m2m_prepare_buf(file, fh->m2m_ctx, buf);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_prepare_buf);
|
||||
|
||||
int v4l2_m2m_ioctl_expbuf(struct file *file, void *priv,
|
||||
struct v4l2_exportbuffer *eb)
|
||||
{
|
||||
|
|
|
@ -116,6 +116,8 @@ int v4l2_m2m_qbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
|||
struct v4l2_buffer *buf);
|
||||
int v4l2_m2m_dqbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
struct v4l2_buffer *buf);
|
||||
int v4l2_m2m_prepare_buf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
struct v4l2_buffer *buf);
|
||||
int v4l2_m2m_create_bufs(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
struct v4l2_create_buffers *create);
|
||||
|
||||
|
@ -248,6 +250,8 @@ int v4l2_m2m_ioctl_qbuf(struct file *file, void *fh,
|
|||
struct v4l2_buffer *buf);
|
||||
int v4l2_m2m_ioctl_dqbuf(struct file *file, void *fh,
|
||||
struct v4l2_buffer *buf);
|
||||
int v4l2_m2m_ioctl_prepare_buf(struct file *file, void *fh,
|
||||
struct v4l2_buffer *buf);
|
||||
int v4l2_m2m_ioctl_streamon(struct file *file, void *fh,
|
||||
enum v4l2_buf_type type);
|
||||
int v4l2_m2m_ioctl_streamoff(struct file *file, void *fh,
|
||||
|
|
Загрузка…
Ссылка в новой задаче