diff options
author | Ezequiel Garcia | 2019-05-28 19:02:28 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab | 2019-05-29 17:08:47 +0200 |
commit | 6d9a39cffc1e812758a8e1a7f657fe70b84dde5f (patch) | |
tree | 91e8f67b7750fe3c4f6a130821a98e403b8158f1 /drivers/staging/media/rockchip/vpu/rockchip_vpu.h | |
parent | media: rockchip/vpu: Add decoder boilerplate (diff) | |
download | kernel-qcow2-linux-6d9a39cffc1e812758a8e1a7f657fe70b84dde5f.tar.gz kernel-qcow2-linux-6d9a39cffc1e812758a8e1a7f657fe70b84dde5f.tar.xz kernel-qcow2-linux-6d9a39cffc1e812758a8e1a7f657fe70b84dde5f.zip |
media: rockchip/vpu: Add support for non-standard controls
Rework the way controls are registered by the driver,
so it can support non-standard controls, such as those
used by stateless codecs.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/staging/media/rockchip/vpu/rockchip_vpu.h')
-rw-r--r-- | drivers/staging/media/rockchip/vpu/rockchip_vpu.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/staging/media/rockchip/vpu/rockchip_vpu.h b/drivers/staging/media/rockchip/vpu/rockchip_vpu.h index 3d64f3e95c9b..ec7557a98583 100644 --- a/drivers/staging/media/rockchip/vpu/rockchip_vpu.h +++ b/drivers/staging/media/rockchip/vpu/rockchip_vpu.h @@ -34,7 +34,10 @@ struct rockchip_vpu_ctx; struct rockchip_vpu_codec_ops; -#define RK_VPU_CODEC_JPEG BIT(0) +#define RK_VPU_JPEG_ENCODER BIT(0) +#define RK_VPU_ENCODERS 0x0000ffff + +#define RK_VPU_DECODERS 0xffff0000 /** * struct rockchip_vpu_variant - information about VPU hardware variant @@ -80,6 +83,18 @@ enum rockchip_vpu_codec_mode { }; /* + * struct rockchip_vpu_ctrl - helper type to declare supported controls + * @id: V4L2 control ID (V4L2_CID_xxx) + * @codec: codec id this control belong to (RK_VPU_JPEG_ENCODER, etc.) + * @cfg: control configuration + */ +struct rockchip_vpu_ctrl { + unsigned int id; + unsigned int codec; + struct v4l2_ctrl_config cfg; +}; + +/* * struct rockchip_vpu_func - rockchip VPU functionality * * @id: processing functionality ID (can be |