📄 struct-v4l2.c
字号:
.length = 24,},{ .type = STRUCT, .name = "frameperiod", .desc = desc_v4l2_fract, .length = sizeof(struct v4l2_fract),},{ .type = UINT32, .name = "framelines",},{ /* end of list */}};struct struct_desc desc_v4l2_input[] = {{ .type = UINT32, .name = "index",},{ .type = STRING, .name = "name", .length = 32,},{ .type = ENUM32, .name = "type", .enums = desc_input_type, .length = sizeof(desc_input_type) / sizeof(char*),},{ .type = UINT32, .name = "audioset",},{ .type = UINT32, .name = "tuner",},{ .type = BITS64, .name = "std", .bits = bits_standard},{ .type = BITS32, .name = "status", .bits = bits_input_status,},{ /* end of list */}};struct struct_desc desc_v4l2_output[] = {{ .type = UINT32, .name = "index",},{ .type = STRING, .name = "name", .length = 32,},{ .type = UINT32, .name = "type",},{ .type = UINT32, .name = "audioset",},{ .type = UINT32, .name = "modulator",},{ .type = BITS64, .name = "std", .bits = bits_standard},{ /* end of list */}};struct struct_desc desc_v4l2_control[] = {{ .type = UINT32, .name = "id",},{ .type = SINT32, .name = "value",},{ /* end of list */}};struct struct_desc desc_v4l2_queryctrl[] = {{ .type = UINT32, .name = "id",},{ .type = ENUM32, .name = "type", .enums = desc_v4l2_ctrl_type, .length = sizeof(desc_v4l2_buf_type) / sizeof(char*),},{ .type = STRING, .name = "name", .length = 32,},{ .type = SINT32, .name = "minimum",},{ .type = SINT32, .name = "maximum",},{ .type = SINT32, .name = "step",},{ .type = SINT32, .name = "default_value",},{ .type = UINT32, .name = "flags",},{ /* end of list */}};struct struct_desc desc_v4l2_querymenu[] = {{ .type = UINT32, .name = "id",},{ .type = UINT32, .name = "index",},{ .type = STRING, .name = "name", .length = 32,},{ .type = UINT32, .name = "reserved",},{ /* end of list */}};struct struct_desc desc_v4l2_tuner[] = {{ .type = UINT32, .name = "index",},{ .type = STRING, .name = "name", .length = 32,},{ .type = ENUM32, .name = "type", .enums = desc_v4l2_tuner_type, .length = sizeof(desc_v4l2_tuner_type) / sizeof(char*),},{ .type = BITS32, .name = "capability", .bits = bits_tuner_cap,},{ .type = UINT32, .name = "rangelow",},{ .type = UINT32, .name = "rangehigh",},{ .type = BITS32, .name = "rxsubchans", .bits = bits_tuner_rx,},{ .type = ENUM32, .name = "audmode", .enums = desc_tuner2_mode, .length = sizeof(desc_tuner2_mode) / sizeof(char*),},{ .type = SINT32, .name = "signal",},{ .type = SINT32, .name = "afc",},{ /* end of list */}};struct struct_desc desc_v4l2_modulator[] = {{ .type = UINT32, .name = "index",},{ .type = STRING, .name = "name", .length = 32,},{ .type = UINT32, .name = "capability",},{ .type = UINT32, .name = "rangelow",},{ .type = UINT32, .name = "rangehigh",},{ .type = UINT32, .name = "txsubchans",},{ /* end of list */}};struct struct_desc desc_v4l2_frequency[] = {{ .type = UINT32, .name = "tuner",},{ .type = ENUM32, .name = "type", .enums = desc_v4l2_tuner_type, .length = sizeof(desc_v4l2_tuner_type) / sizeof(char*),},{ .type = UINT32, .name = "frequency",},{ /* end of list */}};struct struct_desc desc_v4l2_audio[] = {{ .type = UINT32, .name = "index",},{ .type = STRING, .name = "name", .length = 32,},{ .type = UINT32, .name = "capability",},{ .type = UINT32, .name = "mode",},{ /* end of list */}};struct struct_desc desc_v4l2_audioout[] = {{ .type = UINT32, .name = "index",},{ .type = STRING, .name = "name", .length = 32,},{ .type = UINT32, .name = "capability",},{ .type = UINT32, .name = "mode",},{ /* end of list */}};struct struct_desc desc_v4l2_vbi_format[] = {{ .type = UINT32, .name = "sampling_rate",},{ .type = UINT32, .name = "offset",},{ .type = UINT32, .name = "samples_per_line",},{ .type = FOURCC, .name = "sample_format",},{ .type = UINT32, .name = "start[0]",},{ .type = UINT32, .name = "start[1]",},{ .type = UINT32, .name = "count[0]",},{ .type = UINT32, .name = "count[1]",},{ .type = UINT32, .name = "flags",},{ /* end of list */}};struct struct_desc desc_v4l2_format[] = {{ .type = ENUM32, .name = "type", .enums = desc_v4l2_buf_type, .length = sizeof(desc_v4l2_buf_type) / sizeof(char*),},{ .type = UNION, .name = "fmt", .u = {{ .value = V4L2_BUF_TYPE_VIDEO_CAPTURE, .name = "pix", .desc = desc_v4l2_pix_format, },{ .value = V4L2_BUF_TYPE_VIDEO_OVERLAY, .name = "win", .desc = desc_v4l2_window, },{ .value = V4L2_BUF_TYPE_VBI_CAPTURE, .name = "vbi", .desc = desc_v4l2_vbi_format, },{ /* end of list */ }},},{ /* end of list */}};struct struct_desc desc_v4l2_streamparm[] = {{ .type = ENUM32, .name = "type", .enums = desc_v4l2_buf_type, .length = sizeof(desc_v4l2_buf_type) / sizeof(char*),},{ /* FIXME ... */ /* end of list */}};struct struct_desc desc_v4l2_std_id[] = {{ .type = BITS64, .name = "std", .bits = bits_standard,},{ /* end of list */}};/* ---------------------------------------------------------------------- */struct ioctl_desc ioctls_v4l2[256] = { [_IOC_NR(VIDIOC_QUERYCAP)] = { .name = "VIDIOC_QUERYCAP", .desc = desc_v4l2_capability, }, [_IOC_NR(VIDIOC_ENUM_FMT)] = { .name = "VIDIOC_ENUM_FMT", .desc = desc_v4l2_fmtdesc, }, [_IOC_NR(VIDIOC_G_FMT)] = { .name = "VIDIOC_G_FMT", .desc = desc_v4l2_format, }, [_IOC_NR(VIDIOC_S_FMT)] = { .name = "VIDIOC_S_FMT", .desc = desc_v4l2_format, },#if 0 [_IOC_NR(VIDIOC_G_COMP)] = { .name = "VIDIOC_G_COMP", .desc = desc_v4l2_compression, }, [_IOC_NR(VIDIOC_S_COMP)] = { .name = "VIDIOC_S_COMP", .desc = desc_v4l2_compression, },#endif [_IOC_NR(VIDIOC_REQBUFS)] = { .name = "VIDIOC_REQBUFS", .desc = desc_v4l2_requestbuffers, }, [_IOC_NR(VIDIOC_QUERYBUF)] = { .name = "VIDIOC_QUERYBUF", .desc = desc_v4l2_buffer, }, [_IOC_NR(VIDIOC_G_FBUF)] = { .name = "VIDIOC_G_FBUF", .desc = desc_v4l2_framebuffer, }, [_IOC_NR(VIDIOC_S_FBUF)] = { .name = "VIDIOC_S_FBUF", .desc = desc_v4l2_framebuffer, }, [_IOC_NR(VIDIOC_OVERLAY)] = { .name = "VIDIOC_OVERLAY", .desc = desc_int, }, [_IOC_NR(VIDIOC_QBUF)] = { .name = "VIDIOC_QBUF", .desc = desc_v4l2_buffer, }, [_IOC_NR(VIDIOC_DQBUF)] = { .name = "VIDIOC_DQBUF", .desc = desc_v4l2_buffer, }, [_IOC_NR(VIDIOC_STREAMON)] = { .name = "VIDIOC_STREAMON", .desc = desc_int, }, [_IOC_NR(VIDIOC_STREAMOFF)] = { .name = "VIDIOC_STREAMOFF", .desc = desc_int, }, [_IOC_NR(VIDIOC_G_PARM)] = { .name = "VIDIOC_G_PARM", .desc = desc_v4l2_streamparm, }, [_IOC_NR(VIDIOC_S_PARM)] = { .name = "VIDIOC_S_PARM", .desc = desc_v4l2_streamparm, }, [_IOC_NR(VIDIOC_G_STD)] = { .name = "VIDIOC_G_STD", .desc = desc_v4l2_std_id, }, [_IOC_NR(VIDIOC_S_STD)] = { .name = "VIDIOC_S_STD", .desc = desc_v4l2_std_id, }, [_IOC_NR(VIDIOC_ENUMSTD)] = { .name = "VIDIOC_ENUMSTD", .desc = desc_v4l2_standard, }, [_IOC_NR(VIDIOC_ENUMINPUT)] = { .name = "VIDIOC_ENUMINPUT", .desc = desc_v4l2_input, }, [_IOC_NR(VIDIOC_G_CTRL)] = { .name = "VIDIOC_G_CTRL", .desc = desc_v4l2_control, }, [_IOC_NR(VIDIOC_S_CTRL)] = { .name = "VIDIOC_S_CTRL", .desc = desc_v4l2_control, }, [_IOC_NR(VIDIOC_G_TUNER)] = { .name = "VIDIOC_G_TUNER", .desc = desc_v4l2_tuner, }, [_IOC_NR(VIDIOC_S_TUNER)] = { .name = "VIDIOC_S_TUNER", .desc = desc_v4l2_tuner, }, [_IOC_NR(VIDIOC_G_AUDIO)] = { .name = "VIDIOC_G_AUDIO", .desc = desc_v4l2_audio, }, [_IOC_NR(VIDIOC_S_AUDIO)] = { .name = "VIDIOC_S_AUDIO", .desc = desc_v4l2_audio, }, [_IOC_NR(VIDIOC_QUERYCTRL)] = { .name = "VIDIOC_QUERYCTRL", .desc = desc_v4l2_queryctrl, }, [_IOC_NR(VIDIOC_QUERYMENU)] = { .name = "VIDIOC_QUERYMENU", .desc = desc_v4l2_querymenu, }, [_IOC_NR(VIDIOC_G_INPUT)] = { .name = "VIDIOC_G_INPUT", .desc = desc_int, }, [_IOC_NR(VIDIOC_S_INPUT)] = { .name = "VIDIOC_S_INPUT", .desc = desc_int, }, [_IOC_NR(VIDIOC_G_OUTPUT)] = { .name = "VIDIOC_G_OUTPUT", .desc = desc_int, }, [_IOC_NR(VIDIOC_S_OUTPUT)] = { .name = "VIDIOC_S_OUTPUT", .desc = desc_int, }, [_IOC_NR(VIDIOC_ENUMOUTPUT)] = { .name = "VIDIOC_ENUMOUTPUT", .desc = desc_v4l2_output, }, [_IOC_NR(VIDIOC_G_AUDOUT)] = { .name = "VIDIOC_G_AUDOUT", .desc = desc_v4l2_audioout, }, [_IOC_NR(VIDIOC_S_AUDOUT)] = { .name = "VIDIOC_S_AUDOUT", .desc = desc_v4l2_audioout, }, [_IOC_NR(VIDIOC_G_MODULATOR)] = { .name = "VIDIOC_G_MODULATOR", .desc = desc_v4l2_modulator, }, [_IOC_NR(VIDIOC_S_MODULATOR)] = { .name = "VIDIOC_S_MODULATOR", .desc = desc_v4l2_modulator, }, [_IOC_NR(VIDIOC_G_FREQUENCY)] = { .name = "VIDIOC_G_FREQUENCY", .desc = desc_v4l2_frequency, }, [_IOC_NR(VIDIOC_S_FREQUENCY)] = { .name = "VIDIOC_S_FREQUENCY", .desc = desc_v4l2_frequency, }, [_IOC_NR(VIDIOC_CROPCAP)] = { .name = "VIDIOC_CROPCAP", .desc = desc_v4l2_cropcap, }, [_IOC_NR(VIDIOC_G_CROP)] = { .name = "VIDIOC_G_CROP", .desc = desc_v4l2_crop, }, [_IOC_NR(VIDIOC_S_CROP)] = { .name = "VIDIOC_S_CROP", .desc = desc_v4l2_crop, }, [_IOC_NR(VIDIOC_G_JPEGCOMP)] = { .name = "VIDIOC_G_JPEGCOMP", .desc = desc_v4l2_jpegcompression, }, [_IOC_NR(VIDIOC_S_JPEGCOMP)] = { .name = "VIDIOC_S_JPEGCOMP", .desc = desc_v4l2_jpegcompression, }, [_IOC_NR(VIDIOC_QUERYSTD)] = { .name = "VIDIOC_QUERYSTD", .desc = desc_v4l2_std_id, }, [_IOC_NR(VIDIOC_TRY_FMT)] = { .name = "VIDIOC_TRY_FMT", .desc = desc_v4l2_format, },};/* ---------------------------------------------------------------------- *//* * Local variables: * c-basic-offset: 8 * End: */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -