v4l2codecs: udpate videodev2.h

Update videodev2.h to be aligned with kernel version v6.10

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>
This commit is contained in:
Benjamin Gaignard 2024-05-07 10:48:05 +02:00 committed by GStreamer Marge Bot
parent 22e5e57d44
commit c25c4355b1

View file

@ -777,6 +777,7 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_QC08C v4l2_fourcc('Q', '0', '8', 'C') /* Qualcomm 8-bit compressed */ #define V4L2_PIX_FMT_QC08C v4l2_fourcc('Q', '0', '8', 'C') /* Qualcomm 8-bit compressed */
#define V4L2_PIX_FMT_QC10C v4l2_fourcc('Q', '1', '0', 'C') /* Qualcomm 10-bit compressed */ #define V4L2_PIX_FMT_QC10C v4l2_fourcc('Q', '1', '0', 'C') /* Qualcomm 10-bit compressed */
#define V4L2_PIX_FMT_AJPG v4l2_fourcc('A', 'J', 'P', 'G') /* Aspeed JPEG */ #define V4L2_PIX_FMT_AJPG v4l2_fourcc('A', 'J', 'P', 'G') /* Aspeed JPEG */
#define V4L2_PIX_FMT_HEXTILE v4l2_fourcc('H', 'X', 'T', 'L') /* Hextile compressed */
/* 10bit raw packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */ /* 10bit raw packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */
#define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */ #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */
@ -990,18 +991,20 @@ struct v4l2_requestbuffers {
#define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4) #define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4)
#define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5) #define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5)
#define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6)
#define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7)
#define V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS (1 << 8)
/** /**
* struct v4l2_plane - plane info for multi-planar buffers * struct v4l2_plane - plane info for multi-planar buffers
* @bytesused: number of bytes occupied by data in the plane (payload) * @bytesused: number of bytes occupied by data in the plane (payload)
* @length: size of this plane (NOT the payload) in bytes * @length: size of this plane (NOT the payload) in bytes
* @mem_offset: when memory in the associated struct v4l2_buffer is * @m.mem_offset: when memory in the associated struct v4l2_buffer is
* V4L2_MEMORY_MMAP, equals the offset from the start of * V4L2_MEMORY_MMAP, equals the offset from the start of
* the device memory for this plane (or is a "cookie" that * the device memory for this plane (or is a "cookie" that
* should be passed to mmap() called on the video node) * should be passed to mmap() called on the video node)
* @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer * @m.userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer
* pointing to this plane * pointing to this plane
* @fd: when memory is V4L2_MEMORY_DMABUF, a userspace file * @m.fd: when memory is V4L2_MEMORY_DMABUF, a userspace file
* descriptor associated with this plane * descriptor associated with this plane
* @m: union of @mem_offset, @userptr and @fd * @m: union of @mem_offset, @userptr and @fd
* @data_offset: offset in the plane to the start of data; usually 0, * @data_offset: offset in the plane to the start of data; usually 0,
@ -1039,14 +1042,14 @@ struct v4l2_plane {
* @sequence: sequence count of this frame * @sequence: sequence count of this frame
* @memory: enum v4l2_memory; the method, in which the actual video data is * @memory: enum v4l2_memory; the method, in which the actual video data is
* passed * passed
* @offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP; * @m.offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP;
* offset from the start of the device memory for this plane, * offset from the start of the device memory for this plane,
* (or a "cookie" that should be passed to mmap() as offset) * (or a "cookie" that should be passed to mmap() as offset)
* @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR; * @m.userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR;
* a userspace pointer pointing to this buffer * a userspace pointer pointing to this buffer
* @fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF; * @m.fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF;
* a userspace file descriptor associated with this buffer * a userspace file descriptor associated with this buffer
* @planes: for multiplanar buffers; userspace pointer to the array of plane * @m.planes: for multiplanar buffers; userspace pointer to the array of plane
* info structs for this buffer * info structs for this buffer
* @m: union of @offset, @userptr, @planes and @fd * @m: union of @offset, @userptr, @planes and @fd
* @length: size in bytes of the buffer (NOT its payload) for single-plane * @length: size in bytes of the buffer (NOT its payload) for single-plane
@ -1784,6 +1787,8 @@ struct v4l2_ext_control {
struct v4l2_ctrl_av1_tile_group_entry *p_av1_tile_group_entry; struct v4l2_ctrl_av1_tile_group_entry *p_av1_tile_group_entry;
struct v4l2_ctrl_av1_frame *p_av1_frame; struct v4l2_ctrl_av1_frame *p_av1_frame;
struct v4l2_ctrl_av1_film_grain *p_av1_film_grain; struct v4l2_ctrl_av1_film_grain *p_av1_film_grain;
struct v4l2_ctrl_hdr10_cll_info *p_hdr10_cll_info;
struct v4l2_ctrl_hdr10_mastering_display *p_hdr10_mastering_display;
void *ptr; void *ptr;
}; };
} __attribute__ ((packed)); } __attribute__ ((packed));
@ -2363,15 +2368,15 @@ struct v4l2_meta_format {
/** /**
* struct v4l2_format - stream data format * struct v4l2_format - stream data format
* @type: enum v4l2_buf_type; type of the data stream * @type: enum v4l2_buf_type; type of the data stream
* @pix: definition of an image format * @fmt.pix: definition of an image format
* @pix_mp: definition of a multiplanar image format * @fmt.pix_mp: definition of a multiplanar image format
* @win: definition of an overlaid image * @fmt.win: definition of an overlaid image
* @vbi: raw VBI capture or output parameters * @fmt.vbi: raw VBI capture or output parameters
* @sliced: sliced VBI capture or output parameters * @fmt.sliced: sliced VBI capture or output parameters
* @raw_data: placeholder for future extensions and custom formats * @fmt.raw_data: placeholder for future extensions and custom formats
* @fmt: union of @pix, @pix_mp, @win, @vbi, @sliced, @sdr, @meta * @fmt: union of @pix, @pix_mp, @win, @vbi, @sliced, @sdr,
* and @raw_data * @meta and @raw_data
*/ */
struct v4l2_format { struct v4l2_format {
__u32 type; __u32 type;
@ -2544,6 +2549,9 @@ struct v4l2_dbg_chip_info {
* @flags: additional buffer management attributes (ignored unless the * @flags: additional buffer management attributes (ignored unless the
* queue has V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS capability * queue has V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS capability
* and configured for MMAP streaming I/O). * and configured for MMAP streaming I/O).
* @max_num_buffers: if V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS capability flag is set
* this field indicate the maximum possible number of buffers
* for this queue.
* @reserved: future extensions * @reserved: future extensions
*/ */
struct v4l2_create_buffers { struct v4l2_create_buffers {
@ -2553,7 +2561,22 @@ struct v4l2_create_buffers {
struct v4l2_format format; struct v4l2_format format;
__u32 capabilities; __u32 capabilities;
__u32 flags; __u32 flags;
__u32 reserved[6]; __u32 max_num_buffers;
__u32 reserved[5];
};
/**
* struct v4l2_remove_buffers - VIDIOC_REMOVE_BUFS argument
* @index: the first buffer to be removed
* @count: number of buffers to removed
* @type: enum v4l2_buf_type
* @reserved: future extensions
*/
struct v4l2_remove_buffers {
__u32 index;
__u32 count;
__u32 type;
__u32 reserved[13];
}; };
/* /*
@ -2655,6 +2678,8 @@ struct v4l2_create_buffers {
#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl) #define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl)
#define VIDIOC_REMOVE_BUFS _IOWR('V', 104, struct v4l2_remove_buffers)
/* Reminder: when adding new ioctls please add support for them to /* Reminder: when adding new ioctls please add support for them to
drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */ drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */