github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/linux/dev_video4linux.txt (about) 1 # Copyright 2018 syzkaller project authors. All rights reserved. 2 # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 3 4 include <linux/time.h> 5 include <linux/types.h> 6 include <uapi/asm/ioctl.h> 7 include <uapi/linux/fcntl.h> 8 include <uapi/linux/videodev2.h> 9 include <uapi/linux/v4l2-common.h> 10 include <uapi/linux/v4l2-subdev.h> 11 include <uapi/linux/v4l2-mediabus.h> 12 include <uapi/linux/media-bus-format.h> 13 include <uapi/linux/v4l2-controls.h> 14 include <uapi/linux/media.h> 15 16 resource fd_video[fd] 17 resource fd_v4l2_buffer[fd] 18 19 syz_open_dev$video(dev ptr[in, string["/dev/video#"]], id intptr, flags flags[open_flags]) fd_video 20 syz_open_dev$video4linux(dev ptr[in, string["/dev/v4l-subdev#"]], id intptr, flags flags[open_flags]) fd_video 21 22 # TODO: we now get wrong values for ioctl commands that involve v4l2_buffer and v4l2_event. 23 # Our definition uses 32-bit timespec, while kernel uses 64-bit timespec when __KERNEL__ is defined. 24 25 # Special support for CONFIG_VIDEO_VIMC/VIM2M/VIVID/VICODEC. 26 # Here we assume that all of them are enabled and the following arguments are passed on command line: 27 # vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 28 openat$vimc0(fd const[AT_FDCWD], file ptr[in, string["/dev/video0"]], flags const[O_RDWR], mode const[0]) fd_video 29 openat$vimc1(fd const[AT_FDCWD], file ptr[in, string["/dev/video1"]], flags const[O_RDWR], mode const[0]) fd_video 30 openat$vimc2(fd const[AT_FDCWD], file ptr[in, string["/dev/video2"]], flags const[O_RDWR], mode const[0]) fd_video 31 syz_open_dev$vivid(dev ptr[in, string["/dev/video#"]], id proc[3, 4], flags const[O_RDWR]) fd_video 32 openat$vicodec0(fd const[AT_FDCWD], file ptr[in, string["/dev/video36"]], flags const[O_RDWR], mode const[0]) fd_video 33 openat$vicodec1(fd const[AT_FDCWD], file ptr[in, string["/dev/video37"]], flags const[O_RDWR], mode const[0]) fd_video 34 # TODO: there are some complex rules as to what ioctl's are applicable to what devices 35 # (see determine_valid_ioctls in v4l2-dev.c). We don't have these rules described. 36 # Currently we just apply all ioctl's to all v4l devices. 37 syz_open_dev$swradio(dev ptr[in, string["/dev/swradio#"]], id proc[0, 2], flags const[O_RDWR]) fd_video 38 syz_open_dev$radio(dev ptr[in, string["/dev/radio#"]], id proc[0, 4], flags const[O_RDWR]) fd_video 39 syz_open_dev$vbi(dev ptr[in, string["/dev/vbi#"]], id proc[0, 4], flags const[O_RDWR]) fd_video 40 41 ioctl$VIDIOC_QUERYCAP(fd fd_video, cmd const[VIDIOC_QUERYCAP], arg ptr[out, v4l2_capability]) 42 ioctl$VIDIOC_ENUM_FMT(fd fd_video, cmd const[VIDIOC_ENUM_FMT], arg ptr[inout, v4l2_fmtdesc[v4l2_buf_type]]) 43 ioctl$VIDIOC_G_FMT(fd fd_video, cmd const[VIDIOC_G_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type]]) 44 ioctl$VIDIOC_S_FMT(fd fd_video, cmd const[VIDIOC_S_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type]]) 45 ioctl$VIDIOC_REQBUFS(fd fd_video, cmd const[VIDIOC_REQBUFS], arg ptr[inout, v4l2_requestbuffers[v4l2_buf_type]]) 46 # This variant serves as fd_v4l2_buffer constructor. 47 # Potentially more ioctl can create fd_v4l2_buffer, but the kernel code is hard to understand. 48 ioctl$VIDIOC_QUERYBUF_DMABUF(fd fd_video, cmd const[VIDIOC_QUERYBUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type, V4L2_MEMORY_DMABUF, fd_v4l2_buffer]]) 49 ioctl$VIDIOC_QUERYBUF(fd fd_video, cmd const[VIDIOC_QUERYBUF], arg ptr[inout, v4l2_buffer_t[v4l2_buf_type]]) 50 ioctl$VIDIOC_G_FBUF(fd fd_video, cmd const[VIDIOC_G_FBUF], arg ptr[inout, v4l2_framebuffer]) 51 ioctl$VIDIOC_S_FBUF(fd fd_video, cmd const[VIDIOC_S_FBUF], arg ptr[in, v4l2_framebuffer]) 52 ioctl$VIDIOC_OVERLAY(fd fd_video, cmd const[VIDIOC_OVERLAY], arg ptr[in, int32]) 53 ioctl$VIDIOC_QBUF(fd fd_video, cmd const[VIDIOC_QBUF], arg ptr[inout, v4l2_buffer_t[v4l2_buf_type]]) 54 ioctl$VIDIOC_EXPBUF(fd fd_video, cmd const[VIDIOC_EXPBUF], arg ptr[inout, v4l2_exportbuffer[v4l2_buf_type]]) 55 ioctl$VIDIOC_DQBUF(fd fd_video, cmd const[VIDIOC_DQBUF], arg ptr[inout, v4l2_buffer_t[v4l2_buf_type]]) 56 ioctl$VIDIOC_STREAMON(fd fd_video, cmd const[VIDIOC_STREAMON], arg ptr[in, int32]) 57 ioctl$VIDIOC_STREAMOFF(fd fd_video, cmd const[VIDIOC_STREAMOFF], arg ptr[in, int32]) 58 ioctl$VIDIOC_G_PARM(fd fd_video, cmd const[VIDIOC_G_PARM], arg ptr[inout, v4l2_streamparm]) 59 ioctl$VIDIOC_S_PARM(fd fd_video, cmd const[VIDIOC_S_PARM], arg ptr[inout, v4l2_streamparm]) 60 ioctl$VIDIOC_G_STD(fd fd_video, cmd const[VIDIOC_G_STD], arg ptr[out, v4l2_std_id]) 61 ioctl$VIDIOC_S_STD(fd fd_video, cmd const[VIDIOC_S_STD], arg ptr[in, v4l2_std_id]) 62 ioctl$VIDIOC_ENUMSTD(fd fd_video, cmd const[VIDIOC_ENUMSTD], arg ptr[inout, v4l2_standard]) 63 ioctl$VIDIOC_ENUMINPUT(fd fd_video, cmd const[VIDIOC_ENUMINPUT], arg ptr[inout, v4l2_input]) 64 ioctl$VIDIOC_G_CTRL(fd fd_video, cmd const[VIDIOC_G_CTRL], arg ptr[inout, v4l2_control]) 65 ioctl$VIDIOC_S_CTRL(fd fd_video, cmd const[VIDIOC_S_CTRL], arg ptr[inout, v4l2_control]) 66 ioctl$VIDIOC_G_TUNER(fd fd_video, cmd const[VIDIOC_G_TUNER], arg ptr[inout, v4l2_tuner]) 67 ioctl$VIDIOC_S_TUNER(fd fd_video, cmd const[VIDIOC_S_TUNER], arg ptr[in, v4l2_tuner]) 68 ioctl$VIDIOC_G_AUDIO(fd fd_video, cmd const[VIDIOC_G_AUDIO], arg ptr[out, v4l2_audio]) 69 ioctl$VIDIOC_S_AUDIO(fd fd_video, cmd const[VIDIOC_S_AUDIO], arg ptr[in, v4l2_audio]) 70 ioctl$VIDIOC_QUERYCTRL(fd fd_video, cmd const[VIDIOC_QUERYCTRL], arg ptr[inout, v4l2_queryctrl]) 71 ioctl$VIDIOC_QUERYMENU(fd fd_video, cmd const[VIDIOC_QUERYMENU], arg ptr[inout, v4l2_querymenu]) 72 ioctl$VIDIOC_G_INPUT(fd fd_video, cmd const[VIDIOC_G_INPUT], arg ptr[out, int32]) 73 ioctl$VIDIOC_S_INPUT(fd fd_video, cmd const[VIDIOC_S_INPUT], arg ptr[inout, int32]) 74 ioctl$VIDIOC_G_EDID(fd fd_video, cmd const[VIDIOC_G_EDID], arg ptr[inout, v4l2_edid]) 75 ioctl$VIDIOC_S_EDID(fd fd_video, cmd const[VIDIOC_S_EDID], arg ptr[inout, v4l2_edid]) 76 ioctl$VIDIOC_G_OUTPUT(fd fd_video, cmd const[VIDIOC_G_OUTPUT], arg ptr[out, int32]) 77 ioctl$VIDIOC_S_OUTPUT(fd fd_video, cmd const[VIDIOC_S_OUTPUT], arg ptr[inout, int32]) 78 ioctl$VIDIOC_ENUMOUTPUT(fd fd_video, cmd const[VIDIOC_ENUMOUTPUT], arg ptr[inout, v4l2_output]) 79 ioctl$VIDIOC_G_AUDOUT(fd fd_video, cmd const[VIDIOC_G_AUDOUT], arg ptr[out, v4l2_audioout]) 80 ioctl$VIDIOC_S_AUDOUT(fd fd_video, cmd const[VIDIOC_S_AUDOUT], arg ptr[in, v4l2_audioout]) 81 ioctl$VIDIOC_G_MODULATOR(fd fd_video, cmd const[VIDIOC_G_MODULATOR], arg ptr[inout, v4l2_modulator]) 82 ioctl$VIDIOC_S_MODULATOR(fd fd_video, cmd const[VIDIOC_S_MODULATOR], arg ptr[in, v4l2_modulator]) 83 ioctl$VIDIOC_G_FREQUENCY(fd fd_video, cmd const[VIDIOC_G_FREQUENCY], arg ptr[inout, v4l2_frequency]) 84 ioctl$VIDIOC_S_FREQUENCY(fd fd_video, cmd const[VIDIOC_S_FREQUENCY], arg ptr[in, v4l2_frequency]) 85 ioctl$VIDIOC_CROPCAP(fd fd_video, cmd const[VIDIOC_CROPCAP], arg ptr[inout, v4l2_cropcap]) 86 ioctl$VIDIOC_G_CROP(fd fd_video, cmd const[VIDIOC_G_CROP], arg ptr[inout, v4l2_crop]) 87 ioctl$VIDIOC_S_CROP(fd fd_video, cmd const[VIDIOC_S_CROP], arg ptr[in, v4l2_crop]) 88 ioctl$VIDIOC_G_JPEGCOMP(fd fd_video, cmd const[VIDIOC_G_JPEGCOMP], arg ptr[out, v4l2_jpegcompression]) 89 ioctl$VIDIOC_S_JPEGCOMP(fd fd_video, cmd const[VIDIOC_S_JPEGCOMP], arg ptr[in, v4l2_jpegcompression]) 90 ioctl$VIDIOC_QUERYSTD(fd fd_video, cmd const[VIDIOC_QUERYSTD], arg ptr[out, v4l2_std_id]) 91 ioctl$VIDIOC_TRY_FMT(fd fd_video, cmd const[VIDIOC_TRY_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type]]) 92 ioctl$VIDIOC_ENUMAUDIO(fd fd_video, cmd const[VIDIOC_ENUMAUDIO], arg ptr[inout, v4l2_audio]) 93 ioctl$VIDIOC_ENUMAUDOUT(fd fd_video, cmd const[VIDIOC_ENUMAUDOUT], arg ptr[inout, v4l2_audioout]) 94 ioctl$VIDIOC_G_PRIORITY(fd fd_video, cmd const[VIDIOC_G_PRIORITY], arg flags[v4l2_priority]) 95 ioctl$VIDIOC_S_PRIORITY(fd fd_video, cmd const[VIDIOC_S_PRIORITY], arg flags[v4l2_priority]) 96 ioctl$VIDIOC_G_SLICED_VBI_CAP(fd fd_video, cmd const[VIDIOC_G_SLICED_VBI_CAP], arg ptr[inout, v4l2_sliced_vbi_cap]) 97 ioctl$VIDIOC_LOG_STATUS(fd fd_video, cmd const[VIDIOC_LOG_STATUS], arg const[0]) 98 ioctl$VIDIOC_G_EXT_CTRLS(fd fd_video, cmd const[VIDIOC_G_EXT_CTRLS], arg ptr[inout, v4l2_ext_controls]) 99 ioctl$VIDIOC_S_EXT_CTRLS(fd fd_video, cmd const[VIDIOC_S_EXT_CTRLS], arg ptr[inout, v4l2_ext_controls]) 100 ioctl$VIDIOC_TRY_EXT_CTRLS(fd fd_video, cmd const[VIDIOC_TRY_EXT_CTRLS], arg ptr[inout, v4l2_ext_controls]) 101 ioctl$VIDIOC_ENUM_FRAMESIZES(fd fd_video, cmd const[VIDIOC_ENUM_FRAMESIZES], arg ptr[inout, v4l2_frmsizeenum]) 102 ioctl$VIDIOC_ENUM_FRAMEINTERVALS(fd fd_video, cmd const[VIDIOC_ENUM_FRAMEINTERVALS], arg ptr[inout, v4l2_frmivalenum]) 103 ioctl$VIDIOC_G_ENC_INDEX(fd fd_video, cmd const[VIDIOC_G_ENC_INDEX], arg ptr[out, v4l2_enc_idx]) 104 ioctl$VIDIOC_ENCODER_CMD(fd fd_video, cmd const[VIDIOC_ENCODER_CMD], arg ptr[inout, v4l2_encoder_cmd]) 105 ioctl$VIDIOC_TRY_ENCODER_CMD(fd fd_video, cmd const[VIDIOC_TRY_ENCODER_CMD], arg ptr[inout, v4l2_encoder_cmd]) 106 ioctl$VIDIOC_DBG_S_REGISTER(fd fd_video, cmd const[VIDIOC_DBG_S_REGISTER], arg ptr[in, v4l2_dbg_register]) 107 ioctl$VIDIOC_DBG_G_REGISTER(fd fd_video, cmd const[VIDIOC_DBG_G_REGISTER], arg ptr[inout, v4l2_dbg_register]) 108 ioctl$VIDIOC_S_HW_FREQ_SEEK(fd fd_video, cmd const[VIDIOC_S_HW_FREQ_SEEK], arg ptr[in, v4l2_hw_freq_seek]) 109 ioctl$VIDIOC_S_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_S_DV_TIMINGS], arg ptr[inout, v4l2_dv_timings]) 110 ioctl$VIDIOC_G_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_G_DV_TIMINGS], arg ptr[inout, v4l2_dv_timings]) 111 ioctl$VIDIOC_DQEVENT(fd fd_video, cmd const[VIDIOC_DQEVENT], arg ptr[out, v4l2_event]) 112 ioctl$VIDIOC_SUBSCRIBE_EVENT(fd fd_video, cmd const[VIDIOC_SUBSCRIBE_EVENT], arg ptr[in, v4l2_event_subscription]) 113 ioctl$VIDIOC_UNSUBSCRIBE_EVENT(fd fd_video, cmd const[VIDIOC_UNSUBSCRIBE_EVENT], arg ptr[in, v4l2_event_subscription]) 114 ioctl$VIDIOC_CREATE_BUFS(fd fd_video, cmd const[VIDIOC_CREATE_BUFS], arg ptr[inout, v4l2_create_buffers[v4l2_buf_type]]) 115 ioctl$VIDIOC_PREPARE_BUF(fd fd_video, cmd const[VIDIOC_PREPARE_BUF], arg ptr[inout, v4l2_buffer_t[v4l2_buf_type]]) 116 ioctl$VIDIOC_G_SELECTION(fd fd_video, cmd const[VIDIOC_G_SELECTION], arg ptr[inout, v4l2_selection]) 117 ioctl$VIDIOC_S_SELECTION(fd fd_video, cmd const[VIDIOC_S_SELECTION], arg ptr[inout, v4l2_selection]) 118 ioctl$VIDIOC_DECODER_CMD(fd fd_video, cmd const[VIDIOC_DECODER_CMD], arg ptr[inout, v4l2_decoder_cmd]) 119 ioctl$VIDIOC_TRY_DECODER_CMD(fd fd_video, cmd const[VIDIOC_TRY_DECODER_CMD], arg ptr[inout, v4l2_decoder_cmd]) 120 ioctl$VIDIOC_ENUM_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_ENUM_DV_TIMINGS], arg ptr[inout, v4l2_enum_dv_timings]) 121 ioctl$VIDIOC_QUERY_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_QUERY_DV_TIMINGS], arg ptr[out, v4l2_dv_timings]) 122 ioctl$VIDIOC_DV_TIMINGS_CAP(fd fd_video, cmd const[VIDIOC_DV_TIMINGS_CAP], arg ptr[inout, v4l2_dv_timings_cap]) 123 ioctl$VIDIOC_ENUM_FREQ_BANDS(fd fd_video, cmd const[VIDIOC_ENUM_FREQ_BANDS], arg ptr[inout, v4l2_frequency_band]) 124 ioctl$VIDIOC_DBG_G_CHIP_INFO(fd fd_video, cmd const[VIDIOC_DBG_G_CHIP_INFO], arg ptr[inout, v4l2_dbg_chip_info]) 125 ioctl$VIDIOC_QUERY_EXT_CTRL(fd fd_video, cmd const[VIDIOC_QUERY_EXT_CTRL], arg ptr[inout, v4l2_query_ext_ctrl]) 126 ioctl$VIDIOC_SUBDEV_G_FMT(fd fd_video, cmd const[VIDIOC_SUBDEV_G_FMT], arg ptr[inout, v4l2_subdev_format]) 127 ioctl$VIDIOC_SUBDEV_S_FMT(fd fd_video, cmd const[VIDIOC_SUBDEV_S_FMT], arg ptr[inout, v4l2_subdev_format]) 128 ioctl$VIDIOC_SUBDEV_G_FRAME_INTERVAL(fd fd_video, cmd const[VIDIOC_SUBDEV_G_FRAME_INTERVAL], arg ptr[inout, v4l2_subdev_frame_interval]) 129 ioctl$VIDIOC_SUBDEV_S_FRAME_INTERVAL(fd fd_video, cmd const[VIDIOC_SUBDEV_S_FRAME_INTERVAL], arg ptr[inout, v4l2_subdev_frame_interval]) 130 ioctl$VIDIOC_SUBDEV_ENUM_MBUS_CODE(fd fd_video, cmd const[VIDIOC_SUBDEV_ENUM_MBUS_CODE], arg ptr[inout, v4l2_subdev_mbus_code_enum]) 131 ioctl$VIDIOC_SUBDEV_ENUM_FRAME_SIZE(fd fd_video, cmd const[VIDIOC_SUBDEV_ENUM_FRAME_SIZE], arg ptr[inout, v4l2_subdev_frame_size_enum]) 132 ioctl$VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL(fd fd_video, cmd const[VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL], arg ptr[inout, v4l2_subdev_frame_interval_enum]) 133 ioctl$VIDIOC_SUBDEV_G_CROP(fd fd_video, cmd const[VIDIOC_SUBDEV_G_CROP], arg ptr[inout, v4l2_subdev_crop]) 134 ioctl$VIDIOC_SUBDEV_S_CROP(fd fd_video, cmd const[VIDIOC_SUBDEV_S_CROP], arg ptr[inout, v4l2_subdev_crop]) 135 ioctl$VIDIOC_SUBDEV_G_SELECTION(fd fd_video, cmd const[VIDIOC_SUBDEV_G_SELECTION], arg ptr[inout, v4l2_subdev_selection]) 136 ioctl$VIDIOC_SUBDEV_S_SELECTION(fd fd_video, cmd const[VIDIOC_SUBDEV_S_SELECTION], arg ptr[inout, v4l2_subdev_selection]) 137 ioctl$VIDIOC_SUBDEV_G_EDID(fd fd_video, cmd const[VIDIOC_SUBDEV_G_EDID], arg ptr[inout, v4l2_edid]) 138 ioctl$VIDIOC_SUBDEV_S_EDID(fd fd_video, cmd const[VIDIOC_SUBDEV_S_EDID], arg ptr[inout, v4l2_edid]) 139 ioctl$VIDIOC_SUBDEV_S_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_SUBDEV_S_DV_TIMINGS], arg ptr[inout, v4l2_dv_timings]) 140 ioctl$VIDIOC_SUBDEV_G_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_SUBDEV_G_DV_TIMINGS], arg ptr[inout, v4l2_dv_timings]) 141 ioctl$VIDIOC_SUBDEV_ENUM_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_SUBDEV_ENUM_DV_TIMINGS], arg ptr[inout, v4l2_enum_dv_timings]) 142 ioctl$VIDIOC_SUBDEV_QUERY_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_SUBDEV_QUERY_DV_TIMINGS], arg ptr[out, v4l2_dv_timings]) 143 ioctl$VIDIOC_SUBDEV_DV_TIMINGS_CAP(fd fd_video, cmd const[VIDIOC_SUBDEV_DV_TIMINGS_CAP], arg ptr[inout, v4l2_dv_timings_cap]) 144 145 # Generally we don't specify close on resources, 146 # but fd_v4l2_buffer is not used as input anywhere else (why is it needed?). 147 # So this is added to prevent compilation errors. 148 close$fd_v4l2_buffer(fd fd_v4l2_buffer) 149 150 v4l2_capability { 151 driver array[int8, 16] 152 card array[int8, 32] 153 bus_info array[int8, 32] 154 version int32 155 capabilities flags[v4l2_capability_capabilities, int32] 156 device_caps int32 157 reserved array[const[0, int32], 3] 158 } 159 160 type v4l2_fmtdesc[BUF_TYPE] { 161 index int32 162 type flags[BUF_TYPE, int32] 163 flags flags[v4l2_fmtdesc_flags, int32] 164 description array[int8, 32] 165 pixelformat flags[v4l2_pix_format_pixelformat, int32] 166 reserved array[const[0, int32], 4] 167 } 168 169 type v4l2_format[BUF_TYPE] { 170 type flags[BUF_TYPE, int32] 171 fmt v4l2_format_fmt 172 } 173 174 v4l2_format_fmt [ 175 pix v4l2_pix_format 176 pix_mp v4l2_pix_format_mplane 177 win v4l2_window 178 vbi v4l2_vbi_format 179 sliced v4l2_sliced_vbi_format 180 sdr v4l2_sdr_format 181 raw_data array[int8, 200] 182 ] 183 184 v4l2_pix_format { 185 width int32 186 height int32 187 pixelformat flags[v4l2_pix_format_pixelformat, int32] 188 field flags[v4l2_field, int32] 189 bytesperline int32 190 sizeimage int32 191 colorspace flags[v4l2_colorspace, int32] 192 priv int32 193 flags flags[v4l2_pix_format_flags, int32] 194 ycbcr_enc flags[v4l2_ycbcr_encoding, int32] 195 quantization flags[v4l2_quantization, int32] 196 xfer_func flags[v4l2_xfer_func, int32] 197 } 198 199 v4l2_pix_format_mplane { 200 width int32 201 height int32 202 pixelformat flags[v4l2_pix_format_pixelformat, int32] 203 field flags[v4l2_field, int32] 204 colorspace flags[v4l2_colorspace, int32] 205 plane_fmt array[v4l2_plane_pix_format, 8] 206 num_planes int8 207 flags int8 208 ycbcr_enc flags[v4l2_ycbcr_encoding, int8] 209 quantization flags[v4l2_quantization, int8] 210 xfer_func flags[v4l2_xfer_func, int8] 211 reserved array[const[0, int8], 7] 212 } [packed] 213 214 v4l2_plane_pix_format { 215 sizeimage int32 216 bytesperline int32 217 reserved array[const[0, int16], 6] 218 } [packed] 219 220 v4l2_window { 221 w v4l2_rect 222 field flags[v4l2_field, int32] 223 chromakey int32 224 clips ptr[inout, v4l2_clip] 225 clipcount int32 226 bitmap buffer[inout] 227 global_alpha int8 228 } 229 230 v4l2_rect { 231 left int32 232 top int32 233 width int32 234 height int32 235 } 236 237 v4l2_clip { 238 c v4l2_rect 239 next ptr[inout, v4l2_clip, opt] 240 } 241 242 v4l2_vbi_format { 243 sampling_rate int32 244 offset int32 245 samples_per_line int32 246 sample_format flags[v4l2_pix_format_pixelformat, int32] 247 start array[int32, 2] 248 count array[int32, 2] 249 flags flags[v4l2_vbi_format_flags, int32] 250 reserved array[const[0, int32], 2] 251 } 252 253 v4l2_sliced_vbi_format { 254 service_set int16 255 service_lines array[int16, 48] 256 io_size int32 257 reserved array[const[0, int32], 2] 258 } 259 260 v4l2_sdr_format { 261 pixelformat flags[v4l2_pix_format_pixelformat, int32] 262 buffersize int32 263 reserved array[const[0, int8], 24] 264 } [packed] 265 266 type v4l2_requestbuffers[BUF_TYPE] { 267 count int32 268 type flags[BUF_TYPE, int32] 269 memory flags[v4l2_memory, int32] 270 capabilities const[0, int32] 271 flags int8 272 reserved array[const[0, int8], 3] 273 } 274 275 type v4l2_buffer_t[BUF_TYPE] [ 276 mmap v4l2_buffer[BUF_TYPE, V4L2_MEMORY_MMAP, intptr] 277 userptr v4l2_buffer[BUF_TYPE, V4L2_MEMORY_USERPTR, ptr[out, int8]] 278 overlay v4l2_buffer[BUF_TYPE, V4L2_MEMORY_OVERLAY, int32] 279 fd v4l2_buffer[BUF_TYPE, V4L2_MEMORY_DMABUF, fd_v4l2_buffer[opt]] 280 multiplanar_mmap v4l2_buffer[BUF_TYPE, V4L2_MEMORY_MMAP, ptr[inout, array[v4l2_plane[intptr], 2]]] 281 multiplanar_userptr v4l2_buffer[BUF_TYPE, V4L2_MEMORY_USERPTR, ptr[inout, array[v4l2_plane[ptr[out, int8]], 2]]] 282 multiplanar_overlay v4l2_buffer[BUF_TYPE, V4L2_MEMORY_OVERLAY, ptr[inout, array[v4l2_plane[int32], 2]]] 283 multiplanar_fd v4l2_buffer[BUF_TYPE, V4L2_MEMORY_DMABUF, ptr[inout, array[v4l2_plane[fd_v4l2_buffer[opt]], 2]]] 284 ] 285 286 # TODO: The field directions needs to be defined. Recursively v4l2_plane, v4l2_plane_union needs checking. 287 type v4l2_buffer[BUF_TYPE, MEM_TYPE, ARG_TYPE] { 288 index int32 289 type flags[BUF_TYPE, int32] 290 bytesused len[type, int32] 291 flags flags[v4l2_buffer_flags, int32] 292 field int32 293 timestamp timeval 294 timecode v4l2_timecode 295 sequence int32 296 memory const[MEM_TYPE, int32] 297 m alignptr[ARG_TYPE] (out) 298 length int32 299 reserved2 const[0, int32] 300 request_fd fd_request[opt] 301 } 302 303 v4l2_timecode { 304 type flags[v4l2_timecode_type, int32] 305 flags flags[v4l2_timecode_flags, int32] 306 frames int8 307 seconds int8 308 minutes int8 309 hours int8 310 userbits array[int8, 4] 311 } 312 313 type v4l2_plane[ARG_TYPE] { 314 bytesused int32 315 length int32 316 m alignptr[ARG_TYPE] 317 data_offset int32 318 reserved array[const[0, int32], 11] 319 } 320 321 v4l2_framebuffer { 322 capability flags[v4l2_framebuffer_capability, int32] 323 flags flags[v4l2_framebuffer_flags, int32] 324 base buffer[inout] 325 fmt v4l2_framebuffer_union 326 } 327 328 v4l2_framebuffer_union { 329 width int32 330 height int32 331 pixelformat flags[v4l2_pix_format_pixelformat, int32] 332 field flags[v4l2_field, int32] 333 bytesperline int32 334 sizeimage int32 335 colorspace flags[v4l2_colorspace, int32] 336 priv int32 337 } 338 339 type v4l2_exportbuffer[BUF_TYPE] { 340 type flags[BUF_TYPE, int32] 341 index int32 342 plane int32 343 flags flags[pipe_flags, int32] 344 fd fd_dma_buf (out) 345 reserved array[const[0, int32], 11] 346 } 347 348 v4l2_streamparm { 349 type flags[v4l2_buf_type, int32] 350 parm v4l2_streamparm_union 351 } 352 353 v4l2_streamparm_union [ 354 capture v4l2_captureparm 355 output v4l2_outputparm 356 raw_data array[int8, 200] 357 ] 358 359 v4l2_captureparm { 360 capability flags[v4l2_captureparm_cap, int32] 361 capturemode flags[v4l2_captureparm_mode, int32] 362 timeperframe v4l2_fract 363 extendedmode int32 364 readbuffers int32 365 reserved array[const[0, int32], 4] 366 } 367 368 v4l2_fract { 369 numerator int32 370 denominator int32 371 } 372 373 v4l2_outputparm { 374 capability flags[v4l2_captureparm_cap, int32] 375 outputmode flags[v4l2_captureparm_mode, int32] 376 timeperframe v4l2_fract 377 extendedmode int32 378 writebuffers int32 379 reserved array[const[0, int32], 4] 380 } 381 382 v4l2_control { 383 id int32 384 value int32 385 } 386 387 v4l2_tuner { 388 index int32 389 name array[int8, 32] 390 type flags[v4l2_tuner_type, int32] 391 capability flags[v4l2_tuner_capability, int32] 392 rangelow int32 393 rangehigh int32 394 rxsubchans flags[v4l2_tuner_rxsubchans, int32] 395 audmode flags[v4l2_tuner_audmode, int32] 396 signal int32 397 afc int32 398 reserved array[const[0, int32], 4] 399 } 400 401 v4l2_audio { 402 index int32 403 name array[int8, 32] 404 capability flags[v4l2_audio_capability, int32] 405 mode flags[v4l2_audio_mode, int32] 406 reserved array[const[0, int32], 2] 407 } 408 409 v4l2_queryctrl { 410 id int32 411 type flags[v4l2_ctrl_type, int32] 412 name array[int8, 32] 413 minimum int32 414 maximum int32 415 step int32 416 default_value int32 417 flags flags[v4l2_control_flags, int32] 418 reserved array[const[0, int32], 2] 419 } 420 421 v4l2_querymenu { 422 id int32 423 index int32 424 union v4l2_querymenu_union 425 reserved const[0, int32] 426 } [packed] 427 428 v4l2_querymenu_union [ 429 name array[int8, 32] 430 value int64 431 ] 432 433 v4l2_edid { 434 pad const[0, int32] 435 start_block int32 436 blocks int32 437 reserved array[const[0, int32], 5] 438 edid ptr[inout, int8] 439 } 440 441 v4l2_audioout { 442 index int32 443 name array[int8, 32] 444 capability flags[v4l2_audio_capability, int32] 445 mode flags[v4l2_audio_mode, int32] 446 reserved array[const[0, int32], 2] 447 } 448 449 v4l2_modulator { 450 index int32 451 name array[int8, 32] 452 capability flags[v4l2_tuner_capability, int32] 453 rangelow int32 454 rangehigh int32 455 txsubchans flags[v4l2_tuner_rxsubchans, int32] 456 type flags[v4l2_tuner_type, int32] 457 reserved array[const[0, int32], 3] 458 } 459 460 v4l2_frequency { 461 tuner int32 462 type flags[v4l2_tuner_type, int32] 463 frequency int32 464 reserved array[const[0, int32], 8] 465 } 466 467 v4l2_cropcap { 468 type flags[v4l2_buf_type, int32] 469 bounds v4l2_rect 470 defrect v4l2_rect 471 pixelaspect v4l2_fract 472 } 473 474 v4l2_crop { 475 type flags[v4l2_buf_type, int32] 476 c v4l2_rect 477 } 478 479 v4l2_jpegcompression { 480 quality int32 481 APPn int32[0:15] 482 APP_len int32[0:60] 483 APP_data array[int8, 60] 484 COM_len int32[0:60] 485 COM_data array[int8, 60] 486 jpeg_markers flags[v4l2_jpeg_markers, int32] 487 } 488 489 v4l2_sliced_vbi_cap { 490 service_set int16 491 service_lines array[int16, 48] 492 type flags[v4l2_buf_type, int32] 493 reserved array[const[0, int32], 3] 494 } 495 496 v4l2_ext_controls { 497 ctrl_class flags[v4l2_ext_ctrl_class, int32] 498 count int32 499 error_idx int32 500 request_fd fd_request[opt] (in) 501 reserved const[0, int32] 502 controls ptr[inout, v4l2_ext_control] 503 } 504 505 v4l2_ext_control { 506 id flags[v4l2_ext_controls, int32] 507 size int32 508 reserved2 array[const[0, int32], 1] 509 union v4l2_ext_u 510 } [packed] 511 512 v4l2_ext_u [ 513 value int32 514 value64 int64 515 string ptr[inout, int8] 516 p_u8 ptr[inout, int8] 517 p_u16 ptr[inout, int16] 518 p_u32 ptr[inout, int32] 519 ptr intptr 520 ] 521 522 v4l2_frmsizeenum { 523 index int32 524 pixel_format flags[v4l2_pix_format_pixelformat, int32] 525 type flags[v4l2_frmsizetypes, int32] 526 union v4l2_frmsizeenum_union 527 reserved array[const[0, int32], 2] 528 } 529 530 v4l2_frmsizeenum_union [ 531 discrete v4l2_frmsize_discrete 532 stepwise v4l2_frmsize_stepwise 533 ] 534 535 v4l2_frmsize_discrete { 536 width int32 537 height int32 538 } 539 540 v4l2_frmsize_stepwise { 541 min_width int32 542 max_width int32 543 step_width int32 544 min_height int32 545 max_height int32 546 step_height int32 547 } 548 549 v4l2_frmivalenum { 550 index int32 551 pixel_format flags[v4l2_pix_format_pixelformat, int32] 552 width int32 553 height int32 554 type flags[v4l2_frmivaltypes, int32] 555 union v4l2_frmivalenum_union 556 reserved array[const[0, int32], 2] 557 } 558 559 v4l2_frmivalenum_union [ 560 discrete v4l2_fract 561 stepwise v4l2_frmival_stepwise 562 ] 563 564 v4l2_frmival_stepwise { 565 min v4l2_fract 566 max v4l2_fract 567 step v4l2_fract 568 } 569 570 v4l2_enc_idx { 571 entries int32 572 entries_cap int32 573 reserved array[const[0, int32], 4] 574 entry array[v4l2_enc_idx_entry, 64] 575 } 576 577 v4l2_enc_idx_entry { 578 offset int64 579 pts int64 580 length int32 581 flags flags[v4l2_enc_idx_flags, int32] 582 reserved array[const[0, int32], 2] 583 } 584 585 v4l2_dbg_register { 586 match v4l2_dbg_match 587 size bytesize[reg, int32] 588 reg int64 589 val int64 590 } [packed] 591 592 v4l2_dbg_match { 593 type flags[v4l2_dbg_match_type, int32] 594 union v4l2_dbg_match_union 595 } [packed] 596 597 v4l2_dbg_match_union [ 598 addr int32 599 name array[int8, 32] 600 ] 601 602 v4l2_hw_freq_seek { 603 tuner int32 604 type flags[v4l2_tuner_type, int32] 605 seek_upward int32 606 wrap_around int32 607 spacing int32 608 rangelow int32 609 rangehigh int32 610 reserved array[const[0, int32], 5] 611 } 612 613 v4l2_dv_timings { 614 type flags[v4l2_dv_timings_type, int32] 615 union v4l2_dv_timings_union 616 } [packed] 617 618 v4l2_dv_timings_union [ 619 bt v4l2_bt_timings 620 reserved array[const[0, int32], 32] 621 ] 622 623 v4l2_bt_timings { 624 width int32 625 height int32 626 interlaced flags[v4l2_bt_timings_interlaced, int32] 627 polarities flags[v4l2_bt_timings_polarities, int32] 628 pixelclock int64 629 hfrontporch int32 630 hsync int32 631 hbackporch int32 632 vfrontporch int32 633 vsync int32 634 vbackporch int32 635 il_vfrontporch int32 636 il_vsync int32 637 il_vbackporch int32 638 standards flags[v4l2_bt_timings_standards, int32] 639 flags flags[v4l2_bt_timings_flags, int32] 640 picture_aspect v4l2_fract 641 cea861_vic int8 642 hdmi_vic int8 643 reserved array[const[0, int8], 46] 644 } [packed] 645 646 v4l2_encoder_cmd { 647 cmd flags[v4l2_encoder_cmd_cmd, int32] 648 flags flags[v4l2_encoder_flags, int32] 649 data array[int32, 8] 650 } 651 652 v4l2_event { 653 type flags[v4l2_event_type, int32] 654 u v4l2_event_union 655 pending int32 656 sequence int32 657 timestamp timespec 658 id int32 659 reserved array[const[0, int32], 8] 660 } 661 662 v4l2_event_union [ 663 vsync v4l2_event_vsync 664 ctrl v4l2_event_ctrl 665 frame_sync v4l2_event_frame_sync 666 src_change v4l2_event_src_change 667 motion_det v4l2_event_motion_det 668 data array[int8, 64] 669 ] 670 671 v4l2_event_vsync { 672 field flags[v4l2_field_1, int8] 673 } [packed] 674 675 v4l2_event_ctrl { 676 changes flags[v4l2_event_ctrl_changes, int32] 677 type flags[v4l2_ctrl_type, int32] 678 u v4l2_event_ctrl_union 679 flags int32 680 minimum int32 681 maximum int32 682 step int32 683 default_value int32 684 } 685 686 v4l2_event_ctrl_union [ 687 value int32 688 value64 int64 689 ] 690 691 v4l2_event_frame_sync { 692 frame_sequence int32 693 } 694 695 v4l2_event_src_change { 696 changes flags[v4l2_event_src_changes, int32] 697 } 698 699 v4l2_event_motion_det { 700 flags flags[v4l2_event_motion_det_flags, int32] 701 frame_sequence int32 702 region_mask int32 703 } 704 705 v4l2_event_subscription { 706 type flags[v4l2_event_type, int32] 707 id int32 708 flags flags[v4l2_event_subscription_flags, int32] 709 reserved array[const[0, int32], 5] 710 } 711 712 type v4l2_create_buffers[BUF_TYPE] { 713 index int32 714 count int32 715 memory flags[v4l2_memory, int32] 716 format v4l2_format[BUF_TYPE] 717 capabilities int32 718 reserved array[const[0, int32], 7] 719 } 720 721 v4l2_selection { 722 type flags[v4l2_buf_type_1, int32] 723 target flags[v4l2_selection_target, int32] 724 flags flags[v4l2_selection_flags, int32] 725 r v4l2_rect 726 reserved array[const[0, int32], 9] 727 } 728 729 v4l2_decoder_cmd { 730 cmd flags[v4l2_decoder_cmd_cmd, int32] 731 flags flags[v4l2_decoder_cmd_flags, int32] 732 u v4l2_decoder_cmd_u 733 } 734 735 v4l2_decoder_cmd_u [ 736 stop_pts int64 737 start v4l2_decoder_cmd_start 738 raw_data array[int32, 16] 739 ] 740 741 v4l2_decoder_cmd_start { 742 speed int32 743 format flags[v4l2_decoder_cmd_format, int32] 744 } 745 746 v4l2_enum_dv_timings { 747 index int32 748 pad const[0, int32] 749 reserved array[const[0, int32], 2] 750 timings v4l2_dv_timings 751 } 752 753 v4l2_dv_timings_cap { 754 type flags[v4l2_dv_timings_type, int32] 755 pad const[0, int32] 756 reserved array[const[0, int32], 2] 757 u v4l2_dv_timings_cap_u 758 } 759 760 v4l2_dv_timings_cap_u [ 761 bt v4l2_bt_timings_cap 762 raw_data array[int32, 32] 763 ] 764 765 v4l2_bt_timings_cap { 766 min_width int32 767 max_width int32 768 min_height int32 769 max_height int32 770 min_pixelclock int64 771 max_pixelclock int64 772 standards flags[v4l2_bt_timings_standards, int32] 773 capabilities flags[v4l2_bt_timings_cap_capabilities, int32] 774 reserved array[const[0, int32], 16] 775 } [packed] 776 777 v4l2_frequency_band { 778 tuner int32 779 type flags[v4l2_tuner_type, int32] 780 index int32 781 capability flags[v4l2_tuner_capability, int32] 782 rangelow int32 783 rangehigh int32 784 modulation flags[v4l2_frequency_band_modulation, int32] 785 reserved array[const[0, int32], 9] 786 } 787 788 v4l2_dbg_chip_info { 789 match v4l2_dbg_match 790 name array[int8, 32] 791 flags flags[v4l2_dbg_chip_info_flags, int32] 792 reserved array[const[0, int32], 32] 793 } [packed] 794 795 v4l2_query_ext_ctrl { 796 id flags[v4l2_query_ext_ctrl, int32] 797 type flags[v4l2_ctrl_type, int32] 798 name array[int8, 32] 799 minimum int64 800 maximum int64 801 step int64 802 default_value int64 803 flags int32 804 elem_size int32 805 elems int32 806 nr_of_dims int32 807 dims array[int32, 4] 808 reserved array[const[0, int32], 32] 809 } 810 811 type v4l2_std_id flags[v4l2_std_id, int64] 812 813 v4l2_standard { 814 index int32 815 id v4l2_std_id 816 name array[int8, 24] 817 frameperiod v4l2_fract 818 framelines int32 819 reserved array[const[0, int32], 4] 820 } 821 822 v4l2_input { 823 index int32 824 name array[int8, 32] 825 type flags[v4l2_input_type, int32] 826 audioset int32 827 tuner flags[v4l2_tuner_type, int32] 828 std v4l2_std_id 829 status flags[v4l2_input_status, int32] 830 capabilities flags[v4l2_input_capabilities, int32] 831 reserved array[const[0, int32], 3] 832 } 833 834 v4l2_output { 835 index int32 836 name array[int8, 32] 837 type flags[v4l2_output_type, int32] 838 audioset int32 839 modulator int32 840 std v4l2_std_id 841 capabilities flags[v4l2_output_capabilities, int32] 842 reserved array[const[0, int32], 3] 843 } 844 845 v4l2_subdev_format { 846 which flags[v4l2_subdev_format_whence, int32] 847 pad const[0, int32] 848 format v4l2_mbus_framefmt 849 reserved array[const[0, int32], 8] 850 } 851 852 v4l2_mbus_framefmt { 853 width int32 854 height int32 855 code flags[media_bus_fmt, int32] 856 field flags[v4l2_field, int32] 857 colorspace flags[v4l2_colorspace, int32] 858 ycbcr_enc flags[v4l2_ycbcr_encoding, int16] 859 quantization flags[v4l2_quantization, int16] 860 xfer_func flags[v4l2_xfer_func, int16] 861 reserved array[const[0, int16], 11] 862 } 863 864 v4l2_subdev_frame_interval { 865 pad const[0, int32] 866 interval v4l2_fract 867 reserved array[const[0, int32], 9] 868 } 869 870 v4l2_subdev_mbus_code_enum { 871 pad const[0, int32] 872 index int32 873 code flags[media_bus_fmt, int32] 874 which flags[v4l2_subdev_format_whence, int32] 875 reserved array[const[0, int32], 8] 876 } 877 878 v4l2_subdev_frame_size_enum { 879 index int32 880 pad const[0, int32] 881 code flags[media_bus_fmt, int32] 882 min_width int32 883 max_width int32 884 min_height int32 885 max_height int32 886 which flags[v4l2_subdev_format_whence, int32] 887 reserved array[const[0, int32], 8] 888 } 889 890 v4l2_subdev_frame_interval_enum { 891 index int32 892 pad const[0, int32] 893 code flags[media_bus_fmt, int32] 894 width int32 895 height int32 896 interval v4l2_fract 897 which flags[v4l2_subdev_format_whence, int32] 898 reserved array[const[0, int32], 8] 899 } 900 901 v4l2_subdev_crop { 902 which flags[v4l2_subdev_format_whence, int32] 903 pad const[0, int32] 904 rect v4l2_rect 905 reserved array[const[0, int32], 8] 906 } 907 908 v4l2_subdev_selection { 909 which flags[v4l2_subdev_format_whence, int32] 910 pad const[0, int32] 911 target flags[v4l2_selection_target, int32] 912 flags flags[v4l2_selection_flags, int32] 913 r v4l2_rect 914 reserved array[const[0, int32], 8] 915 } 916 917 v4l2_jpeg_markers = V4L2_JPEG_MARKER_DHT, V4L2_JPEG_MARKER_DQT, V4L2_JPEG_MARKER_DRI, V4L2_JPEG_MARKER_COM, V4L2_JPEG_MARKER_APP 918 v4l2_subdev_format_whence = V4L2_SUBDEV_FORMAT_TRY, V4L2_SUBDEV_FORMAT_ACTIVE 919 v4l2_buf_type_1 = V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_BUF_TYPE_VIDEO_OUTPUT, V4L2_BUF_TYPE_VIDEO_OVERLAY, V4L2_BUF_TYPE_VBI_CAPTURE, V4L2_BUF_TYPE_VBI_OUTPUT, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE, V4L2_BUF_TYPE_SLICED_VBI_OUTPUT, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY, V4L2_BUF_TYPE_SDR_CAPTURE, V4L2_BUF_TYPE_SDR_OUTPUT 920 v4l2_field_1 = V4L2_FIELD_ANY, V4L2_FIELD_NONE, V4L2_FIELD_TOP, V4L2_FIELD_BOTTOM 921 v4l2_field = V4L2_FIELD_INTERLACED, V4L2_FIELD_SEQ_TB, V4L2_FIELD_SEQ_BT, V4L2_FIELD_ALTERNATE, V4L2_FIELD_INTERLACED_TB, V4L2_FIELD_INTERLACED_BT, v4l2_field_1 922 v4l2_colorspace = V4L2_COLORSPACE_DEFAULT, V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_SMPTE240M, V4L2_COLORSPACE_REC709, V4L2_COLORSPACE_BT878, V4L2_COLORSPACE_470_SYSTEM_M, V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_JPEG, V4L2_COLORSPACE_SRGB, V4L2_COLORSPACE_OPRGB, V4L2_COLORSPACE_BT2020, V4L2_COLORSPACE_RAW, V4L2_COLORSPACE_DCI_P3 923 v4l2_ycbcr_encoding = V4L2_YCBCR_ENC_DEFAULT, V4L2_YCBCR_ENC_601, V4L2_YCBCR_ENC_709, V4L2_YCBCR_ENC_XV601, V4L2_YCBCR_ENC_XV709, V4L2_YCBCR_ENC_BT2020, V4L2_YCBCR_ENC_BT2020_CONST_LUM, V4L2_YCBCR_ENC_SMPTE240M 924 v4l2_quantization = V4L2_QUANTIZATION_DEFAULT, V4L2_QUANTIZATION_FULL_RANGE, V4L2_QUANTIZATION_LIM_RANGE 925 v4l2_xfer_func = V4L2_XFER_FUNC_DEFAULT, V4L2_XFER_FUNC_709, V4L2_XFER_FUNC_SRGB, V4L2_XFER_FUNC_OPRGB, V4L2_XFER_FUNC_SMPTE240M, V4L2_XFER_FUNC_NONE, V4L2_XFER_FUNC_DCI_P3, V4L2_XFER_FUNC_SMPTE2084 926 v4l2_buf_type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, v4l2_buf_type_1 927 v4l2_memory = V4L2_MEMORY_MMAP, V4L2_MEMORY_USERPTR, V4L2_MEMORY_OVERLAY, V4L2_MEMORY_DMABUF 928 v4l2_tuner_type = V4L2_TUNER_RADIO, V4L2_TUNER_ANALOG_TV, V4L2_TUNER_DIGITAL_TV, V4L2_TUNER_SDR, V4L2_TUNER_RF 929 v4l2_ctrl_type = V4L2_CTRL_TYPE_INTEGER, V4L2_CTRL_TYPE_BOOLEAN, V4L2_CTRL_TYPE_MENU, V4L2_CTRL_TYPE_BUTTON, V4L2_CTRL_TYPE_INTEGER64, V4L2_CTRL_TYPE_CTRL_CLASS, V4L2_CTRL_TYPE_STRING, V4L2_CTRL_TYPE_BITMASK, V4L2_CTRL_TYPE_INTEGER_MENU, V4L2_CTRL_COMPOUND_TYPES, V4L2_CTRL_TYPE_U8, V4L2_CTRL_TYPE_U16, V4L2_CTRL_TYPE_U32 930 v4l2_priority = V4L2_PRIORITY_UNSET, V4L2_PRIORITY_BACKGROUND, V4L2_PRIORITY_INTERACTIVE, V4L2_PRIORITY_RECORD, V4L2_PRIORITY_DEFAULT 931 media_bus_fmt = MEDIA_BUS_FMT_FIXED, MEDIA_BUS_FMT_RGB444_1X12, MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE, MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE, MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE, MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE, MEDIA_BUS_FMT_RGB565_1X16, MEDIA_BUS_FMT_BGR565_2X8_BE, MEDIA_BUS_FMT_BGR565_2X8_LE, MEDIA_BUS_FMT_RGB565_2X8_BE, MEDIA_BUS_FMT_RGB565_2X8_LE, MEDIA_BUS_FMT_RGB666_1X18, MEDIA_BUS_FMT_RBG888_1X24, MEDIA_BUS_FMT_RGB666_1X24_CPADHI, MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, MEDIA_BUS_FMT_BGR888_1X24, MEDIA_BUS_FMT_GBR888_1X24, MEDIA_BUS_FMT_RGB888_1X24, MEDIA_BUS_FMT_RGB888_2X12_BE, MEDIA_BUS_FMT_RGB888_2X12_LE, MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, MEDIA_BUS_FMT_ARGB8888_1X32, MEDIA_BUS_FMT_RGB888_1X32_PADHI, MEDIA_BUS_FMT_Y8_1X8, MEDIA_BUS_FMT_UV8_1X8, MEDIA_BUS_FMT_UYVY8_1_5X8, MEDIA_BUS_FMT_VYUY8_1_5X8, MEDIA_BUS_FMT_YUYV8_1_5X8, MEDIA_BUS_FMT_YVYU8_1_5X8, MEDIA_BUS_FMT_UYVY8_2X8, MEDIA_BUS_FMT_VYUY8_2X8, MEDIA_BUS_FMT_YUYV8_2X8, MEDIA_BUS_FMT_YVYU8_2X8, MEDIA_BUS_FMT_Y10_1X10, MEDIA_BUS_FMT_UYVY10_2X10, MEDIA_BUS_FMT_VYUY10_2X10, MEDIA_BUS_FMT_YUYV10_2X10, MEDIA_BUS_FMT_YVYU10_2X10, MEDIA_BUS_FMT_Y12_1X12, MEDIA_BUS_FMT_UYVY12_2X12, MEDIA_BUS_FMT_VYUY12_2X12, MEDIA_BUS_FMT_YUYV12_2X12, MEDIA_BUS_FMT_YVYU12_2X12, MEDIA_BUS_FMT_UYVY8_1X16, MEDIA_BUS_FMT_VYUY8_1X16, MEDIA_BUS_FMT_YUYV8_1X16, MEDIA_BUS_FMT_YVYU8_1X16, MEDIA_BUS_FMT_YDYUYDYV8_1X16, MEDIA_BUS_FMT_UYVY10_1X20, MEDIA_BUS_FMT_VYUY10_1X20, MEDIA_BUS_FMT_YUYV10_1X20, MEDIA_BUS_FMT_YVYU10_1X20, MEDIA_BUS_FMT_VUY8_1X24, MEDIA_BUS_FMT_YUV8_1X24, MEDIA_BUS_FMT_UYVY12_1X24, MEDIA_BUS_FMT_VYUY12_1X24, MEDIA_BUS_FMT_YUYV12_1X24, MEDIA_BUS_FMT_YVYU12_1X24, MEDIA_BUS_FMT_YUV10_1X30, MEDIA_BUS_FMT_AYUV8_1X32, MEDIA_BUS_FMT_SBGGR8_1X8, MEDIA_BUS_FMT_SGBRG8_1X8, MEDIA_BUS_FMT_SGRBG8_1X8, MEDIA_BUS_FMT_SRGGB8_1X8, MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8, MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8, MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8, MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8, MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8, MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8, MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8, MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8, MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE, MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE, MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE, MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE, MEDIA_BUS_FMT_SBGGR10_1X10, MEDIA_BUS_FMT_SGBRG10_1X10, MEDIA_BUS_FMT_SGRBG10_1X10, MEDIA_BUS_FMT_SRGGB10_1X10, MEDIA_BUS_FMT_SBGGR12_1X12, MEDIA_BUS_FMT_SGBRG12_1X12, MEDIA_BUS_FMT_SGRBG12_1X12, MEDIA_BUS_FMT_SRGGB12_1X12, MEDIA_BUS_FMT_JPEG_1X8, MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8, MEDIA_BUS_FMT_AHSV8888_1X32 932 v4l2_pix_format_flags = V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 933 v4l2_pix_format_pixelformat = V4L2_PIX_FMT_RGB332, V4L2_PIX_FMT_RGB444, V4L2_PIX_FMT_ARGB444, V4L2_PIX_FMT_XRGB444, V4L2_PIX_FMT_RGB555, V4L2_PIX_FMT_ARGB555, V4L2_PIX_FMT_XRGB555, V4L2_PIX_FMT_RGB565, V4L2_PIX_FMT_RGB555X, V4L2_PIX_FMT_ARGB555X, V4L2_PIX_FMT_XRGB555X, V4L2_PIX_FMT_RGB565X, V4L2_PIX_FMT_BGR666, V4L2_PIX_FMT_BGR24, V4L2_PIX_FMT_RGB24, V4L2_PIX_FMT_BGR32, V4L2_PIX_FMT_ABGR32, V4L2_PIX_FMT_XBGR32, V4L2_PIX_FMT_RGB32, V4L2_PIX_FMT_ARGB32, V4L2_PIX_FMT_XRGB32, V4L2_PIX_FMT_GREY, V4L2_PIX_FMT_Y4, V4L2_PIX_FMT_Y6, V4L2_PIX_FMT_Y10, V4L2_PIX_FMT_Y12, V4L2_PIX_FMT_Y16, V4L2_PIX_FMT_Y16_BE, V4L2_PIX_FMT_Y10BPACK, V4L2_PIX_FMT_PAL8, V4L2_PIX_FMT_UV8, V4L2_PIX_FMT_YUYV, V4L2_PIX_FMT_YYUV, V4L2_PIX_FMT_YVYU, V4L2_PIX_FMT_UYVY, V4L2_PIX_FMT_VYUY, V4L2_PIX_FMT_Y41P, V4L2_PIX_FMT_YUV444, V4L2_PIX_FMT_YUV555, V4L2_PIX_FMT_YUV565, V4L2_PIX_FMT_YUV32, V4L2_PIX_FMT_HI240, V4L2_PIX_FMT_NV12_16L16, V4L2_PIX_FMT_M420, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV21, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV61, V4L2_PIX_FMT_NV24, V4L2_PIX_FMT_NV42, V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV21M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV61M, V4L2_PIX_FMT_NV12MT, V4L2_PIX_FMT_NV12MT_16X16, V4L2_PIX_FMT_YUV410, V4L2_PIX_FMT_YVU410, V4L2_PIX_FMT_YUV411P, V4L2_PIX_FMT_YUV420, V4L2_PIX_FMT_YVU420, V4L2_PIX_FMT_YUV422P, V4L2_PIX_FMT_YUV420M, V4L2_PIX_FMT_YVU420M, V4L2_PIX_FMT_YUV422M, V4L2_PIX_FMT_YVU422M, V4L2_PIX_FMT_YUV444M, V4L2_PIX_FMT_YVU444M, V4L2_PIX_FMT_SBGGR8, V4L2_PIX_FMT_SGBRG8, V4L2_PIX_FMT_SGRBG8, V4L2_PIX_FMT_SRGGB8, V4L2_PIX_FMT_SBGGR10, V4L2_PIX_FMT_SGBRG10, V4L2_PIX_FMT_SGRBG10, V4L2_PIX_FMT_SRGGB10, V4L2_PIX_FMT_SBGGR10P, V4L2_PIX_FMT_SGBRG10P, V4L2_PIX_FMT_SGRBG10P, V4L2_PIX_FMT_SRGGB10P, V4L2_PIX_FMT_SBGGR10ALAW8, V4L2_PIX_FMT_SGBRG10ALAW8, V4L2_PIX_FMT_SGRBG10ALAW8, V4L2_PIX_FMT_SRGGB10ALAW8, V4L2_PIX_FMT_SBGGR10DPCM8, V4L2_PIX_FMT_SGBRG10DPCM8, V4L2_PIX_FMT_SGRBG10DPCM8, V4L2_PIX_FMT_SRGGB10DPCM8, V4L2_PIX_FMT_SBGGR12, V4L2_PIX_FMT_SGBRG12, V4L2_PIX_FMT_SGRBG12, V4L2_PIX_FMT_SRGGB12, V4L2_PIX_FMT_SBGGR16, V4L2_PIX_FMT_MJPEG, V4L2_PIX_FMT_JPEG, V4L2_PIX_FMT_DV, V4L2_PIX_FMT_MPEG, V4L2_PIX_FMT_H264, V4L2_PIX_FMT_H264_NO_SC, V4L2_PIX_FMT_H264_MVC, V4L2_PIX_FMT_H263, V4L2_PIX_FMT_MPEG1, V4L2_PIX_FMT_MPEG2, V4L2_PIX_FMT_MPEG4, V4L2_PIX_FMT_XVID, V4L2_PIX_FMT_VC1_ANNEX_G, V4L2_PIX_FMT_VC1_ANNEX_L, V4L2_PIX_FMT_VP8, V4L2_PIX_FMT_VP9, V4L2_PIX_FMT_HEVC, V4L2_PIX_FMT_CPIA1, V4L2_PIX_FMT_WNVA, V4L2_PIX_FMT_SN9C10X, V4L2_PIX_FMT_SN9C20X_I420, V4L2_PIX_FMT_PWC1, V4L2_PIX_FMT_PWC2, V4L2_PIX_FMT_ET61X251, V4L2_PIX_FMT_SPCA501, V4L2_PIX_FMT_SPCA505, V4L2_PIX_FMT_SPCA508, V4L2_PIX_FMT_SPCA561, V4L2_PIX_FMT_PAC207, V4L2_PIX_FMT_MR97310A, V4L2_PIX_FMT_JL2005BCD, V4L2_PIX_FMT_SN9C2028, V4L2_PIX_FMT_SQ905C, V4L2_PIX_FMT_PJPG, V4L2_PIX_FMT_OV511, V4L2_PIX_FMT_OV518, V4L2_PIX_FMT_STV0680, V4L2_PIX_FMT_TM6000, V4L2_PIX_FMT_CIT_YYVYUY, V4L2_PIX_FMT_KONICA420, V4L2_PIX_FMT_JPGL, V4L2_PIX_FMT_SE401, V4L2_PIX_FMT_S5C_UYVY_JPG, V4L2_PIX_FMT_Y8I, V4L2_PIX_FMT_Y12I, V4L2_PIX_FMT_Z16 934 v4l2_fmtdesc_flags = V4L2_FMT_FLAG_COMPRESSED, V4L2_FMT_FLAG_EMULATED 935 v4l2_capability_capabilities = V4L2_CAP_VIDEO_CAPTURE, V4L2_CAP_VIDEO_OUTPUT, V4L2_CAP_VIDEO_OVERLAY, V4L2_CAP_VBI_CAPTURE, V4L2_CAP_VBI_OUTPUT, V4L2_CAP_SLICED_VBI_CAPTURE, V4L2_CAP_SLICED_VBI_OUTPUT, V4L2_CAP_RDS_CAPTURE, V4L2_CAP_VIDEO_OUTPUT_OVERLAY, V4L2_CAP_HW_FREQ_SEEK, V4L2_CAP_RDS_OUTPUT, V4L2_CAP_VIDEO_CAPTURE_MPLANE, V4L2_CAP_VIDEO_OUTPUT_MPLANE, V4L2_CAP_VIDEO_M2M_MPLANE, V4L2_CAP_VIDEO_M2M, V4L2_CAP_TUNER, V4L2_CAP_AUDIO, V4L2_CAP_RADIO, V4L2_CAP_MODULATOR, V4L2_CAP_SDR_CAPTURE, V4L2_CAP_EXT_PIX_FORMAT, V4L2_CAP_SDR_OUTPUT, V4L2_CAP_READWRITE, V4L2_CAP_STREAMING, V4L2_CAP_TOUCH, V4L2_CAP_DEVICE_CAPS 936 v4l2_framebuffer_capability = V4L2_FBUF_CAP_EXTERNOVERLAY, V4L2_FBUF_CAP_CHROMAKEY, V4L2_FBUF_CAP_LOCAL_ALPHA, V4L2_FBUF_CAP_GLOBAL_ALPHA, V4L2_FBUF_CAP_LOCAL_INV_ALPHA, V4L2_FBUF_CAP_SRC_CHROMAKEY 937 v4l2_framebuffer_flags = V4L2_FBUF_FLAG_PRIMARY, V4L2_FBUF_FLAG_OVERLAY, V4L2_FBUF_FLAG_CHROMAKEY, V4L2_FBUF_FLAG_LOCAL_ALPHA, V4L2_FBUF_FLAG_GLOBAL_ALPHA, V4L2_FBUF_FLAG_LOCAL_INV_ALPHA, V4L2_FBUF_FLAG_SRC_CHROMAKEY 938 v4l2_vbi_format_flags = V4L2_VBI_UNSYNC, V4L2_VBI_INTERLACED, V4L2_VBI_ITU_525_F1_START, V4L2_VBI_ITU_525_F2_START, V4L2_VBI_ITU_625_F1_START, V4L2_VBI_ITU_625_F2_START 939 v4l2_buffer_flags = V4L2_BUF_FLAG_MAPPED, V4L2_BUF_FLAG_QUEUED, V4L2_BUF_FLAG_DONE, V4L2_BUF_FLAG_KEYFRAME, V4L2_BUF_FLAG_PFRAME, V4L2_BUF_FLAG_BFRAME, V4L2_BUF_FLAG_ERROR, V4L2_BUF_FLAG_TIMECODE, V4L2_BUF_FLAG_PREPARED, V4L2_BUF_FLAG_NO_CACHE_INVALIDATE, V4L2_BUF_FLAG_NO_CACHE_CLEAN, V4L2_BUF_FLAG_TIMESTAMP_MASK, V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN, V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC, V4L2_BUF_FLAG_TIMESTAMP_COPY, V4L2_BUF_FLAG_TSTAMP_SRC_MASK, V4L2_BUF_FLAG_TSTAMP_SRC_EOF, V4L2_BUF_FLAG_TSTAMP_SRC_SOE, V4L2_BUF_FLAG_LAST 940 v4l2_timecode_type = V4L2_TC_TYPE_24FPS, V4L2_TC_TYPE_25FPS, V4L2_TC_TYPE_30FPS, V4L2_TC_TYPE_50FPS, V4L2_TC_TYPE_60FPS 941 v4l2_timecode_flags = V4L2_TC_FLAG_DROPFRAME, V4L2_TC_FLAG_COLORFRAME, V4L2_TC_USERBITS_field, V4L2_TC_USERBITS_USERDEFINED, V4L2_TC_USERBITS_8BITCHARS 942 v4l2_captureparm_cap = V4L2_CAP_TIMEPERFRAME 943 v4l2_captureparm_mode = V4L2_MODE_HIGHQUALITY 944 v4l2_tuner_capability = V4L2_TUNER_CAP_LOW, V4L2_TUNER_CAP_NORM, V4L2_TUNER_CAP_HWSEEK_BOUNDED, V4L2_TUNER_CAP_HWSEEK_WRAP, V4L2_TUNER_CAP_STEREO, V4L2_TUNER_CAP_LANG2, V4L2_TUNER_CAP_SAP, V4L2_TUNER_CAP_LANG1, V4L2_TUNER_CAP_RDS, V4L2_TUNER_CAP_RDS_BLOCK_IO, V4L2_TUNER_CAP_RDS_CONTROLS, V4L2_TUNER_CAP_FREQ_BANDS, V4L2_TUNER_CAP_HWSEEK_PROG_LIM, V4L2_TUNER_CAP_1HZ 945 v4l2_tuner_rxsubchans = V4L2_TUNER_SUB_MONO, V4L2_TUNER_SUB_STEREO, V4L2_TUNER_SUB_LANG2, V4L2_TUNER_SUB_SAP, V4L2_TUNER_SUB_LANG1, V4L2_TUNER_SUB_RDS 946 v4l2_tuner_audmode = V4L2_TUNER_MODE_MONO, V4L2_TUNER_MODE_STEREO, V4L2_TUNER_MODE_LANG2, V4L2_TUNER_MODE_SAP, V4L2_TUNER_MODE_LANG1, V4L2_TUNER_MODE_LANG1_LANG2 947 v4l2_audio_capability = V4L2_AUDCAP_STEREO, V4L2_AUDCAP_AVL 948 v4l2_audio_mode = V4L2_AUDMODE_AVL 949 v4l2_control_flags = V4L2_CTRL_FLAG_DISABLED, V4L2_CTRL_FLAG_GRABBED, V4L2_CTRL_FLAG_READ_ONLY, V4L2_CTRL_FLAG_UPDATE, V4L2_CTRL_FLAG_INACTIVE, V4L2_CTRL_FLAG_SLIDER, V4L2_CTRL_FLAG_WRITE_ONLY, V4L2_CTRL_FLAG_VOLATILE, V4L2_CTRL_FLAG_HAS_PAYLOAD, V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 950 v4l2_ext_ctrl_class = V4L2_CTRL_CLASS_USER, V4L2_CTRL_CLASS_CODEC, V4L2_CTRL_CLASS_CAMERA, V4L2_CTRL_CLASS_FM_TX, V4L2_CTRL_CLASS_FLASH, V4L2_CTRL_CLASS_JPEG, V4L2_CTRL_CLASS_IMAGE_SOURCE, V4L2_CTRL_CLASS_IMAGE_PROC, V4L2_CTRL_CLASS_DV, V4L2_CTRL_CLASS_FM_RX, V4L2_CTRL_CLASS_RF_TUNER, V4L2_CTRL_CLASS_DETECT, V4L2_CTRL_ID_MASK, V4L2_CTRL_MAX_DIMS, V4L2_CTRL_WHICH_CUR_VAL, V4L2_CTRL_WHICH_DEF_VAL 951 #Comeback and add others from include/uapi/linux/videodev2.h#1617. Once after syz-extract able to detect with special chars 952 v4l2_ext_controls = V4L2_CID_USER_CLASS, V4L2_CID_BRIGHTNESS, V4L2_CID_CONTRAST, V4L2_CID_SATURATION, V4L2_CID_HUE, V4L2_CID_AUDIO_VOLUME, V4L2_CID_AUDIO_BALANCE, V4L2_CID_AUDIO_BASS, V4L2_CID_AUDIO_TREBLE, V4L2_CID_AUDIO_MUTE, V4L2_CID_AUDIO_LOUDNESS, V4L2_CID_BLACK_LEVEL, V4L2_CID_AUTO_WHITE_BALANCE, V4L2_CID_DO_WHITE_BALANCE, V4L2_CID_RED_BALANCE, V4L2_CID_BLUE_BALANCE, V4L2_CID_GAMMA, V4L2_CID_EXPOSURE, V4L2_CID_AUTOGAIN, V4L2_CID_GAIN, V4L2_CID_HFLIP, V4L2_CID_VFLIP, V4L2_CID_POWER_LINE_FREQUENCY, V4L2_CID_HUE_AUTO, V4L2_CID_WHITE_BALANCE_TEMPERATURE, V4L2_CID_SHARPNESS, V4L2_CID_BACKLIGHT_COMPENSATION, V4L2_CID_CHROMA_AGC, V4L2_CID_COLOR_KILLER, V4L2_CID_COLORFX, V4L2_CID_AUTOBRIGHTNESS, V4L2_CID_BAND_STOP_FILTER, V4L2_CID_ROTATE, V4L2_CID_BG_COLOR, V4L2_CID_CHROMA_GAIN, V4L2_CID_ILLUMINATORS_1, V4L2_CID_ILLUMINATORS_2, V4L2_CID_MIN_BUFFERS_FOR_CAPTURE, V4L2_CID_MIN_BUFFERS_FOR_OUTPUT, V4L2_CID_ALPHA_COMPONENT, V4L2_CID_COLORFX_CBCR, V4L2_CID_CODEC_CLASS, V4L2_CID_MPEG_STREAM_TYPE, V4L2_CID_MPEG_STREAM_PID_PMT, V4L2_CID_MPEG_STREAM_PID_AUDIO, V4L2_CID_MPEG_STREAM_PID_VIDEO, V4L2_CID_MPEG_STREAM_PID_PCR, V4L2_CID_MPEG_STREAM_PES_ID_AUDIO, V4L2_CID_MPEG_STREAM_PES_ID_VIDEO, V4L2_CID_MPEG_STREAM_VBI_FMT, V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ, V4L2_CID_MPEG_AUDIO_ENCODING, V4L2_CID_MPEG_AUDIO_L1_BITRATE, V4L2_CID_MPEG_AUDIO_L2_BITRATE, V4L2_CID_MPEG_AUDIO_L3_BITRATE, V4L2_CID_MPEG_AUDIO_MODE, V4L2_CID_MPEG_AUDIO_MODE_EXTENSION, V4L2_CID_MPEG_AUDIO_EMPHASIS, V4L2_CID_MPEG_AUDIO_CRC, V4L2_CID_MPEG_AUDIO_MUTE, V4L2_CID_MPEG_AUDIO_AAC_BITRATE, V4L2_CID_MPEG_AUDIO_AC3_BITRATE, V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK, V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK, V4L2_CID_MPEG_VIDEO_ENCODING, V4L2_CID_MPEG_VIDEO_ASPECT, V4L2_CID_MPEG_VIDEO_B_FRAMES, V4L2_CID_MPEG_VIDEO_GOP_SIZE, V4L2_CID_MPEG_VIDEO_GOP_CLOSURE, V4L2_CID_MPEG_VIDEO_PULLDOWN, V4L2_CID_MPEG_VIDEO_BITRATE_MODE, V4L2_CID_MPEG_VIDEO_BITRATE, V4L2_CID_MPEG_VIDEO_BITRATE_PEAK, V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION, V4L2_CID_MPEG_VIDEO_MUTE, V4L2_CID_MPEG_VIDEO_MUTE_YUV, V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE, V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER, V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB, V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE, V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE, V4L2_CID_MPEG_VIDEO_HEADER_MODE, V4L2_CID_MPEG_VIDEO_MAX_REF_PIC, V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP, V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP, V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP, V4L2_CID_MPEG_VIDEO_H263_MIN_QP, V4L2_CID_MPEG_VIDEO_H263_MAX_QP, V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP, V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP, V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP, V4L2_CID_MPEG_VIDEO_H264_MAX_QP, V4L2_CID_MPEG_VIDEO_H264_MIN_QP, V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM, V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE, V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE, V4L2_CID_MPEG_VIDEO_H264_I_PERIOD, V4L2_CID_MPEG_VIDEO_H264_LEVEL, V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA, V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA, V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE, V4L2_CID_MPEG_VIDEO_H264_PROFILE, V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT, V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH, V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE, V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC, V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING, V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0, V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE, V4L2_CID_MPEG_VIDEO_H264_FMO, V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE, V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP, V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION, V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE, V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH, V4L2_CID_MPEG_VIDEO_H264_ASO, V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER, V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING, V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE, V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER, V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP, V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP, V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP, V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP, V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP, V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP, V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL, V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE, V4L2_CID_MPEG_VIDEO_MPEG4_QPEL, V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES, V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB, V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE, V4L2_CID_MPEG_VIDEO_VBV_SIZE, V4L2_CID_MPEG_VIDEO_DEC_PTS, V4L2_CID_MPEG_VIDEO_DEC_FRAME, V4L2_CID_MPEG_VIDEO_VBV_DELAY, V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE, V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE, V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER, V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME, V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS, V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4, V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES, V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL, V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS, V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD, V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL, V4L2_CID_MPEG_VIDEO_VPX_MIN_QP, V4L2_CID_MPEG_VIDEO_VPX_MAX_QP, V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP, V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP, V4L2_CID_MPEG_VIDEO_VPX_PROFILE, V4L2_CID_CAMERA_CLASS, V4L2_CID_EXPOSURE_AUTO, V4L2_CID_EXPOSURE_ABSOLUTE, V4L2_CID_EXPOSURE_AUTO_PRIORITY, V4L2_CID_PAN_RELATIVE, V4L2_CID_TILT_RELATIVE, V4L2_CID_PAN_RESET, V4L2_CID_TILT_RESET, V4L2_CID_PAN_ABSOLUTE, V4L2_CID_TILT_ABSOLUTE, V4L2_CID_FOCUS_ABSOLUTE, V4L2_CID_FOCUS_RELATIVE, V4L2_CID_FOCUS_AUTO, V4L2_CID_ZOOM_ABSOLUTE, V4L2_CID_ZOOM_RELATIVE, V4L2_CID_ZOOM_CONTINUOUS, V4L2_CID_PRIVACY, V4L2_CID_IRIS_ABSOLUTE, V4L2_CID_IRIS_RELATIVE, V4L2_CID_AUTO_EXPOSURE_BIAS, V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, V4L2_CID_WIDE_DYNAMIC_RANGE, V4L2_CID_IMAGE_STABILIZATION, V4L2_CID_ISO_SENSITIVITY, V4L2_CID_ISO_SENSITIVITY_AUTO, V4L2_CID_EXPOSURE_METERING, V4L2_CID_SCENE_MODE, V4L2_CID_3A_LOCK, V4L2_CID_AUTO_FOCUS_START, V4L2_CID_AUTO_FOCUS_STOP, V4L2_CID_AUTO_FOCUS_STATUS, V4L2_CID_AUTO_FOCUS_RANGE, V4L2_CID_PAN_SPEED, V4L2_CID_TILT_SPEED, V4L2_CID_FM_TX_CLASS, V4L2_CID_RDS_TX_DEVIATION, V4L2_CID_RDS_TX_PI, V4L2_CID_RDS_TX_PTY, V4L2_CID_RDS_TX_PS_NAME, V4L2_CID_RDS_TX_RADIO_TEXT, V4L2_CID_RDS_TX_MONO_STEREO, V4L2_CID_RDS_TX_ARTIFICIAL_HEAD, V4L2_CID_RDS_TX_COMPRESSED, V4L2_CID_RDS_TX_DYNAMIC_PTY, V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT, V4L2_CID_RDS_TX_TRAFFIC_PROGRAM, V4L2_CID_RDS_TX_MUSIC_SPEECH, V4L2_CID_RDS_TX_ALT_FREQS_ENABLE, V4L2_CID_RDS_TX_ALT_FREQS, V4L2_CID_AUDIO_LIMITER_ENABLED, V4L2_CID_AUDIO_LIMITER_RELEASE_TIME, V4L2_CID_AUDIO_LIMITER_DEVIATION, V4L2_CID_AUDIO_COMPRESSION_ENABLED, V4L2_CID_AUDIO_COMPRESSION_GAIN, V4L2_CID_AUDIO_COMPRESSION_THRESHOLD, V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME, V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME, V4L2_CID_PILOT_TONE_ENABLED, V4L2_CID_PILOT_TONE_DEVIATION, V4L2_CID_PILOT_TONE_FREQUENCY, V4L2_CID_TUNE_PREEMPHASIS, V4L2_CID_TUNE_POWER_LEVEL, V4L2_CID_TUNE_ANTENNA_CAPACITOR, V4L2_CID_FLASH_CLASS, V4L2_CID_FLASH_LED_MODE, V4L2_CID_FLASH_STROBE_SOURCE, V4L2_CID_FLASH_STROBE, V4L2_CID_FLASH_STROBE_STOP, V4L2_CID_FLASH_STROBE_STATUS, V4L2_CID_FLASH_TIMEOUT, V4L2_CID_FLASH_INTENSITY, V4L2_CID_FLASH_TORCH_INTENSITY, V4L2_CID_FLASH_INDICATOR_INTENSITY, V4L2_CID_FLASH_FAULT, V4L2_CID_FLASH_CHARGE, V4L2_CID_FLASH_READY, V4L2_CID_JPEG_CLASS, V4L2_CID_JPEG_CHROMA_SUBSAMPLING, V4L2_CID_JPEG_RESTART_INTERVAL, V4L2_CID_JPEG_COMPRESSION_QUALITY, V4L2_CID_JPEG_ACTIVE_MARKER, V4L2_CID_IMAGE_SOURCE_CLASS, V4L2_CID_VBLANK, V4L2_CID_HBLANK, V4L2_CID_ANALOGUE_GAIN, V4L2_CID_TEST_PATTERN_RED, V4L2_CID_TEST_PATTERN_GREENR, V4L2_CID_TEST_PATTERN_BLUE, V4L2_CID_TEST_PATTERN_GREENB, V4L2_CID_IMAGE_PROC_CLASS, V4L2_CID_LINK_FREQ, V4L2_CID_PIXEL_RATE, V4L2_CID_TEST_PATTERN, V4L2_CID_DV_CLASS, V4L2_CID_DV_TX_HOTPLUG, V4L2_CID_DV_TX_RXSENSE, V4L2_CID_DV_TX_EDID_PRESENT, V4L2_CID_DV_TX_MODE, V4L2_CID_DV_TX_RGB_RANGE, V4L2_CID_DV_TX_IT_CONTENT_TYPE, V4L2_CID_DV_RX_POWER_PRESENT, V4L2_CID_DV_RX_RGB_RANGE, V4L2_CID_DV_RX_IT_CONTENT_TYPE, V4L2_CID_FM_RX_CLASS, V4L2_CID_TUNE_DEEMPHASIS, V4L2_CID_RDS_RECEPTION, V4L2_CID_RF_TUNER_CLASS, V4L2_CID_RF_TUNER_RF_GAIN, V4L2_CID_RF_TUNER_LNA_GAIN_AUTO, V4L2_CID_RF_TUNER_LNA_GAIN, V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO, V4L2_CID_RF_TUNER_MIXER_GAIN, V4L2_CID_RF_TUNER_IF_GAIN_AUTO, V4L2_CID_RF_TUNER_IF_GAIN, V4L2_CID_RF_TUNER_BANDWIDTH_AUTO, V4L2_CID_RF_TUNER_BANDWIDTH, V4L2_CID_RF_TUNER_PLL_LOCK, V4L2_CID_RDS_RX_PTY, V4L2_CID_RDS_RX_PS_NAME, V4L2_CID_RDS_RX_RADIO_TEXT, V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT, V4L2_CID_RDS_RX_TRAFFIC_PROGRAM, V4L2_CID_RDS_RX_MUSIC_SPEECH, V4L2_CID_DETECT_CLASS, V4L2_CID_DETECT_MD_MODE, V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD, V4L2_CID_DETECT_MD_THRESHOLD_GRID, V4L2_CID_DETECT_MD_REGION_GRID 953 v4l2_frmsizetypes = V4L2_FRMSIZE_TYPE_DISCRETE, V4L2_FRMSIZE_TYPE_CONTINUOUS, V4L2_FRMSIZE_TYPE_STEPWISE 954 v4l2_frmivaltypes = V4L2_FRMIVAL_TYPE_DISCRETE, V4L2_FRMIVAL_TYPE_CONTINUOUS, V4L2_FRMIVAL_TYPE_STEPWISE 955 v4l2_enc_idx_flags = V4L2_ENC_IDX_FRAME_I, V4L2_ENC_IDX_FRAME_P, V4L2_ENC_IDX_FRAME_B, V4L2_ENC_IDX_FRAME_MASK 956 v4l2_dbg_match_type = V4L2_CHIP_MATCH_BRIDGE, V4L2_CHIP_MATCH_SUBDEV, V4L2_CHIP_MATCH_I2C_DRIVER, V4L2_CHIP_MATCH_I2C_ADDR, V4L2_CHIP_MATCH_AC97 957 v4l2_frequency_band_modulation = V4L2_BAND_MODULATION_VSB, V4L2_BAND_MODULATION_FM, V4L2_BAND_MODULATION_AM 958 v4l2_dv_timings_type = V4L2_DV_BT_656_1120 959 v4l2_bt_timings_interlaced = V4L2_DV_PROGRESSIVE, V4L2_DV_INTERLACED 960 v4l2_bt_timings_polarities = V4L2_DV_VSYNC_POS_POL, V4L2_DV_HSYNC_POS_POL 961 v4l2_bt_timings_standards = V4L2_DV_BT_STD_CEA861, V4L2_DV_BT_STD_DMT, V4L2_DV_BT_STD_CVT, V4L2_DV_BT_STD_GTF, V4L2_DV_BT_STD_SDI 962 v4l2_bt_timings_flags = V4L2_DV_FL_REDUCED_BLANKING, V4L2_DV_FL_CAN_REDUCE_FPS, V4L2_DV_FL_REDUCED_FPS, V4L2_DV_FL_HALF_LINE, V4L2_DV_FL_IS_CE_VIDEO, V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE 963 v4l2_encoder_cmd_cmd = V4L2_ENC_CMD_START, V4L2_ENC_CMD_STOP, V4L2_ENC_CMD_PAUSE, V4L2_ENC_CMD_RESUME 964 v4l2_encoder_flags = V4L2_ENC_CMD_STOP_AT_GOP_END 965 v4l2_decoder_cmd_cmd = V4L2_DEC_CMD_START, V4L2_DEC_CMD_STOP, V4L2_DEC_CMD_PAUSE, V4L2_DEC_CMD_RESUME 966 v4l2_decoder_cmd_flags = V4L2_DEC_CMD_START_MUTE_AUDIO, V4L2_DEC_CMD_PAUSE_TO_BLACK, V4L2_DEC_CMD_STOP_TO_BLACK, V4L2_DEC_CMD_STOP_IMMEDIATELY 967 v4l2_decoder_cmd_format = V4L2_DEC_START_FMT_NONE, V4L2_DEC_START_FMT_GOP 968 v4l2_event_src_changes = V4L2_EVENT_SRC_CH_RESOLUTION 969 v4l2_event_type = V4L2_EVENT_ALL, V4L2_EVENT_VSYNC, V4L2_EVENT_EOS, V4L2_EVENT_CTRL, V4L2_EVENT_FRAME_SYNC, V4L2_EVENT_SOURCE_CHANGE, V4L2_EVENT_MOTION_DET, V4L2_EVENT_PRIVATE_START 970 v4l2_event_ctrl_changes = V4L2_EVENT_CTRL_CH_VALUE, V4L2_EVENT_CTRL_CH_FLAGS, V4L2_EVENT_CTRL_CH_RANGE 971 v4l2_event_motion_det_flags = V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ 972 v4l2_event_subscription_flags = V4L2_EVENT_SUB_FL_SEND_INITIAL, V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK 973 v4l2_selection_target = V4L2_SEL_TGT_CROP, V4L2_SEL_TGT_CROP_DEFAULT, V4L2_SEL_TGT_CROP_BOUNDS, V4L2_SEL_TGT_NATIVE_SIZE, V4L2_SEL_TGT_COMPOSE, V4L2_SEL_TGT_COMPOSE_DEFAULT, V4L2_SEL_TGT_COMPOSE_BOUNDS, V4L2_SEL_TGT_COMPOSE_PADDED 974 v4l2_selection_flags = V4L2_SEL_FLAG_GE, V4L2_SEL_FLAG_LE, V4L2_SEL_FLAG_KEEP_CONFIG 975 v4l2_bt_timings_cap_capabilities = V4L2_DV_BT_CAP_INTERLACED, V4L2_DV_BT_CAP_PROGRESSIVE, V4L2_DV_BT_CAP_REDUCED_BLANKING, V4L2_DV_BT_CAP_CUSTOM 976 v4l2_dbg_chip_info_flags = V4L2_CHIP_FL_READABLE, V4L2_CHIP_FL_WRITABLE 977 v4l2_std_id = V4L2_STD_PAL_B, V4L2_STD_PAL_B1, V4L2_STD_PAL_G, V4L2_STD_PAL_H, V4L2_STD_PAL_I, V4L2_STD_PAL_D, V4L2_STD_PAL_D1, V4L2_STD_PAL_K, V4L2_STD_PAL_M, V4L2_STD_PAL_N, V4L2_STD_PAL_Nc, V4L2_STD_PAL_60, V4L2_STD_NTSC_M, V4L2_STD_NTSC_M_JP, V4L2_STD_NTSC_443, V4L2_STD_NTSC_M_KR, V4L2_STD_SECAM_B, V4L2_STD_SECAM_D, V4L2_STD_SECAM_G, V4L2_STD_SECAM_H, V4L2_STD_SECAM_K, V4L2_STD_SECAM_K1, V4L2_STD_SECAM_L, V4L2_STD_SECAM_LC, V4L2_STD_ATSC_8_VSB, V4L2_STD_ATSC_16_VSB, V4L2_STD_NTSC, V4L2_STD_SECAM_DK, V4L2_STD_SECAM, V4L2_STD_PAL_BG, V4L2_STD_PAL_DK, V4L2_STD_PAL, V4L2_STD_B, V4L2_STD_G, V4L2_STD_H, V4L2_STD_L, V4L2_STD_GH, V4L2_STD_DK, V4L2_STD_BG, V4L2_STD_MN, V4L2_STD_MTS, V4L2_STD_525_60, V4L2_STD_625_50, V4L2_STD_ATSC, V4L2_STD_UNKNOWN, V4L2_STD_ALL 978 v4l2_input_status = V4L2_IN_ST_NO_POWER, V4L2_IN_ST_NO_SIGNAL, V4L2_IN_ST_NO_COLOR, V4L2_IN_ST_HFLIP, V4L2_IN_ST_VFLIP, V4L2_IN_ST_NO_H_LOCK, V4L2_IN_ST_COLOR_KILL, V4L2_IN_ST_NO_V_LOCK, V4L2_IN_ST_NO_STD_LOCK, V4L2_IN_ST_NO_SYNC, V4L2_IN_ST_NO_EQU, V4L2_IN_ST_NO_CARRIER, V4L2_IN_ST_MACROVISION, V4L2_IN_ST_NO_ACCESS, V4L2_IN_ST_VTR 979 v4l2_input_type = V4L2_INPUT_TYPE_TUNER, V4L2_INPUT_TYPE_CAMERA, V4L2_INPUT_TYPE_TOUCH 980 v4l2_input_capabilities = V4L2_IN_CAP_DV_TIMINGS, V4L2_IN_CAP_CUSTOM_TIMINGS, V4L2_IN_CAP_STD, V4L2_IN_CAP_NATIVE_SIZE 981 v4l2_output_type = V4L2_OUTPUT_TYPE_MODULATOR, V4L2_OUTPUT_TYPE_ANALOG, V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 982 v4l2_output_capabilities = V4L2_OUT_CAP_DV_TIMINGS, V4L2_OUT_CAP_CUSTOM_TIMINGS, V4L2_OUT_CAP_STD, V4L2_OUT_CAP_NATIVE_SIZE 983 v4l2_query_ext_ctrl = V4L2_CTRL_FLAG_NEXT_CTRL, V4L2_CTRL_FLAG_NEXT_COMPOUND