mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
v4l2: Sync headers with kernel 5.9
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/697>
This commit is contained in:
parent
078560e70a
commit
742d435511
4 changed files with 121 additions and 20 deletions
|
@ -24,6 +24,8 @@
|
|||
#ifndef __TYPES_COMPAT_H__
|
||||
#define __TYPES_COMPAT_H__
|
||||
|
||||
#define __user
|
||||
|
||||
#ifdef __linux__
|
||||
#include <linux/types.h>
|
||||
#include <asm/ioctl.h>
|
||||
|
|
|
@ -92,6 +92,7 @@ struct v4l2_edid {
|
|||
__u8 *edid;
|
||||
};
|
||||
|
||||
#ifndef __KERNEL__
|
||||
/* Backward compatibility target definitions --- to be removed. */
|
||||
#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
|
||||
#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
|
||||
|
@ -104,5 +105,6 @@ struct v4l2_edid {
|
|||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
|
||||
#endif
|
||||
|
||||
#endif /* __V4L2_COMMON__ */
|
||||
|
|
|
@ -192,6 +192,12 @@ enum v4l2_colorfx {
|
|||
* We reserve 16 controls for this driver. */
|
||||
#define V4L2_CID_USER_IMX_BASE (V4L2_CID_USER_BASE + 0x10b0)
|
||||
|
||||
/*
|
||||
* The base for the atmel isc driver controls.
|
||||
* We reserve 32 controls for this driver.
|
||||
*/
|
||||
#define V4L2_CID_USER_ATMEL_ISC_BASE (V4L2_CID_USER_BASE + 0x10c0)
|
||||
|
||||
/* MPEG-class control IDs */
|
||||
/* The MPEG controls are applicable to all codec controls
|
||||
* and the 'MPEG' part of the define is historical */
|
||||
|
@ -394,9 +400,11 @@ enum v4l2_mpeg_video_multi_slice_mode {
|
|||
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
|
||||
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,
|
||||
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES = 2,
|
||||
#ifndef __KERNEL__
|
||||
/* Kept for backwards compatibility reasons. Stupid typo... */
|
||||
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
|
||||
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
|
||||
#endif
|
||||
};
|
||||
#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222)
|
||||
#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)
|
||||
|
@ -465,6 +473,10 @@ enum v4l2_mpeg_video_h264_level {
|
|||
V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_2 = 16,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_6_0 = 17,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19,
|
||||
};
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361)
|
||||
|
@ -493,6 +505,7 @@ enum v4l2_mpeg_video_h264_profile {
|
|||
V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14,
|
||||
V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15,
|
||||
V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
|
||||
V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17,
|
||||
};
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
|
||||
|
@ -910,6 +923,13 @@ enum v4l2_auto_focus_range {
|
|||
#define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
|
||||
#define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
|
||||
|
||||
#define V4L2_CID_CAMERA_ORIENTATION (V4L2_CID_CAMERA_CLASS_BASE+34)
|
||||
#define V4L2_CAMERA_ORIENTATION_FRONT 0
|
||||
#define V4L2_CAMERA_ORIENTATION_BACK 1
|
||||
#define V4L2_CAMERA_ORIENTATION_EXTERNAL 2
|
||||
|
||||
#define V4L2_CID_CAMERA_SENSOR_ROTATION (V4L2_CID_CAMERA_CLASS_BASE+35)
|
||||
|
||||
/* FM Modulator class control IDs */
|
||||
|
||||
#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900)
|
||||
|
@ -1032,6 +1052,7 @@ enum v4l2_jpeg_chroma_subsampling {
|
|||
#define V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)
|
||||
#define V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)
|
||||
#define V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)
|
||||
#define V4L2_CID_UNIT_CELL_SIZE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 8)
|
||||
|
||||
|
||||
/* Image processing controls */
|
||||
|
|
|
@ -54,11 +54,13 @@
|
|||
* Hans Verkuil <hverkuil@xs4all.nl>
|
||||
* et al.
|
||||
*/
|
||||
#ifndef __LINUX_VIDEODEV2_H
|
||||
#define __LINUX_VIDEODEV2_H
|
||||
#ifndef _UAPI__LINUX_VIDEODEV2_H
|
||||
#define _UAPI__LINUX_VIDEODEV2_H
|
||||
|
||||
#ifndef __KERNEL__
|
||||
#include <sys/time.h>
|
||||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
#include "ext/types-compat.h"
|
||||
#include "ext/v4l2-common.h"
|
||||
|
@ -169,6 +171,8 @@ enum v4l2_buf_type {
|
|||
|| (type) == V4L2_BUF_TYPE_SDR_OUTPUT \
|
||||
|| (type) == V4L2_BUF_TYPE_META_OUTPUT)
|
||||
|
||||
#define V4L2_TYPE_IS_CAPTURE(type) (!V4L2_TYPE_IS_OUTPUT(type))
|
||||
|
||||
enum v4l2_tuner_type {
|
||||
V4L2_TUNER_RADIO = 1,
|
||||
V4L2_TUNER_ANALOG_TV = 2,
|
||||
|
@ -187,6 +191,8 @@ enum v4l2_memory {
|
|||
V4L2_MEMORY_DMABUF = 4,
|
||||
};
|
||||
|
||||
#define V4L2_FLAG_MEMORY_NON_CONSISTENT (1 << 0)
|
||||
|
||||
/* see also http://vektor.theorem.ca/graphics/ycbcr/ */
|
||||
enum v4l2_colorspace {
|
||||
/*
|
||||
|
@ -324,12 +330,14 @@ enum v4l2_ycbcr_encoding {
|
|||
/* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */
|
||||
V4L2_YCBCR_ENC_XV709 = 4,
|
||||
|
||||
#ifndef __KERNEL__
|
||||
/*
|
||||
* sYCC (Y'CbCr encoding of sRGB), identical to ENC_601. It was added
|
||||
* originally due to a misunderstanding of the sYCC standard. It should
|
||||
* not be used, instead use V4L2_YCBCR_ENC_601.
|
||||
*/
|
||||
V4L2_YCBCR_ENC_SYCC = 5,
|
||||
#endif
|
||||
|
||||
/* BT.2020 Non-constant Luminance Y'CbCr */
|
||||
V4L2_YCBCR_ENC_BT2020 = 6,
|
||||
|
@ -393,8 +401,10 @@ enum v4l2_quantization {
|
|||
* WARNING: Please don't use these deprecated defines in your code, as
|
||||
* there is a chance we have to remove them in the future.
|
||||
*/
|
||||
#ifndef __KERNEL__
|
||||
#define V4L2_COLORSPACE_ADOBERGB V4L2_COLORSPACE_OPRGB
|
||||
#define V4L2_XFER_FUNC_ADOBERGB V4L2_XFER_FUNC_OPRGB
|
||||
#endif
|
||||
|
||||
enum v4l2_priority {
|
||||
V4L2_PRIORITY_UNSET = 0, /* not initialized */
|
||||
|
@ -416,6 +426,11 @@ struct v4l2_fract {
|
|||
__u32 denominator;
|
||||
};
|
||||
|
||||
struct v4l2_area {
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct v4l2_capability - Describes V4L2 device caps returned by VIDIOC_QUERYCAP
|
||||
*
|
||||
|
@ -476,6 +491,8 @@ struct v4l2_capability {
|
|||
|
||||
#define V4L2_CAP_TOUCH 0x10000000 /* Is a touch device */
|
||||
|
||||
#define V4L2_CAP_IO_MC 0x20000000 /* Is input/output controlled by the media controller */
|
||||
|
||||
#define V4L2_CAP_DEVICE_CAPS 0x80000000 /* sets device capabilities field */
|
||||
|
||||
/*
|
||||
|
@ -554,6 +571,7 @@ struct v4l2_pix_format {
|
|||
#define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */
|
||||
#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
|
||||
#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */
|
||||
#define V4L2_PIX_FMT_Y14 v4l2_fourcc('Y', '1', '4', ' ') /* 14 Greyscale */
|
||||
#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
|
||||
#define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') /* 16 Greyscale BE */
|
||||
|
||||
|
@ -651,6 +669,10 @@ struct v4l2_pix_format {
|
|||
#define V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C')
|
||||
#define V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C')
|
||||
#define V4L2_PIX_FMT_SRGGB12P v4l2_fourcc('p', 'R', 'C', 'C')
|
||||
#define V4L2_PIX_FMT_SBGGR14 v4l2_fourcc('B', 'G', '1', '4') /* 14 BGBG.. GRGR.. */
|
||||
#define V4L2_PIX_FMT_SGBRG14 v4l2_fourcc('G', 'B', '1', '4') /* 14 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG14 v4l2_fourcc('G', 'R', '1', '4') /* 14 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB14 v4l2_fourcc('R', 'G', '1', '4') /* 14 RGRG.. GBGB.. */
|
||||
/* 14bit raw bayer packed, 7 bytes for every 4 pixels */
|
||||
#define V4L2_PIX_FMT_SBGGR14P v4l2_fourcc('p', 'B', 'E', 'E')
|
||||
#define V4L2_PIX_FMT_SGBRG14P v4l2_fourcc('p', 'G', 'E', 'E')
|
||||
|
@ -749,6 +771,7 @@ struct v4l2_pix_format {
|
|||
#define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T') /* R-Car VSP1 2-D Histogram */
|
||||
#define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H') /* UVC Payload Header metadata */
|
||||
#define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */
|
||||
#define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */
|
||||
|
||||
/* priv field value to indicates that subsequent fields are valid. */
|
||||
#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
|
||||
|
@ -765,13 +788,15 @@ struct v4l2_fmtdesc {
|
|||
__u32 flags;
|
||||
__u8 description[32]; /* Description string */
|
||||
__u32 pixelformat; /* Format fourcc */
|
||||
__u32 reserved[4];
|
||||
__u32 mbus_code; /* Media bus code */
|
||||
__u32 reserved[3];
|
||||
};
|
||||
|
||||
#define V4L2_FMT_FLAG_COMPRESSED 0x0001
|
||||
#define V4L2_FMT_FLAG_EMULATED 0x0002
|
||||
#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004
|
||||
#define V4L2_FMT_FLAG_DYN_RESOLUTION 0x0008
|
||||
#define V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL 0x0010
|
||||
|
||||
/* Frame Size and frame rate enumeration */
|
||||
/*
|
||||
|
@ -900,20 +925,44 @@ struct v4l2_jpegcompression {
|
|||
/*
|
||||
* M E M O R Y - M A P P I N G B U F F E R S
|
||||
*/
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/*
|
||||
* This corresponds to the user space version of timeval
|
||||
* for 64-bit time_t. sparc64 is different from everyone
|
||||
* else, using the microseconds in the wrong half of the
|
||||
* second 64-bit word.
|
||||
*/
|
||||
struct __kernel_v4l2_timeval {
|
||||
long long tv_sec;
|
||||
#if defined(__sparc__) && defined(__arch64__)
|
||||
int tv_usec;
|
||||
int __pad;
|
||||
#else
|
||||
long long tv_usec;
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
struct v4l2_requestbuffers {
|
||||
__u32 count;
|
||||
__u32 type; /* enum v4l2_buf_type */
|
||||
__u32 memory; /* enum v4l2_memory */
|
||||
__u32 capabilities;
|
||||
__u32 reserved[1];
|
||||
union {
|
||||
__u32 flags;
|
||||
__u32 reserved[1];
|
||||
};
|
||||
};
|
||||
|
||||
/* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_USERPTR (1 << 1)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_DMABUF (1 << 2)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_USERPTR (1 << 1)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_DMABUF (1 << 2)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3)
|
||||
#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_MMAP_CACHE_HINTS (1 << 6)
|
||||
|
||||
/**
|
||||
* struct v4l2_plane - plane info for multi-planar buffers
|
||||
|
@ -984,7 +1033,11 @@ struct v4l2_buffer {
|
|||
__u32 bytesused;
|
||||
__u32 flags;
|
||||
__u32 field;
|
||||
#ifdef __KERNEL__
|
||||
struct __kernel_v4l2_timeval timestamp;
|
||||
#else
|
||||
struct timeval timestamp;
|
||||
#endif
|
||||
struct v4l2_timecode timecode;
|
||||
__u32 sequence;
|
||||
|
||||
|
@ -1004,6 +1057,7 @@ struct v4l2_buffer {
|
|||
};
|
||||
};
|
||||
|
||||
#ifndef __KERNEL__
|
||||
/**
|
||||
* v4l2_timeval_to_ns - Convert timeval to nanoseconds
|
||||
* @ts: pointer to the timeval variable to be converted
|
||||
|
@ -1011,10 +1065,11 @@ struct v4l2_buffer {
|
|||
* Returns the scalar nanosecond representation of the timeval
|
||||
* parameter.
|
||||
*/
|
||||
static __inline__ __u64 v4l2_timeval_to_ns(const struct timeval *tv)
|
||||
static inline __u64 v4l2_timeval_to_ns(const struct timeval *tv)
|
||||
{
|
||||
return (__u64)tv->tv_sec * 1000000000ULL + tv->tv_usec * 1000;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Flags for 'flags' field */
|
||||
/* Buffer is mapped (flag) */
|
||||
|
@ -1035,6 +1090,8 @@ static __inline__ __u64 v4l2_timeval_to_ns(const struct timeval *tv)
|
|||
#define V4L2_BUF_FLAG_IN_REQUEST 0x00000080
|
||||
/* timecode field is valid */
|
||||
#define V4L2_BUF_FLAG_TIMECODE 0x00000100
|
||||
/* Don't return the capture buffer until OUTPUT timestamp changes */
|
||||
#define V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF 0x00000200
|
||||
/* Buffer is prepared for queuing */
|
||||
#define V4L2_BUF_FLAG_PREPARED 0x00000400
|
||||
/* Cache handling flags */
|
||||
|
@ -1121,16 +1178,16 @@ struct v4l2_framebuffer {
|
|||
|
||||
struct v4l2_clip {
|
||||
struct v4l2_rect c;
|
||||
struct v4l2_clip *next;
|
||||
struct v4l2_clip __user *next;
|
||||
};
|
||||
|
||||
struct v4l2_window {
|
||||
struct v4l2_rect w;
|
||||
__u32 field; /* enum v4l2_field */
|
||||
__u32 chromakey;
|
||||
struct v4l2_clip *clips;
|
||||
struct v4l2_clip __user *clips;
|
||||
__u32 clipcount;
|
||||
void *bitmap;
|
||||
void __user *bitmap;
|
||||
__u8 global_alpha;
|
||||
};
|
||||
|
||||
|
@ -1202,6 +1259,10 @@ struct v4l2_selection {
|
|||
|
||||
typedef __u64 v4l2_std_id;
|
||||
|
||||
/*
|
||||
* Attention: Keep the V4L2_STD_* bit definitions in sync with
|
||||
* include/dt-bindings/display/sdtv-standards.h SDTV_STD_* bit definitions.
|
||||
*/
|
||||
/* one bit for each */
|
||||
#define V4L2_STD_PAL_B ((v4l2_std_id)0x00000001)
|
||||
#define V4L2_STD_PAL_B1 ((v4l2_std_id)0x00000002)
|
||||
|
@ -1665,17 +1726,20 @@ struct v4l2_ext_control {
|
|||
union {
|
||||
__s32 value;
|
||||
__s64 value64;
|
||||
char *string;
|
||||
__u8 *p_u8;
|
||||
__u16 *p_u16;
|
||||
__u32 *p_u32;
|
||||
void *ptr;
|
||||
char __user *string;
|
||||
__u8 __user *p_u8;
|
||||
__u16 __user *p_u16;
|
||||
__u32 __user *p_u32;
|
||||
struct v4l2_area __user *p_area;
|
||||
void __user *ptr;
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct v4l2_ext_controls {
|
||||
union {
|
||||
#ifndef __KERNEL__
|
||||
__u32 ctrl_class;
|
||||
#endif
|
||||
__u32 which;
|
||||
};
|
||||
__u32 count;
|
||||
|
@ -1686,7 +1750,9 @@ struct v4l2_ext_controls {
|
|||
};
|
||||
|
||||
#define V4L2_CTRL_ID_MASK (0x0fffffff)
|
||||
#ifndef __KERNEL__
|
||||
#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
|
||||
#endif
|
||||
#define V4L2_CTRL_ID2WHICH(id) ((id) & 0x0fff0000UL)
|
||||
#define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)
|
||||
#define V4L2_CTRL_MAX_DIMS (4)
|
||||
|
@ -1710,6 +1776,7 @@ enum v4l2_ctrl_type {
|
|||
V4L2_CTRL_TYPE_U8 = 0x0100,
|
||||
V4L2_CTRL_TYPE_U16 = 0x0101,
|
||||
V4L2_CTRL_TYPE_U32 = 0x0102,
|
||||
V4L2_CTRL_TYPE_AREA = 0x0106,
|
||||
};
|
||||
|
||||
/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
|
||||
|
@ -1965,6 +2032,7 @@ struct v4l2_encoder_cmd {
|
|||
#define V4L2_DEC_CMD_STOP (1)
|
||||
#define V4L2_DEC_CMD_PAUSE (2)
|
||||
#define V4L2_DEC_CMD_RESUME (3)
|
||||
#define V4L2_DEC_CMD_FLUSH (4)
|
||||
|
||||
/* Flags for V4L2_DEC_CMD_START */
|
||||
#define V4L2_DEC_CMD_START_MUTE_AUDIO (1 << 0)
|
||||
|
@ -2317,7 +2385,11 @@ struct v4l2_event {
|
|||
} u;
|
||||
__u32 pending;
|
||||
__u32 sequence;
|
||||
#ifdef __KERNEL__
|
||||
struct __kernel_timespec timestamp;
|
||||
#else
|
||||
struct timespec timestamp;
|
||||
#endif
|
||||
__u32 id;
|
||||
__u32 reserved[8];
|
||||
};
|
||||
|
@ -2384,6 +2456,9 @@ struct v4l2_dbg_chip_info {
|
|||
* @memory: enum v4l2_memory; buffer memory type
|
||||
* @format: frame format, for which buffers are requested
|
||||
* @capabilities: capabilities of this buffer type.
|
||||
* @flags: additional buffer management attributes (ignored unless the
|
||||
* queue has V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS capability
|
||||
* and configured for MMAP streaming I/O).
|
||||
* @reserved: future extensions
|
||||
*/
|
||||
struct v4l2_create_buffers {
|
||||
|
@ -2392,7 +2467,8 @@ struct v4l2_create_buffers {
|
|||
__u32 memory;
|
||||
struct v4l2_format format;
|
||||
__u32 capabilities;
|
||||
__u32 reserved[7];
|
||||
__u32 flags;
|
||||
__u32 reserved[6];
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -2500,4 +2576,4 @@ struct v4l2_create_buffers {
|
|||
|
||||
#define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */
|
||||
|
||||
#endif /* __LINUX_VIDEODEV2_H */
|
||||
#endif /* _UAPI__LINUX_VIDEODEV2_H */
|
||||
|
|
Loading…
Reference in a new issue