mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
media: rockchip: rga: use macros for testing buffer type
Use the provided V4L2_TYPE_IS_{OUTPUT,CAPTURE} macros to check if the
buffer or queue is OUTPUT or CAPTURE. The macros work also work for the
_MPLANE buffer and queue types and make it easier to switch to the
multi-planar API.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
4e4dd24e30
commit
2addee7aef
|
|
@ -344,14 +344,11 @@ static struct rga_frame def_frame = {
|
|||
|
||||
struct rga_frame *rga_get_frame(struct rga_ctx *ctx, enum v4l2_buf_type type)
|
||||
{
|
||||
switch (type) {
|
||||
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
|
||||
if (V4L2_TYPE_IS_OUTPUT(type))
|
||||
return &ctx->in;
|
||||
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
|
||||
if (V4L2_TYPE_IS_CAPTURE(type))
|
||||
return &ctx->out;
|
||||
default:
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
static int rga_open(struct file *file)
|
||||
|
|
@ -559,21 +556,21 @@ static int vidioc_g_selection(struct file *file, void *prv,
|
|||
switch (s->target) {
|
||||
case V4L2_SEL_TGT_COMPOSE_DEFAULT:
|
||||
case V4L2_SEL_TGT_COMPOSE_BOUNDS:
|
||||
if (s->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
||||
if (!V4L2_TYPE_IS_CAPTURE(s->type))
|
||||
return -EINVAL;
|
||||
break;
|
||||
case V4L2_SEL_TGT_CROP_DEFAULT:
|
||||
case V4L2_SEL_TGT_CROP_BOUNDS:
|
||||
if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
|
||||
if (!V4L2_TYPE_IS_OUTPUT(s->type))
|
||||
return -EINVAL;
|
||||
break;
|
||||
case V4L2_SEL_TGT_COMPOSE:
|
||||
if (s->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
||||
if (!V4L2_TYPE_IS_CAPTURE(s->type))
|
||||
return -EINVAL;
|
||||
use_frame = true;
|
||||
break;
|
||||
case V4L2_SEL_TGT_CROP:
|
||||
if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
|
||||
if (!V4L2_TYPE_IS_OUTPUT(s->type))
|
||||
return -EINVAL;
|
||||
use_frame = true;
|
||||
break;
|
||||
|
|
@ -611,7 +608,7 @@ static int vidioc_s_selection(struct file *file, void *prv,
|
|||
* COMPOSE target is only valid for capture buffer type, return
|
||||
* error for output buffer type
|
||||
*/
|
||||
if (s->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
||||
if (!V4L2_TYPE_IS_CAPTURE(s->type))
|
||||
return -EINVAL;
|
||||
break;
|
||||
case V4L2_SEL_TGT_CROP:
|
||||
|
|
@ -619,7 +616,7 @@ static int vidioc_s_selection(struct file *file, void *prv,
|
|||
* CROP target is only valid for output buffer type, return
|
||||
* error for capture buffer type
|
||||
*/
|
||||
if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
|
||||
if (!V4L2_TYPE_IS_OUTPUT(s->type))
|
||||
return -EINVAL;
|
||||
break;
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user