summaryrefslogtreecommitdiffstats
path: root/drivers/staging/media/rockchip/vpu/rockchip_vpu.h
diff options
context:
space:
mode:
authorEzequiel Garcia2019-05-28 19:02:28 +0200
committerMauro Carvalho Chehab2019-05-29 17:08:47 +0200
commit6d9a39cffc1e812758a8e1a7f657fe70b84dde5f (patch)
tree91e8f67b7750fe3c4f6a130821a98e403b8158f1 /drivers/staging/media/rockchip/vpu/rockchip_vpu.h
parentmedia: rockchip/vpu: Add decoder boilerplate (diff)
downloadkernel-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.h17
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