aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorHans Verkuil <hansverk@cisco.com>2018-08-23 09:56:22 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-09-11 09:49:15 -0400
commitf35f5d72e70e6b91389eb98fcabf43b79f40587f (patch)
treef8967eac3773ebcab97e8ccb6e7703bf46ef0177 /include/uapi/linux
parentdc58a553ba8c4edd26c4f585bbbc16ab2f0ec35f (diff)
media: videodev2.h: add new capabilities for buffer types
VIDIOC_REQBUFS and VIDIOC_CREATE_BUFFERS will return capabilities telling userspace what the given buffer type is capable of. Signed-off-by: Hans Verkuil <hansverk@cisco.com> Reviewed-by: Tomasz Figa <tfiga@chromium.org> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/videodev2.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 2350151ce4ea..55d45a387dd2 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -856,9 +856,16 @@ struct v4l2_requestbuffers {
856 __u32 count; 856 __u32 count;
857 __u32 type; /* enum v4l2_buf_type */ 857 __u32 type; /* enum v4l2_buf_type */
858 __u32 memory; /* enum v4l2_memory */ 858 __u32 memory; /* enum v4l2_memory */
859 __u32 reserved[2]; 859 __u32 capabilities;
860 __u32 reserved[1];
860}; 861};
861 862
863/* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */
864#define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0)
865#define V4L2_BUF_CAP_SUPPORTS_USERPTR (1 << 1)
866#define V4L2_BUF_CAP_SUPPORTS_DMABUF (1 << 2)
867#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3)
868
862/** 869/**
863 * struct v4l2_plane - plane info for multi-planar buffers 870 * struct v4l2_plane - plane info for multi-planar buffers
864 * @bytesused: number of bytes occupied by data in the plane (payload) 871 * @bytesused: number of bytes occupied by data in the plane (payload)
@@ -2319,6 +2326,7 @@ struct v4l2_dbg_chip_info {
2319 * return: number of created buffers 2326 * return: number of created buffers
2320 * @memory: enum v4l2_memory; buffer memory type 2327 * @memory: enum v4l2_memory; buffer memory type
2321 * @format: frame format, for which buffers are requested 2328 * @format: frame format, for which buffers are requested
2329 * @capabilities: capabilities of this buffer type.
2322 * @reserved: future extensions 2330 * @reserved: future extensions
2323 */ 2331 */
2324struct v4l2_create_buffers { 2332struct v4l2_create_buffers {
@@ -2326,7 +2334,8 @@ struct v4l2_create_buffers {
2326 __u32 count; 2334 __u32 count;
2327 __u32 memory; 2335 __u32 memory;
2328 struct v4l2_format format; 2336 struct v4l2_format format;
2329 __u32 reserved[8]; 2337 __u32 capabilities;
2338 __u32 reserved[7];
2330}; 2339};
2331 2340
2332/* 2341/*