122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef _UAPI__LINUX_VIDEODEV2_H
2022851890Sopenharmony_ci#define _UAPI__LINUX_VIDEODEV2_H
2122851890Sopenharmony_ci#include <sys/time.h>
2222851890Sopenharmony_ci#include <linux/compiler.h>
2322851890Sopenharmony_ci#include <linux/ioctl.h>
2422851890Sopenharmony_ci#include <linux/types.h>
2522851890Sopenharmony_ci#include <linux/v4l2-common.h>
2622851890Sopenharmony_ci#include <linux/v4l2-controls.h>
2722851890Sopenharmony_ci#define VIDEO_MAX_FRAME 64
2822851890Sopenharmony_ci#define VIDEO_MAX_PLANES 8
2922851890Sopenharmony_ci#define v4l2_fourcc(a,b,c,d) ((__u32) (a) | ((__u32) (b) << 8) | ((__u32) (c) << 16) | ((__u32) (d) << 24))
3022851890Sopenharmony_ci#define v4l2_fourcc_be(a,b,c,d) (v4l2_fourcc(a, b, c, d) | (1U << 31))
3122851890Sopenharmony_cienum v4l2_field {
3222851890Sopenharmony_ci  V4L2_FIELD_ANY = 0,
3322851890Sopenharmony_ci  V4L2_FIELD_NONE = 1,
3422851890Sopenharmony_ci  V4L2_FIELD_TOP = 2,
3522851890Sopenharmony_ci  V4L2_FIELD_BOTTOM = 3,
3622851890Sopenharmony_ci  V4L2_FIELD_INTERLACED = 4,
3722851890Sopenharmony_ci  V4L2_FIELD_SEQ_TB = 5,
3822851890Sopenharmony_ci  V4L2_FIELD_SEQ_BT = 6,
3922851890Sopenharmony_ci  V4L2_FIELD_ALTERNATE = 7,
4022851890Sopenharmony_ci  V4L2_FIELD_INTERLACED_TB = 8,
4122851890Sopenharmony_ci  V4L2_FIELD_INTERLACED_BT = 9,
4222851890Sopenharmony_ci};
4322851890Sopenharmony_ci#define V4L2_FIELD_HAS_TOP(field) ((field) == V4L2_FIELD_TOP || (field) == V4L2_FIELD_INTERLACED || (field) == V4L2_FIELD_INTERLACED_TB || (field) == V4L2_FIELD_INTERLACED_BT || (field) == V4L2_FIELD_SEQ_TB || (field) == V4L2_FIELD_SEQ_BT)
4422851890Sopenharmony_ci#define V4L2_FIELD_HAS_BOTTOM(field) ((field) == V4L2_FIELD_BOTTOM || (field) == V4L2_FIELD_INTERLACED || (field) == V4L2_FIELD_INTERLACED_TB || (field) == V4L2_FIELD_INTERLACED_BT || (field) == V4L2_FIELD_SEQ_TB || (field) == V4L2_FIELD_SEQ_BT)
4522851890Sopenharmony_ci#define V4L2_FIELD_HAS_BOTH(field) ((field) == V4L2_FIELD_INTERLACED || (field) == V4L2_FIELD_INTERLACED_TB || (field) == V4L2_FIELD_INTERLACED_BT || (field) == V4L2_FIELD_SEQ_TB || (field) == V4L2_FIELD_SEQ_BT)
4622851890Sopenharmony_ci#define V4L2_FIELD_HAS_T_OR_B(field) ((field) == V4L2_FIELD_BOTTOM || (field) == V4L2_FIELD_TOP || (field) == V4L2_FIELD_ALTERNATE)
4722851890Sopenharmony_ci#define V4L2_FIELD_IS_INTERLACED(field) ((field) == V4L2_FIELD_INTERLACED || (field) == V4L2_FIELD_INTERLACED_TB || (field) == V4L2_FIELD_INTERLACED_BT)
4822851890Sopenharmony_ci#define V4L2_FIELD_IS_SEQUENTIAL(field) ((field) == V4L2_FIELD_SEQ_TB || (field) == V4L2_FIELD_SEQ_BT)
4922851890Sopenharmony_cienum v4l2_buf_type {
5022851890Sopenharmony_ci  V4L2_BUF_TYPE_VIDEO_CAPTURE = 1,
5122851890Sopenharmony_ci  V4L2_BUF_TYPE_VIDEO_OUTPUT = 2,
5222851890Sopenharmony_ci  V4L2_BUF_TYPE_VIDEO_OVERLAY = 3,
5322851890Sopenharmony_ci  V4L2_BUF_TYPE_VBI_CAPTURE = 4,
5422851890Sopenharmony_ci  V4L2_BUF_TYPE_VBI_OUTPUT = 5,
5522851890Sopenharmony_ci  V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6,
5622851890Sopenharmony_ci  V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7,
5722851890Sopenharmony_ci  V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8,
5822851890Sopenharmony_ci  V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9,
5922851890Sopenharmony_ci  V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10,
6022851890Sopenharmony_ci  V4L2_BUF_TYPE_SDR_CAPTURE = 11,
6122851890Sopenharmony_ci  V4L2_BUF_TYPE_SDR_OUTPUT = 12,
6222851890Sopenharmony_ci  V4L2_BUF_TYPE_META_CAPTURE = 13,
6322851890Sopenharmony_ci  V4L2_BUF_TYPE_META_OUTPUT = 14,
6422851890Sopenharmony_ci  V4L2_BUF_TYPE_PRIVATE = 0x80,
6522851890Sopenharmony_ci};
6622851890Sopenharmony_ci#define V4L2_TYPE_IS_MULTIPLANAR(type) ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
6722851890Sopenharmony_ci#define V4L2_TYPE_IS_OUTPUT(type) ((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY || (type) == V4L2_BUF_TYPE_VBI_OUTPUT || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT || (type) == V4L2_BUF_TYPE_SDR_OUTPUT || (type) == V4L2_BUF_TYPE_META_OUTPUT)
6822851890Sopenharmony_ci#define V4L2_TYPE_IS_CAPTURE(type) (! V4L2_TYPE_IS_OUTPUT(type))
6922851890Sopenharmony_cienum v4l2_tuner_type {
7022851890Sopenharmony_ci  V4L2_TUNER_RADIO = 1,
7122851890Sopenharmony_ci  V4L2_TUNER_ANALOG_TV = 2,
7222851890Sopenharmony_ci  V4L2_TUNER_DIGITAL_TV = 3,
7322851890Sopenharmony_ci  V4L2_TUNER_SDR = 4,
7422851890Sopenharmony_ci  V4L2_TUNER_RF = 5,
7522851890Sopenharmony_ci};
7622851890Sopenharmony_ci#define V4L2_TUNER_ADC V4L2_TUNER_SDR
7722851890Sopenharmony_cienum v4l2_memory {
7822851890Sopenharmony_ci  V4L2_MEMORY_MMAP = 1,
7922851890Sopenharmony_ci  V4L2_MEMORY_USERPTR = 2,
8022851890Sopenharmony_ci  V4L2_MEMORY_OVERLAY = 3,
8122851890Sopenharmony_ci  V4L2_MEMORY_DMABUF = 4,
8222851890Sopenharmony_ci};
8322851890Sopenharmony_cienum v4l2_colorspace {
8422851890Sopenharmony_ci  V4L2_COLORSPACE_DEFAULT = 0,
8522851890Sopenharmony_ci  V4L2_COLORSPACE_SMPTE170M = 1,
8622851890Sopenharmony_ci  V4L2_COLORSPACE_SMPTE240M = 2,
8722851890Sopenharmony_ci  V4L2_COLORSPACE_REC709 = 3,
8822851890Sopenharmony_ci  V4L2_COLORSPACE_BT878 = 4,
8922851890Sopenharmony_ci  V4L2_COLORSPACE_470_SYSTEM_M = 5,
9022851890Sopenharmony_ci  V4L2_COLORSPACE_470_SYSTEM_BG = 6,
9122851890Sopenharmony_ci  V4L2_COLORSPACE_JPEG = 7,
9222851890Sopenharmony_ci  V4L2_COLORSPACE_SRGB = 8,
9322851890Sopenharmony_ci  V4L2_COLORSPACE_OPRGB = 9,
9422851890Sopenharmony_ci  V4L2_COLORSPACE_BT2020 = 10,
9522851890Sopenharmony_ci  V4L2_COLORSPACE_RAW = 11,
9622851890Sopenharmony_ci  V4L2_COLORSPACE_DCI_P3 = 12,
9722851890Sopenharmony_ci};
9822851890Sopenharmony_ci#define V4L2_MAP_COLORSPACE_DEFAULT(is_sdtv,is_hdtv) ((is_sdtv) ? V4L2_COLORSPACE_SMPTE170M : ((is_hdtv) ? V4L2_COLORSPACE_REC709 : V4L2_COLORSPACE_SRGB))
9922851890Sopenharmony_cienum v4l2_xfer_func {
10022851890Sopenharmony_ci  V4L2_XFER_FUNC_DEFAULT = 0,
10122851890Sopenharmony_ci  V4L2_XFER_FUNC_709 = 1,
10222851890Sopenharmony_ci  V4L2_XFER_FUNC_SRGB = 2,
10322851890Sopenharmony_ci  V4L2_XFER_FUNC_OPRGB = 3,
10422851890Sopenharmony_ci  V4L2_XFER_FUNC_SMPTE240M = 4,
10522851890Sopenharmony_ci  V4L2_XFER_FUNC_NONE = 5,
10622851890Sopenharmony_ci  V4L2_XFER_FUNC_DCI_P3 = 6,
10722851890Sopenharmony_ci  V4L2_XFER_FUNC_SMPTE2084 = 7,
10822851890Sopenharmony_ci};
10922851890Sopenharmony_ci#define V4L2_MAP_XFER_FUNC_DEFAULT(colsp) ((colsp) == V4L2_COLORSPACE_OPRGB ? V4L2_XFER_FUNC_OPRGB : ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_XFER_FUNC_SMPTE240M : ((colsp) == V4L2_COLORSPACE_DCI_P3 ? V4L2_XFER_FUNC_DCI_P3 : ((colsp) == V4L2_COLORSPACE_RAW ? V4L2_XFER_FUNC_NONE : ((colsp) == V4L2_COLORSPACE_SRGB || (colsp) == V4L2_COLORSPACE_JPEG ? V4L2_XFER_FUNC_SRGB : V4L2_XFER_FUNC_709)))))
11022851890Sopenharmony_cienum v4l2_ycbcr_encoding {
11122851890Sopenharmony_ci  V4L2_YCBCR_ENC_DEFAULT = 0,
11222851890Sopenharmony_ci  V4L2_YCBCR_ENC_601 = 1,
11322851890Sopenharmony_ci  V4L2_YCBCR_ENC_709 = 2,
11422851890Sopenharmony_ci  V4L2_YCBCR_ENC_XV601 = 3,
11522851890Sopenharmony_ci  V4L2_YCBCR_ENC_XV709 = 4,
11622851890Sopenharmony_ci  V4L2_YCBCR_ENC_SYCC = 5,
11722851890Sopenharmony_ci  V4L2_YCBCR_ENC_BT2020 = 6,
11822851890Sopenharmony_ci  V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7,
11922851890Sopenharmony_ci  V4L2_YCBCR_ENC_SMPTE240M = 8,
12022851890Sopenharmony_ci};
12122851890Sopenharmony_cienum v4l2_hsv_encoding {
12222851890Sopenharmony_ci  V4L2_HSV_ENC_180 = 128,
12322851890Sopenharmony_ci  V4L2_HSV_ENC_256 = 129,
12422851890Sopenharmony_ci};
12522851890Sopenharmony_ci#define V4L2_MAP_YCBCR_ENC_DEFAULT(colsp) (((colsp) == V4L2_COLORSPACE_REC709 || (colsp) == V4L2_COLORSPACE_DCI_P3) ? V4L2_YCBCR_ENC_709 : ((colsp) == V4L2_COLORSPACE_BT2020 ? V4L2_YCBCR_ENC_BT2020 : ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_YCBCR_ENC_SMPTE240M : V4L2_YCBCR_ENC_601)))
12622851890Sopenharmony_cienum v4l2_quantization {
12722851890Sopenharmony_ci  V4L2_QUANTIZATION_DEFAULT = 0,
12822851890Sopenharmony_ci  V4L2_QUANTIZATION_FULL_RANGE = 1,
12922851890Sopenharmony_ci  V4L2_QUANTIZATION_LIM_RANGE = 2,
13022851890Sopenharmony_ci};
13122851890Sopenharmony_ci#define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb_or_hsv,colsp,ycbcr_enc) (((is_rgb_or_hsv) || (colsp) == V4L2_COLORSPACE_JPEG) ? V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE)
13222851890Sopenharmony_ci#define V4L2_COLORSPACE_ADOBERGB V4L2_COLORSPACE_OPRGB
13322851890Sopenharmony_ci#define V4L2_XFER_FUNC_ADOBERGB V4L2_XFER_FUNC_OPRGB
13422851890Sopenharmony_cienum v4l2_priority {
13522851890Sopenharmony_ci  V4L2_PRIORITY_UNSET = 0,
13622851890Sopenharmony_ci  V4L2_PRIORITY_BACKGROUND = 1,
13722851890Sopenharmony_ci  V4L2_PRIORITY_INTERACTIVE = 2,
13822851890Sopenharmony_ci  V4L2_PRIORITY_RECORD = 3,
13922851890Sopenharmony_ci  V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE,
14022851890Sopenharmony_ci};
14122851890Sopenharmony_cistruct v4l2_rect {
14222851890Sopenharmony_ci  __s32 left;
14322851890Sopenharmony_ci  __s32 top;
14422851890Sopenharmony_ci  __u32 width;
14522851890Sopenharmony_ci  __u32 height;
14622851890Sopenharmony_ci};
14722851890Sopenharmony_cistruct v4l2_fract {
14822851890Sopenharmony_ci  __u32 numerator;
14922851890Sopenharmony_ci  __u32 denominator;
15022851890Sopenharmony_ci};
15122851890Sopenharmony_cistruct v4l2_area {
15222851890Sopenharmony_ci  __u32 width;
15322851890Sopenharmony_ci  __u32 height;
15422851890Sopenharmony_ci};
15522851890Sopenharmony_cistruct v4l2_capability {
15622851890Sopenharmony_ci  __u8 driver[16];
15722851890Sopenharmony_ci  __u8 card[32];
15822851890Sopenharmony_ci  __u8 bus_info[32];
15922851890Sopenharmony_ci  __u32 version;
16022851890Sopenharmony_ci  __u32 capabilities;
16122851890Sopenharmony_ci  __u32 device_caps;
16222851890Sopenharmony_ci  __u32 reserved[3];
16322851890Sopenharmony_ci};
16422851890Sopenharmony_ci#define V4L2_CAP_VIDEO_CAPTURE 0x00000001
16522851890Sopenharmony_ci#define V4L2_CAP_VIDEO_OUTPUT 0x00000002
16622851890Sopenharmony_ci#define V4L2_CAP_VIDEO_OVERLAY 0x00000004
16722851890Sopenharmony_ci#define V4L2_CAP_VBI_CAPTURE 0x00000010
16822851890Sopenharmony_ci#define V4L2_CAP_VBI_OUTPUT 0x00000020
16922851890Sopenharmony_ci#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040
17022851890Sopenharmony_ci#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080
17122851890Sopenharmony_ci#define V4L2_CAP_RDS_CAPTURE 0x00000100
17222851890Sopenharmony_ci#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200
17322851890Sopenharmony_ci#define V4L2_CAP_HW_FREQ_SEEK 0x00000400
17422851890Sopenharmony_ci#define V4L2_CAP_RDS_OUTPUT 0x00000800
17522851890Sopenharmony_ci#define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000
17622851890Sopenharmony_ci#define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000
17722851890Sopenharmony_ci#define V4L2_CAP_VIDEO_M2M_MPLANE 0x00004000
17822851890Sopenharmony_ci#define V4L2_CAP_VIDEO_M2M 0x00008000
17922851890Sopenharmony_ci#define V4L2_CAP_TUNER 0x00010000
18022851890Sopenharmony_ci#define V4L2_CAP_AUDIO 0x00020000
18122851890Sopenharmony_ci#define V4L2_CAP_RADIO 0x00040000
18222851890Sopenharmony_ci#define V4L2_CAP_MODULATOR 0x00080000
18322851890Sopenharmony_ci#define V4L2_CAP_SDR_CAPTURE 0x00100000
18422851890Sopenharmony_ci#define V4L2_CAP_EXT_PIX_FORMAT 0x00200000
18522851890Sopenharmony_ci#define V4L2_CAP_SDR_OUTPUT 0x00400000
18622851890Sopenharmony_ci#define V4L2_CAP_META_CAPTURE 0x00800000
18722851890Sopenharmony_ci#define V4L2_CAP_READWRITE 0x01000000
18822851890Sopenharmony_ci#define V4L2_CAP_ASYNCIO 0x02000000
18922851890Sopenharmony_ci#define V4L2_CAP_STREAMING 0x04000000
19022851890Sopenharmony_ci#define V4L2_CAP_META_OUTPUT 0x08000000
19122851890Sopenharmony_ci#define V4L2_CAP_TOUCH 0x10000000
19222851890Sopenharmony_ci#define V4L2_CAP_IO_MC 0x20000000
19322851890Sopenharmony_ci#define V4L2_CAP_DEVICE_CAPS 0x80000000
19422851890Sopenharmony_cistruct v4l2_pix_format {
19522851890Sopenharmony_ci  __u32 width;
19622851890Sopenharmony_ci  __u32 height;
19722851890Sopenharmony_ci  __u32 pixelformat;
19822851890Sopenharmony_ci  __u32 field;
19922851890Sopenharmony_ci  __u32 bytesperline;
20022851890Sopenharmony_ci  __u32 sizeimage;
20122851890Sopenharmony_ci  __u32 colorspace;
20222851890Sopenharmony_ci  __u32 priv;
20322851890Sopenharmony_ci  __u32 flags;
20422851890Sopenharmony_ci  union {
20522851890Sopenharmony_ci    __u32 ycbcr_enc;
20622851890Sopenharmony_ci    __u32 hsv_enc;
20722851890Sopenharmony_ci  };
20822851890Sopenharmony_ci  __u32 quantization;
20922851890Sopenharmony_ci  __u32 xfer_func;
21022851890Sopenharmony_ci};
21122851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1')
21222851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4')
21322851890Sopenharmony_ci#define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2')
21422851890Sopenharmony_ci#define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2')
21522851890Sopenharmony_ci#define V4L2_PIX_FMT_RGBA444 v4l2_fourcc('R', 'A', '1', '2')
21622851890Sopenharmony_ci#define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2')
21722851890Sopenharmony_ci#define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2')
21822851890Sopenharmony_ci#define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2')
21922851890Sopenharmony_ci#define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2')
22022851890Sopenharmony_ci#define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2')
22122851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O')
22222851890Sopenharmony_ci#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5')
22322851890Sopenharmony_ci#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5')
22422851890Sopenharmony_ci#define V4L2_PIX_FMT_RGBA555 v4l2_fourcc('R', 'A', '1', '5')
22522851890Sopenharmony_ci#define V4L2_PIX_FMT_RGBX555 v4l2_fourcc('R', 'X', '1', '5')
22622851890Sopenharmony_ci#define V4L2_PIX_FMT_ABGR555 v4l2_fourcc('A', 'B', '1', '5')
22722851890Sopenharmony_ci#define V4L2_PIX_FMT_XBGR555 v4l2_fourcc('X', 'B', '1', '5')
22822851890Sopenharmony_ci#define V4L2_PIX_FMT_BGRA555 v4l2_fourcc('B', 'A', '1', '5')
22922851890Sopenharmony_ci#define V4L2_PIX_FMT_BGRX555 v4l2_fourcc('B', 'X', '1', '5')
23022851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P')
23122851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q')
23222851890Sopenharmony_ci#define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5')
23322851890Sopenharmony_ci#define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5')
23422851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R')
23522851890Sopenharmony_ci#define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H')
23622851890Sopenharmony_ci#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3')
23722851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3')
23822851890Sopenharmony_ci#define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4')
23922851890Sopenharmony_ci#define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4')
24022851890Sopenharmony_ci#define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4')
24122851890Sopenharmony_ci#define V4L2_PIX_FMT_BGRA32 v4l2_fourcc('R', 'A', '2', '4')
24222851890Sopenharmony_ci#define V4L2_PIX_FMT_BGRX32 v4l2_fourcc('R', 'X', '2', '4')
24322851890Sopenharmony_ci#define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4')
24422851890Sopenharmony_ci#define V4L2_PIX_FMT_RGBA32 v4l2_fourcc('A', 'B', '2', '4')
24522851890Sopenharmony_ci#define V4L2_PIX_FMT_RGBX32 v4l2_fourcc('X', 'B', '2', '4')
24622851890Sopenharmony_ci#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4')
24722851890Sopenharmony_ci#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4')
24822851890Sopenharmony_ci#define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y')
24922851890Sopenharmony_ci#define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ')
25022851890Sopenharmony_ci#define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ')
25122851890Sopenharmony_ci#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ')
25222851890Sopenharmony_ci#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ')
25322851890Sopenharmony_ci#define V4L2_PIX_FMT_Y14 v4l2_fourcc('Y', '1', '4', ' ')
25422851890Sopenharmony_ci#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ')
25522851890Sopenharmony_ci#define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ')
25622851890Sopenharmony_ci#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B')
25722851890Sopenharmony_ci#define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P')
25822851890Sopenharmony_ci#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8')
25922851890Sopenharmony_ci#define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ')
26022851890Sopenharmony_ci#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V')
26122851890Sopenharmony_ci#define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V')
26222851890Sopenharmony_ci#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U')
26322851890Sopenharmony_ci#define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y')
26422851890Sopenharmony_ci#define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y')
26522851890Sopenharmony_ci#define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P')
26622851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4')
26722851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O')
26822851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P')
26922851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4')
27022851890Sopenharmony_ci#define V4L2_PIX_FMT_AYUV32 v4l2_fourcc('A', 'Y', 'U', 'V')
27122851890Sopenharmony_ci#define V4L2_PIX_FMT_XYUV32 v4l2_fourcc('X', 'Y', 'U', 'V')
27222851890Sopenharmony_ci#define V4L2_PIX_FMT_VUYA32 v4l2_fourcc('V', 'U', 'Y', 'A')
27322851890Sopenharmony_ci#define V4L2_PIX_FMT_VUYX32 v4l2_fourcc('V', 'U', 'Y', 'X')
27422851890Sopenharmony_ci#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4')
27522851890Sopenharmony_ci#define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2')
27622851890Sopenharmony_ci#define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0')
27722851890Sopenharmony_ci#define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2')
27822851890Sopenharmony_ci#define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1')
27922851890Sopenharmony_ci#define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6')
28022851890Sopenharmony_ci#define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1')
28122851890Sopenharmony_ci#define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4')
28222851890Sopenharmony_ci#define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2')
28322851890Sopenharmony_ci#define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2')
28422851890Sopenharmony_ci#define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1')
28522851890Sopenharmony_ci#define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6')
28622851890Sopenharmony_ci#define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1')
28722851890Sopenharmony_ci#define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2')
28822851890Sopenharmony_ci#define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2')
28922851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9')
29022851890Sopenharmony_ci#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9')
29122851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P')
29222851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2')
29322851890Sopenharmony_ci#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2')
29422851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P')
29522851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2')
29622851890Sopenharmony_ci#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1')
29722851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV422M v4l2_fourcc('Y', 'M', '1', '6')
29822851890Sopenharmony_ci#define V4L2_PIX_FMT_YVU422M v4l2_fourcc('Y', 'M', '6', '1')
29922851890Sopenharmony_ci#define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4')
30022851890Sopenharmony_ci#define V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2')
30122851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1')
30222851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G')
30322851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G')
30422851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B')
30522851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR10 v4l2_fourcc('B', 'G', '1', '0')
30622851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0')
30722851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0')
30822851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0')
30922851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
31022851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')
31122851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
31222851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
31322851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
31422851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
31522851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8')
31622851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8')
31722851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8')
31822851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
31922851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')
32022851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')
32122851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2')
32222851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2')
32322851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2')
32422851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2')
32522851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR12P v4l2_fourcc('p', 'B', 'C', 'C')
32622851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C')
32722851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C')
32822851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB12P v4l2_fourcc('p', 'R', 'C', 'C')
32922851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR14 v4l2_fourcc('B', 'G', '1', '4')
33022851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG14 v4l2_fourcc('G', 'B', '1', '4')
33122851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG14 v4l2_fourcc('G', 'R', '1', '4')
33222851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB14 v4l2_fourcc('R', 'G', '1', '4')
33322851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR14P v4l2_fourcc('p', 'B', 'E', 'E')
33422851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG14P v4l2_fourcc('p', 'G', 'E', 'E')
33522851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG14P v4l2_fourcc('p', 'g', 'E', 'E')
33622851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB14P v4l2_fourcc('p', 'R', 'E', 'E')
33722851890Sopenharmony_ci#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2')
33822851890Sopenharmony_ci#define V4L2_PIX_FMT_SGBRG16 v4l2_fourcc('G', 'B', '1', '6')
33922851890Sopenharmony_ci#define V4L2_PIX_FMT_SGRBG16 v4l2_fourcc('G', 'R', '1', '6')
34022851890Sopenharmony_ci#define V4L2_PIX_FMT_SRGGB16 v4l2_fourcc('R', 'G', '1', '6')
34122851890Sopenharmony_ci#define V4L2_PIX_FMT_HSV24 v4l2_fourcc('H', 'S', 'V', '3')
34222851890Sopenharmony_ci#define V4L2_PIX_FMT_HSV32 v4l2_fourcc('H', 'S', 'V', '4')
34322851890Sopenharmony_ci#define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G')
34422851890Sopenharmony_ci#define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G')
34522851890Sopenharmony_ci#define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd')
34622851890Sopenharmony_ci#define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G')
34722851890Sopenharmony_ci#define V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4')
34822851890Sopenharmony_ci#define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1')
34922851890Sopenharmony_ci#define V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4')
35022851890Sopenharmony_ci#define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3')
35122851890Sopenharmony_ci#define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1')
35222851890Sopenharmony_ci#define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2')
35322851890Sopenharmony_ci#define V4L2_PIX_FMT_MPEG2_SLICE v4l2_fourcc('M', 'G', '2', 'S')
35422851890Sopenharmony_ci#define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4')
35522851890Sopenharmony_ci#define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D')
35622851890Sopenharmony_ci#define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G')
35722851890Sopenharmony_ci#define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L')
35822851890Sopenharmony_ci#define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0')
35922851890Sopenharmony_ci#define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0')
36022851890Sopenharmony_ci#define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C')
36122851890Sopenharmony_ci#define V4L2_PIX_FMT_FWHT v4l2_fourcc('F', 'W', 'H', 'T')
36222851890Sopenharmony_ci#define V4L2_PIX_FMT_FWHT_STATELESS v4l2_fourcc('S', 'F', 'W', 'H')
36322851890Sopenharmony_ci#define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A')
36422851890Sopenharmony_ci#define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A')
36522851890Sopenharmony_ci#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0')
36622851890Sopenharmony_ci#define V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc('S', '9', '2', '0')
36722851890Sopenharmony_ci#define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P', 'W', 'C', '1')
36822851890Sopenharmony_ci#define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P', 'W', 'C', '2')
36922851890Sopenharmony_ci#define V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E', '6', '2', '5')
37022851890Sopenharmony_ci#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1')
37122851890Sopenharmony_ci#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5')
37222851890Sopenharmony_ci#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8')
37322851890Sopenharmony_ci#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1')
37422851890Sopenharmony_ci#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7')
37522851890Sopenharmony_ci#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0')
37622851890Sopenharmony_ci#define V4L2_PIX_FMT_JL2005BCD v4l2_fourcc('J', 'L', '2', '0')
37722851890Sopenharmony_ci#define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X')
37822851890Sopenharmony_ci#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C')
37922851890Sopenharmony_ci#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G')
38022851890Sopenharmony_ci#define V4L2_PIX_FMT_OV511 v4l2_fourcc('O', '5', '1', '1')
38122851890Sopenharmony_ci#define V4L2_PIX_FMT_OV518 v4l2_fourcc('O', '5', '1', '8')
38222851890Sopenharmony_ci#define V4L2_PIX_FMT_STV0680 v4l2_fourcc('S', '6', '8', '0')
38322851890Sopenharmony_ci#define V4L2_PIX_FMT_TM6000 v4l2_fourcc('T', 'M', '6', '0')
38422851890Sopenharmony_ci#define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V')
38522851890Sopenharmony_ci#define V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I')
38622851890Sopenharmony_ci#define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L')
38722851890Sopenharmony_ci#define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1')
38822851890Sopenharmony_ci#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I')
38922851890Sopenharmony_ci#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ')
39022851890Sopenharmony_ci#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I')
39122851890Sopenharmony_ci#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
39222851890Sopenharmony_ci#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1')
39322851890Sopenharmony_ci#define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I')
39422851890Sopenharmony_ci#define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2')
39522851890Sopenharmony_ci#define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4')
39622851890Sopenharmony_ci#define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b')
39722851890Sopenharmony_ci#define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g')
39822851890Sopenharmony_ci#define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G')
39922851890Sopenharmony_ci#define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r')
40022851890Sopenharmony_ci#define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8')
40122851890Sopenharmony_ci#define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6')
40222851890Sopenharmony_ci#define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8')
40322851890Sopenharmony_ci#define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4')
40422851890Sopenharmony_ci#define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2')
40522851890Sopenharmony_ci#define V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6')
40622851890Sopenharmony_ci#define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8')
40722851890Sopenharmony_ci#define V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0')
40822851890Sopenharmony_ci#define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6')
40922851890Sopenharmony_ci#define V4L2_TCH_FMT_DELTA_TD08 v4l2_fourcc('T', 'D', '0', '8')
41022851890Sopenharmony_ci#define V4L2_TCH_FMT_TU16 v4l2_fourcc('T', 'U', '1', '6')
41122851890Sopenharmony_ci#define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8')
41222851890Sopenharmony_ci#define V4L2_META_FMT_VSP1_HGO v4l2_fourcc('V', 'S', 'P', 'H')
41322851890Sopenharmony_ci#define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T')
41422851890Sopenharmony_ci#define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H')
41522851890Sopenharmony_ci#define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X')
41622851890Sopenharmony_ci#define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D')
41722851890Sopenharmony_ci#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
41822851890Sopenharmony_ci#define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001
41922851890Sopenharmony_ci#define V4L2_PIX_FMT_FLAG_SET_CSC 0x00000002
42022851890Sopenharmony_cistruct v4l2_fmtdesc {
42122851890Sopenharmony_ci  __u32 index;
42222851890Sopenharmony_ci  __u32 type;
42322851890Sopenharmony_ci  __u32 flags;
42422851890Sopenharmony_ci  __u8 description[32];
42522851890Sopenharmony_ci  __u32 pixelformat;
42622851890Sopenharmony_ci  __u32 mbus_code;
42722851890Sopenharmony_ci  __u32 reserved[3];
42822851890Sopenharmony_ci};
42922851890Sopenharmony_ci#define V4L2_FMT_FLAG_COMPRESSED 0x0001
43022851890Sopenharmony_ci#define V4L2_FMT_FLAG_EMULATED 0x0002
43122851890Sopenharmony_ci#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004
43222851890Sopenharmony_ci#define V4L2_FMT_FLAG_DYN_RESOLUTION 0x0008
43322851890Sopenharmony_ci#define V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL 0x0010
43422851890Sopenharmony_ci#define V4L2_FMT_FLAG_CSC_COLORSPACE 0x0020
43522851890Sopenharmony_ci#define V4L2_FMT_FLAG_CSC_XFER_FUNC 0x0040
43622851890Sopenharmony_ci#define V4L2_FMT_FLAG_CSC_YCBCR_ENC 0x0080
43722851890Sopenharmony_ci#define V4L2_FMT_FLAG_CSC_HSV_ENC V4L2_FMT_FLAG_CSC_YCBCR_ENC
43822851890Sopenharmony_ci#define V4L2_FMT_FLAG_CSC_QUANTIZATION 0x0100
43922851890Sopenharmony_cienum v4l2_frmsizetypes {
44022851890Sopenharmony_ci  V4L2_FRMSIZE_TYPE_DISCRETE = 1,
44122851890Sopenharmony_ci  V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
44222851890Sopenharmony_ci  V4L2_FRMSIZE_TYPE_STEPWISE = 3,
44322851890Sopenharmony_ci};
44422851890Sopenharmony_cistruct v4l2_frmsize_discrete {
44522851890Sopenharmony_ci  __u32 width;
44622851890Sopenharmony_ci  __u32 height;
44722851890Sopenharmony_ci};
44822851890Sopenharmony_cistruct v4l2_frmsize_stepwise {
44922851890Sopenharmony_ci  __u32 min_width;
45022851890Sopenharmony_ci  __u32 max_width;
45122851890Sopenharmony_ci  __u32 step_width;
45222851890Sopenharmony_ci  __u32 min_height;
45322851890Sopenharmony_ci  __u32 max_height;
45422851890Sopenharmony_ci  __u32 step_height;
45522851890Sopenharmony_ci};
45622851890Sopenharmony_cistruct v4l2_frmsizeenum {
45722851890Sopenharmony_ci  __u32 index;
45822851890Sopenharmony_ci  __u32 pixel_format;
45922851890Sopenharmony_ci  __u32 type;
46022851890Sopenharmony_ci  union {
46122851890Sopenharmony_ci    struct v4l2_frmsize_discrete discrete;
46222851890Sopenharmony_ci    struct v4l2_frmsize_stepwise stepwise;
46322851890Sopenharmony_ci  };
46422851890Sopenharmony_ci  __u32 reserved[2];
46522851890Sopenharmony_ci};
46622851890Sopenharmony_cienum v4l2_frmivaltypes {
46722851890Sopenharmony_ci  V4L2_FRMIVAL_TYPE_DISCRETE = 1,
46822851890Sopenharmony_ci  V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,
46922851890Sopenharmony_ci  V4L2_FRMIVAL_TYPE_STEPWISE = 3,
47022851890Sopenharmony_ci};
47122851890Sopenharmony_cistruct v4l2_frmival_stepwise {
47222851890Sopenharmony_ci  struct v4l2_fract min;
47322851890Sopenharmony_ci  struct v4l2_fract max;
47422851890Sopenharmony_ci  struct v4l2_fract step;
47522851890Sopenharmony_ci};
47622851890Sopenharmony_cistruct v4l2_frmivalenum {
47722851890Sopenharmony_ci  __u32 index;
47822851890Sopenharmony_ci  __u32 pixel_format;
47922851890Sopenharmony_ci  __u32 width;
48022851890Sopenharmony_ci  __u32 height;
48122851890Sopenharmony_ci  __u32 type;
48222851890Sopenharmony_ci  union {
48322851890Sopenharmony_ci    struct v4l2_fract discrete;
48422851890Sopenharmony_ci    struct v4l2_frmival_stepwise stepwise;
48522851890Sopenharmony_ci  };
48622851890Sopenharmony_ci  __u32 reserved[2];
48722851890Sopenharmony_ci};
48822851890Sopenharmony_cistruct v4l2_timecode {
48922851890Sopenharmony_ci  __u32 type;
49022851890Sopenharmony_ci  __u32 flags;
49122851890Sopenharmony_ci  __u8 frames;
49222851890Sopenharmony_ci  __u8 seconds;
49322851890Sopenharmony_ci  __u8 minutes;
49422851890Sopenharmony_ci  __u8 hours;
49522851890Sopenharmony_ci  __u8 userbits[4];
49622851890Sopenharmony_ci};
49722851890Sopenharmony_ci#define V4L2_TC_TYPE_24FPS 1
49822851890Sopenharmony_ci#define V4L2_TC_TYPE_25FPS 2
49922851890Sopenharmony_ci#define V4L2_TC_TYPE_30FPS 3
50022851890Sopenharmony_ci#define V4L2_TC_TYPE_50FPS 4
50122851890Sopenharmony_ci#define V4L2_TC_TYPE_60FPS 5
50222851890Sopenharmony_ci#define V4L2_TC_FLAG_DROPFRAME 0x0001
50322851890Sopenharmony_ci#define V4L2_TC_FLAG_COLORFRAME 0x0002
50422851890Sopenharmony_ci#define V4L2_TC_USERBITS_field 0x000C
50522851890Sopenharmony_ci#define V4L2_TC_USERBITS_USERDEFINED 0x0000
50622851890Sopenharmony_ci#define V4L2_TC_USERBITS_8BITCHARS 0x0008
50722851890Sopenharmony_cistruct v4l2_jpegcompression {
50822851890Sopenharmony_ci  int quality;
50922851890Sopenharmony_ci  int APPn;
51022851890Sopenharmony_ci  int APP_len;
51122851890Sopenharmony_ci  char APP_data[60];
51222851890Sopenharmony_ci  int COM_len;
51322851890Sopenharmony_ci  char COM_data[60];
51422851890Sopenharmony_ci  __u32 jpeg_markers;
51522851890Sopenharmony_ci#define V4L2_JPEG_MARKER_DHT (1 << 3)
51622851890Sopenharmony_ci#define V4L2_JPEG_MARKER_DQT (1 << 4)
51722851890Sopenharmony_ci#define V4L2_JPEG_MARKER_DRI (1 << 5)
51822851890Sopenharmony_ci#define V4L2_JPEG_MARKER_COM (1 << 6)
51922851890Sopenharmony_ci#define V4L2_JPEG_MARKER_APP (1 << 7)
52022851890Sopenharmony_ci};
52122851890Sopenharmony_cistruct v4l2_requestbuffers {
52222851890Sopenharmony_ci  __u32 count;
52322851890Sopenharmony_ci  __u32 type;
52422851890Sopenharmony_ci  __u32 memory;
52522851890Sopenharmony_ci  __u32 capabilities;
52622851890Sopenharmony_ci  __u32 reserved[1];
52722851890Sopenharmony_ci};
52822851890Sopenharmony_ci#define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0)
52922851890Sopenharmony_ci#define V4L2_BUF_CAP_SUPPORTS_USERPTR (1 << 1)
53022851890Sopenharmony_ci#define V4L2_BUF_CAP_SUPPORTS_DMABUF (1 << 2)
53122851890Sopenharmony_ci#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3)
53222851890Sopenharmony_ci#define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4)
53322851890Sopenharmony_ci#define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5)
53422851890Sopenharmony_ci#define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6)
53522851890Sopenharmony_cistruct v4l2_plane {
53622851890Sopenharmony_ci  __u32 bytesused;
53722851890Sopenharmony_ci  __u32 length;
53822851890Sopenharmony_ci  union {
53922851890Sopenharmony_ci    __u32 mem_offset;
54022851890Sopenharmony_ci    unsigned long userptr;
54122851890Sopenharmony_ci    __s32 fd;
54222851890Sopenharmony_ci  } m;
54322851890Sopenharmony_ci  __u32 data_offset;
54422851890Sopenharmony_ci  __u32 reserved[11];
54522851890Sopenharmony_ci};
54622851890Sopenharmony_cistruct v4l2_buffer {
54722851890Sopenharmony_ci  __u32 index;
54822851890Sopenharmony_ci  __u32 type;
54922851890Sopenharmony_ci  __u32 bytesused;
55022851890Sopenharmony_ci  __u32 flags;
55122851890Sopenharmony_ci  __u32 field;
55222851890Sopenharmony_ci  struct timeval timestamp;
55322851890Sopenharmony_ci  struct v4l2_timecode timecode;
55422851890Sopenharmony_ci  __u32 sequence;
55522851890Sopenharmony_ci  __u32 memory;
55622851890Sopenharmony_ci  union {
55722851890Sopenharmony_ci    __u32 offset;
55822851890Sopenharmony_ci    unsigned long userptr;
55922851890Sopenharmony_ci    struct v4l2_plane * planes;
56022851890Sopenharmony_ci    __s32 fd;
56122851890Sopenharmony_ci  } m;
56222851890Sopenharmony_ci  __u32 length;
56322851890Sopenharmony_ci  __u32 reserved2;
56422851890Sopenharmony_ci  union {
56522851890Sopenharmony_ci    __s32 request_fd;
56622851890Sopenharmony_ci    __u32 reserved;
56722851890Sopenharmony_ci  };
56822851890Sopenharmony_ci};
56922851890Sopenharmony_ci#define V4L2_BUF_FLAG_MAPPED 0x00000001
57022851890Sopenharmony_ci#define V4L2_BUF_FLAG_QUEUED 0x00000002
57122851890Sopenharmony_ci#define V4L2_BUF_FLAG_DONE 0x00000004
57222851890Sopenharmony_ci#define V4L2_BUF_FLAG_KEYFRAME 0x00000008
57322851890Sopenharmony_ci#define V4L2_BUF_FLAG_PFRAME 0x00000010
57422851890Sopenharmony_ci#define V4L2_BUF_FLAG_BFRAME 0x00000020
57522851890Sopenharmony_ci#define V4L2_BUF_FLAG_ERROR 0x00000040
57622851890Sopenharmony_ci#define V4L2_BUF_FLAG_IN_REQUEST 0x00000080
57722851890Sopenharmony_ci#define V4L2_BUF_FLAG_TIMECODE 0x00000100
57822851890Sopenharmony_ci#define V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF 0x00000200
57922851890Sopenharmony_ci#define V4L2_BUF_FLAG_PREPARED 0x00000400
58022851890Sopenharmony_ci#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x00000800
58122851890Sopenharmony_ci#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x00001000
58222851890Sopenharmony_ci#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0x0000e000
58322851890Sopenharmony_ci#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x00000000
58422851890Sopenharmony_ci#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x00002000
58522851890Sopenharmony_ci#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x00004000
58622851890Sopenharmony_ci#define V4L2_BUF_FLAG_TSTAMP_SRC_MASK 0x00070000
58722851890Sopenharmony_ci#define V4L2_BUF_FLAG_TSTAMP_SRC_EOF 0x00000000
58822851890Sopenharmony_ci#define V4L2_BUF_FLAG_TSTAMP_SRC_SOE 0x00010000
58922851890Sopenharmony_ci#define V4L2_BUF_FLAG_LAST 0x00100000
59022851890Sopenharmony_ci#define V4L2_BUF_FLAG_REQUEST_FD 0x00800000
59122851890Sopenharmony_cistruct v4l2_exportbuffer {
59222851890Sopenharmony_ci  __u32 type;
59322851890Sopenharmony_ci  __u32 index;
59422851890Sopenharmony_ci  __u32 plane;
59522851890Sopenharmony_ci  __u32 flags;
59622851890Sopenharmony_ci  __s32 fd;
59722851890Sopenharmony_ci  __u32 reserved[11];
59822851890Sopenharmony_ci};
59922851890Sopenharmony_cistruct v4l2_framebuffer {
60022851890Sopenharmony_ci  __u32 capability;
60122851890Sopenharmony_ci  __u32 flags;
60222851890Sopenharmony_ci  void * base;
60322851890Sopenharmony_ci  struct {
60422851890Sopenharmony_ci    __u32 width;
60522851890Sopenharmony_ci    __u32 height;
60622851890Sopenharmony_ci    __u32 pixelformat;
60722851890Sopenharmony_ci    __u32 field;
60822851890Sopenharmony_ci    __u32 bytesperline;
60922851890Sopenharmony_ci    __u32 sizeimage;
61022851890Sopenharmony_ci    __u32 colorspace;
61122851890Sopenharmony_ci    __u32 priv;
61222851890Sopenharmony_ci  } fmt;
61322851890Sopenharmony_ci};
61422851890Sopenharmony_ci#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001
61522851890Sopenharmony_ci#define V4L2_FBUF_CAP_CHROMAKEY 0x0002
61622851890Sopenharmony_ci#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004
61722851890Sopenharmony_ci#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008
61822851890Sopenharmony_ci#define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010
61922851890Sopenharmony_ci#define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020
62022851890Sopenharmony_ci#define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040
62122851890Sopenharmony_ci#define V4L2_FBUF_CAP_SRC_CHROMAKEY 0x0080
62222851890Sopenharmony_ci#define V4L2_FBUF_FLAG_PRIMARY 0x0001
62322851890Sopenharmony_ci#define V4L2_FBUF_FLAG_OVERLAY 0x0002
62422851890Sopenharmony_ci#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004
62522851890Sopenharmony_ci#define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008
62622851890Sopenharmony_ci#define V4L2_FBUF_FLAG_GLOBAL_ALPHA 0x0010
62722851890Sopenharmony_ci#define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA 0x0020
62822851890Sopenharmony_ci#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040
62922851890Sopenharmony_cistruct v4l2_clip {
63022851890Sopenharmony_ci  struct v4l2_rect c;
63122851890Sopenharmony_ci  struct v4l2_clip __user * next;
63222851890Sopenharmony_ci};
63322851890Sopenharmony_cistruct v4l2_window {
63422851890Sopenharmony_ci  struct v4l2_rect w;
63522851890Sopenharmony_ci  __u32 field;
63622851890Sopenharmony_ci  __u32 chromakey;
63722851890Sopenharmony_ci  struct v4l2_clip __user * clips;
63822851890Sopenharmony_ci  __u32 clipcount;
63922851890Sopenharmony_ci  void __user * bitmap;
64022851890Sopenharmony_ci  __u8 global_alpha;
64122851890Sopenharmony_ci};
64222851890Sopenharmony_cistruct v4l2_captureparm {
64322851890Sopenharmony_ci  __u32 capability;
64422851890Sopenharmony_ci  __u32 capturemode;
64522851890Sopenharmony_ci  struct v4l2_fract timeperframe;
64622851890Sopenharmony_ci  __u32 extendedmode;
64722851890Sopenharmony_ci  __u32 readbuffers;
64822851890Sopenharmony_ci  __u32 reserved[4];
64922851890Sopenharmony_ci};
65022851890Sopenharmony_ci#define V4L2_MODE_HIGHQUALITY 0x0001
65122851890Sopenharmony_ci#define V4L2_CAP_TIMEPERFRAME 0x1000
65222851890Sopenharmony_cistruct v4l2_outputparm {
65322851890Sopenharmony_ci  __u32 capability;
65422851890Sopenharmony_ci  __u32 outputmode;
65522851890Sopenharmony_ci  struct v4l2_fract timeperframe;
65622851890Sopenharmony_ci  __u32 extendedmode;
65722851890Sopenharmony_ci  __u32 writebuffers;
65822851890Sopenharmony_ci  __u32 reserved[4];
65922851890Sopenharmony_ci};
66022851890Sopenharmony_cistruct v4l2_cropcap {
66122851890Sopenharmony_ci  __u32 type;
66222851890Sopenharmony_ci  struct v4l2_rect bounds;
66322851890Sopenharmony_ci  struct v4l2_rect defrect;
66422851890Sopenharmony_ci  struct v4l2_fract pixelaspect;
66522851890Sopenharmony_ci};
66622851890Sopenharmony_cistruct v4l2_crop {
66722851890Sopenharmony_ci  __u32 type;
66822851890Sopenharmony_ci  struct v4l2_rect c;
66922851890Sopenharmony_ci};
67022851890Sopenharmony_cistruct v4l2_selection {
67122851890Sopenharmony_ci  __u32 type;
67222851890Sopenharmony_ci  __u32 target;
67322851890Sopenharmony_ci  __u32 flags;
67422851890Sopenharmony_ci  struct v4l2_rect r;
67522851890Sopenharmony_ci  __u32 reserved[9];
67622851890Sopenharmony_ci};
67722851890Sopenharmony_citypedef __u64 v4l2_std_id;
67822851890Sopenharmony_ci#define V4L2_STD_PAL_B ((v4l2_std_id) 0x00000001)
67922851890Sopenharmony_ci#define V4L2_STD_PAL_B1 ((v4l2_std_id) 0x00000002)
68022851890Sopenharmony_ci#define V4L2_STD_PAL_G ((v4l2_std_id) 0x00000004)
68122851890Sopenharmony_ci#define V4L2_STD_PAL_H ((v4l2_std_id) 0x00000008)
68222851890Sopenharmony_ci#define V4L2_STD_PAL_I ((v4l2_std_id) 0x00000010)
68322851890Sopenharmony_ci#define V4L2_STD_PAL_D ((v4l2_std_id) 0x00000020)
68422851890Sopenharmony_ci#define V4L2_STD_PAL_D1 ((v4l2_std_id) 0x00000040)
68522851890Sopenharmony_ci#define V4L2_STD_PAL_K ((v4l2_std_id) 0x00000080)
68622851890Sopenharmony_ci#define V4L2_STD_PAL_M ((v4l2_std_id) 0x00000100)
68722851890Sopenharmony_ci#define V4L2_STD_PAL_N ((v4l2_std_id) 0x00000200)
68822851890Sopenharmony_ci#define V4L2_STD_PAL_Nc ((v4l2_std_id) 0x00000400)
68922851890Sopenharmony_ci#define V4L2_STD_PAL_60 ((v4l2_std_id) 0x00000800)
69022851890Sopenharmony_ci#define V4L2_STD_NTSC_M ((v4l2_std_id) 0x00001000)
69122851890Sopenharmony_ci#define V4L2_STD_NTSC_M_JP ((v4l2_std_id) 0x00002000)
69222851890Sopenharmony_ci#define V4L2_STD_NTSC_443 ((v4l2_std_id) 0x00004000)
69322851890Sopenharmony_ci#define V4L2_STD_NTSC_M_KR ((v4l2_std_id) 0x00008000)
69422851890Sopenharmony_ci#define V4L2_STD_SECAM_B ((v4l2_std_id) 0x00010000)
69522851890Sopenharmony_ci#define V4L2_STD_SECAM_D ((v4l2_std_id) 0x00020000)
69622851890Sopenharmony_ci#define V4L2_STD_SECAM_G ((v4l2_std_id) 0x00040000)
69722851890Sopenharmony_ci#define V4L2_STD_SECAM_H ((v4l2_std_id) 0x00080000)
69822851890Sopenharmony_ci#define V4L2_STD_SECAM_K ((v4l2_std_id) 0x00100000)
69922851890Sopenharmony_ci#define V4L2_STD_SECAM_K1 ((v4l2_std_id) 0x00200000)
70022851890Sopenharmony_ci#define V4L2_STD_SECAM_L ((v4l2_std_id) 0x00400000)
70122851890Sopenharmony_ci#define V4L2_STD_SECAM_LC ((v4l2_std_id) 0x00800000)
70222851890Sopenharmony_ci#define V4L2_STD_ATSC_8_VSB ((v4l2_std_id) 0x01000000)
70322851890Sopenharmony_ci#define V4L2_STD_ATSC_16_VSB ((v4l2_std_id) 0x02000000)
70422851890Sopenharmony_ci#define V4L2_STD_NTSC (V4L2_STD_NTSC_M | V4L2_STD_NTSC_M_JP | V4L2_STD_NTSC_M_KR)
70522851890Sopenharmony_ci#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D | V4L2_STD_SECAM_K | V4L2_STD_SECAM_K1)
70622851890Sopenharmony_ci#define V4L2_STD_SECAM (V4L2_STD_SECAM_B | V4L2_STD_SECAM_G | V4L2_STD_SECAM_H | V4L2_STD_SECAM_DK | V4L2_STD_SECAM_L | V4L2_STD_SECAM_LC)
70722851890Sopenharmony_ci#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B | V4L2_STD_PAL_B1 | V4L2_STD_PAL_G)
70822851890Sopenharmony_ci#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D | V4L2_STD_PAL_D1 | V4L2_STD_PAL_K)
70922851890Sopenharmony_ci#define V4L2_STD_PAL (V4L2_STD_PAL_BG | V4L2_STD_PAL_DK | V4L2_STD_PAL_H | V4L2_STD_PAL_I)
71022851890Sopenharmony_ci#define V4L2_STD_B (V4L2_STD_PAL_B | V4L2_STD_PAL_B1 | V4L2_STD_SECAM_B)
71122851890Sopenharmony_ci#define V4L2_STD_G (V4L2_STD_PAL_G | V4L2_STD_SECAM_G)
71222851890Sopenharmony_ci#define V4L2_STD_H (V4L2_STD_PAL_H | V4L2_STD_SECAM_H)
71322851890Sopenharmony_ci#define V4L2_STD_L (V4L2_STD_SECAM_L | V4L2_STD_SECAM_LC)
71422851890Sopenharmony_ci#define V4L2_STD_GH (V4L2_STD_G | V4L2_STD_H)
71522851890Sopenharmony_ci#define V4L2_STD_DK (V4L2_STD_PAL_DK | V4L2_STD_SECAM_DK)
71622851890Sopenharmony_ci#define V4L2_STD_BG (V4L2_STD_B | V4L2_STD_G)
71722851890Sopenharmony_ci#define V4L2_STD_MN (V4L2_STD_PAL_M | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc | V4L2_STD_NTSC)
71822851890Sopenharmony_ci#define V4L2_STD_MTS (V4L2_STD_NTSC_M | V4L2_STD_PAL_M | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc)
71922851890Sopenharmony_ci#define V4L2_STD_525_60 (V4L2_STD_PAL_M | V4L2_STD_PAL_60 | V4L2_STD_NTSC | V4L2_STD_NTSC_443)
72022851890Sopenharmony_ci#define V4L2_STD_625_50 (V4L2_STD_PAL | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc | V4L2_STD_SECAM)
72122851890Sopenharmony_ci#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB | V4L2_STD_ATSC_16_VSB)
72222851890Sopenharmony_ci#define V4L2_STD_UNKNOWN 0
72322851890Sopenharmony_ci#define V4L2_STD_ALL (V4L2_STD_525_60 | V4L2_STD_625_50)
72422851890Sopenharmony_cistruct v4l2_standard {
72522851890Sopenharmony_ci  __u32 index;
72622851890Sopenharmony_ci  v4l2_std_id id;
72722851890Sopenharmony_ci  __u8 name[24];
72822851890Sopenharmony_ci  struct v4l2_fract frameperiod;
72922851890Sopenharmony_ci  __u32 framelines;
73022851890Sopenharmony_ci  __u32 reserved[4];
73122851890Sopenharmony_ci};
73222851890Sopenharmony_cistruct v4l2_bt_timings {
73322851890Sopenharmony_ci  __u32 width;
73422851890Sopenharmony_ci  __u32 height;
73522851890Sopenharmony_ci  __u32 interlaced;
73622851890Sopenharmony_ci  __u32 polarities;
73722851890Sopenharmony_ci  __u64 pixelclock;
73822851890Sopenharmony_ci  __u32 hfrontporch;
73922851890Sopenharmony_ci  __u32 hsync;
74022851890Sopenharmony_ci  __u32 hbackporch;
74122851890Sopenharmony_ci  __u32 vfrontporch;
74222851890Sopenharmony_ci  __u32 vsync;
74322851890Sopenharmony_ci  __u32 vbackporch;
74422851890Sopenharmony_ci  __u32 il_vfrontporch;
74522851890Sopenharmony_ci  __u32 il_vsync;
74622851890Sopenharmony_ci  __u32 il_vbackporch;
74722851890Sopenharmony_ci  __u32 standards;
74822851890Sopenharmony_ci  __u32 flags;
74922851890Sopenharmony_ci  struct v4l2_fract picture_aspect;
75022851890Sopenharmony_ci  __u8 cea861_vic;
75122851890Sopenharmony_ci  __u8 hdmi_vic;
75222851890Sopenharmony_ci  __u8 reserved[46];
75322851890Sopenharmony_ci} __attribute__((packed));
75422851890Sopenharmony_ci#define V4L2_DV_PROGRESSIVE 0
75522851890Sopenharmony_ci#define V4L2_DV_INTERLACED 1
75622851890Sopenharmony_ci#define V4L2_DV_VSYNC_POS_POL 0x00000001
75722851890Sopenharmony_ci#define V4L2_DV_HSYNC_POS_POL 0x00000002
75822851890Sopenharmony_ci#define V4L2_DV_BT_STD_CEA861 (1 << 0)
75922851890Sopenharmony_ci#define V4L2_DV_BT_STD_DMT (1 << 1)
76022851890Sopenharmony_ci#define V4L2_DV_BT_STD_CVT (1 << 2)
76122851890Sopenharmony_ci#define V4L2_DV_BT_STD_GTF (1 << 3)
76222851890Sopenharmony_ci#define V4L2_DV_BT_STD_SDI (1 << 4)
76322851890Sopenharmony_ci#define V4L2_DV_FL_REDUCED_BLANKING (1 << 0)
76422851890Sopenharmony_ci#define V4L2_DV_FL_CAN_REDUCE_FPS (1 << 1)
76522851890Sopenharmony_ci#define V4L2_DV_FL_REDUCED_FPS (1 << 2)
76622851890Sopenharmony_ci#define V4L2_DV_FL_HALF_LINE (1 << 3)
76722851890Sopenharmony_ci#define V4L2_DV_FL_IS_CE_VIDEO (1 << 4)
76822851890Sopenharmony_ci#define V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE (1 << 5)
76922851890Sopenharmony_ci#define V4L2_DV_FL_HAS_PICTURE_ASPECT (1 << 6)
77022851890Sopenharmony_ci#define V4L2_DV_FL_HAS_CEA861_VIC (1 << 7)
77122851890Sopenharmony_ci#define V4L2_DV_FL_HAS_HDMI_VIC (1 << 8)
77222851890Sopenharmony_ci#define V4L2_DV_FL_CAN_DETECT_REDUCED_FPS (1 << 9)
77322851890Sopenharmony_ci#define V4L2_DV_BT_BLANKING_WIDTH(bt) ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch)
77422851890Sopenharmony_ci#define V4L2_DV_BT_FRAME_WIDTH(bt) ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt))
77522851890Sopenharmony_ci#define V4L2_DV_BT_BLANKING_HEIGHT(bt) ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch)
77622851890Sopenharmony_ci#define V4L2_DV_BT_FRAME_HEIGHT(bt) ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt))
77722851890Sopenharmony_cistruct v4l2_dv_timings {
77822851890Sopenharmony_ci  __u32 type;
77922851890Sopenharmony_ci  union {
78022851890Sopenharmony_ci    struct v4l2_bt_timings bt;
78122851890Sopenharmony_ci    __u32 reserved[32];
78222851890Sopenharmony_ci  };
78322851890Sopenharmony_ci} __attribute__((packed));
78422851890Sopenharmony_ci#define V4L2_DV_BT_656_1120 0
78522851890Sopenharmony_cistruct v4l2_enum_dv_timings {
78622851890Sopenharmony_ci  __u32 index;
78722851890Sopenharmony_ci  __u32 pad;
78822851890Sopenharmony_ci  __u32 reserved[2];
78922851890Sopenharmony_ci  struct v4l2_dv_timings timings;
79022851890Sopenharmony_ci};
79122851890Sopenharmony_cistruct v4l2_bt_timings_cap {
79222851890Sopenharmony_ci  __u32 min_width;
79322851890Sopenharmony_ci  __u32 max_width;
79422851890Sopenharmony_ci  __u32 min_height;
79522851890Sopenharmony_ci  __u32 max_height;
79622851890Sopenharmony_ci  __u64 min_pixelclock;
79722851890Sopenharmony_ci  __u64 max_pixelclock;
79822851890Sopenharmony_ci  __u32 standards;
79922851890Sopenharmony_ci  __u32 capabilities;
80022851890Sopenharmony_ci  __u32 reserved[16];
80122851890Sopenharmony_ci} __attribute__((packed));
80222851890Sopenharmony_ci#define V4L2_DV_BT_CAP_INTERLACED (1 << 0)
80322851890Sopenharmony_ci#define V4L2_DV_BT_CAP_PROGRESSIVE (1 << 1)
80422851890Sopenharmony_ci#define V4L2_DV_BT_CAP_REDUCED_BLANKING (1 << 2)
80522851890Sopenharmony_ci#define V4L2_DV_BT_CAP_CUSTOM (1 << 3)
80622851890Sopenharmony_cistruct v4l2_dv_timings_cap {
80722851890Sopenharmony_ci  __u32 type;
80822851890Sopenharmony_ci  __u32 pad;
80922851890Sopenharmony_ci  __u32 reserved[2];
81022851890Sopenharmony_ci  union {
81122851890Sopenharmony_ci    struct v4l2_bt_timings_cap bt;
81222851890Sopenharmony_ci    __u32 raw_data[32];
81322851890Sopenharmony_ci  };
81422851890Sopenharmony_ci};
81522851890Sopenharmony_cistruct v4l2_input {
81622851890Sopenharmony_ci  __u32 index;
81722851890Sopenharmony_ci  __u8 name[32];
81822851890Sopenharmony_ci  __u32 type;
81922851890Sopenharmony_ci  __u32 audioset;
82022851890Sopenharmony_ci  __u32 tuner;
82122851890Sopenharmony_ci  v4l2_std_id std;
82222851890Sopenharmony_ci  __u32 status;
82322851890Sopenharmony_ci  __u32 capabilities;
82422851890Sopenharmony_ci  __u32 reserved[3];
82522851890Sopenharmony_ci};
82622851890Sopenharmony_ci#define V4L2_INPUT_TYPE_TUNER 1
82722851890Sopenharmony_ci#define V4L2_INPUT_TYPE_CAMERA 2
82822851890Sopenharmony_ci#define V4L2_INPUT_TYPE_TOUCH 3
82922851890Sopenharmony_ci#define V4L2_IN_ST_NO_POWER 0x00000001
83022851890Sopenharmony_ci#define V4L2_IN_ST_NO_SIGNAL 0x00000002
83122851890Sopenharmony_ci#define V4L2_IN_ST_NO_COLOR 0x00000004
83222851890Sopenharmony_ci#define V4L2_IN_ST_HFLIP 0x00000010
83322851890Sopenharmony_ci#define V4L2_IN_ST_VFLIP 0x00000020
83422851890Sopenharmony_ci#define V4L2_IN_ST_NO_H_LOCK 0x00000100
83522851890Sopenharmony_ci#define V4L2_IN_ST_COLOR_KILL 0x00000200
83622851890Sopenharmony_ci#define V4L2_IN_ST_NO_V_LOCK 0x00000400
83722851890Sopenharmony_ci#define V4L2_IN_ST_NO_STD_LOCK 0x00000800
83822851890Sopenharmony_ci#define V4L2_IN_ST_NO_SYNC 0x00010000
83922851890Sopenharmony_ci#define V4L2_IN_ST_NO_EQU 0x00020000
84022851890Sopenharmony_ci#define V4L2_IN_ST_NO_CARRIER 0x00040000
84122851890Sopenharmony_ci#define V4L2_IN_ST_MACROVISION 0x01000000
84222851890Sopenharmony_ci#define V4L2_IN_ST_NO_ACCESS 0x02000000
84322851890Sopenharmony_ci#define V4L2_IN_ST_VTR 0x04000000
84422851890Sopenharmony_ci#define V4L2_IN_CAP_DV_TIMINGS 0x00000002
84522851890Sopenharmony_ci#define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS
84622851890Sopenharmony_ci#define V4L2_IN_CAP_STD 0x00000004
84722851890Sopenharmony_ci#define V4L2_IN_CAP_NATIVE_SIZE 0x00000008
84822851890Sopenharmony_cistruct v4l2_output {
84922851890Sopenharmony_ci  __u32 index;
85022851890Sopenharmony_ci  __u8 name[32];
85122851890Sopenharmony_ci  __u32 type;
85222851890Sopenharmony_ci  __u32 audioset;
85322851890Sopenharmony_ci  __u32 modulator;
85422851890Sopenharmony_ci  v4l2_std_id std;
85522851890Sopenharmony_ci  __u32 capabilities;
85622851890Sopenharmony_ci  __u32 reserved[3];
85722851890Sopenharmony_ci};
85822851890Sopenharmony_ci#define V4L2_OUTPUT_TYPE_MODULATOR 1
85922851890Sopenharmony_ci#define V4L2_OUTPUT_TYPE_ANALOG 2
86022851890Sopenharmony_ci#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3
86122851890Sopenharmony_ci#define V4L2_OUT_CAP_DV_TIMINGS 0x00000002
86222851890Sopenharmony_ci#define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS
86322851890Sopenharmony_ci#define V4L2_OUT_CAP_STD 0x00000004
86422851890Sopenharmony_ci#define V4L2_OUT_CAP_NATIVE_SIZE 0x00000008
86522851890Sopenharmony_cistruct v4l2_control {
86622851890Sopenharmony_ci  __u32 id;
86722851890Sopenharmony_ci  __s32 value;
86822851890Sopenharmony_ci};
86922851890Sopenharmony_cistruct v4l2_ext_control {
87022851890Sopenharmony_ci  __u32 id;
87122851890Sopenharmony_ci  __u32 size;
87222851890Sopenharmony_ci  __u32 reserved2[1];
87322851890Sopenharmony_ci  union {
87422851890Sopenharmony_ci    __s32 value;
87522851890Sopenharmony_ci    __s64 value64;
87622851890Sopenharmony_ci    char __user * string;
87722851890Sopenharmony_ci    __u8 __user * p_u8;
87822851890Sopenharmony_ci    __u16 __user * p_u16;
87922851890Sopenharmony_ci    __u32 __user * p_u32;
88022851890Sopenharmony_ci    struct v4l2_area __user * p_area;
88122851890Sopenharmony_ci    void __user * ptr;
88222851890Sopenharmony_ci  };
88322851890Sopenharmony_ci} __attribute__((packed));
88422851890Sopenharmony_cistruct v4l2_ext_controls {
88522851890Sopenharmony_ci  union {
88622851890Sopenharmony_ci    __u32 ctrl_class;
88722851890Sopenharmony_ci    __u32 which;
88822851890Sopenharmony_ci  };
88922851890Sopenharmony_ci  __u32 count;
89022851890Sopenharmony_ci  __u32 error_idx;
89122851890Sopenharmony_ci  __s32 request_fd;
89222851890Sopenharmony_ci  __u32 reserved[1];
89322851890Sopenharmony_ci  struct v4l2_ext_control * controls;
89422851890Sopenharmony_ci};
89522851890Sopenharmony_ci#define V4L2_CTRL_ID_MASK (0x0fffffff)
89622851890Sopenharmony_ci#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
89722851890Sopenharmony_ci#define V4L2_CTRL_ID2WHICH(id) ((id) & 0x0fff0000UL)
89822851890Sopenharmony_ci#define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)
89922851890Sopenharmony_ci#define V4L2_CTRL_MAX_DIMS (4)
90022851890Sopenharmony_ci#define V4L2_CTRL_WHICH_CUR_VAL 0
90122851890Sopenharmony_ci#define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000
90222851890Sopenharmony_ci#define V4L2_CTRL_WHICH_REQUEST_VAL 0x0f010000
90322851890Sopenharmony_cienum v4l2_ctrl_type {
90422851890Sopenharmony_ci  V4L2_CTRL_TYPE_INTEGER = 1,
90522851890Sopenharmony_ci  V4L2_CTRL_TYPE_BOOLEAN = 2,
90622851890Sopenharmony_ci  V4L2_CTRL_TYPE_MENU = 3,
90722851890Sopenharmony_ci  V4L2_CTRL_TYPE_BUTTON = 4,
90822851890Sopenharmony_ci  V4L2_CTRL_TYPE_INTEGER64 = 5,
90922851890Sopenharmony_ci  V4L2_CTRL_TYPE_CTRL_CLASS = 6,
91022851890Sopenharmony_ci  V4L2_CTRL_TYPE_STRING = 7,
91122851890Sopenharmony_ci  V4L2_CTRL_TYPE_BITMASK = 8,
91222851890Sopenharmony_ci  V4L2_CTRL_TYPE_INTEGER_MENU = 9,
91322851890Sopenharmony_ci  V4L2_CTRL_COMPOUND_TYPES = 0x0100,
91422851890Sopenharmony_ci  V4L2_CTRL_TYPE_U8 = 0x0100,
91522851890Sopenharmony_ci  V4L2_CTRL_TYPE_U16 = 0x0101,
91622851890Sopenharmony_ci  V4L2_CTRL_TYPE_U32 = 0x0102,
91722851890Sopenharmony_ci  V4L2_CTRL_TYPE_AREA = 0x0106,
91822851890Sopenharmony_ci};
91922851890Sopenharmony_cistruct v4l2_queryctrl {
92022851890Sopenharmony_ci  __u32 id;
92122851890Sopenharmony_ci  __u32 type;
92222851890Sopenharmony_ci  __u8 name[32];
92322851890Sopenharmony_ci  __s32 minimum;
92422851890Sopenharmony_ci  __s32 maximum;
92522851890Sopenharmony_ci  __s32 step;
92622851890Sopenharmony_ci  __s32 default_value;
92722851890Sopenharmony_ci  __u32 flags;
92822851890Sopenharmony_ci  __u32 reserved[2];
92922851890Sopenharmony_ci};
93022851890Sopenharmony_cistruct v4l2_query_ext_ctrl {
93122851890Sopenharmony_ci  __u32 id;
93222851890Sopenharmony_ci  __u32 type;
93322851890Sopenharmony_ci  char name[32];
93422851890Sopenharmony_ci  __s64 minimum;
93522851890Sopenharmony_ci  __s64 maximum;
93622851890Sopenharmony_ci  __u64 step;
93722851890Sopenharmony_ci  __s64 default_value;
93822851890Sopenharmony_ci  __u32 flags;
93922851890Sopenharmony_ci  __u32 elem_size;
94022851890Sopenharmony_ci  __u32 elems;
94122851890Sopenharmony_ci  __u32 nr_of_dims;
94222851890Sopenharmony_ci  __u32 dims[V4L2_CTRL_MAX_DIMS];
94322851890Sopenharmony_ci  __u32 reserved[32];
94422851890Sopenharmony_ci};
94522851890Sopenharmony_cistruct v4l2_querymenu {
94622851890Sopenharmony_ci  __u32 id;
94722851890Sopenharmony_ci  __u32 index;
94822851890Sopenharmony_ci  union {
94922851890Sopenharmony_ci    __u8 name[32];
95022851890Sopenharmony_ci    __s64 value;
95122851890Sopenharmony_ci  };
95222851890Sopenharmony_ci  __u32 reserved;
95322851890Sopenharmony_ci} __attribute__((packed));
95422851890Sopenharmony_ci#define V4L2_CTRL_FLAG_DISABLED 0x0001
95522851890Sopenharmony_ci#define V4L2_CTRL_FLAG_GRABBED 0x0002
95622851890Sopenharmony_ci#define V4L2_CTRL_FLAG_READ_ONLY 0x0004
95722851890Sopenharmony_ci#define V4L2_CTRL_FLAG_UPDATE 0x0008
95822851890Sopenharmony_ci#define V4L2_CTRL_FLAG_INACTIVE 0x0010
95922851890Sopenharmony_ci#define V4L2_CTRL_FLAG_SLIDER 0x0020
96022851890Sopenharmony_ci#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040
96122851890Sopenharmony_ci#define V4L2_CTRL_FLAG_VOLATILE 0x0080
96222851890Sopenharmony_ci#define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x0100
96322851890Sopenharmony_ci#define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 0x0200
96422851890Sopenharmony_ci#define V4L2_CTRL_FLAG_MODIFY_LAYOUT 0x0400
96522851890Sopenharmony_ci#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
96622851890Sopenharmony_ci#define V4L2_CTRL_FLAG_NEXT_COMPOUND 0x40000000
96722851890Sopenharmony_ci#define V4L2_CID_MAX_CTRLS 1024
96822851890Sopenharmony_ci#define V4L2_CID_PRIVATE_BASE 0x08000000
96922851890Sopenharmony_cistruct v4l2_tuner {
97022851890Sopenharmony_ci  __u32 index;
97122851890Sopenharmony_ci  __u8 name[32];
97222851890Sopenharmony_ci  __u32 type;
97322851890Sopenharmony_ci  __u32 capability;
97422851890Sopenharmony_ci  __u32 rangelow;
97522851890Sopenharmony_ci  __u32 rangehigh;
97622851890Sopenharmony_ci  __u32 rxsubchans;
97722851890Sopenharmony_ci  __u32 audmode;
97822851890Sopenharmony_ci  __s32 signal;
97922851890Sopenharmony_ci  __s32 afc;
98022851890Sopenharmony_ci  __u32 reserved[4];
98122851890Sopenharmony_ci};
98222851890Sopenharmony_cistruct v4l2_modulator {
98322851890Sopenharmony_ci  __u32 index;
98422851890Sopenharmony_ci  __u8 name[32];
98522851890Sopenharmony_ci  __u32 capability;
98622851890Sopenharmony_ci  __u32 rangelow;
98722851890Sopenharmony_ci  __u32 rangehigh;
98822851890Sopenharmony_ci  __u32 txsubchans;
98922851890Sopenharmony_ci  __u32 type;
99022851890Sopenharmony_ci  __u32 reserved[3];
99122851890Sopenharmony_ci};
99222851890Sopenharmony_ci#define V4L2_TUNER_CAP_LOW 0x0001
99322851890Sopenharmony_ci#define V4L2_TUNER_CAP_NORM 0x0002
99422851890Sopenharmony_ci#define V4L2_TUNER_CAP_HWSEEK_BOUNDED 0x0004
99522851890Sopenharmony_ci#define V4L2_TUNER_CAP_HWSEEK_WRAP 0x0008
99622851890Sopenharmony_ci#define V4L2_TUNER_CAP_STEREO 0x0010
99722851890Sopenharmony_ci#define V4L2_TUNER_CAP_LANG2 0x0020
99822851890Sopenharmony_ci#define V4L2_TUNER_CAP_SAP 0x0020
99922851890Sopenharmony_ci#define V4L2_TUNER_CAP_LANG1 0x0040
100022851890Sopenharmony_ci#define V4L2_TUNER_CAP_RDS 0x0080
100122851890Sopenharmony_ci#define V4L2_TUNER_CAP_RDS_BLOCK_IO 0x0100
100222851890Sopenharmony_ci#define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200
100322851890Sopenharmony_ci#define V4L2_TUNER_CAP_FREQ_BANDS 0x0400
100422851890Sopenharmony_ci#define V4L2_TUNER_CAP_HWSEEK_PROG_LIM 0x0800
100522851890Sopenharmony_ci#define V4L2_TUNER_CAP_1HZ 0x1000
100622851890Sopenharmony_ci#define V4L2_TUNER_SUB_MONO 0x0001
100722851890Sopenharmony_ci#define V4L2_TUNER_SUB_STEREO 0x0002
100822851890Sopenharmony_ci#define V4L2_TUNER_SUB_LANG2 0x0004
100922851890Sopenharmony_ci#define V4L2_TUNER_SUB_SAP 0x0004
101022851890Sopenharmony_ci#define V4L2_TUNER_SUB_LANG1 0x0008
101122851890Sopenharmony_ci#define V4L2_TUNER_SUB_RDS 0x0010
101222851890Sopenharmony_ci#define V4L2_TUNER_MODE_MONO 0x0000
101322851890Sopenharmony_ci#define V4L2_TUNER_MODE_STEREO 0x0001
101422851890Sopenharmony_ci#define V4L2_TUNER_MODE_LANG2 0x0002
101522851890Sopenharmony_ci#define V4L2_TUNER_MODE_SAP 0x0002
101622851890Sopenharmony_ci#define V4L2_TUNER_MODE_LANG1 0x0003
101722851890Sopenharmony_ci#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004
101822851890Sopenharmony_cistruct v4l2_frequency {
101922851890Sopenharmony_ci  __u32 tuner;
102022851890Sopenharmony_ci  __u32 type;
102122851890Sopenharmony_ci  __u32 frequency;
102222851890Sopenharmony_ci  __u32 reserved[8];
102322851890Sopenharmony_ci};
102422851890Sopenharmony_ci#define V4L2_BAND_MODULATION_VSB (1 << 1)
102522851890Sopenharmony_ci#define V4L2_BAND_MODULATION_FM (1 << 2)
102622851890Sopenharmony_ci#define V4L2_BAND_MODULATION_AM (1 << 3)
102722851890Sopenharmony_cistruct v4l2_frequency_band {
102822851890Sopenharmony_ci  __u32 tuner;
102922851890Sopenharmony_ci  __u32 type;
103022851890Sopenharmony_ci  __u32 index;
103122851890Sopenharmony_ci  __u32 capability;
103222851890Sopenharmony_ci  __u32 rangelow;
103322851890Sopenharmony_ci  __u32 rangehigh;
103422851890Sopenharmony_ci  __u32 modulation;
103522851890Sopenharmony_ci  __u32 reserved[9];
103622851890Sopenharmony_ci};
103722851890Sopenharmony_cistruct v4l2_hw_freq_seek {
103822851890Sopenharmony_ci  __u32 tuner;
103922851890Sopenharmony_ci  __u32 type;
104022851890Sopenharmony_ci  __u32 seek_upward;
104122851890Sopenharmony_ci  __u32 wrap_around;
104222851890Sopenharmony_ci  __u32 spacing;
104322851890Sopenharmony_ci  __u32 rangelow;
104422851890Sopenharmony_ci  __u32 rangehigh;
104522851890Sopenharmony_ci  __u32 reserved[5];
104622851890Sopenharmony_ci};
104722851890Sopenharmony_cistruct v4l2_rds_data {
104822851890Sopenharmony_ci  __u8 lsb;
104922851890Sopenharmony_ci  __u8 msb;
105022851890Sopenharmony_ci  __u8 block;
105122851890Sopenharmony_ci} __attribute__((packed));
105222851890Sopenharmony_ci#define V4L2_RDS_BLOCK_MSK 0x7
105322851890Sopenharmony_ci#define V4L2_RDS_BLOCK_A 0
105422851890Sopenharmony_ci#define V4L2_RDS_BLOCK_B 1
105522851890Sopenharmony_ci#define V4L2_RDS_BLOCK_C 2
105622851890Sopenharmony_ci#define V4L2_RDS_BLOCK_D 3
105722851890Sopenharmony_ci#define V4L2_RDS_BLOCK_C_ALT 4
105822851890Sopenharmony_ci#define V4L2_RDS_BLOCK_INVALID 7
105922851890Sopenharmony_ci#define V4L2_RDS_BLOCK_CORRECTED 0x40
106022851890Sopenharmony_ci#define V4L2_RDS_BLOCK_ERROR 0x80
106122851890Sopenharmony_cistruct v4l2_audio {
106222851890Sopenharmony_ci  __u32 index;
106322851890Sopenharmony_ci  __u8 name[32];
106422851890Sopenharmony_ci  __u32 capability;
106522851890Sopenharmony_ci  __u32 mode;
106622851890Sopenharmony_ci  __u32 reserved[2];
106722851890Sopenharmony_ci};
106822851890Sopenharmony_ci#define V4L2_AUDCAP_STEREO 0x00001
106922851890Sopenharmony_ci#define V4L2_AUDCAP_AVL 0x00002
107022851890Sopenharmony_ci#define V4L2_AUDMODE_AVL 0x00001
107122851890Sopenharmony_cistruct v4l2_audioout {
107222851890Sopenharmony_ci  __u32 index;
107322851890Sopenharmony_ci  __u8 name[32];
107422851890Sopenharmony_ci  __u32 capability;
107522851890Sopenharmony_ci  __u32 mode;
107622851890Sopenharmony_ci  __u32 reserved[2];
107722851890Sopenharmony_ci};
107822851890Sopenharmony_ci#define V4L2_ENC_IDX_FRAME_I (0)
107922851890Sopenharmony_ci#define V4L2_ENC_IDX_FRAME_P (1)
108022851890Sopenharmony_ci#define V4L2_ENC_IDX_FRAME_B (2)
108122851890Sopenharmony_ci#define V4L2_ENC_IDX_FRAME_MASK (0xf)
108222851890Sopenharmony_cistruct v4l2_enc_idx_entry {
108322851890Sopenharmony_ci  __u64 offset;
108422851890Sopenharmony_ci  __u64 pts;
108522851890Sopenharmony_ci  __u32 length;
108622851890Sopenharmony_ci  __u32 flags;
108722851890Sopenharmony_ci  __u32 reserved[2];
108822851890Sopenharmony_ci};
108922851890Sopenharmony_ci#define V4L2_ENC_IDX_ENTRIES (64)
109022851890Sopenharmony_cistruct v4l2_enc_idx {
109122851890Sopenharmony_ci  __u32 entries;
109222851890Sopenharmony_ci  __u32 entries_cap;
109322851890Sopenharmony_ci  __u32 reserved[4];
109422851890Sopenharmony_ci  struct v4l2_enc_idx_entry entry[V4L2_ENC_IDX_ENTRIES];
109522851890Sopenharmony_ci};
109622851890Sopenharmony_ci#define V4L2_ENC_CMD_START (0)
109722851890Sopenharmony_ci#define V4L2_ENC_CMD_STOP (1)
109822851890Sopenharmony_ci#define V4L2_ENC_CMD_PAUSE (2)
109922851890Sopenharmony_ci#define V4L2_ENC_CMD_RESUME (3)
110022851890Sopenharmony_ci#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 << 0)
110122851890Sopenharmony_cistruct v4l2_encoder_cmd {
110222851890Sopenharmony_ci  __u32 cmd;
110322851890Sopenharmony_ci  __u32 flags;
110422851890Sopenharmony_ci  union {
110522851890Sopenharmony_ci    struct {
110622851890Sopenharmony_ci      __u32 data[8];
110722851890Sopenharmony_ci    } raw;
110822851890Sopenharmony_ci  };
110922851890Sopenharmony_ci};
111022851890Sopenharmony_ci#define V4L2_DEC_CMD_START (0)
111122851890Sopenharmony_ci#define V4L2_DEC_CMD_STOP (1)
111222851890Sopenharmony_ci#define V4L2_DEC_CMD_PAUSE (2)
111322851890Sopenharmony_ci#define V4L2_DEC_CMD_RESUME (3)
111422851890Sopenharmony_ci#define V4L2_DEC_CMD_FLUSH (4)
111522851890Sopenharmony_ci#define V4L2_DEC_CMD_START_MUTE_AUDIO (1 << 0)
111622851890Sopenharmony_ci#define V4L2_DEC_CMD_PAUSE_TO_BLACK (1 << 0)
111722851890Sopenharmony_ci#define V4L2_DEC_CMD_STOP_TO_BLACK (1 << 0)
111822851890Sopenharmony_ci#define V4L2_DEC_CMD_STOP_IMMEDIATELY (1 << 1)
111922851890Sopenharmony_ci#define V4L2_DEC_START_FMT_NONE (0)
112022851890Sopenharmony_ci#define V4L2_DEC_START_FMT_GOP (1)
112122851890Sopenharmony_cistruct v4l2_decoder_cmd {
112222851890Sopenharmony_ci  __u32 cmd;
112322851890Sopenharmony_ci  __u32 flags;
112422851890Sopenharmony_ci  union {
112522851890Sopenharmony_ci    struct {
112622851890Sopenharmony_ci      __u64 pts;
112722851890Sopenharmony_ci    } stop;
112822851890Sopenharmony_ci    struct {
112922851890Sopenharmony_ci      __s32 speed;
113022851890Sopenharmony_ci      __u32 format;
113122851890Sopenharmony_ci    } start;
113222851890Sopenharmony_ci    struct {
113322851890Sopenharmony_ci      __u32 data[16];
113422851890Sopenharmony_ci    } raw;
113522851890Sopenharmony_ci  };
113622851890Sopenharmony_ci};
113722851890Sopenharmony_cistruct v4l2_vbi_format {
113822851890Sopenharmony_ci  __u32 sampling_rate;
113922851890Sopenharmony_ci  __u32 offset;
114022851890Sopenharmony_ci  __u32 samples_per_line;
114122851890Sopenharmony_ci  __u32 sample_format;
114222851890Sopenharmony_ci  __s32 start[2];
114322851890Sopenharmony_ci  __u32 count[2];
114422851890Sopenharmony_ci  __u32 flags;
114522851890Sopenharmony_ci  __u32 reserved[2];
114622851890Sopenharmony_ci};
114722851890Sopenharmony_ci#define V4L2_VBI_UNSYNC (1 << 0)
114822851890Sopenharmony_ci#define V4L2_VBI_INTERLACED (1 << 1)
114922851890Sopenharmony_ci#define V4L2_VBI_ITU_525_F1_START (1)
115022851890Sopenharmony_ci#define V4L2_VBI_ITU_525_F2_START (264)
115122851890Sopenharmony_ci#define V4L2_VBI_ITU_625_F1_START (1)
115222851890Sopenharmony_ci#define V4L2_VBI_ITU_625_F2_START (314)
115322851890Sopenharmony_cistruct v4l2_sliced_vbi_format {
115422851890Sopenharmony_ci  __u16 service_set;
115522851890Sopenharmony_ci  __u16 service_lines[2][24];
115622851890Sopenharmony_ci  __u32 io_size;
115722851890Sopenharmony_ci  __u32 reserved[2];
115822851890Sopenharmony_ci};
115922851890Sopenharmony_ci#define V4L2_SLICED_TELETEXT_B (0x0001)
116022851890Sopenharmony_ci#define V4L2_SLICED_VPS (0x0400)
116122851890Sopenharmony_ci#define V4L2_SLICED_CAPTION_525 (0x1000)
116222851890Sopenharmony_ci#define V4L2_SLICED_WSS_625 (0x4000)
116322851890Sopenharmony_ci#define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525)
116422851890Sopenharmony_ci#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625)
116522851890Sopenharmony_cistruct v4l2_sliced_vbi_cap {
116622851890Sopenharmony_ci  __u16 service_set;
116722851890Sopenharmony_ci  __u16 service_lines[2][24];
116822851890Sopenharmony_ci  __u32 type;
116922851890Sopenharmony_ci  __u32 reserved[3];
117022851890Sopenharmony_ci};
117122851890Sopenharmony_cistruct v4l2_sliced_vbi_data {
117222851890Sopenharmony_ci  __u32 id;
117322851890Sopenharmony_ci  __u32 field;
117422851890Sopenharmony_ci  __u32 line;
117522851890Sopenharmony_ci  __u32 reserved;
117622851890Sopenharmony_ci  __u8 data[48];
117722851890Sopenharmony_ci};
117822851890Sopenharmony_ci#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
117922851890Sopenharmony_ci#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
118022851890Sopenharmony_ci#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
118122851890Sopenharmony_ci#define V4L2_MPEG_VBI_IVTV_VPS (7)
118222851890Sopenharmony_cistruct v4l2_mpeg_vbi_itv0_line {
118322851890Sopenharmony_ci  __u8 id;
118422851890Sopenharmony_ci  __u8 data[42];
118522851890Sopenharmony_ci} __attribute__((packed));
118622851890Sopenharmony_cistruct v4l2_mpeg_vbi_itv0 {
118722851890Sopenharmony_ci  __le32 linemask[2];
118822851890Sopenharmony_ci  struct v4l2_mpeg_vbi_itv0_line line[35];
118922851890Sopenharmony_ci} __attribute__((packed));
119022851890Sopenharmony_cistruct v4l2_mpeg_vbi_ITV0 {
119122851890Sopenharmony_ci  struct v4l2_mpeg_vbi_itv0_line line[36];
119222851890Sopenharmony_ci} __attribute__((packed));
119322851890Sopenharmony_ci#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
119422851890Sopenharmony_ci#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
119522851890Sopenharmony_cistruct v4l2_mpeg_vbi_fmt_ivtv {
119622851890Sopenharmony_ci  __u8 magic[4];
119722851890Sopenharmony_ci  union {
119822851890Sopenharmony_ci    struct v4l2_mpeg_vbi_itv0 itv0;
119922851890Sopenharmony_ci    struct v4l2_mpeg_vbi_ITV0 ITV0;
120022851890Sopenharmony_ci  };
120122851890Sopenharmony_ci} __attribute__((packed));
120222851890Sopenharmony_cistruct v4l2_plane_pix_format {
120322851890Sopenharmony_ci  __u32 sizeimage;
120422851890Sopenharmony_ci  __u32 bytesperline;
120522851890Sopenharmony_ci  __u16 reserved[6];
120622851890Sopenharmony_ci} __attribute__((packed));
120722851890Sopenharmony_cistruct v4l2_pix_format_mplane {
120822851890Sopenharmony_ci  __u32 width;
120922851890Sopenharmony_ci  __u32 height;
121022851890Sopenharmony_ci  __u32 pixelformat;
121122851890Sopenharmony_ci  __u32 field;
121222851890Sopenharmony_ci  __u32 colorspace;
121322851890Sopenharmony_ci  struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES];
121422851890Sopenharmony_ci  __u8 num_planes;
121522851890Sopenharmony_ci  __u8 flags;
121622851890Sopenharmony_ci  union {
121722851890Sopenharmony_ci    __u8 ycbcr_enc;
121822851890Sopenharmony_ci    __u8 hsv_enc;
121922851890Sopenharmony_ci  };
122022851890Sopenharmony_ci  __u8 quantization;
122122851890Sopenharmony_ci  __u8 xfer_func;
122222851890Sopenharmony_ci  __u8 reserved[7];
122322851890Sopenharmony_ci} __attribute__((packed));
122422851890Sopenharmony_cistruct v4l2_sdr_format {
122522851890Sopenharmony_ci  __u32 pixelformat;
122622851890Sopenharmony_ci  __u32 buffersize;
122722851890Sopenharmony_ci  __u8 reserved[24];
122822851890Sopenharmony_ci} __attribute__((packed));
122922851890Sopenharmony_cistruct v4l2_meta_format {
123022851890Sopenharmony_ci  __u32 dataformat;
123122851890Sopenharmony_ci  __u32 buffersize;
123222851890Sopenharmony_ci} __attribute__((packed));
123322851890Sopenharmony_cistruct v4l2_format {
123422851890Sopenharmony_ci  __u32 type;
123522851890Sopenharmony_ci  union {
123622851890Sopenharmony_ci    struct v4l2_pix_format pix;
123722851890Sopenharmony_ci    struct v4l2_pix_format_mplane pix_mp;
123822851890Sopenharmony_ci    struct v4l2_window win;
123922851890Sopenharmony_ci    struct v4l2_vbi_format vbi;
124022851890Sopenharmony_ci    struct v4l2_sliced_vbi_format sliced;
124122851890Sopenharmony_ci    struct v4l2_sdr_format sdr;
124222851890Sopenharmony_ci    struct v4l2_meta_format meta;
124322851890Sopenharmony_ci    __u8 raw_data[200];
124422851890Sopenharmony_ci  } fmt;
124522851890Sopenharmony_ci};
124622851890Sopenharmony_cistruct v4l2_streamparm {
124722851890Sopenharmony_ci  __u32 type;
124822851890Sopenharmony_ci  union {
124922851890Sopenharmony_ci    struct v4l2_captureparm capture;
125022851890Sopenharmony_ci    struct v4l2_outputparm output;
125122851890Sopenharmony_ci    __u8 raw_data[200];
125222851890Sopenharmony_ci  } parm;
125322851890Sopenharmony_ci};
125422851890Sopenharmony_ci#define V4L2_EVENT_ALL 0
125522851890Sopenharmony_ci#define V4L2_EVENT_VSYNC 1
125622851890Sopenharmony_ci#define V4L2_EVENT_EOS 2
125722851890Sopenharmony_ci#define V4L2_EVENT_CTRL 3
125822851890Sopenharmony_ci#define V4L2_EVENT_FRAME_SYNC 4
125922851890Sopenharmony_ci#define V4L2_EVENT_SOURCE_CHANGE 5
126022851890Sopenharmony_ci#define V4L2_EVENT_MOTION_DET 6
126122851890Sopenharmony_ci#define V4L2_EVENT_PRIVATE_START 0x08000000
126222851890Sopenharmony_cistruct v4l2_event_vsync {
126322851890Sopenharmony_ci  __u8 field;
126422851890Sopenharmony_ci} __attribute__((packed));
126522851890Sopenharmony_ci#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0)
126622851890Sopenharmony_ci#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1)
126722851890Sopenharmony_ci#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2)
126822851890Sopenharmony_cistruct v4l2_event_ctrl {
126922851890Sopenharmony_ci  __u32 changes;
127022851890Sopenharmony_ci  __u32 type;
127122851890Sopenharmony_ci  union {
127222851890Sopenharmony_ci    __s32 value;
127322851890Sopenharmony_ci    __s64 value64;
127422851890Sopenharmony_ci  };
127522851890Sopenharmony_ci  __u32 flags;
127622851890Sopenharmony_ci  __s32 minimum;
127722851890Sopenharmony_ci  __s32 maximum;
127822851890Sopenharmony_ci  __s32 step;
127922851890Sopenharmony_ci  __s32 default_value;
128022851890Sopenharmony_ci};
128122851890Sopenharmony_cistruct v4l2_event_frame_sync {
128222851890Sopenharmony_ci  __u32 frame_sequence;
128322851890Sopenharmony_ci};
128422851890Sopenharmony_ci#define V4L2_EVENT_SRC_CH_RESOLUTION (1 << 0)
128522851890Sopenharmony_cistruct v4l2_event_src_change {
128622851890Sopenharmony_ci  __u32 changes;
128722851890Sopenharmony_ci};
128822851890Sopenharmony_ci#define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ (1 << 0)
128922851890Sopenharmony_cistruct v4l2_event_motion_det {
129022851890Sopenharmony_ci  __u32 flags;
129122851890Sopenharmony_ci  __u32 frame_sequence;
129222851890Sopenharmony_ci  __u32 region_mask;
129322851890Sopenharmony_ci};
129422851890Sopenharmony_cistruct v4l2_event {
129522851890Sopenharmony_ci  __u32 type;
129622851890Sopenharmony_ci  union {
129722851890Sopenharmony_ci    struct v4l2_event_vsync vsync;
129822851890Sopenharmony_ci    struct v4l2_event_ctrl ctrl;
129922851890Sopenharmony_ci    struct v4l2_event_frame_sync frame_sync;
130022851890Sopenharmony_ci    struct v4l2_event_src_change src_change;
130122851890Sopenharmony_ci    struct v4l2_event_motion_det motion_det;
130222851890Sopenharmony_ci    __u8 data[64];
130322851890Sopenharmony_ci  } u;
130422851890Sopenharmony_ci  __u32 pending;
130522851890Sopenharmony_ci  __u32 sequence;
130622851890Sopenharmony_ci  struct timespec timestamp;
130722851890Sopenharmony_ci  __u32 id;
130822851890Sopenharmony_ci  __u32 reserved[8];
130922851890Sopenharmony_ci};
131022851890Sopenharmony_ci#define V4L2_EVENT_SUB_FL_SEND_INITIAL (1 << 0)
131122851890Sopenharmony_ci#define V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK (1 << 1)
131222851890Sopenharmony_cistruct v4l2_event_subscription {
131322851890Sopenharmony_ci  __u32 type;
131422851890Sopenharmony_ci  __u32 id;
131522851890Sopenharmony_ci  __u32 flags;
131622851890Sopenharmony_ci  __u32 reserved[5];
131722851890Sopenharmony_ci};
131822851890Sopenharmony_ci#define V4L2_CHIP_MATCH_BRIDGE 0
131922851890Sopenharmony_ci#define V4L2_CHIP_MATCH_SUBDEV 4
132022851890Sopenharmony_ci#define V4L2_CHIP_MATCH_HOST V4L2_CHIP_MATCH_BRIDGE
132122851890Sopenharmony_ci#define V4L2_CHIP_MATCH_I2C_DRIVER 1
132222851890Sopenharmony_ci#define V4L2_CHIP_MATCH_I2C_ADDR 2
132322851890Sopenharmony_ci#define V4L2_CHIP_MATCH_AC97 3
132422851890Sopenharmony_cistruct v4l2_dbg_match {
132522851890Sopenharmony_ci  __u32 type;
132622851890Sopenharmony_ci  union {
132722851890Sopenharmony_ci    __u32 addr;
132822851890Sopenharmony_ci    char name[32];
132922851890Sopenharmony_ci  };
133022851890Sopenharmony_ci} __attribute__((packed));
133122851890Sopenharmony_cistruct v4l2_dbg_register {
133222851890Sopenharmony_ci  struct v4l2_dbg_match match;
133322851890Sopenharmony_ci  __u32 size;
133422851890Sopenharmony_ci  __u64 reg;
133522851890Sopenharmony_ci  __u64 val;
133622851890Sopenharmony_ci} __attribute__((packed));
133722851890Sopenharmony_ci#define V4L2_CHIP_FL_READABLE (1 << 0)
133822851890Sopenharmony_ci#define V4L2_CHIP_FL_WRITABLE (1 << 1)
133922851890Sopenharmony_cistruct v4l2_dbg_chip_info {
134022851890Sopenharmony_ci  struct v4l2_dbg_match match;
134122851890Sopenharmony_ci  char name[32];
134222851890Sopenharmony_ci  __u32 flags;
134322851890Sopenharmony_ci  __u32 reserved[32];
134422851890Sopenharmony_ci} __attribute__((packed));
134522851890Sopenharmony_cistruct v4l2_create_buffers {
134622851890Sopenharmony_ci  __u32 index;
134722851890Sopenharmony_ci  __u32 count;
134822851890Sopenharmony_ci  __u32 memory;
134922851890Sopenharmony_ci  struct v4l2_format format;
135022851890Sopenharmony_ci  __u32 capabilities;
135122851890Sopenharmony_ci  __u32 reserved[7];
135222851890Sopenharmony_ci};
135322851890Sopenharmony_ci#define VIDIOC_QUERYCAP _IOR('V', 0, struct v4l2_capability)
135422851890Sopenharmony_ci#define VIDIOC_ENUM_FMT _IOWR('V', 2, struct v4l2_fmtdesc)
135522851890Sopenharmony_ci#define VIDIOC_G_FMT _IOWR('V', 4, struct v4l2_format)
135622851890Sopenharmony_ci#define VIDIOC_S_FMT _IOWR('V', 5, struct v4l2_format)
135722851890Sopenharmony_ci#define VIDIOC_REQBUFS _IOWR('V', 8, struct v4l2_requestbuffers)
135822851890Sopenharmony_ci#define VIDIOC_QUERYBUF _IOWR('V', 9, struct v4l2_buffer)
135922851890Sopenharmony_ci#define VIDIOC_G_FBUF _IOR('V', 10, struct v4l2_framebuffer)
136022851890Sopenharmony_ci#define VIDIOC_S_FBUF _IOW('V', 11, struct v4l2_framebuffer)
136122851890Sopenharmony_ci#define VIDIOC_OVERLAY _IOW('V', 14, int)
136222851890Sopenharmony_ci#define VIDIOC_QBUF _IOWR('V', 15, struct v4l2_buffer)
136322851890Sopenharmony_ci#define VIDIOC_EXPBUF _IOWR('V', 16, struct v4l2_exportbuffer)
136422851890Sopenharmony_ci#define VIDIOC_DQBUF _IOWR('V', 17, struct v4l2_buffer)
136522851890Sopenharmony_ci#define VIDIOC_STREAMON _IOW('V', 18, int)
136622851890Sopenharmony_ci#define VIDIOC_STREAMOFF _IOW('V', 19, int)
136722851890Sopenharmony_ci#define VIDIOC_G_PARM _IOWR('V', 21, struct v4l2_streamparm)
136822851890Sopenharmony_ci#define VIDIOC_S_PARM _IOWR('V', 22, struct v4l2_streamparm)
136922851890Sopenharmony_ci#define VIDIOC_G_STD _IOR('V', 23, v4l2_std_id)
137022851890Sopenharmony_ci#define VIDIOC_S_STD _IOW('V', 24, v4l2_std_id)
137122851890Sopenharmony_ci#define VIDIOC_ENUMSTD _IOWR('V', 25, struct v4l2_standard)
137222851890Sopenharmony_ci#define VIDIOC_ENUMINPUT _IOWR('V', 26, struct v4l2_input)
137322851890Sopenharmony_ci#define VIDIOC_G_CTRL _IOWR('V', 27, struct v4l2_control)
137422851890Sopenharmony_ci#define VIDIOC_S_CTRL _IOWR('V', 28, struct v4l2_control)
137522851890Sopenharmony_ci#define VIDIOC_G_TUNER _IOWR('V', 29, struct v4l2_tuner)
137622851890Sopenharmony_ci#define VIDIOC_S_TUNER _IOW('V', 30, struct v4l2_tuner)
137722851890Sopenharmony_ci#define VIDIOC_G_AUDIO _IOR('V', 33, struct v4l2_audio)
137822851890Sopenharmony_ci#define VIDIOC_S_AUDIO _IOW('V', 34, struct v4l2_audio)
137922851890Sopenharmony_ci#define VIDIOC_QUERYCTRL _IOWR('V', 36, struct v4l2_queryctrl)
138022851890Sopenharmony_ci#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu)
138122851890Sopenharmony_ci#define VIDIOC_G_INPUT _IOR('V', 38, int)
138222851890Sopenharmony_ci#define VIDIOC_S_INPUT _IOWR('V', 39, int)
138322851890Sopenharmony_ci#define VIDIOC_G_EDID _IOWR('V', 40, struct v4l2_edid)
138422851890Sopenharmony_ci#define VIDIOC_S_EDID _IOWR('V', 41, struct v4l2_edid)
138522851890Sopenharmony_ci#define VIDIOC_G_OUTPUT _IOR('V', 46, int)
138622851890Sopenharmony_ci#define VIDIOC_S_OUTPUT _IOWR('V', 47, int)
138722851890Sopenharmony_ci#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output)
138822851890Sopenharmony_ci#define VIDIOC_G_AUDOUT _IOR('V', 49, struct v4l2_audioout)
138922851890Sopenharmony_ci#define VIDIOC_S_AUDOUT _IOW('V', 50, struct v4l2_audioout)
139022851890Sopenharmony_ci#define VIDIOC_G_MODULATOR _IOWR('V', 54, struct v4l2_modulator)
139122851890Sopenharmony_ci#define VIDIOC_S_MODULATOR _IOW('V', 55, struct v4l2_modulator)
139222851890Sopenharmony_ci#define VIDIOC_G_FREQUENCY _IOWR('V', 56, struct v4l2_frequency)
139322851890Sopenharmony_ci#define VIDIOC_S_FREQUENCY _IOW('V', 57, struct v4l2_frequency)
139422851890Sopenharmony_ci#define VIDIOC_CROPCAP _IOWR('V', 58, struct v4l2_cropcap)
139522851890Sopenharmony_ci#define VIDIOC_G_CROP _IOWR('V', 59, struct v4l2_crop)
139622851890Sopenharmony_ci#define VIDIOC_S_CROP _IOW('V', 60, struct v4l2_crop)
139722851890Sopenharmony_ci#define VIDIOC_G_JPEGCOMP _IOR('V', 61, struct v4l2_jpegcompression)
139822851890Sopenharmony_ci#define VIDIOC_S_JPEGCOMP _IOW('V', 62, struct v4l2_jpegcompression)
139922851890Sopenharmony_ci#define VIDIOC_QUERYSTD _IOR('V', 63, v4l2_std_id)
140022851890Sopenharmony_ci#define VIDIOC_TRY_FMT _IOWR('V', 64, struct v4l2_format)
140122851890Sopenharmony_ci#define VIDIOC_ENUMAUDIO _IOWR('V', 65, struct v4l2_audio)
140222851890Sopenharmony_ci#define VIDIOC_ENUMAUDOUT _IOWR('V', 66, struct v4l2_audioout)
140322851890Sopenharmony_ci#define VIDIOC_G_PRIORITY _IOR('V', 67, __u32)
140422851890Sopenharmony_ci#define VIDIOC_S_PRIORITY _IOW('V', 68, __u32)
140522851890Sopenharmony_ci#define VIDIOC_G_SLICED_VBI_CAP _IOWR('V', 69, struct v4l2_sliced_vbi_cap)
140622851890Sopenharmony_ci#define VIDIOC_LOG_STATUS _IO('V', 70)
140722851890Sopenharmony_ci#define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct v4l2_ext_controls)
140822851890Sopenharmony_ci#define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct v4l2_ext_controls)
140922851890Sopenharmony_ci#define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct v4l2_ext_controls)
141022851890Sopenharmony_ci#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct v4l2_frmsizeenum)
141122851890Sopenharmony_ci#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct v4l2_frmivalenum)
141222851890Sopenharmony_ci#define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct v4l2_enc_idx)
141322851890Sopenharmony_ci#define VIDIOC_ENCODER_CMD _IOWR('V', 77, struct v4l2_encoder_cmd)
141422851890Sopenharmony_ci#define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct v4l2_encoder_cmd)
141522851890Sopenharmony_ci#define VIDIOC_DBG_S_REGISTER _IOW('V', 79, struct v4l2_dbg_register)
141622851890Sopenharmony_ci#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register)
141722851890Sopenharmony_ci#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)
141822851890Sopenharmony_ci#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)
141922851890Sopenharmony_ci#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)
142022851890Sopenharmony_ci#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event)
142122851890Sopenharmony_ci#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription)
142222851890Sopenharmony_ci#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription)
142322851890Sopenharmony_ci#define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers)
142422851890Sopenharmony_ci#define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer)
142522851890Sopenharmony_ci#define VIDIOC_G_SELECTION _IOWR('V', 94, struct v4l2_selection)
142622851890Sopenharmony_ci#define VIDIOC_S_SELECTION _IOWR('V', 95, struct v4l2_selection)
142722851890Sopenharmony_ci#define VIDIOC_DECODER_CMD _IOWR('V', 96, struct v4l2_decoder_cmd)
142822851890Sopenharmony_ci#define VIDIOC_TRY_DECODER_CMD _IOWR('V', 97, struct v4l2_decoder_cmd)
142922851890Sopenharmony_ci#define VIDIOC_ENUM_DV_TIMINGS _IOWR('V', 98, struct v4l2_enum_dv_timings)
143022851890Sopenharmony_ci#define VIDIOC_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings)
143122851890Sopenharmony_ci#define VIDIOC_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap)
143222851890Sopenharmony_ci#define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band)
143322851890Sopenharmony_ci#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
143422851890Sopenharmony_ci#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl)
143522851890Sopenharmony_ci#define BASE_VIDIOC_PRIVATE 192
143622851890Sopenharmony_ci#endif
1437