diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2018-11-09 04:16:21 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-01-07 13:20:54 -0500 |
commit | d998e03e322fc497454f584adfc35743713a44c5 (patch) | |
tree | 2ec9c3d153cb7fac261748711b8b82d27f940363 /drivers/staging/media/sunxi/cedrus/cedrus.h | |
parent | 245ede423b43a6e081e94e0e5d4e895bd1f31228 (diff) |
media: cedrus: identify buffers by timestamp
Use the new v4l2_m2m_buf_copy_data helper function and use
timestamps to refer to reference frames instead of using
buffer indices.
Also remove the padding fields in the structs, that's a bad
idea. Just use the right types to keep everything aligned.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Tested-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/staging/media/sunxi/cedrus/cedrus.h')
-rw-r--r-- | drivers/staging/media/sunxi/cedrus/cedrus.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.h b/drivers/staging/media/sunxi/cedrus/cedrus.h index 3acfdcf83691..4aedd24a9848 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus.h +++ b/drivers/staging/media/sunxi/cedrus/cedrus.h @@ -140,11 +140,14 @@ static inline dma_addr_t cedrus_buf_addr(struct vb2_buffer *buf, } static inline dma_addr_t cedrus_dst_buf_addr(struct cedrus_ctx *ctx, - unsigned int index, - unsigned int plane) + int index, unsigned int plane) { - struct vb2_buffer *buf = ctx->dst_bufs[index]; + struct vb2_buffer *buf; + if (index < 0) + return 0; + + buf = ctx->dst_bufs[index]; return buf ? cedrus_buf_addr(buf, &ctx->dst_fmt, plane) : 0; } |