linux V4L2子系统——v4l2的结构体(4)之ioctl, my write

avatar
作者
筋斗云
阅读量:0

文章目录

structv4l2_ioctl_ops

介绍

在应用程序获取视频数据的流程中,都是通过 ioctl 命令与驱动程序进行交互,结合实际需求,实现struct v4l2_ioctl_ops相关的成员即可。

定义

//源码:include/media/v4l2-ioctl.h  /**  * struct v4l2_ioctl_ops - describe operations for each V4L2 ioctl  *  * @vidioc_querycap: pointer to the function that implements  *	:ref:`VIDIOC_QUERYCAP <vidioc_querycap>` ioctl  * @vidioc_enum_fmt_vid_cap: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for video capture in single plane mode  * @vidioc_enum_fmt_vid_overlay: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for video overlay  * @vidioc_enum_fmt_vid_out: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for video output in single plane mode  * @vidioc_enum_fmt_vid_cap_mplane: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for video capture in multiplane mode  * @vidioc_enum_fmt_vid_out_mplane: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for video output in multiplane mode  * @vidioc_enum_fmt_sdr_cap: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for Software Defined Radio capture  * @vidioc_enum_fmt_sdr_out: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for Software Defined Radio output  * @vidioc_enum_fmt_meta_cap: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic  *	for metadata capture  * @vidioc_g_fmt_vid_cap: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for video capture  *	in single plane mode  * @vidioc_g_fmt_vid_overlay: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for video overlay  * @vidioc_g_fmt_vid_out: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for video out  *	in single plane mode  * @vidioc_g_fmt_vid_out_overlay: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for video overlay output  * @vidioc_g_fmt_vbi_cap: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for raw VBI capture  * @vidioc_g_fmt_vbi_out: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for raw VBI output  * @vidioc_g_fmt_sliced_vbi_cap: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for sliced VBI capture  * @vidioc_g_fmt_sliced_vbi_out: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for sliced VBI output  * @vidioc_g_fmt_vid_cap_mplane: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for video capture  *	in multiple plane mode  * @vidioc_g_fmt_vid_out_mplane: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for video out  *	in multiplane plane mode  * @vidioc_g_fmt_sdr_cap: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for Software Defined  *	Radio capture  * @vidioc_g_fmt_sdr_out: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for Software Defined  *	Radio output  * @vidioc_g_fmt_meta_cap: pointer to the function that implements  *	:ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for metadata capture  * @vidioc_s_fmt_vid_cap: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for video capture  *	in single plane mode  * @vidioc_s_fmt_vid_overlay: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for video overlay  * @vidioc_s_fmt_vid_out: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for video out  *	in single plane mode  * @vidioc_s_fmt_vid_out_overlay: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for video overlay output  * @vidioc_s_fmt_vbi_cap: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for raw VBI capture  * @vidioc_s_fmt_vbi_out: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for raw VBI output  * @vidioc_s_fmt_sliced_vbi_cap: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for sliced VBI capture  * @vidioc_s_fmt_sliced_vbi_out: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for sliced VBI output  * @vidioc_s_fmt_vid_cap_mplane: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for video capture  *	in multiple plane mode  * @vidioc_s_fmt_vid_out_mplane: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for video out  *	in multiplane plane mode  * @vidioc_s_fmt_sdr_cap: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for Software Defined  *	Radio capture  * @vidioc_s_fmt_sdr_out: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for Software Defined  *	Radio output  * @vidioc_s_fmt_meta_cap: pointer to the function that implements  *	:ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for metadata capture  * @vidioc_try_fmt_vid_cap: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for video capture  *	in single plane mode  * @vidioc_try_fmt_vid_overlay: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for video overlay  * @vidioc_try_fmt_vid_out: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for video out  *	in single plane mode  * @vidioc_try_fmt_vid_out_overlay: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for video overlay  *	output  * @vidioc_try_fmt_vbi_cap: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for raw VBI capture  * @vidioc_try_fmt_vbi_out: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for raw VBI output  * @vidioc_try_fmt_sliced_vbi_cap: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for sliced VBI  *	capture  * @vidioc_try_fmt_sliced_vbi_out: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for sliced VBI output  * @vidioc_try_fmt_vid_cap_mplane: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for video capture  *	in multiple plane mode  * @vidioc_try_fmt_vid_out_mplane: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for video out  *	in multiplane plane mode  * @vidioc_try_fmt_sdr_cap: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for Software Defined  *	Radio capture  * @vidioc_try_fmt_sdr_out: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for Software Defined  *	Radio output  * @vidioc_try_fmt_meta_cap: pointer to the function that implements  *	:ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for metadata capture  * @vidioc_reqbufs: pointer to the function that implements  *	:ref:`VIDIOC_REQBUFS <vidioc_reqbufs>` ioctl  * @vidioc_querybuf: pointer to the function that implements  *	:ref:`VIDIOC_QUERYBUF <vidioc_querybuf>` ioctl  * @vidioc_qbuf: pointer to the function that implements  *	:ref:`VIDIOC_QBUF <vidioc_qbuf>` ioctl  * @vidioc_expbuf: pointer to the function that implements  *	:ref:`VIDIOC_EXPBUF <vidioc_expbuf>` ioctl  * @vidioc_dqbuf: pointer to the function that implements  *	:ref:`VIDIOC_DQBUF <vidioc_qbuf>` ioctl  * @vidioc_create_bufs: pointer to the function that implements  *	:ref:`VIDIOC_CREATE_BUFS <vidioc_create_bufs>` ioctl  * @vidioc_prepare_buf: pointer to the function that implements  *	:ref:`VIDIOC_PREPARE_BUF <vidioc_prepare_buf>` ioctl  * @vidioc_overlay: pointer to the function that implements  *	:ref:`VIDIOC_OVERLAY <vidioc_overlay>` ioctl  * @vidioc_g_fbuf: pointer to the function that implements  *	:ref:`VIDIOC_G_FBUF <vidioc_g_fbuf>` ioctl  * @vidioc_s_fbuf: pointer to the function that implements  *	:ref:`VIDIOC_S_FBUF <vidioc_g_fbuf>` ioctl  * @vidioc_streamon: pointer to the function that implements  *	:ref:`VIDIOC_STREAMON <vidioc_streamon>` ioctl  * @vidioc_streamoff: pointer to the function that implements  *	:ref:`VIDIOC_STREAMOFF <vidioc_streamon>` ioctl  * @vidioc_g_std: pointer to the function that implements  *	:ref:`VIDIOC_G_STD <vidioc_g_std>` ioctl  * @vidioc_s_std: pointer to the function that implements  *	:ref:`VIDIOC_S_STD <vidioc_g_std>` ioctl  * @vidioc_querystd: pointer to the function that implements  *	:ref:`VIDIOC_QUERYSTD <vidioc_querystd>` ioctl  * @vidioc_enum_input: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_INPUT <vidioc_g_input>` ioctl  * @vidioc_g_input: pointer to the function that implements  *	:ref:`VIDIOC_G_INPUT <vidioc_g_input>` ioctl  * @vidioc_s_input: pointer to the function that implements  *	:ref:`VIDIOC_S_INPUT <vidioc_g_input>` ioctl  * @vidioc_enum_output: pointer to the function that implements  *	:ref:`VIDIOC_ENUM_OUTPUT <vidioc_g_output>` ioctl  * @vidioc_g_output: pointer to the function that implements  *	:ref:`VIDIOC_G_OUTPUT <vidioc_g_output>` ioctl  * @vidioc_s_output: pointer to the function that implements  *	:ref:`VIDIOC_S_OUTPUT <vidioc_g_output>` ioctl  * @vidioc_queryctrl: pointer to the function that implements  *	:ref:`VIDIOC_QUERYCTRL <vidioc_queryctrl>` ioctl  * @vidioc_query_ext_ctrl: pointer to the function that implements  *	:ref:`VIDIOC_QUERY_EXT_CTRL <vidioc_queryctrl>` ioctl  * @vidioc_g_ctrl: pointer to the function that implements  *	:ref:`VIDIOC_G_CTRL <vidioc_g_ctrl>` ioctl  * @vidioc_s_ctrl: pointer to the function that implements  *	:ref:`VIDIOC_S_CTRL <vidioc_g_ctrl>` ioctl  * @vidioc_g_ext_ctrls: pointer to the function that implements  *	:ref:`VIDIOC_G_EXT_CTRLS <vidi

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!